gst/: constify quark registration strings. Fixes #344115
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-06-12  Wim Taymans  <wim@fluendo.com>
2
3         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
4
5         * gst/gstevent.c: (gst_event_get_type):
6         * gst/gstmessage.c:
7         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
8         (gst_pad_push):
9         constify quark registration strings. Fixes #344115
10         Avoid unneeded type checking is _pad_push() by internally
11         calling gst_pad_chain_unchecked().
12
13 2006-06-12  Wim Taymans  <wim@fluendo.com>
14
15         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
16         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
17         (gst_subbuffer_finalize), (gst_buffer_create_sub),
18         (gst_buffer_is_span_fast), (gst_buffer_span):
19         Init _type for consistency.
20         Use _FLAGS macro to avoid type check.
21         Avoid unneeded type checks in subbufer code.
22
23 2006-06-12  Wim Taymans  <wim@fluendo.com>
24
25         * gst/gst.c: (gst_debug_help):
26         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
27         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
28         (gst_plugin_feature_list_free):
29         * gst/gstregistry.c: (gst_registry_add_plugin),
30         (gst_registry_add_feature), (gst_registry_plugin_filter),
31         (gst_registry_feature_filter), (gst_registry_find_plugin),
32         (gst_registry_find_feature), (gst_registry_get_plugin_list),
33         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
34         * gst/gstregistryxml.c: (load_feature),
35         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
36         * gst/gstminiobject.c: (gst_mini_object_unref),
37         (gst_mini_object_replace), (gst_value_mini_object_free),
38         (gst_value_mini_object_copy):
39         Use _CAST macros to avoid unneeded type checking.
40         Added some more G_UNLIKELY.
41
42 2006-06-12  Wim Taymans  <wim@fluendo.com>
43
44         * gst/gstbuffer.h:
45         Avoid unneeded type checking.
46         API: GST_BUFFER_IS_DISCONT
47
48         * gst/gstminiobject.h:
49         Avoid type check in flag accessor.
50
51         * gst/gstelementfactory.h:
52         * gst/gstplugin.h:
53         * gst/gstpluginfeature.h:
54         Add _CAST macros.
55         API: GST_ELEMENT_FACTORY_CAST
56         API: GST_PLUGIN_CAST
57         API: GST_PLUGIN_FEATURE_CAST
58
59 2006-06-12  Wim Taymans  <wim@fluendo.com>
60
61         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
62         (gst_object_unref):
63         Add G_UNLIKELY in type registration.
64         Avoid type check in _ref/_unref since that is also
65         done in glib.
66
67 2006-06-12  Wim Taymans  <wim@fluendo.com>
68
69         * gst/gsterror.c: (gst_g_error_get_type):
70         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
71         (gst_static_pad_template_get_type):
72         * gst/gsttaglist.c: (gst_tag_list_get_type):
73         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
74         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
75         * gst/gsturi.c: (gst_uri_handler_get_type):
76         * gst/gstvalue.c: (gst_date_get_type):
77         * gst/gstxml.c: (gst_xml_get_type):
78         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
79         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
80         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
81         Add G_UNLIKELY in type registration.
82
83 2006-06-12  Wim Taymans  <wim@fluendo.com>
84
85         * tools/gst-inspect.c: (print_signal_info):
86         Properly print enum values.
87
88 2006-06-12  Wim Taymans  <wim@fluendo.com>
89
90         * gst/gstinfo.c: (gst_debug_set_active),
91         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
92         * gst/gstinfo.h:
93         Add some G_[UN]LIKELY.
94         Maintain __gst_debug_min to avoid formatting the arguments of
95         debug messages that will be dropped anyway to avoid a lot of 
96         overhead from the debugging system.
97
98 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
99
100         * po/POTFILES.in:
101         * po/POTFILES.skip:
102           add missing files containing translatable strings, tell intltool about
103           one exception
104
105 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
106
107         * tests/check/libs/.cvsignore:
108         add test-binary to ignore list
109
110 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
111
112         * docs/libs/gstreamer-libs-docs.sgml:
113         reorder (put dp into a chapter) and indent
114
115 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
116
117         * configure.ac:
118           back to HEAD
119
120 === release 0.10.8 ===
121
122 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
123
124         * configure.ac:
125           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
126
127 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
128
129         * gst/gst.c: (init_post):
130           move pid declaration to declaration block
131
132 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
133
134         * gst/gst.c: (init_post):
135           use _exit() instead of exit() in our forked child; this ensures
136           that none of the registered exit handlers from whatever is using
137           GStreamer get executed.  This fixes gnome-mixer-applet failing
138           to load, because ORBit would shut down.
139           Spotted by: Edward Hervey  <edward@fluendo.com>
140           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
141           Fixes #344474
142
143 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
144
145         * configure.ac:
146           back to TRUNK
147
148 === release 0.10.7 ===
149
150 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
151
152         * configure.ac:
153           releasing 0.10.7, "Soepeke, ik zie ou"
154
155 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
156
157         * configure.ac:
158         * po/af.po:
159         * po/az.po:
160         * po/bg.po:
161         * po/ca.po:
162         * po/cs.po:
163         * po/de.po:
164         * po/en_GB.po:
165         * po/fr.po:
166         * po/it.po:
167         * po/nb.po:
168         * po/nl.po:
169         * po/ru.po:
170         * po/sq.po:
171         * po/sr.po:
172         * po/sv.po:
173         * po/tr.po:
174         * po/uk.po:
175         * po/vi.po:
176         * po/zh_CN.po:
177         * po/zh_TW.po:
178         * win32/common/config.h:
179           0.10.6.2 prerelease
180
181 2006-06-07  Wim Taymans  <wim@fluendo.com>
182
183         * gst/gstindex.c: (gst_index_gtype_resolver):
184         * tools/gst-xmlinspect.c: (print_plugin_info):
185         Fix leak spotted by coverity checker. Fixes #343827
186         Fix another other leak found by paolo borelli.
187
188 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
189
190         * libs/gst/dataprotocol/dataprotocol.c:
191         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
192         (gst_dp_version_get_type), (gst_dp_init),
193         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
194         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
195         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
196         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
197         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
198         (gst_dp_packetizer_free):
199         * libs/gst/dataprotocol/dataprotocol.h:
200           API: add a GstDPPacketizer object, and create/free functions
201           API: add GstDPVersion enum
202           Add 1.0 event function that uses the string serialization
203           Serialize more useful buffer flags
204           Fixes #343988
205
206 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
207
208         * tests/check/Makefile.am:
209         * tests/check/gst/gstabi.c:
210         * tests/check/gst/struct_ppc64.h:
211         * tests/check/libs/libsabi.c:
212         * tests/check/libs/struct_ppc64.h:
213           add ppc64 structure sizes
214
215 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
216
217         * tests/check/Makefile.am:
218         * tests/check/gst/gstabi.c:
219         * tests/check/gst/struct_x86_64.h:
220         * tests/check/libs/libsabi.c:
221         * tests/check/libs/struct_x86_64.h:
222           generate and add structure size lists for x86_64
223
224 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
225
226         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
227         * libs/gst/check/gstcheck.h:
228           factor out the method from tests that checks size of structures,
229           and add code to generate the header containing these sizes
230         * tests/check/gst/gstabi.c: (GST_START_TEST):
231         * tests/check/gst/struct_i386.h:
232         * tests/check/libs/libsabi.c: (GST_START_TEST):
233         * tests/check/libs/struct_i386.h:
234           use it
235
236 2006-06-06  Michael Smith  <msmith@fluendo.com>
237
238         * gst/gstsegment.h:
239           Don't use c++-style comments, fixes #343929
240
241 2006-06-05  Edward Hervey  <edward@fluendo.com>
242
243         * gst/gst.c:
244         plugin_paths is not used if we build without registry support.
245
246         * gst/gstsegment.c: (gst_segment_copy): 
247         _copy() was always returning NULL...
248
249 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
250
251         * libs/gst/dataprotocol/dataprotocol.c:
252         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
253         (gst_dp_packet_from_event):
254           factor out CRC code
255
256 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
257
258         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
259           make sure we unset caps
260
261 2006-06-02  Michael Smith  <msmith@fluendo.com>
262
263         * libs/gst/check/gstcheck.c: (gst_check_init),
264         (gst_check_chain_func):
265         * libs/gst/check/gstcheck.h:
266           Add a cond/mutex to the check support lib, signal this whenever we
267           add to the buffers list. This will allow tests to not busy-wait on
268           the buffer-list.
269
270 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
271
272         * libs/gst/dataprotocol/dataprotocol.c:
273         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
274         (gst_dp_packet_from_event):
275           factor out some common header init code
276
277 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
278
279         * docs/libs/gstreamer-libs-sections.txt:
280         * docs/libs/tmpl/gstdataprotocol.sgml:
281         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
282         * libs/gst/dataprotocol/dataprotocol.h:
283           API: make gst_dp_crc() public
284
285 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
286
287         * plugins/indexers/gstindexers.c: (plugin_init):
288         conditionally register fileindexer (fixes #343598)
289
290 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
291
292         * gst/gsttagsetter.h:
293         Can't cast ifaces to a class
294
295         * libs/gst/net/gstnetclientclock.h:
296         * libs/gst/net/gstnettimeprovider.h:
297         * plugins/elements/gstfakesink.h:
298         * plugins/elements/gstfakesrc.h:
299         * plugins/elements/gstfdsink.h:
300         * plugins/elements/gstfdsrc.h:
301         * plugins/elements/gstfilesink.h:
302         * plugins/elements/gstfilesrc.h:
303         * plugins/elements/gstidentity.h:
304         * plugins/elements/gstqueue.h:
305         * plugins/elements/gsttee.h:
306         * plugins/indexers/gstfileindex.c:
307         * plugins/indexers/gstmemindex.c:
308         * tests/old/examples/plugins/example.h:
309         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
310
311 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
312
313         * libs/gst/dataprotocol/dataprotocol.c:
314         (gst_dp_header_from_buffer):
315           make sure we zero the whole ABI-compatible area
316
317 2006-06-01  Wim Taymans  <wim@fluendo.com>
318
319         Patch by: Alessandro Decina <alessandro at nnva dot org>
320
321         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
322         Make sure the EOS flag is cleared from pads after a flush
323         or stop. Fixes #343538.
324
325         * tests/check/libs/collectpads.c: (GST_START_TEST),
326         (gst_collect_pads_suite):
327         Added test for collectpads reusage after EOS.
328
329 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
330
331         * gst/gst.c:
332          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
333         * win32/common/libgstbase.def:
334          export gst_collect_pads_set_flushing
335         * win32/common/libgstreamer.def:
336          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
337          gst_value_fraction_multiply
338         * win32/vs6/gst_inspect.dsp:
339          add a link to intl.lib
340
341 2006-05-30  Wim Taymans  <wim@fluendo.com>
342
343         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
344         (gst_collect_pads_chain):
345         Handle the case where a pad is removed from the collection
346         that could cause the other pads to become collectable.
347
348 2006-05-30  Wim Taymans  <wim@fluendo.com>
349
350         * gst/gstelement.c:
351         Clarify the use of _release_request_pad() and
352         _get_request_pad() a bit better.
353
354         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
355         (gst_adapter_take_buffer):
356         Fix some doc and comment typos.
357
358 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
359
360         * docs/gst/gstreamer-sections.txt:
361         * docs/libs/gstreamer-libs-sections.txt:
362           add declared symbols
363
364 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
365
366         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
367         Add debug that can be enabled using a #define at the top of the file,
368         for dumping stats about how late/early we were when waking up from
369         waiting on the clock.
370
371 2006-05-30  Wim Taymans  <wim@fluendo.com>
372
373         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
374         When rebuilding the pad list, don't leak the previous list.
375
376 2006-05-30  Wim Taymans  <wim@fluendo.com>
377
378         Patch by: Lutz Mueller <lutz at topfrose dot de>
379
380         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
381         (gst_base_src_get_query_types), (gst_base_src_update_length):
382         Publish supported query types.
383         Update last_stop field in get_range mode so the position
384         query works. Fixes #342321.
385
386 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
387
388         * docs/gst/gstreamer-sections.txt:
389         * gst/gsttaglist.c: (_gst_tag_initialize):
390         * gst/gsttaglist.h:
391           API: add GST_TAG_PREVIEW_IMAGE (#343341).
392
393 2006-05-30  Wim Taymans  <wim@fluendo.com>
394
395         Patch by: Alessandro Decina <alessandro at nnva dot org>
396
397         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
398         Unlock mutex when removing an unknown pad.
399         Fixes #343334.
400
401         * tests/check/Makefile.am:
402         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
403         (push_event), (setup), (teardown), (GST_START_TEST),
404         (gst_collect_pads_suite), (main):
405         Added collecpads check, disabled for now as check crashes for
406         some reason.
407
408 2006-05-29  Wim Taymans  <wim@fluendo.com>
409
410         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
411         Don't leak pads lists.
412
413 2006-05-29  Wim Taymans  <wim@fluendo.com>
414
415         * docs/libs/gstreamer-libs-sections.txt:
416         * libs/gst/base/gstcollectpads.c:
417         (gst_collect_pads_set_flushing_unlocked),
418         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
419         (gst_collect_pads_stop):
420         * libs/gst/base/gstcollectpads.h:
421         API: gst_collect_pads_set_flushing()
422         Added api to set the pads to flushing, useful for seeking
423         code in elements using collectpads.
424         Clear segment when receiving a flush.
425
426 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
427
428         * gst/gst.c: (add_path_func), (init_post):
429           Don't scan registry paths passed via --gst-plugin-path immediately
430           (will crash, because absolutely nothing is set up and no types are
431           registered etc.); do this later in init_post(). Fixes #343057.
432
433 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
434
435         * gst/gst.c: (init_post):
436           if we have fork, fork while reading/rebuilding the registry
437           so the parent doesn't take the hit of having all plugins loaded
438           in memory.  Fixes #342777.
439         * configure.ac:
440           Check if we have fork()
441         * win32/common/config.h.in:
442           no fork() on win32
443
444 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
445
446         * plugins/elements/gstelements.c:
447         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
448         (gst_file_src_init), (gst_file_src_set_property),
449         (gst_file_src_get_property), (gst_file_src_start):
450         * plugins/elements/gstfilesrc.h:
451           API: GstFileSrc::use-mmap
452
453         Add a use-mmap property to enable easier testing of all code paths.
454         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
455         in the absence of gnomevfssrc. (Closes #340501)
456
457 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
458
459         * tools/gst-inspect.c:
460         Add missing include, removes warning of ngettext not being defined on
461         some arches.
462
463 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
464
465         * gst/gstvalue.c: (gst_value_deserialize_fraction):
466         Handle NULL input and output pointers silently as a failed conversion,
467         rather than g_warnings.
468
469 2006-05-25  Wim Taymans  <wim@fluendo.com>
470
471         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
472         Initialize variable before using. Fixes #342820.
473
474 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
475
476         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
477           Fix off-by-one bug that would only allow peeks of N-1 bytes
478           from the start even if the buffer to typefind on contains
479           in fact N bytes of data (makes vorbis typefinding from a
480           vorbis identification header buffer work).
481
482         * tests/check/Makefile.am:
483         * tests/check/libs/.cvsignore:
484         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
485         (gst_typefindhelper_suite), (main), (foobar_typefind),
486         (plugin_init):
487           Add very basic unit test for gst_type_find_helper_for_buffer()
488           that checks for the problem fixed above.
489
490 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
491
492         * tools/gst-inspect.c: (print_interfaces),
493         (print_element_properties_info), (print_element_list), (main):
494           add more translatable strings
495
496 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
497
498         Patch by: Julien Moutte  <julien at moutte net>
499
500         * docs/gst/gstreamer-sections.txt:
501           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
502           
503         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
504         (gst_fake_sink_preroll):
505         * plugins/elements/gstfakesink.h:
506           API: Add new GstFakeSink::preroll-handoff signal (#337100).
507
508 2006-05-23  Wim Taymans  <wim@fluendo.com>
509
510         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
511         * gst/gstpad.h:
512         Added _CUSTOM error and success GstFlowReturn that can be
513         used be elements internally. 
514         Added macro to check for SUCCESS flowreturns.
515         API: GST_FLOW_CUSTOM_SUCCESS
516         API: GST_FLOW_CUSTOM_ERROR
517         API: GST_FLOW_IS_SUCCESS
518
519         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
520         Added check for GstFlowReturn sanity.
521
522 2006-05-23  Wim Taymans  <wim@fluendo.com>
523
524         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
525
526         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
527         (gst_collect_pads_event):
528         clear/reset segment info in FLUSH_STOP.
529         Fixes #336929.
530
531 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
532
533         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
534         (gst_collect_pads_check_collected):
535         Flush queued buffer on _stop(), fixes playing again (#342454)
536
537 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
538
539         * tests/check/gst/gststructure.c: (GST_START_TEST),
540         (gst_structure_suite):
541           add a test for a complete structure
542
543 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
544
545         * docs/faq/developing.xml:
546         * docs/faq/faq.xml:
547         * docs/faq/troubleshooting.xml:
548         * docs/faq/using.xml:
549           Some minor FAQ updates that won't change the fact that
550           our FAQ is badly structured, full of information hardly
551           anyone new to GStreamer needs to know and lacking lots
552           of information people constantly ask for.
553           
554 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
555
556         * gst/gstpad.c: (gst_pad_set_caps):
557           Short-circuit gst_pad_set_caps if setting the existing
558           caps pointer again, and avoid printing debug and 
559           reffing/unreffing the caps.
560
561         * plugins/elements/gstqueue.c: (gst_queue_push_one):
562           There's actually no need to set the caps before pushing -
563           the acceptcaps method will handle it anyway.
564
565 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
566
567         * docs/gst/gstreamer-sections.txt:
568         * win32/common/libgstreamer.def:
569         * gst/gstutils.c: (gst_element_seek_simple):
570         * gst/gstutils.h:
571           API: add gst_element_seek_simple() (#342238).
572
573 2006-05-18  Edward Hervey  <edward@fluendo.com>
574
575         * gst/gsttypefind.c: (gst_type_find_get_type):
576         * gst/gsttypefind.h:
577         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
578         registered for GstTypeFind pointers. This allows wrapping the structure
579         in bindings (i.e. gst-python).
580
581 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
582
583         * gst/gsttagsetter.c:
584           Docs additions and fixes (see #339918).
585
586 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
587
588         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
589         The caps intersection algorithm can produce multiple copies of the
590         caps. Until that is fixed, we need to simplify the result to be
591         sure whether the allowed caps are fixed or not.
592
593         * plugins/elements/gstqueue.c: (gst_queue_init),
594         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
595         (gst_queue_push_one):
596         Proxied buffer alloc should not set the caps on the source pad.
597         When pushing buffers, we always accept the caps change that triggers.
598         This prevents negotiation errors caused by caps changing mid-stream 
599         and then being refused on our source pad (because upstream is now
600         refusing those caps).
601
602 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
603
604         * tests/examples/helloworld/helloworld.c: (main):
605           Must plug audioconvert and audioresample between decoder
606           and audio sink.
607
608 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
609
610         * gst/gstregistryxml.c: (read_string), (load_pad_template),
611         (load_feature), (load_plugin):
612         Allow empty strings for some of the plugin fields so we don't 
613         drop valid plugin entries that were written out correctly
614         (Fixes #341479)
615
616 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
617         
618         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
619           Use g_remove and g_rename instead of remove and rename that don't 
620           handle utf8 characters. rename was failing for users who had specific
621           characters in their name then the registry was built at each 
622           gstreamer init.
623         * win32/vs6/gst_inspect.dsp:
624         * win32/vs6/gst_launch.dsp:
625         * win32/vs6/libgstbase.dsp:
626         * win32/vs6/libgstcoreelements.dsp:
627         * win32/vs6/libgstreamer.dsp:
628           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
629           build of libgstreamer and clean unused libraries in projects link 
630           settings.
631
632 2006-05-17  Edward Hervey  <edward@fluendo.com>
633
634         * plugins/elements/gstqueue.c: (gst_queue_push_one):
635         The queue is not responsible for pushing an EOS when receiving a fatal
636         flow error. It's up to the real element driving the pipeline to do that.
637
638 2006-05-16  Edward Hervey  <edward@fluendo.com>
639
640         * plugins/elements/gstqueue.c: (gst_queue_push_one):
641         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
642         buffer returned a fatal error. It should just send an EOS and stop
643         its task.
644         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
645         when pushing buffers on the queue and will be able to handle the event.
646
647 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
648
649         * docs/manual/basics-bins.xml:
650         * docs/manual/basics-init.xml:
651           Fix typos and minor errors in sample code (#341856).
652
653 2006-05-16  Wim Taymans  <wim@fluendo.com>
654
655         * docs/design/part-qos.txt:
656         Fix indexes in formulas to make more sense.
657
658 2006-05-15  Wim Taymans  <wim@fluendo.com>
659
660         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
661         Don't report POSITION based on clock time if sync is
662         disabled in a sink.
663
664 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
665
666         * gst/gstobject.h:
667           Add cast to make compiler happy - refcount variable was a gint
668           in GstObject but is a guint in GObject and g_atomic_int_get()
669           wants a gint *.
670
671 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
672
673         * gst/parse/Makefile.am:
674           chain commands using &&, which also makes parallel make work
675
676 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
677
678         * docs/gst/gstreamer-sections.txt:
679         * gst/gstevent.c:
680         * gst/gstevent.h:
681         * gst/gstmessage.h:
682           Minor docs fixes.
683
684 === release 0.10.6 ===
685
686 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
687
688         * configure.ac:
689           releasing 0.10.6, "Take the cannoli"
690
691 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
692
693         * tools/gst-launch.c: (print_tag):
694           Fix use of uninitialized variable in the hypothetical
695           case that some broken plugin creates a GST_TAG_IMAGE
696           tag containing a NULL buffer (#341667).
697
698 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
699
700         * tools/gst-launch.c: (print_tag):
701           Print something more intelligible for image tags when
702           using the -t switch (#341556).
703
704 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
705
706         * Makefile.am:
707           updates for win32
708         * configure.ac:
709           define GST_MAJORMINOR so we have it available in win32/common/config.h
710           Possibly remove it from our Makefile.am files later
711         * win32/common/config.h:
712         * win32/common/config.h.in:
713           added GST_MAJORMINOR
714         * win32/common/gstenumtypes.c: (register_gst_resource_error):
715         * win32/common/gstversion.h:
716           updated
717
718 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
719
720         * win32/MANIFEST:
721           Update win32 files listing.
722         * win32/common/gstversion.h:
723           Add GST_MAJORMINOR definition.
724         * win32/common/libgstreamer.def:
725           Add new exported functions.
726           
727 2006-05-12  Michael Smith  <msmith@fluendo.com>
728
729         * gst/gstplugin.c: (gst_plugin_load_file):
730           If an so file has no plugin entry point, unload the module.
731
732 2006-05-11  Wim Taymans  <wim@fluendo.com>
733
734         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
735         (gst_queue_set_property):
736         Don't forget to signal the _chain or _loop function 
737         when the queue size or thresholds change since that might
738         cause them to make progres again.
739
740 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
741
742         * gst/gstclock.c: (gst_clock_class_init):
743         * gst/gstindex.c: (gst_index_class_init):
744         * gst/gstobject.c: (gst_object_class_init):
745         * gst/gstpad.c: (gst_pad_class_init):
746         * gst/gstpipeline.c: (gst_pipeline_class_init):
747         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
748         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
749         * libs/gst/base/gstbasetransform.c:
750         (gst_base_transform_class_init):
751         * libs/gst/net/gstnetclientclock.c:
752         (gst_net_client_clock_class_init):
753         * libs/gst/net/gstnettimeprovider.c:
754         (gst_net_time_provider_class_init):
755         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
756         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
757         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
758         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
759         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
760         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
761         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
762         * plugins/elements/gstidentity.c: (gst_identity_class_init):
763         * plugins/elements/gsttee.c: (gst_tee_class_init):
764         * tests/old/examples/plugins/example.c: (gst_example_class_init):
765         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
766           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
767
768 2006-05-11  Wim Taymans  <wim@fluendo.com>
769
770         * gst/gstbuffer.c: (_gst_buffer_initialize):
771         Register subbufer along with the buffer type so that
772         it does not accidentally gets registered from N
773         different streaming threads in a non threadsafe way.
774
775 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
776
777         * gst/gstbuffer.h:
778         * gst/gstevent.h:
779         * gst/gstmessage.h:
780           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
781           gst_event_ref() and gst_message_ref() functions again
782           (ugly hack, please do fix if there's a better way besides
783           overrides.txt, which doesn't seem to work).
784
785 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
786
787         * libs/gst/check/gstcheck.h:
788           add an assert for setting state to avoid lots of repetitive code
789           in the future
790
791 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
792
793         * gst/gstvalue.c: (gst_value_serialize_flags):
794           fix a leak if no flags are set
795         * tests/check/gst/gstvalue.c: (GST_START_TEST):
796           fix leak in tests
797
798 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
799
800         * docs/manual/basics-pads.xml:
801           Expand a bit on caps and filtered links and update
802           examples that were still using the no longer existing
803           gst_pad_link_filtered() (#338206).
804
805 2006-05-10  Wim Taymans  <wim@fluendo.com>
806
807         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
808         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
809         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
810         (gst_collect_pads_stop):
811         * libs/gst/base/gstcollectpads.h:
812         No need to call _stop in _finalize.
813         Iterate the main pad list in _finalize.
814         Added some more debug.
815         Free lists and data in the right order.
816         Also free data whem doing _remove_pad when stopped for
817         backward compatibility protect ::started with PAD_LOCK as
818         well.
819
820 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
821
822         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
823         (gst_structure_parse_value):
824           add some comments
825           rename a method so that it actually says what it does better
826
827 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
828
829         * gst/gstevent.c: (_gst_event_initialize):
830         * gst/gstformat.c: (_gst_format_initialize):
831           make sure some essential types used by events are registered
832           as part of gst_init()
833         * gst/gstvalue.c: (gst_value_serialize_flags):
834           if no flags are set, serialize them to a value that represents NONE
835           so that deserializing them works
836         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
837           add tests for serialization and deserialization of flags
838
839 2006-05-10  Wim Taymans  <wim@fluendo.com>
840
841         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
842         (gst_collect_pads_collect_range), (gst_collect_pads_available),
843         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
844         (gst_collect_pads_event), (gst_collect_pads_chain):
845         Update docs.
846         Better debug info.
847         Catch and return errors from the collect function
848         Refuse data on eos pads.
849
850 2006-05-10  Edward Hervey  <edward@fluendo.com>
851
852         * gst/gstinterface.h:
853         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
854         GInterface type checking.
855         They were previously using non-defined macros.
856
857 2006-05-09  Wim Taymans  <wim@fluendo.com>
858
859         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
860         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
861         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
862         (gst_collect_pads_start), (gst_collect_pads_stop),
863         (gst_collect_pads_peek), (gst_collect_pads_pop),
864         (gst_collect_pads_available), (gst_collect_pads_read),
865         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
866         (gst_collect_pads_is_collected), (gst_collect_pads_event),
867         (gst_collect_pads_chain):
868         * libs/gst/base/gstcollectpads.h:
869         Clean up the mess that is collectpads, add comments and
870         FIXMEs where needed.
871         Maintain a separate pad list so we can add pads while
872         collecting the other ones. For this we need a new separate 
873         lock (see comics).
874         Fix memory leak in finalize.
875         Refactor some weird code to set/unset pad flushing flags, mark
876         with comments.
877         Don't crash in _available, _read, _flush when we're EOS.
878
879         * tests/check/libs/.cvsignore:
880         Ignore adapter check binary.
881
882 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
883
884         * gst/gstindex.c: (gst_index_resolver_get_type):
885         * plugins/elements/gstfakesink.c:
886         (gst_fake_sink_state_error_get_type):
887         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
888         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
889         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
890           Const-ify GEnumValue arrays.
891
892 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
893
894         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
895           Add test case for flags + gst_buffer_make_metadata_writable().
896
897 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
898
899         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
900           gst_buffer_make_metadata_writable() should maintain the
901           buffer flags (those that make sense at least) (see #340859).
902
903 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
904
905         * tools/gst-inspect.c:
906         * tools/gst-launch.c:
907         * tools/gst-typefind.c:
908         * tools/gst-xmlinspect.c:
909         * tools/tools.h:
910           Fix up includes: need to include stdlib.h in tools.h for exit().
911
912 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
913
914         * gst/gsttaglist.c: (_gst_tag_initialize):
915         * gst/gsttaglist.h:
916           API: add GST_TAG_IMAGE tag (#340721).
917
918 2006-05-08  Wim Taymans  <wim@fluendo.com>
919
920         * gst/gstquery.c:
921         Added some docs for the segment query.
922
923 2006-05-08  Wim Taymans  <wim@fluendo.com>
924
925         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
926         (gst_base_src_loop), (gst_base_src_change_state):
927         Always push non-flushing serialized events in the streaming 
928         thread.
929
930 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
931
932         * gst/gsterror.c: (_gst_stream_errors_init):
933           Add a missing error string.
934
935 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
936
937         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
938         Add applied_rate to the debug
939
940         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
941         Copy applied_rate into the outgoing NEWSEGMENT event
942
943 2006-05-08  Wim Taymans  <wim@fluendo.com>
944
945         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
946
947         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
948         (gst_base_sink_change_state):
949         call ::unlock before taking the PREROLL_LOCK so we can safely
950         handle elements that lock in ::render.
951         Fixes #340174.
952
953 2006-05-08  Edward Hervey  <edward@fluendo.com>
954
955         * autogen.sh: (CONFIGURE_DEF_OPT): 
956         Darwin's libtoolize is in fact called glibtoolize.
957         Adding glibtoolize to the list of accepted names for libtoolize.
958
959 2006-05-08  Wim Taymans  <wim@fluendo.com>
960
961         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
962         Unify error handling, don't post an error message
963         when a push() returns EOS but perform our normal EOS
964         handling code. Fixes #340772.
965
966 2006-05-08  Wim Taymans  <wim@fluendo.com>
967
968         * docs/design/part-overview.txt:
969         Make upsteam/downstream concepts more clear.
970         Give an example of serialized/non-serialized events.
971
972         * docs/design/part-events.txt:
973         * docs/design/part-streams.txt:
974         Mention applied_rate.
975
976         * docs/design/part-trickmodes.txt:
977         Mention applied rate, flesh out some more use cases.
978
979         * gst/gstevent.c: (gst_event_new_new_segment),
980         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
981         (gst_event_parse_new_segment_full), (gst_event_new_tag),
982         (gst_event_parse_tag), (gst_event_new_buffer_size),
983         (gst_event_parse_buffer_size), (gst_event_new_qos),
984         (gst_event_parse_qos), (gst_event_parse_seek),
985         (gst_event_new_navigation):
986         * gst/gstevent.h:
987         Add applied_rate field to NEWSEGMENT event.
988         API: gst_event_new_new_segment_full()
989         API: gst_event_parse_new_segment_full()
990
991         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
992         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
993         (gst_segment_to_stream_time), (gst_segment_to_running_time):
994         * gst/gstsegment.h:
995         Add applied_rate to GstSegment structure.
996         Make calculation of stream_time and running_time more correct
997         wrt rate/applied_rate.
998         Add some more docs.
999         API: GstSegment::applied_rate field
1000         API: gst_segment_set_newsegment_full();
1001
1002         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1003         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1004         * libs/gst/base/gstbasetransform.c:
1005         (gst_base_transform_sink_eventfunc),
1006         (gst_base_transform_handle_buffer):
1007         Parse and use applied_rate in the GstSegment field.
1008
1009         * tests/check/gst/gstevent.c: (GST_START_TEST):
1010         Add check for applied_rate field.
1011
1012         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1013         (gstsegments_suite):
1014         Add more checks for various GstSegment operations.
1015
1016 2006-05-08  Wim Taymans  <wim@fluendo.com>
1017
1018         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1019         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1020         (gst_base_sink_get_position), (gst_base_sink_change_state):
1021         Store the sync time of the buffer end position separatly in a
1022         new variable eos_rtime so we can properly sync the EOS event.
1023         Fixes #340697.
1024         Fix the docs for gst_base_sink_set_qos_enabled().
1025         Don't set segment start to invalid value when we receive a 
1026         non TIME newsegment.
1027         get closer to handling position reporting for negative rates 
1028         correctly.
1029
1030 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1031
1032         * gst/gstcaps.c:
1033         Docs about how to print caps for debug purposes.
1034
1035         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1036         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1037
1038 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1039
1040         * gst/gstelement.c:
1041           use full enum names and preprend a '%' in docs strings to make recent 
1042           gtk-doc turn that into a link
1043
1044 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1045
1046         * docs/manual/basics-bins.xml:
1047         * docs/manual/basics-bus.xml:
1048         * docs/manual/basics-pads.xml:
1049           Some typo fixes, some additions, some clarifications. 
1050
1051 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1052
1053         * tools/gst-inspect.c: (main):
1054         * tools/gst-launch.c: (main):
1055         * tools/gst-run.c: (main):
1056         * tools/gst-typefind.c: (main):
1057         * tools/gst-xmlinspect.c: (main):
1058           Use the string passed to g_option_context_new() for
1059           what it's intended for - the program name is already
1060           printed elsewhere.
1061
1062 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1063
1064         * tools/Makefile.am:
1065         * tools/gst-inspect.c: (main):
1066         * tools/gst-launch.c: (main):
1067         * tools/gst-xmlinspect.c: (main):
1068         * tools/tools.h:
1069           Add back --version command line option (#340460).
1070
1071         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1072           Add --version option and use GOption for argument parsing; refactor a
1073           bit; accept directories as arguments and recurse into them; lastly,
1074           print a decent error message when things go wrong.
1075
1076 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1077
1078         * docs/manual/basics-bins.xml:
1079         Don't mention GstThread (#340611)
1080         * docs/manual/basics-elements.xml:
1081         Update link to GObject tutorial (#340607)
1082         
1083 2006-05-05  Wim Taymans  <wim@fluendo.com>
1084
1085         * gst/gstbuffer.h:
1086         * gst/gstminiobject.c:
1087         Add note about refcounting and miniobject/buffer writeability
1088         to docs. Fixes #340604
1089
1090         * gst/gstelementfactory.h:
1091         Added some explanation about @klass.
1092
1093 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1094
1095         * docs/manual/intro-motivation.xml:
1096         * docs/manual/manual.xml:
1097         Avoid CORBA & Bonobo references (#340598)
1098
1099 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1100
1101         * docs/manual/basics-bus.xml:
1102         * docs/manual/basics-pads.xml:
1103         Fix up some inaccuracies and omissions (#340609)
1104         
1105 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1106
1107         * gst/gstghostpad.c:
1108           Small typo in docs (#340625)
1109
1110 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1111
1112         * gst/parse/Makefile.am:
1113           Make 'make -j' proof (see #340698).
1114
1115 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1116
1117         * configure.ac:
1118           Require GLib-2.8 here as well.
1119
1120 2006-05-05  Wim Taymans  <wim@fluendo.com>
1121
1122         * gst/glib-compat.c:
1123         * gst/gst.c: (init_pre):
1124         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1125         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1126         (gst_object_dispatch_properties_changed):
1127         * gst/gstobject.h:
1128         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1129         * gst/gststructure.c: (gst_structure_set_valist):
1130         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1131         Remove pre glib2.8 compatibility, fixes #340508
1132
1133 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1134
1135         * gst/gsttaglist.h:
1136           Mention type of tags in doc blurbs.
1137
1138 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
1139
1140         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1141         (gst_pad_configure_src), (gst_pad_push):
1142         Restore acceptcaps checking behaviour now that good plugins have
1143         been released.
1144
1145 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1146
1147         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1148
1149         * gst/gst.c:
1150         * gst/gstbus.c:
1151         * gst/gstclock.c:
1152         * gst/gstevent.c:
1153         * gst/gstformat.c:
1154         * gst/gstmessage.c:
1155         * gst/gstparse.c:
1156         * gst/gstquery.c:
1157         * gst/gstutils.c:
1158         * gst/parse/Makefile.am:
1159         * libs/gst/base/gstadapter.c:
1160         * libs/gst/base/gstbasesrc.c:
1161         * libs/gst/base/gstpushsrc.c:
1162         * libs/gst/base/gsttypefindhelper.c:
1163         * plugins/elements/gstfakesrc.c:
1164         * plugins/elements/gstidentity.c:
1165           Make sure gstprivate.h and/or config.h are
1166           always included first, otherwise some of our
1167           defines (like _FILE_OFFSET_BITS) might be
1168           redefined in the system headers. Fixes build
1169           on opensolaris (#340016).
1170
1171 2006-05-04  Wim Taymans  <wim@fluendo.com>
1172
1173         * docs/libs/gstreamer-libs-sections.txt:
1174         API: addition: gst_adapter_take_buffer()
1175         
1176         * libs/gst/base/gstadapter.c: (gst_adapter_push),
1177         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1178         (gst_adapter_available_fast):
1179         * libs/gst/base/gstadapter.h:
1180         Prepare for optimizing the hell out of this hugely inefficient
1181         piece of code. 
1182         Added gst_adapter_take_buffer() so we can at least start thinking
1183         about subbuffering and merging.
1184         Added some comments.
1185
1186         * tests/check/Makefile.am:
1187         * tests/check/libs/adapter.c: (GST_START_TEST),
1188         (gst_adapter_suite), (main):
1189         Added GstAdapter check.
1190
1191 2006-05-04  Wim Taymans  <wim@fluendo.com>
1192
1193         * docs/design/part-overview.txt:
1194         Fix some typos, add blurb about buffer flags.
1195
1196 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1197
1198         * docs/libs/gstreamer-libs-sections.txt:
1199           make sure GstBaseTransformClass shows up in the docs
1200         * libs/gst/base/gstbasetransform.c:
1201         * libs/gst/base/gstbasetransform.h:
1202           move docs so gtk-doc picks it up now
1203
1204 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1205
1206         * docs/libs/gstreamer-libs-sections.txt:
1207           add missing symbols to docs
1208
1209 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1210
1211         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1212           back out the newsegment handling change, see #340060 for ongoing
1213           discussion
1214
1215 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
1216
1217         * tools/gst-run.c: (get_candidates), (main):
1218           Fix wrong g_file_test() usage (see glib docs for why it doesn't
1219           work); fix typo in error message. Fixes #340079.
1220
1221 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1222
1223         * common/Makefile.am:
1224         * docs/Makefile.am:
1225         * docs/faq/Makefile.am:
1226         * docs/gst/Makefile.am:
1227         * docs/libs/Makefile.am:
1228         * docs/manual/Makefile.am:
1229         * docs/plugins/Makefile.am:
1230         * docs/pwg/Makefile.am:
1231         * docs/slides/Makefile.am:
1232         * docs/upload.mak:
1233         * common/upload.mak:
1234           move upload.mak to common
1235
1236 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1237
1238         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1239           add more asserts on refcounts
1240           do more cleanup at end of tests
1241           fix test leaks showing in FC5
1242
1243 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1244
1245         * plugins/elements/gsttypefindelement.c:
1246         (gst_type_find_element_handle_event):
1247         reverted wrong change and reflowed code to avoid others falling into
1248         this trap
1249
1250 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1251
1252         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1253           fix changelog entry about last collectpads change,
1254           add notes about proper fix
1255
1256 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1257
1258         * gst/gst.c:
1259         * gst/gstregistry.c: (gst_registry_scan_path_level),
1260         (gst_registry_scan_path):
1261         * gst/gstregistry.h:
1262           only write out registry if it has changed, fixes #338339
1263
1264 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1265
1266         * gst/gstbin.c:
1267         * gst/gstpipeline.c:
1268         * plugins/elements/gstcapsfilter.c:
1269         * plugins/elements/gstfakesink.c:
1270         * plugins/elements/gstfakesrc.c:
1271         * plugins/elements/gstfdsink.c:
1272         * plugins/elements/gstfdsrc.c:
1273         * plugins/elements/gstfilesink.c:
1274         * plugins/elements/gstfilesrc.c:
1275         * plugins/elements/gstidentity.c:
1276         * plugins/elements/gstqueue.c:
1277         * plugins/elements/gsttee.c:
1278         * plugins/elements/gsttypefindelement.c:
1279         (gst_type_find_element_handle_event):
1280           make GstElementDetails const
1281
1282 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1283
1284         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1285         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1286         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1287           more detailed debug and formatting cleanup,
1288           forward newsegments to src-pad (so that e.g. adder not eats them)
1289
1290 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1291
1292         * gst/gstutils.c: (gst_element_link_pads):
1293           cleanup double code
1294
1295 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1296
1297         * libs/gst/controller/gstcontroller.c:
1298         (gst_controller_sync_values):
1299           some little tuning
1300         * tests/check/libs/controller.c: (GST_START_TEST),
1301         (gst_controller_suite):
1302           a new test for live value handling
1303
1304 2006-04-28  Wim Taymans  <wim@fluendo.com>
1305
1306         * gst/gstutils.c: (push_and_ref):
1307         Added some more docs.
1308         Fix refcount issue whith gst_element_found_tags() helper 
1309         function. Fixes #338335
1310
1311         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1312         Added testsuite for gst_element_found_tags().
1313
1314 2006-04-28  Michael Smith  <msmith@fluendo.com>
1315
1316         * gst/gstvalue.c: (gst_value_serialize_flags):
1317           Avoid NULL dereference when trying to serialize flags containing
1318           invalid values.
1319
1320 2006-04-28  Michael Smith  <msmith@fluendo.com>
1321
1322         * plugins/elements/gsttypefindelement.c:
1323         (gst_type_find_element_handle_event):
1324           If we get EOS before any data is accumulated, don't use
1325           uninitialised local variables.
1326
1327 2006-04-28  Michael Smith  <msmith@fluendo.com>
1328
1329         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1330         (gst_dp_event_from_packet):
1331           Fixes in reading/writing events over GDP (not currently used?) - 
1332           dereferencing NULL events for unknown/invalid event types, memory
1333           leak, and change g_warning to GST_WARNING.
1334
1335 2006-04-28  Wim Taymans  <wim@fluendo.com>
1336
1337         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1338         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1339         (gst_base_sink_get_position), (gst_base_sink_change_state):
1340         When frame dropping is enabled, we should not ignore frames
1341         without a duration.
1342         Update some documentation.
1343
1344 2006-04-28  Wim Taymans  <wim@fluendo.com>
1345
1346         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1347         (gst_base_src_send_event), (gst_base_src_change_state):
1348         Documentation updates.
1349
1350 2006-04-28  Wim Taymans  <wim@fluendo.com>
1351
1352         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1353         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1354         handle EAGAIN, EINTR and short writes correctly. Also clean
1355         up some error cases, avoid a deadlock on bad file descriptors and
1356         use GST_DEBUG_OBJECT.
1357         Fixes #339843
1358
1359 2006-04-28  Wim Taymans  <wim@fluendo.com>
1360
1361         * gst/gstvalue.c: (gst_value_serialize_buffer),
1362         (gst_value_deserialize_buffer):
1363         Don't try to serialize a GValue with a NULL buffer. 
1364         Fixes #339821.
1365
1366         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1367         Added check for serialisation of NULL buffers.
1368
1369 2006-04-28  Wim Taymans  <wim@fluendo.com>
1370
1371         * gst/gstminiobject.c: (gst_value_take_mini_object):
1372         Taking a NULL miniobject is valid, fix the case where
1373         we try to unref the NULL miniobject.
1374
1375 2006-04-28  Wim Taymans  <wim@fluendo.com>
1376
1377         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1378
1379         * gst/gstbin.c: (gst_bin_handle_message_func):
1380         Update docs.
1381         Don't leak bin refcount when a state recalc is
1382         in progress and we delay another one #339808.
1383
1384 2006-04-28  Wim Taymans  <wim@fluendo.com>
1385
1386         * docs/design/part-TODO.txt:
1387         Mention QoS as an ongoing work item.
1388
1389         * docs/design/part-buffering.txt:
1390         New doc about buffering that needs to be fleshed out
1391         at some point.
1392
1393         * docs/design/part-qos.txt:
1394         More QoS policy for decoders/demuxers/transforms
1395
1396         * docs/design/part-trickmodes.txt:
1397         Small update.
1398
1399 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1400
1401         * configure.ac:
1402           back to HEAD
1403
1404 === release 0.10.5 ===
1405
1406 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1407
1408         * configure.ac:
1409           releasing 0.10.5, "Fogo"
1410
1411 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1412
1413         patch by: Wim Taymans
1414
1415         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1416         (gst_pad_configure_src), (gst_pad_push):
1417         * gst/gstpipeline.c: (gst_pipeline_init):
1418           Fix internal data flow errors.  Fixes #338711.
1419
1420 2006-04-12  Wim Taymans  <wim@fluendo.com>
1421
1422         * tests/check/gst/gstelement.c: (GST_START_TEST):
1423         Don't leak the factory.
1424
1425 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1426
1427         * configure.ac:
1428         * win32/common/config.h:
1429           prerelease
1430
1431 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1432
1433         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1434         (gst_controller_unset_all):
1435           Free allocated GstTimedValues when freeing list nodes.
1436           Should fix leaks 'make check-valgrind' complains about.
1437
1438         * win32/common/libgstcontroller.def:
1439           Add gst_controller_unset_all.
1440
1441 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
1442
1443         * docs/libs/gstreamer-libs-sections.txt:
1444         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1445         (gst_controller_unset_all):
1446         * libs/gst/controller/gstcontroller.h:
1447         API: Added new method gst_controller_unset_all()
1448         fixed gst_controller_unset()
1449         * tests/check/libs/controller.c: (GST_START_TEST),
1450         (gst_controller_suite):
1451         Added two testcases for new and fixed method
1452
1453 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
1454
1455         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1456           MSG_DONTWAIT is not defined on Cygwin, so work
1457           around that (fixes #317048).
1458           
1459 2006-04-11  Wim Taymans  <wim@fluendo.com>
1460
1461         * gst/gstelementfactory.c: (gst_element_register),
1462         (gst_element_factory_create), (gst_element_factory_make):
1463         Some cleanups.
1464         Fixed a FIXME.
1465         Updated docs (Fixes #131079)
1466
1467         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1468         Small cleanups.
1469
1470         * tests/check/gst/gstelement.c: (GST_START_TEST),
1471         (gst_element_suite):
1472         Added testcase for elementfactory class field.
1473
1474 2006-04-10  Wim Taymans  <wim@fluendo.com>
1475
1476         * gst/gstsegment.c:
1477         Added some more docs.
1478
1479         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
1480         (gst_base_sink_reset_qos):
1481         Calculate more accurate rate values.
1482
1483 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
1484
1485         * gst/gst_private.h:
1486           add a new #ifdef to use __declspec(dllimport) only for
1487           other modules and not for gstreamer core
1488         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
1489           use gst_guint64_to_gdouble for conversion
1490         * win32/common/libgstreamer.def:
1491           add new exported functions
1492         * win32/vs6/gst_inspect.dsp:
1493         * win32/vs6/gst_launch.dsp:
1494         * win32/vs6/libgstbase.dsp:
1495         * win32/vs6/libgstcontroller.dsp:
1496         * win32/vs6/libgstcoreelements.dsp:
1497         * win32/vs6/libgstdataprotocol.dsp:
1498         * win32/vs6/libgstnet.dsp:
1499           update project files
1500
1501 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1502
1503         * gst/gstbuffer.c: (gst_subbuffer_class_init):
1504         * gst/gstclock.c: (gst_clock_class_init):
1505         * gst/gstelement.c: (gst_element_class_init):
1506         * gst/gstindex.c: (gst_index_class_init):
1507         * gst/gstindexfactory.c: (gst_index_factory_class_init):
1508         * gst/gstobject.c: (gst_object_class_init),
1509         (gst_signal_object_class_init):
1510         * gst/gstpad.c: (gst_pad_class_init):
1511         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
1512         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
1513         * gst/gstregistry.c: (gst_registry_class_init):
1514         * gst/gstsystemclock.c: (gst_system_clock_class_init):
1515         * gst/gsttask.c: (gst_task_class_init):
1516         * gst/gstxml.c: (gst_xml_class_init):
1517         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1518         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1519         (gst_base_src_loop):
1520         * libs/gst/controller/gstcontroller.c:/
1521         (_gst_controller_class_init):
1522         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1523         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1524         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
1525         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1526         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1527         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
1528
1529 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
1530
1531         * gst/gstpad.c: (gst_pad_link):
1532           Must set peer pads before calling the link function, otherwise
1533           a task started from a link function might get a flow-not-linked
1534           result when trying to push because the other thread where the
1535           linking happens hasn't had a chance to set the peers yet. This
1536           might happen for example when a queue gets linked to a downstream
1537           element, as queue starts a streaming task when its source pad
1538           gets linked. Happens in real life when playing back flac/musepack
1539           files in playbin (#332390).
1540           
1541 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1542
1543         * gst/gstindex.h:
1544         * gst/gstxml.h:
1545         * libs/gst/base/gstadapter.h:
1546         * libs/gst/base/gstbasesink.h:
1547         * libs/gst/base/gstbasesrc.h:
1548         * libs/gst/base/gstbasetransform.h:
1549         * libs/gst/base/gstcollectpads.h:
1550         * libs/gst/base/gstpushsrc.h:
1551         Fix broken GObject macros
1552
1553 2006-04-07  Wim Taymans  <wim@fluendo.com>
1554
1555         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1556         Initialize start and stop times, thanks valgrind.
1557
1558 2006-04-07  Wim Taymans  <wim@fluendo.com>
1559
1560         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1561         Be a bit nicer to badly behaving upstream elements that expect
1562         us to deal with non TIME segments and timestamps (such as fakesrc
1563         in the testsuite).
1564
1565 2006-04-07  Wim Taymans  <wim@fluendo.com>
1566
1567         * gst/gstbus.c:
1568         Small documentation clarification about the signal watch.
1569
1570         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1571         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1572         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1573         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1574         (gst_base_sink_get_position_last),
1575         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
1576         Convert and store timestamps in stream time and running time, the
1577         raw timestamps are not usefull, also document this better.
1578         Use different window sizes for good and bad QoS observations so
1579         we react to badness a little quicker.
1580         Keep track of the amount of rendered and dropped buffers.
1581         Send QoS timestamps in running time.
1582
1583         * libs/gst/base/gstbasetransform.c:
1584         (gst_base_transform_sink_eventfunc),
1585         (gst_base_transform_handle_buffer):
1586         Compare QoS timestamps against running time.
1587
1588 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1589
1590         * gst/gstpad.c:
1591           Typo fixes in docs.
1592
1593 2006-04-06  Michael Smith  <msmith@fluendo.com>
1594
1595         * gst/gstpad.c: (gst_pad_set_property):
1596           Use g_value_get_object() instead of g_value_dup_gst_object(),
1597           to avoid double-reffing the pad template (which we then sink,
1598           so this worked previously if (and only if) the pad template
1599           was floating.
1600
1601         * gst/gstpadtemplate.c: (gst_pad_template_init),
1602         (gst_pad_template_pad_created):
1603           Never return floating references to pad templates, create
1604           them as initially-sunken.
1605
1606           Document an extra function (and make this stop sinking our
1607           pad template, since that is now guaranteed to do nothing,
1608           since we created it sunken).
1609
1610         * gst/gstghostpad.c:
1611           Fix docs typo.
1612
1613 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1614
1615         * gst/gstinfo.c: (__gst_in_valgrind):
1616           Add some newlines.
1617
1618         * plugins/elements/gsttypefindelement.c:
1619         (gst_type_find_element_chain):
1620           Don't leak buffer caps.
1621
1622 2006-04-06  Michael Smith  <msmith@fluendo.com>
1623
1624         * gst/parse/grammar.y:
1625           Fix a leak in parse-launch for any source-or-sink named element 
1626           references used.
1627
1628         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1629           Unref the pipeline if it exists after we've failed parsing.
1630
1631 2006-04-05  Michael Smith  <msmith@fluendo.com>
1632
1633         * gst/gstpipeline.c: (gst_pipeline_init):
1634           When we create a pipeline bus, initially create it in flushing mode.
1635           Fixes leaks in at least one test, and makes a new pipeline work the
1636           same as one that has gone to READY and then back to NULL.
1637
1638         * gst/gstelement.c:
1639           Typo fix in docs.
1640
1641 2006-04-05  Michael Smith  <msmith@fluendo.com>
1642
1643         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1644           Unref a pad we reffed.
1645         * tests/check/gst/gstutils.c: (GST_START_TEST):
1646           Unref bins
1647
1648 2006-04-05  Michael Smith  <msmith@fluendo.com>
1649
1650         * gst/gstquery.c: (gst_query_set_formats),
1651         (gst_query_set_formatsv):
1652           Fix leaking GValues in queries, as shown by valgrind/testsuite.
1653
1654 2006-04-05  Michael Smith  <msmith@fluendo.com>
1655
1656         * tests/check/generic/sinks.c: (GST_START_TEST):
1657           Fix a variety of memleaks in sinks check, which are only sometimes 
1658           shown by running the tests under valgrind (weird?).
1659
1660 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
1661
1662         * docs/version.entities.in:
1663           Fix the substituted entity name after thomas' changes on the
1664           weekend.
1665
1666 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1667
1668         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
1669         VALGRIND_PRINTF
1670         
1671 2006-04-05  Andy Wingo  <wingo@pobox.com>
1672
1673         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
1674
1675         * libs/gst/base/gstbasetransform.c
1676         (gst_base_transform_sink_eventfunc): When resetting our segment on
1677         FLUSH_STOP, also update the flag saying we haven't seen a
1678         newsegment.
1679
1680 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1681
1682         Patch by: Paolo Borelli  <pborelli at katamail dot com>
1683
1684         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1685         (gst_plugin_check_license):
1686           minor clean-ups: G_DEFINE_TYPE already takes care of the
1687           parent_class stuff, no need to do it twice. Mark array of
1688           license strings as constant. (#337103)
1689           
1690 2006-04-04  Michael Smith  <msmith@fluendo.com>
1691
1692         * tools/gst-inspect.c: (print_element_list):
1693           Free the right plugin list; fixes a memory leak.
1694
1695 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1696
1697         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
1698
1699         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1700           Don't error out on empty buffers (#336945).
1701           
1702 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
1703
1704         * docs/libs/gstreamer-libs-sections.txt:
1705         * gst/gsttaglist.c:
1706         * libs/gst/base/gstbasesink.c:
1707         * libs/gst/base/gstbasesink.h:
1708         * libs/gst/base/gstbasesrc.c:
1709         * libs/gst/base/gstbasesrc.h:
1710           Documentation updates. Make BaseSink and BaseSrc docs contain the
1711           class structure so that people can actually see the prototypes for
1712           virtual functions they're supposed to be overriding.
1713
1714 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1715
1716         * plugins/elements/gsttypefindelement.c:
1717         (gst_type_find_element_chain):
1718           More debug info; when skipping typefinding, send cached
1719           events in all cases.
1720
1721 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1722
1723         * configure.ac:
1724           use new AS_VERSION and AS_NANO macros
1725         * gst/gst-i18n-lib.h:
1726         * gst/gst.c:
1727         * gst/gsterror.c:
1728         * gst/gstversion.h.in:
1729         * win32/common/config.h:
1730         * win32/common/config.h.in:
1731           update accordingly
1732
1733 2006-03-31  Michael Smith  <msmith@fluendo.com>
1734
1735         * plugins/elements/gsttypefindelement.c:
1736         (gst_type_find_element_chain):
1737           Do not typefind content if the buffers already have caps.
1738           Neccesary for icydemux (#333657), and the right thing to do anyway.
1739
1740 2006-03-30  Wim Taymans  <wim@fluendo.com>
1741
1742         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1743         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
1744         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
1745         (gst_base_sink_record_qos_observation),
1746         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1747         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1748         (gst_base_sink_change_state):
1749         More QoS measurements as described in the design doc.
1750         Get rid of ringbuffer with observations, running average is
1751         more simple and equally good.
1752         Calculates valid proportion now.
1753         Added beginning of flood measurement.
1754
1755 2006-03-29  Wim Taymans  <wim@fluendo.com>
1756
1757         * docs/design/part-qos.txt:
1758         * gst/gstclock.c:
1759         Small documentation updates and additions.
1760
1761 2006-03-29  Wim Taymans  <wim@fluendo.com>
1762
1763         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1764         (gst_base_src_send_event), (gst_base_src_loop),
1765         (gst_base_src_change_state):
1766         Perform the EOS logic when we reach the segment stop position.
1767         Fix compilation on gcc4.1
1768
1769 2006-03-29  Wim Taymans  <wim@fluendo.com>
1770
1771         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1772
1773         * plugins/elements/gstqueue.c: (gst_queue_init),
1774         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
1775         (gst_queue_set_property):
1776         * plugins/elements/gstqueue.h:
1777         In queue, when EOS is received, if minimum threshold > max_size -
1778         current_level, there is chance that queue blocks forever in conditional
1779         item del wait. This is because the queue is not emptied completely due
1780         to minimum threshold.  Here is another approach. Instead of setting
1781         cur_levels to max in EOS, just zero all minimum threshold levels. This
1782         should make sure that queue gives out all data. When going to READY
1783         (stop) state, just reset the original minimum threshold levels.
1784         Fixes #336336.
1785
1786 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
1787
1788         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
1789         (gst_type_find_element_handle_event),
1790         (gst_type_find_element_send_cached_events),
1791         (gst_type_find_element_change_state):
1792         * plugins/elements/gsttypefindelement.h:
1793           When typefinding is done in push mode, we should cache
1794           events we receive during typefinding instead of just
1795           dropping them (e.g. newsegment, custom events from
1796           dvdreadsrc etc.) and then send them out once we've
1797           determined the type of the stream (and decodebin
1798           has had a chance to plug in a decoder/demuxer).
1799           
1800 2006-03-27  Wim Taymans  <wim@fluendo.com>
1801
1802         * docs/design/part-qos.txt:
1803         First QoS ideas.
1804
1805 2006-03-27  Wim Taymans  <wim@fluendo.com>
1806
1807         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
1808
1809         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1810         (gst_base_src_send_event), (gst_base_src_change_state):
1811         Handle element seek correctly when we are streaming.
1812         Fixes #326998.
1813
1814 2006-03-24  Michael Smith  <msmith@fluendo.com>
1815
1816         * docs/faq/gst-uninstalled:
1817           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
1818           allow you to correctly run intalled applications built against old 
1819           core, using plugins that require updated core (e.g. running
1820           installed totem against a full uninstalled gstreamer stack)
1821
1822 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1823
1824         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1825         more debug details
1826
1827 2006-03-24  Wim Taymans  <wim@fluendo.com>
1828
1829         * docs/gst/gstreamer-sections.txt:
1830         Rearrange the order of the methods so that related methods
1831         are grouped together in sections.
1832
1833 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1834
1835         * gst/gstelement.c:
1836           Little clarification in the docs
1837
1838 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1839
1840         * docs/README:
1841         formatting fix
1842         * plugins/elements/gstidentity.c:
1843         * plugins/elements/gstqueue.c:
1844         * plugins/elements/gsttee.c:
1845         * plugins/elements/gsttypefindelement.c:
1846         GST_ELEMENT_DETAILS formatting
1847
1848 2006-03-24  Wim Taymans  <wim@fluendo.com>
1849
1850         * libs/gst/base/gstbasesink.h:
1851         Only add fields, not insert or we break ABI.
1852
1853 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1854
1855         * win32/common/libgstbase.def:
1856         * win32/common/libgstreamer.def:
1857           Update, add recently added functions.
1858
1859 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1860
1861         * docs/gst/gstreamer-sections.txt:
1862         * gst/gstutils.c: (gst_pad_query_peer_position),
1863         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
1864         * gst/gstutils.h:
1865           API: add some new utility functions:
1866            - gst_pad_query_peer_position()
1867            - gst_pad_query_peer_duration()
1868            - gst_pad_query_peer_convert()
1869           
1870 2006-03-23  Wim Taymans  <wim@fluendo.com>
1871
1872         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1873         (gst_base_sink_init), (gst_base_sink_finalize),
1874         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
1875         (gst_base_sink_set_property), (gst_base_sink_get_property),
1876         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
1877         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1878         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
1879         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1880         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1881         (gst_base_sink_preroll_object), (gst_base_sink_event),
1882         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
1883         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
1884         (gst_base_sink_query), (gst_base_sink_change_state):
1885         Decouple max-lateness and the fact that QoS messages are generated
1886         with a new property (qos).
1887         added API: GstBaseSink::async_play()
1888         Add vmethod so subclasses can be notified of ASYNC playing
1889         state changes.
1890         Collect timestamp start and stop to report better current
1891         position in EOS/PLAYING/PAUSED/READY/NULL.
1892         Refactor QoS/frame dropping and other measurements.
1893         API: GstBaseSrc::qos
1894         Fixes #326311
1895
1896         * libs/gst/base/gstbasesink.h:
1897         Added Private struct.
1898         API: gst_base_sink_set_qos_enabled()
1899         API: gst_base_sink_is_qos_enabled()
1900
1901 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1902
1903         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1904           If compiling against GLib-2.8 or newer, try to read the
1905           registry file using GMappedFile first before falling back
1906           to fopen() + fread() (#332151).
1907
1908 2006-03-22  Wim Taymans  <wim@fluendo.com>
1909
1910         * gst/gstinfo.c: (gst_debug_set_active),
1911         (gst_debug_category_set_threshold):
1912         Disable debugging unless explicitly activated.
1913         Fixes #335480.
1914
1915 2006-03-22  Wim Taymans  <wim@fluendo.com>
1916
1917         * gst/gstelement.c: (gst_element_set_locked_state),
1918         (gst_element_dispose):
1919         Cleanup the error case.
1920
1921         * gst/gstobject.c: (gst_object_dispose):
1922         print a critical when some object was disposed with
1923         a parent, also revive the object since it might
1924         crash the parent.
1925
1926 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
1927
1928         * tools/gst-launch.1.in:
1929           Fix another typo.
1930
1931 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1932
1933         * configure.ac:
1934         * tests/check/Makefile.am:
1935           disable some tests when we don't have a registry
1936         * tests/check/gst/gstutils.c: (gst_utils_suite):
1937           don't build the part that needs parsing
1938
1939 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1940
1941         * gst/Makefile.am
1942         * tests/examples/Makefile.am:
1943           fix --disable-parse build
1944
1945 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1946
1947         * tools/gst-feedback.1.in:
1948           Fix typo: s/feeback/feedback/ (#133494).
1949
1950 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1951
1952         * tools/Makefile.am:
1953         * tools/gst-launch.1.in:
1954           Add FILES section and correct entry about GST_REGISTRY_PATH
1955           environment variable (#133495; #133494).
1956
1957 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1958
1959         * tools/Makefile.am:
1960         * tools/gst-md5sum.1.in:
1961         * tools/gst-md5sum.c:
1962           Remove gst-md5sum and man page (the md5sink element
1963           required was removed ages ago)
1964
1965 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1966
1967         * gst/gststructure.c: (gst_structure_id_set_value):
1968           Make sure that string fields in structures/taglists
1969           contain valid UTF-8 - we don't want to pass rubbish to
1970           applications because of a buggy plugin (cp. #334167).
1971
1972 2006-03-21  Edward Hervey  <edward@fluendo.com>
1973
1974         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
1975         (gst_bin_handle_message_func):
1976         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
1977         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
1978         (gst_element_set_bus_func):
1979         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
1980         * gst/gstminiobject.c: (gst_value_set_mini_object),
1981         (gst_value_take_mini_object):
1982         * gst/gstpad.c: (gst_pad_set_pad_template):
1983         * gst/gstpipeline.c: (gst_pipeline_dispose),
1984         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
1985         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
1986         (gst_collect_pads_chain):
1987         * libs/gst/net/gstnettimeprovider.c:
1988         (gst_net_time_provider_set_property):
1989         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
1990         It's in fact all issues with gst_*object_replace().
1991
1992 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
1993
1994         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
1995         
1996         * pkgconfig/gstreamer-check-uninstalled.pc.in:
1997         * pkgconfig/gstreamer-check.pc.in:
1998           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
1999
2000 2006-03-21  Edward Hervey  <edward@fluendo.com>
2001
2002         * gst/gstbuffer.h:
2003         * gst/gstevent.h:
2004         * gst/gstmessage.h:
2005         gst_[buffer|event|message]_ref() macros are replaced by a static
2006         inline functions because gcc-4.1 will about if the return value
2007         isn't used.
2008         * tests/check/gst/gstevent.c: (event_probe):
2009         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2010
2011 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2012
2013         * gst/gstutils.h:
2014         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2015         the type' case. (Closes: #335195 for now). In the future, when we
2016         depend on GLib 2.10, we could also intern the type name using
2017         g_intern_static_string()
2018
2019 2006-03-20  Wim Taymans  <wim@fluendo.com>
2020
2021         * gst/gstbin.c: (gst_bin_handle_message_func),
2022         (bin_query_max_init), (bin_query_position_fold),
2023         (bin_query_position_done), (gst_bin_query):
2024         Position query should also take max of all streams.
2025
2026 2006-03-20  Wim Taymans  <wim@fluendo.com>
2027
2028         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2029         (gst_fake_src_finalize):
2030         Fix leaks in fakesrc.
2031
2032         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2033         Fix leaks in the testcase.
2034
2035 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2036
2037         * gst/gst_private.h:
2038           add win32 specific import decoration(__declspec(dllimport)) 
2039           for all extern GstDebugCategory * variables
2040         * win32/common/libgstbase.def:
2041         * win32/common/libgstcontroller.def:
2042         * win32/common/libgstreamer.def:
2043           Add some exports, remove empty lines
2044         * win32/common/libgstdataprotocol.def:
2045         * win32/common/libgstdataprotocol.dsp:
2046         * win32/common/libgstnet.def:
2047         * win32/common/libgstnet.dsp:
2048           new project files and exportation files added
2049         
2050 2006-03-19  Wim Taymans  <wim@fluendo.com>
2051
2052         * tests/check/libs/basesrc.c: (eos_event_counter):
2053         Use proper return value for probe.
2054
2055 2006-03-17  Wim Taymans  <wim@fluendo.com>
2056
2057         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2058         (gst_pad_push):
2059         Don't leak buffers, caps and pads on negotiation errors.
2060
2061 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
2062
2063         * docs/faq/cvs.xml:
2064         * docs/faq/dependencies.xml:
2065         * docs/faq/developing.xml:
2066         * docs/faq/faq.xml:
2067         * docs/faq/general.xml:
2068         * docs/faq/getting.xml:
2069         * docs/faq/legal.xml:
2070         * docs/faq/troubleshooting.xml:
2071         * docs/faq/using.xml:
2072         Faq review and update.
2073
2074 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
2075
2076         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2077         (gst_pad_push):
2078         Don't pound the cpu to pieces by checking get_caps when accept_caps
2079         is called with the same caps as the pad already has.
2080         Use GST_DEBUG_OBJECT when outputting caps change information.
2081
2082 2006-03-15  Wim Taymans  <wim@fluendo.com>
2083
2084         * gst/gstclock.c: (gst_clock_class_init):
2085         Fix docs.
2086
2087 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
2088
2089         * gst/gstbuffer.h:
2090         Documentation fix.
2091
2092         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2093         (gst_pad_accept_caps), (gst_pad_configure_sink),
2094         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2095         Make the default acceptcaps behaviour be to check the requested 
2096         caps against the gst_pad_get_caps output. 
2097
2098         Ensure that gst_pad_accept_caps is used to check caps when a pad
2099         doesn't have a setcaps function, so that pads automatically refuse 
2100         caps that they don't allow in their pad template. (Fixes #332986)
2101
2102         When a buffer with attached caps is pushed, ensure that the source 
2103         pad receives those caps even if the element didn't call
2104         gst_pad_set_caps first.
2105
2106 2006-03-15  Wim Taymans  <wim@fluendo.com>
2107
2108         * libs/gst/base/gstadapter.c:
2109         Add some docs.
2110
2111 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2112
2113         * win32/common/libgstbase.def:
2114         * win32/common/libgstcontroller.def:
2115         * win32/common/libgstreamer.def:
2116           Add a whole bunch of missing functions (#334434).
2117
2118 2006-03-14  Wim Taymans  <wim@fluendo.com>
2119
2120         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2121         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2122         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2123         Better debug info when we receive a segment event.
2124         Reorganize a bit so we can pass the get_times() results around.
2125         Use the segment format when calculating the running time.
2126         Don't do QoS is sync is disabled or we have no clock or the
2127         element does not want us to sync to the clock.
2128         Don't drop buffers if QoS is disabled for now.
2129
2130 2006-03-14  Wim Taymans  <wim@fluendo.com>
2131
2132         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2133         Marked the stats property as unimplemented so people don't get
2134         wild ideas.
2135         Add debug message when regression goes wrong.
2136         Added some more docs.
2137
2138 2006-03-14  Wim Taymans  <wim@fluendo.com>
2139
2140         * gst/gstsegment.c: (gst_segment_to_stream_time):
2141         Return correct return type in case of errors.
2142
2143 2006-03-14  Wim Taymans  <wim@fluendo.com>
2144
2145         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2146           Don't segfault on invalid formats.
2147
2148 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2149
2150         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2151           Can't use gst_segment_to_running_time() when the segment
2152           is not in GST_TIME_FORMAT (like with filesink, for example).
2153           Stops flac encoding pipelines from spewing critical warnings
2154           at EOS (#331248).
2155           
2156 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2157
2158         * gst/gstpipeline.c: (gst_pipeline_class_init):
2159           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2160
2161         * plugins/elements/gsttypefindelement.c:
2162         (gst_type_find_element_handle_event):
2163           Don't try to typefind empty streams.
2164
2165 2006-03-14  Wim Taymans  <wim@fluendo.com>
2166
2167         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2168         (gst_base_sink_do_qos):
2169         Separate QoS calculation.
2170         Only drop buffers when lateness is bigger than the 
2171         duration of the buffer.
2172
2173 2006-03-13  Wim Taymans  <wim@fluendo.com>
2174
2175         * gst/gstpipeline.c: (gst_pipeline_set_property),
2176         (gst_pipeline_get_property), (do_pipeline_seek),
2177         (gst_pipeline_change_state), (gst_pipeline_set_delay),
2178         (gst_pipeline_get_delay):
2179         Don't deadlock when reading properties.
2180
2181 2006-03-13  Wim Taymans  <wim@fluendo.com>
2182
2183         * libs/gst/base/gstbasetransform.c:
2184         (gst_base_transform_class_init), (gst_base_transform_init),
2185         (gst_base_transform_sink_event),
2186         (gst_base_transform_sink_eventfunc),
2187         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2188         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2189         (gst_base_transform_set_property),
2190         (gst_base_transform_get_property),
2191         (gst_base_transform_change_state), (gst_base_transform_update_qos),
2192         (gst_base_transform_set_qos_enabled),
2193         (gst_base_transform_is_qos_enabled):
2194         * libs/gst/base/gstbasetransform.h:
2195         Make basetransform virtual method for src events too.
2196         Handle QOS in basetransform.
2197         API: gst_base_transform_update_qos()
2198         API: gst_base_transform_set_qos_enabled()
2199         API: gst_base_transform_is_qos_enabled()
2200
2201 2006-03-13  Wim Taymans  <wim@fluendo.com>
2202
2203         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2204         (gst_base_sink_do_sync):
2205         Small cleanups.
2206         Use QOS debug category.
2207
2208 2006-03-13  Wim Taymans  <wim@fluendo.com>
2209
2210         * plugins/elements/gstqueue.c:
2211         Very small doc update.
2212
2213 2006-03-13  Wim Taymans  <wim@fluendo.com>
2214
2215         * gst/gst_private.h:
2216         * gst/gstinfo.c: (_gst_debug_init):
2217         Added QOS debug category
2218
2219 2006-03-13  Wim Taymans  <wim@fluendo.com>
2220
2221         * docs/gst/gstreamer-sections.txt:
2222         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2223         * gst/gstbin.h:
2224         * gst/gstbus.c: (gst_bus_class_init):
2225         * gst/gstbus.h:
2226         * gst/gstclock.c:
2227         * gst/gstelement.c: (gst_element_set_locked_state):
2228         * gst/gstsegment.c:
2229         Documentation updates.
2230
2231         * gst/gstpipeline.c: (gst_pipeline_get_type),
2232         (gst_pipeline_class_init), (gst_pipeline_init),
2233         (gst_pipeline_dispose), (gst_pipeline_set_property),
2234         (gst_pipeline_get_property), (do_pipeline_seek),
2235         (gst_pipeline_send_event), (gst_pipeline_change_state),
2236         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2237         (gst_pipeline_get_delay):
2238         * gst/gstpipeline.h:
2239         Added methods for setting the delay.
2240         API: gst_pipeline_set_delay()
2241         API: gst_pipeline_get_delay()
2242         Add pipeline debug category
2243         Various cleanups.
2244         Updated docs.
2245         Don't reset stream time when seek failed.
2246
2247 2006-03-13  Wim Taymans  <wim@fluendo.com>
2248
2249         * docs/design/draft-klass.txt:
2250         * docs/design/part-clocks.txt:
2251         * docs/design/part-events.txt:
2252         * docs/design/part-gstbin.txt:
2253         * docs/design/part-gstpipeline.txt:
2254         * docs/design/part-messages.txt:
2255         * docs/design/part-negotiation.txt:
2256         * docs/design/part-overview.txt:
2257         * docs/design/part-preroll.txt:
2258         * docs/design/part-seeking.txt:
2259         * docs/design/part-states.txt:
2260         * docs/design/part-streams.txt:
2261         Documentation updates.
2262
2263 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2264
2265         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2266         us to leak strings...
2267
2268 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2269
2270         * libs/gst/net/gstnettimeprovider.c:
2271           fix docs
2272         * win32/common/config.h:
2273           update
2274
2275 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2276
2277         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2278
2279         * configure.ac:
2280           Don't check for libgnomeui (leftover from old examples
2281           that aren't built or disted any longer) (#334303).
2282           
2283 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2284
2285         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2286         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2287           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2288           there's no space left on the device.
2289
2290 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2291
2292         * gst/gstclock.h:
2293           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2294           to cast the input to GstClockTime before comparing with
2295           another GstClockTime value.
2296
2297 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2298
2299         * configure.ac:
2300           back to trunk
2301
2302 === release 0.10.4 ===
2303
2304 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2305
2306         * configure.ac:
2307           releasing 0.10.4, "Light"
2308
2309 2006-03-10  Michael Smith  <msmith@fluendo.com>
2310
2311         * libs/gst/dataprotocol/dataprotocol.c:
2312           Fix docs for dataprocotol to not get the return types completely
2313           wrong for a few functions.
2314
2315 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2316
2317         * docs/gst/gstreamer-sections.txt:
2318         * gst/gstpipeline.c: (gst_pipeline_class_init),
2319         (gst_pipeline_init), (gst_pipeline_set_property),
2320         (gst_pipeline_get_property), (gst_pipeline_change_state),
2321         (gst_pipeline_set_auto_flush_bus),
2322         (gst_pipeline_get_auto_flush_bus):
2323         * gst/gstpipeline.h:
2324           Add new API: gst_pipeline_set_auto_flush_bus() and
2325           gst_pipeline_get_auto_flush_bus() to disable automatic
2326           flushing of the pipeline's GstBus when going from READY
2327           to NULL state (#332045).
2328
2329 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2330
2331         * docs/gst/gstreamer-sections.txt:
2332         * gst/gsturi.c: (gst_uri_has_protocol):
2333         * gst/gsturi.h:
2334            Add new API: gst_uri_has_protocol() (#333779).
2335
2336 2006-03-09  Wim Taymans  <wim@fluendo.com>
2337
2338         * gst/gstclock.c: (gst_clock_entry_new),
2339         (gst_clock_id_compare_func), (gst_clock_id_wait),
2340         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2341         (gst_clock_init), (gst_clock_get_internal_time),
2342         (gst_clock_set_master), (do_linear_regression),
2343         (gst_clock_add_observation), (gst_clock_set_property):
2344         * gst/gstclock.h:
2345         Review docs.
2346         Small cleanups.
2347         Fix a possible segfault when the window-size is made smaller.
2348         Calculate jitter before performing the clock wait. Ideally
2349         the clock implementation should calculate jitter but we need
2350         API breakage for that.
2351
2352         * gst/gstsystemclock.c: (gst_system_clock_init):
2353         Docs review.
2354         
2355         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2356         Remove leftover else
2357
2358         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2359         (gst_systemclock_suite):
2360         Added check to test GST_CLOCK_DIFF.
2361
2362 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2363
2364         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2365         (gst_type_find_helper_get_range):
2366           If we are provided with the size, we should implement
2367           GstTypeFind::get_length, so that typefind functions who
2368           want to can actually peek at the middle of a file.
2369
2370 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2371
2372         * docs/manual/advanced-dataaccess.xml:
2373           Add some very very basic error checking.
2374
2375         * docs/pwg/appendix-checklist.xml:
2376           Some updates to the list of things to check when writing an element.
2377
2378 2006-03-08  Wim Taymans  <wim@fluendo.com>
2379
2380         * docs/design/part-element-transform.txt:
2381         Added some docs about the design of tranform elements.
2382
2383         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2384         (gst_base_src_loop), (gst_base_src_change_state):
2385         Mark buffers with the DISCONT flag.
2386
2387 2006-03-08  Michael Smith  <msmith@fluendo.com>
2388
2389         * gst/gstregistry.h:
2390         * gst/gstregistryxml.c: (gst_registry_save),
2391         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2392         (gst_registry_xml_save_pad_template),
2393         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2394         (gst_registry_xml_write_cache):
2395           Rewrite registry-saving to avoid race conditions and check for
2396           failed writes.
2397
2398 2006-03-08  Wim Taymans  <wim@fluendo.com>
2399
2400         * libs/gst/base/gstbasetransform.c:
2401         (gst_base_transform_transform_caps),
2402         (gst_base_transform_transform_size),
2403         (gst_base_transform_prepare_output_buffer),
2404         (gst_base_transform_get_unit_size),
2405         (gst_base_transform_buffer_alloc),
2406         (gst_base_transform_handle_buffer),
2407         (gst_base_transform_change_state):
2408         Cleanups, separate normal flow from errors, add sensible
2409         DEBUG lines.
2410         Don't try to renegotiate when allocating an output buffer.
2411         Also copy DISCONT buffer flag when copying a buffer.
2412         Reset the transform after we finish streaming, not during.
2413
2414 2006-03-08  Wim Taymans  <wim@fluendo.com>
2415
2416         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2417         Use last buffer timestamp in qos message.
2418
2419 2006-03-07  Wim Taymans  <wim@fluendo.com>
2420
2421         Patch by: Christophe Fergeau
2422
2423         * docs/pwg/advanced-tagging.xml:
2424         * docs/pwg/building-pads.xml:
2425           fixes #333416
2426
2427 2006-03-07  Wim Taymans  <wim@fluendo.com>
2428
2429         * docs/libs/gstreamer-libs-sections.txt:
2430         Added basesink new methods.
2431
2432         * gst/gstevent.c:
2433         * gst/gstevent.h:
2434         Docs updates. Flesh out the QoS docs.
2435
2436         * libs/gst/base/gstadapter.c:
2437         Small doc clarification about ownership and flushing.
2438
2439         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2440         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2441         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2442         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2443         * libs/gst/base/gstbasesink.h:
2444         API additions: 
2445         Added new methods to allow subclass to control max-lateness 
2446         and sync.
2447         Generate very basic QoS events based on last sync observation.
2448         Updated docs, fix typo, added some QoS blurb.
2449
2450         * libs/gst/base/gstbasesrc.c:
2451         Remove obsolete _get_state() calls from docs.
2452
2453 2006-03-07  Wim Taymans  <wim@fluendo.com>
2454
2455         * docs/libs/gstreamer-libs-sections.txt:
2456         * libs/gst/base/gstbasetransform.h:
2457         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
2458         Fix docs for GstBaseSrc.
2459
2460 2006-03-07  Wim Taymans  <wim@fluendo.com>
2461
2462         * docs/gst/gstreamer-sections.txt:
2463         * gst/gstbuffer.h:
2464         * gst/gstvalue.c:
2465         * libs/gst/base/gstbasetransform.h:
2466         Small documentation fixes.
2467
2468 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2469
2470         * gst/gstvalue.c:
2471           Document thread-unsafety of gst_value_register_foo_func()
2472           when used at the same time as gst_value_foo() (#322628).
2473
2474 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2475
2476         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
2477         (gst_push_src_check_get_range):
2478           Push sources don't support pull mode by default.
2479
2480 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2481
2482         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2483         (gst_base_src_init), (gst_base_src_pad_check_get_range),
2484         (gst_base_src_default_check_get_range):
2485         * libs/gst/base/gstbasesrc.h:
2486           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
2487           provide default implementation, and rename
2488           gst_base_src_check_get_range() to
2489           gst_base_src_pad_check_get_range() for clarity.
2490
2491 2006-03-06  Wim Taymans  <wim@fluendo.com>
2492
2493         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2494         Make property overridable.
2495
2496 2006-03-06  Wim Taymans  <wim@fluendo.com>
2497
2498         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2499         (gst_base_sink_init), (gst_base_sink_set_property),
2500         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2501         * libs/gst/base/gstbasesink.h:
2502         API addition: Make max-lateness a property.
2503
2504 2006-03-06  Wim Taymans  <wim@fluendo.com>
2505
2506         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
2507         (gst_base_sink_do_sync), (gst_base_sink_render_object):
2508         Don't ever draw a frame that is >10ms late.
2509
2510 2006-03-06  Michael Smith  <msmith@fluendo.com>
2511
2512         * gst/gstmessage.c: (_gst_message_copy):
2513           When copying a message, set the parent_refcount of the enclosed
2514           structure to point at the copy, not the original message.
2515
2516 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2517
2518         Patch by: Christophe Fergeau
2519
2520         * gst/gstutils.h:
2521           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
2522           usable in c++ code (#333417)
2523
2524 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2525
2526         * gst/gstclock.h:
2527           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2528
2529 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
2530
2531         * libs/gst/base/gstbasetransform.c:
2532         (gst_base_transform_transform_caps):
2533           Make sure caps are writable before passing them to
2534           gst_caps_append().
2535
2536 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2537
2538         * gst/gsterror.h:
2539           Fix some minor docs errors.
2540
2541 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2542
2543           Patch by: Ross Burton <ross at burtonini dot com>
2544
2545         * gst/gsterror.c: (_gst_resource_errors_init):
2546         * gst/gsterror.h:
2547           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
2548
2549 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2550
2551         * gst/gst.c:
2552         Add a check and output a g_warning when GStreamer is built
2553         against GLib 2.6 but running against 2.8 or higher, and vice 
2554         versa. (Closes: #323542)
2555
2556 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2557
2558         * gst/parse/parse.l:
2559           Commit patch for parse_launch syntax from #331255. Removes 
2560           support for quoted strings and mimetypes when writing filtered 
2561           caps. See the bug report for more details - I'm pretty sure this
2562           obscure feature is not in use by _anyone_ anywhere.
2563
2564           With this simple change, the size of the gstreamer.so here 
2565           drops from 2193KB to 1565KB.
2566
2567 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2568
2569         * plugins/elements/gsttypefindelement.h:
2570         * plugins/elements/gsttypefindelement.c:
2571         (gst_type_find_element_src_event), (start_typefinding),
2572         (stop_typefinding), (gst_type_find_element_handle_event),
2573         (gst_type_find_element_chain),
2574         (gst_type_find_element_chain_do_typefinding):
2575           Use gst_type_find_helper_for_buffer() for chain-based
2576           typefinding.
2577
2578 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2579
2580         * plugins/elements/gsttypefindelement.c:
2581         (gst_type_find_element_class_init),
2582         (gst_type_find_element_set_property),
2583         (gst_type_find_element_get_property):
2584           Deprecate "maximum" property (not only was it only taken into
2585           account for typefinding in push-mode anyway, it also was never
2586           actually possible to set it in the first place because the
2587           property was registered with the numeric property ID for the
2588           "minimum" property). Register "maximum" property correctly,
2589           for the sake of future copy'n'pasters. Remove some cruft
2590           from property get/set functions.
2591
2592 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2593
2594         * plugins/elements/gsttypefindelement.c:
2595         (gst_type_find_element_activate):
2596           Use gst_type_find_helper_get_range() here, so we
2597           can honour the "minimum" property and also emit
2598           the signal with the correct probability of the found caps.
2599
2600 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
2601
2602         * docs/libs/gstreamer-libs-sections.txt:
2603         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2604         (helper_find_suggest), (gst_type_find_helper_get_range),
2605         (gst_type_find_helper):
2606         * libs/gst/base/gsttypefindhelper.h:
2607           New API: gst_type_find_helper_get_range() (#333042).
2608
2609 2006-03-02  Michael Smith  <msmith@fluendo.com>
2610
2611         * gst/gstregistryxml.c: (load_feature):
2612           Asserting on a failure to read part of the registry is Not Cool.
2613           Just log a warning and return NULL (which is already handled)
2614
2615 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
2616
2617         * win32/common/libgstbase.def:
2618           added export of gst_type_find_helper_for_buffer
2619         * win32/common/libgstbase.def:
2620           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
2621           gst_ghost_pad_get_target
2622
2623 2006-02-28  Wim Taymans  <wim@fluendo.com>
2624
2625         * docs/design/draft-klass.txt:
2626         We use Filter now.
2627         Added Connector to mark elements that are only used to
2628         allow pipeline connections.
2629         Moved Debug to extra feature since most of them are 
2630         functionally something else.
2631
2632 2006-02-28  Wim Taymans  <wim@fluendo.com>
2633
2634         * docs/design/draft-klass.txt:
2635         Some updates and clarifications.
2636
2637 2006-02-28  Wim Taymans  <wim@fluendo.com>
2638
2639         * docs/design/draft-klass.txt:
2640         Proposal for klass field values.
2641
2642         * docs/design/part-streams.txt:
2643         Start of a doc describing stream anatomy.
2644
2645 2006-02-28  Wim Taymans  <wim@fluendo.com>
2646
2647         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
2648         Help the compiler a bit with type registration.
2649         Use existing forward cod path instead of duplicating it when 
2650         handling a message.
2651         
2652         * gst/gstbus.c: (gst_bus_get_type):
2653         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
2654         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
2655         * gst/gstclock.c: (gst_clock_get_type):
2656         * gst/gstelement.c: (gst_element_get_type),
2657         * gst/gstelementfactory.c: (gst_element_factory_get_type):
2658         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2659         * gst/gstminiobject.c: (gst_mini_object_get_type):
2660         * gst/gstpad.c: (gst_pad_get_type):
2661         * gst/gstsegment.c: (gst_segment_get_type):
2662         * gst/gststructure.c: (gst_structure_get_type):
2663         * gst/gstsystemclock.c: (gst_system_clock_get_type):
2664         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
2665         * gst/gstvalue.c:
2666         Help compiler with type registration.
2667
2668         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2669         Small doc update.
2670
2671 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2672
2673         * plugins/elements/gsttypefindelement.c:
2674         (gst_type_find_element_handle_event):
2675           When we get an EOS event and have not found a type yet
2676           (most likely because we had not yet accumulated
2677           TYPE_FIND_MIN_SIZE of data yet), try to determine the
2678           type given the data we have so far. Fixes typefinding
2679           for very short streams again, most notably quicktime
2680           redirections as used on Apple's trailer site (#331701).
2681
2682 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2683
2684         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
2685         (gst_type_find_helper):
2686           Try typefinding factories with the highest rank first.
2687
2688 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2689
2690         * docs/libs/gstreamer-libs-docs.sgml:
2691         * docs/libs/gstreamer-libs-sections.txt:
2692         * libs/gst/base/gsttypefindhelper.c:
2693           Add section for typefind helper and add documentation
2694           for the old and the new function.
2695
2696 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2697
2698         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
2699         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
2700         (gst_type_find_helper_for_buffer):
2701         * libs/gst/base/gsttypefindhelper.h:
2702           New API: gst_type_find_helper_for_buffer() (#332723).
2703           
2704 2006-02-27  Michael Smith  <msmith@fluendo.com>
2705
2706         Patch by: Loïc Minier
2707
2708         * configure.ac:
2709         * docs/Makefile.am:
2710         * docs/slides/Makefile.am:
2711           prevent CVS directories getting disted.
2712
2713 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2714
2715         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
2716           Use the REFCOUNTING category for caps refcounting.
2717           
2718 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2719
2720         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2721           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
2722
2723 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2724
2725         * plugins/elements/gsttypefindelement.c:
2726         (gst_type_find_element_activate):
2727           Use gst_pad_check_pull_range() before _activate_pull()
2728           to avoid unnecessary open/close (see #331690).
2729
2730 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2731
2732         * gst/gstutils.c:
2733           Docs enhancement: make it crystal clear what the
2734           gst_pad_add_*_probe() callbacks should look like.
2735
2736 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2737
2738         * libs/gst/base/gstbasesrc.c:
2739           Document how applications can stop recording from
2740           live sources (see #330996).
2741
2742 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2743
2744         * tests/check/Makefile.am:
2745         * tests/check/libs/basesrc.c: (eos_event_counter),
2746         (basesrc_eos_events_pull), (basesrc_eos_events_push),
2747         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
2748         (gst_basesrc_suite), (main):
2749           ... and add some tests for the base source EOS stuff.
2750
2751 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2752
2753         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
2754           Test case originally showed the problem fixed below,
2755           but was then amended. Add checks back at the place
2756           where they used to be.
2757
2758 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2759
2760         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2761         (gst_base_src_init), (gst_base_src_loop),
2762         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2763         (gst_base_src_change_state):
2764         * libs/gst/base/gstbasesrc.h:
2765           Don't unconditionally send EOS when going from PAUSED to
2766           READY state, esp. make sure we don't send two EOS events
2767           in some cases (e.g. one when reaching EOS and one when
2768           going from PAUSED to READY). Also, we don't want to send
2769           EOS events when operating in pull mode. However, we do
2770           want to send an EOS event when shutting down a live
2771           source explicitly, for example (fixes #330996).
2772           
2773 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2774
2775         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2776           Update src->read_position after a seek when not using mmap.
2777           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
2778
2779 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
2780
2781         * gst/Makefile.am:
2782         * gst/gstparse.h:
2783         * gst/gstutils.c:
2784         * gst/gstutils.h:
2785         Make things work with --disable-parse as they do with 
2786         --disable-load-save - the symbols involved disappear, but the
2787         header is still installed and GST_DISABLE_PARSE is included via
2788         gstconfig.h
2789
2790 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2791
2792         * libs/gst/base/gstbasetransform.c:
2793         (gst_base_transform_change_state): Fix a stupid bug. I was 
2794         sure I compiled that.
2795
2796 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2797
2798         * gst/gstpad.c: (gst_pad_set_blocked_async):
2799         * gst/gstutils.c: (gst_pad_add_data_probe),
2800         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2801         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2802         (gst_pad_remove_buffer_probe): Make those function act on the
2803         ghostpad target when it's a ghostpad. (Closes #331727)
2804
2805 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2806
2807         * libs/gst/base/gstbasetransform.c:
2808         (gst_base_transform_change_state): Make basetransform reusable.
2809         (Closes #331898)
2810
2811 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
2812
2813         * docs/random/release:
2814         Move the current documentation of how to do a release to the top
2815         of the file.
2816
2817         * gst/gstbin.c: (gst_bin_class_init),
2818         (gst_bin_handle_message_func):
2819         Allow multiple state-recalculation threads. (Closes #328873)
2820
2821 2006-02-19  Julien MOUTTE  <julien@moutte.net>
2822
2823         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
2824         * gst/gstpad.c: (gst_pad_set_event_function),
2825         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2826         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
2827         2 strings. You can't use the STR_NULL macro on that.
2828
2829 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
2830
2831         * gst/gstpad.c: (gst_pad_set_event_function),
2832         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2833         (gst_pad_set_getcaps_function)
2834         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
2835           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
2836           So now, we can use --gst-debug-level=5 on Windows
2837         * win32/common/libgstcontroller.def:
2838           Added export of gst_controller_init
2839         * win32/vs6/libgstcontroller.dsp:
2840           Fixed Release post build configuration
2841
2842 2006-02-17  Wim Taymans  <wim@fluendo.com>
2843
2844         * tests/check/gst/gstquery.c: (GST_START_TEST):
2845         Added another check.
2846
2847 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
2848
2849         * plugins/elements/gsttypefindelement.c: (find_peek):
2850           We can do peeks at non-zero offsets, as long as they
2851           fall within the buffer we have.
2852
2853 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
2854
2855         * tests/check/Makefile.am:
2856         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
2857         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
2858         (parse_suite), (main):
2859           Add testsuite for parse launch syntax
2860
2861 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
2862
2863         * plugins/elements/gsttypefindelement.c:
2864         (gst_type_find_element_chain):
2865           When typefinding is unsuccessful in the chain function, don't
2866           error out immediately. Only error out with NO_CAPS_FOUND if
2867           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
2868           otherwise simply wait for more data so we can try typefinding
2869           again with more data later. Also, don't attempt to typefind
2870           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
2871           this should improve typefinding from network sources where the
2872           size of the first buffer can be somewhat random.
2873
2874 2006-02-14  Wim Taymans  <wim@fluendo.com>
2875
2876         * docs/gst/gstreamer-sections.txt:
2877         * gst/gstpadtemplate.c:
2878         * gst/gstpadtemplate.h:
2879         Fix padtemplate docs, fixes #328805.
2880
2881 2006-02-14  Wim Taymans  <wim@fluendo.com>
2882
2883         * tools/gst-launch.c: (main):
2884         NO_PREROLL is not an ERROR so don't send confusing messages
2885         to the user.
2886
2887 2006-02-14  Wim Taymans  <wim@fluendo.com>
2888
2889         Patch by: Torsten Schoenfeld
2890
2891         * gst/gstregistry.c: (gst_registry_get_default),
2892         (_gst_registry_cleanup):
2893         Protect default registry with lock and ref/sink it.
2894         Fixes #324818
2895
2896 2006-02-14  Wim Taymans  <wim@fluendo.com>
2897
2898         * gst/gstbuffer.c:
2899         * gst/gstquery.c: (gst_query_list_add_format),
2900         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2901         (gst_query_parse_formats_nth):
2902         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2903         Docs fixes.
2904
2905 2006-02-14  Wim Taymans  <wim@fluendo.com>
2906
2907         * docs/gst/gstreamer-sections.txt:
2908         Reworked query docs.
2909
2910         * gst/gstquery.c: (gst_query_new_formats),
2911         (gst_query_list_add_format), (gst_query_set_formats),
2912         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2913         (gst_query_parse_formats_nth):
2914         * gst/gstquery.h:
2915         Flesh out formats query, added some new methods.
2916         Fix part of #324398.
2917
2918         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
2919         Added query creation tests.
2920
2921 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
2922
2923         * gst/gstpad.c: (fixate_value):
2924         Add a default fixation for fraction lists.
2925
2926 2006-02-13  Wim Taymans  <wim@fluendo.com>
2927
2928         * gst/gsttask.c: (gst_task_init), (gst_task_func),
2929         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
2930         (gst_task_join):
2931         * gst/gsttask.h:
2932         Detect and warn for obvious deadlocks. fixes #320340
2933         Fix error case where lock was not released.
2934
2935         * tests/check/Makefile.am:
2936         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
2937         (task_func), (gst_element_suite), (main):
2938         Add task check.
2939
2940 2006-02-13  Wim Taymans  <wim@fluendo.com>
2941
2942         * docs/gst/gstreamer-sections.txt:
2943         * gst/gstbus.c:
2944         Add new functions to docs.
2945
2946 2006-02-13  Wim Taymans  <wim@fluendo.com>
2947
2948         * docs/design/part-TODO.txt:
2949         Updated TODO list, basesrc supports seeking to non-bytes
2950         formats.
2951
2952         * docs/design/part-element-sink.txt:
2953         Update docs.
2954
2955         * gst/gstbin.c: (bin_replace_message),
2956         (gst_bin_handle_message_func):
2957         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
2958         * gst/gstevent.c: (gst_event_finalize):
2959         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2960         (gst_pad_send_event):
2961         Use shiny new _TYPE_NAME macros.
2962
2963         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
2964         Move debug statement up.
2965
2966         * gst/gstelement.c: (gst_element_set_locked_state):
2967         Add some debugging.
2968
2969 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
2970
2971         * docs/gst/gstreamer-sections.txt:
2972         * gst/gstmessage.h:
2973         * gst/gstquery.h:
2974           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
2975           macros (#330906). Also, document the already existing
2976           GST_QUERY_TYPE macro.
2977
2978 2006-02-13  Wim Taymans  <wim@fluendo.com>
2979
2980         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
2981         (event_probe), (GST_START_TEST):
2982         Only events up to the pipeline EOS are counted, there are
2983         some more when going to NULL currently which we don't care
2984         about for now.
2985
2986 2006-02-13  Wim Taymans  <wim@fluendo.com>
2987
2988         * gst/gstpad.c: (gst_pad_send_event):
2989         Correctly check flushing and emit probes. fixes #330125
2990
2991 2006-02-10  Andy Wingo  <wingo@pobox.com>
2992
2993         * gst/gstbus.c (gst_bus_class_init): Declare our private data
2994         structure.
2995         (gst_bus_init): Cache the location of the private data in the
2996         instance structure.
2997         (gst_bus_enable_sync_message_emission) 
2998         (gst_bus_disable_sync_message_emission): Implement new public
2999         functions.
3000         (gst_bus_post): Emit the sync-message signal if the user asked for
3001         it. Fixes #330684.
3002
3003         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3004         location of the bus-private structure.
3005         (gst_bus_enable_sync_message_emission)
3006         (gst_bus_disable_sync_message_emission): API addition
3007
3008 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3009
3010         Patch by: Vincent Torri
3011
3012         * docs/pwg/building-boiler.xml:
3013         PWG patch from #326800
3014
3015 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3016
3017         * configure.ac:
3018         * docs/Makefile.am:
3019         * docs/design/Makefile.am:
3020           Dist design docs.
3021
3022 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3023
3024         * configure.ac:
3025           back to CVS
3026
3027 === release 0.10.3 ===
3028
3029 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3030
3031         * configure.ac:
3032           releasing 0.10.3, "Like a virgin"
3033
3034 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3035
3036         * configure.ac:
3037           2nd prerelease of 0.10.3
3038           Bump libtool versioning.
3039
3040 2006-02-07  Andy Wingo  <wingo@pobox.com>
3041
3042         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3043         update last_stop if we're in TIME format and the timestamp is
3044         valid.
3045
3046         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
3047         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
3048         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3049         If we get a new newsegment with a different format, adapt
3050         accordingly.
3051
3052         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3053         of 0. Not a problem, really.
3054
3055         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3056         warn if sync=true.
3057
3058 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
3059
3060         * configure.ac:
3061           Prelease of 0.10.3
3062
3063 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
3064
3065         * win32/vs7:
3066           project files updated to the default vs7 configuration
3067         * win32/common/libgstbase.def:
3068         * win32/common/libgstreamer.def:
3069           added new symbols,
3070           removed empty lines,
3071           sorted all exported symbols alphabetically
3072         * win32/common/dirent.c:
3073         * win32/common/dirent.h:
3074         * win32/common/gchar.h:
3075           use windows line end.
3076           
3077 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3078
3079         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3080           Send EOS event when stopping.
3081
3082 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3083
3084         * docs/README:
3085           Tell folks what to do if the plugin-foobar.xml file
3086           hasn't been generated for a newly-added plugin.
3087
3088 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3089
3090         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3091         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3092         (gst_collect_pads_start), (gst_collect_pads_stop),
3093         (gst_collect_pads_event): Collectpads now holds a reference
3094         to the GstPad that was added. Indeed we don't want to look
3095         at pads that might just go away with no warning...
3096
3097 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3098
3099         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3100         (gst_collect_pads_start), (gst_collect_pads_stop),
3101         (gst_collect_pads_event), (gst_collect_pads_chain):
3102         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3103         Mark Nauwelaerts's patch on bug #328491.
3104
3105 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3106
3107         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3108         (gst_utils_suite):
3109           Add some simple tests for gst_parse_bin_from_description() and
3110           gst_bin_find_unconnected_pad() (#329069).
3111
3112 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3113
3114         * tools/gst-launch.c: (event_loop), (main):
3115           Catch errors during preroll (#320084).
3116
3117 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
3118
3119         * plugins/elements/gsttypefindelement.c:
3120         (gst_type_find_element_activate):
3121           Post TYPE_NOT_FOUND error message when typefinding
3122           is unsuccessful in the activate function as well.
3123
3124 2006-02-02  Wim Taymans  <wim@fluendo.com>
3125
3126         * docs/design/part-element-sink.txt:
3127         Updated doc.
3128
3129 2006-02-02  Wim Taymans  <wim@fluendo.com>
3130
3131         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3132         (gst_base_sink_render_object),
3133         (gst_base_sink_queue_object_unlocked):
3134         Only keep track of prerollable items when we are 
3135         prerolling.
3136         Before rendering after preroll, always check if we
3137         have queued items.
3138         Added some more debugging.
3139
3140 2006-02-02  Wim Taymans  <wim@fluendo.com>
3141
3142         * gst/gstelement.c: (gst_element_continue_state),
3143         (gst_element_set_state_func), (gst_element_change_state):
3144         Fixed #326576, been running this for quite some time with
3145         no regressions at all.
3146
3147 2006-02-02  Wim Taymans  <wim@fluendo.com>
3148
3149         * common/gst.supp:
3150         Added more suppressions
3151
3152 2006-02-02  Wim Taymans  <wim@fluendo.com>
3153
3154         * docs/design/part-element-sink.txt:
3155         Updated document.
3156
3157         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3158         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3159         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3160         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3161         (gst_base_sink_do_sync), (gst_base_sink_render_object),
3162         (gst_base_sink_preroll_object),
3163         (gst_base_sink_queue_object_unlocked),
3164         (gst_base_sink_queue_object), (gst_base_sink_event),
3165         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3166         (gst_base_sink_loop), (gst_base_sink_activate_pull),
3167         (gst_base_sink_get_position), (gst_base_sink_change_state):
3168         * libs/gst/base/gstbasesink.h:
3169         Totally refactored matching the design doc.
3170         Use two segments, one to clip incomming buffers and another to
3171         perform sync.
3172         Handle queueing correctly, bypass the queue when playing.
3173         Make EOS cancelable.
3174         Handle errors correctly when operating in pull based mode.
3175
3176         * tests/check/elements/fakesink.c: (GST_START_TEST),
3177         (fakesink_suite):
3178         Added new check for sinks.
3179
3180 2006-02-02  Wim Taymans  <wim@fluendo.com>
3181
3182         * gst/gstsegment.c: (gst_segment_clip):
3183         No reason to refuse to clip when start == -1
3184
3185 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
3186
3187         * docs/README:
3188         * docs/manual/intro-basics.xml:
3189         * docs/manual/intro-preface.xml:
3190         * docs/manual/manual.xml:
3191         * docs/pwg/advanced-dparams.xml:
3192         * docs/pwg/intro-basics.xml:
3193         * docs/pwg/intro-preface.xml:
3194         * docs/pwg/pwg.xml:
3195           describe dparams (controller) for plugins
3196           unify docs a little more
3197
3198 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
3199
3200         * docs/gst/gstreamer-sections.txt:
3201         * gst/gstutils.c: (element_find_unconnected_pad),
3202         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3203         * gst/gstutils.h:
3204           Add new API: gst_parse_bin_from_description() and
3205           gst_bin_find_unconnected_pad() (#329069).
3206
3207 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
3208
3209         * docs/manual/README:
3210           uncover a nasty detail of the docs build
3211
3212 2006-01-31  Wim Taymans  <wim@fluendo.com>
3213
3214         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3215         Don't cache duration messages if we're not going to use or
3216         free them.
3217
3218 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
3219
3220         * docs/manual/advanced-dparams.xml:
3221         * docs/pwg/advanced-dparams.xml:
3222           more dparam docs
3223         * gst/gstindex.c:
3224           fix docs
3225         * libs/gst/controller/lib.c: (gst_controller_init):
3226           init just once
3227
3228 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3229
3230         * gst/gstelement.c: (gst_element_message_full):
3231           also show file/line/func if no additional debug was given
3232
3233 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
3234         
3235         * win32/vs7/grammar.vcproj:
3236           activate copy of autogenerated files for Release mode
3237
3238 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3239         
3240         * win32/common/libgstreamer.def:
3241           export gst_value_compare
3242
3243 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3244
3245         * plugins/elements/Makefile.am:
3246         * plugins/elements/gstelements.c:
3247         * plugins/elements/gstfdsink.c: (_do_init),
3248         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3249         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3250         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3251         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3252         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3253         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3254         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3255         * plugins/elements/gstfdsink.h:
3256         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3257
3258 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3259
3260         * docs/manual/advanced-dparams.xml:
3261           describe controller
3262         * docs/manual/advanced-position.xml:
3263         * docs/manual/basics-init.xml:
3264         * docs/manual/manual.xml:
3265         * docs/manual/titlepage.xml:
3266         * docs/pwg/pwg.xml:
3267         * docs/pwg/titlepage.xml:
3268           cleanup xml (more to come)
3269         * libs/gst/controller/gstcontroller.c:
3270           fix typo
3271
3272 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3273         
3274         * win32/vs6/grammar.dsp:
3275           add autogen of gstmarshal.c,h for Release mode
3276                 
3277 2006-01-30  Wim Taymans  <wim@fluendo.com>
3278
3279         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3280         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3281         (gst_base_sink_handle_object), (gst_base_sink_event),
3282         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3283         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3284         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3285         (gst_base_sink_deactivate), (gst_base_sink_activate),
3286         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3287         (gst_base_sink_query), (gst_base_sink_change_state):
3288         Basesink cleanups, remove some old code.
3289         Handle the case where a subclass can preroll in the render
3290         method (mostly audiosinks).
3291         Handle more events.
3292         Remove some locks around variables that are now protected
3293         with the PREROLL_LOCK (clock_id, flushing, ..).
3294         Optimize position query some more, do correct locking.
3295         Remove old code to push queue in state change, this is not
3296         needed anymore since preroll blocks on all prerollable items 
3297         now.
3298         Almost implemented as described in design doc.
3299
3300 2006-01-30  Wim Taymans  <wim@fluendo.com>
3301
3302         * tests/check/gst/gstbin.c: (GST_START_TEST):
3303         Wait for refcount to settle down before checking.
3304
3305 2006-01-30  Wim Taymans  <wim@fluendo.com>
3306
3307         * docs/design/part-element-sink.txt:
3308         Pseudo code overview of desired sink behaviour regarding
3309         preroll.
3310
3311 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3312         * win32/vs6/grammar.dsp:
3313           fix some bugs in Release mode for autogenerated files
3314                 
3315 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3316         * win32/common/libgstbase.def:
3317         * win32/common/libgstreamer.def:
3318           export some new symbols: gst_base_src_set_format,
3319           gst_iterator_next, gst_structure_set_valist
3320
3321 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3322
3323         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3324         Set pad functions unconditionally. Fixes #329105.
3325
3326 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3327         * win32/vs8:
3328           add vs8 project files created by Sergey Scobich
3329
3330 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3331
3332         * gst/gstutils.c: (gst_element_unlink_pads):
3333         Don't leak pad references.
3334
3335         * tests/check/elements/fakesink.c: (GST_START_TEST):
3336         * tests/check/generic/sinks.c: (GST_START_TEST):
3337         * tests/check/generic/states.c: (GST_START_TEST):
3338         * tests/check/gst/gstbin.c: (GST_START_TEST):
3339         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3340         * tests/check/gst/gstelement.c: (GST_START_TEST):
3341         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3342         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3343         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3344         Fix a bunch of leaks. Make generic/sinks.c
3345         use a bit less cpu by slowing the buffer rate
3346         between fakesrc and fakesink.
3347         
3348 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3349         * gst/gstcaps.c:
3350         * gst/gstelement.c: (gst_element_send_event):
3351         * gst/gstevent.c:
3352         * gst/gstinfo.c:
3353         * gst/gstiterator.c:
3354         * gst/gstiterator.h:
3355         * gst/gstpad.c: (gst_pad_send_event):
3356         * gst/gststructure.c:
3357         * gst/gsturi.c:
3358         * gst/gstutils.c:
3359         * gst/gstvalue.c:
3360         * libs/gst/base/gstadapter.c:
3361           doc fixes, to link to function, just write gst_cool_function(), don't
3362           prefix with '#'
3363
3364 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3365
3366         * plugins/elements/gsttee.c: (gst_tee_do_push),
3367         (gst_tee_handle_buffer):
3368         Always prefer an actual return value from a src
3369         pad in place of NOT_LINKED. This means we return
3370         WRONG_STATE when all src pads are WRONG_STATE
3371         instead of NOT_LINKED.
3372
3373         Lock when replacing the last message to prevent
3374         racing with the get_property method.
3375
3376         Add debug output
3377
3378 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3379
3380         * tests/check/Makefile.am:
3381         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3382         (main):
3383         Add a very simple check that should have caught the memleak I fixed
3384         last night (if not for the slice allocator hiding it)
3385
3386 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3387
3388         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3389         (gst_bin_remove_func), (gst_bin_handle_message_func),
3390         (bin_query_duration_fold), (bin_query_generic_fold):
3391         Clean up references to the clock provider when disposed or when
3392         handling a clock-lost message from it.
3393
3394         Unref sinks when performing a query via gst_iterator_fold, as the
3395         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3396
3397         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3398         (gst_clock_set_master):
3399         Drop our reference to the master clock, if any, when we are disposed.
3400
3401         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3402         Chain up in dispose. 
3403
3404 2006-01-26  Wim Taymans  <wim@fluendo.com>
3405
3406         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3407         Add some debugging.
3408
3409 2006-01-26  Julien MOUTTE  <julien@moutte.net>
3410
3411         * plugins/elements/gsttee.c: (gst_tee_do_push),
3412         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3413         handles pad being NOT_LINKED or in WRONG_STATE.
3414
3415 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3416
3417         * win32/MANIFEST:
3418           more updating
3419
3420 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3421
3422         * win32/MANIFEST:
3423           remove obsolete entry
3424
3425 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3426
3427         * docs/gst/gstreamer-sections.txt:
3428         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3429         (gst_bin_iterate_sources), (gst_bin_send_event):
3430         * gst/gstbin.h:
3431         * gst/gstelement.c: (gst_element_send_event):
3432         * gst/gstevent.c:
3433         * gst/gstpad.c: (gst_pad_send_event):
3434           added code for downstream events, reviewed docs in gstevent.c
3435
3436 2006-01-25  Julien MOUTTE  <julien@moutte.net>
3437
3438         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3439         We only query position using the clock in the playing state.
3440         Query peer in the other cases.
3441         * win32/common/config.h: Updates.
3442
3443 2006-01-24  Wim Taymans  <wim@fluendo.com>
3444
3445         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3446         A clock entry that is scheduled for the exact time of the
3447         clock is still in time.
3448
3449         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3450         (gst_base_sink_do_sync):
3451         Add some more debug info.
3452
3453 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3454
3455         * win32/vs7:
3456           Add new vs7 project files and solution.
3457
3458 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3459
3460         * win32/vs7:
3461           all files removed as they were out-dated.
3462
3463 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3464
3465         * docs/random/release:
3466           update notes
3467         * gst/gstbin.c: (gst_bin_init):
3468         * gst/gstbus.c: (gst_bus_new):
3469         * gst/gstbus.h:
3470         * gst/gstpipeline.c: (gst_pipeline_init):
3471           use gst_bus_new(), improve logging, fix docs
3472         * win32/common/config.h:
3473           update for cvs build
3474
3475 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3476
3477         * autogen.sh:
3478           up required version of automake to 1.7
3479
3480 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
3481
3482         * win32/common/libgstreamer.def:
3483           export gst_buffer_is_metadata_writable
3484
3485 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3486
3487         * docs/gst/gstreamer-sections.txt:
3488         * gst/gstevent.h:
3489           Add gst_event_replace() (#327001)
3490
3491 2006-01-20  Wim Taymans  <wim@fluendo.com>
3492
3493         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3494         Make it actually compile too..
3495
3496 2006-01-20  Wim Taymans  <wim@fluendo.com>
3497
3498         * gst/gstcaps.c:
3499         Clarify behaviour of _is_equal() when passing NULL parameters.
3500
3501         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3502         (gst_pad_set_caps):
3503         Cleanups. Don't unref NULL caps.
3504         When setting the same caps, protect caps of the pad with
3505         proper lock.
3506         Use full functionality of _is_equal() when comparing caps.
3507
3508 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3509
3510         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3511         Don't loop infinitely if there are no buffers to present. Partially
3512         fixes #327197, but collectpads is just broken for reusing elements
3513         to do multiple encodes atm.
3514
3515 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3516
3517         * tools/gst-inspect.c: (print_element_features):
3518         * tools/gst-xmlinspect.c: (main):
3519         URL_HANDLER is not a plugin feature we can search for in
3520         the registry.
3521
3522 2006-01-19  Edward Hervey  <edward@fluendo.com>
3523
3524         * gst/gstelement.c: (gst_element_pads_activate): 
3525         When activating, do src pads first, then sink pads.
3526         When de-activating, do sink pads first, then src pads.
3527
3528 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3529
3530         * docs/gst/gstreamer-sections.txt:
3531         Add gst_index_add_associationv to the docs
3532
3533 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3534
3535         * gst/gstevent.c:
3536           Fix docs typo
3537
3538         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
3539         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
3540           Do some refactoring. Doesn't actually change functionality,
3541           but makes landing the DRAIN event easier later.
3542
3543 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
3544
3545         * docs/pwg/advanced-scheduling.xml:
3546           Update from 0.9.x to 0.10 API and make example a bit
3547           clearer.
3548
3549 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3550
3551         * docs/gst/gstreamer-sections.txt:
3552         Add gst_buffer_(is|make)_metadata_writable methods.
3553
3554 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3555
3556         * docs/design/part-sparsestreams.txt:
3557         Update sparse streams doc, hopefully for greater clarity
3558
3559 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
3560
3561         * docs/design/part-events.txt:
3562         Remove mention of FILLER events.
3563         Add DRAIN event.
3564
3565         * docs/design/part-sparsestreams.txt:
3566         Write some things about using NEWSEGMENT to keep sparse streams
3567         flowing.
3568
3569 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3570
3571         * gst/gstbin.c: (gst_bin_dispose):
3572           Guard gst_object_unref call against a NULL object (dispose
3573           can theoretically be called multiple times).
3574           
3575 2006-01-18  Wim Taymans  <wim@fluendo.com>
3576
3577         * gst/gstbin.c: (gst_bin_element_set_state):
3578         * gst/gstclock.c: (gst_clock_id_wait):
3579         Added some more debug info.
3580
3581         * libs/gst/base/gstadapter.c:
3582         Added more docs.
3583
3584         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3585         (gst_base_sink_do_sync), (gst_base_sink_chain):
3586         Added some comments.
3587
3588 2006-01-18  Wim Taymans  <wim@fluendo.com>
3589
3590         * tests/check/Makefile.am:
3591         * tests/check/elements/fakesink.c: (chain_async_buffer),
3592         (chain_async), (chain_async_return), (GST_START_TEST),
3593         (fakesink_suite), (main):
3594         Added fakesink test that checks prerolling and clipping
3595         behaviour.
3596
3597         * tests/check/gst/gstutils.c: (GST_START_TEST):
3598         Make check run faster so that buildbots don't timeout.
3599
3600 2006-01-18  Wim Taymans  <wim@fluendo.com>
3601
3602         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3603         (gst_base_sink_do_sync):
3604         Some cleanups.
3605         When the sink finishes blocking on the preroll buffer, it can
3606         immediatly render it instead of rendering when the next buffer
3607         arrives.
3608
3609 2006-01-18  Wim Taymans  <wim@fluendo.com>
3610
3611         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
3612         (gst_base_sink_get_property), (gst_base_sink_do_sync),
3613         (gst_base_sink_chain):
3614         Small cleanups.
3615         GST_ELEMENT_CLOCK and sync are protected with LOCK.
3616         Don't store _last_stop if the buffer is dropped.
3617
3618 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3619
3620         * plugins/elements/gsttypefindelement.c:
3621         (gst_type_find_element_class_init):
3622           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
3623           object method handler that sets the caps on the pad and we want
3624           that to happen before we emit the signal (fixes e.g. feeding a
3625           plain text file to decodebin).
3626
3627 2006-01-18  Christian Schaller  <Christian@fluendo.com>
3628
3629         * gst/gstplugin.c: Add MPL and Proprietary as license options
3630
3631 2006-01-18  Andy Wingo  <wingo@pobox.com>
3632
3633         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
3634         symbol was exported before, it appears this was just an oversight.
3635         Fixes #168703.
3636         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
3637
3638         * gst/gstindex.c (gst_index_add_associationv): Changed int in
3639         prototype to gint. OK since this prototype was not in the header.
3640
3641 2006-01-17  Andy Wingo  <wingo@pobox.com>
3642
3643         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
3644         registry while we remove plugins.
3645
3646         * tools/gst-inspect.c (print_element_info): Don't unref the
3647         factory arg, that should be the responsibility of whatever code
3648         received the ref. Fixes a double-free when called from
3649         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
3650         (main): Unref the factory if we have one.
3651         (print_element_list): No change -- relies on the
3652         plugin_feature_list_free to free the list of features.
3653
3654 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
3655
3656         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3657         (gst_buffer_make_metadata_writable):
3658         * gst/gstbuffer.h:
3659         * libs/gst/base/gstbasetransform.c:
3660         (gst_base_transform_prepare_output_buf):
3661         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3662         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3663           Replace gst_buffer_(make|is)_metadata_writable patch now
3664           that the release is out.
3665
3666 2006-01-17  Andy Wingo  <wingo@pobox.com>
3667
3668         * gst/gstregistry.c: Reflow design comment. Update so as to speak
3669         in the present tense without reference to versions.
3670
3671         * gst/gstregistry.c (gst_registry_add_plugin)
3672         (gst_registry_remove_plugin, gst_registry_remove_feature)
3673         (gst_registry_find_feature, gst_registry_get_feature_list)
3674         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
3675         (gst_registry_lookup, gst_registry_scan_path)
3676         (_gst_registry_remove_cache_plugins)
3677         (gst_registry_get_feature_list_by_plugin): Add argument
3678         validation.
3679
3680 === release 0.10.2 ===
3681
3682 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
3683
3684         * configure.ac:
3685           releasing 0.10.2, "If man is five"
3686
3687 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3688
3689         * gst/gstbuffer.c:
3690         * gst/gstbuffer.h:
3691         * libs/gst/base/gstbasetransform.c:
3692         (gst_base_transform_prepare_output_buf):
3693         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3694         * tests/check/gst/gstbuffer.c: (gst_test_suite):
3695           Back out patch until after the release.
3696
3697 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3698
3699         * gst/gstminiobject.c:
3700           Spelling fix in docs.
3701         * ChangeLog - remove conflict indicator
3702
3703 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3704
3705         Reviewed By: Andy Wingo
3706
3707         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3708         (gst_buffer_make_metadata_writable):
3709         * gst/gstbuffer.h:
3710           Add gst_buffer_(is|make)_metadata_writable as analogues of
3711           gst_buffer_(is|make)_writable.
3712
3713         * libs/gst/base/gstbasetransform.c:
3714         (gst_base_transform_prepare_output_buf):
3715         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3716           Use name gst_buffer_(is|make)_metadata_writable functions.
3717
3718         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3719           Test gst_buffer_(is|make)_metadata_writable
3720         
3721           (Closes: #324162)
3722
3723 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3724
3725         * docs/manual/Makefile.am:
3726           don't do parallel make
3727         * configure.ac:
3728           AC_SUBST HOST_CPU
3729         * win32/common/config.h.in:
3730           add generations for HOST_CPU and GST_MAJORMINOR
3731         * win32/common/config.h:
3732           commit generated result
3733
3734 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
3735
3736         * docs/manual/appendix-integration.xml:
3737           Update GNOME integration section to use gst_init_get_option_group()
3738           instead of the old popt stuff (#322911). Also, GNOME applications
3739           should  now use gconf*sink and gconf*src instead of the old gconf
3740           helper lib we had.
3741
3742 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
3743
3744
3745         * docs/gst/gstreamer-docs.sgml:
3746         * docs/gst/gstreamer-sections.txt:
3747         * docs/libs/gstreamer-libs-sections.txt:
3748           add new API entries to the docs
3749         * libs/gst/controller/Makefile.am:
3750         * libs/gst/controller/gstcontroller.c:
3751         * libs/gst/controller/gstcontroller.h:
3752         * libs/gst/controller/gstcontrollerprivate.h:
3753         * libs/gst/controller/gsthelper.c:
3754         * libs/gst/controller/gstinterpolation.c:
3755           move private structs to private header
3756         * po/README:
3757           gstreamer-0.7 -> gstreamer-0.10
3758         * tests/check/libs/struct_i386.h:
3759           remove private structs
3760
3761 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3762
3763         * plugins/indexers/Makefile.am:
3764           Fixes as part of #317048
3765
3766 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3767
3768         * plugins/indexers/Makefile.am:
3769           fix #316086 - compilation when mmap is missing
3770
3771 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
3772
3773         * libs/gst/base/gstbasesink.c:
3774           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
3775           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
3776         * win32/common/config.h:
3777           added some defines GST_MAJORMINOR and HOST_CPU
3778         * win32/common/libgstbase.def:
3779         * win32/common/libgstreamer.def:
3780           added some exported functions.
3781
3782 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3783
3784         * libs/gst/controller/gstcontroller.c:
3785         (gst_controlled_property_set_interpolation_mode),
3786         (gst_controlled_property_new):
3787         * libs/gst/controller/gstcontroller.h:
3788         * libs/gst/controller/gstinterpolation.c:
3789         (interpolate_none_get_string_value_array):
3790           make G_TYPE_STRING controlable
3791
3792 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3793
3794         * tools/README:
3795         * tools/gst-feedback.1.in:
3796         * tools/gst-inspect.1.in:
3797         * tools/gst-launch.1.in:
3798         * tools/gst-md5sum.1.in:
3799         * tools/gst-typefind.1.in:
3800         * tools/gst-xmlinspect.1.in:
3801         * tools/gst-xmllaunch.1.in:
3802           cleanup man-pages, remove reference to gst-register, document env-vars
3803
3804 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
3805
3806         * gst/gstbuffer.c: (gst_buffer_span):
3807           gst_buffer_span should copy the timestamp of the first buffer
3808           if they were both originally overlapping subbuffers of the 
3809           same parent, using the same logic as the 'slow copy' case.
3810
3811 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
3812
3813         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
3814           Need to awaken ALL the pads when we pop a buffer, otherwise
3815           collectpads only works when there is 2 input streams.
3816
3817 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
3818
3819         * docs/random/ensonic/media-device-daemon.txt:
3820           more ideas (dbus)
3821         * gst/gstbuffer.c:
3822           fix doc example, add clarification
3823         * tools/gst-launch.1.in:
3824           add initial info about GST_PLUGIN_PATH, needs more work
3825
3826 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3827
3828         * docs/manual/basics-bins.xml:
3829         * docs/manual/basics-elements.xml:
3830         * docs/manual/intro-basics.xml:
3831           Some more minor docs additions and updates.
3832
3833 2006-01-11  Wim Taymans  <wim@fluendo.com>
3834
3835         * docs/manual/basics-bins.xml:
3836         * docs/manual/basics-elements.xml:
3837         Some small fixes as pointed out by Ser-ver on IRC.
3838
3839 2006-01-10  Edward Hervey  <edward@fluendo.com>
3840
3841         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3842         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
3843         the single-segment mode.
3844
3845 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
3846
3847         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3848
3849         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
3850         (gst_base_src_perform_seek), (gst_base_src_send_event),
3851         (gst_base_src_set_property), (gst_base_src_get_property),
3852         (gst_base_src_loop), (gst_base_src_start),
3853         (gst_base_src_activate_push):
3854         * libs/gst/base/gstbasesrc.h:
3855           Name (private) union; makes Sun's Forte compiler happy (#324900).
3856
3857 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3858
3859         * README:
3860           gst-register is gone.
3861
3862 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3863
3864         * gst/gstvalue.c: (_gst_value_initialize):
3865           make the G_TYPE_DATE instantiation work if debug is disabled
3866
3867 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
3868
3869         * gst/gstmessage.c: (gst_message_parse_tag),
3870         (gst_message_parse_error), (gst_message_parse_warning):
3871           Don't crash when return location for error/warning debug
3872           string is NULL; add fact that return locations can be
3873           NULL to docs where appropriate.
3874
3875 2006-01-05  Wim Taymans  <wim@fluendo.com>
3876
3877         * gst/gstplugin.c: (gst_plugin_load_file):
3878         Replace strdup by g_strdup.
3879
3880 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3881
3882         * docs/pwg/advanced-types.xml:
3883           fix doc borkage
3884
3885 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3886
3887         submitted by: Abel Cheung
3888
3889         * po/LINGUAS:
3890         * po/zh_TW.po:
3891           Added Chinese (traditional) translation
3892
3893 2006-01-04  Wim Taymans  <wim@fluendo.com>
3894
3895         * docs/manual/basics-pads.xml:
3896         * docs/plugins/Makefile.am:
3897         * docs/plugins/gstreamer-plugins-docs.sgml:
3898         * docs/plugins/gstreamer-plugins-sections.txt:
3899         * docs/pwg/advanced-clock.xml:
3900         * docs/pwg/advanced-scheduling.xml:
3901         * docs/pwg/advanced-types.xml:
3902         * plugins/elements/gstfdsink.c:
3903         * plugins/elements/gstfdsrc.c:
3904         * plugins/elements/gstfdsrc.h:
3905         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3906         * plugins/elements/gstidentity.h:
3907         * plugins/elements/gstqueue.h:
3908         * plugins/elements/gsttee.c:
3909         * plugins/elements/gsttee.h:
3910         * plugins/elements/gsttypefindelement.c:
3911         (gst_type_find_element_class_init):
3912         * plugins/elements/gsttypefindelement.h:
3913         Small updates to various docs.
3914         Added core plugins to docs.
3915
3916 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3917
3918         * common/gst.supp:
3919           add a suppression for liboil's uninitialized variable
3920
3921 2006-01-02  James Livingston  <jrl at ids dot org dot au>
3922
3923         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3924
3925         * gst/gstutils.h:
3926           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
3927           macro, so that gcc doesn't complain if the -Wmissing-prototypes
3928           compiler switch is being used (#325429).
3929
3930 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
3931
3932         * gst/gstbin.c: (gst_bin_query):
3933           Disable duration query caching in bins until it gets
3934           fixed (see #324807).
3935
3936 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3937
3938         * tools/gst-inspect.c: (print_element_properties_info):
3939           Handle properties of POINTER and BOXED type.
3940
3941 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
3942
3943         * gst/gst.c: (init_post):
3944           Init tags stuff and some other things before loading
3945           any static plugins (there may be other static plugins
3946           than just the GStreamer ones, and they may want to
3947           register their own tags or formats or whatever, and
3948           preferably without segfaulting).
3949
3950         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
3951           Print at least a warning in the debug logs if we drop a
3952           query just because we don't know how to adjust the value
3953           in the particular format.
3954
3955 2005-12-24  David Schleef  <ds@schleef.org>
3956
3957         * tools/gstreamer-completion:
3958           Replacement for gst-complete written in sh and sed.  Only
3959           completes names of features, but that's 90% of what I want
3960           it for.  Properties are not available in registry.xml.  (Maybe
3961           they should be...)
3962
3963 === release 0.10.1 ===
3964
3965 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
3966
3967         * configure.ac:
3968           releasing 0.10.1, "Nollaig chridheil"
3969
3970 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
3971
3972         * docs/faq/cvs.xml:
3973           Add missing quote, should be make ERROR_CFLAGS="".
3974
3975 2005-12-20  Wim Taymans  <wim@fluendo.com>
3976
3977         * docs/design/part-trickmodes.txt:
3978         More documentation on trickmodes.
3979
3980 2005-12-20  Edward Hervey  <edward@fluendo.com>
3981
3982         * gst/gstcaps.c: (gst_static_caps_get_type):
3983         * gst/gstcaps.h:
3984           API addition: GST_TYPE_STATIC_CAPS
3985         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
3986         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
3987         * gst/gstpadtemplate.h:
3988           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
3989         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
3990         bindings.
3991
3992 2005-12-18  Wim Taymans  <wim@fluendo.com>
3993
3994         * libs/gst/base/gstadapter.c:
3995         * libs/gst/base/gstadapter.h:
3996         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
3997         (gst_base_sink_get_position):
3998         * libs/gst/base/gstbasesink.h:
3999         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4000         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4001         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4002         (gst_base_src_send_event), (gst_base_src_update_length),
4003         (gst_base_src_get_range), (gst_base_src_loop),
4004         (gst_base_src_start):
4005         * libs/gst/base/gstbasesrc.h:
4006         * libs/gst/base/gstbasetransform.h:
4007         * libs/gst/base/gstcollectpads.h:
4008         * libs/gst/base/gstpushsrc.c:
4009         * libs/gst/base/gstpushsrc.h:
4010         * libs/gst/dataprotocol/dataprotocol.c:
4011         * libs/gst/dataprotocol/dataprotocol.h:
4012         * libs/gst/net/gstnetclientclock.h:
4013         * libs/gst/net/gstnettimeprovider.h:
4014         Documentation updates.
4015
4016 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4017
4018         * docs/manual/basics-helloworld.xml:
4019           Remove superfluous closing bracket in helloworld example.
4020
4021 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4022
4023         * tools/gst-launch.1.in:
4024           Update gst-launch man page; add a section with useful
4025           environment variables. Fixes #323882.
4026
4027 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
4028
4029         * gst/gst.c:
4030         * gst/gst_private.h:
4031           change some char* into char[]
4032
4033 2005-12-16  Wim Taymans  <wim@fluendo.com>
4034
4035         * gst/gstregistryxml.c: (load_feature):
4036         Cleanups.
4037         Don't use g_object_unref on GstObjects so that we avoid
4038         leaks on unsafe glibs.
4039
4040 2005-12-16  Wim Taymans  <wim@fluendo.com>
4041
4042         * gst/gstbin.c: (gst_bin_recalc_state):
4043         Small doc updates.
4044
4045 2005-12-16  Wim Taymans  <wim@fluendo.com>
4046
4047         * common/check.mak:
4048         Added make forever target for check.
4049
4050 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4051
4052         * gst/gst.c: (init_post):
4053           make the registry cache file HOST_CPU-dependent
4054
4055 2005-12-16  Andy Wingo  <wingo@pobox.com>
4056
4057         * plugins/elements/gstbufferstore.c
4058         (gst_buffer_store_cleared_func): Pay attention to g_list_append
4059         return value.
4060
4061         * tests/check/gst/gstobject.c
4062         (test_fake_object_name_threaded_unique): Pay attention to
4063         g_list_sort return value.
4064
4065 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4066
4067         * tools/gst-feedback-m.m:
4068           Update for 0.9/0.10 (fixes #323870).
4069
4070 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
4071
4072         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4073           Fix lcopy for mini objects, the mini object needs to be ref'ed.
4074           
4075         * tests/check/gst/gstminiobject.c: (my_foo_init),
4076         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4077         (test_value_collection), (gst_mini_object_suite):
4078           Add test to ensure refcounts end up as expected when passing
4079           GstMiniObjects through g_object_get() and g_object_set().
4080
4081 2005-12-14  Julien MOUTTE  <julien@moutte.net>
4082
4083         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4084         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4085         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4086         of collectpads. This version removes a lot of races without
4087         touching API/ABI. Yay !
4088
4089 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
4090
4091         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4092           Don't allow activation of a srcpad in pull_range if it has no
4093           getrange function.
4094           Change some debug statements to be a little clearer
4095
4096         * plugins/elements/gsttypefindelement.c:
4097         (gst_type_find_handle_src_query):
4098           Check that we have a peer before executing queries thereupon.
4099
4100         * tests/examples/metadata/read-metadata.c: (message_loop):
4101           Use gst_bus_pop instead of gst_bus_poll when we just want it to
4102           immediately return us any available message with 0 timeout.
4103
4104 2005-12-12  Michael Smith  <msmith@fluendo.com>
4105
4106         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4107           Don't unref factories after calling them.
4108         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4109         * plugins/elements/gsttypefindelement.c:
4110         (gst_type_find_element_chain):
4111           Free lists of factories after using them. Fixing typefinding memory
4112           leaks.
4113
4114 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4115
4116         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4117         (gst_plugin_feature_load):
4118           more meaningful debug output
4119         * configure.ac:
4120         * tests/Makefile.am:
4121         * tests/old/examples/Makefile.am:
4122           make make distcheck happy again
4123
4124 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4125
4126         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4127           Catch the special case where we are operating chain-based,
4128           but the downstream peer pad has no chain function. Emit a
4129           custom error message in this case instead of letting the
4130           core generate one implying that this is some sort of core
4131           bug. It's not, it just means that whatever got plugged
4132           into the pipeline downstream when we announced the type
4133           can only operate pull-based, while our source can only
4134           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4135           Error string has not been marked for translation yet, as
4136           it probably needs some more work first.
4137
4138         (gst_type_find_element_get_best_possibility):
4139           Add helper function to find the best of all available
4140           found possibilities that qualify given the min. threshold.
4141
4142         (gst_type_find_element_handle_event):
4143           Fix the case where we get an EOS while still in TYPEFIND
4144           mode (we want to chose the best of all possible types,
4145           not just the first type that happens to be in our unsorted
4146           list of possible types).
4147
4148         (gst_type_find_element_chain):
4149           Make sure we return GST_FLOW_ERROR when we errored out
4150           in stop_typefinding(); also, don't just find the best of
4151           all found type entries and then use the last examined
4152           type entry, but actually use the best entry.
4153
4154 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4155
4156         * tests/examples/typefind/typefind.c: (type_found):
4157         * tests/examples/xml/runxml.c: (xml_loaded):
4158           More gcc4 fixes and a mem leak fix.
4159
4160 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4161
4162         * tests/examples/xml/createxml.c: (object_saved):
4163           gcc 4 fixes
4164
4165 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4166
4167         * tests/Makefile.am:
4168           enable the examples even more
4169
4170 2005-12-12  Andy Wingo  <wingo@pobox.com>
4171
4172         * libs/gst/net/gstnettimeprovider.c
4173         (gst_net_time_provider_class_init, gst_net_time_provider_init)
4174         (gst_net_time_provider_set_property)
4175         (gst_net_time_provider_get_property):
4176         API addition: Export "active" as a GObject property.
4177         (gst_net_time_provider_thread): Only respond to time queries if
4178         the time provider is active.
4179
4180         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4181         NetTimeProvider, preserving binary compat.
4182
4183 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4184
4185         * tests/examples/controller/audio-example.c: (main):
4186         * tests/examples/launch/Makefile.am:
4187           convert comments again
4188
4189 2005-12-12  Wim Taymans  <wim@fluendo.com>
4190
4191         * libs/gst/base/gstpushsrc.c:
4192         Fix typo.
4193
4194 2005-12-12  Wim Taymans  <wim@fluendo.com>
4195
4196         * docs/libs/gstreamer-libs-sections.txt:
4197         Added new symbol to docs.
4198
4199         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4200         (gst_base_src_init), (gst_base_src_set_format),
4201         (gst_base_src_default_query), (gst_base_src_query),
4202         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4203         (gst_base_src_perform_seek), (gst_base_src_send_event),
4204         (gst_base_src_default_event), (gst_base_src_event_handler),
4205         (gst_base_src_set_property), (gst_base_src_get_property),
4206         (gst_base_src_wait), (gst_base_src_do_sync),
4207         (gst_base_src_update_length), (gst_base_src_get_range),
4208         (gst_base_src_check_get_range), (gst_base_src_loop),
4209         (gst_base_src_default_negotiate), (gst_base_src_start),
4210         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4211         (gst_base_src_change_state):
4212         * libs/gst/base/gstbasesrc.h:
4213         Implement seeking to other formats than _BYTES.
4214         Implement more seeking methods correctly.
4215         Doc updates.
4216         Added query vmethod.
4217         Added do_seek vmethod to make life easier for subclasses
4218         when seeking.
4219         API addition: gst_base_src_set_format()
4220
4221 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4222
4223         * tests/examples/Makefile.am:
4224           added that too
4225
4226 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4227
4228         * configure.ac:
4229         * docs/random/ensonic/media-device-daemon.txt:
4230         * tests/examples/controller/.cvsignore:
4231         * tests/examples/controller/Makefile.am:
4232         * tests/examples/controller/audio-example.c: (main):
4233         * tests/examples/helloworld/.cvsignore:
4234         * tests/examples/helloworld/Makefile.am:
4235         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4236         * tests/examples/launch/.cvsignore:
4237         * tests/examples/launch/Makefile.am:
4238         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4239         * tests/examples/metadata/.cvsignore:
4240         * tests/examples/metadata/Makefile.am:
4241         * tests/examples/metadata/read-metadata.c: (message_loop),
4242         (make_pipeline), (print_tag), (main):
4243         * tests/examples/queue/.cvsignore:
4244         * tests/examples/queue/Makefile.am:
4245         * tests/examples/queue/queue.c: (event_loop), (main):
4246         * tests/examples/typefind/.cvsignore:
4247         * tests/examples/typefind/Makefile.am:
4248         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4249         (main):
4250         * tests/examples/xml/.cvsignore:
4251         * tests/examples/xml/Makefile.am:
4252         * tests/examples/xml/createxml.c: (object_saved), (main):
4253         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4254         * tests/old/examples/Makefile.am:
4255         * tests/old/examples/TODO:
4256         * tests/old/examples/controller/.cvsignore:
4257         * tests/old/examples/controller/Makefile.am:
4258         * tests/old/examples/controller/audio-example.c:
4259         * tests/old/examples/helloworld/.cvsignore:
4260         * tests/old/examples/helloworld/Makefile.am:
4261         * tests/old/examples/helloworld/helloworld.c:
4262         * tests/old/examples/launch/.cvsignore:
4263         * tests/old/examples/launch/Makefile.am:
4264         * tests/old/examples/launch/mp3parselaunch.c:
4265         * tests/old/examples/launch/mp3play:
4266         * tests/old/examples/manual/Makefile.am:
4267         * tests/old/examples/metadata/Makefile.am:
4268         * tests/old/examples/metadata/read-metadata.c:
4269         * tests/old/examples/queue/.cvsignore:
4270         * tests/old/examples/queue/Makefile.am:
4271         * tests/old/examples/queue/queue.c:
4272         * tests/old/examples/typefind/.cvsignore:
4273         * tests/old/examples/typefind/Makefile.am:
4274         * tests/old/examples/typefind/typefind.c:
4275         * tests/old/examples/xml/.cvsignore:
4276         * tests/old/examples/xml/Makefile.am:
4277         * tests/old/examples/xml/createxml.c:
4278         * tests/old/examples/xml/runxml.c:
4279           applied some simple fixing to some examples
4280           re-enabled the working examples
4281
4282 2005-12-12  Wim Taymans  <wim@fluendo.com>
4283
4284         * gst/gstsegment.c: (gst_segment_init),
4285         (gst_segment_set_last_stop), (gst_segment_set_seek),
4286         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4287         (gst_segment_to_running_time):
4288         Added more documentation.
4289         Make sure the last_pos value is updated properly.
4290         Make sure to_stream_time and to_running_time don't
4291         operate on wrong values.
4292
4293         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4294         Update check.
4295
4296 2005-12-12  Michael Smith  <msmith@fluendo.com>
4297
4298         * plugins/elements/gsttypefindelement.c: (free_entry),
4299         (gst_type_find_element_chain):
4300           Now that we're not leaking factories, make sure we keep references
4301           to them while we need them.
4302
4303 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4304
4305         * tests/check/gst/struct_i386.h:
4306           ifdef out the XML structs
4307
4308 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4309
4310         * gst/gstvalue.c: (gst_value_transform_double_fraction):
4311           floor is not needed, F is always positive; this obviates the
4312           need for adding -lm when building without libxml
4313
4314 2005-12-12  Wim Taymans  <wim@fluendo.com>
4315
4316         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4317         Take current playback rate into account when reporting
4318         the position.
4319
4320 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4321
4322         * docs/manual/mime-world.fig:
4323           Let's try this again, this time with a file that is
4324           actually in XFig format.
4325
4326 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4327
4328         * docs/manual/mime-world.fig:
4329           Add audioconvert element to diagram so that it
4330           matches the text and the code (fixes #319526).
4331
4332 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4333
4334         * docs/pwg/building-chainfn.xml:
4335         * docs/pwg/building-pads.xml:
4336         * docs/pwg/building-state.xml:
4337         * docs/pwg/other-source.xml:
4338           Update state change stuff for 0.10 (fixes #322969).
4339
4340 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4341
4342         * docs/manual/advanced-dataaccess.xml:
4343         * docs/manual/appendix-checklist.xml:
4344         * docs/manual/appendix-programs.xml:
4345         * docs/manual/basics-pads.xml:
4346         * docs/manual/highlevel-components.xml:
4347         * docs/manual/manual.xml:
4348           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4349           add converters in front of pipelines; remove curly
4350           brackets for threads stuff, they no longer exist; use
4351           GST_TYPE_FRACTION for framerates; update some pieces of
4352           code to 0.10, but there's plenty more to do.
4353
4354         * docs/manual/appendix-porting.xml:
4355           Expand on asynchroneous state changes; s/0.9/0.10/;
4356           mention disappearance of gst_init_get_popt_table()
4357           (fixes #322916).
4358
4359 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4360
4361         * docs/faq/using.xml:
4362           Spider no longer exists, and neither does gst-launch-ext.
4363           Update examples to use decodebin and playbin and put
4364           converters in front of sinks (fixes #323726).
4365
4366 2005-12-09  Michael Smith  <msmith@fluendo.com>
4367
4368         * plugins/elements/gsttypefindelement.c: (find_peek),
4369         (gst_type_find_element_chain):
4370           Fix leaking element factories in typefinding.
4371           Fix problem where we forgot about a probable type on non-seekable
4372           files, and thus later mis-typefound it.
4373
4374 2005-12-09  Michael Smith  <msmith@fluendo.com>
4375
4376         * common/m4/gst-makecontext.m4:
4377         * common/m4/gst-mcsc.m4:
4378         * configure.ac:
4379         * win32/common/config.h:
4380         * win32/common/config.h.in:
4381           Remove makecontext stuff; not used in 0.10 and causes problems on
4382           HPUX according to bug #322441
4383
4384 2005-12-07  Wim Taymans  <wim@fluendo.com>
4385
4386         * tests/check/Makefile.am:
4387         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4388         (main):
4389         * tests/check/libs/struct_i386.h:
4390         Added ABI check for libs
4391
4392 2005-12-07  Wim Taymans  <wim@fluendo.com>
4393
4394         * tests/check/Makefile.am:
4395         And add the struct_i386.h to dist.
4396
4397 2005-12-07  Wim Taymans  <wim@fluendo.com>
4398
4399         * tests/check/Makefile.am:
4400         * tests/check/gst/.cvsignore:
4401         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4402         (main):
4403         * tests/check/gst/struct_i386.h:
4404         Added check for ABI compatibility.
4405
4406 2005-12-07  Wim Taymans  <wim@fluendo.com>
4407
4408         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4409         (gst_fake_src_get_times), (gst_fake_src_create):
4410         Fix broken sync option, fixes #323259
4411
4412 2005-12-07  Wim Taymans  <wim@fluendo.com>
4413
4414         * gst/gstbuffer.c:
4415         Small docs update.
4416
4417         * gst/gstcaps.c: (gst_caps_is_equal):
4418         Don't assert on NULL <--> X. Fixes #323260
4419
4420         * gst/gstminiobject.c: (gst_mini_object_replace):
4421         If we're doing atomic operations, we might just as well use
4422         the proper way to get an atomic pointer.
4423
4424         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4425         Clean up debugging.
4426
4427 2005-12-07  Michael Smith  <msmith@fluendo.com>
4428
4429         * gst/parse/grammar.y:
4430           Remove handling of { } for threads.
4431
4432 2005-12-06  David Schleef  <ds@schleef.org>
4433
4434         * libs/gst/base/gstbasetransform.c: speling fix.
4435
4436 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4437
4438         * docs/libs/tmpl/gstdataprotocol.sgml:
4439         * docs/random/omega/testing/gstobject.c:
4440         * gst/gst.c:
4441         * gst/gstclock.c:
4442         * gst/gstelement.c:
4443         * gst/gstelementfactory.c:
4444         * gst/gsterror.c:
4445         * gst/gstevent.c:
4446         * gst/gstghostpad.c:
4447         * gst/gstinfo.c:
4448         * gst/gstpadtemplate.c:
4449         * gst/gstregistryxml.c:
4450         * gst/gsttaglist.c:
4451         * gst/gsttagsetter.c:
4452         * gst/gsttypefind.c:
4453         * gst/gstvalue.c:
4454         * libs/gst/base/gstbasesrc.c:
4455         * libs/gst/net/gstnetclientclock.c:
4456         * libs/gst/net/gstnettimeprovider.c:
4457         * plugins/elements/gstfakesrc.c:
4458         * plugins/elements/gstfdsrc.c:
4459         * plugins/elements/gstfilesrc.c:
4460         * plugins/elements/gstidentity.c:
4461         * plugins/elements/gstqueue.c:
4462         * plugins/elements/gsttypefindelement.c:
4463         * plugins/indexers/gstfileindex.c:
4464         * plugins/indexers/gstmemindex.c:
4465         * tests/check/gst/gsttag.c:
4466         * tests/old/examples/cutter/cutter.c:
4467         * tests/old/examples/mixer/mixer.c:
4468         * tests/old/examples/xml/runxml.c: (main):
4469         * tests/old/testsuite/caps/normalisation.c:
4470         * tests/old/testsuite/debug/global.c:
4471         * tests/old/testsuite/parse/parse1.c:
4472         * tools/gst-xmlinspect.c:
4473         * win32/common/dirent.c:
4474           expand tabs
4475
4476 === release 0.10.0 ===
4477
4478 2005-12-05   <thomas (at) apestaart (dot) org>
4479
4480         * configure.ac:
4481           releasing 0.10.0, "Maroilles"
4482
4483 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4484
4485         submitted by: Funda Wang <fundawang@linux.net.cn>
4486
4487         * po/LINGUAS:
4488         * po/zh_CN.po:
4489           added Chinese (Traditional) translation
4490
4491 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4492
4493         * docs/gst/gstreamer-sections.txt:
4494         * docs/libs/tmpl/gstdataprotocol.sgml:
4495         * docs/random/thomasvs/TODO:
4496         * gst/gstutils.c:
4497         * gst/gstutils.h:
4498           fix docs
4499
4500 2005-12-05  Andy Wingo  <wingo@pobox.com>
4501
4502         patch by: Wim Taymans <wim@fluendo.com>
4503
4504         * libs/gst/base/gstbasetransform.c
4505         (gst_base_transform_prepare_output_buf)
4506         (gst_base_transform_buffer_alloc):
4507         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
4508         alloc_buffer_and_set_caps.
4509
4510         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
4511         set_caps on the source pad.
4512         (gst_pad_alloc_buffer_and_set_caps): New function, does what
4513         alloc_buffer used to do. Fixes #322874.
4514
4515         * docs/gst/gstreamer-sections.txt: 
4516         * docs/design/part-negotiation.txt: 
4517         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
4518         changes.
4519
4520 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4521
4522         patch by: Sebastien Moutte
4523
4524         * win32/MANIFEST:
4525         * win32/common/config.h.in:
4526         * win32/vs6/libgstcontroller.dsp:
4527           win32 build fixes
4528
4529 2005-12-05  Wim Taymans  <wim@fluendo.com>
4530
4531         * gst/gstcaps.c: (gst_caps_is_equal):
4532         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4533         (gst_fake_src_create):
4534         Back out previous code changes, leave doc updates, file bugs 
4535         instead. 
4536
4537 2005-12-05  Wim Taymans  <wim@fluendo.com>
4538
4539         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4540         (gst_fake_src_get_times), (gst_fake_src_create):
4541         * plugins/elements/gstfakesrc.h:
4542         Fix broken sync code.
4543
4544 2005-12-05  Wim Taymans  <wim@fluendo.com>
4545
4546         * gst/gstcaps.c: (gst_caps_is_equal):
4547         Comparing NULL against !NULL yields different caps, not a
4548         failure.
4549
4550 2005-12-05  Wim Taymans  <wim@fluendo.com>
4551
4552         * gst/gstpipeline.c:
4553         Fix small typo in docs.
4554
4555 2005-12-05  Andy Wingo  <wingo@pobox.com>
4556
4557         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
4558
4559         * gst/gst.c (init_post): remove hard-coded 0.9 location for
4560         registries/plugins with a MAJORMINOR one.
4561         (plugin_desc): Rename library from gstcoreleements to
4562         staticelements. Fixes #323222.
4563
4564 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
4565
4566         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
4567           Change debug category to 'collectpads' from 'collect_pads'
4568           (fixes #323250).
4569
4570 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4571
4572         patch by: Sebastien Moutte
4573
4574         * libs/gst/controller/gstinterpolation.c:
4575           use convert function for uint64/double
4576         * win32/vs6/libgstcontroller.dsp:
4577           link to GLib
4578
4579 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4580
4581         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
4582         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
4583         * gst/gstutils.h:
4584         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4585           add tests that seem to show that the guint64/gdouble conversions
4586           are correct.
4587
4588 2005-12-02  Wim Taymans  <wim@fluendo.com>
4589
4590         * gst/gstregistry.c: (gst_registry_add_path):
4591         * gst/gstregistry.h:
4592         * gst/gstregistryxml.c:
4593         Fix docs again.
4594
4595 2005-12-02  Wim Taymans  <wim@fluendo.com>
4596
4597         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4598         (gst_util_uint64_scale_int):
4599         Small cleanup.
4600
4601         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4602         Add debug log line.
4603
4604         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
4605         Add FIXME.
4606
4607 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4608
4609         * win32/MANIFEST:
4610         * win32/common/config.h:
4611         * win32/vs6/gstreamer.dsw:
4612         * win32/vs6/libgstcoreelements.dsp:
4613         * win32/vs6/libgstelements.dsp:
4614           renamed core elements plugin
4615
4616 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4617
4618         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
4619         (get_candidates):
4620           do piece-wise major/minor comparison so 0.9 < 0.10
4621           also allow .exe extensions for tools
4622
4623 2005-12-02  Michael Smith  <msmith@fluendo.com>
4624
4625         * gst/gst.c:
4626           Escape a % to make gtkdoc happier; bug 322958.
4627
4628 === release 0.9.7 ===
4629
4630 2005-12-01   <thomas (at) apestaart (dot) org>
4631
4632         * configure.ac:
4633           releasing 0.9.7, "My Dog Has No Nose"
4634
4635 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4636
4637         * common/gst-xmlinspect.py:
4638         * configure.ac:
4639         * docs/libs/tmpl/gstdataprotocol.sgml:
4640         * docs/random/release:
4641         * po/af.po:
4642         * po/az.po:
4643         * po/bg.po:
4644         * po/ca.po:
4645         * po/cs.po:
4646         * po/de.po:
4647         * po/en_GB.po:
4648         * po/fr.po:
4649         * po/it.po:
4650         * po/nb.po:
4651         * po/nl.po:
4652         * po/ru.po:
4653         * po/sq.po:
4654         * po/sr.po:
4655         * po/sv.po:
4656         * po/tr.po:
4657         * po/uk.po:
4658         * po/vi.po:
4659         * win32/common/config.h:
4660         * win32/common/config.h.in:
4661         * win32/vs6/gst_inspect.dsp:
4662         * win32/vs6/gst_launch.dsp:
4663         * win32/vs6/libgstbase.dsp:
4664         * win32/vs6/libgstelements.dsp:
4665         * win32/vs6/libgstreamer.dsp:
4666         * win32/vs7/GStreamer.vcproj:
4667         * win32/vs7/gst-inspect.vcproj:
4668         * win32/vs7/gst-launch.vcproj:
4669         * win32/vs7/libgstbase.vcproj:
4670           bump GST_MAJORMINOR to 0.10
4671           reset libtool version
4672
4673 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4674
4675         * po/LINGUAS:
4676         * po/bg.po:
4677           Added Bulgarian translation by (Alexander Shopov)
4678
4679 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4680
4681         * tests/check/gst/gstplugin.c:
4682           fix test
4683
4684 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4685
4686         * common/gst-xmlinspect.py:
4687         * common/gtk-doc-plugins.mak:
4688         * configure.ac:
4689         * docs/Makefile.am:
4690         * docs/gst/Makefile.am:
4691         * docs/gst/gstreamer-docs.sgml:
4692         * docs/gst/gstreamer-sections.txt:
4693         * docs/gst/gstreamer.types:
4694         * docs/gst/gstreamer.types.in:
4695         * docs/plugins/Makefile.am:
4696         * docs/plugins/gstreamer-plugins-docs.sgml:
4697         * docs/plugins/gstreamer-plugins-sections.txt:
4698         * docs/plugins/gstreamer-plugins.types:
4699         * docs/plugins/inspect.stamp:
4700         * docs/plugins/inspect/plugin-coreelements.xml:
4701         * docs/plugins/inspect/plugin-coreindexers.xml:
4702         * docs/plugins/scanobj-build.stamp:
4703         * gstreamer.spec.in:
4704         * plugins/elements/Makefile.am:
4705         * plugins/elements/gstelements.c:
4706         * plugins/elements/gstfakesink.c:
4707         * plugins/elements/gstfakesrc.c:
4708         * plugins/elements/gstfilesink.c:
4709         * plugins/elements/gstfilesrc.c:
4710         * plugins/elements/gstqueue.c:
4711         * plugins/indexers/Makefile.am:
4712         * plugins/indexers/gstindexers.c:
4713           document core plugins in a separate document just like all the
4714           others
4715           rename these plugins to something starting with core
4716
4717 2005-12-01  Andy Wingo  <wingo@pobox.com>
4718
4719         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
4720         padding here before, but it missed the commit.
4721
4722 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4723
4724         * libs/gst/controller/gstinterpolation.c:
4725           whitespace prices have crashed, we should feel free to use some now
4726           use gst_guint64_to_gdouble
4727
4728 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4729
4730         * libs/gst/controller/gstcontroller.c:
4731         * libs/gst/controller/gsthelper.c:
4732         * libs/gst/controller/gstinterpolation.c:
4733         * libs/gst/controller/lib.c:
4734           wrap config.h include
4735
4736 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4737
4738         * docs/gst/gstreamer-sections.txt:
4739           update docs
4740
4741 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4742
4743         * plugins/elements/gstelements.c:
4744         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
4745         (gst_fd_sink__class_init), (gst_fd_sink__init),
4746         (gst_fd_sink__chain), (gst_fd_sink__set_property),
4747         (gst_fd_sink__get_property):
4748         * plugins/elements/gstfdsink.h:
4749         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
4750         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
4751         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
4752         (gst_fd_src_unlock), (gst_fd_src_set_property),
4753         (gst_fd_src_get_property), (gst_fd_src_create),
4754         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
4755         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
4756         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
4757         (gst_fd_src_uri_handler_init):
4758         * plugins/elements/gstfdsrc.h:
4759         * plugins/elements/gstqueue.c: (gst_queue_get_type):
4760           more anal cleanup
4761
4762 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4763
4764         * docs/gst/Makefile.am:
4765         * docs/gst/gstreamer.types.in:
4766         * gst/Makefile.am:
4767           fix the docs build
4768
4769 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4770
4771         * configure.ac:
4772         * gst/Makefile.am:
4773         * gst/gst.c:
4774         * gst/gstplugin.h:
4775         * gst/gstregistry.h:
4776         * tests/benchmarks/complexity.c:
4777         * tests/benchmarks/mass-elements.c:
4778         * tests/check/Makefile.am:
4779         * tools/Makefile.am:
4780         * tools/gst-inspect.c:
4781         * tools/gst-xmlinspect.c:
4782           various fixes to make
4783           --disable-nls --disable-registry --disable-loadsave
4784           --disable-parse --disable-gst-debug
4785           work and get the core .so down to 360444 bytes after stripping
4786
4787 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4788
4789         * Makefile.am:
4790         * configure.ac:
4791           descend into tests
4792         * docs/random/thomasvs/TODO:
4793         * tests/Makefile.am:
4794         * tests/README:
4795           add a README
4796
4797 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4798
4799         * win32/GStreamer.vcproj:
4800         * win32/MANIFEST:
4801         * win32/Makefile:
4802         * win32/Makefile.inspect:
4803         * win32/Makefile.launch:
4804         * win32/Makefile.register:
4805         * win32/README.txt:
4806         * win32/gst-inspect.vcproj:
4807         * win32/gst-launch.vcproj:
4808         * win32/gst-register.vcproj:
4809         * win32/gstelements.vcproj:
4810         * win32/gstgetbits.def:
4811         * win32/gstgetbits.vcproj:
4812         * win32/gstreamer-dbg.def:
4813         * win32/gstreamer.def:
4814         * win32/libgstbase.def:
4815         * win32/libgstbase.vcproj:
4816         * win32/link_oldruntime.c:
4817         * win32/mman.c:
4818         * win32/mman.h:
4819         * win32/mman.inl:
4820         * win32/msvc71.sln:
4821           move even more stuff, win32/ is nice and clean now
4822
4823 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4824
4825         * libs/gst/control/.cvsignore:
4826         * win32/MANIFEST:
4827         * win32/config.h:
4828         * win32/dirent.c:
4829         * win32/dirent.h:
4830         * win32/gstbytestream.def:
4831         * win32/gstbytestream.vcproj:
4832         * win32/gstconfig.h:
4833         * win32/gstenumtypes.c:
4834         * win32/gstenumtypes.h:
4835         * win32/gstoptimalscheduler.vcproj:
4836         * win32/gstversion.h:
4837         * win32/gtchar.h:
4838         * win32/testsuite/bins.vcproj:
4839         * win32/testsuite/bytestream.vcproj:
4840         * win32/testsuite/caps.vcproj:
4841         * win32/testsuite/cleanup.vcproj:
4842         * win32/testsuite/clock.vcproj:
4843         * win32/testsuite/debug.vcproj:
4844         * win32/testsuite/dlopen.vcproj:
4845         * win32/testsuite/dynparams.vcproj:
4846         * win32/testsuite/elements.vcproj:
4847         * win32/testsuite/ghostpads.vcproj:
4848         * win32/testsuite/indexers.vcproj:
4849         * win32/testsuite/negotiation.vcproj:
4850         * win32/testsuite/parse.vcproj:
4851         * win32/testsuite/plugin.vcproj:
4852         * win32/testsuite/refcounting.vcproj:
4853         * win32/testsuite/schedulers.vcproj:
4854         * win32/testsuite/states.vcproj:
4855         * win32/testsuite/tags.vcproj:
4856         * win32/testsuite/threads.vcproj:
4857           remove old win32 stuff that isn't maintained and should be
4858           reorganized
4859
4860 2005-11-30  Andy Wingo  <wingo@pobox.com>
4861
4862         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
4863         loading the gst.interfaces python module bork.
4864
4865         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
4866         available since GLib 2.2. Fixes #318031.
4867
4868 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4869
4870         * Makefile.am:
4871         * check/.cvsignore:
4872         * check/Makefile.am:
4873         * check/elements/.cvsignore:
4874         * check/elements/fakesrc.c:
4875         * check/elements/fdsrc.c:
4876         * check/elements/identity.c:
4877         * check/generic/.cvsignore:
4878         * check/generic/states.c:
4879         * check/gst-libs/.cvsignore:
4880         * check/gst-libs/controller.c:
4881         * check/gst-libs/gdp.c:
4882         * check/gst/.cvsignore:
4883         * check/gst/capslist.h:
4884         * check/gst/gst.c:
4885         * check/gst/gstbin.c:
4886         * check/gst/gstbuffer.c:
4887         * check/gst/gstbus.c:
4888         * check/gst/gstcaps.c:
4889         * check/gst/gstelement.c:
4890         * check/gst/gstevent.c:
4891         * check/gst/gstghostpad.c:
4892         * check/gst/gstiterator.c:
4893         * check/gst/gstmessage.c:
4894         * check/gst/gstminiobject.c:
4895         * check/gst/gstobject.c:
4896         * check/gst/gstpad.c:
4897         * check/gst/gstpipeline.c:
4898         * check/gst/gstplugin.c:
4899         * check/gst/gstsegment.c:
4900         * check/gst/gststructure.c:
4901         * check/gst/gstsystemclock.c:
4902         * check/gst/gsttag.c:
4903         * check/gst/gstutils.c:
4904         * check/gst/gstvalue.c:
4905         * check/net/.cvsignore:
4906         * check/net/gstnetclientclock.c:
4907         * check/net/gstnettimeprovider.c:
4908         * check/pipelines/.cvsignore:
4909         * check/pipelines/cleanup.c:
4910         * check/pipelines/simple_launch_lines.c:
4911         * check/pipelines/stress.c:
4912         * check/states/.cvsignore:
4913         * check/states/sinks.c:
4914         * configure.ac:
4915         * examples/Makefile.am:
4916         * examples/appreader/.cvsignore:
4917         * examples/appreader/Makefile.am:
4918         * examples/appreader/appreader.c:
4919         * examples/controller/.cvsignore:
4920         * examples/controller/Makefile.am:
4921         * examples/controller/audio-example.c:
4922         * examples/cutter/.cvsignore:
4923         * examples/cutter/Makefile.am:
4924         * examples/cutter/cutter.c:
4925         * examples/cutter/cutter.h:
4926         * examples/events/Makefile.am:
4927         * examples/events/seek.c:
4928         * examples/helloworld/.cvsignore:
4929         * examples/helloworld/Makefile.am:
4930         * examples/helloworld/helloworld.c:
4931         * examples/helloworld2/.cvsignore:
4932         * examples/helloworld2/Makefile.am:
4933         * examples/helloworld2/helloworld2.c:
4934         * examples/launch/.cvsignore:
4935         * examples/launch/Makefile.am:
4936         * examples/launch/mp3parselaunch.c:
4937         * examples/launch/mp3play:
4938         * examples/manual/.cvsignore:
4939         * examples/manual/Makefile.am:
4940         * examples/manual/extract.pl:
4941         * examples/metadata/Makefile.am:
4942         * examples/metadata/read-metadata.c:
4943         * examples/mixer/.cvsignore:
4944         * examples/mixer/Makefile.am:
4945         * examples/mixer/mixer.c:
4946         * examples/mixer/mixer.h:
4947         * examples/pingpong/.cvsignore:
4948         * examples/pingpong/Makefile.am:
4949         * examples/pingpong/pingpong.c:
4950         * examples/plugins/.cvsignore:
4951         * examples/plugins/Makefile.am:
4952         * examples/plugins/example.c:
4953         * examples/plugins/example.h:
4954         * examples/pwg/.cvsignore:
4955         * examples/pwg/Makefile.am:
4956         * examples/pwg/extract.pl:
4957         * examples/queue/.cvsignore:
4958         * examples/queue/Makefile.am:
4959         * examples/queue/queue.c:
4960         * examples/queue2/.cvsignore:
4961         * examples/queue2/Makefile.am:
4962         * examples/queue2/queue2.c:
4963         * examples/queue3/.cvsignore:
4964         * examples/queue3/Makefile.am:
4965         * examples/queue3/queue3.c:
4966         * examples/queue4/.cvsignore:
4967         * examples/queue4/Makefile.am:
4968         * examples/queue4/queue4.c:
4969         * examples/retag/.cvsignore:
4970         * examples/retag/Makefile.am:
4971         * examples/retag/retag.c:
4972         * examples/retag/transcode.c:
4973         * examples/thread/.cvsignore:
4974         * examples/thread/Makefile.am:
4975         * examples/thread/thread.c:
4976         * examples/typefind/.cvsignore:
4977         * examples/typefind/Makefile.am:
4978         * examples/typefind/typefind.c:
4979         * examples/xml/.cvsignore:
4980         * examples/xml/Makefile.am:
4981         * examples/xml/createxml.c:
4982         * examples/xml/runxml.c:
4983         * tests/Makefile.am:
4984         * tests/check/Makefile.am:
4985         * testsuite/.cvsignore:
4986         * testsuite/Makefile.am:
4987         * testsuite/Rules:
4988         * testsuite/caps/.cvsignore:
4989         * testsuite/caps/Makefile.am:
4990         * testsuite/caps/app_fixate.c:
4991         * testsuite/caps/audioscale.c:
4992         * testsuite/caps/caps.c:
4993         * testsuite/caps/caps.h:
4994         * testsuite/caps/caps_strings:
4995         * testsuite/caps/compatibility.c:
4996         * testsuite/caps/deserialize.c:
4997         * testsuite/caps/enumcaps.c:
4998         * testsuite/caps/eratosthenes.c:
4999         * testsuite/caps/filtercaps.c:
5000         * testsuite/caps/fixed.c:
5001         * testsuite/caps/fraction-convert.c:
5002         * testsuite/caps/fraction-multiply-and-zero.c:
5003         * testsuite/caps/intersect2.c:
5004         * testsuite/caps/intersection.c:
5005         * testsuite/caps/normalisation.c:
5006         * testsuite/caps/random.c:
5007         * testsuite/caps/renegotiate.c:
5008         * testsuite/caps/sets.c:
5009         * testsuite/caps/simplify.c:
5010         * testsuite/caps/string-conversions.c:
5011         * testsuite/caps/structure.c:
5012         * testsuite/caps/subtract.c:
5013         * testsuite/caps/union.c:
5014         * testsuite/debug/.cvsignore:
5015         * testsuite/debug/Makefile.am:
5016         * testsuite/debug/category.c:
5017         * testsuite/debug/commandline.c:
5018         * testsuite/debug/global.c:
5019         * testsuite/debug/output.c:
5020         * testsuite/debug/printf_extension.c:
5021         * testsuite/dlopen/.cvsignore:
5022         * testsuite/dlopen/Makefile.am:
5023         * testsuite/dlopen/dlopen_gst.c:
5024         * testsuite/dlopen/loadgst.c:
5025         * testsuite/elements/.cvsignore:
5026         * testsuite/elements/Makefile.am:
5027         * testsuite/elements/gst-inspect-check.in:
5028         * testsuite/elements/struct_i386.h:
5029         * testsuite/elements/struct_size.c:
5030         * testsuite/indexers/.cvsignore:
5031         * testsuite/indexers/Makefile.am:
5032         * testsuite/indexers/cache1.c:
5033         * testsuite/indexers/indexdump.c:
5034         * testsuite/parse/.cvsignore:
5035         * testsuite/parse/Makefile.am:
5036         * testsuite/parse/parse1.c:
5037         * testsuite/parse/parse2.c:
5038         * testsuite/plugin/.cvsignore:
5039         * testsuite/plugin/Makefile.am:
5040         * testsuite/plugin/README:
5041         * testsuite/plugin/dynamic.c:
5042         * testsuite/plugin/linked.c:
5043         * testsuite/plugin/loading.c:
5044         * testsuite/plugin/registry.c:
5045         * testsuite/plugin/static.c:
5046         * testsuite/plugin/static2.c:
5047         * testsuite/plugin/testplugin.c:
5048         * testsuite/plugin/testplugin2.c:
5049         * testsuite/plugin/testplugin2_s.c:
5050         * testsuite/plugin/testplugin_s.c:
5051         * testsuite/refcounting/.cvsignore:
5052         * testsuite/refcounting/Makefile.am:
5053         * testsuite/refcounting/bin.c:
5054         * testsuite/refcounting/element.c:
5055         * testsuite/refcounting/element_pad.c:
5056         * testsuite/refcounting/mainloop.c:
5057         * testsuite/refcounting/mem.c:
5058         * testsuite/refcounting/mem.h:
5059         * testsuite/refcounting/object.c:
5060         * testsuite/refcounting/pad.c:
5061         * testsuite/refcounting/sched.c:
5062         * testsuite/refcounting/thread.c:
5063         * testsuite/states/.cvsignore:
5064         * testsuite/states/Makefile.am:
5065         * testsuite/states/bin.c:
5066         * testsuite/states/locked.c:
5067         * testsuite/states/parent.c:
5068         * testsuite/threads/.cvsignore:
5069         * testsuite/threads/159566.c:
5070         * testsuite/threads/159852.c:
5071         * testsuite/threads/Makefile.am:
5072         * testsuite/threads/queue.c:
5073         * testsuite/threads/signals.c:
5074         * testsuite/threads/staticrec.c:
5075         * testsuite/threads/thread.c:
5076         * testsuite/threads/threadb.c:
5077         * testsuite/threads/threadc.c:
5078         * testsuite/threads/threadd.c:
5079         * testsuite/threads/threade.c:
5080         * testsuite/threads/threadf.c:
5081         * testsuite/threads/threadg.c:
5082         * testsuite/threads/threadh.c:
5083         * testsuite/threads/threadi.c:
5084           move all of these under tests
5085
5086 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5087
5088         * configure.ac:
5089         * tests/Makefile.am:
5090           fix distcheck
5091
5092 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5093
5094         * docs/gst/gstreamer-sections.txt:
5095         * tests/sched/.cvsignore:
5096         * tests/sched/Makefile.am:
5097         * tests/sched/cases/(fs-fs).xml:
5098         * tests/sched/cases/(fs-i-fs).xml:
5099         * tests/sched/cases/(fs-i-i-fs).xml:
5100         * tests/sched/cases/(fs-i-q[i-fs]).xml:
5101         * tests/sched/dynamic-pipeline.c:
5102         * tests/sched/interrupt1.c:
5103         * tests/sched/interrupt2.c:
5104         * tests/sched/interrupt3.c:
5105         * tests/sched/runtestcases:
5106         * tests/sched/runxml.c:
5107         * tests/sched/sched-stress.c:
5108         * tests/sched/sort.c:
5109         * tests/sched/testcases:
5110         * tests/sched/testcases1.tc:
5111         * tests/seeking/.cvsignore:
5112         * tests/seeking/Makefile.am:
5113         * tests/seeking/seeking1.c:
5114         * tests/threadstate/.cvsignore:
5115         * tests/threadstate/Makefile.am:
5116         * tests/threadstate/test1.c:
5117         * tests/threadstate/test2.c:
5118         * tests/threadstate/threadstate1.c:
5119         * tests/threadstate/threadstate2.c:
5120         * tests/threadstate/threadstate3.c:
5121         * tests/threadstate/threadstate4.c:
5122         * tests/threadstate/threadstate5.c:
5123           remove obsolete tests
5124         * configure.ac:
5125         * tests/bench-complexity.scm:
5126         * tests/bench-mass_elements.scm:
5127         * tests/complexity.c:
5128         * tests/complexity.gnuplot:
5129         * tests/instantiate/.cvsignore:
5130         * tests/instantiate/Makefile.am:
5131         * tests/instantiate/caps.c:
5132         * tests/mass_elements.c:
5133         * tests/network-clock-utils.scm:
5134         * tests/network-clock.scm:
5135         * tests/plot-data:
5136         First pass at cleaning up tests/ dir before moving the rest
5137         Combined with CVS surgery
5138
5139 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5140
5141         * po/POTFILES.in:
5142           queue has moved, update
5143
5144 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5145
5146         * docs/gst/gstreamer-sections.txt:
5147           remove double entries from the docs
5148         * gst/gst_private.h:
5149         * gst/gstinfo.c: (_gst_debug_init):
5150           remove the THREAD debug category
5151         * gst/Makefile.am:
5152         * gst/gstqueue.c:
5153         * gst/gstqueue.h:
5154         * docs/gst/gstreamer.types:
5155         * plugins/elements/gstqueue.c: (gst_queue_get_type),
5156         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5157           completely move queue and fix up debugging categories
5158
5159 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5160
5161         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5162           make initialization portable, using LL is not
5163
5164 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5165
5166         * win32/common/gstconfig.h:
5167           add large padding
5168
5169 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5170
5171         * win32/common/libgstreamer.def:
5172           rename symbols; sort base section
5173
5174 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5175
5176         * gst/gstclock.c: (do_linear_regression):
5177           remove crack non-portable handrolled DEBUG macro
5178
5179 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5180
5181         * docs/random/release:
5182           update notes
5183         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5184         (gst_object_flags_get_type), (register_gst_bin_flags),
5185         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5186         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5187         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5188         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5189         (gst_caps_flags_get_type), (register_gst_clock_return),
5190         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5191         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5192         (gst_clock_flags_get_type), (register_gst_state),
5193         (gst_state_get_type), (register_gst_state_change_return),
5194         (gst_state_change_return_get_type), (register_gst_state_change),
5195         (gst_state_change_get_type), (register_gst_element_flags),
5196         (gst_element_flags_get_type), (register_gst_core_error),
5197         (gst_core_error_get_type), (register_gst_library_error),
5198         (gst_library_error_get_type), (register_gst_resource_error),
5199         (gst_resource_error_get_type), (register_gst_stream_error),
5200         (gst_stream_error_get_type), (register_gst_event_type_flags),
5201         (gst_event_type_flags_get_type), (register_gst_event_type),
5202         (gst_event_type_get_type), (register_gst_seek_type),
5203         (gst_seek_type_get_type), (register_gst_seek_flags),
5204         (gst_seek_flags_get_type), (register_gst_format),
5205         (gst_format_get_type), (register_gst_index_certainty),
5206         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5207         (gst_index_entry_type_get_type),
5208         (register_gst_index_lookup_method),
5209         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5210         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5211         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5212         (gst_index_flags_get_type), (register_gst_debug_level),
5213         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5214         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5215         (gst_iterator_result_get_type), (register_gst_iterator_item),
5216         (gst_iterator_item_get_type), (register_gst_message_type),
5217         (gst_message_type_get_type), (register_gst_mini_object_flags),
5218         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5219         (gst_pad_link_return_get_type), (register_gst_flow_return),
5220         (gst_flow_return_get_type), (register_gst_activate_mode),
5221         (gst_activate_mode_get_type), (register_gst_pad_direction),
5222         (gst_pad_direction_get_type), (register_gst_pad_flags),
5223         (gst_pad_flags_get_type), (register_gst_pad_presence),
5224         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5225         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5226         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5227         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5228         (gst_plugin_flags_get_type), (register_gst_rank),
5229         (gst_rank_get_type), (register_gst_query_type),
5230         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5231         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5232         (gst_tag_flag_get_type), (register_gst_task_state),
5233         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5234         (gst_alloc_trace_flags_get_type),
5235         (register_gst_type_find_probability),
5236         (gst_type_find_probability_get_type), (register_gst_uri_type),
5237         (gst_uri_type_get_type), (register_gst_parse_error),
5238         (gst_parse_error_get_type):
5239         * win32/common/gstenumtypes.h:
5240         * win32/common/gstversion.h:
5241           update visual studio generated files
5242
5243 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5244
5245         * win32/vs6/libgstbase.dsp:
5246         * win32/vs6/libgstelements.dsp:
5247           update project files for new locations
5248
5249 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5250
5251         * Makefile.am:
5252           remove some files
5253         * README:
5254           reinstate and update
5255         * DEVEL:
5256         * REQUIREMENTS:
5257           removed
5258         * LICENSE:
5259         * docs/random/LICENSE:
5260           moved to random
5261
5262 2005-11-30  Edward Hervey  <edward@fluendo.com>
5263
5264         * gst/gsttypefind.c: (gst_type_find_register):
5265         * gst/gsttypefind.h:
5266         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5267         (gst_type_find_factory_dispose):
5268         * gst/gsttypefindfactory.h:
5269         Fix memory leak in GstTypeFindFactory.
5270
5271 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5272
5273         * gst/gst.c:
5274         * plugins/elements/Makefile.am:
5275         * plugins/elements/gstelements.c:
5276         * plugins/elements/gstqueue.c:
5277           move queue from core to the elements plugin
5278
5279 2005-11-29  Andy Wingo  <wingo@pobox.com>
5280
5281         * libs/gst/base/gstbasetransform.h: 
5282         * libs/gst/base/gstbasesrc.h: 
5283         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5284
5285         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5286         of pointers by which to pad very extensible base classes (like the
5287         ones in libs/gst/base).
5288
5289 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5290
5291         * docs/gst/gstreamer-docs.sgml:
5292         * docs/gst/gstreamer-sections.txt:
5293         * docs/libs/gstreamer-libs-docs.sgml:
5294         * docs/libs/gstreamer-libs-sections.txt:
5295           moving documentation from core to lib
5296
5297 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5298
5299         * check/Makefile.am:
5300         * configure.ac:
5301         * docs/gst/Makefile.am:
5302         * gst/Makefile.am:
5303         * gst/base/.cvsignore:
5304         * gst/base/Makefile.am:
5305         * gst/base/README:
5306         * gst/base/gstadapter.c:
5307         * gst/base/gstadapter.h:
5308         * gst/base/gstbasesink.c:
5309         * gst/base/gstbasesink.h:
5310         * gst/base/gstbasesrc.c:
5311         * gst/base/gstbasesrc.h:
5312         * gst/base/gstbasetransform.c:
5313         * gst/base/gstbasetransform.h:
5314         * gst/base/gstcollectpads.c:
5315         * gst/base/gstcollectpads.h:
5316         * gst/base/gstpushsrc.c:
5317         * gst/base/gstpushsrc.h:
5318         * gst/base/gsttypefindhelper.c:
5319         * gst/base/gsttypefindhelper.h:
5320         * gst/check/Makefile.am:
5321         * gst/check/gstcheck.c:
5322         * gst/check/gstcheck.h:
5323         * gst/net/Makefile.am:
5324         * gst/net/gstnet.h:
5325         * gst/net/gstnetclientclock.c:
5326         * gst/net/gstnetclientclock.h:
5327         * gst/net/gstnettimepacket.c:
5328         * gst/net/gstnettimepacket.h:
5329         * gst/net/gstnettimeprovider.c:
5330         * gst/net/gstnettimeprovider.h:
5331         * libs/gst/Makefile.am:
5332         * libs/gst/base/Makefile.am:
5333         * libs/gst/base/gstbasetransform.c:
5334         * libs/gst/check/Makefile.am:
5335         * plugins/elements/Makefile.am:
5336         * po/POTFILES.in:
5337           CVS surgery + support to move base, check, and net out of gst
5338           and into libs/gst
5339
5340 2005-11-29  Andy Wingo  <wingo@pobox.com>
5341
5342         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5343
5344         * gst/gststructure.h (struct _GstStructure): Only one pointer of
5345         padding.
5346
5347         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5348
5349         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5350
5351         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5352
5353         * gst/gstobject.h: (struct _GstObject): Only one pointer of
5354         padding; reduces object size by about 30%. We don't expect
5355         anything else to go into gstobject.
5356
5357         * gst/gstminiobject.h (struct _GstMiniObject)
5358         (struct _GstMiniObjectClass): Only one pointer of padding; the
5359         payload is only a pointer and two ints anyway. For the class there
5360         are only two methods as well.
5361         
5362         * gst/gstelement.h (struct _GstElementClass): Removed
5363         the state_changed signal callback, it is not used.
5364
5365 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5366
5367         * docs/gst/gstreamer.types:
5368           fix includes, though they are a little dinky
5369
5370 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5371
5372         * check/Makefile.am:
5373           look in the right place for elements, a lot more chance of
5374           success
5375         * gst/Makefile.am:
5376           remove indexers and elements subdirs
5377         * plugins/Makefile.am:
5378           make indexers conditional
5379
5380 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5381
5382         * Makefile.am:
5383         * configure.ac:
5384         * plugins/elements/Makefile.am:
5385         * plugins/elements/gstcapsfilter.c:
5386         * plugins/elements/gstfilesink.c:
5387         * plugins/elements/gstfilesrc.c:
5388         * plugins/elements/gstidentity.c:
5389         * plugins/indexers/Makefile.am:
5390           do CVS surgery and related build fixery to move elements
5391           and indexers in a new gstreamer/plugins directory, out of the
5392           gst/ directory
5393
5394 2005-11-29  Andy Wingo  <wingo@pobox.com>
5395
5396         * check/Makefile.am:
5397         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5398         * pkgconfig/gstreamer-net.pc.in:
5399         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5400         #322257.
5401
5402 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5403
5404         * tools/Makefile.am:
5405         * tools/gst-complete.1.in:
5406         * tools/gst-complete.c:
5407         * tools/gst-compprep.1.in:
5408         * tools/gst-compprep.c:
5409           removing -compprep and -complete
5410
5411 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5412
5413         * gst/gstevent.c: (gst_event_new_new_segment),
5414         (gst_event_parse_new_segment):
5415         * gst/gstevent.h:
5416           fix #320529 - clean up new_segment API and structure.
5417           Let's hope everyone was using the methods, and not the structure.
5418
5419 2005-11-29  Edward Hervey  <edward@fluendo.com>
5420
5421         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5422         (gst_base_sink_event), (gst_base_sink_do_sync),
5423         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5424         Properly handle non GST_FORMAT_TIME segment
5425         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5426         Properly handle non GST_FORMAT_TIME segment
5427         * gst/gstsegment.c:
5428         This function is valid if the accumulator is 0 and the format
5429         is different from the requested format.
5430         
5431 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5432
5433         * docs/gst/gstreamer-sections.txt:
5434         Add gst_query_new_seeking and gst_query_parse_seeking to the
5435         docs.
5436
5437 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5438
5439         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5440           Treat a pad alloc with new caps the same as if we were not
5441           negotiated, in order to allow a changing upstream output
5442           to produce a new format of data.
5443
5444 2005-11-29  Edward Hervey  <edward@fluendo.com>
5445
5446         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5447         (gst_base_transform_event), (gst_base_transform_eventfunc):
5448         The event virtual method is now properly implemented, with a default
5449         handler
5450         Sub classes should call the parent_class event method. They should
5451         return FALSE if they had a problem handling the given event, or don't
5452         want GstBaseTransform to send that even downstream
5453         * gst/elements/gstidentity.c: (gst_identity_class_init),
5454         (gst_identity_init), (gst_identity_event),
5455         (gst_identity_transform_ip), (gst_identity_set_property),
5456         (gst_identity_get_property):
5457         * gst/elements/gstidentity.h:
5458         Added the single-segment boolean property.
5459         If set to TRUE, it will output a single segment of data, starting from
5460         0, will eat up all incoming newsegment, and modify the timestamp of the
5461         buffers accordingly
5462
5463 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
5464
5465         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
5466           Don't ref NULL target pad (#322751). Improve docs.
5467
5468 2005-11-29  Michael Smith  <msmith@fluendo.com>
5469
5470         * gst/gstregistryxml.c: (load_plugin):
5471           Don't crash if we failed to load a feature from a plugin. 
5472
5473 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5474
5475         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5476         (GST_START_TEST):
5477           use more check API and less GLib API
5478
5479 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5480
5481         * Makefile.am:
5482           don't run checks if we don't have check
5483         * common/check.mak:
5484           remove the registry when running make torture
5485         * docs/gst/gstreamer-sections.txt:
5486           remove second multiply
5487         * gst/gstqueue.c: (gst_queue_loop):
5488           fix a compile warning when disabling debug
5489
5490 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5491
5492         * gst/gstinfo.h:
5493         Hey! Let's print the pad name if the pointer != NULL instead
5494         of when it == NULL :-)
5495
5496 2005-11-28  Wim Taymans  <wim@fluendo.com>
5497
5498         * check/gst/gstutils.c: (GST_START_TEST):
5499         Updated check, add some scaling accuracy checking code.
5500
5501         * gst/gstutils.c: (gst_util_div128_64),
5502         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
5503         (gst_util_uint64_scale_int):
5504         Fix 6 times faster division code. Optimize for common 
5505         1/1 and less common X/1 cases.
5506
5507 2005-11-28  Wim Taymans  <wim@fluendo.com>
5508
5509         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5510         More checks.
5511
5512         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
5513         (do_linear_regression), (gst_clock_add_observation):
5514         Cleanups.
5515         Release lock when the clock cannot be slaved.
5516         Catch the case where the regression returned an invalid denominator.
5517
5518         * gst/gstutils.c: (gst_util_div128_64_iterate),
5519         (gst_util_div128_64), (gst_util_uint64_scale_int64),
5520         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5521         Add protentially more performant non-iterative 128/64 divide function
5522         that unfortunatly does not work yet.
5523         Shortcut the trivial 0/X = 0 case.
5524         Remove the warnings on overflow.
5525
5526 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5527
5528         * gst/gstplugin.c: (gst_plugin_register_func):
5529           everything causing a plugin not to load should be at least a WARNING
5530
5531 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
5532
5533         * docs/random/ensonic/dparams.txt:
5534           some TODOs for the next dev cycle
5535         * libs/gst/controller/gstcontroller.c:
5536         (gst_controlled_property_set_interpolation_mode),
5537         (gst_controlled_property_new):
5538         * libs/gst/controller/gstcontroller.h:
5539           use base type to assign acccessor functions
5540
5541 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5542
5543         * check/Makefile.am:
5544         Oops, that should have been top_srcdir
5545
5546 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5547
5548         * check/Makefile.am:
5549         * check/elements/fdsrc.c: (GST_START_TEST):
5550         Use a cmdline define to specify the location of a file to use for
5551         testing, to avoid breaking distcheck.
5552
5553 2005-11-28  Andy Wingo  <wingo@pobox.com>
5554
5555         * gst/gstpad.c (fixate_value): Use array functions for arrays.
5556
5557 2005-11-28  Edward Hervey  <edward@fluendo.com>
5558
5559         * tools/gst-launch.c: (main):
5560         Clarify the output strings, makes it easier to translate.
5561         Fixes #322626
5562
5563 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5564
5565         * gst/Makefile.am:
5566           don't try and build net if we don't even have <sys/socket.h>
5567
5568 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
5569
5570         * check/Makefile.am:
5571         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
5572         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
5573           Add tests for fdsrc seekability
5574
5575         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5576         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
5577         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
5578         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
5579         * gst/elements/gstfdsrc.h:
5580           fdsrc should not be a 'live' source.
5581           Implement seeking on seekable fd's.
5582
5583         * gst/gstquery.c: (gst_query_new_seeking),
5584         (gst_query_parse_seeking):
5585         * gst/gstquery.h:
5586           Implement SEEKING query functions: 
5587             *_new_seeking and *_parse_seeking
5588
5589 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
5590
5591         * gst/gstelement.c: (gst_element_dispose):
5592           don't loop forever
5593
5594         * gst/gstiterator.c:
5595         * gst/gststructure.c:
5596           doc fixes
5597
5598         * libs/gst/controller/gstcontroller.c:
5599         (gst_controlled_property_set_interpolation_mode):
5600         * libs/gst/controller/gstcontroller.h:
5601         * libs/gst/controller/gstinterpolation.c:
5602         (interpolate_none_get_enum_value_array):
5603           support controlling enums
5604
5605 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5606
5607         * gst/gstvalue.c:
5608           Improve documentation for gst_value_union().
5609
5610         * gst/gstvalue.h:
5611           Change return value for union, intersect and subtract functions
5612           from gint to gboolean.
5613
5614 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5615
5616         * gst/gstvalue.c: (gst_value_serialize_any_list),
5617         (gst_value_transform_any_list_string),
5618         (gst_value_deserialize_list), (gst_value_deserialize_array),
5619         (gst_value_set_int_range), (gst_value_deserialize_int_range),
5620         (gst_value_set_double_range), (gst_value_deserialize_double_range),
5621         (gst_value_set_fraction_range_full),
5622         (gst_value_deserialize_fraction_range),
5623         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
5624         (gst_value_deserialize_boolean),
5625         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
5626         (gst_value_serialize_float), (gst_value_deserialize_float),
5627         (gst_string_wrap), (gst_value_deserialize_string),
5628         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
5629         (gst_value_union_int_range_int_range),
5630         (gst_value_intersect_int_range_int_range),
5631         (gst_value_intersect_double_range_double_range),
5632         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
5633         (gst_value_subtract_int_range_int_range),
5634         (gst_value_subtract_double_double_range),
5635         (gst_value_subtract_double_range_double_range),
5636         (gst_value_deserialize_fraction):
5637         * gst/gstvalue.h:
5638           Use gint, gdouble and gchar in our API instead of int, double and
5639           char (and make usage in gstvalue.c more consistent).
5640
5641 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5642
5643         * check/Makefile.am:
5644         * libs/gst/controller/Makefile.am:
5645         * libs/gst/dataprotocol/Makefile.am:
5646           fix up Makefile.am and remove GST_ENABLE_NEW
5647
5648 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5649
5650         * configure.ac:
5651         * gst/Makefile.am:
5652         * gst/base/Makefile.am:
5653         * gst/check/Makefile.am:
5654         * gst/elements/Makefile.am:
5655         * gst/net/Makefile.am:
5656           update LDFLAGS use some more
5657
5658 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5659
5660         * common/m4/gst-doc.m4:
5661           Fixes #312589
5662
5663 2005-11-26  Edward Hervey  <edward@fluendo.com>
5664
5665         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5666         This shouldn't issue a g_warning since it returns NULL if it
5667         couldn't find the plugin, and all functions using this behave
5668         properly on a NULL return. Switching to a GST_WARNING.
5669
5670 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
5671
5672         * gst/gstbin.c: (gst_bin_handle_message_func):
5673         Don't leak clock messages.
5674
5675 2005-11-25  Wim Taymans  <wim@fluendo.com>
5676
5677         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5678         (gst_util_uint64_scale_int):
5679         Optimisations, remove unneeded vars.
5680
5681 2005-11-25  Wim Taymans  <wim@fluendo.com>
5682
5683         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5684         Added more checks for the high precision uint64 cases.
5685
5686         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5687         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5688         Implement high precision (guint64 * guint64) / guint64.
5689
5690 2005-11-24  Wim Taymans  <wim@fluendo.com>
5691
5692         * gst/base/gstbasesrc.c: (gst_base_src_query):
5693         Fix wrong percentage query.
5694
5695         * gst/gstutils.c: (gst_util_uint64_scale),
5696         (gst_util_uint64_scale_int):
5697         Add some more common cases that can be handled 
5698         efficiently to _scale.
5699
5700 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5701
5702         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
5703         (gst_mini_object_suite):
5704           don't use check calls from threads; check probably isn't
5705           threadsafe and using a lock to make it threadsafe would
5706           defeat the purpose of this check
5707         * gst/check/gstcheck.c:
5708         * gst/check/gstcheck.h:
5709           use GST_DEBUG some more
5710
5711 2005-11-24  Wim Taymans  <wim@fluendo.com>
5712
5713         * gst/gstutils.c: (gst_util_uint64_scale),
5714         (gst_util_uint64_scale_int):
5715         Chain trivial case to _scale_int.
5716
5717 2005-11-24  Wim Taymans  <wim@fluendo.com>
5718
5719         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5720         Added test for scaling.
5721
5722         * gst/gstclock.h:
5723         Small doc fix.
5724
5725         * gst/gstutils.c: (gst_util_uint64_scale_int):
5726         Implemented high precision scaling code.
5727
5728 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
5729
5730         * gst/gstinfo.h:
5731           do not crash on pad==NULL
5732
5733 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5734
5735         Patch by: Stefan Kost
5736
5737         * common/gtk-doc.mak:
5738         * docs/gst/Makefile.am:
5739         * docs/libs/Makefile.am:
5740           Fix distcheck issues for the libraries docs build
5741           Closes #319599.
5742
5743 2005-11-24  Michael Smith <msmith@fluendo.com>
5744
5745         * docs/manual/basics-helloworld.xml:
5746           Fix bug #315027: memory leak in example code in docs.
5747
5748 2005-11-24  Michael Smith <msmith@fluendo.com>
5749
5750         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5751           Unlock the PREROLL_LOCK in a failure case.
5752
5753 2005-11-24  Wim Taymans  <wim@fluendo.com>
5754
5755         * docs/gst/gstreamer-sections.txt:
5756         * gst/base/gstadapter.h:
5757         * gst/base/gstbasesink.h:
5758         * gst/base/gstbasesrc.h:
5759         * gst/base/gstbasetransform.h:
5760         * gst/base/gstpushsrc.h:
5761         * gst/elements/gstfakesink.h:
5762         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
5763         * gst/elements/gstfakesrc.h:
5764         * gst/elements/gstfilesink.h:
5765         * gst/elements/gstfilesrc.h:
5766         * gst/gst.c:
5767         * gst/gstbin.c:
5768         * gst/gstbuffer.c: (_gst_buffer_copy):
5769         * gst/gstbus.h:
5770         * gst/gstcaps.c:
5771         * gst/gstchildproxy.c:
5772         * gst/gstclock.c:
5773         * gst/gstelement.c:
5774         * gst/gstelementfactory.c:
5775         * gst/gstelementfactory.h:
5776         * gst/gstevent.c:
5777         * gst/gstghostpad.h:
5778         * gst/gstindex.h:
5779         * gst/gstinterface.h:
5780         * gst/gstminiobject.c:
5781         * gst/gstminiobject.h:
5782         * gst/gstpad.c:
5783         * gst/gstpad.h:
5784         * gst/gstpadtemplate.h:
5785         * gst/gstpipeline.h:
5786         * gst/gstpluginfeature.h:
5787         * gst/gstquery.h:
5788         * gst/gstqueue.h:
5789         * gst/gsttaglist.c:
5790         * gst/gsttaglist.h:
5791         * gst/gsttagsetter.c:
5792         * gst/gsttagsetter.h:
5793         * gst/gsttrace.c:
5794         * gst/gsttrace.h:
5795         * gst/gsttypefind.h:
5796         * gst/gsturi.h:
5797         * gst/gstvalue.c:
5798         * gst/net/gstnetclientclock.c:
5799         * gst/net/gstnetclientclock.h:
5800         * gst/net/gstnettimepacket.c:
5801         * gst/net/gstnettimeprovider.c:
5802         * gst/net/gstnettimeprovider.h:
5803         Doc fixes.
5804
5805 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5806
5807         * configure.ac: back to HEAD
5808
5809 === release 0.9.6 ===
5810
5811 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
5812
5813         * configure.ac:
5814           releasing 0.9.6, "Always On Time"
5815
5816 2005-11-23  Wim Taymans  <wim@fluendo.com>
5817
5818         * docs/gst/gstreamer-sections.txt:
5819         * gst/glib-compat.c:
5820         * gst/gsttagsetter.c:
5821         * gst/gstvalue.c:
5822         * gst/net/gstnetclientclock.c:
5823         * gst/net/gstnettimepacket.h:
5824         Doc updates.
5825
5826 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5827
5828         * docs/faq/using.xml:
5829         * docs/libs/tmpl/gstcontrol.sgml:
5830         * docs/manual/advanced-dparams.xml:
5831         * docs/manual/appendix-checklist.xml:
5832         * docs/manual/basics-elements.xml:
5833         * docs/pwg/other-source.xml:
5834         * docs/random/moving-plugins:
5835         * gst/gstpad.c:
5836         * tools/gst-launch.1.in:
5837           remove mentions of sinesrc
5838
5839 2005-11-23  Michael Smith <msmith@fluendo.com>
5840
5841         * docs/gst/gstreamer-sections.txt:
5842           Update for new API and API changes.
5843         * gst/gstobject.h:
5844           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
5845         * gst/gstvalue.c:
5846           Documentation typo fix.
5847         * gst/net/gstnettimepacket.c:
5848           Documentation fixes for arguments.
5849
5850 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
5851
5852         * gst/gststructure.c: (gst_structure_get_fraction),
5853         (gst_structure_parse_value),
5854         (gst_structure_fixate_field_nearest_fraction):
5855         * gst/gststructure.h:
5856         * gst/gstutils.c: (gst_util_uint64_scale_int):
5857         * gst/gstutils.h:
5858         * scripts/update-funcnames:
5859         API Changes. 
5860         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
5861         Make gst_structure_fixate_field_nearest_fraction take a numerator
5862         and denominator argument instead of a GValue
5863         add gst_structure_get_fraction helper function.
5864
5865 2005-11-23  Wim Taymans  <wim@fluendo.com>
5866
5867         * docs/design/part-TODO.txt:
5868         Update TODO.
5869
5870         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5871         * gst/net/gstnetclientclock.h:
5872         Use parent fields for timeout and window_size.
5873
5874 2005-11-23  Andy Wingo  <wingo@pobox.com>
5875
5876         * check/net/gstnetclientclock.c (test_functioning): Adjust to
5877         rate_num/rate_denom change.
5878
5879         * gst/net/gstnetclientclock.c
5880         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
5881         OBJECT_LOCK. Don't call add_observation with the lock.
5882
5883         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
5884         fraction.
5885         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
5886         rate fraction.
5887         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
5888         deal with rate as a fraction whose numerator and denominator are
5889         GstClockTime values.
5890         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
5891         master; the other fields are protected by the SLAVE_LOCK.
5892         (do_linear_regression): Note that this must be called with the
5893         SLAVE_LOCK.
5894         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
5895         OBJECT_LOCK. Call set_calibration instead of touching the
5896         variables directly.
5897         (gst_clock_set_property, gst_clock_get_property): Protect
5898         master/slave parameters with the SLAVE_LOCK.
5899
5900         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
5901         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
5902         note that all of the instance variables that add_observation and
5903         the set_master functions use are protected by that lock and not
5904         the OBJECT_LOCK.
5905         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
5906
5907         * gst/gstclock.c (gst_clock_add_observation): No longer requires
5908         the caller to take the object lock.
5909
5910 2005-11-23  Wim Taymans  <wim@fluendo.com>
5911
5912         * gst/gsterror.c: (_gst_core_errors_init):
5913         * gst/gsterror.h:
5914         Add error for clock stuff.
5915
5916         * gst/gstpipeline.c: (gst_pipeline_change_state),
5917         (gst_pipeline_set_clock):
5918         Post clock error when clock cannot be used in a pipeline.
5919
5920 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
5921
5922         * docs/gst/gstreamer-sections.txt:
5923           make two symbols from gstinfo private for the docs
5924         * gst/base/gstcollectpads.h:
5925         * gst/gstutils.c:
5926           fix doc typos, update docs
5927
5928 2005-11-22  Wim Taymans  <wim@fluendo.com>
5929
5930         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
5931         (gst_base_sink_wait), (gst_base_sink_do_sync),
5932         (gst_base_sink_handle_event):
5933         * gst/base/gstbasesink.h:
5934         No need to store the clock, the parent element class already
5935         has it.
5936
5937         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
5938         Updates for clock_set returning a gboolean
5939
5940         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
5941         (gst_clock_id_wait_async), (gst_clock_class_init),
5942         (gst_clock_init), (gst_clock_finalize),
5943         (gst_clock_get_internal_time), (gst_clock_get_time),
5944         (gst_clock_slave_callback), (gst_clock_set_master),
5945         (gst_clock_get_master), (do_linear_regression),
5946         (gst_clock_add_observation), (gst_clock_set_property),
5947         (gst_clock_get_property):
5948         * gst/gstclock.h:
5949         Implement master/slave. When setting a clock as a slave, a
5950         periodic timeout is scheduled to sample master and slave times.
5951         Then the slave clock is recalibrated to match offset and rate
5952         of the master clock.
5953         Update logging a bit.
5954         Add flag so that a clock can state that is cannot be slaved to
5955         another clock.
5956
5957         * gst/gstelement.c: (gst_element_set_clock):
5958         * gst/gstelement.h:
5959         The set clock returns a gboolean for when an element cannot
5960         deal with the selected clock in the pipeline. 
5961
5962         * gst/gstpipeline.c: (gst_pipeline_change_state),
5963         (gst_pipeline_set_clock):
5964         * gst/gstpipeline.h:
5965         Handle the case where the selected clock cannot be set on
5966         the pipeline.
5967
5968         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
5969         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
5970         (gst_net_client_clock_set_property),
5971         (gst_net_client_clock_get_property),
5972         (gst_net_client_clock_observe_times):
5973         * gst/net/gstnetclientclock.h:
5974         Use regression code in GstClock parent, remove duplicated
5975         functionality.
5976
5977 2005-11-22  Michael Smith <msmith@fluendo.com>
5978
5979         * gst/gstutils.c: (gst_util_clock_time_scale):
5980         * gst/gstutils.h:
5981         * docs/gst/gstreamer-sections.txt:
5982           Rename method to have extra underscore.
5983
5984 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5985
5986         * gst/elements/Makefile.am:
5987         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
5988         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
5989         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
5990         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
5991         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
5992         * gst/elements/gstfakesrc.h:
5993         * gst/gstqueue.c: (queue_leaky_get_type):
5994           correctly fix GEnumValues so that nick is the short lowercase
5995           dashed tag
5996         * tools/gst-inspect.c: (print_element_properties_info):
5997           also show the nick, since it's useful to use from parse_launch
5998           syntax
5999           Fixes #322139
6000
6001 2005-11-22  Michael Smith <msmith@fluendo.com>
6002
6003         * gst/gstutils.c: (gst_util_clocktime_scale):
6004         * gst/gstutils.h:
6005         * docs/gst/gstreamer-sections.txt:
6006           Add util method for scaling a clocktime by a fraction. Useful 
6007           implementation is left as an exercise for the reader.
6008
6009 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6010
6011         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6012         If needed, allocate storage in the destination value during
6013         collection.
6014
6015 2005-11-22  Edward Hervey  <edward@fluendo.com>
6016
6017         * docs/gst/gstreamer-sections.txt:
6018         * gst/Makefile.am:
6019         * gst/gst.h:
6020         * gst/gsturitype.c:
6021         * gst/gsturitype.h:
6022         * gst/gstutils.c: (gst_util_set_object_arg):
6023         * tools/gst-compprep.c: (main):
6024         * tools/gst-inspect.c: (print_element_properties_info):
6025         Removed GstURI, closes bug #321061
6026
6027 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6028
6029         * check/gst/gststructure.c: (GST_START_TEST):
6030         * gst/gststructure.c: (gst_structure_parse_value):
6031           Oops, broke automatic string type parsing.
6032           Add a test to catch it in future.
6033
6034 2005-11-22  Andy Wingo  <wingo@pobox.com>
6035
6036         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
6037         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6038         Actually rename the function implementations. Grr.
6039
6040 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6041
6042         * check/gst/capslist.h:
6043           Comment test cases
6044         * check/gst/gststructure.c: (GST_START_TEST),
6045         (gst_structure_suite):
6046           Test automatic value type detection in gst_structure_from_string.
6047         * gst/gststructure.c: (gst_structure_parse_value):
6048           Add fraction as a type we try and guess automatically in
6049           caps/structure strings.
6050
6051 2005-11-22  Andy Wingo  <wingo@pobox.com>
6052
6053         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6054
6055         * gst/gsttagsetter.h:
6056         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6057         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6058         (gst_tag_setter_add_tag_valist)
6059         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6060         _add_values, _add_valist, and _add_valist_values. Since this is an
6061         interface the function suffixes should be more explicit so
6062         language binding don't end up with element.add_valist ->
6063         gst_tag_setter_add_valist, for example. Fixes #322069.
6064
6065 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6066
6067         * check/gst/gstcaps.c: (GST_START_TEST):
6068           Extend caps string tests to check that a caps to string
6069           conversion is reversible and produces the same caps.
6070
6071         * gst/gststructure.c: (gst_structure_value_get_generic_type):
6072           Output "fraction" as the generic type fraction range, so caps
6073           serialisation and deserialisation works.
6074         * check/gst/capslist.h:
6075         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6076           Support 'MIN' and 'MAX' for deserialising fractions.
6077
6078 2005-11-22  Andy Wingo  <wingo@pobox.com>
6079
6080         * gst/gstevent.h (gst_event_new_new_segment)
6081         (gst_event_parse_new_segment, gst_event_new_buffer_size)
6082         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6083         Renamed from *_newsegment, *_buffersize, *_notarget.
6084
6085         * scripts/update-funcnames: New script, performs the changes
6086         listed above.
6087
6088 2005-11-22  Wim Taymans  <wim@fluendo.com>
6089
6090         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6091         Make sure the GstFlowReturn is returned.
6092
6093         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6094         (gst_bus_add_signal_watch):
6095         * gst/gstbus.h:
6096         add gst_bus_add_signal_watch_full.
6097
6098         * gst/gstplugin.c: (gst_plugin_load_file):
6099         Small style cleanup.
6100
6101 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6102
6103         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6104           Block the fakesrc srcpad when we send an event, to avoid
6105           contention on the stream_lock causing random test failures.
6106
6107 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6108
6109         * check/gst/gstvalue.c: (GST_START_TEST):
6110         * gst/gstvalue.c: (gst_value_fraction_subtract):
6111           Fix subtraction.
6112
6113 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
6114
6115         * gst/gst.h:
6116           include "gstchildproxy.h"
6117         * gst/gstchildproxy.h:
6118         * libs/gst/controller/gstcontroller.h:
6119           use G_GNUC_NULL_TERMINATED
6120
6121 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6122
6123         * check/gst/capslist.h:
6124         * check/gst/gstcaps.c: (GST_START_TEST):
6125         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6126         * gst/gststructure.c: (gst_structure_parse_range),
6127         (gst_structure_fixate_field_nearest_fraction):
6128         * gst/gststructure.h:
6129         * gst/gstvalue.c: (gst_value_init_fraction_range),
6130         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6131         (gst_value_collect_fraction_range),
6132         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6133         (gst_value_set_fraction_range_full),
6134         (gst_value_get_fraction_range_min),
6135         (gst_value_get_fraction_range_max),
6136         (gst_value_serialize_fraction_range),
6137         (gst_value_transform_fraction_range_string),
6138         (gst_value_compare_fraction_range),
6139         (gst_value_deserialize_fraction_range),
6140         (gst_value_intersect_fraction_fraction_range),
6141         (gst_value_intersect_fraction_range_fraction_range),
6142         (gst_value_subtract_fraction_fraction_range),
6143         (gst_value_subtract_fraction_range_fraction),
6144         (gst_value_subtract_fraction_range_fraction_range),
6145         (gst_value_collect_fraction), (gst_value_fraction_multiply),
6146         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6147         (gst_value_transform_string_fraction), (_gst_value_initialize):
6148         * gst/gstvalue.h:
6149           Implement fraction ranges and extend GstFraction to support
6150           arithmetic subtraction, as well as deserialization from integer
6151           strings such as "100"
6152           Add a testsuite as for int and double range set operations
6153
6154 2005-11-21  Andy Wingo  <wingo@pobox.com>
6155
6156         * gst/gsttaglist.h: 
6157         * gst/gstcaps.h: 
6158         * gst/gststructure.h: Add glib-compat.h.
6159
6160 2005-11-21  Wim Taymans  <wim@fluendo.com>
6161
6162         * gst/gstbin.c: (gst_bin_change_state_func):
6163         Fix for #321595
6164
6165 2005-11-21  Wim Taymans  <wim@fluendo.com>
6166
6167         * gst/gstsegment.h:
6168         And add a nice define too.
6169
6170 2005-11-21  Wim Taymans  <wim@fluendo.com>
6171
6172         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6173         (gst_segment_new), (gst_segment_free), (gst_segment_init),
6174         (gst_segment_set_duration), (gst_segment_set_last_stop),
6175         (gst_segment_set_seek), (gst_segment_set_newsegment),
6176         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6177         (gst_segment_clip):
6178         * gst/gstsegment.h:
6179         Make binding friendly.
6180
6181 2005-11-21  Andy Wingo  <wingo@pobox.com>
6182
6183         * gst/gsttagsetter.h: 
6184         * gst/gsttaglist.h: 
6185         * gst/gststructure.h: 
6186         * gst/gstcaps.h: 
6187         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6188         #319940.
6189
6190         * gst/gsterror.c (_gst_core_errors_init):
6191         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6192         category.
6193
6194         * gst/Makefile.am (gst_headers): Add glib-compat.h.
6195         (noinst_HEADERS): noinst the -private.
6196
6197 2005-11-21  Michael Smith <msmith@fluendo.com>
6198
6199         * gst/gstplugin.h:
6200         * gst/gstregistry.h:
6201           Remove unimplemented declarations for which we can see no sensible
6202           use.
6203
6204 2005-11-21  Andy Wingo  <wingo@pobox.com>
6205
6206         * gst/gst.h: Include glib-compat.h.
6207
6208         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6209
6210         * gst/glib-compat.c: Include the public and the private header.
6211
6212         * gst/glib-compat-private.h: Copied here from glib-compat.h.
6213
6214         * gst/gstvalue.c: 
6215         * gst/gstpad.c: 
6216         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6217
6218         * check/gst/gstevent.c (create_custom_events): Check that
6219         FLUSH_STOP is serialized.
6220
6221         * check/elements/identity.c (event_func): 
6222         * check/elements/fakesrc.c (event_func): No stream lock, the core
6223         takes it.
6224
6225         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6226         stream lock taking, yay.
6227
6228         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6229         ensure that core takes the stream lock.
6230
6231         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6232         lock name change.
6233
6234         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6235         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6236         it already. For the flush start we do take it though so we get the
6237         right preroll state change messages.
6238
6239         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6240         the stream lock here, the core does it for us.
6241
6242         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6243         GST_STREAM_GET_LOCK.
6244         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
6245         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
6246         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6247         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6248         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
6249         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6250
6251         * gst/gstpad.c: Update for stream lock name change.
6252
6253         * gst/base/gstbasesink.c: Update for preroll lock name change.
6254
6255 2005-11-21  Wim Taymans  <wim@fluendo.com>
6256
6257         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6258         (gst_clock_get_master):
6259         * gst/gstclock.h:
6260         * gst/gstsystemclock.c: (gst_system_clock_init):
6261         Convert Clock flags to object flags.
6262         Added methods to manage master/slave clocks.
6263
6264 2005-11-21  Wim Taymans  <wim@fluendo.com>
6265
6266         * check/gst/gstsegment.c: (GST_START_TEST):
6267         * docs/design/part-TODO.txt:
6268         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6269         (gst_base_sink_event), (gst_base_sink_do_sync),
6270         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6271         (gst_base_sink_query), (gst_base_sink_change_state):
6272         * gst/base/gstbasesink.h:
6273         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6274         (gst_base_src_default_newsegment),
6275         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6276         (gst_base_src_get_range), (gst_base_src_loop),
6277         (gst_base_src_change_state):
6278         * gst/base/gstbasesrc.h:
6279         * gst/base/gstbasetransform.c:
6280         (gst_base_transform_prepare_output_buf),
6281         (gst_base_transform_event), (gst_base_transform_change_state):
6282         * gst/base/gstbasetransform.h:
6283         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6284         (gst_collect_pads_event):
6285         * gst/base/gstcollectpads.h:
6286         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6287         (gst_fake_src_create):
6288         * gst/elements/gstfakesrc.h:
6289         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6290         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6291         (gst_segment_set_last_stop), (gst_segment_set_seek),
6292         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6293         (gst_segment_to_running_time), (gst_segment_clip):
6294         * gst/gstsegment.h:
6295         More segment updates, replace code in plugins with segment
6296         helper functions.
6297
6298 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6299
6300         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6301         Don't ignore sscanf results
6302
6303 2005-11-21  Andy Wingo  <wingo@pobox.com>
6304
6305         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6306
6307         * *.h:
6308         * *.c: Ran scripts/update-macros. Oh yes.
6309
6310         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6311         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6312         GST_GET_LOCK, etc.
6313
6314         * scripts/update-macros: New script. Run it on your files to
6315         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6316         well.
6317
6318 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6319
6320         * docs/gst/Makefile.am:
6321         * docs/gst/gstreamer-docs.sgml:
6322         * docs/gst/gstreamer-sections.txt:
6323         * docs/gst/gstreamer.types:
6324         * gst/gstinfo.h:
6325           more docs fixes, add new api to the docs
6326
6327 2005-11-21  Andy Wingo  <wingo@pobox.com>
6328
6329         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6330         state_broadcast call.
6331
6332         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6333
6334 2005-11-21  Julien MOUTTE  <julien@moutte.net>
6335
6336         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6337         function calls for arrays.
6338
6339 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6340
6341         * docs/random/ensonic/media-device-daemon.txt:
6342           wild idea, can this be done?
6343         * docs/gst/gstreamer-sections.txt:
6344         * gst/gsterror.h:
6345         * gst/gstfilter.c:
6346         * gst/gstfilter.h:
6347         * gst/gstplugin.h:
6348         * gst/gstpluginfeature.c:
6349         * gst/gsttrace.c:
6350         * gst/gstvalue.c:
6351         * gst/gstvalue.h:
6352           doc fixes and additions
6353
6354 2005-11-21  Andy Wingo  <wingo@pobox.com>
6355
6356         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
6357         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
6358         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
6359         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6360         private to the basesrc implementation.
6361
6362         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6363         behalf of event function if necessary. It should no longer be
6364         necessary to take the stream lock in pad's event functions. Fixes
6365         #320299.
6366
6367 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6368         * docs/gst/gstreamer-sections.txt:
6369         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6370         (gst_structure_fixate_field_nearest_double),
6371         (gst_structure_fixate_field_boolean):
6372         * gst/gststructure.h:
6373         * win32/common/libgstreamer.def:
6374         * win32/gstreamer.def:
6375
6376         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6377         (#322027)
6378
6379 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6380
6381         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6382         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6383         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6384         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6385         (gst_fdsrc_uri_handler_init):
6386         * gst/elements/gstfdsrc.h:
6387           Port fd:// URI handler from 0.8 to fdsrc
6388
6389 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6390
6391         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6392         (gst_value_serialize_fourcc):
6393         * gst/gstvalue.h:
6394           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6395           consistent with our other format defines (#320324).
6396
6397 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6398
6399         * gst/gstvalue.c: (gst_value_is_fixed):
6400           Revert previous commit. Value lists are by definition
6401           not fixed, as they are a list of possible values.
6402
6403 2005-11-21  Andy Wingo  <wingo@pobox.com>
6404
6405         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6406         during the stable series if we need it. Fixes #319178.
6407
6408         * gst/gstevent.c (gst_event_new_filler): Removed.
6409
6410         * check/gst/gstevent.c: Update comment about filler events.
6411
6412 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6413
6414         * gst/gstvalue.c: (gst_value_is_fixed):
6415           Should handle both value arrays and value lists.
6416
6417 2005-11-21  Andy Wingo  <wingo@pobox.com>
6418
6419         patch by: Alessandro Dessina <alessandro nnva org>
6420
6421         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6422         functions to access arrays. Fixes #321962.
6423
6424 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6425
6426         * docs/gst/gstreamer.types:
6427           gst_collectpads_get_type => gst_collect_pads_get_type.
6428           
6429         * gst/base/gstbasetransform.c:
6430           Remove unused SIGNAL_HANDOFF enum.
6431
6432 2005-11-21  Andy Wingo  <wingo@pobox.com>
6433
6434         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6435         the event type (upstream, downstream, serialized). Renamed
6436         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6437         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6438         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6439
6440         * gst/gstevent.c: Update for new CUSTOM event names.
6441
6442         * check/gst/gstevent.c: Update check for new CUSTOM event names.
6443
6444         * gst/gstevent.h:
6445         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
6446         bug #319392.
6447
6448 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6449
6450         * docs/gst/gstreamer-sections.txt:
6451         * win32/common/libgstbase.def:
6452         * win32/libgstbase.def:
6453         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6454         (gst_collect_pads_class_init), (gst_collect_pads_init),
6455         (gst_collect_pads_finalize), (gst_collect_pads_new),
6456         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
6457         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
6458         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
6459         (gst_collect_pads_start), (gst_collect_pads_stop),
6460         (gst_collect_pads_peek), (gst_collect_pads_pop),
6461         (gst_collect_pads_available), (gst_collect_pads_read),
6462         (gst_collect_pads_flush), (gst_collect_pads_event),
6463         (gst_collect_pads_chain):
6464         * gst/base/gstcollectpads.h:
6465           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
6466           unimplemented functions as unimplemented. Add padding to
6467           GstCollectData. (#320766, #320423)
6468
6469 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6470
6471         * gst/gstmessage.c:
6472           Improve docs for DURATION message (usage of duration parameter)
6473           (#320113)
6474
6475 2005-11-20  Wim Taymans  <wim@fluendo.com>
6476
6477         * check/Makefile.am:
6478         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
6479         (main):
6480         * gst/Makefile.am:
6481         * gst/gst.h:
6482         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6483         (gst_segment_set_seek), (gst_segment_set_newsegment),
6484         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6485         (gst_segment_clip):
6486         * gst/gstsegment.h:
6487         Added segment helper structure and methods. Not fully implemented
6488         yet.
6489         Added segment check.
6490
6491 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
6492
6493         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6494           Add a deserialisation test for fractions
6495         * examples/metadata/read-metadata.c: (message_loop),
6496         (make_pipeline), (main):
6497           Fix up metadata reading sample.
6498         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6499           Debug format fix
6500         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6501           Don't try and fixate empty caps
6502         * gst/gst_private.h:
6503           Wrap in G_BEGIN_DECLS/G_END_DECLS
6504         * gst/gstvalue.c: (gst_value_collect_fraction),
6505         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
6506         (gst_value_transform_string_fraction),
6507         (gst_value_compare_fraction):
6508           Add some extra guards to ensure that we don't end up 
6509           with an invalid denominator of 0 in a gstfraction and
6510           that fractions always get reduced.
6511
6512 2005-11-20  Wim Taymans  <wim@fluendo.com>
6513
6514         * docs/gst/gstreamer-sections.txt:
6515         * gst/gstbuffer.h:
6516         * gst/gstelement.c:
6517         * gst/gstformat.c:
6518         * gst/gstformat.h:
6519         * gst/gstindex.h:
6520         * gst/gstquery.c:
6521         * gst/gstquery.h:
6522         * gst/gstvalue.c:
6523         Doc fixes.
6524
6525 2005-11-20  Wim Taymans  <wim@fluendo.com>
6526
6527         * docs/design/part-TODO.txt:
6528         * gst/gstcaps.h:
6529         Make a proper enum of the flag.
6530
6531 2005-11-19  Wim Taymans  <wim@fluendo.com>
6532
6533         * docs/design/part-TODO.txt:
6534         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
6535         (gst_format_to_quark), (gst_format_register):
6536         * gst/gstformat.h:
6537         * gst/gstquery.c: (_gst_query_initialize),
6538         (gst_query_type_get_name), (gst_query_type_to_quark),
6539         (gst_query_type_register):
6540         * gst/gstquery.h:
6541         Add type to quark and type to string conversions.
6542
6543 2005-11-19  Andy Wingo  <wingo@pobox.com>
6544
6545         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
6546         #320097.
6547
6548 2005-11-19  Wim Taymans  <wim@fluendo.com>
6549
6550         * docs/design/part-TODO.txt:
6551         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6552         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
6553         (gst_bin_handle_message_func):
6554         * gst/gstbin.h:
6555         Make message handling overridable.
6556
6557 2005-11-19  Andy Wingo  <wingo@pobox.com>
6558
6559         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
6560
6561         * gst/gstclock.h:
6562         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
6563         be a GstClockTime.
6564         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
6565         is a GstClockTime. Fixes #321710.
6566
6567         * gst/gstclock.h (GstClock): Remove offset property. Add
6568         internal_calibration and external_calibration. Fix padding. Pad
6569         also by GstClockTime so we don't run into problems.
6570
6571         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
6572         (gst_clock_get_rate_offset): Remove.
6573         (gst_clock_set_time_adjust): Remove. Fixes #321712.
6574
6575         * gst/gstutils.h:
6576         * gst/gstutils.c (g_static_rec_cond_wait)
6577         (g_static_rec_cond_timed_wait): Removed, no longer needed.
6578
6579         * gst/gstbin.c: Remove terrible continue_state prototype.
6580
6581         * gst/gstelement.h (gst_element_continue_state): Make public.
6582
6583         * gst/gstelement.h:
6584         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
6585         by continue_state. Fixes #319389.
6586
6587         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
6588         Really fixes #168438. However I don't see anywhere where the
6589         filter function is called... stupid GStreamer...
6590         
6591         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
6592         don't have a dispose function, so it won't get called when the
6593         object is unreffed, but oh well!
6594
6595         * gst/gstindex.c (gst_index_set_filter_full): New API function,
6596         allows a destroy function to be set so user_data can be freed.
6597         Fixes #168438.
6598         (gst_index_set_filter): Call gst_index_set_filter_full.
6599
6600         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
6601
6602         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
6603         string should produce an error, given the lack of a way to
6604         represent NULL strings. Fixes #165650.
6605         
6606         * gst/gstvalue.h: 
6607         * gst/gstvalue.c (gst_value_array_append_value) 
6608         (gst_value_array_prepend_value, gst_value_array_get_size) 
6609         (gst_value_array_get_value): New API, copied from
6610         gst_value_list_*, only operates on arrays.
6611         (gst_value_list_append_value, gst_value_list_prepend_value) 
6612         (gst_value_list_concat, gst_value_list_get_size) 
6613         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
6614
6615         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
6616         init_list, because it works on both.
6617         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
6618         (gst_value_copy_list_or_array): Renamed from copy_list.
6619         (gst_value_free_list_or_array): Renamed from free_list.
6620         (gst_value_collect_list_or_array): Renamed from collect_list.
6621         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
6622         (gst_value_list_or_array_peek_pointer): Renamed from
6623         list_peek_pointer.
6624         (_gst_value_array_value_table, _gst_value_list_value_table):
6625         Update value table functions.
6626         (gst_value_compare_list_or_array): Renamed from compare_list.
6627
6628         * gsttaglist.h: Whoops, foreach function returns void. Also fix
6629         some constness.
6630
6631         * gst/gsttaglist.c:
6632         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
6633         GstTagList*. Fixes #143472.
6634
6635         * gst/gststructure.h: Clarify what the foreach/map functions can
6636         or can't do to their arguments.
6637
6638 2005-11-18  Wim Taymans  <wim@fluendo.com>
6639
6640         * gst/gstclock.c: (gst_clock_set_calibration),
6641         (gst_clock_get_calibration):
6642         Doc and API fixes.
6643         Calibration can be set with internal time equal to current
6644         internal time too.
6645
6646 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6647
6648         * gst/gsterror.c:
6649         * gst/gsterror.h:
6650           document
6651
6652 2005-11-18  Andy Wingo  <wingo@pobox.com>
6653
6654         * configure.ac: 
6655         * pkgconfig/gstreamer-net.pc.in:
6656         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6657         * pkgconfig/Makefile.am: Add net pkgconfig files.
6658
6659 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
6660
6661         * gst/gstcaps.c:
6662         * gst/gstghostpad.c:
6663         * gst/gsttrace.c:
6664         * gst/gstvalue.c:
6665         * gst/gstvalue.h:
6666           docs fixes
6667
6668 2005-11-18  Andy Wingo  <wingo@pobox.com>
6669
6670         * gst/net/gstnetclientclock.c: Turn off debugging.
6671
6672         * check/net/gstnetclientclock.c (test_functioning): Assert that the
6673         times connverge somewhat. Can't make a real test.
6674
6675         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
6676         integer arithmetic. Return the minimum of the domain, which can be
6677         set as "internal" for gst_clock_set_calibration.
6678         (gst_net_client_clock_observe_times): Call _set_calibration.
6679         (gst_net_client_clock_new): Call _set_calibration instead of
6680         rate_offset.
6681
6682         * check/net/gstnetclientclock.c (test_functioning): Use the right
6683         adjustment api.
6684
6685         * gst/gstclock.h:
6686         * gst/gstclock.c (gst_clock_get_calibration) 
6687         (gst_clock_set_calibration): New functions, obsolete the ones I
6688         added yesterday. Doh. Precision issues mean we have to extrapolate
6689         from a point in the more recent past than 1970.
6690         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
6691         obsolete.
6692         (gst_clock_adjust_unlocked): Use the right calibration data.
6693
6694 2005-11-18  Edward Hervey  <edward@fluendo.com>
6695
6696         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
6697         Also reset the ->current_* values in READY->PAUSED
6698
6699 2005-11-18  Andy Wingo  <wingo@pobox.com>
6700
6701         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
6702         Whoops, check the right fd. Also add some debugging.
6703         (gst_net_client_clock_observe_times): Adjust for int64 offset.
6704         (do_linear_regression): Add a crapload of debugging. Subtract off
6705         the minimum values from the input series to discard unneeded bits.
6706         Use only int arithmetic. There is still double arithmetic when
6707         calculating the intercept that needs fixing. Return boolean to
6708         indicate success; FALSE would mean the domain or range is too
6709         great. Still needs fixes.
6710
6711 2005-11-18  Wim Taymans  <wim@fluendo.com>
6712
6713         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6714         For the current position in stream time, we need to subtract
6715         accumulated time.
6716         
6717         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6718         Release lock before calling the callback function of async
6719         entries.
6720
6721 2005-11-18  Andy Wingo  <wingo@pobox.com>
6722
6723         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
6724         Port goes all the way to MAXUINT16.
6725
6726         * gst/net/gstnettimeprovider.c: Make the port range the same as
6727         for the kernel: 0 assigns, otherwise ports are less than
6728         MAXUINT16.
6729
6730         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
6731         port change.
6732
6733         * check/net/gstnetclientclock.c (test_functioning): Add the start
6734         of another test. 
6735
6736 2005-11-18  Wim Taymans  <wim@fluendo.com>
6737
6738         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6739         (gst_bin_remove_func), (bin_bus_handler):
6740         * gst/gstbin.h:
6741         Removing a clock provider from a bin, triggers a clock lost message
6742         so that a new clock will be selected.
6743         Adding a clock to a bin triggers a clock provider message.
6744         Make sure we reselect a clock when we received a clock lost message.
6745         Keep a reference to the element that provided the clock.
6746
6747 2005-11-18  Andy Wingo  <wingo@pobox.com>
6748
6749         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
6750         the clock initially so it produces values around the base time.
6751         (gst_net_client_clock_class_init): Typo fix.
6752         (gst_net_client_clock_thread): Add note on when the socket gets
6753         closed.
6754
6755 2005-11-17  Wim Taymans  <wim@fluendo.com>
6756
6757         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
6758         Free remote and local time arrays.
6759
6760 2005-11-17  Wim Taymans  <wim@fluendo.com>
6761
6762         * gst/net/gstnetclientclock.c: (do_linear_regression),
6763         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
6764         Fix compilation, uninitialized vars and a forgotten continue.
6765
6766 2005-11-17  Andy Wingo  <wingo@pobox.com>
6767
6768         * check/Makefile.am (check_PROGRAMS): 
6769         * check/net/gstnetclientclock.c: Add a most minimal test for the
6770         net client clock. More to come later.
6771
6772         * gst/net/gstnet.h: 
6773         * gst/net/Makefile.am: Add netclientclock.
6774
6775         * gst/net/gstnetclientclock.h:
6776         * gst/net/gstnetclientclock.c: New files, implement an untested
6777         GstClock that takes its time from a network time provider.
6778         Implements the algorithm in network-clock.scm.
6779
6780         * tests/network-clock.scm (*window-size*): Rename from
6781         *queue-length*.
6782         * tests/network-clock.scm (network-time): 
6783         * tests/network-clock-utils.scm (q-push): Update callers.
6784
6785 2005-11-17  Wim Taymans  <wim@fluendo.com>
6786
6787         * gst/gstbin.c: (gst_bin_provide_clock_func),
6788         (gst_bin_sort_iterator_new):
6789         And unref the child too..
6790
6791 2005-11-17  Wim Taymans  <wim@fluendo.com>
6792
6793         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6794         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
6795         Refactor the sort iterator so it can be used while holding the
6796         LOCK too.
6797         Make clock selection select a clock closest to the source.
6798
6799 2005-11-17  Michael Smith <msmith@fluendo.com>
6800
6801         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
6802         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
6803         * gst/gstclock.h:
6804           Anonymous structs are a gcc (and some other compilers) extension, so
6805           don't use them. Since this is only for ABI-compatibility, and our
6806           API/ABI freeze is over in a few days, this whole thing will only
6807           last a few days, so don't bother trying to think up a meaningful
6808           name for the struct.
6809
6810 2005-11-17  Andy Wingo  <wingo@pobox.com>
6811
6812         * gst/gstclock.h (GstClock): Add rate and offset properties,
6813         preserving ABI stability. Add rate/offset accessors. Will file bug
6814         for the freeze break.
6815
6816         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
6817         and offset, trying to keep precision and avoiding
6818         underflow/overflow.
6819         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
6820         functions. Make gst_clock_set_time_adjust obsolete.
6821         (gst_clock_set_time_adjust): Note that this function is obsolete.
6822         Will file bug soon.
6823
6824         * gst/base/gstbasetransform.h: Make the ABI-stability hack
6825         greppable by using GST_PADDING-1+1.
6826
6827 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
6828
6829         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6830
6831         * gst/gstmessage.c: (gst_message_parse_clock_lost):
6832           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
6833
6834         * gst/gstpadtemplate.h:
6835         * gst/gstpluginfeature.h:
6836           Don't use c++ style comments in headers (#321638).
6837
6838 2005-11-16  Andy Wingo  <wingo@pobox.com>
6839
6840         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
6841         buffer.
6842
6843         * check/net/gstnettimeprovider.c: Check to see that the time
6844         provider actually provides times. Works, yo!
6845
6846 2005-11-16  Wim Taymans  <wim@fluendo.com>
6847
6848         * check/Makefile.am:
6849         Enable more tests.
6850
6851         * check/elements/fakesrc.c: (GST_START_TEST):
6852         Set element to NULL before disposing it.
6853
6854 2005-11-16  Andy Wingo  <wingo@pobox.com>
6855
6856         * gst/net/Makefile.am:
6857         * gst/net/gstnet.h:
6858         * gst/net/gstnettimeprovider.c: 
6859         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
6860         provider, include it from gstnet.h, and add it to the build.
6861
6862         * gst/net/gstnettimepacket.h: 
6863         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
6864         sending and receiving.
6865
6866 2005-11-16  Wim Taymans  <wim@fluendo.com>
6867
6868         * check/Makefile.am:
6869         Enable valgrind check.
6870
6871         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
6872         (gst_fake_src_alloc_buffer):
6873         Fix memleak.
6874
6875 2005-11-16  Wim Taymans  <wim@fluendo.com>
6876
6877         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
6878         Call parent finalize too.
6879
6880 2005-11-16  Wim Taymans  <wim@fluendo.com>
6881
6882         * check/Makefile.am:
6883         Enable valgrind check that should work fine now.
6884
6885         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6886         * gst/gstqueue.c: (gst_queue_init):
6887         Fix memleaks in pad allocation.
6888
6889 2005-11-16  Andy Wingo  <wingo@pobox.com>
6890
6891         * gst/net/Makefile.am:
6892         * gst/net/gstnet.h: New part of core to hold network elements and
6893         objects. Put in core because it exposes API that applications want
6894         to use. The library is named libgstnet-tempname right now because
6895         of the existing libgstnet in gst-plugins-base. Solution is
6896         probably to rename the one in plugins-base; will file a bug for
6897         the freeze break.
6898
6899         * gst/net/gstnettimeprovider.c: 
6900         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
6901         get_time call over the network.
6902
6903         * configure.ac: 
6904         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
6905
6906         * check/Makefile.am:
6907         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
6908         get additions shortly.
6909
6910 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6911
6912         * gst/gstpad.c: (gst_pad_new_from_static_template):
6913         * gst/gstpad.h:
6914           add gst_pad_new_from_static_template functions
6915         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
6916         (gst_check_setup_sink_pad):
6917         * gst/elements/gsttee.c: (gst_tee_init):
6918           and use them
6919
6920 2005-11-16  Wim Taymans  <wim@fluendo.com>
6921
6922         * gst/gstpad.c: (gst_pad_pause_task):
6923         Removed warning, it's not really an error either.
6924
6925 2005-11-16  Wim Taymans  <wim@fluendo.com>
6926
6927         * gst/base/gstbasetransform.c:
6928         (gst_base_transform_prepare_output_buf),
6929         (gst_base_transform_event):
6930         Check if the caps are NULL, this can happen if the element
6931         is shutting down and the pad caps are set to NULL.
6932
6933 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6934
6935         * gst/elements/gsttee.c: (gst_tee_init):
6936           fix pad template leak in tee
6937
6938 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6939
6940         * gst/glib-compat.c: (g_value_dup_gst_object):
6941         * gst/glib-compat.h:
6942         * gst/gstpad.c: (gst_pad_set_property):
6943           use gst_object_ref when setting the pad template; this will
6944           trigger the pad template leaks on GLib 2.6 and the slaves
6945
6946 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6947
6948         * gst/glib-compat.c: (gst_flags_get_first_value):
6949         * gst/glib-compat.h:
6950         * gst/gstregistryxml.c:
6951           remove functions copied from GLib 2.6
6952
6953 2005-11-16  Michael Smith <msmith@fluendo.com>
6954
6955         * gst/Makefile.am:
6956           Don't link against VALGRIND_LIBS. That was always the wrong thing to
6957           do, but only breaks with newer valgrind versions. We're not a
6958           valgrind tool, we have no link-time dependencies on libcoregrind.
6959
6960 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6961
6962         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6963           some debug changes
6964         * gst/gstmessage.h:
6965           typo fixes
6966
6967 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6968
6969         * gst/base/gstbasesrc.c: (gst_base_src_init):
6970         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6971         * gst/gstqueue.c: (gst_queue_init):
6972         * gst/gstregistryxml.c: (load_feature):
6973           Revert all these unrefs, they don't even pass make check !
6974
6975 2005-11-15  Johan Dahlin  <johan@gnome.org>
6976
6977         * gst/base/gstbasesrc.c: (gst_base_src_init):
6978         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6979         * gst/gstqueue.c: (gst_queue_init): 
6980         Free pad templates, fixes a couple of leaks.
6981
6982 2005-11-15  Daniel Fischer  <dan at f3c dot com>
6983
6984         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6985
6986         * gst/gstpad.c: (gst_pad_get_property):
6987           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
6988           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
6989           (#321452)
6990
6991 2005-11-15  Wim Taymans  <wim@fluendo.com>
6992
6993         * gst/gstevent.c:
6994         Small doc update.
6995
6996 2005-11-15  Andy Wingo  <wingo@pobox.com>
6997
6998         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
6999
7000         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7001         using GST_CLOCK_TIME_NONE to disable base time management.
7002         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7003         time if it was NONE before.
7004         (gst_pipeline_change_state): Only munge the base time if
7005         stream_time != GST_CLOCK_TIME_NONE.
7006
7007         * check/gst/gstpipeline.c (test_base_time): Punt around the
7008         problem of the probe not being called, because that's not the
7009         issue I'm looking at. Add a check that setting stream_time to NONE
7010         disables base time management.
7011         
7012 2005-11-15  Wim Taymans  <wim@fluendo.com>
7013
7014         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7015         segment_stop == -1 at startup.
7016
7017         * gst/base/gstbasetransform.c: (gst_base_transform_event),
7018         (gst_base_transform_change_state):
7019         Init segment values at start.
7020
7021 2005-11-15  Wim Taymans  <wim@fluendo.com>
7022
7023         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7024         0 segment values are 0 in any format.
7025
7026         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7027         * gst/base/gstbasetransform.h:
7028         Parse newsegment correctly in basetransform
7029
7030         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7031         Sync to clock using updated segment values.
7032
7033 2005-11-15  Andy Wingo  <wingo@pobox.com>
7034
7035         * check/gst/gstpipeline.c (test_base_time): Add check that the
7036         base time and stream time are reset correctly.
7037
7038 2005-11-15  Wim Taymans  <wim@fluendo.com>
7039
7040         * docs/design/part-TODO.txt:
7041         Some more TODO items.
7042
7043 2005-11-15  Andy Wingo  <wingo@pobox.com>
7044
7045         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7046         error if the user selected "no clock" as the clocking method.
7047
7048         * check/gst/gstpipeline.c (test_base_time): New test for buffer
7049         timestamps with live capture.
7050
7051         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7052         is 0 but we are a live source, timestamp the buffers using the
7053         element's clock.
7054
7055 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
7056
7057         * docs/gst/gstreamer-sections.txt:
7058         * gst/gsterror.c:
7059         * gst/gstghostpad.c:
7060         * gst/gstobject.h:
7061         * gst/gstxml.c:
7062           more section docs
7063
7064 2005-11-14  Wim Taymans  <wim@fluendo.com>
7065
7066         * common/gst.supp:
7067           add suppressions from Wim's Debian machine
7068
7069 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7070
7071         * common/gst.supp:
7072           add suppressions from Andy's AMD64 Ubuntu machine
7073
7074 2005-11-14  Andy Wingo  <wingo@pobox.com>
7075
7076         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7077         STATE_LOCK not necessary. Fixes #311489.
7078
7079         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7080         #305291.
7081
7082         * gst/gstindex.c (gst_index_add_object): Note in the docs that
7083         this function is not implemented.
7084
7085 2005-11-14  Julien MOUTTE  <julien@moutte.net>
7086
7087         * gst/base/gstbasetransform.c:
7088         (gst_base_transform_prepare_output_buf):
7089         Ref the source pad caps while we need them.
7090         Fixes (#321386)
7091
7092 2005-11-11  Wim Taymans  <wim@fluendo.com>
7093
7094         * docs/gst/gstreamer-sections.txt:
7095         Added some docs for GstCollectData.
7096
7097         * gst/base/gstadapter.c:
7098         Some small code example fix.
7099
7100         * gst/base/gstcollectpads.c:
7101         * gst/base/gstcollectpads.h:
7102         Document some more.
7103
7104 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7105
7106         * configure.ac: back to HEAD
7107
7108 === release 0.9.5 ===
7109
7110 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
7111
7112         * configure.ac:
7113           releasing 0.9.5, "Bike Lunch Day"
7114
7115 2005-11-11  Wim Taymans  <wim@fluendo.com>
7116
7117         * gst/gstbuffer.c: (_gst_buffer_copy):
7118         Copy more flags.
7119
7120         * gst/gstcaps.c: (gst_caps_is_equal):
7121         Fix some docs.
7122         Make _is_equal fast in the trivial cases.
7123
7124         * gst/gstminiobject.c:
7125         * gst/gstminiobject.h:
7126         More docs. Spifify .h file.
7127
7128         * gst/gstutils.c:
7129         Small doc update.
7130
7131 2005-11-11  Wim Taymans  <wim@fluendo.com>
7132
7133         * gst/base/gstbasetransform.c:
7134         (gst_base_transform_prepare_output_buf),
7135         (gst_base_transform_handle_buffer):
7136         Small cleanups.
7137         If we're processing a buffer and need to allocate an output
7138         buffer, we cannot accept a format change. If we did get a 
7139         format change, we have to alloc a buffer ourselves of the 
7140         right size.
7141
7142 2005-11-11  Wim Taymans  <wim@fluendo.com>
7143
7144         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7145         While checking the flag for reentrancy in the gstcaps function
7146         is nice to detect recursive invocations, it also makes it 
7147         impossible to call getcaps from multiple threads, which must be
7148         possible. So, checking for recursive calls has to go.
7149
7150 2005-11-11  Michael Smith <msmith@fluendo.com>
7151
7152         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7153           Don't sync on buffers that fall partially outside our current
7154           segment. Prevents an assertion failure/abort playing some files.
7155
7156 2005-11-10  Andy Wingo  <wingo@pobox.com>
7157
7158         * check/gst/gstbin.c (test_message_state_changed_children): Style
7159         fix..
7160
7161         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7162         gst_bus_poll with the signal watch. Ensures that poll and a signal
7163         watch see the same messages.
7164
7165         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7166         a poll and a watch at the same time get the same messages.
7167
7168 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7169
7170         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7171         * gst/gstcaps.c: (gst_caps_intersect):
7172           Don't call gst_caps_do_simplify - it doesn't respect order of caps
7173           and it's not needed.
7174
7175 2005-11-10  Wim Taymans  <wim@fluendo.com>
7176
7177         * docs/design/part-TODO.txt:
7178         Updated todo.
7179
7180 2005-11-10  Wim Taymans  <wim@fluendo.com>
7181
7182         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7183         * gst/base/gstbasesrc.c: (gst_base_src_wait),
7184         (gst_base_src_do_sync), (gst_base_src_get_range):
7185         Implement clock sync in base class.
7186
7187 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7188
7189         patch by: Tim-Philipp Müller <tim at centricular dot net>
7190
7191         * gst/gststructure.c: (gst_structure_parse_field),
7192         (gst_structure_from_string):
7193           Forward-port a 0.8 patch to handle escaped spaces in structure string,
7194           so that gst_parse_launch() can deal with spaces in filtered link
7195           caps (fixes #164479)
7196         * check/gst/capslist.h:
7197         * check/gst/gststructure.c: (GST_START_TEST):
7198           add unit tests for this change
7199
7200 2005-11-10  Wim Taymans  <wim@fluendo.com>
7201
7202         * docs/gst/gstreamer-sections.txt:
7203         * gst/gstelement.c:
7204         * gst/gstelement.h:
7205         Fix docs, move some STATE macros to private.
7206
7207 2005-11-10  Wim Taymans  <wim@fluendo.com>
7208
7209         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7210         Added check for bug #317341
7211
7212         * gst/gstbuffer.c:
7213         * gst/gstbuffer.h:
7214         Some more spiffifying.
7215
7216         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7217         Call peer linkfunction if we are a source pad. Totally fixes
7218         #317341
7219
7220         * gst/gstpad.c:
7221         Update docs, source pads should call the peer linkfunction
7222         so they can atomically perform the pad link.
7223
7224 2005-11-09  Wim Taymans  <wim@fluendo.com>
7225
7226         * gst/gstbuffer.c:
7227         * gst/gstbuffer.h:
7228         Uber-spiffy-spiffify some more.
7229
7230 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
7231
7232         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7233         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7234         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7235         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7236         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7237         * gst/gstpad.c: (gst_pad_init):
7238           Use GST_DEBUG_FUNCPTR() more extensively.
7239
7240 2005-11-09  Wim Taymans  <wim@fluendo.com>
7241
7242         * gst/gstobject.c: (gst_object_class_init):
7243         * gst/gstobject.h:
7244         Documentation fixes.
7245
7246 2005-11-09  Edward Hervey  <edward@fluendo.com>
7247
7248         * gst/gsttypefindfactory.c:
7249         Fix docs.
7250         
7251 2005-11-09  Edward Hervey  <edward@fluendo.com>
7252
7253         * gst/base/gsttypefindhelper.c:
7254         * gst/gsttypefind.c:
7255         * gst/gsttypefind.h:
7256         Fix docs.
7257
7258 2005-11-09  Wim Taymans  <wim@fluendo.com>
7259
7260         * gst/gstiterator.c:
7261         Fix revision data.
7262
7263         * gst/gsttask.c:
7264         * gst/gsttask.h:
7265         Fix docs.
7266
7267 2005-11-09  Wim Taymans  <wim@fluendo.com>
7268
7269         * gst/gstevent.h:
7270         * gst/gsturi.h:
7271         Fix docs.
7272
7273 2005-11-09  Wim Taymans  <wim@fluendo.com>
7274
7275         * docs/gst/gstreamer-sections.txt:
7276         Moved the message async delivery private lock and cond
7277         to the private section.
7278
7279         * gst/gstmessage.c:
7280         * gst/gstmessage.h:
7281         Fixed docs.
7282
7283 2005-11-09  Edward Hervey  <edward@fluendo.com>
7284
7285         * docs/gst/gstreamer-sections.txt:
7286         * gst/gsturi.c:
7287         * gst/gsturi.h:
7288         Document GstURIHandler
7289
7290 2005-11-09  Wim Taymans  <wim@fluendo.com>
7291
7292         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7293         (gst_iterator_find_custom):
7294         * gst/gstiterator.h:
7295         Fix iterator docs.
7296
7297 2005-11-09  Wim Taymans  <wim@fluendo.com>
7298
7299         * gst/gstbin.h:
7300         Document another field.
7301
7302         * gst/gststructure.c:
7303         * gst/gststructure.h:
7304         Document.
7305
7306 2005-11-09  Wim Taymans  <wim@fluendo.com>
7307
7308         * gst/gstbin.h:
7309         Documented structs.
7310
7311 2005-11-09  Wim Taymans  <wim@fluendo.com>
7312
7313         * docs/gst/gstreamer-sections.txt:
7314         Added some new macros.
7315
7316         * gst/gstclock.c:
7317         * gst/gstclock.h:
7318         * gst/gstobject.h:
7319         Docs updates.
7320
7321 2005-11-09  Wim Taymans  <wim@fluendo.com>
7322
7323         * docs/design/part-TODO.txt:
7324         Some more items for the TODO
7325
7326         * gst/gstcaps.c:
7327         * gst/gstcaps.h:
7328         Document GstCaps.
7329
7330 2005-11-09  Andy Wingo  <wingo@pobox.com>
7331
7332         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7333         to work on something else now tho...
7334
7335         * gst/base/gstadapter.c: More adapter docs.
7336
7337         * gst/elements/gstfilesink.c (gst_file_sink_start) 
7338         (gst_file_sink_stop): New functions, replace the state change
7339         handler.
7340         (gst_file_sink_class_init): Hook up the start and stop functions.
7341         (gst_file_sink_base_init): Don't set the state change handler any
7342         more. It was a bit ugly too, being set from here...
7343         (gst_file_sink_get_property, gst_file_sink_set_property):
7344         Cleanups...
7345         (gst_file_sink_set_location): More robust check that doesn't call
7346         GST_STATE. Ugggggg.
7347
7348 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7349
7350         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7351           Hold STREAM_LOCK while pushing newsegment or tag events as well.
7352
7353 2005-11-08  Wim Taymans  <wim@fluendo.com>
7354
7355         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7356         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7357         (gst_base_sink_chain), (gst_base_sink_change_state):
7358         * gst/base/gstbasesink.h:
7359         * gst/base/gstbasesrc.h:
7360         * gst/gstelement.h:
7361         * gst/gstevent.h:
7362         Avoid excessive typechecking in macros.
7363
7364         * gst/gstminiobject.c: (gst_mini_object_get_type),
7365         (gst_mini_object_init), (gst_mini_object_new),
7366         (gst_mini_object_free):
7367         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7368         (gst_object_finalize):
7369         Remove cruft code, optimize alloc_trace.
7370
7371 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7372
7373         * docs/faq/gst-uninstalled:
7374           fix up PS1 for systems that try to reset it
7375
7376 2005-11-07  Wim Taymans  <wim@fluendo.com>
7377
7378         * gst/base/gstbasesrc.c: (gst_base_src_init),
7379         (gst_base_src_get_range):
7380         Set the segment_end to -1 initially. Fixed typefind.
7381
7382 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7383
7384         * gst/base/gstadapter.c:
7385           Debug category should be 'adapter', not 'GstAdapter'.
7386           
7387         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7388         (gst_collectpads_class_init), (gst_collectpads_init),
7389         (gst_collectpads_peek), (gst_collectpads_pop),
7390         (gst_collectpads_event), (gst_collectpads_chain):
7391           Add debug category and some debugging output. Use boilerplate
7392           macros. Remove some extraneous words from docs.
7393
7394 2005-11-05  Andy Wingo  <wingo@pobox.com>
7395
7396         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7397         macro.
7398
7399 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7400
7401         * docs/gst/gstreamer-sections.txt:
7402         * gst/gstcaps.h:
7403         * gst/gstinfo.c:
7404         * gst/gstminiobject.h:
7405         * gst/gstobject.h:
7406         * gst/gstutils.h:
7407           more docs added
7408
7409 2005-11-04  Wim Taymans  <wim@fluendo.com>
7410
7411         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7412         Small update to stop at the configured segment_end
7413         position.
7414
7415 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7416
7417         * gst/gstregistry.c:
7418         * gst/gstregistry.h:
7419           added missing docs
7420
7421 2005-11-04  Edward Hervey  <edward@fluendo.com>
7422
7423         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7424         Check if we are doing a segment seek and have arrived at the
7425         end of that segment.
7426
7427 2005-11-04  Wim Taymans  <wim@fluendo.com>
7428
7429         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7430         Don't leak a mutex unlock in case of an error.
7431
7432         * gst/gstbus.h:
7433         Doc fixes.
7434
7435 2005-11-04  Wim Taymans  <wim@fluendo.com>
7436
7437         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7438         (gst_bus_post):
7439         Get the context to wake up only once.
7440
7441 2005-11-03  Wim Taymans  <wim@fluendo.com>
7442
7443         * check/states/sinks.c: (GST_START_TEST):
7444         Uncomment fixed check.
7445
7446         * docs/design/part-TODO.txt:
7447         Updated TODO.
7448
7449         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7450         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7451         (gst_base_sink_get_position):
7452         If we are going to PLAYING, post the right pending state
7453         when we post the intermediate paused message.
7454
7455         * gst/gstelement.c: (gst_element_continue_state),
7456         (gst_element_set_state_func), (gst_element_change_state):
7457         Don't post state changes that were between the same state
7458         and were not ASYNC.
7459
7460 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7461
7462         * docs/gst/gstreamer-sections.txt:
7463         * gst/gstcaps.h:
7464         * gst/gstinfo.c:
7465         * gst/gstminiobject.h:
7466         * gst/gstobject.h:
7467         * gst/gstutils.h:
7468           more docs and doc style fixes
7469
7470 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7471
7472         * docs/gst/gstreamer-sections.txt:
7473         * gst/gstelement.c:
7474         * gst/gstminiobject.c:
7475         doc fixes
7476
7477 2005-11-03  Andy Wingo  <wingo@pobox.com>
7478
7479         * check/states/sinks.c (test_livesrc_sink): Add checks that the
7480         state-changed messages actually have the right order and the right
7481         values.
7482
7483 2005-11-03  Wim Taymans  <wim@fluendo.com>
7484
7485         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7486         Added some more checks. Specifically the case where NO_PREROLL
7487         elements are in the pipeline.
7488
7489         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7490         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7491         (gst_base_sink_get_position):
7492         Post READY->PAUSED state change messages too.
7493         Fix bug where VOID was posted as pending state...
7494
7495         * gst/gstbin.c: (gst_bin_recalc_state):
7496         use _element_continue_state() to continue the state change.
7497
7498         * gst/gstelement.c: (gst_element_continue_state),
7499         (gst_element_commit_state), (gst_element_set_state_func),
7500         (gst_element_change_state), (gst_element_change_state_func):
7501         Lots of state change cleanups, assign the STATE_RETURN in
7502         a new continue_state() function that also propagates the
7503         last return value from a state change to the app.
7504         Update some debug statements with proper category.
7505
7506 2005-11-03  Wim Taymans  <wim@fluendo.com>
7507
7508         * docs/design/part-events.txt:
7509         * docs/design/part-gstpipeline.txt:
7510         * docs/design/part-messages.txt:
7511         * docs/design/part-overview.txt:
7512         * docs/design/part-seeking.txt:
7513         * docs/design/part-states.txt:
7514         * docs/design/part-trickmodes.txt:
7515         * docs/manual/advanced-position.xml:
7516         Small docs updates.
7517
7518         * gst/gstobject.h:
7519         People think !! is ugly, this looks better.
7520
7521         * gst/gstpad.c: (gst_pad_set_blocked_async):
7522         Remove !! since it's fixed elsewhere now.
7523
7524 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7525
7526         * gst/gstminiobject.h:
7527         * gst/gstobject.h:
7528           Add !! to _FLAG_IS_SET macros to make the result boolean.
7529
7530 2005-11-03  Edward Hervey  <edward@fluendo.com>
7531
7532         * gst/gstpad.c: (gst_pad_set_blocked_async):
7533         comparing a flag and a gboolean rarely returns coherent results...
7534         Added two characters (!!) to make that work correctly.
7535         
7536 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7537
7538         * gst/gstbus.c: (gst_bus_class_init):
7539           Fix some typos.
7540           
7541         * gst/gstqueue.c: (gst_queue_loop):
7542           Don't assume a miniobject that isn't a buffer is an
7543           event (it could be that there is a refcounting
7544           problem somewhere and the pointer is stale and
7545           refers to an already destroyed miniobject).
7546
7547 2005-11-03  Julien MOUTTE  <julien@moutte.net>
7548
7549         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
7550
7551 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7552
7553         * docs/manual/advanced-position.xml:
7554           Update seek example and explanations to current 0.9 API.
7555
7556         * gst/elements/gsttypefindelement.c:
7557         (gst_type_find_element_activate):
7558           Remove FIXME comment now that the found caps
7559           are unreffed.
7560
7561 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7562
7563         * gst/gstregistryxml.c: (load_feature):
7564           Add another GST_STR_NULL instance
7565
7566 2005-11-02  Edward Hervey  <edward@fluendo.com>
7567
7568         * gst/gstpad.c: (handle_pad_block):
7569         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
7570         
7571 2005-11-02  Wim Taymans  <wim@fluendo.com>
7572
7573         * gst/gstbin.c:
7574         Fix typo in docs.
7575
7576         * gst/gstelement.c: (gst_element_commit_state):
7577         Remove unused value.
7578
7579         * gst/gstiterator.c:
7580         Mention that the returned element is reffed in the docs.
7581
7582 2005-11-02  Wim Taymans  <wim@fluendo.com>
7583
7584         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
7585         (gst_pad_push), (gst_pad_push_event):
7586         Unlock blocked pads when they are flushed.
7587
7588 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7589
7590         * docs/README:
7591         * docs/gst/gstreamer-sections.txt:
7592         * gst/gstbin.c:
7593           doc updates
7594         * gst/gstregistry.c: (gst_registry_scan_path_level):
7595           fix for a nasty little missed situation where an installed plug-in
7596           which was in the cache did not get overridden by an uninstalled one
7597           which was earlier in the plugin path because the newly created plugin
7598           for the uninstalled one (not in the registry) didn't get its
7599           ->registered set to TRUE
7600
7601 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7602
7603         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
7604         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
7605         (gst_collectpads_is_active), (gst_collectpads_collect),
7606         (gst_collectpads_collect_range), (gst_collectpads_start),
7607         (gst_collectpads_stop), (gst_collectpads_peek),
7608         (gst_collectpads_pop), (gst_collectpads_available),
7609         (gst_collectpads_read), (gst_collectpads_flush):
7610           Guard public API with assertions.
7611         
7612         * gst/gstpad.c:
7613           Fix docs for gst_pad_set_link_function().
7614
7615 2005-11-02  Johan Dahlin  <johan@gnome.org>
7616
7617         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
7618         Unref found_caps after we used it.
7619
7620 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7621
7622         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
7623           Don't try to ref NULL.
7624
7625 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7626
7627         * win32/common/config.h.in:
7628           provide a GST_FUNCTION that just gives a string for now
7629
7630 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7631
7632         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7633         (gst_object_flags_get_type), (register_gst_bin_flags),
7634         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7635         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7636         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7637         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
7638         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7639         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7640         (gst_clock_flags_get_type), (register_gst_state),
7641         (gst_state_get_type), (register_gst_state_change_return),
7642         (gst_state_change_return_get_type), (register_gst_state_change),
7643         (gst_state_change_get_type), (register_gst_element_flags),
7644         (gst_element_flags_get_type), (register_gst_core_error),
7645         (gst_core_error_get_type), (register_gst_library_error),
7646         (gst_library_error_get_type), (register_gst_resource_error),
7647         (gst_resource_error_get_type), (register_gst_stream_error),
7648         (gst_stream_error_get_type), (register_gst_event_type),
7649         (gst_event_type_get_type), (register_gst_seek_type),
7650         (gst_seek_type_get_type), (register_gst_seek_flags),
7651         (gst_seek_flags_get_type), (register_gst_format),
7652         (gst_format_get_type), (register_gst_index_certainty),
7653         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7654         (gst_index_entry_type_get_type),
7655         (register_gst_index_lookup_method),
7656         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7657         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7658         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7659         (gst_index_flags_get_type), (register_gst_debug_level),
7660         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7661         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7662         (gst_iterator_result_get_type), (register_gst_iterator_item),
7663         (gst_iterator_item_get_type), (register_gst_message_type),
7664         (gst_message_type_get_type), (register_gst_mini_object_flags),
7665         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7666         (gst_pad_link_return_get_type), (register_gst_flow_return),
7667         (gst_flow_return_get_type), (register_gst_activate_mode),
7668         (gst_activate_mode_get_type), (register_gst_pad_direction),
7669         (gst_pad_direction_get_type), (register_gst_pad_flags),
7670         (gst_pad_flags_get_type), (register_gst_pad_presence),
7671         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7672         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7673         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7674         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7675         (gst_plugin_flags_get_type), (register_gst_rank),
7676         (gst_rank_get_type), (register_gst_query_type),
7677         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7678         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7679         (gst_tag_flag_get_type), (register_gst_task_state),
7680         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7681         (gst_alloc_trace_flags_get_type),
7682         (register_gst_type_find_probability),
7683         (gst_type_find_probability_get_type), (register_gst_uri_type),
7684         (gst_uri_type_get_type), (register_gst_parse_error),
7685         (gst_parse_error_get_type):
7686         * win32/common/gstversion.h:
7687           update win32 copies
7688
7689 2005-11-01  Luca Ognibene  <luogni@tin.it>
7690
7691         * gst/gst.c:
7692           fix docs. popt is dead, long live GOption.
7693
7694 2005-10-31  Wim Taymans  <wim@fluendo.com>
7695
7696         * gst/gstbuffer.h:
7697         Small doc fix.
7698
7699 2005-10-31  Andy Wingo  <wingo@pobox.com>
7700
7701         * Boo!
7702
7703         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
7704
7705         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
7706         need to serialize property notifications on GLib 2.8. GLib 2.6 has
7707         the possibility of deadlocks here if code calling notify() or
7708         set() has a lock that can be taken in another notify handler (ABBA
7709         with class lock and e.g. python GIL state lock).
7710
7711 2005-10-28  Julien MOUTTE  <julien@moutte.net>
7712
7713         * gst/gstbus.c: Doc updates.
7714
7715 2005-10-28  Wim Taymans  <wim@fluendo.com>
7716
7717         * docs/design/part-TODO.txt:
7718         * gst/gstiterator.c:
7719         * gst/gstsystemclock.c:
7720         * gst/gstsystemclock.h:
7721         Doc updates.
7722
7723 2005-10-28  Edward Hervey  <edward@fluendo.com>
7724
7725         * docs/gst/gstreamer-docs.sgml:
7726         * docs/gst/gstreamer-sections.txt:
7727         the GstURIType documentation page is private, it only defines GstURIType
7728         which should be defined in the GstURIHandler page
7729         
7730 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7731
7732         * gst/gstbin.c: (gst_bin_class_init):
7733         * gst/gstbin.h:
7734         * gst/gstutils.c:
7735         Documentation updates.
7736
7737 2005-10-28  Wim Taymans  <wim@fluendo.com>
7738
7739         * docs/gst/gstreamer-sections.txt:
7740         * gst/gstclock.c:
7741         * gst/gstclock.h:
7742         Documented the clocks.
7743
7744 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
7745
7746         * docs/gst/gstreamer-sections.txt:
7747           move some macros to private sections
7748         * gst/gstminiobject.c:
7749         * gst/gstminiobject.h:
7750           add descriptions provided by ds and some more
7751         * gst/gstpad.h:
7752           mark macro as to be removed
7753
7754 2005-10-28  Wim Taymans  <wim@fluendo.com>
7755
7756         * docs/design/part-TODO.txt:
7757         Add an item to TODO.
7758
7759         * gst/gstiterator.c: (gst_iterator_fold),
7760         (gst_iterator_find_custom):
7761         * gst/gstiterator.h:
7762         Add iterator docs.
7763
7764 2005-10-28  Wim Taymans  <wim@fluendo.com>
7765
7766         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7767         (gst_base_transform_init):
7768         Don't leak class.
7769
7770         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
7771         An EOS event marks the queue as completely filled.
7772
7773 2005-10-27  Wim Taymans  <wim@fluendo.com>
7774
7775         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7776         (gst_base_sink_do_sync), (gst_base_sink_get_position):
7777         Some more debugging.
7778
7779         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
7780         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
7781         (gst_base_transform_event), (gst_base_transform_getrange),
7782         (gst_base_transform_chain):
7783         * gst/base/gstbasetransform.h:
7784         Fix debugging,
7785         Protect transform and concurrent buffer alloc with a new lock.
7786         Try not to break ABI/API.
7787
7788 2005-10-27  Wim Taymans  <wim@fluendo.com>
7789
7790         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7791         (gst_base_src_init), (gst_base_src_query),
7792         (gst_base_src_default_newsegment),
7793         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7794         (gst_base_src_send_event), (gst_base_src_event_handler),
7795         (gst_base_src_pad_get_range), (gst_base_src_loop),
7796         (gst_base_src_unlock), (gst_base_src_default_negotiate),
7797         (gst_base_src_start), (gst_base_src_deactivate),
7798         (gst_base_src_activate_push), (gst_base_src_change_state):
7799         Move some stuff around and cleanup things.
7800
7801 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
7802
7803         * gst/base/gstbasesrc.c: (gst_base_src_query):
7804           Add missing break statements.
7805
7806 2005-10-27  Wim Taymans  <wim@fluendo.com>
7807
7808         * check/gst/gstbin.c: (GST_START_TEST):
7809         An extra refcount is taken in basesrc.
7810
7811         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7812         (gst_base_src_get_range), (gst_base_src_pad_get_range),
7813         (gst_base_src_loop):
7814         Small cleanups, check for flushing after being unlocked from the 
7815         LIVE_LOCK. take refcounts correctly (not yet everywhere).
7816         Don't send out EOS when going to READY.
7817
7818 2005-10-27  Wim Taymans  <wim@fluendo.com>
7819
7820         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7821         (gst_base_sink_get_position):
7822         Some more debug.
7823
7824         * gst/gstbin.c: (message_check), (bin_replace_message),
7825         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7826         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7827         (bin_query_duration_init), (bin_query_duration_fold),
7828         (bin_query_duration_done), (bin_query_generic_fold),
7829         (gst_bin_query):
7830         * tools/gst-launch.c: (main):
7831         Remove old option.
7832
7833 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
7834
7835         * examples/controller/audio-example.c: (main):
7836         * examples/queue/queue.c: (event_loop):
7837         * gst/base/gstbasetransform.h:
7838         * gst/gstelement.c: (gst_element_send_event):
7839         * gst/gstevent.h:
7840         * gst/gstpad.c: (gst_pad_send_event):
7841           fixing examples
7842           fixing docs typos
7843           changing log priority in error situations
7844
7845 2005-10-25  Wim Taymans  <wim@fluendo.com>
7846
7847         * gst/gstbin.c: (message_check), (bin_replace_message),
7848         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7849         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7850         (bin_query_duration_init), (bin_query_duration_fold),
7851         (bin_query_duration_done), (bin_query_generic_fold),
7852         (gst_bin_query):
7853         Some doc and debug updates.
7854         Cache previously requested query DURATION for speed. invalidate
7855         cached duration if element posts a DURATION message.
7856
7857 2005-10-25  Wim Taymans  <wim@fluendo.com>
7858
7859         * docs/design/part-TODO.txt:
7860         Update TODO.
7861
7862         * gst/gstbin.c: (message_check), (bin_replace_message),
7863         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7864         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7865         (bin_query_duration_init), (bin_query_duration_fold),
7866         (bin_query_duration_done), (bin_query_generic_fold),
7867         (gst_bin_query):
7868         Handle SEGMENT_START/DONE messages correctly.
7869         More evolved query algorithm that handles duration queries
7870         correctly.
7871
7872         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
7873         (gst_element_get_state_func), (gst_element_abort_state),
7874         (gst_element_commit_state), (gst_element_lost_state):
7875         Some more debugging.
7876
7877         * gst/gstmessage.h:
7878         Added doc.
7879
7880 2005-10-25  Wim Taymans  <wim@fluendo.com>
7881
7882         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7883         Don't use invalid stream_time.
7884
7885         * gst/gstevent.c: (gst_event_new_newsegment):
7886         stream_time in newsegment cannot be undefined.
7887
7888 2005-10-24  Wim Taymans  <wim@fluendo.com>
7889
7890         * gst/gstbus.c:
7891         Doc fix.
7892
7893         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7894         (gst_queue_loop):
7895         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
7896
7897 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
7898
7899         * docs/libs/tmpl/gstdparam.sgml:
7900         * docs/libs/tmpl/gstdplinint.sgml:
7901         * docs/libs/tmpl/gstdpman.sgml:
7902         * docs/libs/tmpl/gstdpsmooth.sgml:
7903         * docs/libs/tmpl/gstunitconvert.sgml:
7904           these are obsolete
7905
7906 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7907
7908         * configure.ac:
7909           back to HEAD
7910
7911 === release 0.9.4 ===
7912
7913 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7914
7915         * configure.ac:
7916           releasing 0.9.4, "Tyrannosaurus Rex"
7917
7918 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
7919
7920         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7921         (gst_file_sink_get_current_offset):
7922           Use fseeko() and ftello() if available. When falling back on
7923           lseek() to get the current offset, fflush() first to make sure
7924           everything is up-to-date and we get the right offset.
7925
7926 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7927
7928         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7929         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7930         * gst/gsterror.c: (_gst_stream_errors_init):
7931         * gst/gsterror.h:
7932         * gst/gstqueue.c: (gst_queue_loop):
7933         * po/POTFILES.in:
7934           remove prematurely added error category and clean up the instances
7935
7936 2005-10-21  Wim Taymans  <wim@fluendo.com>
7937
7938         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7939         (gst_base_sink_get_position), (gst_base_sink_query),
7940         (gst_base_sink_change_state):
7941         Simply set the right flag when going to playing, that's all
7942         we need to do instead of calling a function inside the object
7943         lock (that could take the lock as well and deadlock)
7944
7945 2005-10-21  Wim Taymans  <wim@fluendo.com>
7946
7947         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
7948         (gst_base_src_loop):
7949         Don't warn, the peer element knows what to do best when
7950         the seek failed, it might try something else.
7951
7952 2005-10-21  Wim Taymans  <wim@fluendo.com>
7953
7954         * gst/base/gstbasesrc.c: (gst_base_src_init),
7955         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
7956         Fix seeking.
7957
7958 2005-10-21  Wim Taymans  <wim@fluendo.com>
7959
7960         * docs/design/part-segments.txt:
7961         More docs.
7962
7963         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
7964         Correctly set caps, even on the subbufer.
7965
7966 2005-10-21  Wim Taymans  <wim@fluendo.com>
7967
7968         * docs/gst/gstreamer-docs.sgml:
7969         * docs/gst/gstreamer-sections.txt:
7970         * gst/gstelement.h:
7971         * gst/gstevent.c:
7972         * gst/gstevent.h:
7973         * gst/gstmessage.h:
7974         * gst/gstpad.h:
7975         * gst/gstparse.h:
7976         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
7977         * gst/gsttask.h:
7978         * gst/gstutils.c:
7979         * gst/gstutils.h:
7980         And 2% more doc coverage.
7981
7982 2005-10-21  Andy Wingo  <wingo@pobox.com>
7983
7984         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
7985         position reporting.
7986
7987 2005-10-20  Wim Taymans  <wim@fluendo.com>
7988
7989         * gst/gsterror.c: (gst_error_get_message):
7990         * gst/gstparse.h:
7991         * gst/gstquery.h:
7992         * gst/gststructure.c:
7993         * gst/gsttrace.c:
7994         * gst/gstutils.c:
7995         More docs.
7996
7997 2005-10-20  Wim Taymans  <wim@fluendo.com>
7998
7999         * gst/gstbuffer.h:
8000         * gst/gstpad.c:
8001         * gst/gstparse.c:
8002         Another 1% more coverage.
8003
8004 2005-10-20  Wim Taymans  <wim@fluendo.com>
8005
8006         * docs/gst/gstreamer-sections.txt:
8007         * gst/gstelement.c: (gst_element_get_state_func),
8008         (gst_element_abort_state), (gst_element_commit_state),
8009         (gst_element_lost_state):
8010         * gst/gstevent.h:
8011         * gst/gstquery.c: (gst_query_set_position),
8012         (gst_query_parse_position), (gst_query_set_duration),
8013         (gst_query_parse_duration), (gst_query_new_convert):
8014         * gst/gstutils.c:
8015         Yay! 1% more docs coverage.
8016
8017 2005-10-20  Wim Taymans  <wim@fluendo.com>
8018
8019         * gst/gstpad.h:
8020         * gst/gstquery.c: (gst_query_set_position),
8021         (gst_query_parse_position), (gst_query_set_duration),
8022         (gst_query_parse_duration), (gst_query_new_convert):
8023         * gst/gstquery.h:
8024         * gst/gstutils.c: (gst_element_query_convert):
8025         * gst/gstutils.h:
8026         Docs and consistency fixes.
8027
8028 2005-10-20  Wim Taymans  <wim@fluendo.com>
8029
8030         * gst/gsttask.c:
8031         * gst/gsttask.h:
8032         More docs.
8033
8034 2005-10-20  Wim Taymans  <wim@fluendo.com>
8035
8036         * gst/gstbin.c: (message_check), (bin_replace_message),
8037         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8038         (update_degree), (gst_bin_sort_iterator_next),
8039         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8040         Reworked the message handling a bit, cache the messages instead of
8041         only the senders. alows us to do more in the future.
8042
8043 2005-10-20  Wim Taymans  <wim@fluendo.com>
8044
8045         * docs/design/part-TODO.txt:
8046         Update TODO
8047
8048         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8049         (gst_base_sink_query):
8050         Don't use clock time to report position when in EOS.
8051
8052 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
8053
8054         * tools/gst-inspect.c: (print_interfaces),
8055         (print_element_properties_info), (print_element_info):
8056           Fix interface output with gst-inspect -a; don't print
8057           newlines after double/float properties.
8058
8059 2005-10-20  Wim Taymans  <wim@fluendo.com>
8060
8061         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8062         (gst_base_sink_query):
8063         Speed up current position calculation.
8064
8065         * gst/base/gstbasesrc.c: (gst_base_src_query),
8066         (gst_base_src_default_newsegment):
8067         Correctly set stream position in newsegment.
8068
8069         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8070         (update_degree), (gst_bin_sort_iterator_next),
8071         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8072         * gst/gstmessage.c: (gst_message_new_custom):
8073         Clean up debugging info
8074
8075         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8076         (gst_queue_loop), (gst_queue_handle_src_query):
8077         Pause task faster.
8078
8079 2005-10-19  Wim Taymans  <wim@fluendo.com>
8080
8081         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8082         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8083         Fix query handling again.
8084
8085 2005-10-19  Wim Taymans  <wim@fluendo.com>
8086
8087         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8088         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8089         * gst/base/gstbasesrc.c: (gst_base_src_query):
8090         * gst/elements/gstfilesink.c: (gst_file_sink_query):
8091         * gst/elements/gsttypefindelement.c:
8092         (gst_type_find_handle_src_query), (find_element_get_length),
8093         (gst_type_find_element_activate):
8094         API change fix.
8095
8096         * gst/gstquery.c: (gst_query_new_position),
8097         (gst_query_set_position), (gst_query_parse_position),
8098         (gst_query_new_duration), (gst_query_set_duration),
8099         (gst_query_parse_duration), (gst_query_set_segment),
8100         (gst_query_parse_segment):
8101         * gst/gstquery.h:
8102         Bundling query position/duration is not a good idea since duration
8103         does not change much and we don't want to recalculate it for every
8104         position query, so they are separated again..
8105         Base value in segment query is not needed.
8106
8107         * gst/gstqueue.c: (gst_queue_handle_src_query):
8108         * gst/gstutils.c: (gst_element_query_position),
8109         (gst_element_query_duration), (gst_pad_query_position),
8110         (gst_pad_query_duration):
8111         * gst/gstutils.h:
8112         Updates for query API change.
8113         Added some docs here and there.
8114
8115 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8116
8117         * check/gst/gstbin.c: (GST_START_TEST):
8118         * check/gst/gstghostpad.c: (GST_START_TEST):
8119         * check/pipelines/cleanup.c: (GST_START_TEST):
8120           wait on thread to die so we can check refcount correctly
8121
8122 2005-10-18  Wim Taymans  <wim@fluendo.com>
8123
8124         * check/pipelines/stress.c: (GST_START_TEST):
8125         Make check a little more time consuming.
8126
8127 2005-10-18  Wim Taymans  <wim@fluendo.com>
8128
8129         * check/Makefile.am:
8130         * check/pipelines/stress.c: (GST_START_TEST),
8131         (simple_launch_lines_suite), (main):
8132         Small state change torture test.
8133
8134         * docs/design/part-states.txt:
8135         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8136         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8137         (gst_base_sink_change_state):
8138         Never take state lock from streaming thread, clean up ugly
8139         hacks. Unfortunatly core does not yet support nice ways to
8140         async commit state.
8141         
8142         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8143         (bin_bus_handler):
8144         Start state recalc if a STATE_DIRTY message is posted, but only
8145         on the toplevel bin.
8146
8147         * gst/gstelement.c: (gst_element_sync_state_with_parent),
8148         (gst_element_get_state_func), (gst_element_abort_state),
8149         (gst_element_commit_state), (gst_element_lost_state),
8150         (gst_element_set_state_func), (gst_element_change_state):
8151         * gst/gstelement.h:
8152         State variables are now protected with the LOCK, the state
8153         lock is only used to serialize _set_state().
8154
8155 2005-10-18  Wim Taymans  <wim@fluendo.com>
8156
8157         * check/gst/gstbin.c: (GST_START_TEST):
8158         * check/gst/gstmessage.c: (GST_START_TEST):
8159         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8160         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8161         (bin_bus_handler):
8162         * gst/gstelement.c: (gst_element_abort_state),
8163         (gst_element_commit_state), (gst_element_lost_state):
8164         * gst/gstmessage.c: (gst_message_new_state_changed),
8165         (gst_message_new_state_dirty), (gst_message_new_segment_start),
8166         (gst_message_new_segment_done), (gst_message_new_duration),
8167         (gst_message_parse_state_changed),
8168         (gst_message_parse_segment_start),
8169         (gst_message_parse_segment_done), (gst_message_parse_duration):
8170         * gst/gstmessage.h:
8171         * tools/gst-launch.c: (event_loop):
8172         Seriously, this is better than a previous commit as we only need
8173         to notify the fact that an element changed state in a streaming
8174         thread, marking the state of the parents dirty, hence the 
8175         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8176         message.
8177
8178 2005-10-18  Wim Taymans  <wim@fluendo.com>
8179
8180         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8181         (gst_bin_recalc_func):
8182         * gst/gstelement.c: (gst_element_set_clock),
8183         (gst_element_abort_state), (gst_element_lost_state):
8184         Cleanups, prepare for state change fixes.
8185
8186 2005-10-18  Wim Taymans  <wim@fluendo.com>
8187
8188         * gst/gstbin.h:
8189         * gst/gstelement.c: (gst_element_class_init),
8190         (gst_element_set_state), (gst_element_set_state_func):
8191         * gst/gstelement.h:
8192         Pending ABI changes.
8193         GThreadPool in GstBinClass to monitor async state changes.
8194         state_cookie in GstElement to detect concurrent gst/set state.
8195         set_state is now virtual too in case a very complicated element
8196         has to be constructed.
8197
8198 2005-10-18  Wim Taymans  <wim@fluendo.com>
8199
8200         * check/gst/gstbin.c: (GST_START_TEST):
8201         * check/gst/gstmessage.c: (GST_START_TEST):
8202         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8203         * gst/gstbin.c: (bin_bus_handler):
8204         * gst/gstelement.c: (gst_element_commit_state),
8205         (gst_element_lost_state):
8206         * gst/gstmessage.c: (gst_message_new_state_changed),
8207         (gst_message_new_segment_start), (gst_message_new_segment_done),
8208         (gst_message_new_duration), (gst_message_parse_state_changed),
8209         (gst_message_parse_segment_start),
8210         (gst_message_parse_segment_done), (gst_message_parse_duration):
8211         * gst/gstmessage.h:
8212         * tools/gst-launch.c: (event_loop):
8213         Make messages future proof.
8214         state-change gets a flag if it was a message comming from the
8215         streaming thread.
8216         segment-start/stop can also be specified in other formats.
8217         A message to notify an app that a pipeline changed playback 
8218         duration.
8219         Also fix a GstMessage leak in -launch
8220
8221 2005-10-18  Andy Wingo  <wingo@pobox.com>
8222
8223         * gst/gstelement.c (gst_element_dispose): More helpful message.
8224
8225 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8226
8227         reviewed by: <delete if not using a buddy>
8228
8229         * common/gtk-doc.mak:
8230
8231 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8232
8233         * gst/gstregistry.c: (gst_registry_scan_path_level):
8234           unref a plug-in we get that was already initialized
8235
8236 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
8237
8238         * docs/gst/gstreamer-sections.txt:
8239         * docs/libs/gstreamer-libs-sections.txt:
8240         * gst/gstelement.h:
8241           add new api entries
8242           hide internal macro
8243
8244 2005-10-17  Andy Wingo  <wingo@pobox.com>
8245
8246         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8247         cleanup.
8248
8249         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8250
8251         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8252
8253         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8254         (gst_element_get_state_func): Better debug message.
8255         (gst_element_commit_state): s/INFO/DEBUG/.
8256         (gst_element_lost_state, gst_element_change_state): 
8257
8258         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8259         (gst_message_new_custom): s/INFO/LOG/.
8260
8261 2005-10-17  Michael Smith <msmith@fluendo.com>
8262
8263         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8264           Check if end time is valid using end time, not start time.
8265
8266 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
8267
8268         * check/gst-libs/controller.c: (GST_START_TEST),
8269         (gst_controller_suite):
8270         * libs/gst/controller/gstcontroller.c:
8271         (gst_controlled_property_set_interpolation_mode):
8272         * libs/gst/controller/gstcontroller.h:
8273         * libs/gst/controller/gstinterpolation.c:
8274         * testsuite/controller/.cvsignore:
8275         * testsuite/controller/Makefile.am:
8276         * testsuite/controller/interpolator.c:
8277           merge controller testsuites
8278           fix broken tests
8279           remove mem-chunk from docs
8280
8281 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8282
8283         * gst/gstmemchunk.c:
8284         * gst/gstmemchunk.h:
8285         * gst/gsttrashstack.c:
8286         * gst/gsttrashstack.h:
8287           out.  get out.  you're fired.  to the Attic !
8288
8289 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8290
8291         * gst/gstcaps.c: (gst_caps_intersect):
8292           fix signedness issues in a (hopefully) correct way
8293         * gst/gstelement.c: (gst_element_pads_activate):
8294           some debugging
8295         * gst/gstobject.c: (gst_object_set_parent):
8296           some debugging
8297
8298 2005-10-17  Julien MOUTTE  <julien@moutte.net>
8299
8300         * gst/gstvalue.h: Fix prototypes.
8301
8302 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8303
8304         * docs/gst/gstreamer-sections.txt:
8305         * gst/gst.c: (gst_version_string):
8306         * gst/gst.h:
8307         * gst/gstversion.h.in:
8308         * win32/common/libgstreamer.def:
8309           add gst_version_string ()
8310
8311 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8312
8313         * configure.ac:
8314           clean up further
8315         * gst/gst.c: (init_post):
8316         * win32/common/config.h.in:
8317           it's PLUGINDIR now
8318         * gst/gstcaps.c: (gst_caps_intersect):
8319           use gint64, the range could be bigger than a guint
8320
8321 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8322
8323         * gst/gstclock.h:
8324           document potential problem in 2038
8325
8326 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8327
8328         * gst/gstcaps.c: (gst_caps_intersect):
8329           Fix guint j diving under 0
8330
8331 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8332
8333         * configure.ac:
8334         * win32/common/config.h:
8335         * win32/common/config.h.in:
8336           check for process.h, declares getpid() on Windows
8337         * gst/gstinfo.c:
8338           include process.h if we have it
8339         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8340         * gst/gstmemchunk.h:
8341           fix signedness issues
8342         * win32/common/libgstreamer.def:
8343           fix get_type's
8344
8345 2005-10-16  Julien MOUTTE  <julien@moutte.net>
8346
8347         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8348         fix. Because of unsigned ints, caps intersection was going nuts and
8349         trying to access structures with G_MAXUINT index. That fixes
8350         videotestsrc ! ffmpegcolorspace ! fakesink
8351         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8352         consistency.
8353
8354 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8355
8356         * configure.ac:
8357           use the gettext macro
8358         * gst/elements/gstelements.c:
8359         * gst/gst.c:
8360         * gst/indexers/gstindexers.c:
8361           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8362         * win32/common/config.h:
8363           updated config.h
8364         * win32/common/config.h.in:
8365           add the template to generate config.h
8366         * win32/common/gstenumtypes.c:
8367         * win32/common/gstversion.h:
8368           updated copies
8369
8370 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8371
8372         * gst/gst.c: (gst_version):
8373         * gst/gstversion.h.in:
8374           add the nano
8375
8376 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8377
8378         * gst/gstevent.h:
8379           Oops, add missing closing bracket.
8380
8381 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8382
8383         * configure.ac:
8384           use common m4's for argument checking
8385
8386 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8387
8388         * docs/gst/gstreamer-sections.txt:
8389         * gst/gstevent.h:
8390           Add GST_EVENT_TYPE_NAME() macro.
8391
8392 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8393
8394         * gst/gstinfo.c:
8395         * gst/gstpluginfeature.c:
8396         * gst/gsttask.c:
8397           privatize more symbols
8398
8399 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8400
8401         * configure.ac:
8402           add srcdir, builddir includes to GST_ALL_CFLAGS, since
8403           everything that uses GStreamer API should have the includes
8404
8405 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8406
8407         * docs/gst/gstreamer-sections.txt:
8408         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8409         * gst/gstvalue.h:
8410           give each value a _get_type, removes the DATA exports
8411
8412 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8413
8414         * gst/gst.c:
8415         * gst/gst.h:
8416           remove _gst_registry_auto_load, not used anymore
8417         * gst/gstbin.c: (gst_bin_get_type):
8418         * gst/gstbin.h:
8419         * gst/gstelement.c: (gst_element_get_type):
8420         * gst/gstelement.h:
8421         * gst/gstobject.c: (gst_object_get_type):
8422         * gst/gstobject.h:
8423         * gst/gstpad.c: (gst_pad_get_type):
8424         * gst/gstpad.h:
8425           make _get_type functions similar, fixes data export from library
8426
8427 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8428
8429         * configure.ac:
8430           correctly make conditionals
8431         * gst/elements/Makefile.am:
8432         * gst/elements/gstelements.c:
8433           fix typo causing fdsrc not to build
8434
8435 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8436
8437         * testsuite/Makefile.am:
8438         * testsuite/bytestream/.cvsignore:
8439         * testsuite/bytestream/Makefile.am:
8440         * testsuite/bytestream/filepadsink.c:
8441         * testsuite/bytestream/gstbstest.c:
8442         * testsuite/bytestream/test1.c:
8443         * testsuite/bytestream/testfile1:
8444         * testsuite/caps/normalisation.c:
8445         * testsuite/caps/random.c: (main):
8446         * testsuite/cleanup/.cvsignore:
8447         * testsuite/cleanup/Makefile.am:
8448         * testsuite/cleanup/cleanup1.c:
8449         * testsuite/cleanup/cleanup2.c:
8450         * testsuite/cleanup/cleanup3.c:
8451         * testsuite/cleanup/cleanup4.c:
8452         * testsuite/cleanup/cleanup5.c:
8453         * testsuite/controller/interpolator.c:
8454         * testsuite/debug/printf_extension.c: (main):
8455         * testsuite/elements/tee.c:
8456         * testsuite/negotiation/.cvsignore:
8457         * testsuite/negotiation/Makefile.am:
8458         * testsuite/negotiation/pad_link.c:
8459         * testsuite/pad/Makefile.am:
8460         * testsuite/pad/chainnopull.c:
8461         * testsuite/pad/getnopush.c:
8462         * testsuite/pad/link.c:
8463         * testsuite/refcounting/sched.c: (create_pipeline):
8464         * testsuite/registry/Makefile.am:
8465         * testsuite/registry/gst-print-formats.c:
8466         * testsuite/schedulers/.cvsignore:
8467         * testsuite/schedulers/142183-2.c:
8468         * testsuite/schedulers/142183.c:
8469         * testsuite/schedulers/143777-2.c:
8470         * testsuite/schedulers/143777.c:
8471         * testsuite/schedulers/147713.c:
8472         * testsuite/schedulers/147819.c:
8473         * testsuite/schedulers/147894-2.c:
8474         * testsuite/schedulers/147894.c:
8475         * testsuite/schedulers/Makefile.am:
8476         * testsuite/schedulers/group_link.c:
8477         * testsuite/schedulers/queue_link.c:
8478         * testsuite/schedulers/relink.c:
8479         * testsuite/schedulers/unlink.c:
8480         * testsuite/schedulers/unref.c:
8481         * testsuite/schedulers/useless_iteration.c:
8482         * testsuite/states/bin.c:
8483           clean out/remove some stuff from the testsuite directories
8484
8485 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8486
8487         * configure.ac:
8488           check for some headers
8489         * gst/elements/Makefile.am:
8490         * gst/elements/gstelements.c:
8491           don't compile fdsrc without sys/socket.h
8492         * gst/indexers/Makefile.am:
8493         * gst/indexers/gstindexers.c: (plugin_init):
8494           don't compile fileindex without mmap
8495
8496 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8497
8498         * configure.ac:
8499           reorganize
8500           clean up
8501           document more
8502           remove cruft
8503         * check/Makefile.am:
8504         * docs/gst/Makefile.am:
8505         * examples/helloworld/Makefile.am:
8506         * gst/Makefile.am:
8507         * gst/base/Makefile.am:
8508         * gst/check/Makefile.am:
8509         * gst/elements/Makefile.am:
8510         * gst/indexers/Makefile.am:
8511         * gst/parse/Makefile.am:
8512         * libs/gst/controller/Makefile.am:
8513         * libs/gst/dataprotocol/Makefile.am:
8514         * examples/helloworld/helloworld.c: (event_loop):
8515           compile fixes, though it's not being compiled currently
8516
8517 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8518
8519         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
8520           Add some simple tests for the new taglist date API.
8521
8522 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8523
8524         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
8525         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
8526           Beautify 'last-message' output: print 'none' for buffer timestamps
8527           and durations if none is set; improve alignment with next messages.
8528
8529 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8530
8531         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
8532         * gst/gstpluginfeature.h:
8533         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
8534         * gst/gstregistry.h:
8535         * docs/gst/gstreamer-sections.txt:
8536           Add new API to check plugin feature version requirements.
8537
8538         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
8539           Some basic tests for the above.         
8540
8541 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8542
8543         * gst/gststructure.c: (gst_structure_to_string):
8544           guard against NULL printf - happens when for example
8545           a message structure with GstClock gets serialized
8546
8547 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8548
8549         * gst/base/gstcollectpads.c: (gst_collectpads_event):
8550           Fix presumable copy'n'pasto.
8551
8552 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8553
8554         * gst/elements/gstfakesrc.h:
8555         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
8556         * gst/elements/gsttypefindelement.c:
8557           fix some signedness
8558         * gst/elements/gstfilesink.c: (gst_file_sink_render):
8559           I wonder if this could actually write +2GB files before
8560
8561 2005-10-13  Andy Wingo  <wingo@pobox.com>
8562
8563         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
8564         Fix Timmeke Waymans bug.
8565         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
8566         string of the proper length to gst_caps_from_string. There's a
8567         potential for, before this fix, that this could cause someone
8568         connecting over the network to cause a segfault if the payload is
8569         not NUL-terminated.
8570
8571 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8572
8573         * docs/design/draft-push-pull.txt:
8574         * docs/design/part-overview.txt:
8575         * docs/random/TODO-pre-0.9:
8576         * docs/random/old/ChangeLog.gstreamer:
8577         * gst/base/gstpushsrc.c:
8578         * gst/gstclock.c:
8579           fixed typos
8580
8581 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8582
8583         * gst/glib-compat.c: (gst_flags_get_first_value):
8584         * gst/glib-compat.h:
8585         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
8586         (gst_value_compare_double), (gst_value_serialize_flags):
8587           GLib 2.6 g_flags_get_first_value has a bug that triggers an
8588           infinite loop
8589
8590 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8591
8592         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8593         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8594           fix up debugging
8595         * tools/gst-launch.c: (event_loop):
8596           print out clock nicely
8597
8598 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8599
8600         * docs/gst/gstreamer-sections.txt:
8601         * gst/gsttaglist.h:
8602         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
8603         (gst_tag_list_get_date_index):
8604           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
8605           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
8606
8607 2005-10-13  Julien MOUTTE  <julien@moutte.net>
8608
8609         * gst/base/gstcollectpads.c: (gst_collectpads_event),
8610         (gst_collectpads_chain):
8611         * gst/base/gstcollectpads.h: Handle newsegment and store informations
8612         in CollectData.
8613
8614 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8615
8616         * docs/gst/gstreamer-sections.txt:
8617         * gst/gst.c:
8618         * gst/gsterror.h:
8619         * tools/gst-inspect.c: (main):
8620         * tools/gst-launch.c: (main):
8621         * tools/gst-run.c: (main):
8622         * tools/gst-xmlinspect.c: (main):
8623           fix GOption context leaks
8624           doc fixes
8625
8626 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8627
8628         * gst/gstbus.c:
8629           use HAVE_UNISTD_H
8630         * win32/common/config.h:
8631           update config
8632         * win32/vs6/grammar.dsp:
8633         * win32/vs6/libgstelements.dsp:
8634         * win32/vs6/libgstreamer.dsp:
8635           update vs6 files
8636
8637 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8638
8639         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8640         * gst/base/gstbasesrc.c: (gst_base_src_query):
8641           fix more guint64<->gdouble conversions
8642
8643 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8644
8645         * Makefile.am:
8646           add win32-update target
8647         * win32/common/gstconfig.h:
8648         * win32/common/gstenumtypes.c:
8649         * win32/common/gstenumtypes.h:
8650         * win32/common/gstversion.h:
8651           add files that visual studio can't generate
8652
8653 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8654
8655         * Makefile.am:
8656           add a win32-update target
8657         * configure.ac:
8658
8659 2005-10-12  Wim Taymans  <wim@fluendo.com>
8660
8661         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8662         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
8663         * gst/gstelement.c: (gst_element_commit_state),
8664         (gst_element_set_state):
8665         Protect flags with proper lock.
8666         unref provided cached clock in dispose.
8667
8668 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8669
8670         * gst/gst.c:
8671         * gst/gstminiobject.h:
8672         * gst/gstpad.h:
8673         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
8674           removed unused flags from miniobject
8675           doc fixes
8676
8677 2005-10-12  Wim Taymans  <wim@fluendo.com>
8678
8679         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8680         (gst_file_sink_event), (gst_file_sink_render):
8681         Flush before seeking.
8682
8683 2005-10-12  Andy Wingo  <wingo@pobox.com>
8684
8685         * gst/gst.c (gst_init_check): Ignore unknown options, as has
8686         always been the case.
8687
8688 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8689
8690         * check/gst/gstbin.c: (GST_START_TEST):
8691         * docs/gst/gstreamer-sections.txt:
8692         * gst/base/gstbasesink.c: (gst_base_sink_init):
8693         * gst/base/gstbasesrc.c: (gst_base_src_init),
8694         (gst_base_src_get_range), (gst_base_src_check_get_range),
8695         (gst_base_src_start), (gst_base_src_stop):
8696         * gst/base/gstbasesrc.h:
8697         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
8698         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8699         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
8700         (bin_bus_handler):
8701         * gst/gstbin.h:
8702         * gst/gstbuffer.h:
8703         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
8704         * gst/gstbus.h:
8705         * gst/gstelement.c: (gst_element_is_locked_state),
8706         (gst_element_set_locked_state), (gst_element_commit_state),
8707         (gst_element_set_state):
8708         * gst/gstelement.h:
8709         * gst/gstindex.c: (gst_index_init):
8710         * gst/gstindex.h:
8711         * gst/gstminiobject.h:
8712         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
8713         (gst_object_set_parent):
8714         * gst/gstobject.h:
8715         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
8716         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
8717         * gst/gstpad.h:
8718         * gst/gstpadtemplate.h:
8719         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
8720         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8721         * gst/gstpipeline.h:
8722         * gst/indexers/gstfileindex.c: (gst_file_index_load),
8723         (gst_file_index_commit):
8724         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
8725         * testsuite/pad/link.c: (gst_test_src_init),
8726         (gst_test_filter_init), (gst_test_sink_init):
8727         * testsuite/states/locked.c: (main):
8728           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
8729           moved bitshift from macro to enum definition
8730
8731 2005-10-12  Wim Taymans  <wim@fluendo.com>
8732
8733         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
8734         * gst/elements/gstfilesink.c: (gst_file_sink_event),
8735         (gst_file_sink_render):
8736         Some more debugging info.
8737
8738 2005-10-12  Wim Taymans  <wim@fluendo.com>
8739
8740         * docs/design/part-states.txt:
8741         * tools/gst-launch.c: (main):
8742         Some doc updates.
8743         Revert non-intentional change.
8744
8745 2005-10-12  Wim Taymans  <wim@fluendo.com>
8746
8747         * check/gst/gstbin.c: (GST_START_TEST):
8748         * check/gst/gstelement.c: (GST_START_TEST):
8749         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
8750         * check/gst/gstghostpad.c: (GST_START_TEST):
8751         * check/gst/gstpipeline.c: (GST_START_TEST):
8752         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8753         * check/states/sinks.c: (GST_START_TEST):
8754         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8755         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8756         (gst_bin_remove_func), (gst_bin_get_state_func),
8757         (gst_bin_recalc_state), (gst_bin_change_state_func),
8758         (bin_bus_handler):
8759         * gst/gstelement.c: (gst_element_get_state_func),
8760         (gst_element_get_state), (gst_element_abort_state),
8761         (gst_element_commit_state), (gst_element_set_state),
8762         (gst_element_change_state), (gst_element_change_state_func):
8763         * gst/gstelement.h:
8764         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
8765         (gst_pipeline_provide_clock_func):
8766         * gst/gstutils.c: (gst_element_link_pads_filtered):
8767         * tools/gst-launch.c: (main):
8768         * tools/gst-typefind.c: (main):
8769         Use GstClockTime in _get_state() instead of GTimeVal.
8770         Remove old code in gstutils.c
8771
8772 2005-10-12  Andy Wingo  <wingo@pobox.com>
8773
8774         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
8775         removed.
8776
8777         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
8778         there is no task. Shouldn't affect any code, as nothing in our
8779         plugins checks this return value.
8780         (gst_pad_stop_task): Also take the stream lock if the pad has no
8781         task. Docs updated.
8782
8783 2005-10-12  Wim Taymans  <wim@fluendo.com>
8784
8785         * gst/gstpad.c: (pre_activate), (post_activate),
8786         (gst_pad_activate_pull), (gst_pad_activate_push):
8787         Cleanup activation code. Reset old state if
8788         activation failed.
8789
8790 2005-10-12  Wim Taymans  <wim@fluendo.com>
8791
8792         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8793         (gst_base_sink_change_state):
8794         No need to prerol after receiving EOS.
8795
8796         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8797         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
8798         * gst/elements/gstidentity.c: (gst_identity_event):
8799         Print events more verbosely.
8800
8801 2005-10-12  Wim Taymans  <wim@fluendo.com>
8802
8803         * check/Makefile.am:
8804         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8805         * check/states/sinks2.c:
8806         Moved sinks2 testcode in sinks check.
8807
8808         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8809         (gst_bin_remove_func), (gst_bin_recalc_state),
8810         (gst_bin_change_state_func), (bin_bus_handler):
8811         Fix potential race condition when _get_state() iterated over an
8812         ASYNC element right before it posted a state completion.
8813
8814         * gst/gstclock.h:
8815         Do proper cast here.
8816
8817         * gst/gstevent.c: (gst_event_new_newsegment),
8818         (gst_event_parse_newsegment):
8819         A playback rate of 0.0 is not allowed.
8820
8821 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8822
8823         * win32/common/config.h:
8824         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8825         (_trewinddir), (_ttelldir), (_tseekdir):
8826         * win32/common/dirent.h:
8827         * win32/common/gtchar.h:
8828         * win32/common/libgstbase.def:
8829         * win32/common/libgstreamer.def:
8830         * win32/vs6/grammar.dsp:
8831         * win32/vs6/gst_inspect.dsp:
8832         * win32/vs6/gst_launch.dsp:
8833         * win32/vs6/gstreamer.dsw:
8834         * win32/vs6/libgstbase.dsp:
8835         * win32/vs6/libgstelements.dsp:
8836         * win32/vs6/libgstreamer.dsp:
8837           Visual Studio 6 project files, and a new common directory.
8838           Phear.
8839
8840 2005-10-11  Wim Taymans  <wim@fluendo.com>
8841
8842         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8843         (gst_base_sink_do_sync), (gst_base_sink_query),
8844         (gst_base_sink_change_state):
8845         * gst/base/gstbasesink.h:
8846         Correctly parse newsegment info.
8847
8848 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8849
8850         * gst/gst.c: (init_post):
8851           split plugin paths correctly
8852
8853 2005-10-11  Wim Taymans  <wim@fluendo.com>
8854
8855         * check/gst/gstevent.c: (GST_START_TEST):
8856         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8857         (gst_base_sink_change_state):
8858         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
8859         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8860         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8861         * gst/gstevent.c: (gst_event_new_newsegment),
8862         (gst_event_parse_newsegment):
8863         * gst/gstevent.h:
8864         Added extra flag to newsegment for future API freeze.
8865         Updated check and base elements.
8866
8867 2005-10-11  Julien MOUTTE  <julien@moutte.net>
8868
8869         * gst/base/gstcollectpads.c: (gst_collectpads_init),
8870         (gst_collectpads_add_pad), (gst_collectpads_pop),
8871         (gst_collectpads_event), (gst_collectpads_chain):
8872         * gst/base/gstcollectpads.h: Handle EOS correctly.
8873
8874 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8875
8876         * tools/gst-launch.c: (main):
8877           more null protecting
8878
8879 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8880
8881         * gst/gst-i18n-lib.h:
8882           check for ENABLE_NLS, not GETTEXT_PACKAGE
8883         * gst/gstregistry.c: (gst_registry_add_plugin),
8884         (gst_registry_scan_path_level),
8885         (_gst_registry_remove_cache_plugins):
8886           protect possibly NULL strings
8887         * gst/parse/types.h:
8888           config.h already included before
8889         * tools/gst-inspect.c: (main):
8890           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
8891           check for ENABLE_NLS, not GETTEXT_PACKAGE
8892         * tools/gst-launch.c: (main):
8893           check for ENABLE_NLS, not GETTEXT_PACKAGE
8894
8895 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8896
8897         * configure.ac:
8898           if we don't have glib, fail before testing 2.8
8899         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
8900           fix a leak, should fix plugins-base testsuite
8901
8902 2005-10-11  Andy Wingo  <wingo@pobox.com>
8903
8904         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
8905         take the mode we're going to as an arg. Go head and set the mode
8906         and flushing flags now, so that if the activate function starts a
8907         thread all the flags will be in the right state.
8908         (post_activate): Renamed also. Just handle making sure streaming
8909         finishes for the deactivation case, and setting the deactivated
8910         mode.
8911         (gst_pad_set_active): Complain loudly if deactivation fails.
8912         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
8913         (gst_pad_activate_push): Adapt to pre/post_activate changes,
8914         remove the terrible hack.
8915
8916 2005-10-11  Wim Taymans  <wim@fluendo.com>
8917
8918         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8919         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
8920         (gst_bin_recalc_state), (gst_bin_change_state_func),
8921         (gst_bin_dispose), (bin_bus_handler):
8922         * gst/gstbin.h:
8923         Prepare to make current EOS message queue more generic.
8924         Fix some typos.
8925
8926         * gst/gstevent.c: (gst_event_new_newsegment),
8927         (gst_event_parse_newsegment):
8928         * gst/gstevent.h:
8929         Rename base to stream_time.
8930
8931         * gst/gstmessage.h:
8932         Fix typo in docs.
8933
8934 2005-10-11  Wim Taymans  <wim@fluendo.com>
8935
8936         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8937         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
8938         (gst_bin_change_state_func), (bin_bus_handler):
8939         * gst/gstbin.h:
8940         Work on proper clock selection.
8941
8942 2005-10-11  Edward Hervey  <edward@fluendo.com>
8943
8944         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
8945         * libs/gst/controller/gstcontroller.h:
8946         Added GList* version of _remove_properties() in order to be able to wrap
8947         it in bindings.
8948
8949 2005-10-11  Wim Taymans  <wim@fluendo.com>
8950
8951         * docs/design/part-states.txt:
8952         Some more docs.
8953
8954         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
8955         (gst_bin_change_state_func), (bin_bus_handler):
8956         Doc updates. Don't distribute the same clock over and over again.
8957
8958         * gst/gstclock.c:
8959         * gst/gstclock.h:
8960         Doc updates.
8961
8962         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
8963         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
8964         (gst_pad_send_event):
8965         * gst/gstpad.h:
8966         Make probe emission threadsafe again.
8967         Register quarks and move _get_name() from utils.
8968         Doc updates.
8969
8970         * gst/gstpipeline.c: (gst_pipeline_class_init),
8971         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
8972         Only redistribute the clock of it changed.
8973
8974         * gst/gstsystemclock.h:
8975         Doc updates. 
8976
8977         * gst/gstutils.c:
8978         * gst/gstutils.h:
8979         Moved the _flow_get_name() to GstPad.
8980
8981 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8982
8983         * check/gst-libs/gdp.c: (GST_START_TEST):
8984         * check/gst/gstcaps.c: (GST_START_TEST):
8985         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
8986         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
8987         (gst_dp_packet_from_caps):
8988           fix more valgrind warnings before turning up the heat
8989
8990 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8991
8992         * gst/parse/grammar.y:
8993           some cleanup before the hacking
8994
8995 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
8996
8997         * gst/base/gstbasesrc.c: (gst_base_src_query):
8998           use conversions
8999         * gst/gstutils.c: (gst_guint64_to_gdouble),
9000         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9001         * gst/gstutils.h:
9002           externalize, basesrc uses it
9003           obviously the implementation needs testing
9004
9005 2005-10-10  Wim Taymans  <wim@fluendo.com>
9006
9007         * tests/sched/Makefile.am:
9008         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9009         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9010
9011 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9012
9013         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9014           apparently converting from guint64 to double is not implemented
9015           on MSVC
9016
9017 2005-10-10  Wim Taymans  <wim@fluendo.com>
9018
9019         * check/Makefile.am:
9020         * check/generic/states.c: (GST_START_TEST):
9021         * check/gst/gstbin.c: (GST_START_TEST):
9022         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9023         * check/states/sinks.c: (GST_START_TEST):
9024         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9025         (main):
9026         Check fixes, use API as stated in design docs, remove hacks.
9027
9028         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9029         (gst_base_sink_change_state):
9030         Catch stopping our task while we're shutting down.
9031
9032         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9033         (gst_bin_remove_func), (gst_bin_get_state_func),
9034         (gst_bin_recalc_state), (gst_bin_change_state_func),
9035         (bin_bus_handler):
9036         * gst/gstbin.h:
9037         * gst/gstelement.c: (gst_element_init),
9038         (gst_element_get_state_func), (gst_element_abort_state),
9039         (gst_element_commit_state), (gst_element_lost_state),
9040         (gst_element_set_state), (gst_element_change_state),
9041         (gst_element_change_state_func):
9042         * gst/gstelement.h:
9043         New state change algorithm (see #318116)
9044
9045         * gst/gstpipeline.c: (gst_pipeline_class_init),
9046         (gst_pipeline_init), (gst_pipeline_set_property),
9047         (gst_pipeline_get_property), (do_pipeline_seek),
9048         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9049         * gst/gstpipeline.h:
9050         Remove crude state change hacks.
9051
9052         * gst/gstutils.h:
9053         Remove crude hacks.
9054
9055         * tools/gst-launch.c: (main):
9056         Fixes for state change. Needs some more work to fully use the
9057         new stuff.
9058
9059 2005-10-10  Andy Wingo  <wingo@pobox.com>
9060
9061         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9062
9063         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9064         this flag, but it's not even in GLib 2.6. Odd. Hack around the
9065         issue.
9066
9067 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9068
9069         * gst/gstiterator.c: (gst_iterator_new):
9070           Fix my previous commit: GTypes passed to gst_iterator_new()
9071           can be fundamental types.
9072
9073 2005-10-10  Wim Taymans  <wim@fluendo.com>
9074
9075         * gst/gstelement.c: (gst_element_iterate_pad_list),
9076         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9077         (gst_element_iterate_sink_pads):
9078         Use src/sink pads lists for the respective iterators instead
9079         of filtering.
9080
9081 2005-10-10  Andy Wingo  <wingo@pobox.com>
9082
9083         Merged in popt removal + GOption addition patch from Ronald, bug
9084         #169772.
9085
9086         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9087         GstElement macros around, remove popt-related symbols, add goption
9088         stuff.
9089
9090         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9091         
9092         * docs/gst/Makefile.am:
9093         * docs/libs/Makefile.am: No POPT_CFLAGS.
9094         
9095         * examples/manual/Makefile.am:
9096         * docs/manual/basics-init.xml: Doc updates with an example.
9097         
9098         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9099         (gst_init), (parse_one_option), (parse_goption_arg):
9100         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9101         bit of hand merging and debugging to get the GOption stuff working
9102         tho.
9103         
9104         * tests/Makefile.am:
9105         * tools/Makefile.am:
9106         * tools/gst-inspect.c: (main):
9107         * tools/gst-launch.c: (main):
9108         * tools/gst-run.c: (main):
9109         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9110
9111 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9112
9113         * gst/gstiterator.c: (gst_iterator_new):
9114           Add assertions to make sure passed GType is likely to really
9115           be a GType (as the compiler won't catch it if the size and
9116           GType arguments get mixed up, see #318447).
9117
9118 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
9119
9120         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9121
9122         * gst/gstbin.c: (gst_bin_iterate_sorted):
9123           Pass GType and size arguments to gst_iterator_new() in the right
9124           order (maybe we should make _new() take the GType as first argument
9125           just like _new_list()?) (#318447).
9126           
9127
9128 2005-10-10  Wim Taymans  <wim@fluendo.com>
9129
9130         * gst/gstelement.c: (gst_element_finalize):
9131         And free the GStaticRecMutex too
9132
9133 2005-10-10  Andy Wingo  <wingo@pobox.com>
9134
9135         * gst/gstelement.c (gst_element_init, gst_element_finalize):
9136         Allocate and free the mutex properly.
9137
9138         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9139         New macros.
9140         (GstElement): The state_lock is now recursive. Rebuild your
9141         plugins, suckers. Old macros adapted.
9142
9143         * docs/gst/gstreamer-sections.txt: Doc updates.
9144
9145         * gst/gstutils.h:
9146         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
9147         (g_static_rec_cond_wait): Ported from state changes patch, while
9148         we wait on bug #317802 to be solved in a well-distributed GLib.
9149
9150         * gst/gstelement.c (gst_element_change_state_func): Renamed from
9151         gst_element_change_state, variable name changes.
9152         (gst_element_change_state): Split out of gst_element_set_state in
9153         preparation for the state change merge. Doesn't pay attention to
9154         the 'transition' argument.
9155         (gst_element_set_state): Updates, hopefully purely cosmetic.
9156         (gst_element_sync_state_with_parent): MT-safety. Ported from the
9157         state change patch.
9158         (gst_element_get_state_func): Renamed from get_state, cosmetic
9159         changes.
9160
9161 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9162
9163         * gst/elements/gstelements.c:
9164         * win32/GStreamer.vcproj:
9165         * win32/config.h:
9166         * win32/dirent.c: (_tseekdir):
9167         * win32/gst-inspect.vcproj:
9168         * win32/gst-launch.vcproj:
9169         * win32/gstconfig.h:
9170         * win32/gstelements.vcproj:
9171         * win32/gstenumtypes.c: (gst_object_flags_get_type):
9172         * win32/gstreamer.def:
9173         * win32/msvc71.sln:
9174           updates for the win32 build (patch from Sebastien Moutte)
9175
9176 2005-10-10  Andy Wingo  <wingo@pobox.com>
9177
9178         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9179         gst_bin_get_state, cleaned up (but no logic changes).
9180         (bin_element_is_sink): Comment updates.
9181         (sink_iterator_filter): Remove needless cast.
9182         (gst_bin_iterate_sinks): Doc update.
9183         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9184         cleaned up (but no logic changes).
9185
9186         * check/states/sinks.c (test_src_sink): Cleanups from the state
9187         change patch.
9188         (test_livesrc_sink): Sync on the state.
9189
9190         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9191         the state change patch.
9192
9193         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9194         change patch.
9195
9196         * check/gst/gstbin.c: Merge in some style fixes and additional
9197         checks from Wim's state change patch.
9198
9199 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9200
9201         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9202         (gst_type_find_helper):
9203           Check whether we have the requested data already in our list of
9204           cached buffers before pulling a new buffer; also make the buffer
9205           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9206
9207 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9208
9209         * gst/gstcaps.c:
9210         * gst/gstevent.c:
9211           doc updates
9212         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9213           don't use long long, it's not portable.  Replacing with
9214           gint64 seems to work; let's hope no skeletons fall out of the closet.
9215
9216 2005-10-10  Andy Wingo  <wingo@pobox.com>
9217
9218         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9219
9220 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
9221
9222         * docs/gst/gstreamer-sections.txt:
9223         * gst/gstevent.c:
9224         * gst/gstevent.h:
9225         * gst/gstinfo.c:
9226         * gst/gstinfo.h:
9227         * gst/gstmessage.c: (gst_message_parse_state_changed):
9228         * gst/gstpad.c:
9229         * gst/gstpad.h:
9230           more docs, fix compilation
9231
9232 2005-10-09  Philippe Khalaf <burger@speedy.org>
9233         * gst/gstmessage.c:
9234           Fixed a few forgotten variables on previous commit
9235
9236 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9237
9238         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9239           Fix evil typefind crasher: getrange() might return a short
9240           buffer at the end of a file, but gst_type_find_peek() must
9241           either return the full data as requested or NULL, but
9242           never a short buffer.
9243
9244 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9245
9246         * gst/gstmessage.c: (gst_message_new_state_changed),
9247         (gst_message_parse_state_changed):
9248         * gst/gstmessage.h:
9249           don't use "new", it's a C++ keyword
9250
9251 2005-10-08  Wim Taymans  <wim@fluendo.com>
9252
9253         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9254         * gst/gstelement.c: (gst_element_post_message):
9255         * gst/gstpipeline.c: (gst_pipeline_change_state):
9256         Small docs and debug updates.
9257
9258 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9259
9260         * docs/gst/gstreamer-sections.txt:
9261         * gst/gstelementfactory.c:
9262         * gst/gstevent.c:
9263         * gst/gsttaglist.c:
9264           more docs
9265
9266 2005-10-08  Wim Taymans  <wim@fluendo.com>
9267
9268         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9269         (gst_bin_dispose), (bin_bus_handler):
9270         Fix typos, add comments.
9271         Clear EOS list when going to PAUSED from any direction and do it
9272         in a threadsafe way.
9273         Get base time in a threadsafe way too.
9274         Fix confusing debug in the change_state function.
9275         Various other small cleanups.
9276         
9277         * gst/gstelement.c: (gst_element_post_message):
9278         Fix very verbose bus posting code.
9279
9280         * gst/gstpipeline.c: (gst_pipeline_class_init),
9281         (gst_pipeline_set_property), (gst_pipeline_get_property),
9282         (gst_pipeline_change_state):
9283         Small ARG_ -> PROP_ cleanup
9284
9285 2005-10-08  Wim Taymans  <wim@fluendo.com>
9286
9287         * gst/gstbin.c: (is_eos), (bin_bus_handler):
9288         Do a less CPU demanding EOS check because we can.
9289
9290 2005-10-08  Wim Taymans  <wim@fluendo.com>
9291
9292         * libs/gst/dataprotocol/dataprotocol.c:
9293         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9294         (gst_dp_packet_from_event):
9295         * libs/gst/dataprotocol/dataprotocol.h:
9296         * libs/gst/dataprotocol/dp-private.h:
9297         It's about time we bump the version number.
9298         Since event types don't fit in the guint8 anymore describing
9299         the payload type, make payload type 16 bits wide.
9300
9301 2005-10-08  Wim Taymans  <wim@fluendo.com>
9302
9303         * docs/design/part-TODO.txt:
9304         * docs/design/part-clocks.txt:
9305         * docs/design/part-events.txt:
9306         * docs/design/part-gstbin.txt:
9307         * docs/design/part-gstelement.txt:
9308         * docs/design/part-gstpipeline.txt:
9309         * docs/design/part-live-source.txt:
9310         * docs/design/part-messages.txt:
9311         * docs/design/part-overview.txt:
9312         * docs/design/part-states.txt:
9313         Many doc updates.
9314
9315 2005-10-08  Wim Taymans  <wim@fluendo.com>
9316
9317         * gst/gstevent.c:
9318         * gst/gstevent.h:
9319         Fix event quark registration.
9320         Add some space between events so we can insert them in the
9321         right groups.
9322
9323 2005-10-08  Wim Taymans  <wim@fluendo.com>
9324
9325         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9326         (gst_base_sink_handle_buffer):
9327         Better log message.
9328
9329         * gst/gstbus.h:
9330         * gst/gstelement.h:
9331         More docs.
9332
9333         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9334         (gst_queue_set_property), (gst_queue_get_property):
9335         * gst/gstqueue.h:
9336         Remove old unused properties.
9337
9338 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9339         * docs/gst/gstreamer-sections.txt:
9340         * gst/gstmessage.c:
9341         * gst/gstmessage.h:
9342         * gst/gstminiobject.c:
9343         * gst/gstminiobject.h:
9344         * gst/gstobject.h:
9345         * gst/gstpad.h:
9346         * gst/gstutils.h:
9347           lots of new docs and doc fixes
9348
9349 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9350
9351         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9352         * gst/gstplugin.h:
9353         * gst/gstregistry.c: (gst_registry_lookup_locked),
9354         (gst_registry_scan_path_level):
9355         * gst/gstregistryxml.c: (load_plugin):
9356           Only ever load one plugin for a given plugin basename.
9357           This ensures correct overriding of GST_PLUGIN_PATH over
9358           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9359           system installed plugins.
9360
9361 2005-10-08  Wim Taymans  <wim@fluendo.com>
9362
9363         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9364         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9365         Prepare for doing QOS.
9366
9367 2005-10-08  Wim Taymans  <wim@fluendo.com>
9368
9369         * check/gst/gstbin.c: (GST_START_TEST):
9370         * check/pipelines/cleanup.c: (GST_START_TEST):
9371         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9372         Allow new clock message too.
9373
9374 2005-10-08  Wim Taymans  <wim@fluendo.com>
9375
9376         * gst/gstmessage.c: (gst_message_new_error),
9377         (gst_message_new_warning), (gst_message_new_tag),
9378         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9379         (gst_message_new_clock_lost), (gst_message_new_new_clock),
9380         (gst_message_new_segment_start), (gst_message_new_segment_done),
9381         (gst_message_parse_state_changed),
9382         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9383         (gst_message_parse_new_clock):
9384         * gst/gstmessage.h:
9385         Also carry the clock in question.
9386
9387 2005-10-08  Wim Taymans  <wim@fluendo.com>
9388
9389         * gst/gstmessage.c: (gst_message_new_custom),
9390         (gst_message_new_eos), (gst_message_new_error),
9391         (gst_message_new_warning), (gst_message_new_tag),
9392         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9393         (gst_message_new_new_clock), (gst_message_new_segment_start),
9394         (gst_message_new_segment_done), (gst_message_parse_state_changed),
9395         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9396         * gst/gstmessage.h:
9397         Clean up.
9398         Added clock related messages.
9399
9400         * gst/gstpipeline.c: (gst_pipeline_change_state):
9401         Post message when the clock changed.
9402
9403         * tools/gst-launch.c: (event_loop):
9404         Print new clock.
9405
9406 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9407
9408         * tools/gst-inspect.c: (print_element_properties_info):
9409           Can't pass NULL strings to g_print() on windows.
9410
9411 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9412
9413         * docs/Makefile.am:
9414         * docs/gst/Makefile.am:
9415         * docs/gst/gstreamer-docs.sgml:
9416         * docs/gst/running.xml:
9417         * docs/version.entities.in:
9418           add a chapter on running GStreamer.
9419           document GST_DEBUG and GST_PLUGIN* env vars
9420
9421 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9422
9423         * Makefile.am:
9424           remove include dir
9425         * configure.ac:
9426           remove PLUGINS_BUILDDIR stuff
9427         * gst/gst.c: (init_post):
9428           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9429         * idiottest.mak:
9430           remove, it was condescending and not needed
9431
9432 2005-10-08  Wim Taymans  <wim@fluendo.com>
9433
9434         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9435         (gst_base_sink_handle_object), (gst_base_sink_event),
9436         (gst_base_sink_wait), (gst_base_sink_handle_event),
9437         (gst_base_sink_change_state):
9438         * gst/base/gstbasesink.h:
9439         Repost EOS message while going to PLAYING if still EOS.
9440         Make sure that when receiving a FLUSH_START we don't attempt
9441         to sync on the clock anymore.
9442
9443 2005-10-08  Wim Taymans  <wim@fluendo.com>
9444
9445         * tools/gst-launch.c: (event_loop):
9446         Better message printout.
9447
9448 2005-10-08  Wim Taymans  <wim@fluendo.com>
9449
9450         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
9451         (gst_bin_child_proxy_get_children_count):
9452         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9453         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
9454         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
9455         (gst_child_proxy_set_valist):
9456         * gst/parse/grammar.y:
9457         Make ChildProxy threadsafe and fix mem leaks.
9458
9459 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9460
9461         * gst/gst.c: (init_post):
9462           debug the GST_PLUGIN_ env vars
9463
9464 2005-10-08  Wim Taymans  <wim@fluendo.com>
9465
9466         * check/gst/gstbin.c: (GST_START_TEST):
9467         * check/gst/gstmessage.c: (GST_START_TEST):
9468         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9469         * gst/gstelement.c: (gst_element_commit_state),
9470         (gst_element_lost_state):
9471         * gst/gstmessage.c: (gst_message_new_state_changed),
9472         (gst_message_parse_state_changed):
9473         * gst/gstmessage.h:
9474         * tools/gst-launch.c: (event_loop):
9475         Added extra field to STATE_CHANGE message with the pending
9476         state, which will be different from the new state soon.
9477
9478 2005-10-08  Wim Taymans  <wim@fluendo.com>
9479
9480         * gst/gstbus.c: (gst_bus_pop):
9481         * gst/gstclock.c:
9482         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9483         Small cleanups and doc updates.
9484
9485 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9486
9487         * gst/gst.c: (init_pre):
9488         * gst/gstbin.c: (gst_bin_add_func):
9489           log distributing clocks and base time
9490         * gst/gstregistry.c: (gst_registry_add_plugin),
9491         (gst_registry_scan_path_level), (gst_registry_scan_path):
9492           clean up the debugging output a little
9493         * gst/gstutils.c: (gst_element_state_get_name):
9494           warn about a memleak (I've actually seen this be used, though
9495           it was probably a bug)
9496
9497 2005-10-07  Wim Taymans  <wim@fluendo.com>
9498
9499         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9500         (gst_base_src_init), (gst_base_src_default_newsegment),
9501         (gst_base_src_newsegment), (gst_base_src_do_seek),
9502         (gst_base_src_loop), (gst_base_src_start):
9503         * gst/base/gstbasesrc.h:
9504         Make the newsegment event customizable by subclasses.
9505
9506 2005-10-07  Wim Taymans  <wim@fluendo.com>
9507
9508         * gst/gstevent.c: (gst_event_new_buffersize),
9509         (gst_event_parse_buffersize):
9510         * gst/gstevent.h:
9511         New event for future idea.
9512
9513 2005-10-07  Andy Wingo  <wingo@pobox.com>
9514
9515         * gst/gstelement.c (gst_element_post_message): Doc update.
9516
9517         * docs/gst/gstreamer-sections.txt: Update.
9518
9519         * gst/gstmessage.c (gst_message_new_application): Made into a
9520         function like honest API calls.
9521         (gst_message_new_element): New message type.
9522
9523         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
9524
9525         * check/elements/fakesrc.c (test_no_preroll): New check, checks
9526         that setting a live fakesrc to PAUSED returns NO_PREROLL both
9527         times.
9528
9529         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
9530         NO_PREROLL from gst_element_change_state to fall through.
9531
9532 2005-10-07  Wim Taymans  <wim@fluendo.com>
9533
9534         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
9535         (gst_ghost_pad_do_activate_push):
9536         Activating a ghostpad with no internal pad in push mode
9537         is ok.
9538
9539 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9540
9541         * gst/gstobject.h:
9542           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
9543           Fixes compilation on Windows.
9544
9545 2005-10-07  Michael Smith <msmith@fluendo.com>
9546
9547         * tools/gst-inspect.c:
9548           Print out feature and plugin count at the end when printing out
9549           all features.
9550
9551 2005-10-04  Michael Smith <msmith@fluendo.com>
9552
9553         * gst/gsterror.c: (_gst_stream_errors_init):
9554           Add another error string used in a few existing plugins.
9555
9556         * gst/gstplugin.c:
9557         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9558         * tools/gst-inspect.c: (print_element_info):
9559           When a feature disappears from a plugin (and the feature exists in
9560           the cached registry file), things went horribly wrong. This isn't a
9561           complete fix, we should actually be removing the 'missing' features
9562           from the features list when we load the actual plugin. That's not
9563           yet implemented. 
9564
9565 2005-10-04  Johan Dahlin  <johan@gnome.org>
9566
9567         * check/gst/gstiterator.c: (GST_START_TEST):
9568         * gst/gstbin.c: (gst_bin_iterate_elements),
9569         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
9570         * gst/gstelement.c: (gst_element_iterate_pads):
9571         * gst/gstformat.c: (gst_format_iterate_definitions):
9572         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9573         (gst_iterator_new_list), (gst_iterator_filter):
9574         * gst/gstiterator.h:
9575         * gst/gstquery.c: (gst_query_type_iterate_definitions):
9576         Add a GType to GstIterator, update callsites and tests.
9577
9578 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9579
9580         * gst/gstpad.c: (gst_pad_event_default_dispatch):
9581           give events a chance to be handled by event probes when the pad
9582           is not linked
9583
9584 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9585
9586         * gst/gstevent.c: (gst_event_type_get_name),
9587         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
9588         * gst/gstevent.h:
9589           add string representations for event types
9590
9591 2005-10-06  Wim Taymans  <wim@fluendo.com>
9592
9593         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
9594         Don't use NULL pointers.
9595
9596 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9597
9598         * gst/gst_private.h:
9599         * gst/gstbus.c:
9600         * gst/gstelement.c:
9601         * gst/gstinfo.c:
9602         * gst/gstpluginfeature.c:
9603           widen the debug category in output to fit the biggest one we have
9604           add a bus category and use it
9605           play with the colors
9606           fix up some categories
9607
9608 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9609
9610         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
9611           add push activation of sink ghost pads.
9612           Andye, please verify
9613
9614 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9615
9616         * gst/gstutils.c: (gst_element_link_pads):
9617           fix a bug in the case where neither element has a pad
9618         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9619           add a test for that case
9620
9621 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9622
9623         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
9624           emit have-data before checking for peers.  This allows
9625           for probe handlers to connect elements.  This helps autopluggers.
9626         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
9627         (gst_pad_suite):
9628           add six checks, linked/unlinked with no/true/false probe
9629
9630 2005-10-04  Wim Taymans  <wim@fluendo.com>
9631
9632         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
9633         (gst_fake_sink_event), (gst_fake_sink_preroll),
9634         (gst_fake_sink_render), (gst_fake_sink_change_state):
9635         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
9636         (gst_fake_src_get_property), (gst_fake_src_create),
9637         (gst_fake_src_stop):
9638         * gst/elements/gstidentity.c: (gst_identity_stop):
9639         Protect last_message with lock.
9640
9641 2005-10-04  Edward Hervey  <edward@fluendo.com>
9642
9643         * gst/gstformat.h: 
9644         Added precision in the comments for GST_FORMAT_DEFAULT
9645
9646 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
9647
9648         * tools/gst-launch.c: (main):
9649           Don't try to run erroneous pipelines.
9650
9651 2005-10-04  Julien MOUTTE  <julien@moutte.net>
9652
9653         * gst/gstbus.c: We don't need this header.
9654
9655 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9656
9657         * configure.ac:
9658           back to development
9659
9660 === release 0.9.3 ===
9661
9662 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9663
9664         * README:
9665         * configure.ac:
9666           Releasing 0.9.3, "Unregistered"
9667
9668 2005-10-03  Andy Wingo  <wingo@pobox.com>
9669
9670         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
9671         whereby calling a pad's activatepush() function can start a thread
9672         that starts to push or pull before the pad gets the FLUSHING flag
9673         unset. Hack around it by holding the stream lock until the flag is
9674         set. Need to replace this with a proper solution. Together with
9675         the ghost pad fixes, this fixes mp3 playing/tagreading.
9676
9677         * docs/design/part-gstghostpad.txt: Add a note about activation of
9678         proxy pads outside of ghost pads.
9679
9680         * gst/gstghostpad.c: Implement the ghost pad activation design.
9681
9682 2005-10-02  Andy Wingo  <wingo@pobox.com>
9683
9684         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
9685         It is volatile, after all.
9686
9687         * docs/design/part-gstghostpad.txt: Flesh out activation with
9688         ghost pads.
9689
9690         * gst/base/gstbasesrc.c (gst_base_src_init): Use
9691         GST_DEBUG_FUNCPTR.
9692
9693 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9694
9695         * configure.ac:
9696           Fix (unused) AM_CONDITIONAL tests.
9697
9698 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
9699
9700         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9701
9702         * gst/gstutils.c: (gst_pad_query_convert):
9703           Add assertion that makes sure src_val is >=0, just like
9704           gst_query_new_convert() has. (#315895)
9705
9706 2005-09-30  Edward Hervey  <edward@fluendo.com>
9707
9708         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
9709         Let's not iterate pads we're not interested in, it avoids getting 
9710         sky-high refcounts on sinkpad.
9711
9712 2005-09-30  Wim Taymans  <wim@fluendo.com>
9713
9714         * gst/gstelement.c: (gst_element_set_state),
9715         (gst_element_change_state):
9716         Small tweak, element in ASYNC remains ASYNC.
9717
9718 2005-09-30  Wim Taymans  <wim@fluendo.com>
9719
9720         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9721         Only error is an error.
9722
9723         * gst/gstbin.c: (gst_bin_change_state):
9724         Better debugging.
9725
9726         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
9727         Also call pad_block in pad alloc.
9728
9729         * gst/gstutils.c: (gst_flow_get_name):
9730         Better debugging.
9731
9732 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9733
9734         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9735         (gst_base_src_get_range):
9736           Fix documentation typos. Add some more debug info.
9737
9738 2005-09-29  David Schleef  <ds@schleef.org>
9739
9740         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
9741           more end-user friendly.
9742         * tools/gst-inspect.c: (main): Check if command-line argument is
9743           a file and attempt to load that file as a plugin.
9744
9745 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9746
9747         * check/gst/gstbin.c:
9748         * check/states/sinks.c:
9749           fix tests for the new warning
9750         * check/gst/gstpipeline.c:
9751           add a test for pipeline and bus interaction
9752         * gst/gstelement.c:
9753           elements should be NULL if they get disposed; add a warning if not
9754
9755 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9756
9757         * gst/gstobject.c:
9758           for 2.6 refcounting, make debug log more correct by printing
9759           the actual refcounts at the time of swap (Wim)
9760
9761 2005-09-29  Andy Wingo  <wingo@pobox.com>
9762
9763         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
9764         removes signal watches previously added via
9765         gst_bus_add_signal_watch.
9766         (gst_bus_add_signal_watch): Don't return the source id, just store
9767         it on the bus if there wasn't an id already.
9768
9769         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
9770         add_signal_watch and remove_signal_watch.
9771
9772 2005-09-29  Edward Hervey  <edward@fluendo.com>
9773
9774         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
9775         Better if we actually iterate the list :)
9776
9777 2005-09-29  Wim Taymans  <wim@fluendo.com>
9778
9779         * check/gst/gstbin.c: (GST_START_TEST):
9780         Change for new bus API.
9781
9782         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9783         (send_messages), (GST_START_TEST), (gstbus_suite):
9784         Change for new bus signal API.
9785
9786         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
9787         (gst_bus_source_prepare), (gst_bus_source_check),
9788         (gst_bus_create_watch), (gst_bus_add_watch_full),
9789         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
9790         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
9791         * gst/gstbus.h:
9792         Remove support for multiple GSources operating on different
9793         message types as it is too complex and unneeded when using
9794         signals.
9795         Added support for receiving signals from the bus.
9796
9797 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9798
9799         * docs/libs/tmpl/gstdataprotocol.sgml:
9800         * docs/manual/advanced-dataaccess.xml:
9801         * gst/elements/gstcapsfilter.c:
9802         * gst/gstutils.c:
9803           rename filter-caps to caps property
9804
9805 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9806
9807         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9808           More robust fraction string parsing.
9809
9810         * docs/pwg/appendix-porting.xml:
9811           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
9812
9813 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9814
9815         * gst/gstcaps.c: (gst_caps_do_simplify):
9816           Thou shalt not free a structure and then continue using it
9817           in the next loop iteration.
9818
9819         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
9820         (gst_caps_suite):
9821           Add test case for caps simplification.
9822
9823 2005-09-29  Wim Taymans  <wim@fluendo.com>
9824
9825         * check/gst/gstbin.c: (GST_START_TEST):
9826         Oops.
9827
9828 2005-09-29  Wim Taymans  <wim@fluendo.com>
9829
9830         * check/gst/gstbin.c: (GST_START_TEST):
9831         Add bus to bin.
9832
9833         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9834         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9835         (find_element), (gst_bin_sort_iterator_next),
9836         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9837         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9838         (gst_bin_change_state), (gst_bin_dispose):
9839         A bin does not have a bus, it gets the bus from the parent.
9840
9841         * gst/gstelement.c: (gst_element_requires_clock),
9842         (gst_element_provides_clock), (gst_element_is_indexable),
9843         (gst_element_is_locked_state), (gst_element_change_state),
9844         (gst_element_set_bus_func):
9845         Small cleanups.
9846
9847         * gst/gstpipeline.c: (gst_pipeline_class_init),
9848         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
9849         The pipeline provides a bus.
9850
9851 2005-09-28  Johan Dahlin  <johan@gnome.org>
9852
9853         * gst/gstmessage.c (gst_message_parse_state_changed): Use
9854         gst_structure_get_enum instead of gst_structure_get_int
9855
9856         * gst/gststructure.c (gst_structure_get_enum): Impl.
9857
9858         * gst/gststructure.h (gst_structure_get_enum): Add
9859
9860         * docs/gst/gstreamer-sections.txt: Ditto
9861
9862         * gst/gstmessage.c (gst_message_new_state_changed): Use
9863         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
9864         which does introspection.
9865         Reviewed by Christian Schaller
9866
9867 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9868
9869         * gst/gstinfo.c: (gst_debug_log_default):
9870           don't do dummy g_strdup()s
9871         * libs/gst/controller/gstcontroller.c:
9872         (on_object_controlled_property_changed),
9873         (gst_controlled_property_new), (gst_controller_new_valist),
9874         (gst_controller_new_list),
9875         (gst_controller_remove_properties_valist), (gst_controller_set),
9876         (gst_controller_get), (gst_controller_sync_values),
9877         (gst_controller_get_value_array), (_gst_controller_class_init),
9878         (gst_controller_get_type):
9879         * libs/gst/controller/gstcontroller.h:
9880         * libs/gst/controller/gstinterpolation.c:
9881         (gst_controlled_property_find_timed_value_node):
9882           convert // to /**/ comments
9883
9884 2005-09-28  Wim Taymans  <wim@fluendo.com>
9885
9886         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
9887         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
9888         (gst_bus_sync_signal_handler):
9889         * gst/gstbus.h:
9890         Added async-message and sync-message signals to the bus.
9891         Added helper BusFunc to emit signals for all posted messages.
9892
9893         * gst/gstmessage.c: (gst_message_type_get_name),
9894         (gst_message_type_to_quark), (gst_message_get_type):
9895         * gst/gstmessage.h:
9896         Register quarks for message names.
9897
9898 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9899
9900         * docs/libs/gstreamer-libs-sections.txt:
9901         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9902         (gst_controller_new_list):
9903         * libs/gst/controller/gstcontroller.h:
9904           added another constructor for language bindings
9905
9906 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9907
9908         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9909           add another check
9910         * gst/gstbus.c:
9911           add some doc
9912         * gst/gstinfo.c: (_gst_debug_init):
9913           slightly more readable color for refcount debugging
9914
9915 2005-09-28  Wim Taymans  <wim@fluendo.com>
9916
9917         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9918         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9919         (find_element), (gst_bin_sort_iterator_next),
9920         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9921         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9922         (gst_bin_change_state), (gst_bin_dispose):
9923         Small doc fixes. get_clock -> provide_clock.
9924
9925         * gst/gstelement.c: (gst_element_class_init),
9926         (gst_element_provides_clock), (gst_element_provide_clock),
9927         (gst_element_get_clock), (gst_element_commit_state),
9928         (gst_element_lost_state):
9929         * gst/gstelement.h:
9930         Make get/set_clock() symetric. Add provide_clock vmethod since
9931         that is actually what this function does.
9932
9933         * gst/gstpipeline.c: (gst_pipeline_class_init),
9934         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
9935         (gst_pipeline_get_clock):
9936         get_clock -> provide_clock.
9937
9938 2005-09-28  Andy Wingo  <wingo@pobox.com>
9939
9940         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
9941         lieu of real docs...
9942
9943         * gst/elements/gstfdsrc.c: Cleaned up a bit.
9944
9945 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
9946
9947         * gst/elements/gstcapsfilter.c:
9948         * gst/elements/gstfakesink.c:
9949         * gst/elements/gstfakesrc.c:
9950         * gst/elements/gstfdsink.c:
9951         * gst/elements/gstfdsrc.c:
9952         * gst/elements/gstfilesink.c:
9953         * gst/elements/gstfilesrc.c:
9954         * gst/elements/gstidentity.c:
9955         * gst/elements/gsttee.c:
9956         * gst/elements/gsttypefindelement.c:
9957           Make element details static.
9958
9959 2005-09-28  Wim Taymans  <wim@fluendo.com>
9960
9961         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
9962         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
9963         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9964         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9965         (gst_bin_change_state), (gst_bin_dispose):
9966         Some documentation updates.
9967         Clean up dispose handlers.
9968
9969         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
9970         * gst/gstpad.c: (gst_pad_dispose):
9971         Clean up dispose handler.
9972
9973         * gst/gstpipeline.c: (gst_pipeline_change_state):
9974         Removed spurious UNLOCK.
9975
9976 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
9977
9978         * docs/gst/gstreamer-sections.txt:
9979         * gst/base/gstbasesrc.h:
9980         * gst/gstelement.h:
9981         * gst/gstevent.h:
9982         * gst/gstobject.h:
9983         * gst/gstpad.h:
9984         * gst/gstpipeline.c:
9985         * gst/gstpipeline.h:
9986         * gst/gstutils.h:
9987         * gst/gstxml.h:
9988           added two new functions to the docs
9989                 documents all undocumented GstXXXFlags
9990                 completed some incomplete docs 
9991
9992 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
9993
9994         * gst/gstbin.c: (gst_bin_dispose):
9995         * gst/gstelement.c: (gst_element_dispose):
9996           remove now useless and leaky resurrection code in dispose
9997         * gst/base/gstbasesrc.c: (gst_base_src_init):
9998         * gst/gstelementfactory.c: (gst_element_factory_create):
9999         * gst/gstobject.c: (gst_object_set_parent):
10000           add some debugging
10001
10002 2005-09-27  Wim Taymans  <wim@fluendo.com>
10003
10004         * docs/design/part-TODO.txt:
10005         Update TODO.
10006
10007         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10008         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10009         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10010         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10011         (gst_bin_change_state):
10012         * gst/gstelement.h:
10013         Remove element variable, we keep element info in the iterator now.
10014
10015 2005-09-27  Andy Wingo  <wingo@pobox.com>
10016
10017         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10018         values.
10019
10020 2005-09-27  Wim Taymans  <wim@fluendo.com>
10021
10022         * check/gst/gstbin.c: (GST_START_TEST):
10023         Enable check that works now.
10024
10025         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10026         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10027         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10028         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10029         (gst_bin_change_state):
10030         * gst/gstbin.h:
10031         Redid the state change algorithm using a topological sort algo.
10032         Handles all cases correctly.
10033         Exposed iterator for state change order.
10034
10035         * gst/gstelement.h:
10036         Temp storage for state changes. Need to get rid of this soon.
10037
10038 2005-09-27  Wim Taymans  <wim@fluendo.com>
10039
10040         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10041         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10042         (link_fold_func), (gst_pad_proxy_setcaps):
10043         Leak fixes, the fold functions need to unref the passed object and
10044         _get_parent_*() returns ref to parent.
10045
10046 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10047
10048         * check/gst/gstbuffer.c: (test_make_writable):
10049           Plug leak in test case and fix 'make check-valgrind'
10050
10051 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10052
10053         * gst/gstbuffer.c: (gst_subbuffer_init):
10054           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10055           works correctly in all circumstances (we could have just copied
10056           the parent buffer's readonly flag, but conceptually it seems
10057           cleaner to mark all subbuffers as read-only). (based on patch
10058           by Alessandro Decina, #314710).
10059         
10060         * check/gst/gstbuffer.c: (create_read_only_buffer),
10061         (test_make_writable), (test_subbuffer_make_writable),
10062         (gst_test_suite):
10063           Add some tests for gst_buffer_make_writable().
10064
10065 2005-09-27  Wim Taymans  <wim@fluendo.com>
10066
10067         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10068         use gst_object_has_ancestor().
10069
10070         * gst/gstobject.c: (gst_object_has_ancestor):
10071         * gst/gstobject.h:
10072         gst_object_has_ancestor() copied from gstbin.c as it is a
10073         usefull function.
10074
10075         * tests/instantiate/create.c: (create_all_elements):
10076         * tests/lat.c: (handoff_src), (handoff_sink):
10077         * tests/sched/runxml.c: (main):
10078         * tests/seeking/seeking1.c: (main):
10079         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10080         (main):
10081         Fix compilation of some tests.
10082
10083 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10084
10085         * gst/gsterror.h:
10086           Remove comment. GST_TYPE_G_ERROR is here to stay,
10087           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10088           (#316961, #300610).
10089
10090 2005-09-26  Wim Taymans  <wim@fluendo.com>
10091
10092         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10093         Added check that shows error in state change order.
10094
10095 2005-09-26  Wim Taymans  <wim@fluendo.com>
10096
10097         * gst/gstbin.c: (gst_bin_change_state):
10098         Make state change function use 3 queues again, we were
10099         adding elements in the wrong order.
10100
10101         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10102         Some debug info,
10103
10104         * gst/gstpad.c: (gst_pad_dispose):
10105         Added some debug info first.
10106
10107 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
10108
10109         * docs/design/draft-push-pull.txt:
10110         * docs/design/part-events.txt:
10111         * docs/design/part-overview.txt:
10112         * docs/design/part-scheduling.txt:
10113           Replace all _pull_region() with _pull_range()
10114           
10115 2005-09-26  Andy Wingo  <wingo@pobox.com>
10116
10117         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10118
10119         * check/gst-libs/controller.c: Update for controller api change.
10120
10121         * configure.ac: 
10122         * tests/Makefile.am:
10123         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10124         over by GLib bug 118439.
10125         
10126         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10127         routines to a function.
10128
10129         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10130
10131         * libs/gst/controller/gsthelper.c:
10132         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10133         (gst_object_sync_values): Renamed from sink_values. Ugh.
10134
10135         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10136
10137         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10138         Renamed from controller_key, as it is exported.
10139
10140         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10141
10142 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10143
10144         * gst/Makefile.am:
10145         * gst/gst.h:
10146         * gst/gstpad.h:
10147         * gst/gstpadtemplate.h:
10148         * gst/gstquery.c:
10149         * gst/gstquery.h:
10150         * gst/gstqueryutils.c:
10151         * gst/gstqueryutils.h:
10152           remove queryutils headers after moving the two used functions
10153           to gstquery.  also fixes build problem for gstsiddec
10154
10155 2005-09-26  Michael Smith <msmith@fluendo.com>
10156
10157         * tools/gst-launch.1.in:
10158         Correct documentation in manpage of debug syntax
10159
10160 2005-09-26  Wim Taymans  <wim@fluendo.com>
10161
10162         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10163         (gst_base_src_is_seekable), (gst_base_src_change_state):
10164         Some more debugging info.
10165
10166 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10167
10168         * docs/gst/gstreamer-sections.txt:
10169         * gst/base/gstbasetransform.h:
10170         * gst/gstindex.h:
10171           added more docs
10172
10173 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10174
10175         * docs/gst/.cvsignore:
10176         * docs/gst/tmpl/.cvsignore:
10177         * docs/gst/tmpl/gstpipeline.sgml:
10178         * docs/gst/tmpl/gstplugin.sgml:
10179         * gst/gstpipeline.c:
10180         * gst/gstplugin.c:
10181         * gst/gstplugin.h:
10182           inlined the last two docs files
10183           removed the tmpl directory from cvs (no more conflicts here!)
10184
10185 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10186
10187         * docs/gst/gstreamer-sections.txt:
10188         * docs/gst/tmpl/.cvsignore:
10189         * docs/gst/tmpl/gstpad.sgml:
10190         * docs/gst/tmpl/gstpadtemplate.sgml:
10191         * gst/Makefile.am:
10192         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10193         (gst_pad_finalize), (gst_pad_set_pad_template):
10194         * gst/gstpad.h:
10195         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10196         (gst_pad_template_class_init), (gst_pad_template_init),
10197         (gst_pad_template_dispose), (name_is_valid),
10198         (gst_static_pad_template_get), (gst_pad_template_new),
10199         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10200         (gst_pad_template_pad_created):
10201         * gst/gstpadtemplate.h:
10202           inlined two more docs
10203           factored gstpadtemplate out of gstpad
10204
10205 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
10206
10207         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10208         (test_children_state_change_order_semi_sink):
10209           Fix test case: we can't rely on a fixed state change order when
10210           going from READY => PAUSED because the sink might commit its 
10211           new state first when the first buffer created by the source 
10212           reaches the sink before the source has finished its change state.
10213           (Test case still fails at times, see #316856, comment 5 onwards)
10214
10215 2005-09-24  Wim Taymans  <wim@fluendo.com>
10216
10217         * docs/design/part-events.txt:
10218         * docs/design/part-gstbus.txt:
10219         * docs/design/part-gstpipeline.txt:
10220         * docs/design/part-messages.txt:
10221         * docs/design/part-overview.txt:
10222         * docs/design/part-segments.txt:
10223         * gst/gstbin.c:
10224         * gst/gstbuffer.c:
10225         * gst/gstclock.c:
10226         * gst/gstelement.c:
10227         * gst/gstevent.c:
10228         * gst/gstfilter.c:
10229         * gst/gstiterator.c:
10230         Various documentation updates.
10231
10232 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10233
10234         * gst/gstclock.h:
10235           Well, that's embarassing.  Luckily we weren't using
10236           GST_CLOCK_DIFF anywhere.
10237
10238 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10239
10240         * common/gtk-doc.mak:
10241           don't fail on building XML, FC4 slave shows a bunch of doc
10242           missing bits that I don't get
10243         * gst/gstpad.c:
10244         * gst/gstpipeline.c:
10245         * gst/gststructure.c:
10246           some doc updates
10247
10248 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10249
10250         * docs/design/part-gstbin.txt:
10251         * docs/design/part-gstbus.txt:
10252         * gst/gstbus.c:
10253           Add blurb about how the bus goes into flushing mode and
10254           drops all messages when its bin goes from READY into NULL 
10255           state.
10256
10257 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10258
10259         * docs/gst/gstreamer-sections.txt:
10260         * gst/gststructure.c: (gst_structure_get_clock_time):
10261         * gst/gststructure.h:
10262           add a method to get a GstClockTime out of a structure
10263
10264 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10265
10266         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10267         (test_children_state_change_order_semi_sink), (gst_bin_suite):
10268           Added test to check state change order in bins (can still be made
10269           to fail here under heavy disk load; bails out with 'Push on pad
10270           fakesink:sink0, but it was not activated in push mode').
10271
10272         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10273           Fix state change order when there is only a semi sink (#316856)
10274
10275         * gst/gstbus.c: (gst_bus_class_init):
10276           Use _class_peek_parent(), not _class_ref(); fix docs to say
10277           'default main context' instead of 'mainloop' where that is
10278           what's meant.
10279
10280         * gst/gstelement.c: (gst_element_commit_state),
10281         (gst_element_set_state):
10282           Fix typos in debug messages
10283
10284 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10285
10286         * docs/README:
10287         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10288         * gst/gstpluginfeature.c:
10289         * gst/gstutils.c:
10290           various doc updates
10291         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10292           change an assert into an error until it gets fixed properly
10293
10294 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10295
10296         * docs/gst/gstreamer-sections.txt:
10297         * docs/gst/tmpl/.cvsignore:
10298         * docs/gst/tmpl/gstelement.sgml:
10299         * docs/gst/tmpl/gstinfo.sgml:
10300         * docs/gst/tmpl/gstobject.sgml:
10301         * gst/gstelement.c:
10302         * gst/gstelement.h:
10303         * gst/gstinfo.c:
10304         * gst/gstinfo.h:
10305         * gst/gstobject.c: (gst_object_class_init):
10306         * gst/gstobject.h:
10307           inlined 3 more biiiig doc files and added some missing docs on the fly
10308
10309 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10310
10311         * check/gst/.cvsignore:
10312         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10313         * gst/gstregistryxml.c: (load_plugin),
10314         (gst_registry_xml_save_plugin):
10315           put back source in registry.  add checks for find_plugin.
10316         * testsuite/states/bin.c: (assert_state), (empty_bin),
10317         (test_adding_one_element), (main):
10318         * testsuite/states/locked.c: (main):
10319           some compile/run fixes
10320
10321 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10322
10323         * check/gst/gstvalue.c: (GST_START_TEST):
10324           fix leaks in the test itself
10325
10326 2005-09-22  Wim Taymans  <wim@fluendo.com>
10327
10328         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10329         (gst_base_sink_send_event), (gst_base_sink_peer_query),
10330         (gst_base_sink_query):
10331         Prepare for more accurate position reporting and query
10332         handling.
10333
10334         * gst/gstelement.c: (gst_element_send_event),
10335         (gst_element_set_state):
10336         Add some comment.
10337
10338 2005-09-22  Wim Taymans  <wim@fluendo.com>
10339
10340         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10341         (gst_query_parse_segment):
10342         * gst/gstquery.h:
10343         More documentation.
10344         Add segment query for future use.
10345
10346 2005-09-22  Wim Taymans  <wim@fluendo.com>
10347
10348         * gst/gstbin.c: (gst_bin_add_func):
10349         Some more debug info.
10350
10351         * gst/gstelement.c: (gst_element_send_event):
10352         Simplify send_event
10353
10354         * gst/gstelement.h:
10355         Don't know how flags got broken.
10356
10357         * gst/gstquery.h:
10358         Added new query.
10359
10360 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10361
10362         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10363           Add simplistic test suite for GST_TYPE_DATE serialisation and
10364           deserialisation.
10365
10366 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10367
10368         * docs/gst/gstreamer-sections.txt:
10369         * gst/gststructure.c: (gst_structure_set_valist),
10370         (gst_structure_get_date):
10371         * gst/gststructure.h:
10372         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10373         (gst_date_copy), (gst_value_compare_date),
10374         (gst_value_serialize_date), (gst_value_deserialize_date),
10375         (gst_value_transform_date_string),
10376         (gst_value_transform_string_date), (_gst_value_initialize):
10377         * gst/gstvalue.h:
10378           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10379           bunch of utility functions along with a hack that checks that
10380           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10381           is required. Part of the grand scheme in #170777.
10382
10383 2005-09-22  Andy Wingo  <wingo@pobox.com>
10384
10385         * gst/gstconfig.h.in: Psych out gtk-doc.
10386
10387         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10388
10389         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10390
10391         * tools/gst-inspect.c (print_element_list): Plug some
10392         inconsequential leaks.
10393
10394         * gst/gstregistry.c (gst_registry_get_default): Doc.
10395
10396         * check/gst/gstplugin.c: 
10397         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10398         * gst/gstelementfactory.c (gst_element_factory_create): 
10399         * gst/gstindexfactory.c (gst_index_factory_create): Update for
10400         refcount changes.
10401
10402         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10403         (gst_plugin_feature_load): Doc, don't eat refs.
10404
10405         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10406         (gst_plugin_list_free): Doc.
10407         (gst_plugin_load_file): Doc updates.
10408
10409         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10410         accessors returning refcounted objects, return a ref.
10411
10412         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10413         accessor for caps. IDEMPOTENCE. Oh yes.
10414
10415 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
10416
10417         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10418
10419         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10420         (_gst_debug_register_funcptr):
10421           Add mutex to serialise access to the hash table with
10422           the function pointer => function name string mapping;
10423           make that hash table static scope (#316809).
10424
10425         * gst/registries/.cvsignore:
10426           Remove left-over file.
10427
10428 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10429
10430         * docs/pwg/appendix-porting.xml:
10431           And something about newsegment events and caps-on-buffers to
10432           the porting guide (feel free to improve).
10433
10434 2005-09-21  Andy Wingo  <wingo@pobox.com>
10435
10436         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10437         data and event probes on the same pad.
10438         (test_buffer_probe_once): Test that removing probes from within
10439         the probe functions works.
10440
10441 2005-09-21  Andy Wingo  <wingo@pobox.com>
10442
10443         * check/gst/gstutils.c: New file.
10444         (test_buffer_probe_n_times): A simple buffer probe test. More to
10445         come, foolios.
10446
10447         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
10448         have-data::buffer, not have-data.
10449         (gst_pad_add_event_probe): Likewise for have-data::event.
10450         (gst_pad_add_data_probe): More docs. The part about 'resolving the
10451         peer' isn't quite right yet though.
10452         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
10453         (gst_pad_remove_data_probe): Change to take the guint handler_id
10454         as their arg, not the function+data, which is more glib-like.
10455
10456         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
10457         the signal emission to indicate if the data is a buffer or an
10458         event.
10459         (gst_pad_get_type): Initialize buffer and event quarks.
10460         (gst_pad_class_init): have-data is now a detailed signal, yes it
10461         is.
10462
10463 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10464
10465         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10466         * gst/gstutils.c: (gst_util_set_value_from_string),
10467         (gst_util_set_object_arg):
10468           Don't put functional code in g_return_if_fail() or
10469           g_return_val_if_fail() statements, otherwise things will 
10470           break when G_DISABLE_CHECKS is defined during compilation.
10471
10472 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10473
10474         * docs/gst/tmpl/.cvsignore:
10475         * docs/gst/tmpl/gstvalue.sgml:
10476         * gst/gstvalue.c:
10477         * gst/gstvalue.h:
10478           inlied another one and added  some obvious docs
10479
10480 2005-09-21  Wim Taymans  <wim@fluendo.com>
10481
10482         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10483         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
10484         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
10485         (gst_fdsrc_get_property), (gst_fdsrc_create):
10486         * gst/elements/gstfdsrc.h:
10487         Properly implement fdsrc. Removed signal and timeout,
10488         better implemented somewhere else.
10489
10490 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10491
10492         * docs/gst/tmpl/.cvsignore:
10493         * docs/gst/tmpl/gstimplementsinterface.sgml:
10494         * gst/gstinterface.c:
10495           inlined more docs
10496
10497 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10498
10499         * docs/gst/gstreamer-sections.txt:
10500         * docs/gst/tmpl/.cvsignore:
10501         * docs/gst/tmpl/gstenumtypes.sgml:
10502           remove obsolete doc file
10503
10504 2005-09-21  David Schleef  <ds@schleef.org>
10505
10506         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
10507         little beer, fix a little leak.
10508
10509 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10510
10511         * docs/gst/gstreamer-docs.sgml:
10512         * docs/gst/gstreamer-sections.txt:
10513         * docs/gst/tmpl/.cvsignore:
10514         * gst/Makefile.am:
10515         * gst/gst.h:
10516         * gst/gstbin.c:
10517         * gst/gstelement.h:
10518         * gst/gstindex.c: (gst_index_class_init):
10519         * gst/gstindex.h:
10520         * gst/gstindexfactory.c: (gst_index_factory_get_type),
10521         (gst_index_factory_class_init), (gst_index_factory_init),
10522         (gst_index_factory_finalize), (gst_index_factory_new),
10523         (gst_index_factory_destroy), (gst_index_factory_find),
10524         (gst_index_factory_create), (gst_index_factory_make):
10525         * gst/gstindexfactory.h:
10526         * gst/gstpluginfeature.c:
10527         * gst/gstpluginfeature.h:
10528         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10529           more docs inlined, splitted gstindex.{c,h}
10530
10531 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10532
10533         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10534           fix a leak
10535
10536 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10537
10538         * gst/elements/gstfilesink.c: (gst_file_sink_init):
10539           Set sync to FALSE by default.
10540
10541 2005-09-20  Wim Taymans  <wim@fluendo.com>
10542
10543         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10544         (gst_base_sink_init):
10545         Make sync property settable from subclass.
10546
10547         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10548         (gst_fake_sink_change_state):
10549         Set sync to FALSE by default.
10550
10551 2005-09-20  Wim Taymans  <wim@fluendo.com>
10552
10553         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
10554         * tools/gst-launch.c: (main):
10555         The timeout handler should have lower priority than the source
10556         so we don't timeout before popping a message with 0 timeout.
10557         Dump error messages after failed state change.
10558
10559 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10560
10561         * tools/gst-inspect.c: (print_element_properties_info):
10562           Fix two typos.
10563
10564 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10565
10566         * check/gst/gstevent.c:
10567         * gst/elements/gstfakesink.c:
10568         * gst/elements/gstfakesink.h:
10569           remove the sync property from fakesink.
10570           has the side effect of setting sync TRUE
10571           for fakesink, which is a change.  Anyone who knows how
10572           to fix this nicely in a GObject-y way, feel free.
10573
10574 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10575
10576         * docs/gst/gstreamer-docs.sgml:
10577           remove probe refsection
10578
10579 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10580
10581         * check/Makefile.am:
10582           disable valgrinding the controller test again
10583         * docs/gst/gstreamer-sections.txt:
10584           update for api-changes
10585
10586 2005-09-20  Wim Taymans  <wim@fluendo.com>
10587
10588         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10589         (gst_base_sink_set_property), (gst_base_sink_get_property),
10590         (gst_base_sink_do_sync):
10591         * gst/base/gstbasesink.h:
10592         Added sync property to basesink to disable clock sync.
10593
10594 2005-09-20  Andy Wingo  <wingo@pobox.com>
10595
10596         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
10597         eating the caller's refcount.
10598
10599         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
10600         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
10601         refcount.
10602
10603         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
10604         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
10605         of GLib 2.8 public, so we can know which refcount to check in
10606         tests.
10607
10608         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
10609         (gst_object_init): Only set the gst refcount if we're going ahead
10610         with the refcount hack.
10611
10612 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10613
10614         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10615         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10616           more leaks plumbed, added more debug-logging
10617         * gst/gstmacros.h:
10618           whitespace fix
10619
10620 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10621
10622         * gst/gstmessage.c:
10623           remove include of gstmemchunk.h
10624
10625 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10626
10627         * gst/gstclock.c: (_gst_clock_id_free):
10628           Commit from the Political Party For More Atomic CVS Commits,
10629           so that people don't waste too much of their day fishing
10630           out obvious leaks out of massive commits.
10631           Oh, and fix a pretty damn obvious leak in the memchunk
10632           removal code.
10633
10634 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10635
10636         * check/Makefile.am:
10637         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10638           plug mem-leak, re-add to valgrindable tests
10639
10640 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10641
10642         * gst/gstplugin.h:
10643           unbreak the build for those who have chronic arthritis
10644           and typing "make check" is just too taxing on the hands
10645
10646 2005-09-20  Andy Wingo  <wingo@pobox.com>
10647
10648         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
10649         really want it out, you should fix plugins at the same time.
10650
10651 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
10652
10653         * configure.ac:
10654         * docs/gst/gstreamer-sections.txt:
10655         * gst/gstobject.c:
10656           added missing symbols to api docs
10657           disable ref-count hack if we have glib >= 2.8
10658
10659 2005-09-19  David Schleef  <ds@schleef.org>
10660
10661         * docs/gst/Makefile.am: Ignore a few more internal headers
10662         * docs/gst/gstreamer-docs.sgml: Remove old sections
10663         * docs/gst/gstreamer-sections.txt: Remove old sections
10664         * docs/gst/tmpl/gstobject.sgml: update
10665         * docs/gst/tmpl/gstplugin.sgml: update
10666         * docs/gst/tmpl/gstpluginfeature.sgml: update
10667         * docs/random/ds/0.9-suggested-changes: update.
10668         * gst/Makefile.am: remove memchunk and trashstack, since they're
10669           not used.
10670         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
10671         * gst/gst.h: don't include some headers
10672         * gst/gstchildproxy.c: add gstmarshal.h
10673         * gst/gstclock.c: Don't use memchunks
10674         * gst/gstminiobject.c: Add some docs
10675         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
10676         * gst/gstobject.h: same
10677         * gst/gstplugin.c: include gstmacros.h
10678         * gst/gstplugin.h: don't include gstmacros.h, since it's private
10679         * gst/gstquery.c: don't use memchunks
10680         * gst/gstregistry.c: rename gst_registry_deinit()
10681         * gst/gstregistry.h: same
10682
10683 2005-09-19  David Schleef  <ds@schleef.org>
10684
10685         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
10686         * docs/libs/gstreamer-libs-sections.txt:
10687         * docs/libs/tmpl/gstgetbits.sgml:
10688         * docs/libs/tmpl/gstputbits.sgml:
10689
10690 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
10691
10692         * win32/gstenumtypes.c:
10693         * win32/gstenumtypes.h:
10694           Update.
10695
10696 2005-09-19  Wim Taymans  <wim@fluendo.com>
10697
10698         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
10699         Automatically PAUSE and RESUME a pipeline when a flushing seek
10700         is performed.
10701
10702 2005-09-19  Andy Wingo  <wingo@pobox.com>
10703
10704         * gst/gstregistry.h: Spacing fixen.
10705
10706 2005-09-19  Wim Taymans  <wim@fluendo.com>
10707
10708         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
10709         Handle state change failure more correctly.
10710
10711 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10712
10713         * check/Makefile.am:
10714         * check/pipelines/cleanup.c: (run_pipeline):
10715         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10716         (GST_START_TEST):
10717           enable cleanup again after fixing the leak
10718         * docs/README:
10719           some more info on docs
10720
10721 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10722
10723         * check/Makefile.am:
10724           re-enable tests now that leaks are plugged
10725         * check/gst/gst.c:
10726         * check/gst/gstbin.c:
10727         * check/gst/gstpipeline.c:
10728           add some more tests while fixing leaks
10729         * common/check.mak:
10730           make sure binaries are uptodate when valgrinding/gdbing
10731         * gst/gst.c:
10732         * gst/gstelementfactory.c:
10733           remove a ref too many, and add a FIXME for when we get
10734           round to disposing of classes
10735         * gst/gstplugin.c:
10736           fix the refcounting when loading a plugin from a file and
10737           the code pretends that the pointer is the same even though
10738           of course it can change
10739         * gst/gstpluginfeature.c:
10740           unref plugins marked cached (a bit confusing as a name)
10741           as the docs state should be done
10742           various doc additions to explain refcounting
10743         * gst/gstregistry.c:
10744         * gst/gstregistryxml.c:
10745           debugging
10746
10747 2005-09-19  Wim Taymans  <wim@fluendo.com>
10748
10749         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10750         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10751         (send_messages), (GST_START_TEST), (gstbus_suite):
10752         * check/gst/gstpipeline.c: (GST_START_TEST):
10753         * check/pipelines/cleanup.c: (run_pipeline):
10754         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10755         (GST_START_TEST):
10756         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
10757         (gst_bus_source_check), (gst_bus_source_dispatch),
10758         (gst_bus_create_watch), (gst_bus_add_watch_full),
10759         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
10760         * gst/gstbus.h:
10761         * tools/gst-launch.c: (event_loop):
10762         * tools/gst-md5sum.c: (event_loop):
10763         GstBusHandler -> GstBusFunc, return value has the same meaning as
10764         any other GSource (FALSE == remove source).
10765         _add_watch() and _add_watch_full() now take a MessageType mask to
10766         only handle specific types of messages.
10767         _poll() returns the GstMessage instead of the message type to avoid
10768         race conditions.
10769         _have_pending() takes a MessageType mask now too.
10770         Added testsuite for multiple bus watches.
10771         Fix testsuites and applications for new bus API.
10772
10773 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10774
10775         * check/Makefile.am:
10776           mark a bunch of the tests as to fix until we fix them
10777
10778 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10779
10780         * common/check.mak:
10781           use GST_PLUGIN settings for valgrind tests as well, so we're
10782           valgrinding the correct thing
10783         * gst/gst.c: (init_post):
10784           plug another leak
10785
10786 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10787
10788         * gst/gst.c: (init_post), (gst_deinit):
10789         * gst/gstelementfactory.c: (gst_element_factory_class_init),
10790         (gst_element_factory_finalize), (gst_element_factory_cleanup):
10791         * gst/gstindex.c: (gst_index_factory_class_init),
10792         (gst_index_factory_finalize):
10793         * gst/gstobject.c: (gst_object_dispose):
10794         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10795         (gst_plugin_load_file), (gst_plugin_desc_free):
10796         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
10797         (gst_plugin_feature_finalize):
10798         * gst/gstregistry.c: (gst_registry_class_init),
10799         (gst_registry_init), (gst_registry_finalize),
10800         (gst_registry_get_default), (gst_registry_deinit):
10801         * gst/gstregistry.h:
10802         * gst/gstregistryxml.c: (load_feature), (load_plugin):
10803           various cleanups and memleak plugging.  make valgrind is happy now.
10804
10805 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10806
10807         * common/check.mak:
10808           add a check-valgrind target
10809
10810 2005-09-18  David Schleef  <ds@schleef.org>
10811
10812         * tools/gst-inspect.c: Revert the GOption code.
10813
10814 2005-09-17  David Schleef  <ds@schleef.org>
10815
10816         * check/Makefile.am: Fix environment variables.
10817         * check/gst/gstplugin.c: Fix for API changes.
10818         * tools/gst-inspect.c: Fix for API changes.
10819         * tools/gst-xmlinspect.c: Fix for API changes.
10820         * gst/gstelementfactory.c:
10821         * gst/gstplugin.c:
10822         * gst/gstplugin.h:
10823         * gst/gstpluginfeature.c:
10824         * gst/gstpluginfeature.h:
10825         * gst/gstregistry.c:
10826         * gst/gstregistry.h:
10827         * gst/gstregistryxml.c:
10828         * gst/gsttypefind.c:
10829         * gst/gsttypefindfactory.c:
10830         * gst/indexers/gstfileindex.c:
10831         * gst/indexers/gstmemindex.c:
10832         * gst/schedulers/Makefile.am:
10833           Change registry to keep track of both plugins and features,
10834           removing the feature tracking from plugins themselves.
10835
10836 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10837
10838         * check/Makefile.am:
10839         * tools/gst-register.1.in:
10840           remove gst-register
10841
10842 2005-09-15  David Schleef  <ds@schleef.org>
10843
10844         * check/gst/gstplugin.c:
10845         * gst/gstelementfactory.c:
10846         * gst/gstplugin.c:
10847         * gst/gstpluginfeature.c:
10848         * gst/gstregistry.c:
10849           Getting tired of debugging.  Disabled all the unreffing of
10850           plugins and features, which fixes the segfaults, but of
10851           course leaks like crazy.  At least playbin works.
10852
10853 2005-09-15  David Schleef  <ds@schleef.org>
10854
10855         * check/gst/gstplugin.c: (register_check_elements),
10856         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
10857         More testing
10858         * gst/elements/gsttypefindelement.c: Fix refcounting.
10859         * gst/gsttypefind.c:
10860         * gst/gsttypefindfactory.c:
10861         * gst/gsttypefindfactory.h:
10862
10863 2005-09-15  David Schleef  <ds@schleef.org>
10864
10865         * gst/gstindex.c: get refcounting correct.
10866         * gst/gstregistry.c: Handle the case where a feature/plugin is
10867           not found.
10868
10869 2005-09-15  David Schleef  <ds@schleef.org>
10870
10871         * check/Makefile.am:
10872         * check/gst/gstplugin.c: Add test
10873         * gst/gstplugin.c: Fix problems noticed by testsuite
10874         * gst/gstplugin.h:
10875         * gst/gstregistry.c: 
10876         * gst/gstregistry.h:
10877
10878 2005-09-15  David Schleef  <ds@schleef.org>
10879
10880         * gst/gstplugin.c: Implement semi-decent recounting and locking
10881           in plugins and plugin features.
10882         * gst/gstplugin.h:
10883         * gst/gstpluginfeature.c:
10884         * gst/gstpluginfeature.h:
10885         * gst/gstregistry.c:
10886
10887 2005-09-15  Michael Smith <msmith@fluendo.com>
10888
10889         * gst/gstregistry.c: (gst_registry_get_feature_list):
10890           Implement this. Makes oggdemux work; decodebin still broken.
10891
10892 2005-09-14  David Schleef  <ds@schleef.org>
10893
10894         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
10895           #316076)
10896         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
10897         * gst/check/Makefile.am:
10898         * libs/gst/controller/Makefile.am:
10899         * libs/gst/dataprotocol/Makefile.am:
10900
10901 2005-09-14  David Schleef  <ds@schleef.org>
10902
10903         * configure.ac: Remove getbits library.  Nothing uses it, and
10904           it should be in something like liboil if someone did want
10905           to use it.
10906         * libs/gst/Makefile.am:
10907         * libs/gst/getbits/Makefile.am:
10908         * libs/gst/getbits/gbtest.c:
10909         * libs/gst/getbits/getbits.c:
10910         * libs/gst/getbits/getbits.h:
10911         * libs/gst/getbits/gstgetbits_generic.c:
10912         * libs/gst/getbits/gstgetbits_i386.s:
10913         * libs/gst/getbits/gstgetbits_inl.h:
10914
10915 2005-09-14  David Schleef  <ds@schleef.org>
10916
10917         * gst/Makefile.am: Dist glib-compat.h
10918
10919 2005-09-14  David Schleef  <ds@schleef.org>
10920
10921         * configure.ac: Remove gst/registries, since it's no longer used.
10922         * gst/registries/Makefile.am:
10923         * gst/registries/gstlibxmlregistry.c:
10924         * gst/registries/gstlibxmlregistry.h:
10925         * gst/registries/gstxmlregistry.c:
10926         * gst/registries/gstxmlregistry.h:
10927         * gst/registries/registrytest.c:
10928
10929 2005-09-14  David Schleef  <ds@schleef.org>
10930
10931         * gst/glib-compat.h:
10932         * gst/gstregistryxml.c:
10933           Convergence is near.  Seriously.
10934
10935 2005-09-14  David Schleef  <ds@schleef.org>
10936
10937         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10938         * gst/glib-compat.h:
10939           Attempt #4 to appease the buildbots.
10940
10941 2005-09-14  David Schleef  <ds@schleef.org>
10942
10943         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10944           Attempt #3.
10945
10946 2005-09-14  David Schleef  <ds@schleef.org>
10947
10948         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10949         Attempt #2.
10950
10951 2005-09-14  David Schleef  <ds@schleef.org>
10952
10953         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
10954           the new functions.
10955
10956 2005-09-14  David Schleef  <ds@schleef.org>
10957
10958         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
10959         * gst/glib-compat.h: Add some functions that are in newer versions
10960           of glib than we care to require.
10961         * gst/gstregistryxml.c: Use them.
10962
10963 2005-09-14  David Schleef  <ds@schleef.org>
10964
10965         * po/POTFILES.in: remove gst-register.c
10966
10967 2005-09-14  David Schleef  <ds@schleef.org>
10968
10969         * docs/gst/gstreamer-docs.sgml:
10970         * docs/gst/gstreamer-sections.txt:
10971         * docs/gst/gstreamer.types:
10972         * docs/gst/tmpl/gstelement.sgml:
10973         * docs/gst/tmpl/gstplugin.sgml:
10974         * docs/gst/tmpl/gstpluginfeature.sgml:
10975           Documentation updates for registry changes.
10976
10977 2005-09-14  David Schleef  <ds@schleef.org>
10978
10979         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
10980           because we don't require glib-2.8.
10981
10982 2005-09-14  David Schleef  <ds@schleef.org>
10983
10984         * gst/gstregistryxml.c: Added.  Essentially moved out of the
10985           registries directory.
10986
10987 2005-09-14  David Schleef  <ds@schleef.org>
10988
10989         * check/Makefile.am:
10990         * check/generic/states.c:
10991         * gst/Makefile.am:
10992         * gst/gst.c:
10993         * gst/gst.h:
10994         * gst/gst_private.h:
10995         * gst/gstelementfactory.c:
10996         * gst/gstindex.c:
10997         * gst/gstinfo.c:
10998         * gst/gstplugin.c:
10999         * gst/gstplugin.h:
11000         * gst/gstpluginfeature.c:
11001         * gst/gstpluginfeature.h:
11002         * gst/gstregistry.c:
11003         * gst/gstregistry.h:
11004         * gst/gstregistrypool.c: remove
11005         * gst/gstregistrypool.h: remove
11006         * gst/gsttypefind.c:
11007         * gst/gsttypefindfactory.c:
11008         * gst/gsturi.c:
11009         * tools/Makefile.am:
11010         * tools/gst-compprep.c:
11011         * tools/gst-inspect.c:
11012         * tools/gst-register.c: remove
11013         * tools/gst-xmlinspect.c:
11014           Registry rewrite.  Changes registry from being a file created
11015           by a tool into a simple cache file created automatically by 
11016           libgstreamer.  Removed gst-register (because it's no longer
11017           needed).  Remove registry pools, because we only have one
11018           registry implementation (XML).  Fix up other subsystems as
11019           necessary.
11020
11021 2005-09-13  Michael Smith <msmith@fluendo.com>
11022
11023         * gst/gstconfig.h.in:
11024           Don't Use windows linking attributes for MinGW. Fixes #316157
11025
11026 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11027
11028         * gst/gstutils.c: (set_state_async_thread_func),
11029         (gst_element_set_state_async):
11030           Apparently people think it's better if this function doesn't
11031           try to set the state to whatever state was asked for on the first
11032           call to this function for any object.  Seriously.
11033
11034 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11035
11036         * check/gst/gstpipeline.c: (GST_START_TEST):
11037         * docs/gst/gstreamer-sections.txt:
11038         * gst/gstutils.c: (set_state_async_thread_func),
11039         (gst_element_set_state_async):
11040         * gst/gstutils.h:
11041           add a "gst_element_set_state_async" method that
11042           sets the state and starts a thread to make sure the state
11043           change completes as best as it can
11044
11045 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11046
11047         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11048           codify design+behaviour in testsuite after discussion
11049
11050 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11051
11052         * docs/gst/tmpl/gstelement.sgml:
11053         * docs/manual/appendix-quotes.xml:
11054           add a quote
11055         * gst/gstelement.c: (gst_element_set_state):
11056           add some debug
11057
11058 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
11059
11060         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11061         (gst_base_transform_prepare_output_buf),
11062         (gst_base_transform_handle_buffer):
11063         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11064         (gst_capsfilter_prepare_buf):
11065           Remove the requirement for sub-classes to call the parent
11066           implementation of prepare_output_buffer with a wrapper function.
11067           
11068         * gst/gsttaglist.h:
11069         * gst/gsttagsetter.h:
11070           Fix #define wrapper
11071
11072 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
11073
11074         * docs/gst/gstreamer-sections.txt:
11075           more doc cleanups
11076
11077 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11078
11079         * docs/gst/gstreamer-sections.txt:
11080         * docs/gst/tmpl/gstelement.sgml:
11081         * docs/gst/tmpl/gstplugin.sgml:
11082         * gst/gstminiobject.c:
11083         * gst/gstvalue.h:
11084           docs now stop throwing warnings
11085
11086 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11087
11088         * docs/gst/gstreamer-sections.txt:
11089         * docs/gst/gstreamer.types:
11090         * docs/gst/tmpl/gstpad.sgml:
11091         * docs/gst/tmpl/gsttypes.sgml:
11092         * gst/base/gstadapter.h:
11093         * gst/base/gstbasesink.h:
11094         * gst/base/gstbasesrc.h:
11095         * gst/gstbin.h:
11096         * gst/gstbuffer.h:
11097         * gst/gstbus.h:
11098         * gst/gstcaps.h:
11099         * gst/gstclock.h:
11100         * gst/gstelement.h:
11101         * gst/gstevent.h:
11102         * gst/gstmessage.h:
11103         * gst/gstpad.h:
11104         * gst/gststructure.c:
11105         * gst/registries/gstlibxmlregistry.h:
11106           various documentation fixes
11107
11108 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11109
11110         * docs/gst/gstreamer-sections.txt:
11111         * docs/gst/tmpl/gstvalue.sgml:
11112           rearrange gstvalue section
11113         * gst/gstutils.c: (gst_element_state_get_name):
11114           NONE -> VOID
11115         * gst/gstvalue.c: (_gst_value_initialize):
11116         * gst/gstvalue.h:
11117           doc updates
11118
11119 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
11120
11121         * check/gst-libs/controller.c:
11122           Header include fix.
11123         * gst/base/gstbasetransform.c:
11124         (gst_base_transform_default_prepare_buf),
11125         (gst_base_transform_handle_buffer):
11126         * gst/base/gstbasetransform.h:
11127           Some more basetransform changes and fixes to enable sub-classes
11128           that modify buffer metadata only.
11129         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11130         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11131         (gst_capsfilter_prepare_buf):
11132           If the output pad has fixed allowed caps and input buffers 
11133           don't have any, set the fixed caps on outgoing buffers.
11134
11135 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
11136         * check/elements/identity.c: (GST_START_TEST):
11137           Make the error a little clearer when the test fails because
11138           identity made a copy of the buffer.
11139         * docs/gst/gstreamer-sections.txt:
11140           New symbols in gstbasetransform.h
11141         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11142         (gst_base_transform_init), (gst_base_transform_transform_size),
11143         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11144         (gst_base_transform_default_prepare_buf),
11145         (gst_base_transform_get_unit_size),
11146         (gst_base_transform_buffer_alloc),
11147         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11148         (gst_base_transform_change_state),
11149         (gst_base_transform_set_passthrough),
11150         (gst_base_transform_set_in_place),
11151         (gst_base_transform_is_in_place):
11152         * gst/base/gstbasetransform.h:
11153           Change BaseTransform to separate in_place operate from same_caps
11154           output. in_place implies that the element can perform the transform
11155           on incoming buffers in-place, even if the caps on the output are
11156           different.
11157           Sub-class elements can now implement special buffer allocation
11158           methods for outgoing buffers if they wish to.
11159           Big documentation addition.
11160         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11161         * gst/elements/gstelements.c:
11162           Changes for basetransform modifications.
11163         * gst/elements/Makefile.am:
11164         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11165           Compile fix. Extra debug output.
11166
11167 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11168
11169         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11170         (gst_pad_suite):
11171           add tests for valid pad naming
11172         * gst/check/gstcheck.c: (gst_check_log_message_func),
11173         (gst_check_log_critical_func):
11174           add ASSERT_WARNING
11175           remove printing of code, it is fragile when the code contains
11176           % and the line number is enough info
11177         * gst/check/gstcheck.h:
11178         * gst/gstpad.c: (gst_pad_template_new):
11179           fix memleaks
11180
11181 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11182
11183         * configure.ac:
11184           say what CHECK flags we use
11185         * docs/libs/gstreamer-libs.types:
11186         * libs/gst/controller/Makefile.am:
11187         * libs/gst/controller/gst-controller.c:
11188         * libs/gst/controller/gst-controller.h:
11189         * libs/gst/controller/gst-helper.c:
11190         * libs/gst/controller/gst-interpolation.c:
11191         * libs/gst/controller/gstcontroller.c:
11192         * libs/gst/controller/gsthelper.c:
11193         * libs/gst/controller/gstinterpolation.c:
11194         * tools/gst-inspect.c: (print_plugin_info):
11195           we don't use dashes in header names
11196
11197 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11198
11199         * check/Makefile.am:
11200         * check/gst/.cvsignore:
11201         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11202         (gst_pipeline_suite), (main):
11203           adding a test for pipelines and state changes
11204         * gst/gstutils.c: (get_state_func):
11205           add some debugging
11206         * gstreamer.spec.in:
11207           fix up spec file
11208
11209 2005-09-08  Michael Smith <msmith@fluendo.com>
11210
11211         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11212         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11213         (gst_file_src_is_seekable), (gst_file_src_get_size),
11214         (gst_file_src_start):
11215         * gst/elements/gstfilesrc.h:
11216           Various fixes for unseekable, unmmapable, and non-normal files, so
11217           that fallback to read() rather than mmap() works.
11218         * gst/gstevent.c: (gst_event_new_newsegment):
11219           Allow newsegment events with segment_start == segment_end, as will
11220           correctly happen if you use filesrc on a zero-size file, for
11221           example.
11222
11223 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11224
11225         * gst/gstplugin.c: (gst_plugin_load_file):
11226           Call g_module_close when we don't load the module
11227
11228         * gst/registries/gstlibxmlregistry.c:
11229         (gst_xml_registry_get_property):
11230           Port leak fix from 0.8
11231
11232 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11233
11234         * docs/gst/gstreamer-docs.sgml:
11235         * docs/gst/tmpl/.cvsignore:
11236         * docs/gst/tmpl/gsttrace.sgml:
11237         * docs/gst/tmpl/gsttrashstack.sgml:
11238         * gst/Makefile.am:
11239         * gst/gst.h:
11240         * gst/gstelement.h:
11241         * gst/gstevent.h:
11242         * gst/gstmessage.c:
11243         * gst/gstmessage.h:
11244         * gst/gsttag.c:
11245         * gst/gsttag.h:
11246         * gst/gsttaginterface.c:
11247         * gst/gsttaginterface.h:
11248         * gst/gsttaglist.c:
11249         * gst/gsttaglist.h:
11250         * gst/gsttagsetter.c:
11251         * gst/gsttagsetter.h:
11252         * gst/gsttrace.c:
11253         * gst/gsttrace.h:
11254         * gst/gsttrashstack.c:
11255           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11256           inlined docs for gsttrace, gsttrashstack
11257
11258 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11259
11260         * gst/Makefile.am:
11261         * gst/elements/gstbufferstore.h:
11262         * gst/elements/gsttypefindelement.c:
11263         * gst/elements/gsttypefindelement.h:
11264         * gst/gst.h:
11265         * gst/gsttypefind.c:
11266         * gst/gsttypefind.h:
11267         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11268         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11269         (gst_type_find_factory_dispose),
11270         (gst_type_find_factory_unload_thyself),
11271         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11272         (gst_type_find_factory_get_caps),
11273         (gst_type_find_factory_get_extensions),
11274         (gst_type_find_factory_call_function):
11275         * gst/gsttypefindfactory.h:
11276         * gst/registries/gstlibxmlregistry.c:
11277         * gst/registries/gstxmlregistry.c:
11278           splitted gsttypefind into gsttypefind, gsttypefindfactory
11279
11280 2005-09-07  Andy Wingo  <wingo@pobox.com>
11281
11282         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11283         condition whereby the pad's task function is entered before the
11284         pad_mode variable was set.
11285
11286 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11287
11288         * gst/gstpad.c: (gst_pad_alloc_buffer):
11289           Catch misbehaving pad_alloc functions that don't
11290           set up caps and do it for them.
11291
11292 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11293
11294         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11295           test for pipe!=NULL
11296         * docs/gst/tmpl/.cvsignore:
11297         * docs/gst/tmpl/gstmemchunk.sgml:
11298         * docs/gst/tmpl/gstparse.sgml:
11299         * docs/gst/tmpl/gsttaglist.sgml:
11300         * docs/gst/tmpl/gsttagsetter.sgml:
11301         * docs/gst/tmpl/gsttypefind.sgml:
11302         * docs/gst/tmpl/gsttypefindfactory.sgml:
11303         * gst/gstmemchunk.c:
11304         * gst/gstparse.c:
11305         * gst/gsttag.c:
11306         * gst/gsttaginterface.c:
11307         * gst/gsttypefind.c:
11308         * gst/gsttypefind.h:
11309           inlined more docs
11310
11311 === release 0.9.2 ===
11312
11313 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11314
11315         * NEWS:
11316         * RELEASE:
11317         * configure.ac:
11318           releasing 0.9.2, "South"
11319
11320 2005-09-05  Andy Wingo  <wingo@pobox.com>
11321
11322         * gst/registries/gstxmlregistry.h:
11323         * gst/registries/gstxmlregistry.c: Um... resurrect...
11324         
11325         * gst/registries/gstxmlregistry.h:
11326         * gst/registries/gstxmlregistry.c: and update to newer API.
11327         Incidentally they should be a bit faster now that they don't have
11328         to parse the caps.
11329         
11330 2005-09-05  Andy Wingo  <wingo@pobox.com>
11331
11332         * gst/registries/gstxmlregistry.h:
11333         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11334         replaced by the libxml registry a while back
11335
11336 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11337
11338         * docs/gst/tmpl/gstplugin.sgml:
11339         * gst/elements/gstelements.c:
11340         * gst/gst.c:
11341         * gst/gstplugin.c: (gst_plugin_register_func),
11342         (gst_plugin_desc_copy), (gst_plugin_desc_free),
11343         (gst_plugin_get_source):
11344         * gst/gstplugin.h:
11345         * gst/registries/gstlibxmlregistry.c: (load_plugin),
11346         (gst_xml_registry_save_plugin):
11347         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11348         (gst_xml_registry_save_plugin):
11349         * tools/gst-inspect.c: (print_plugin_info):
11350           add a "source" plugin description field, to represent the source
11351           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
11352           will set it to PACKAGE, which is automake's idea of the name of
11353           the source project.
11354
11355 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11356
11357         * Makefile.am:
11358         * autogen.sh:
11359         * configure.ac:
11360         * docs/Makefile.am:
11361         * docs/faq/Makefile.am:
11362         * docs/gst/tmpl/gstelement.sgml:
11363         * docs/gst/tmpl/gsttypes.sgml:
11364         * docs/htmlinstall.mak:
11365         * docs/manual/Makefile.am:
11366         * docs/pwg/Makefile.am:
11367           reorganize doc build a little
11368           split out docbook and gtk-doc stuff
11369           have two separate --enable's and enable them through autogen
11370           but disable by default in configure (to be similar to other
11371           projects)
11372         * gstreamer.spec.in:
11373           clean up docs install
11374         * po/af.po:
11375         * po/az.po:
11376         * po/ca.po:
11377         * po/cs.po:
11378         * po/de.po:
11379         * po/en_GB.po:
11380         * po/fr.po:
11381         * po/it.po:
11382         * po/nb.po:
11383         * po/nl.po:
11384         * po/ru.po:
11385         * po/sq.po:
11386         * po/sr.po:
11387         * po/sv.po:
11388         * po/tr.po:
11389         * po/uk.po:
11390         * po/vi.po:
11391           translation updates
11392
11393 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11394
11395         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11396           Add comment.
11397           
11398         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11399         (gst_fake_sink_change_state):
11400           Make state change function thread-safe.
11401           
11402         * gst/gstpad.c: (gst_pad_alloc_buffer):
11403           Set offset on generic buffer allocated by fallback.
11404
11405 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
11406
11407         * docs/gst/gstreamer-sections.txt:
11408         * docs/gst/tmpl/gstelement.sgml:
11409         * gst/gstpad.c:
11410         * libs/gst/controller/gst-controller.c:
11411         (gst_controlled_property_set_interpolation_mode),
11412         (gst_controlled_property_new),
11413         (gst_controller_find_controlled_property):
11414          run the wingo-magic script against the docs
11415
11416 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11417
11418         * docs/gst/gstreamer-docs.sgml:
11419         * docs/gst/gstreamer-sections.txt:
11420         * docs/gst/tmpl/.cvsignore:
11421         * docs/gst/tmpl/gstelementdetails.sgml:
11422         * docs/gst/tmpl/gstelementfactory.sgml:
11423         * gst/gst.c:
11424         * gst/gstbus.c:
11425         * gst/gstelementfactory.c:
11426         * gst/gstelementfactory.h:
11427           merged elementdetails docs into elementfactory docs
11428           inlined both
11429
11430 2005-09-02  Andy Wingo  <wingo@pobox.com>
11431
11432         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11433         consider this enum an enum and not a flags.
11434
11435 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11436
11437         * docs/gst/gstreamer-docs.sgml:
11438         * docs/gst/tmpl/.cvsignore:
11439         * docs/gst/tmpl/gstghostpad.sgml:
11440         * docs/gst/tmpl/gstiterator.sgml:
11441         * docs/gst/tmpl/gstmacros.sgml:
11442         * docs/gst/tmpl/gstrealpad.sgml:
11443         * docs/gst/tmpl/gstregistry.sgml:
11444         * docs/gst/tmpl/gstregistrypool.sgml:
11445         * docs/gst/tmpl/gststructure.sgml:
11446         * docs/gst/tmpl/gstsystemclock.sgml:
11447         * docs/gst/tmpl/gsttrace.sgml:
11448         * gst/gstghostpad.c:
11449         * gst/gstmacros.h:
11450         * gst/gstmemchunk.c:
11451         * gst/gstmemchunk.h:
11452         * gst/gstqueue.c:
11453         * gst/gstregistry.c:
11454         * gst/gstregistrypool.c:
11455         * gst/gststructure.c:
11456         * gst/gstsystemclock.c:
11457           more docs inlined
11458
11459 2005-09-02  Andy Wingo  <wingo@pobox.com>
11460
11461         * gst/gstelement.h (GstState): Renamed from GstElementState,
11462         changed to be a normal enum instead of flags.
11463         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
11464         munged to be GST_STATE_CHANGE_*.
11465         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
11466         work with the new state representation.
11467         (GstStateChange): New enumeration of possible state transitions.
11468         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
11469         (GstElementClass::change_state): Pass the GstStateChange along as
11470         an argument. Helps language bindings, so they don't have to use
11471         tricky lock-needing macros like GST_STATE_CHANGE ().
11472
11473         * scripts/update-states (file): New script. Run it on a file to
11474         update it for state naming and API changes. Updates files in
11475         place.
11476
11477         * All files updated for the new API.
11478
11479 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11480
11481         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
11482         * gst/gstutils.c: (gst_util_set_value_from_string),
11483         (gst_util_set_object_arg):
11484           fix a bunch of unchecked return values
11485         * tools/gst-complete.c: (main):
11486         * gstreamer.spec.in:
11487           clean up a little
11488
11489 2005-09-01  Wim Taymans  <wim@fluendo.com>
11490
11491         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11492         (gst_base_sink_event), (gst_base_sink_do_sync),
11493         (gst_base_sink_handle_event):
11494         * gst/base/gstbasesink.h:
11495         Handle newsegments more correctly.
11496
11497         * gst/gstbus.c:
11498         Fix docs.
11499
11500         * gst/gstevent.c: (gst_event_new_newsegment):
11501         A newsegment cannot have a start_time of -1
11502
11503 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11504
11505         * win32/gstenumtypes.c:
11506         * win32/gstenumtypes.h:
11507           Update
11508
11509 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11510
11511         * libs/gst/controller/gst-controller.c:
11512         (gst_controlled_property_set_interpolation_mode),
11513         (gst_controlled_property_new):
11514          fixed boolean again
11515
11516 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11517
11518         * docs/faq/gst-uninstalled:
11519           add -good
11520         * gst/gstevent.c:
11521         * gst/gstevent.h:
11522           remove wrong docs
11523         * gst/gstutils.c: (gst_element_link_filtered):
11524         * gst/gstutils.h:
11525           add gst_element_link_filtered
11526
11527 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11528
11529         * docs/gst/gstreamer-docs.sgml:
11530         * docs/gst/gstreamer-sections.txt:
11531         * docs/gst/tmpl/.cvsignore:
11532         * docs/gst/tmpl/gsterror.sgml:
11533         * docs/gst/tmpl/gstfilter.sgml:
11534         * docs/gst/tmpl/gsturihandler.sgml:
11535         * docs/gst/tmpl/gsturitype.sgml:
11536         * docs/gst/tmpl/gstutils.sgml:
11537         * docs/gst/tmpl/gstxml.sgml:
11538         * gst/gsterror.c:
11539         * gst/gsterror.h:
11540         * gst/gstfilter.c:
11541         * gst/gsturi.c:
11542         * gst/gsturitype.c:
11543         * gst/gstutils.c:
11544         * gst/gstxml.c:
11545           inlined more docs, fixed double id-ref
11546
11547 2005-08-31  Wim Taymans  <wim@fluendo.com>
11548
11549         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11550         (gst_base_transform_handle_buffer):
11551         Passthrough elements don't need the caps as they don't care.
11552
11553 2005-08-31  Wim Taymans  <wim@fluendo.com>
11554
11555         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11556         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
11557         Don't leak refcounts on buffers.
11558
11559 2005-08-31  Wim Taymans  <wim@fluendo.com>
11560
11561         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
11562         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11563         (gst_base_transform_chain), (gst_base_transform_change_state):
11564         * gst/base/gstbasetransform.h:
11565         Handle the case where we are not negotiated more gracefully.
11566
11567 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
11568
11569         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
11570         (gst_file_src_map_region):
11571           Set READONLY flag on mmap'ed buffers, otherwise
11572           gst_buffer_make_writable() won't work properly (#314708).
11573
11574 2005-08-31  Wim Taymans  <wim@fluendo.com>
11575
11576         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
11577         passthrough elements can even do inplace on non writable
11578         buffers (as they don't touch them).
11579
11580 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11581
11582         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11583         (gst_test_mono_source_set_property),
11584         (gst_test_mono_source_class_init), (GST_START_TEST),
11585         (gst_controller_suite):
11586           more tests (hehe I have the most)
11587         * gst/gstbus.c:
11588           describe popping messages whenusing mulltiple sources
11589         * libs/gst/controller/gst-controller.c:
11590         (gst_controlled_property_set_interpolation_mode),
11591         (gst_controlled_property_new):
11592         * libs/gst/controller/gst-controller.h:
11593         * libs/gst/controller/gst-interpolation.c:
11594           implement boolean properties
11595
11596 2005-08-31  Wim Taymans  <wim@fluendo.com>
11597
11598         * gst/gstminiobject.c: (gst_mini_object_ref):
11599         Cannot assert that the refcount has to be positive
11600         since a disposed object can be resurrected.
11601
11602 2005-08-31  Wim Taymans  <wim@fluendo.com>
11603
11604         * gst/gstpad.c: (gst_pad_init):
11605         Revert change, need to first fix badly behaving 
11606         apps.
11607
11608 2005-08-30  Wim Taymans  <wim@fluendo.com>
11609
11610         * check/elements/fakesrc.c: (setup_fakesrc):
11611         * check/elements/identity.c: (setup_identity):
11612         Activate pads before using them.
11613
11614 2005-08-30  Wim Taymans  <wim@fluendo.com>
11615
11616         * gst/base/gstadapter.c: (gst_adapter_flush):
11617         Flushing out 0 bytes is ok for this function.
11618
11619         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11620         no newsegment gives a warning and sets the start/stop to 
11621         invalid.
11622
11623         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
11624         (gst_base_transform_set_passthrough):
11625         Some debug info.
11626
11627         * gst/gstminiobject.c: (gst_mini_object_ref):
11628         Check refcount here too.
11629
11630         * gst/gstpad.c: (gst_pad_init):
11631         Pads are initially flushing and refusing data.
11632
11633         * gst/gstutils.c: (gst_element_link_pads_filtered):
11634         When adding a capsfilter element make sure it has the
11635         same state as the parent bin.
11636
11637 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11638
11639         * docs/gst/tmpl/.cvsignore:
11640         * docs/gst/tmpl/gstformat.sgml:
11641         * docs/gst/tmpl/gstversion.sgml:
11642         * gst/gstbus.h:
11643         * gst/gstformat.c:
11644         * gst/gstformat.h:
11645         * gst/gstversion.h.in:
11646           more docs and two more inlined
11647
11648 2005-08-30  Wim Taymans  <wim@fluendo.com>
11649
11650         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
11651         Don't sync to clock.
11652
11653 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11654
11655         * docs/gst/gstreamer-sections.txt:
11656           ultral33t func10ns deserve to appear in the docs actually
11657         * docs/gst/tmpl/.cvsignore:
11658         * docs/gst/tmpl/gstcompat.sgml:
11659         * docs/gst/tmpl/gstconfig.sgml:
11660         * gst/check/gstcheck.c:
11661         * gst/gstcompat.h:
11662         * gst/gstconfig.h.in:
11663           inlined more docs
11664
11665 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11666
11667         * docs/gst/tmpl/.cvsignore:
11668         * docs/gst/tmpl/gstquery.sgml:
11669         * docs/gst/tmpl/gstutils.sgml:
11670         * gst/gstquery.c:
11671         * gst/gstquery.h:
11672           inlined and extended docs
11673
11674 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11675
11676         * check/gst-libs/controller.c: (GST_START_TEST),
11677         (gst_controller_suite):
11678           more tests
11679         * docs/gst/tmpl/gstutils.sgml:
11680         * docs/libs/gstreamer-libs-sections.txt:
11681         * docs/libs/tmpl/gstdataprotocol.sgml:
11682           include path fixes
11683         * examples/controller/audio-example.c: (main):
11684           controller example works now
11685         * gst/gstclock.h:
11686           doc fixes
11687         * tools/gst-inspect.c: (print_element_properties_info):
11688           show param spec flags
11689
11690 2005-08-29  Andy Wingo  <wingo@pobox.com>
11691
11692         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
11693
11694 2005-08-28  Andy Wingo  <wingo@pobox.com>
11695
11696         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
11697         as having two arguments instead of just one. Allows superclasses
11698         to access information on subclasses -- see the terrible for() loop
11699         in gtype.c:g_type_create_instance for the reason why. All callers
11700         changed.
11701
11702 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11703
11704         * docs/design/part-messages.txt:
11705           update info
11706         * docs/gst/tmpl/.cvsignore:
11707         * docs/gst/tmpl/gstcaps.sgml:
11708         * docs/gst/tmpl/gstclock.sgml:
11709         * gst/gstbus.c:
11710         * gst/gstcaps.c:
11711         * gst/gstcaps.h:
11712         * gst/gstclock.c:
11713         * gst/gstclock.h:
11714         * gst/gstmessage.c:
11715           added descriptions for bus and message
11716           inline caps and clock docs
11717
11718 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11719
11720         * gst/gstmessage.c:
11721         * gst/gstmessage.h:
11722           doc fixes
11723
11724 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11725
11726         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11727           fix div-by-zero
11728
11729 2005-08-26  Andy Wingo  <wingo@pobox.com>
11730
11731         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
11732         element_set_state's return val.
11733         (test_2_elements): Add test that's been disabled for months.
11734
11735         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
11736         can-activate-pull properties.
11737
11738         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
11739         can-activate-pull properties. Implement is_seekable so fakesrc can
11740         operate in pull mode.
11741
11742         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
11743         properties.
11744         (gst_base_sink_activate, gst_base_sink_activate_pull)
11745         (gst_base_sink_activate_push): Make activation mode choosing work.
11746         Cleanups.
11747         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
11748         is right. Make pull mode work. Post an eos before pausing in pull
11749         mode.
11750         (gst_base_sink_change_state): Pay attention to the core's
11751         change_state() return val.
11752         
11753         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
11754         has-getrange properties. Cleanups.
11755         
11756         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
11757         has_getrange and replace with can_activate_pull and
11758         can_activate_push.
11759
11760         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
11761         locking comments. Remove has_loop, has_chain and replace with
11762         can_activate_pull and can_activate_push.
11763
11764 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
11765
11766         * configure.ac:
11767         * examples/Makefile.am:
11768         * examples/metadata/Makefile.am:
11769         * examples/metadata/read-metadata.c: (message_loop),
11770         (have_pad_handler), (make_pipeline), (print_tag), (main):
11771           Add metadata reading example that loops over a list of filenames,
11772           dumping any tags found.
11773
11774         * gst/gstbus.c: (gst_bus_dispose):
11775         * gst/gstelement.c: (gst_element_dispose):
11776           Release a few potentially-held references in dispose.
11777
11778 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11779
11780         * docs/gst/tmpl/gstminiobject.sgml:
11781           do *not* add tmpl/*.sgml files to CVS!
11782
11783 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11784
11785         * libs/gst/bytestream/.cvsignore:
11786         * libs/gst/bytestream/Makefile.am:
11787         * libs/gst/bytestream/adapter.c:
11788         * libs/gst/bytestream/adapter.h:
11789         * libs/gst/bytestream/bytestream.c:
11790         * libs/gst/bytestream/bytestream.h:
11791         * libs/gst/bytestream/filepad.c:
11792         * libs/gst/bytestream/filepad.h:
11793           removing obsolete files
11794
11795 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11796
11797         * docs/gst/gstreamer-docs.sgml:
11798         * docs/libs/gstreamer-libs-docs.sgml:
11799           disabed additional index entries again, as this makes docs-gen just
11800           slow and they aren't useful yet
11801         * docs/libs/gstreamer-libs-sections.txt:
11802           little -section.txt cleanup for libs
11803
11804 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11805
11806         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11807         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
11808           fix up some debugging
11809         (gst_base_transform_get_unit_size),
11810         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11811         (gst_base_transform_handle_buffer):
11812         * gst/base/gstbasetransform.h:
11813           handle and store timed NEWSEGMENT events so that subclasses that
11814           calculate time by counting samples have a segment_start time they
11815           need to add to their timestamps - see audioresample
11816
11817 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11818
11819         * gst/gstbin.h:
11820           removed ';' from the end of macro defs
11821         * docs/gst/gstreamer-docs.sgml:
11822         * docs/gst/gstreamer-sections.txt:
11823         * docs/gst/tmpl/.cvsignore:
11824         * gst/gstbus.h:
11825         * gst/gstelement.c: (gst_element_class_init),
11826         (gst_element_set_state), (activate_pads),
11827         (gst_element_save_thyself):
11828         * gst/gstevent.c: (gst_event_new_newsegment):
11829         * gst/gstevent.h:
11830         * gst/gstiterator.c:
11831         * gst/gstiterator.h:
11832         * gst/gstpad.c:
11833         * gst/gstprobe.h:
11834         * gst/gstutils.c: (gst_pad_query_convert):
11835         * gst/gstutils.h:
11836           fixed parameter name mismatches between source, header and docs
11837           added some more docs, resolved the last batch of unused elements in
11838           docs (now someone needs to doc them)
11839
11840 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11841
11842         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
11843         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
11844           don't walk through the plugins backwards.  Where is all this
11845           reversed logic coming from ?
11846
11847 2005-08-25  Wim Taymans  <wim@fluendo.com>
11848
11849         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11850         (gst_base_transform_transform_size),
11851         (gst_base_transform_configure_caps),
11852         (gst_base_transform_get_unit_size),
11853         (gst_base_transform_buffer_alloc),
11854         (gst_base_transform_change_state):
11855         * gst/base/gstbasetransform.h:
11856         Cache caps unit_size.
11857         Make sure we cannot negotiate up and downstream at the
11858         same time.
11859
11860 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11861
11862         * gst/gst.c: (init_pre), (init_post):
11863           register the installed plugin path after the env var
11864         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
11865         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
11866           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
11867           directories, so the tests can prefer uninstalled over installed
11868
11869 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11870
11871         * gst/base/gstbasetransform.h:
11872           comment
11873         * gst/gstpad.c:
11874           add to docs
11875
11876 2005-08-25  Wim Taymans  <wim@fluendo.com>
11877
11878         * gst/gstbin.c: (bin_bus_handler):
11879         Be a bit more conservative about the posted message.
11880         
11881         * gst/gstbus.c: (gst_bus_post):
11882         Some cleanups, warn wrong return values.
11883
11884 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
11885
11886         * check/gst/gstbin.c: (GST_START_TEST):
11887         * gst/gstbin.c: (bin_bus_handler):
11888         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11889         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11890         (gst_message_new_warning), (gst_message_new_tag),
11891         (gst_message_new_state_changed), (gst_message_new_segment_start),
11892         (gst_message_new_segment_done), (gst_message_new_custom):
11893         * gst/gstmessage.h:
11894         * tools/gst-launch.c: (event_loop):
11895         * tools/gst-md5sum.c: (event_loop):
11896           Revert unpopular change for GST_MESSAGE_SRC to GObject.
11897
11898 2005-08-25  Wim Taymans  <wim@fluendo.com>
11899
11900         * check/generic/states.c: (GST_START_TEST):
11901         Cleanup can be done at the end.
11902
11903         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
11904         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11905         (gst_task_get_state), (gst_task_start), (gst_task_pause):
11906         Oh boy.. Thanks for finding this, Thomas. 
11907
11908 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11909
11910         * docs/gst/gstreamer.types:
11911           added missing types
11912
11913 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11914
11915         * docs/gst/gstreamer-docs.sgml:
11916         * docs/gst/gstreamer-sections.txt:
11917         * docs/gst/tmpl/.cvsignore:
11918         * gst/gstbin.c:
11919         * gst/gstiterator.c:
11920         * gst/gstutils.c:
11921         * gst/registries/gstxmlregistry.h:
11922           added missing classes and symbols (123 more to go)
11923           removed removed symbols from section file
11924           fixed many doc-comments
11925
11926 2005-08-24  Wim Taymans  <wim@fluendo.com>
11927
11928         * check/generic/states.c: (GST_START_TEST):
11929         Make sure all tasks are stopped.
11930
11931         * check/gst/gstbin.c: (GST_START_TEST):
11932         Unref after usage for proper valgrinding.
11933
11934         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
11935         Really wait for the task to stop before destroying the
11936         mutex.
11937
11938         * gst/gstqueue.c: (gst_queue_sink_activate_push),
11939         (gst_queue_src_activate_push):
11940         Small cleanups. Don't stop the task when we did not start
11941         it.
11942
11943         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
11944         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11945         (gst_task_get_state), (gst_task_start), (gst_task_pause),
11946         (gst_task_join):
11947         * gst/gsttask.h:
11948         Protect the stream lock with the object lock.
11949         Disallow setting the stream lock when running.
11950         Add cleanup_all to wait for the threadpool to finish.
11951         Remove code to autoallocate a mutex if none was provided.
11952         Add _join() to wait for a task to stop.
11953         Protect the thread pool with a global lock.
11954
11955 2005-08-24  Wim Taymans  <wim@fluendo.com>
11956
11957         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11958         (gst_base_sink_get_times), (gst_base_sink_do_sync),
11959         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
11960         * gst/base/gstbasesink.h:
11961         Handle newsegment events correctly.
11962         Drop buffers out of the segment range.
11963
11964 2005-08-22  Andy Wingo  <wingo@pobox.com>
11965
11966         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
11967         macro, implements an interface and gstimplementsinterface for a
11968         new type.
11969
11970 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11971
11972         * check/Makefile.am:
11973         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
11974           add a test that does a bunch of state changes on elements
11975           needs some fixing for valgrind
11976         * check/states/sinks.c: (gst_object_suite):
11977           whitespace
11978         * gst/gstcaps.h:
11979           add prototype for gst_caps_is_equal_fixed
11980         * gst/gstplugin.c:
11981         * gst/gstregistrypool.c:
11982           doc fixes
11983
11984 2005-08-24  Andy Wingo  <wingo@pobox.com>
11985
11986         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
11987         convert a negative value. Doesn't make much sense. Mostly this is
11988         here to force callers to ensure -1 maps to -1.
11989
11990 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
11991
11992         * docs/pwg/advanced-types.xml:
11993           Well done to Michael for catching my deliberate introduction
11994           of this spelling mistake. 
11995         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
11996         * gst/gstelement.h:
11997           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
11998           unlink pads before removing the element from the bin.
11999
12000 2005-08-24  Andy Wingo  <wingo@pobox.com>
12001
12002         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12003         the same thing as GST_DEBUG=*:4.
12004         (parse_debug_level, parse_debug_category): New helper parsers.
12005
12006 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12007
12008         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12009         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12010         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12011         (gst_base_transform_buffer_alloc),
12012         (gst_base_transform_handle_buffer):
12013           use gboolean return values and pointers to size so we can use the
12014           full GST_BUFFER_SIZE range (guint) for buffer sizes
12015           use GstPadDirection for transform_caps
12016         * gst/base/gstbasetransform.h:
12017           rename get_size to get_unit_size since that's what it is
12018         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12019           use GstPadDirection for transform_caps
12020         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12021         * gst/gstutils.h:
12022           cleanup and debugging
12023
12024 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12025
12026         * gst/gstelement.c: (gst_element_class_init),
12027         (gst_element_set_state), (activate_pads),
12028         (gst_element_save_thyself):
12029         * tools/gst-compprep.c: (main):
12030         * tools/gst-inspect.c: (print_element_properties_info):
12031         * tools/gst-xmlinspect.c: (print_element_properties):
12032           Fixed long standing mem-leak
12033
12034 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12035
12036         * check/gst/gstbin.c: (GST_START_TEST):
12037         * gst/gstbin.c: (bin_bus_handler):
12038         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12039         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12040         (gst_message_new_warning), (gst_message_new_tag),
12041         (gst_message_new_state_changed), (gst_message_new_segment_start),
12042         (gst_message_new_segment_done), (gst_message_new_custom):
12043         * gst/gstmessage.h:
12044         * tools/gst-launch.c: (event_loop):
12045         * tools/gst-md5sum.c: (event_loop):
12046           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12047           that applications can sensibly post custom messages with references
12048           to their own objects.
12049
12050 2005-08-24  Andy Wingo  <wingo@pobox.com>
12051
12052         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12053         already.
12054
12055 2005-08-24  Wim Taymans  <wim@fluendo.com>
12056
12057         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12058         (gst_base_transform_transform_caps),
12059         (gst_base_transform_transform_size),
12060         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12061         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12062         (gst_base_transform_handle_buffer):
12063         * gst/base/gstbasetransform.h:
12064         Many fixes and new features added by Thomas. Can now also do
12065         transforms with variable sizes and a custom fixate_caps function.
12066
12067 2005-08-24  Wim Taymans  <wim@fluendo.com>
12068
12069         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12070         Some debugging.
12071
12072         * gst/gstclock.h:
12073         Cast to ClockTime before formatting to time.
12074
12075         * gst/gstutils.h:
12076         Cleanups.
12077
12078 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12079
12080         * check/gst-libs/controller.c: (GST_START_TEST),
12081         (gst_controller_suite):
12082         * docs/gst/tmpl/gstcaps.sgml:
12083         * docs/gst/tmpl/gstghostpad.sgml:
12084         * docs/gst/tmpl/gstquery.sgml:
12085         * docs/gst/tmpl/gstutils.sgml:
12086         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12087         (gst_object_sink_values), (gst_object_get_value_arrays),
12088         (gst_object_get_value_array):
12089           gracefully handle helper method calls to objects that are not beeing
12090           controlled, added test case for that          
12091
12092 2005-08-23  Wim Taymans  <wim@fluendo.com>
12093
12094         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12095         (gst_event_new_newsegment), (gst_event_parse_newsegment),
12096         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12097         (gst_event_parse_qos), (gst_event_new_seek),
12098         (gst_event_parse_seek):
12099         * gst/gstevent.h:
12100         Some more debugging output and doc cleanups.
12101
12102         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12103         Fix possible deadlock.
12104
12105 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12106
12107         * docs/gst/gstreamer-docs.sgml:
12108         * docs/gst/gstreamer-sections.txt:
12109         * docs/gst/gstreamer.types:
12110         * docs/gst/tmpl/.cvsignore:
12111         * gst/gstbin.h:
12112         * gst/gstbus.c:
12113         * gst/gstelement.c:
12114         * gst/gstevent.h:
12115           added 100 symbols from gstreamer-unused.txt to the right sections
12116           fixed more broken comments
12117           added GstBus to docs
12118
12119 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12120
12121         * docs/gst/gstreamer-sections.txt:
12122         * docs/gst/tmpl/.cvsignore:
12123         * docs/gst/tmpl/gstbin.sgml:
12124         * docs/gst/tmpl/gstbuffer.sgml:
12125         * gst/base/gstbasesrc.c:
12126         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12127         * gst/gstbuffer.c:
12128         * gst/gstbuffer.h:
12129         * tools/gst-launch.1.in:
12130           inlined more doc comments, added missing comments and fixed comments
12131           fixed typos
12132
12133 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12134
12135         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12136           some debugging
12137         * gst/gstcaps.h:
12138           whitespace fixes
12139         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12140           more debugging
12141         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12142         * gst/gststructure.h:
12143           add a fixate function for booleans; add a FIXME that these func
12144           names should probably be gst_structure_fixate_*
12145
12146 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12147
12148         * docs/gst/gstreamer-docs.sgml:
12149         * docs/gst/gstreamer-sections.txt:
12150         * gst/Makefile.am:
12151         * gst/gstbin.c: (gst_bin_get_type),
12152         (gst_bin_child_proxy_get_child_by_index),
12153         (gst_bin_child_proxy_get_children_count),
12154         (gst_bin_child_proxy_init):
12155         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12156         (gst_child_proxy_get_child_by_index),
12157         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12158         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12159         (gst_child_proxy_get), (gst_child_proxy_set_property),
12160         (gst_child_proxy_set_valist), (gst_child_proxy_set),
12161         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12162         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12163         * gst/gstchildproxy.h:
12164         * gst/parse/grammar.y:
12165         * tools/gst-inspect.c: (print_interfaces),
12166         (print_element_properties_info), (print_element_info):
12167           ported gstchildproxy over from 0.8
12168           ported gst-inspect fixes and enhancements over from 0.8
12169
12170 2005-08-22  Wim Taymans  <wim@fluendo.com>
12171
12172         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12173         (gst_base_transform_handle_buffer):
12174         Also call the transform function if we have ANY caps.
12175
12176         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12177         Fix debug info.
12178
12179 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12180
12181         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12182           Don't pretend to handle seek events if the source is not seekable
12183
12184 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12185
12186         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12187           Remove extra parameter to debug output
12188
12189         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12190         (gst_base_src_do_seek), (gst_base_src_activate_push):
12191           Fix seek event handling.
12192
12193         * gst/gstpipeline.c: (gst_pipeline_change_state):
12194         * gst/gstqueue.c: (gst_queue_handle_sink_event),
12195         (gst_queue_src_activate_push):
12196           Don't start the src pad task on FLUSH_STOP if the pad
12197           isn't linked.
12198           Debug changes.
12199
12200 2005-08-22  Wim Taymans  <wim@fluendo.com>
12201
12202         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12203         Added check for gst_static_caps_get() refcounting.
12204
12205 2005-08-22  Wim Taymans  <wim@fluendo.com>
12206
12207         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12208         Make _static_caps_get() refcounting sane.
12209         
12210         * gst/gstelement.c: (gst_element_set_state):
12211         Add g_return_val_if_fail() to protect against segfaults.
12212
12213 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
12214
12215         * docs/gst/tmpl/gstevent.sgml:
12216         * gst/gstevent.c:
12217         * gst/gstevent.h:
12218           inlined remaining docs, added missing doc comments
12219
12220 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12221
12222         * check/gst/gstbin.c: (GST_START_TEST):
12223           since we don't know when preroll is done, use refcount range
12224           check for the sink
12225         * gst/check/gstcheck.h:
12226           add macro for checking refcount range
12227
12228 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12229
12230         * check/Makefile.am:
12231           clean up environment for when registry gets built versus
12232           when actual tests are run; valgrind seems to not report
12233           leaks if GST_PLUGIN_PATH is set to some specific values
12234         * check/gst/gstbin.c: (GST_START_TEST):
12235           add more refcounting checks; maybe this exposes a
12236           preroll lock bug ?
12237         * common/check.mak:
12238         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12239         * gst/check/gstcheck.h:
12240         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12241         (gst_bin_change_state):
12242         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12243           add/fix debugging/whitespace
12244
12245 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12246
12247         * check/gst/gstevent.c: (event_probe), (test_event),
12248         (GST_START_TEST):
12249          Er, don't call gst_bin_watch_for_state_change you idiot.
12250
12251 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12252
12253         * check/Makefile.am:
12254           Use CHECK_CFLAGS and CHECK_LIBS
12255         * check/gst/gstevent.c: (event_probe), (test_event),
12256         (GST_START_TEST):
12257           Don't leak events.
12258         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12259         (gst_base_src_start), (gst_base_src_stop),
12260         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12261         (gst_base_src_change_state):
12262           Sprinkle gst_base_src_stop liberally around error paths to fix
12263           problems reusing a source after failed state changes.
12264         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12265         (helper_find_suggest), (gst_type_find_helper):
12266           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12267         * gst/gstevent.h:
12268         * docs/gst/tmpl/gstevent.sgml:
12269           Migrate part of the docs from the SGML file. Wait for ensonic to
12270           tell me how I did it wrong ;)
12271         * tools/gst-typefind.c: (main):
12272           Extra robustness to state changes between files.
12273
12274 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12275
12276         * check/Makefile.am:
12277           don't valgrind the controller test - it's leaking - Stefan, HELP
12278         * gst/check/gstcheck.c: (gst_check_message_error),
12279         (gst_check_chain_func), (gst_check_setup_element),
12280         (gst_check_teardown_element), (gst_check_setup_src_pad),
12281         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12282         (gst_check_teardown_sink_pad):
12283         * gst/check/gstcheck.h:
12284           add a bunch of methods to set up elements, and src and sink pads
12285         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12286         * check/elements/identity.c: (setup_identity), (cleanup_identity),
12287         (GST_START_TEST):
12288           use them
12289         * gst/gstmessage.c:
12290         * gst/gsttag.h:
12291           whitespace/doc fixes
12292
12293 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12294
12295         * gst/gstelement.h:
12296           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12297           be handled by the application and not always printed as well
12298
12299 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12300
12301         * check/Makefile.am:
12302           set GST_TOOLS_DIR
12303         * gst/check/gstcheck.c: (gst_check_message_error):
12304         * gst/check/gstcheck.h:
12305           add a fail_unless_equals_int
12306           add fail_unless for error messages
12307
12308 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12309
12310         * check/Makefile.am:
12311         * check/gst.supp:
12312         * common/Makefile.am:
12313         * common/check.mak:
12314         * common/gst.supp:
12315           factor out some of the common stuff so we can use it
12316
12317 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12318
12319         * check/Makefile.am:
12320         * check/gst/gstiterator.c: (GST_START_TEST):
12321         * check/gst/gstsystemclock.c: (GST_START_TEST),
12322         (gst_systemclock_suite):
12323         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12324         * gst/gstclock.c:
12325           valgrind more tests
12326
12327 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12328
12329         * check/elements/.cvsignore:
12330         * check/elements/gstfakesrc.c:
12331           rename to name of element
12332         * check/elements/identity.c: (chain_func), (event_func),
12333         (setup_identity), (cleanup_identity), (GST_START_TEST),
12334         (identity_suite), (main):
12335           add a test for identity
12336         * check/Makefile.am:
12337         * pkgconfig/Makefile.am:
12338         * pkgconfig/gstreamer-check.pc.in:
12339         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12340         * gst/check:
12341         * gst/Makefile.am:
12342         * configure.ac:
12343           move the check stuff to a library that gets installed
12344         * check/gst-libs/controller.c: (GST_START_TEST):
12345         * check/gst-libs/gdp.c:
12346         * check/gst/gst.c: (GST_START_TEST):
12347         * check/gst/gstbin.c:
12348         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12349         * check/gst/gstbus.c:
12350         * check/gst/gstcaps.c: (GST_START_TEST):
12351         * check/gst/gstelement.c:
12352         * check/gst/gstghostpad.c:
12353         * check/gst/gstiterator.c:
12354         * check/gst/gstmessage.c:
12355         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12356         * check/gst/gstobject.c:
12357         * check/gst/gstpad.c: (GST_START_TEST):
12358         * check/gst/gststructure.c: (GST_START_TEST):
12359         * check/gst/gstsystemclock.c: (GST_START_TEST),
12360         (gst_systemclock_suite):
12361         * check/gst/gsttag.c: (gst_tag_suite):
12362         * check/gst/gstvalue.c:
12363         * check/pipelines/cleanup.c:
12364         * check/pipelines/simple_launch_lines.c:
12365         * check/states/sinks.c:
12366           change include statement
12367
12368         * docs/gst/gstreamer-sections.txt:
12369         * docs/gst/tmpl/gstpad.sgml:
12370           document more pad stuff
12371         * gst/gstminiobject.c: (gst_mini_object_ref),
12372         (gst_mini_object_unref):
12373           debug refcounting
12374
12375 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
12376
12377         * docs/gst/tmpl/gst.sgml:
12378         * gst/gst.c:
12379           eliminate another tmpl file, fix spelling in the long-description
12380
12381 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12382
12383         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12384         (test_event), (timediff), (gstevents_suite):
12385           Should fix build on 64-bit arch's
12386
12387 2005-08-18  Andy Wingo  <wingo@pobox.com>
12388
12389         Make sure that when a pipeline goes to PLAYING, that data has
12390         actually hit the sink.
12391
12392         * check/states/sinks.c (test_sink): A sink that doesn't get any
12393         data shouldn't return SUCCESS for going to either PLAYING or
12394         PAUSED. Test also the return values on the way back down.
12395
12396         * gst/gstelement.c (gst_element_set_state): When changing the
12397         state of an element currently changing state asynchronously, go to
12398         lost-state after commiting the pending state. Makes future calls
12399         to get_state continue to return ASYNC.
12400
12401         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12402         ASYNC when going to PLAYING if we still don't have preroll, as can
12403         happen with live sources.
12404
12405 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12406
12407         * docs/pwg/advanced-types.xml:
12408           Hack long paragraph into 2 chunks as a workaround for buggy
12409           jadetex version in sid and breezy that loops infinitely and
12410           eats all RAM.
12411
12412 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12413
12414         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12415         (test_event), (timediff), (gstevents_suite):
12416           Provide more error margin in clock measurements to allow for 
12417           g_get_current_time inaccuracies.
12418
12419 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12420
12421         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12422         (test_event), (timediff), (gstevents_suite):
12423            Fix error message output so I might be able to tell why the
12424            test works here but fails on the build farm.
12425
12426 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12427
12428         * check/Makefile.am:
12429         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12430         (test_event), (timediff), (gstevents_suite), (main):
12431           I wrote a test!
12432
12433         * docs/design/part-seeking.txt:
12434           Spelling correction
12435
12436         * docs/gst/tmpl/gstevent.sgml:
12437         * docs/gst/tmpl/gstfakesrc.sgml:
12438           Docs updates.
12439
12440         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12441           Treat a buffer-without-newsegment the same as a receiving 
12442           a newsegment not in time format, and disable syncing to the clock
12443           with a warning.
12444
12445         * gst/gstbus.c: (gst_bus_set_sync_handler):
12446           Assert if anyone tries to replace the existing sync_handler for bus, 
12447           as only the owner should be setting it.
12448
12449         * gst/gstevent.h:
12450           Have a fixed set of custom event enums with events identified by
12451           their structure name (as in 0.8), rather than a free-for-all
12452           allowing collisions between enum values from different plugins.
12453
12454         * gst/gstpad.c: (gst_pad_class_init):
12455           Docs change.
12456           
12457         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12458           Handle out-of-band downstream events from the sending thread.
12459
12460 2005-08-17  Andy Wingo  <wingo@pobox.com>
12461
12462         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
12463         play-timeout==0 to mean no timeout at all. In that case, don't
12464         bother with a get_state or a warning, just return directly, even
12465         if it's ASYNC.
12466
12467         * gst/base/gstbasetransform.c: Debug changes.
12468
12469         * gst/gstutils.h:
12470         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
12471         ensure bins post state change messages. A bit of a hack but I can't
12472         think of a way to avoid it.
12473
12474         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
12475
12476 2005-08-16  Andy Wingo  <wingo@pobox.com>
12477
12478         * gst/base/gstadapter.h:
12479         * gst/base/gstadapter.c (gst_adapter_take): New function, like
12480         peek() but you own the data. Not terribly efficient atm.
12481
12482 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12483
12484         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
12485         (gst_element_found_tags):
12486         * gst/gstutils.h:
12487           Add two utility functions for tag handling.
12488
12489 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12490
12491         * docs/manual/advanced-dataaccess.xml:
12492         * docs/manual/basics-helloworld.xml:
12493           Fix docs to use _bin_add() before _link(), which fixes the examples
12494           with recent core versions (reported by Madhan Raj M
12495           <raj_madan@rediffmail.com>, #313199).
12496
12497 2005-08-16  Wim Taymans  <wim@fluendo.com>
12498
12499         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12500         Added subtract checks.
12501
12502         * docs/design/part-events.txt:
12503         Some more docs about newsegment
12504
12505         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12506         Fix FIXME
12507
12508         * gst/gstcaps.c: (gst_caps_to_string):
12509         Add comments, cleanups.
12510         
12511         * gst/gstelement.c: (gst_element_save_thyself):
12512         cleanups
12513         
12514         * gst/gstvalue.c: (gst_value_collect_int_range),
12515         (gst_string_unwrap), (gst_value_union_int_int_range),
12516         (gst_value_union_int_range_int_range),
12517         (gst_value_intersect_int_int_range),
12518         (gst_value_intersect_int_range_int_range),
12519         (gst_value_intersect_double_double_range),
12520         (gst_value_intersect_double_range_double_range),
12521         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
12522         (gst_value_subtract_int_range_int),
12523         (gst_value_subtract_double_range_double),
12524         (gst_value_subtract_double_range_double_range),
12525         (gst_value_subtract_from_list), (gst_value_subtract_list),
12526         (gst_value_can_compare), (gst_value_compare_fraction):
12527         Cleanups, add comments, remove unneeded asserts.
12528
12529 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12530
12531         * tools/gst-launch.c: (event_loop):
12532           don't convert NULL structures to strings
12533
12534 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
12535
12536         * docs/gst/gstreamer-sections.txt:
12537           made some defines private
12538         * docs/gst/tmpl/gstconfig.sgml:
12539         * docs/gst/tmpl/gstqueue.sgml:
12540         * docs/gst/tmpl/gsttaglist.sgml:
12541         * docs/gst/tmpl/gsttypes.sgml:
12542         * docs/gst/tmpl/gstutils.sgml:
12543         * docs/pwg/appendix-porting.xml:
12544         * gst/base/gstbasesink.h:
12545         * gst/base/gstbasesrc.c:
12546         * gst/base/gstbasesrc.h:
12547         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
12548         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
12549         * gst/gstelement.c: (gst_element_class_init):
12550         * gst/gstpad.c: (gst_pad_class_init):
12551         * gst/gstqueue.c: (gst_queue_class_init):
12552         * gst/gstxml.c: (gst_xml_class_init):
12553           documented all undocumented signal inline
12554         * libs/gst/controller/gst-controller.h:
12555           added padding
12556
12557 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12558
12559         * docs/pwg/appendix-porting.xml:
12560           Document _set_link_function -> _set_setcaps_function.
12561
12562 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12563
12564         * check/Makefile.am:
12565           add a .check target for running the check
12566         * check/gst-libs/controller.c: (GST_START_TEST):
12567           cosmetic fixups
12568         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12569           complete checks for gstbuffer; would be nice if I could get the
12570           gcov stuff to work so I can see if I actually completed gstbuffer.c
12571         * check/gstcheck.h:
12572           add ASSERT_BUFFER_REFCOUNT
12573
12574 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
12575
12576         * docs/gst/gstreamer-sections.txt:
12577         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12578         * gst/gsttag.h:
12579           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
12580           spew out a warning if a tag that is already registered
12581           is re-registered, unless it is re-registered with a 
12582           different type (#308438).
12583
12584 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
12585
12586         * docs/pwg/appendix-porting.xml:
12587         * docs/pwg/building-state.xml:
12588           Add some paragraphs about state changes in 0.9 to the PWG
12589           and the porting guide, in particular about the new meaning
12590           of GST_STATE_PAUSED and how to write state change functions
12591           with concurrent access by multiple threads in mind.
12592
12593 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
12594
12595         * docs/gst/gstreamer-docs.sgml:
12596         * docs/libs/gstreamer-libs-docs.sgml:
12597           added deprecation and since indexes
12598         * libs/gst/controller/gst-controller.c:
12599         * libs/gst/controller/gst-helper.c:
12600           added since tags
12601
12602
12603 2005-08-11  Wim Taymans  <wim@fluendo.com>
12604
12605         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
12606         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
12607         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
12608         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
12609         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
12610         (gst_ghost_pad_set_target):
12611         Actually implement (re)setting the target on a ghostpad
12612         as described in the docs.
12613
12614 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12615
12616         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
12617           Check whether GST_DEBUG_NO_COLOR environment variable is
12618           set and disable coloured debug output if that is the case.
12619
12620 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12621
12622         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12623         (gst_type_find_helper):
12624           The memory returned by gst_type_find_peek() needs to
12625           stay valid until the end of a typefind function, and
12626           typefind functions may keep results from different 
12627           offsets around, so we can't just unref the buffer from
12628           the previous _peek(), but have to save all buffers 
12629           returned by _peek() until typefinding is done and only
12630           free them then.
12631
12632 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12633
12634         * docs/gst/gstreamer-sections.txt:
12635         * gst/gstutils.h:
12636           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
12637
12638 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12639
12640         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12641           Fix a pretty good memleak.
12642
12643 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12644
12645         * gst/gstiterator.h:
12646           Fix wrong include and 'make distcheck'.
12647
12648 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12649
12650         * gst/gstbin.c: (bin_bus_handler):
12651           Use gst_element_post_message() instead.
12652
12653 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12654
12655         * gst/base/gstadapter.h:
12656         * gst/base/gstbasesink.h:
12657         * gst/base/gstbasesrc.h:
12658         * gst/base/gstbasetransform.h:
12659         * gst/base/gstcollectpads.h:
12660         * gst/base/gstpushsrc.h:
12661         * gst/gstiterator.h:
12662           Add padding to our base elements' class and instance structs and
12663           to GstIterator (you will need to rebuild all plugins and apps!)
12664
12665 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12666
12667         * gst/gstbin.c: (bin_bus_handler):
12668           Make default message forwarding from child->bus to bin->bus
12669           threadsafe and make it not emit warnings if the parent has no bus.
12670
12671 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12672
12673         * gst/gstelement.c: (activate_pads):
12674           On paused->ready, set pad->caps to NULL, as is the documented
12675           behaviour in this state change. Fixes playback of series of
12676           media files when visualization is enabled in Totem.
12677
12678 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12679
12680         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12681           Allow NULL as filter-caps (which means "any").
12682
12683 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12684
12685         * docs/libs/gstreamer-libs-sections.txt:
12686         * libs/gst/controller/gst-controller.c:
12687         * libs/gst/controller/gst-controller.h:
12688         * libs/gst/controller/gst-helper.c:
12689           adding more entries to the docs and fix small doc-bugs
12690
12691 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12692
12693         * docs/gst/gstreamer-docs.sgml:
12694         * docs/gst/gstreamer-sections.txt:
12695         * docs/gst/gstreamer.types:
12696         * docs/gst/tmpl/gstbasesink.sgml:
12697         * docs/gst/tmpl/gstbasesrc.sgml:
12698         * docs/gst/tmpl/gstbasetransform.sgml:
12699         * docs/gst/tmpl/gstfakesrc.sgml:
12700         * gst/base/gstcollectpads.c:
12701         * gst/base/gstcollectpads.h:
12702         * libs/gst/controller/gst-controller.c:
12703         * libs/gst/controller/gst-controller.h:
12704         * libs/gst/controller/gst-helper.c:
12705         * libs/gst/controller/gst-interpolation.c:
12706         * libs/gst/controller/lib.c:
12707           added long/short desc for controller docs
12708           added collectpads base class docs
12709           added correct includes to base-class docs
12710
12711 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12712
12713         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12714         (gst_test_mono_source_set_property),
12715         (gst_test_mono_source_class_init), (GST_START_TEST),
12716         (gst_controller_suite):
12717         * docs/gst/gstreamer-docs.sgml:
12718         * docs/gst/gstreamer-sections.txt:
12719         * docs/gst/gstreamer.types:
12720         * docs/libs/gstreamer-libs-docs.sgml:
12721         * docs/libs/gstreamer-libs-sections.txt:
12722         * gst/base/gstadapter.c:
12723         * libs/gst/controller/gst-controller.c:
12724         (gst_controlled_property_new), (gst_controlled_property_free),
12725         (gst_controller_new_valist),
12726         (gst_controller_remove_properties_valist),
12727         (gst_controller_sink_values), (_gst_controller_finalize):
12728         * libs/gst/controller/gst-controller.h:
12729         * libs/gst/controller/gst-helper.c:
12730         (gst_object_control_properties), (gst_object_uncontrol_properties),
12731         (gst_object_get_controller), (gst_object_set_controller),
12732         (gst_object_sink_values), (gst_object_get_value_arrays),
12733         (gst_object_get_value_array):
12734           more tests (and fixes) for the controller
12735           more docs for the controller
12736           integrated companies docs for the adapter 
12737
12738 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12739
12740         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
12741         (GST_START_TEST), (fakesrc_suite):
12742           add tests for sizetype
12743
12744 2005-08-04  Andy Wingo  <wingo@pobox.com>
12745
12746         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
12747         fixes buffer_alloc proxying among other things.
12748
12749         * gst/base/gstbasetransform.c:
12750         * gst/base/gstbasetransform.h:
12751         Revert patch to gstbasetransform from 7-28 removing
12752         delay_configure.
12753
12754         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
12755         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
12756         Semantics changed, should return not the size of the output buffer
12757         but the byte size of a buffer with a given caps.
12758
12759         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
12760         debug object.
12761         (gst_base_transform_configure_caps): Don't set out_size here: (in,
12762         out) are not the pad caps until setcaps finishes.
12763         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
12764         not-in-place case as well. Deal with changing from in-place to
12765         not-in-place within calling pad_alloc_buffer. Still a bit
12766         concerned about the overhead here...
12767
12768 2005-08-03  Andy Wingo  <wingo@pobox.com>
12769
12770         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
12771         fixating is an error.
12772
12773 2005-08-04  Edward Hervey  <edward@fluendo.com>
12774
12775         * gst/base/gstadapter.h: 
12776         Added gst_adapter_get_type() to the header
12777
12778 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12779
12780         * check/Makefile.am:
12781         * check/gst-libs/controller.c:
12782         * libs/gst/controller/gst-controller.c:
12783         (gst_controller_new_valist):
12784           added check test suite for the controller
12785         * gst/base/gstpushsrc.c:
12786           fixed a doc typo
12787
12788 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12789
12790         * docs/gst/Makefile.am:
12791         * docs/gst/gstreamer-docs.sgml:
12792         * docs/gst/gstreamer-sections.txt:
12793         * docs/gst/gstreamer.types:
12794         * docs/gst/tmpl/gstfakesrc.sgml:
12795         * gst/base/README:
12796         * gst/base/gstbasesink.c:
12797         * gst/base/gstbasesink.h:
12798         * gst/base/gstbasesrc.c:
12799         * gst/base/gstbasesrc.h:
12800         * gst/base/gstbasetransform.c:
12801         * gst/base/gstpushsrc.c:
12802         * gst/base/gstpushsrc.h:
12803           add short/long description docs to base classes
12804           add pushsrc to the docs
12805           remove consolidated doc fragments
12806
12807 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12808
12809         * configure.ac:
12810         * docs/libs/Makefile.am:
12811         * docs/libs/gstreamer-libs-docs.sgml:
12812         * docs/libs/gstreamer-libs-sections.txt:
12813         * docs/libs/gstreamer-libs.types:
12814         * examples/Makefile.am:
12815         * examples/controller/.cvsignore:
12816         * examples/controller/Makefile.am:
12817         * examples/controller/audio-example.c: (main):
12818         * libs/gst/Makefile.am:
12819         * libs/gst/controller/.cvsignore:
12820         * libs/gst/controller/Makefile.am:
12821         * libs/gst/controller/gst-controller.c:
12822         (on_object_controlled_property_changed), (gst_timed_value_compare),
12823         (gst_timed_value_find),
12824         (gst_controlled_property_set_interpolation_mode),
12825         (gst_controlled_property_new), (gst_controlled_property_free),
12826         (gst_controller_find_controlled_property),
12827         (gst_controller_new_valist), (gst_controller_new),
12828         (gst_controller_remove_properties_valist),
12829         (gst_controller_remove_properties), (gst_controller_set),
12830         (gst_controller_set_from_list), (gst_controller_unset),
12831         (gst_controller_get), (gst_controller_get_all),
12832         (gst_controller_sink_values), (gst_controller_get_value_arrays),
12833         (gst_controller_get_value_array),
12834         (gst_controller_set_interpolation_mode),
12835         (_gst_controller_finalize), (_gst_controller_init),
12836         (_gst_controller_class_init), (gst_controller_get_type):
12837         * libs/gst/controller/gst-controller.h:
12838         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
12839         (g_object_uncontrol_properties), (g_object_get_controller),
12840         (g_object_set_controller), (g_object_sink_values),
12841         (g_object_get_value_arrays), (g_object_get_value_array):
12842         * libs/gst/controller/gst-interpolation.c:
12843         (gst_controlled_property_find_timed_value_node),
12844         (interpolate_none_get), (interpolate_trigger_get),
12845         (interpolate_trigger_get_value_array):
12846         * libs/gst/controller/lib.c: (gst_controller_init):
12847         * pkgconfig/Makefile.am:
12848         * pkgconfig/gstreamer-control-uninstalled.pc.in:
12849         * pkgconfig/gstreamer-control.pc.in:
12850         * testsuite/Makefile.am:
12851         * testsuite/controller/.cvsignore:
12852         * testsuite/controller/Makefile.am:
12853         * testsuite/controller/interpolator.c: (main):
12854           added controller code
12855           removed dparam pc files
12856
12857 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12858         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
12859         (gst_collectpads_stop):
12860           Broadcast the condition when shutting down, to make sure we wake all
12861           threads up. Shut down pads on finalize, for safety.
12862
12863 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12864         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12865         (gst_base_transform_handle_buffer),
12866         (gst_base_transform_change_state):
12867           Handle PAUSED->READY->PAUSED transition after negotiation
12868           occurred already.
12869         * gst/gstmessage.c: (gst_message_init):
12870           Extra piece of debug for new messages.
12871
12872 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
12873
12874         * configure.ac:
12875         * docs/gst/tmpl/gstbasesrc.sgml:
12876         * docs/gst/tmpl/gstelement.sgml:
12877         * docs/gst/tmpl/gstevent.sgml:
12878         * docs/gst/tmpl/gstfakesrc.sgml:
12879         * docs/gst/tmpl/gstformat.sgml:
12880         * docs/gst/tmpl/gstghostpad.sgml:
12881         * docs/gst/tmpl/gstpad.sgml:
12882         * docs/gst/tmpl/gstquery.sgml:
12883         * docs/gst/tmpl/gststructure.sgml:
12884         * docs/gst/tmpl/gsttaglist.sgml:
12885         * docs/gst/tmpl/gstvalue.sgml:
12886         * docs/libs/gstreamer-libs-docs.sgml:
12887         * docs/libs/gstreamer-libs-sections.txt:
12888         * docs/libs/gstreamer-libs.types:
12889         * libs/gst/Makefile.am:
12890         * libs/gst/control/.cvsignore:
12891         * libs/gst/control/Makefile.am:
12892         * libs/gst/control/control.c:
12893         * libs/gst/control/control.h:
12894         * libs/gst/control/dparam.c:
12895         * libs/gst/control/dparam.h:
12896         * libs/gst/control/dparam_smooth.c:
12897         * libs/gst/control/dparam_smooth.h:
12898         * libs/gst/control/dparamcommon.h:
12899         * libs/gst/control/dparammanager.c:
12900         * libs/gst/control/dparammanager.h:
12901         * libs/gst/control/dplinearinterp.c:
12902         * libs/gst/control/dplinearinterp.h:
12903         * libs/gst/control/unitconvert.c:
12904         * libs/gst/control/unitconvert.h:
12905         * testsuite/Makefile.am:
12906         * testsuite/dynparams/.cvsignore:
12907         * testsuite/dynparams/Makefile.am:
12908         * testsuite/dynparams/dparamstest.c:
12909         * tools/Makefile.am:
12910         * tools/gst-inspect.c: (print_element_info), (main):
12911         * tools/gst-xmlinspect.c: (print_element_info), (main):
12912           deactivate and remove dparams (libgstcontrol)
12913
12914 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12915
12916         * gst/elements/gsttypefindelement.c:
12917         (gst_type_find_element_have_type), (gst_type_find_element_init),
12918         (stop_typefinding), (gst_type_find_element_handle_event),
12919         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12920         * gst/elements/gsttypefindelement.h:
12921           Set caps on all outgoing buffers, not just the first one.
12922
12923 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12924
12925         * gst/elements/gsttypefindelement.c:
12926         (gst_type_find_element_have_type),
12927         (gst_type_find_element_check_set_buffer_caps),
12928         (gst_type_find_element_init), (stop_typefinding),
12929         (gst_type_find_element_handle_event),
12930         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12931         * gst/elements/gsttypefindelement.h:
12932           Set caps on first outgoing buffer when we've found the type.
12933
12934 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12935
12936         * docs/gst/gstreamer-docs.sgml:
12937         * docs/gst/gstreamer-sections.txt:
12938         * docs/gst/tmpl/gstscheduler.sgml:
12939         * docs/gst/tmpl/gstschedulerfactory.sgml:
12940           Remove some old cruft from docs.
12941
12942 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
12943
12944         * gst/gstpad.h:
12945           Fix inline docs for GstPadLinkReturn.
12946           
12947         * gst/gststructure.c: (gst_structure_has_name):
12948         * gst/gststructure.h:
12949         * docs/gst/gstreamer-sections.txt:
12950           New API: gst_structure_has_name().
12951
12952 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
12953
12954         * configure.ac:
12955           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
12956           and _LARGEFILE_SOURCE in config.h as required. Do not 
12957           export those flags in our .pc files any longer (#142209).
12958
12959           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
12960
12961         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
12962         (gst_file_sink_do_seek), (gst_file_sink_event),
12963         (gst_file_sink_get_current_offset), (gst_file_sink_render):
12964           Redo seek/tell calls with large file support in mind; add some
12965           debugging messages; add log message that tells us when large
12966           file support is unavailable or not enabled for some reason.
12967
12968         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
12969           Add log message that tells us when large file support 
12970           is unavailable or not enabled for some reason.
12971
12972 2005-07-29  Wim Taymans  <wim@fluendo.com>
12973
12974         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12975         Added test for removing an element with ghostpad from a bin.
12976         Fixed test as current implementation does the right thing.
12977
12978         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
12979         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
12980         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
12981         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
12982         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
12983         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
12984         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
12985         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
12986         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
12987         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
12988         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
12989         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
12990         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
12991         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
12992         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
12993         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
12994         * gst/gstghostpad.h:
12995         Clean up ghostpads, remove properties for internal stuff.
12996         Make threadsafe.
12997         Fix refcounting.
12998         Prepare for switching targets, not all use cases work yet.
12999
13000 2005-07-29  Wim Taymans  <wim@fluendo.com>
13001
13002         * docs/design/part-gstghostpad.txt:
13003         Small update.
13004
13005         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13006         (gst_bin_remove_func):
13007         Unlinking pads while holding the bin LOCK is not a good
13008         idea.
13009
13010         * gst/gstpad.c: (gst_pad_class_init),
13011         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13012         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13013         No prob setting template after creating the pad.
13014
13015 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
13016
13017         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13018         (gst_bus_peek), (gst_bus_source_dispatch),
13019         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13020         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13021           gst_bus_poll may be called from other threads. Handle
13022           this nicely by not making poll_data disappear off the
13023           stack once gst_bus_poll returns.
13024           gst_bus_peek now increments the refcount on the returned
13025           message.
13026
13027 2005-07-29  Wim Taymans  <wim@fluendo.com>
13028
13029         * docs/design/part-gstghostpad.txt:
13030         Overview of current GhostPad datastructures and use
13031         cases for changing the target.
13032
13033 2005-07-28  Wim Taymans  <wim@fluendo.com>
13034
13035         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13036         Added checks for hierarchy consistency whan adding linked
13037         elements to bins.
13038
13039         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13040         Added check to test element scheduling without bin/pipeline.
13041
13042         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13043         First add elements to bin, then link.
13044         
13045         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13046         (gst_bin_remove_func):
13047         Unlink pads from elements added/removed from bin to maintain
13048         hierarchy consistency.
13049
13050 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13051
13052         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13053         (gst_base_transform_handle_buffer):
13054         * gst/base/gstbasetransform.h:
13055           Remove broken delay_configure (fixes renegotiation of software
13056           scaling pipelines); remove some leftover printf()s.
13057
13058 2005-07-28  Wim Taymans  <wim@fluendo.com>
13059
13060         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13061         Added some more tests for wrong hierarchy
13062
13063         * docs/design/part-overview.txt:
13064         Some updates.
13065
13066         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13067         Cleanups.
13068
13069         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13070         (gst_element_dispose):
13071         Some more cleanups.
13072
13073         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13074         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13075         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13076         (gst_pad_set_caps), (gst_pad_send_event):
13077         Check for correct hierarchy when linking pads. Moving to
13078         strict requirement for ghostpads when linking elements in
13079         different bins.
13080
13081         * gst/gstpad.h:
13082         Clean ups. Added WRONG_HIERARCHY return value.
13083
13084 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13085
13086         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13087           Better debug if no transform is possible.
13088
13089 2005-07-27  Wim Taymans  <wim@fluendo.com>
13090
13091         * docs/random/wtay/network-transp:
13092         Some old doc I had.
13093
13094 2005-07-27  Wim Taymans  <wim@fluendo.com>
13095
13096         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13097         (gst_dp_event_from_packet):
13098         Fix serialization of seek events.
13099
13100 2005-07-27  Wim Taymans  <wim@fluendo.com>
13101
13102         * check/gst-libs/gdp.c: (GST_START_TEST):
13103         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13104         Fix compilation and fix event serialization.
13105
13106 2005-07-27  Wim Taymans  <wim@fluendo.com>
13107
13108         * CHANGES-0.9:
13109         * docs/design/part-TODO.txt:
13110         * docs/design/part-events.txt:
13111         Some docs updates
13112
13113         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13114         (gst_base_sink_event), (gst_base_sink_do_sync),
13115         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13116         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13117         (gst_base_src_do_seek), (gst_base_src_event_handler),
13118         (gst_base_src_loop):
13119         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13120         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13121         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13122         (gst_base_transform_event), (gst_base_transform_handle_buffer),
13123         (gst_base_transform_set_passthrough),
13124         (gst_base_transform_is_passthrough):
13125         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13126         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13127         Event updates.
13128
13129         * gst/gstbuffer.h:
13130         Use faster casts.
13131
13132         * gst/gstelement.c: (gst_element_seek):
13133         * gst/gstelement.h:
13134         Update gst_element_seek.
13135
13136         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13137         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13138         (gst_event_new_flush_start), (gst_event_new_flush_stop),
13139         (gst_event_new_eos), (gst_event_new_newsegment),
13140         (gst_event_parse_newsegment), (gst_event_new_tag),
13141         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13142         (gst_event_parse_qos), (gst_event_new_seek),
13143         (gst_event_parse_seek), (gst_event_new_navigation):
13144         * gst/gstevent.h:
13145         Make GstEvent use GstStructure. Add parsing code, make sure the
13146         API is sufficiently generic.
13147         Mark possible directions of events and serialization.
13148
13149         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13150         (_gst_message_copy), (gst_message_new_segment_start),
13151         (gst_message_new_segment_done), (gst_message_new_custom),
13152         (gst_message_parse_segment_start),
13153         (gst_message_parse_segment_done):
13154         Small cleanups.
13155
13156         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13157         (gst_pad_set_caps), (gst_pad_send_event):
13158         Update for new events. 
13159         Catch events sent in wrong directions.
13160
13161         * gst/gstqueue.c: (gst_queue_link_src),
13162         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13163         (gst_queue_handle_src_query):
13164         Event updates.
13165
13166         * gst/gsttag.c:
13167         * gst/gsttag.h:
13168         Remove event code from this file.
13169
13170         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13171         (gst_dp_event_from_packet):
13172         Event updates.
13173
13174 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13175
13176         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13177         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13178         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13179           Make debugging actually useful.
13180
13181 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13182
13183         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13184         (gst_pad_fixate_caps):
13185           Implement default fixation once again, so that gst_pad_fixate()
13186           actually does anything at all. This probably needs to be some
13187           sort of a last resort, and use profile-based fixation first, but
13188           since that doesn't exist yet, this is the best we have. Fixes
13189           visualization in Totem.
13190
13191 2005-07-22  Wim Taymans  <wim@fluendo.com>
13192
13193         * docs/design/part-events.txt:
13194         Small update.
13195
13196         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13197         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13198         (gst_base_sink_activate_pull):
13199         Some more comments.
13200
13201         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13202         (gst_fake_src_create):
13203         Fix handoff marshall.
13204
13205         * gst/elements/gstidentity.c: (gst_identity_class_init),
13206         (gst_identity_transform_ip):
13207         We're a real inplace element.
13208
13209         * gst/gstbus.c: (gst_bus_post):
13210         Added some comments.
13211
13212         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13213         * tests/muxing/case1.c: (main):
13214         * tests/sched/dynamic-pipeline.c: (main):
13215         * tests/sched/interrupt1.c: (main):
13216         * tests/sched/interrupt2.c: (main):
13217         * tests/sched/interrupt3.c: (main):
13218         * tests/sched/runxml.c: (main):
13219         * tests/sched/sched-stress.c: (main):
13220         * tests/seeking/seeking1.c: (event_received), (main):
13221         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13222         (main):
13223         * tests/threadstate/threadstate3.c: (main):
13224         * tests/threadstate/threadstate4.c: (main):
13225         * tests/threadstate/threadstate5.c: (main):
13226         Fix the tests.
13227
13228 2005-07-21  Wim Taymans  <wim@fluendo.com>
13229
13230         * docs/design/part-seeking.txt:
13231         Some small additions.
13232
13233         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13234         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13235         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13236         * gst/base/gstbasesink.h:
13237         discont values are gint64, handle the math correctly.
13238
13239         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13240         Make the basesrc report error if the source pad is not linked.
13241
13242         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13243         (gst_queue_loop), (gst_queue_handle_src_query),
13244         (gst_queue_src_activate_push):
13245         Make queue collect data even if the srcpad is not linked.
13246         Start pushing out data as soon as it is linked.
13247
13248         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13249         * gst/gstutils.h:
13250         Added gst_flow_get_name() to ease error reporting.
13251
13252 2005-07-20  Wim Taymans  <wim@fluendo.com>
13253
13254         * gst/gstmessage.c: (gst_message_new_segment_start),
13255         (gst_message_new_segment_done), (gst_message_parse_segment_start),
13256         (gst_message_parse_segment_done):
13257         * gst/gstmessage.h:
13258         Added a bunch of messages for advanced seeking.
13259
13260         * gst/parse/grammar.y:
13261         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13262         (gst_dpman_state_changed):
13263         Fix some new-pad -> pad-added signals
13264
13265 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13266
13267         * docs/manual/appendix-porting.xml:
13268         * docs/pwg/appendix-porting.xml:
13269           Document new-pad/state-change signal renames and the FixedList
13270           type rename.
13271
13272 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13273
13274         * docs/manual/advanced-autoplugging.xml:
13275         * docs/manual/basics-helloworld.xml:
13276         * docs/manual/basics-pads.xml:
13277         * docs/random/ds/0.9-suggested-changes:
13278         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13279         * gst/gstelement.h:
13280         * gst/gstevent.h:
13281         * gst/gstformat.h:
13282         * gst/gstquery.h:
13283         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13284         (gst_structure_parse_array), (gst_structure_parse_value):
13285         * gst/gstvalue.c: (gst_type_is_fixed),
13286         (gst_value_list_prepend_value), (gst_value_list_append_value),
13287         (gst_value_list_get_size), (gst_value_list_get_value),
13288         (gst_value_transform_array_string), (gst_value_serialize_array),
13289         (gst_value_deserialize_array), (gst_value_intersect_array),
13290         (gst_value_is_fixed), (_gst_value_initialize):
13291         * gst/gstvalue.h:
13292           GstElement::new-pad -> pad-added, GstElement::state-change ->
13293           state-changed, GstValueFixedList -> GstValueArray, add format and
13294           flags as their own arguments in gst_element_seek() (should improve
13295           "bindeability"), remove function generators since they don't work
13296           under a whole bunch of compilers (they were deprecated already
13297           anyway).
13298
13299 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13300
13301         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13302         (_gst_debug_register_funcptr):
13303         * gst/gstinfo.h:
13304           Fix illegal cast on some platforms (#309253).
13305
13306 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13307
13308         * gst/gstmessage.c: (gst_message_new_custom):
13309         * gst/gstmessage.h:
13310           Add _new_custom, make _new_application a macro to _new_custom.
13311
13312 2005-07-20  Wim Taymans  <wim@fluendo.com>
13313
13314         * gst/base/gstbasesrc.c: (gst_base_src_init),
13315         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13316         * gst/base/gstbasesrc.h:
13317         Add a gboolean to decide when to push out a discont.
13318
13319         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13320         (gst_queue_loop), (gst_queue_handle_src_query),
13321         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13322         (gst_queue_set_property), (gst_queue_get_property):
13323         Some cleanups.
13324
13325         * tests/threadstate/threadstate1.c: (main):
13326         Make a thread test compile and run... very silly..
13327
13328
13329 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13330
13331         * docs/manual/appendix-porting.xml:
13332           Mention removal of libgstgconf-0.9.la and existence of gconf
13333           elements.
13334
13335 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13336
13337         * docs/pwg/advanced-clock.xml:
13338         * docs/pwg/appendix-porting.xml:
13339         * docs/pwg/intro-preface.xml:
13340         * docs/pwg/other-base.xml:
13341         * docs/pwg/other-manager.xml:
13342         * docs/pwg/other-nton.xml:
13343         * docs/pwg/other-ntoone.xml:
13344         * docs/pwg/other-oneton.xml:
13345         * docs/pwg/pwg.xml:
13346           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13347           demuxer), remove n-to-n (was never written), fix some code examples
13348           and links and update the porting section to include all this.
13349
13350 2005-07-19  Wim Taymans  <wim@fluendo.com>
13351
13352         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13353         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13354         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13355         (gst_queue_src_activate_push), (gst_queue_change_state),
13356         (gst_queue_get_property):
13357         * gst/gstqueue.h:
13358         Propagate GstFlowReturn more intelligently upstream and output
13359         an ERROR/EOS when streaming stopped due to fatal error.
13360
13361 2005-07-19  Wim Taymans  <wim@fluendo.com>
13362
13363         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13364         Don't block forever for the state change to complete, the
13365         pipeline already did with a sensible timeout.
13366
13367 2005-07-19  Wim Taymans  <wim@fluendo.com>
13368
13369         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13370         Make sure we never call the create function is we
13371         got deactivated.
13372
13373 2005-07-19  Andy Wingo  <wingo@pobox.com>
13374
13375         * gst/parse/parse.l: Attempt to solve bug #172815.
13376
13377 2005-07-19  Wim Taymans  <wim@fluendo.com>
13378
13379         * docs/design/part-clocks.txt:
13380         * docs/design/part-events.txt:
13381         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13382         Small docs updates.
13383         Only update the seeking values when we are not
13384         busy streaming.
13385
13386 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13387
13388         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13389           Oops, ignore the result of gst_pad_push_event here.
13390
13391 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13392
13393         * gst/base/gstbasesrc.c: (gst_base_src_loop),
13394         (gst_base_src_activate_push):
13395           Send discont event from the loop function, as pads
13396           aren't activated yet in the activate_push handler.
13397
13398         * gst/gstbin.c: (bin_bus_handler):
13399           Don't leak element name.
13400
13401 2005-07-18  Andy Wingo  <wingo@pobox.com>
13402
13403         * configure.ac: Use AS_LIBTOOL_TAGS.
13404
13405 2005-07-18  Wim Taymans  <wim@fluendo.com>
13406
13407         * docs/gst/gstreamer.types:
13408         Remove deleted types.
13409
13410 2005-07-18  Wim Taymans  <wim@fluendo.com>
13411
13412         * check/elements/gstfakesrc.c: (GST_START_TEST):
13413         * configure.ac:
13414         * gst/Makefile.am:
13415         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13416         (init_popt_callback):
13417         * gst/gst.h:
13418         * gst/gst_private.h:
13419         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13420         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13421         * gst/gstbin.h:
13422         * gst/gstbus.h:
13423         * gst/gstconfig.h.in:
13424         * gst/gstelement.c: (gst_element_class_init),
13425         (gst_element_set_base_time), (gst_element_get_base_time),
13426         (iterator_fold_with_resync), (gst_element_change_state),
13427         (gst_element_dispose), (gst_element_get_bus):
13428         * gst/gstelement.h:
13429         * gst/gstelementfactory.h:
13430         * gst/gsterror.c: (_gst_core_errors_init):
13431         * gst/gsterror.h:
13432         * gst/gstevent.h:
13433         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13434         * gst/gstindex.c:
13435         * gst/gstinfo.c: (_gst_debug_init):
13436         * gst/gstmessage.c: (_gst_message_copy):
13437         * gst/gstmessage.h:
13438         * gst/gstminiobject.h:
13439         * gst/gstobject.c:
13440         * gst/gstobject.h:
13441         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13442         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13443         * gst/gstpad.h:
13444         * gst/gstparse.h:
13445         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13446         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13447         (gst_pipeline_get_last_stream_time):
13448         * gst/gstpipeline.h:
13449         * gst/gstpluginfeature.h:
13450         * gst/gstquery.h:
13451         * gst/gstscheduler.c:
13452         * gst/gstscheduler.h:
13453         * gst/gststructure.h:
13454         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13455         (gst_task_finalize), (gst_task_func), (gst_task_create),
13456         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
13457         (gst_task_stop), (gst_task_pause):
13458         * gst/gsttask.h:
13459         * gst/gsttypefind.h:
13460         * gst/gsttypes.h:
13461         * gst/registries/gstlibxmlregistry.c: (load_feature),
13462         (gst_xml_registry_load), (gst_xml_registry_save_feature):
13463         * gst/registries/gstxmlregistry.c:
13464         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
13465         * gst/schedulers/threadscheduler.c:
13466         * libs/gst/control/dparammanager.h:
13467         * tools/gst-inspect.c: (print_element_list),
13468         (print_plugin_features), (print_element_features):
13469         * tools/gst-xmlinspect.c: (print_element_list),
13470         (print_plugin_info), (main):
13471         Removed plugable schedulers.
13472         Removed Scheduler/Manager from elements.
13473         Removed gsttypes.h, rearranged includes.
13474         Removed dependency pad<->element, element<>pipeline, and
13475         various others,  fix includes.
13476         implement gst_pad_get_parent() with gst_object_get_parent()
13477         Make GstTask sefcontained.
13478         Fix _get_state() on GstBin, it did not return ASYNC with a 0
13479         timeout.
13480         Fix endless loop in iterator_fold_with_resync.
13481
13482
13483 2005-07-18  Wim Taymans  <wim@fluendo.com>
13484
13485         * gst/Makefile.am:
13486         * gst/gstarch.h:
13487         Remove old file.
13488
13489 2005-07-18  Wim Taymans  <wim@fluendo.com>
13490
13491         * gst/Makefile.am:
13492         No more cothreads.h
13493
13494 2005-07-18  Wim Taymans  <wim@fluendo.com>
13495
13496         * gst/cothreads.c:
13497         * gst/cothreads.h:
13498         Let's remove these.
13499
13500 2005-07-18  Wim Taymans  <wim@fluendo.com>
13501
13502         * docs/design/part-dynamic.txt:
13503         * docs/design/part-events.txt:
13504         * docs/design/part-seeking.txt:
13505         Some more docs in the works.
13506
13507         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13508         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
13509         (gst_base_transform_setcaps), (gst_base_transform_get_size),
13510         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13511         (gst_base_transform_handle_buffer),
13512         (gst_base_transform_sink_activate_push),
13513         (gst_base_transform_src_activate_pull),
13514         (gst_base_transform_set_passthrough),
13515         (gst_base_transform_is_passthrough):
13516         Refcounting fixes.
13517
13518         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
13519         Cleanups.
13520
13521         * gst/gstevent.c: (gst_event_finalize):
13522         Set SRC to NULL.
13523
13524         * gst/gstutils.c: (gst_element_unlink),
13525         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
13526         (gst_pad_proxy_setcaps):
13527         * gst/gstutils.h:
13528         Add _get_parent_element() to get a pads parent as an element.
13529
13530 2005-07-18  Wim Taymans  <wim@fluendo.com>
13531
13532         * check/gst/gstbin.c: (GST_START_TEST):
13533         Remove bogus test.
13534
13535 2005-07-18  Wim Taymans  <wim@fluendo.com>
13536
13537         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13538         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13539         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13540         (gst_base_sink_event), (gst_base_sink_do_sync),
13541         (gst_base_sink_chain), (gst_base_sink_loop),
13542         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
13543         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13544         Refcounting fixes.
13545         Fix logic for returning ASYNC when not prerolled.
13546
13547 2005-07-18  Wim Taymans  <wim@fluendo.com>
13548
13549         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13550         Fix nasty refcount bug.
13551
13552 2005-07-16 Philippe Khalaf <burger@speedy.org>
13553
13554         * gst/elements/gstfdsrc.c:
13555         * gst/elements/gstfdsrc.h:
13556         * gst/elements/gstelements.c:
13557         * gst/elements/Makefile.am:
13558         Ported fdsrc to 0.9.
13559
13560 2005-07-16  Wim Taymans  <wim@fluendo.com>
13561
13562         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13563         (gst_base_sink_do_sync):
13564         Fix compile error.
13565
13566 2005-07-16  Wim Taymans  <wim@fluendo.com>
13567
13568         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13569         (gst_base_sink_event), (gst_base_sink_get_times),
13570         (gst_base_sink_do_sync), (gst_base_sink_change_state):
13571         * gst/base/gstbasesink.h:
13572         Store and use discont values when syncing buffers as described
13573         in design docs.
13574         
13575         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13576         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
13577         (gst_base_src_activate_push):
13578         Push discont event when starting.
13579
13580         * gst/elements/gstidentity.c: (gst_identity_transform):
13581         Small cleanups.
13582
13583         * gst/gstbin.c: (gst_bin_change_state):
13584         Small cleanups in base_time  distribution.
13585
13586         * gst/gstelement.c: (gst_element_set_base_time),
13587         (gst_element_get_base_time), (gst_element_change_state):
13588         * gst/gstelement.h:
13589         Added methods for the base_time of the element.
13590         Some MT fixes.
13591
13592         * gst/gstpipeline.c: (gst_pipeline_send_event),
13593         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13594         (gst_pipeline_get_last_stream_time):
13595         * gst/gstpipeline.h:
13596         MT fixes.
13597         Handle seeking as described in design doc, remove stream_time
13598         hack.
13599         Cleanups clock and stream_time selection code. Added accessors
13600         for the stream_time.
13601         
13602
13603 2005-07-16  Andy Wingo  <wingo@pobox.com>
13604
13605         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
13606         (#305291).
13607
13608 2005-07-16  Wim Taymans  <wim@fluendo.com>
13609
13610         * check/gst/gstbin.c: (GST_START_TEST):
13611         Make elements silent as the deep_notify refs the
13612         parent, which might make the test fail.
13613
13614         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13615         Don't hold the lock for too long.
13616
13617 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
13618
13619         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13620           Don't unref the caps we passed to gst_caps_make_writable() after
13621           passing them. gst_caps_make_writable() will do that for us.
13622
13623 2005-07-15  Andy Wingo  <wingo@pobox.com>
13624
13625         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
13626         (#157311).
13627
13628         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
13629         own marshalling function for the handoff signal. Properly type the
13630         buffer as a buffer. Fixes some warnings. Should do a more general
13631         solution.
13632         (gst_identity_class_init): Plug into the right marshaller.
13633
13634 2005-07-15  Wim Taymans  <wim@fluendo.com>
13635
13636         * docs/design/part-TODO.txt:
13637         * docs/design/part-clocks.txt:
13638         * docs/design/part-element-sink.txt:
13639         * docs/design/part-events.txt:
13640         * docs/design/part-gstpipeline.txt:
13641         Updated docs, mostly DISCONT related.
13642
13643 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
13644
13645         * docs/pwg/building-pads.xml:
13646           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
13647
13648 2005-07-15  Andy Wingo  <wingo@pobox.com>
13649
13650         * tools/gst-typefind.c: Update, add copyright block.
13651
13652         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
13653         Normalize and truncate caps before fixation.
13654
13655         * gst/gstcaps.h:
13656         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
13657         discards all but the first structure from its argument.
13658
13659 2005-07-15  Wim Taymans  <wim@fluendo.com>
13660
13661         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13662         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
13663         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13664         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13665         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
13666         (gst_base_transform_chain), (gst_base_transform_change_state),
13667         (gst_base_transform_set_passthrough),
13668         (gst_base_transform_is_passthrough):
13669         * gst/base/gstbasetransform.h:
13670         Make passthrough work using the bufferpools.
13671         Changed API a bit, subclasses have to write into a buffer
13672         provided by the base class.
13673         More debug info in nego functions.
13674         
13675         * gst/elements/gstidentity.c: (gst_identity_init),
13676         (gst_identity_transform):
13677         Port to new base class.
13678
13679 2005-07-15  Wim Taymans  <wim@fluendo.com>
13680
13681         * gst/gstmessage.c: (gst_message_new_state_changed):
13682         * tools/gst-launch.c: (event_loop), (main):
13683         Totally dump messages in -launch with the -m option.
13684         Fix message name for State messages,
13685
13686 2005-07-14  Wim Taymans  <wim@fluendo.com>
13687
13688         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13689         Post error messages on errors.
13690
13691 2005-07-14  Wim Taymans  <wim@fluendo.com>
13692
13693         * gst/gstcaps.c: (gst_caps_do_simplify):
13694         Remove debug info.
13695
13696         * gst/gsterror.h:
13697         Define error for stream stopped.
13698
13699         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13700         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
13701         Do proper return values.
13702
13703         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13704         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
13705         (gst_pad_get_range):
13706         Better return values.
13707
13708         * gst/gstpad.h:
13709         Reorganise return values, add macro to check for fatal errors.
13710
13711         * gst/gstqueue.c: (gst_queue_chain):
13712         Return proper GstFlowReturn values,
13713
13714 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13715
13716         * docs/gst/gstreamer-sections.txt:
13717         * docs/gst/gstreamer.types:
13718         * docs/gst/tmpl/gst.sgml:
13719         * docs/gst/tmpl/gstbasesink.sgml:
13720         * docs/gst/tmpl/gstbasesrc.sgml:
13721         * docs/gst/tmpl/gstbasetransform.sgml:
13722         * docs/gst/tmpl/gstbin.sgml:
13723         * docs/gst/tmpl/gstbuffer.sgml:
13724         * docs/gst/tmpl/gstcaps.sgml:
13725         * docs/gst/tmpl/gstclock.sgml:
13726         * docs/gst/tmpl/gstcompat.sgml:
13727         * docs/gst/tmpl/gstconfig.sgml:
13728         * docs/gst/tmpl/gstelement.sgml:
13729         * docs/gst/tmpl/gstelementdetails.sgml:
13730         * docs/gst/tmpl/gstelementfactory.sgml:
13731         * docs/gst/tmpl/gstenumtypes.sgml:
13732         * docs/gst/tmpl/gsterror.sgml:
13733         * docs/gst/tmpl/gstevent.sgml:
13734         * docs/gst/tmpl/gstfakesink.sgml:
13735         * docs/gst/tmpl/gstfakesrc.sgml:
13736         * docs/gst/tmpl/gstfilesink.sgml:
13737         * docs/gst/tmpl/gstfilesrc.sgml:
13738         * docs/gst/tmpl/gstfilter.sgml:
13739         * docs/gst/tmpl/gstformat.sgml:
13740         * docs/gst/tmpl/gstghostpad.sgml:
13741         * docs/gst/tmpl/gstimplementsinterface.sgml:
13742         * docs/gst/tmpl/gstindex.sgml:
13743         * docs/gst/tmpl/gstindexfactory.sgml:
13744         * docs/gst/tmpl/gstinfo.sgml:
13745         * docs/gst/tmpl/gstiterator.sgml:
13746         * docs/gst/tmpl/gstmacros.sgml:
13747         * docs/gst/tmpl/gstmemchunk.sgml:
13748         * docs/gst/tmpl/gstminiobject.sgml:
13749         * docs/gst/tmpl/gstobject.sgml:
13750         * docs/gst/tmpl/gstpad.sgml:
13751         * docs/gst/tmpl/gstpadtemplate.sgml:
13752         * docs/gst/tmpl/gstparse.sgml:
13753         * docs/gst/tmpl/gstpipeline.sgml:
13754         * docs/gst/tmpl/gstplugin.sgml:
13755         * docs/gst/tmpl/gstpluginfeature.sgml:
13756         * docs/gst/tmpl/gstquery.sgml:
13757         * docs/gst/tmpl/gstqueue.sgml:
13758         * docs/gst/tmpl/gstregistry.sgml:
13759         * docs/gst/tmpl/gstregistrypool.sgml:
13760         * docs/gst/tmpl/gstscheduler.sgml:
13761         * docs/gst/tmpl/gstschedulerfactory.sgml:
13762         * docs/gst/tmpl/gststructure.sgml:
13763         * docs/gst/tmpl/gstsystemclock.sgml:
13764         * docs/gst/tmpl/gsttaglist.sgml:
13765         * docs/gst/tmpl/gsttagsetter.sgml:
13766         * docs/gst/tmpl/gsttrace.sgml:
13767         * docs/gst/tmpl/gsttrashstack.sgml:
13768         * docs/gst/tmpl/gsttypefind.sgml:
13769         * docs/gst/tmpl/gsttypefindfactory.sgml:
13770         * docs/gst/tmpl/gsttypes.sgml:
13771         * docs/gst/tmpl/gsturihandler.sgml:
13772         * docs/gst/tmpl/gsturitype.sgml:
13773         * docs/gst/tmpl/gstutils.sgml:
13774         * docs/gst/tmpl/gstvalue.sgml:
13775         * docs/gst/tmpl/gstversion.sgml:
13776         * docs/gst/tmpl/gstxml.sgml:
13777         * docs/libs/tmpl/gstcontrol.sgml:
13778         * docs/libs/tmpl/gstdataprotocol.sgml:
13779         * docs/libs/tmpl/gstdparam.sgml:
13780         * docs/libs/tmpl/gstdplinint.sgml:
13781         * docs/libs/tmpl/gstdpman.sgml:
13782         * docs/libs/tmpl/gstdpsmooth.sgml:
13783         * docs/libs/tmpl/gstgetbits.sgml:
13784         * docs/libs/tmpl/gstunitconvert.sgml:
13785         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
13786         (gst_push_src_base_init), (gst_push_src_class_init),
13787         (gst_push_src_init), (gst_push_src_create):
13788         * gst/base/gstpushsrc.h:
13789         * gst/elements/gstelements.c:
13790         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
13791         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
13792         (gst_fake_sink_init), (gst_fake_sink_set_property),
13793         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
13794         (gst_fake_sink_event), (gst_fake_sink_preroll),
13795         (gst_fake_sink_render), (gst_fake_sink_change_state):
13796         * gst/elements/gstfakesink.h:
13797         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13798         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13799         (gst_fake_src_base_init), (gst_fake_src_class_init),
13800         (gst_fake_src_init), (gst_fake_src_event_handler),
13801         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
13802         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
13803         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
13804         (gst_fake_src_create_buffer), (gst_fake_src_create),
13805         (gst_fake_src_start), (gst_fake_src_stop):
13806         * gst/elements/gstfakesrc.h:
13807         * gst/elements/gstfilesink.c: (_do_init),
13808         (gst_file_sink_base_init), (gst_file_sink_class_init),
13809         (gst_file_sink_init), (gst_file_sink_dispose),
13810         (gst_file_sink_set_location), (gst_file_sink_set_property),
13811         (gst_file_sink_get_property), (gst_file_sink_open_file),
13812         (gst_file_sink_close_file), (gst_file_sink_query),
13813         (gst_file_sink_event), (gst_file_sink_render),
13814         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
13815         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
13816         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
13817         * gst/elements/gstfilesink.h:
13818         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
13819         (gst_file_src_class_init), (gst_file_src_init),
13820         (gst_file_src_finalize), (gst_file_src_set_location),
13821         (gst_file_src_set_property), (gst_file_src_get_property),
13822         (gst_file_src_map_region), (gst_file_src_map_small_region),
13823         (gst_file_src_create_mmap), (gst_file_src_create_read),
13824         (gst_file_src_create), (gst_file_src_is_seekable),
13825         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
13826         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
13827         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
13828         (gst_file_src_uri_handler_init):
13829         * gst/elements/gstfilesrc.h:
13830           more autistic cleanliness in functions/names/defines
13831
13832 2005-07-13  Andy Wingo  <wingo@pobox.com>
13833
13834         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
13835         source couldn't negotiate.
13836
13837         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
13838         connections again.
13839
13840         * gst/gstutils.h:
13841         * gst/gstutils.c (gst_element_link_pads_filtered): New old
13842         function. I am channeling Hades. Put your boots on suckers!!!
13843
13844 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13845
13846         * testsuite/caps/Makefile.am:
13847         * testsuite/caps/value_compare.c:
13848         * testsuite/caps/value_intersect.c:
13849         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13850           move two testsuite apps over to the check dir
13851
13852 2005-07-12  Wim Taymans  <wim@fluendo.com>
13853
13854         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13855         Added more debug info in the negotiate process.
13856
13857         * gst/gstmessage.h:
13858         Prepare for segment playback.
13859
13860         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
13861         Better debugging.
13862
13863         * gst/gstutils.c:
13864         Some more docs.
13865
13866         * tools/gst-launch.c: (main):
13867         NULL pipeline on errors.
13868
13869 2005-07-12  Andy Wingo  <wingo@pobox.com>
13870
13871         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
13872         not it comes from a malloc region. Make sure our copy gets freed.
13873
13874 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13875
13876         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13877         * check/gst/gstmessage.c: (GST_START_TEST):
13878         * check/gst/gststructure.c: (GST_START_TEST),
13879         (gst_structure_suite), (main):
13880           more testing
13881         * gst/gstelement.c: (gst_element_message_full):
13882           clean up GError and debug string now that they get copied
13883         * gst/gstmessage.c: (gst_message_new_error),
13884         (gst_message_new_warning), (gst_message_parse_error),
13885         (gst_message_parse_warning):
13886           use GST_TYPE_G_ERROR for structure_new, and take copies of
13887           arguments, so that we don't mess up refcounting
13888
13889 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13890
13891         * check/Makefile.am:
13892           add per-test valgrind targets
13893         * check/gst-libs/gdp.c: (GST_START_TEST),
13894         (gst_data_protocol_suite), (main):
13895           clean up
13896
13897 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13898
13899         * check/Makefile.am:
13900           instate more valgrindable tests
13901         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13902         (GST_START_TEST), (fakesrc_suite):
13903         * check/gst/gstpad.c: (GST_START_TEST):
13904         * check/gst/gststructure.c: (GST_START_TEST):
13905           fix test leaks
13906         * docs/gst/tmpl/gstminiobject.sgml:
13907         * gst/gstpad.c: (gst_pad_finalize):
13908           fix the static mutex leak
13909
13910 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13911
13912         * check/Makefile.am:
13913           add two more tests for valgrinding
13914         * check/gst/gstvalue.c: (GST_START_TEST):
13915           test refcount of deserialized buffer, found a leak
13916         * docs/gst/gstreamer-docs.sgml:
13917         * docs/gst/gstreamer-sections.txt:
13918         * docs/gst/gstreamer.types:
13919         * docs/gst/tmpl/gstminiobject.sgml:
13920           add miniobject to docs
13921         * gst/gstminiobject.c:
13922           add some docs
13923         * gst/gstvalue.c: (gst_value_deserialize_buffer),
13924         (gst_string_unwrap):
13925           fix a hard-to-find invalid write for one of the tests
13926           fix a leak for deserialized buffers
13927
13928 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13929
13930         * docs/pwg/advanced-events.xml:
13931         * docs/pwg/advanced-request.xml:
13932         * docs/pwg/advanced-scheduling.xml:
13933         * docs/pwg/appendix-porting.xml:
13934         * docs/pwg/building-boiler.xml:
13935         * docs/pwg/intro-preface.xml:
13936         * docs/pwg/other-ntoone.xml:
13937           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
13938           of example code and explanation for pad activation, loop() and
13939           getrange() functions and a bit more. Remove old comments pointing
13940           to loop-functions.
13941         * examples/pwg/Makefile.am:
13942           Add loop/getrange examples.
13943
13944 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13945
13946         * configure.ac:
13947           check for valgrind binary + some fixes
13948         * check/gst.supp:
13949           valgrind suppressions for the tests
13950         * check/Makefile.am:
13951           add a valgrind: target that valgrinds the unit tests
13952         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
13953         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
13954         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
13955         * check/gst/gstghostpad.c:
13956           added some cleanup
13957         * check/gst/gstdata.c:
13958           removed
13959         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
13960         (thread_unref), (gst_mini_object_suite), (main):
13961           added
13962         * gst/gst.c: (gst_deinit):
13963         * gst/gst.h:
13964           add a method to clean up.
13965         * gst/gstsystemclock.c: (gst_system_clock_dispose),
13966         (gst_system_clock_obtain):
13967           allow for disposing the system clock.
13968         * tools/gst-launch.c: (main):
13969           deinit
13970
13971 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13972
13973         * docs/gst/tmpl/gstbasesrc.sgml:
13974         * docs/gst/tmpl/gstfakesrc.sgml:
13975         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13976         (gst_base_src_init), (gst_base_src_set_property),
13977         (gst_base_src_get_property), (gst_base_src_get_range),
13978         (gst_base_src_start):
13979         * gst/base/gstbasesrc.h:
13980           add num-buffers property
13981         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
13982         (gst_fakesrc_init), (gst_fakesrc_set_property),
13983         (gst_fakesrc_get_property), (gst_fakesrc_create),
13984         (gst_fakesrc_start):
13985           remove num-buffers property
13986
13987 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
13988
13989         * docs/gst/gstreamer-sections.txt:
13990         * docs/gst/tmpl/gstbasesink.sgml:
13991         * docs/gst/tmpl/gstbasesrc.sgml:
13992         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13993         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13994         (gst_base_sink_finalize), (gst_base_sink_set_clock),
13995         (gst_base_sink_set_property), (gst_base_sink_get_property),
13996         (gst_base_sink_handle_object), (gst_base_sink_event),
13997         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
13998         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
13999         (gst_base_sink_loop), (gst_base_sink_deactivate),
14000         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14001         (gst_base_sink_change_state):
14002         * gst/base/gstbasesink.h:
14003         * gst/base/gstbasesrc.h:
14004         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14005         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14006         (gst_filesink_init):
14007           more macro splitting
14008
14009 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14010
14011         * gst/gstelement.c: (gst_element_get_bus):
14012           add debug
14013         * tools/gst-launch.c: (check_intr), (event_loop):
14014           fix bus leaks
14015
14016 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14017
14018         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14019           fix a caps leak
14020
14021 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14022
14023         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14024         (gst_base_src_finalize):
14025           add finalize method and clean up properly
14026         * gst/gstpipeline.c: (gst_pipeline_dispose):
14027           add debug
14028
14029 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14030
14031         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14032         (gst_bin_suite):
14033           add more things to check
14034         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14035         * gst/gstelement.c:
14036           more debug
14037
14038 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14039
14040         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14041         (GST_START_TEST), (fakesrc_suite):
14042         * check/gst-libs/gdp.c: (GST_START_TEST):
14043         * check/gst/gst.c: (GST_START_TEST):
14044         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14045         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14046         * check/gst/gstbus.c: (GST_START_TEST):
14047         * check/gst/gstcaps.c: (GST_START_TEST):
14048         * check/gst/gstdata.c: (GST_START_TEST):
14049         * check/gst/gstelement.c: (GST_START_TEST):
14050         * check/gst/gstghostpad.c: (GST_START_TEST):
14051         * check/gst/gstiterator.c: (GST_START_TEST):
14052         * check/gst/gstmessage.c: (GST_START_TEST):
14053         * check/gst/gstobject.c: (GST_START_TEST):
14054         * check/gst/gstpad.c: (GST_START_TEST):
14055         * check/gst/gststructure.c: (GST_START_TEST):
14056         * check/gst/gstsystemclock.c: (GST_START_TEST),
14057         (gst_systemclock_suite):
14058         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14059         * check/gst/gstvalue.c: (GST_START_TEST):
14060         * check/pipelines/cleanup.c: (GST_START_TEST):
14061         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14062         * check/states/sinks.c: (GST_START_TEST):
14063         * check/gstcheck.c: (gst_check_init):
14064         * check/gstcheck.h:
14065           add debugging category
14066           use GST_START_TEST now, so we add a debug line
14067
14068 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14069
14070         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14071           add test for state change message on a bin
14072         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14073           add another test
14074         * gst/gstbin.c: (gst_bin_init):
14075         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14076         * gst/gstelement.c: (gst_element_post_message),
14077         (gst_element_set_state):
14078         * gst/gstelementfactory.c: (gst_element_factory_create):
14079         * gst/gstmessage.c: (gst_message_new):
14080         * gst/gstscheduler.c:
14081           various debugging additions and cleanups
14082
14083 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14084
14085         * check/Makefile.am:
14086         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14087         (main):
14088           adding tests for elements
14089         * gst/gstelement.c: (gst_element_dispose):
14090
14091 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14092
14093         * gst/registries/gstlibxmlregistry.c: (load_feature):
14094           plug more leaks.  A simple gst_init() now is leakfree, yay.
14095
14096 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14097
14098         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14099         (gst_xml_registry_load):
14100           plug another memleak
14101
14102 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14103
14104         * configure.ac:
14105           use GST_SET_ERROR_CFLAGS
14106         * docs/faq/cvs.xml:
14107           change to ERROR_CFLAGS
14108
14109 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14110
14111         * configure.ac:
14112           make GST_ERROR_CFLAGS overridable and re-enable Werror
14113         * docs/faq/cvs.xml:
14114           add a note about error CFLAGS
14115         * docs/gst/tmpl/gstfakesrc.sgml:
14116         * gst/elements/gstfakesrc.c:
14117           comment out some unused code
14118         * gst/gst.c: (split_and_iterate):
14119         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14120         (load_feature):
14121           plug some memleaks
14122
14123 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14124
14125         * common/Makefile.am:
14126         * common/gtk-doc.mak:
14127         * docs/gst/Makefile.am:
14128           factor out gtk-doc.mak
14129
14130 2005-07-07  Wim Taymans  <wim@fluendo.com>
14131
14132         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14133         (gst_thread_scheduler_dispose):
14134         Unlock the STREAM_LOCK completely.
14135
14136 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14137
14138         * check/Makefile.am:
14139         * check/elements/.cvsignore:
14140         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14141         (START_TEST), (fakesrc_suite), (main):
14142         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14143         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14144         (gst_fakesrc_create), (gst_fakesrc_start):
14145         * gst/elements/gstfakesrc.h:
14146           adding a first element test
14147
14148 2005-07-07  Andy Wingo  <wingo@pobox.com>
14149
14150         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14151         debug message.
14152
14153 2005-07-07  Wim Taymans  <wim@fluendo.com>
14154
14155         * gst/gstquery.c:
14156         * gst/gstquery.h:
14157         Remove old types
14158
14159 2005-07-07  Wim Taymans  <wim@fluendo.com>
14160
14161         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14162         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14163         Allow subclasses to implement their own negotiation.
14164
14165 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14166
14167         * docs/design/part-gstbin.txt:
14168         * docs/design/part-gstpipeline.txt:
14169           Update design notes to reflect the movement of
14170           responsibility for bus handling from GstPipeline to
14171           GstBin
14172
14173 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14174
14175         * configure.ac:
14176           Remove unnecessary queue2/3/4 examples.
14177
14178 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14179
14180         * examples/Makefile.am:
14181         * examples/helloworld/helloworld.c: (event_loop), (main):
14182         * examples/queue/queue.c: (event_loop), (main):
14183         * examples/queue2/queue2.c: (main):
14184           Update a couple of the examples to work again.
14185
14186         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14187         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14188          Spelling corrections and extra debug.
14189         
14190         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14191         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14192         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14193         * gst/gstbin.h:
14194         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14195         (gst_pipeline_change_state):
14196         * gst/gstpipeline.h:
14197           Move the bus handler for children to the GstBin, and create a
14198           separate bus for receiving messages from children to the one the
14199           bus sends 'upwards' on.
14200
14201 2005-07-06  Wim Taymans  <wim@fluendo.com>
14202
14203         * gst/base/README:
14204         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14205         (gst_base_sink_handle_object), (gst_base_sink_loop),
14206         (gst_base_sink_change_state):
14207         * gst/base/gstbasesink.h:
14208         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14209         (gst_base_src_init), (gst_base_src_setcaps),
14210         (gst_base_src_getcaps), (gst_base_src_loop),
14211         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14212         (gst_base_src_start), (gst_base_src_change_state):
14213         * gst/base/gstbasesrc.h:
14214         Make basesrc negotiate.
14215         Handle the case where preroll fails in basesink.
14216         Update README.
14217
14218 2005-07-06  Wim Taymans  <wim@fluendo.com>
14219
14220         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14221         Implement the fixate function.
14222         Clean up acceptcaps.
14223
14224 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14225
14226         * docs/pwg/building-filterfactory.xml:
14227         * docs/pwg/pwg.xml:
14228           Remove never-written filter-factory chapter; I'll add the various
14229           base classes to part 4 ("other element types") later on.
14230
14231 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14232
14233         * docs/pwg/advanced-negotiation.xml:
14234         * docs/pwg/building-boiler.xml:
14235         * docs/pwg/building-pads.xml:
14236         * docs/pwg/pwg.xml:
14237         * examples/pwg/Makefile.am:
14238           Add a chapter on caps negotiation, simplify the original code
14239           samples a bit w.r.t. caps negotiation, add link to the advanced
14240           section. Add a bunch of examples showing different use cases of
14241           different types of caps negotiation. Upstream renegotiation isn't
14242           fully documented yet since nobody knows how that works.
14243
14244 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14245
14246         * check/gst/gstpad.c:
14247         * check/gstcheck.c:
14248         * gst/gstpad.c: (gst_pad_get_internal_links_default):
14249           if pad has no parent, return NULL as list of internal links
14250
14251 2005-07-05  Andy Wingo  <wingo@pobox.com>
14252
14253         * gst/elements/gstfilesrc.c:
14254         * gst/elements/gstfakesrc.c: 
14255         * gst/base/gstpushsrc.c:
14256         * gst/base/gstbasesrc.h: 
14257         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14258         
14259 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
14260
14261         * Makefile.am:
14262           better report generation target (lcov needs a patch)
14263
14264 2005-07-05  Andy Wingo  <wingo@pobox.com>
14265
14266         * gst/elements, testsuite: Null if we got it...
14267
14268 2005-07-05  Wim Taymans  <wim@fluendo.com>
14269
14270         * configure.ac:
14271         * libs/gst/dataprotocol/Makefile.am:
14272         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14273         * libs/gst/dataprotocol/dataprotocol.h:
14274         * pkgconfig/Makefile.am:
14275         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14276         * pkgconfig/gstreamer-dataprotocol.pc.in:
14277         Ported dataprotol to 0.9. 
14278         Added pkgconfig files.
14279
14280 2005-07-05  Andy Wingo  <wingo@pobox.com>
14281
14282         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14283         Default to returning TRUE for the case when tranform_caps returns
14284         a fixed caps, like for identity or volume.
14285
14286         * check/gst/gstbus.c (pound_bus_with_messages): 
14287         * check/gst/gstmessage.c (START_TEST): 
14288         * check/pipelines/simple_launch_lines.c (got_handoff): Application
14289         message API change.
14290
14291         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14292         logic weaks here: always run transform_caps, trying passthrough
14293         operation only if the original caps intersects with the transform.
14294
14295         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14296         source and sink caps.
14297
14298         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14299         Intersect the peer caps with the pad template before going into
14300         transform_caps.
14301         (gst_base_transform_transform_caps): More debugging.
14302
14303         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14304         src argument.
14305
14306 2005-07-04  Edward Hervey  <edward@fluendo.com>
14307
14308         * gst/gstutils.c:
14309         * gst/gstutils.h:
14310         (gst_pad_add_*_probe): now returns the signal id for better wrapping
14311         in bindings.
14312
14313 2005-07-04  Andy Wingo  <wingo@pobox.com>
14314
14315         * check/gst/gstpad.c: Only set explicit caps on pads.
14316
14317 2005-07-01  Andy Wingo  <wingo@pobox.com>
14318
14319         * tests/network-clock.scm: Commentary update.
14320
14321         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14322         Didn't really make sense, not implementable with basetransform,
14323         etc.
14324         (gst_identity_transform): Unref inbuf via make_writable. Feeble
14325         attempt at implementing the sync property, needs an unlock method.
14326
14327         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14328         New func, by default returns the same caps (the identity
14329         transformation).
14330         (gst_base_transform_getcaps): Uses transform_caps to return
14331         something sensible.
14332         (gst_base_transform_setcaps): Complicated logic to get caps on
14333         both pads, even if they are different, and to call set_caps once
14334         for every time both pads get their caps set.
14335         (gst_base_transform_handle_buffer): Give the ref to the transform
14336         function. Allows in-place modification of the buffer.
14337
14338         * gst/base/gstbasetransform.h (transform_caps): New class method.
14339         Given caps on one side, what can I do on the other.
14340         (set_caps): Take two caps, one for each side of the element.
14341
14342         * gst/gstpad.h:
14343         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14344         caps in place. This is safe because we can check the mutability of
14345         the caps, and a good idea because fixate functions are just called
14346         as a matter of last resort. (Not actually implemented.)
14347         (gst_pad_set_caps): If the caps we're setting is actually the same
14348         as the existing pad caps, just update the pointer without calling
14349         setcaps. Assert that caps is either NULL or fixed, as per the
14350         docs.
14351
14352         * gst/gstghostpad.c: Update for fixate changes.
14353
14354 2005-07-02  Andy Wingo  <wingo@pobox.com>
14355
14356         * gst/gstcaps.c:
14357         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14358         two refcounts makes it immutable, which is enough. Doc more.
14359
14360 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
14361
14362         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14363           Put the mini_object into GValue as a mini_object,
14364           not a gpointer, since that's how we declared
14365           the signal.
14366
14367 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14368
14369         * examples/pwg/Makefile.am:
14370           Fix buildbot again.
14371
14372 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14373
14374         * docs/pwg/building-testapp.xml:
14375           Add extra check.
14376         * examples/pwg/Makefile.am:
14377           Fix buildbot.
14378
14379 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14380
14381         * configure.ac:
14382         * examples/Makefile.am:
14383         * examples/pwg/Makefile.am:
14384         * examples/pwg/extract.pl:
14385           Enable building the PWG examples.
14386         * docs/pwg/advanced-interfaces.xml:
14387           Add URI interface stub.
14388         * docs/pwg/advanced-types.xml:
14389         * docs/pwg/other-autoplugger.xml:
14390         * docs/pwg/appendix-porting.xml:
14391         * docs/pwg/pwg.xml:
14392           Add porting guide (mostly stubs), remove autoplugging (see ADM).
14393         * docs/pwg/building-boiler.xml:
14394         * docs/pwg/building-chainfn.xml:
14395         * docs/pwg/building-pads.xml:
14396         * docs/pwg/building-props.xml:
14397         * docs/pwg/building-state.xml:
14398         * docs/pwg/building-testapp.xml:
14399           Update the building-*.xml parts for 0.9 changes. All examples
14400           code blocks compile in examples/pwg/*.
14401
14402 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14403
14404         * docs/manual/advanced-autoplugging.xml:
14405         * docs/manual/appendix-checklist.xml:
14406         * docs/manual/appendix-integration.xml:
14407         * docs/manual/highlevel-components.xml:
14408           Fix playbin/decodebin examples, update docs a bit, mention bus
14409           instead of signals in various places, mention kmplayer and
14410           kaffeine since they have a working GStreamer backend in the KDE
14411           section.
14412
14413 2005-06-30  Wim Taymans  <wim@fluendo.com>
14414
14415         * CHANGES-0.9:
14416         * docs/design/draft-ghostpads.txt:
14417         * docs/design/draft-push-pull.txt:
14418         * docs/design/draft-query.txt:
14419         * docs/design/part-TODO.txt:
14420         * docs/design/part-query.txt:
14421         Added CHANGES-0.9 doc, updated status of other docs.
14422         
14423         * gst/gstquery.h:
14424         Remove "hmm" macro
14425
14426 2005-06-30  Wim Taymans  <wim@fluendo.com>
14427
14428         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14429         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14430         (gst_base_sink_change_state):
14431         * gst/base/gstbasesink.h:
14432         Some tweaks, only EOS and a buffer complete a preroll.
14433
14434 2005-06-30  Andy Wingo  <wingo@pobox.com>
14435
14436         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14437         activate_push down to the internal pad as well.
14438
14439 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
14440
14441         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14442
14443         * gst/gsttaginterface.c:
14444           Some documentation fixes (#307394 and #307397).
14445
14446 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
14447
14448         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14449
14450         * gst/gstvalue.c: (gst_value_intersect_list):
14451           Fix memleak (#309125).
14452
14453 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14454
14455         * docs/manual/advanced-dataaccess.xml:
14456           Fix fakesrc example to compile; doesn't work, bug somewhere...?
14457         * docs/manual/basics-pads.xml:
14458           Add reference for filtered caps to above chapter.
14459
14460 2005-06-30  Wim Taymans  <wim@fluendo.com>
14461
14462         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
14463         (gst_bin_change_state):
14464         Probes are gone.
14465         Lame attempt at making the state change function a bit
14466         more readable.
14467
14468 2005-06-30  Wim Taymans  <wim@fluendo.com>
14469
14470         * docs/design/part-clocks.txt:
14471         * docs/design/part-element-sink.txt:
14472         * docs/design/part-events.txt:
14473         * docs/design/part-preroll.txt:
14474         * docs/design/part-states.txt:
14475         Some more tweeks and additions to the docs.
14476
14477 2005-06-30  Wim Taymans  <wim@fluendo.com>
14478
14479         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14480         (default_have_data), (gst_pad_class_init), (gst_pad_init),
14481         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14482         (gst_pad_check_pull_range), (gst_pad_get_range),
14483         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
14484         * gst/gstpad.h:
14485         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
14486         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14487         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14488         (gst_pad_remove_buffer_probe):
14489         Removed atomic operations, use existing LOCK.
14490         Move exception handling out of main code path.
14491
14492 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14493
14494         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14495         (silly_return_true_function), (gst_pad_class_init),
14496         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14497         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
14498         (gst_pad_send_event):
14499           Fix accumulator, add default value by using _emitv() instead
14500           of _emit() for signal emission.
14501
14502 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14503
14504         * docs/manual/advanced-dataaccess.xml:
14505         * examples/manual/Makefile.am:
14506           Add probe example.
14507         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
14508           Make work (??).
14509
14510 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
14511
14512         * gst/elements/gstfilesink.c: (gst_filesink_render):
14513           Simplify code so that we don't have to handle short
14514           writes and return GST_FLOW_ERROR if an error occured.
14515
14516 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14517
14518         * docs/gst/gstreamer-docs.sgml:
14519           Remove probes more.
14520
14521 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14522
14523         * docs/gst/gstreamer-sections.txt:
14524         * docs/gst/tmpl/gstpad.sgml:
14525         * docs/gst/tmpl/gstprobe.sgml:
14526         * gst/Makefile.am:
14527         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14528         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
14529         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14530         (gst_pad_push_event), (gst_pad_send_event):
14531         * gst/gstpad.h:
14532         * gst/gstutils.c: (gst_pad_add_data_probe),
14533         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14534         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14535         (gst_pad_remove_buffer_probe):
14536         * gst/gstutils.h:
14537           Remove old probes, add new g-signal-based probes and some utility
14538           functions.
14539
14540 2005-06-29  Edward Hervey  <edward@fluendo.com>
14541
14542         * gst/gstelementfactory.c:
14543         * gst/gstutils.h:
14544         * gst/gstutils.c:
14545         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
14546         the definition to the header file.
14547
14548 2005-06-29  Andy Wingo  <wingo@pobox.com>
14549
14550         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
14551         plugins from the source directory.
14552
14553 2005-06-29  Wim Taymans  <wim@fluendo.com>
14554
14555         * docs/gst/tmpl/gstbuffer.sgml:
14556         * docs/gst/tmpl/gstclock.sgml:
14557         Some fixings for blantently wrong text.
14558
14559 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14560
14561         * check/Makefile.am:
14562         * gst/gst.c: (add_path_func), (init_pre):
14563         * gst/gstregistry.c: (gst_registry_add_path):
14564           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
14565           only scan the GST_PLUGIN_PATH locations, and not add
14566           system locations
14567
14568 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14569
14570         * docs/gst/gstreamer-sections.txt:
14571         * docs/gst/tmpl/gstbasesrc.sgml:
14572         * gst/gstelement.c:
14573         * gst/gstelement.h:
14574         * gst/gstevent.c:
14575         * gst/gstutils.c:
14576           doc fixes
14577
14578 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14579
14580         * docs/manual/advanced-autoplugging.xml:
14581           Fix autoplugging example.
14582
14583 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14584
14585         * docs/manual/advanced-autoplugging.xml:
14586         * docs/manual/mime-world.fig:
14587           Try to get autoplugging working, fix type detection. Fix text
14588           in hello-world image.
14589
14590 2005-06-29  Wim Taymans  <wim@fluendo.com>
14591
14592         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14593         (gst_base_sink_change_state):
14594         Small debug line.
14595
14596         * gst/gstclock.h:
14597         map SIGNAL and BROADCAST to the right function.
14598
14599         * gst/gstobject.h:
14600         Remove redundant braces.
14601
14602         * gst/gstpad.c: (gst_pad_set_caps):
14603         Don't call setcaps function when reseting caps to NULL.
14604
14605         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14606         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
14607         (gst_system_clock_id_unschedule):
14608         Use BROADCAST as this is what we do.
14609
14610 2005-06-29  Wim Taymans  <wim@fluendo.com>
14611
14612         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14613         We are actually prerolling before commiting the state
14614         change. 
14615
14616 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14617
14618         * docs/manual/advanced-clocks.xml:
14619         * docs/manual/advanced-interfaces.xml:
14620         * docs/manual/advanced-metadata.xml:
14621         * docs/manual/advanced-position.xml:
14622         * docs/manual/advanced-schedulers.xml:
14623         * docs/manual/advanced-threads.xml:
14624         * docs/manual/appendix-porting.xml:
14625         * docs/manual/basics-bins.xml:
14626         * docs/manual/basics-bus.xml:
14627         * docs/manual/basics-elements.xml:
14628         * docs/manual/basics-helloworld.xml:
14629         * docs/manual/basics-pads.xml:
14630         * docs/manual/highlevel-components.xml:
14631         * docs/manual/manual.xml:
14632         * docs/manual/thread.fig:
14633           Update (until threads/scheduling) Application Development Manual;
14634           remove GstThread, add GstBus, add simple porting checklist, add
14635           documentation for tag writing, clocks, make all examples until this
14636           part compile and run.
14637         * examples/manual/Makefile.am:
14638           Update from changes to Application Development Manual; add bus
14639           example, remove thread example.
14640
14641 2005-06-28  Wim Taymans  <wim@fluendo.com>
14642
14643         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
14644         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
14645         (gst_bus_source_dispatch):
14646         Add debugging messages.
14647         Make internal methods static.
14648         Handle the case where the bus is flushed in the handler.
14649         
14650         * gst/gstelement.c: (gst_element_get_bus):
14651         Fix refcount in _get_bus();
14652
14653         * gst/gstpipeline.c: (gst_pipeline_change_state),
14654         (gst_pipeline_get_clock_func):
14655         Clock refcounting fixes.
14656         Handle the case where preroll timed out more gracefully.
14657         
14658         * gst/gstsystemclock.c: (gst_system_clock_dispose):
14659         Clean up the internal thread in dispose. This is needed
14660         for subclasses that actually get disposed.
14661         
14662         * gst/schedulers/threadscheduler.c:
14663         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14664         (gst_thread_scheduler_dispose):
14665         Free thread pool in dispose.
14666
14667 2005-06-28  Andy Wingo  <wingo@pobox.com>
14668
14669         * tests/network-clock-utils.scm (debug, print-event): New utils.
14670
14671         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
14672         (*packet-loss*): Unified loss probability.
14673         (network-time): Report out-of-band events.
14674
14675         * tests/plot-data: Add support for out-of-band events. Hack it
14676         into this script instead of passing it down the pipe; should fix
14677         this later.
14678
14679 2005-06-28  Wim Taymans  <wim@fluendo.com>
14680
14681         * docs/gst/gstreamer.types:
14682         * docs/gst/tmpl/gstbasesrc.sgml:
14683         * docs/gst/tmpl/gstpad.sgml:
14684         Docs fixes.
14685
14686 2005-06-28  Wim Taymans  <wim@fluendo.com>
14687
14688         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14689         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
14690         (gst_proxy_pad_do_fixatecaps):
14691         Correctly proxy the check_pull_range function.
14692
14693 2005-06-28  Andy Wingo  <wingo@pobox.com>
14694
14695         * tests/network-clock.scm: Removed need for slib.
14696         
14697 2005-06-28  Wim Taymans  <wim@fluendo.com>
14698
14699         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
14700         (gst_basesink_preroll_queue_flush):
14701         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
14702         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
14703         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14704         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14705         (gst_proxy_pad_set_property):
14706         * gst/gstpad.c:
14707         * gst/gstpad.h:
14708         * gst/gstqueue.c: (gst_queue_init):
14709         The deprecated pad loop function is removed now.
14710
14711 2005-06-28  Andy Wingo  <wingo@pobox.com>
14712
14713         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
14714         New parameters, simulate network packet loss.
14715
14716         * tests/network-clock-utils.scm: Initialize the RNG.
14717
14718 2005-06-28  Wim Taymans  <wim@fluendo.com>
14719
14720         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
14721         (gst_basesink_event), (gst_basesink_deactivate):
14722         Flushing the preroll queue always needs to unlock the waiters.
14723
14724 2005-06-28  Edward Hervey  <edward@fluendo.com>
14725
14726         * gst/gstpipeline.c: (gst_pipeline_send_event): 
14727         Wheen a seek was successful on a pipeline, set the stream_time to the
14728         seek offset in order to have a synchronized stream_time.
14729
14730 2005-06-28  Wim Taymans  <wim@fluendo.com>
14731
14732         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14733         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
14734         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
14735         (gst_proxy_pad_do_fixatecaps):
14736         Call wrapper function instead of just calling the function
14737         pointers. This takes care of any locking and whatmore.
14738
14739 2005-06-28  Wim Taymans  <wim@fluendo.com>
14740
14741         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
14742         (gst_pad_pull_range):
14743         * gst/gstpad.h:
14744         CONNECTED -> LINKED.
14745
14746 2005-06-28  Andy Wingo  <wingo@pobox.com>
14747
14748         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
14749         source-munging commit!!!
14750
14751         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
14752         (gst_object_sink): Take gpointer arguments, not GstObject --
14753         avoids casts. Like GLib.
14754
14755         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
14756         activate.
14757
14758 2005-06-27  Andy Wingo  <wingo@pobox.com>
14759
14760         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
14761         remaining buffer.
14762
14763         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
14764         returns a sorted copy of the trace list.
14765         (gst_alloc_trace_print_live): New API, only prints traces with
14766         live objects. Sort the list.
14767         (gst_alloc_trace_print_all): Sort the list.
14768         (gst_alloc_trace_print): Align columns.
14769
14770         * gst/elements/gstttypefindelement.c:
14771         * gst/elements/gsttee.c:
14772         * gst/base/gstbasesrc.c:
14773         * gst/base/gstbasesink.c:
14774         * gst/base/gstbasetransform.c:
14775         * gst/gstqueue.c: Adapt for pad activation changes.
14776
14777         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
14778         sched.
14779         (gst_pipeline_dispose): Drop ref on sched.
14780
14781         * gst/gstpad.c (gst_pad_init): Set the default activate func.
14782         (gst_pad_activate_default): Push mode by default.
14783         (pre_activate_switch, post_activate_switch): New stubs, things to
14784         do before and after switching activation modes on pads.
14785         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
14786         the pad's activate function to choose which mode to activate.
14787         Shortcut on deactivation and call the right function directly.
14788         (gst_pad_activate_pull): New API, (de)activates a pad in pull
14789         mode.
14790         (gst_pad_activate_push): New API, same for push mode.
14791         (gst_pad_set_activate_function) 
14792         (gst_pad_set_activatepull_function) 
14793         (gst_pad_set_activatepush_function): Setters for new API.
14794
14795         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
14796         Trace all miniobjects.
14797         (gst_mini_object_make_writable): Unref the arg if we copy, like
14798         gst_caps_make_writable.
14799
14800         * gst/gstmessage.c (_gst_message_initialize): No trace init.
14801
14802         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
14803         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
14804         Adapt for new pad API.
14805
14806         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
14807
14808         * gst/gstelement.h:
14809         * gst/gstelement.c (gst_element_iterate_src_pads) 
14810         (gst_element_iterate_sink_pads): New API functions.
14811         
14812         * gst/gstelement.c (iterator_fold_with_resync): New utility,
14813         should fold into gstiterator.c in some form.
14814         (gst_element_pads_activate): Simplified via use of fold and
14815         delegation of decisions to gstpad->activate.
14816
14817         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
14818         help in debugging.
14819
14820         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
14821         class once in init, like gstmessage. Didn't run into this issue
14822         but it seems correct. Don't initialize a trace, gstminiobject does
14823         that.
14824
14825         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
14826         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
14827         to the bus.
14828         (assert_live_count): New util function, uses alloc traces to check
14829         cleanup.
14830
14831         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
14832         To be modified when unlink drops the internal pad.
14833
14834 2005-06-27  Wim Taymans  <wim@fluendo.com>
14835
14836         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
14837         (gst_bin_change_state):
14838         Cleanup the get_state() function a little, make sure it
14839         iterates the same set of elements.
14840         Added stub iterate_state_order().
14841
14842 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14843
14844         * docs/gst/gstreamer-docs.sgml:
14845         * docs/gst/gstreamer-sections.txt:
14846         * docs/gst/gstreamer.types:
14847         * docs/gst/tmpl/gstbasesink.sgml:
14848         * docs/gst/tmpl/gstbasesrc.sgml:
14849         * docs/gst/tmpl/gstbasetransform.sgml:
14850         * docs/gst/tmpl/gstelement.sgml:
14851         * docs/gst/tmpl/gstiterator.sgml:
14852         * gst/base/gstbasesrc.c:
14853         * gst/base/gstbasesrc.h:
14854         * gst/base/gstbasetransform.h:
14855         * gst/gstelement.c:
14856         * gst/gstiterator.h:
14857           adding basetransform and iterator docs
14858
14859 2005-06-27  Andy Wingo  <wingo@pobox.com>
14860
14861         * docs/design/part-activation.txt: Notes on how activation should
14862         work -- not quite implemented yet.
14863
14864 2005-06-25  Wim Taymans  <wim@fluendo.com>
14865
14866         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
14867         At least get the chain function correct, needs more
14868         fixing.
14869
14870 2005-06-25  Wim Taymans  <wim@fluendo.com>
14871
14872         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14873         (gst_basesink_handle_object), (gst_basesink_event),
14874         (gst_basesink_do_sync), (gst_basesink_handle_event),
14875         (gst_basesink_change_state):
14876         * gst/gsttask.h:
14877         Right, two problems here: ghostpads don't take locks and
14878         glib _rec_mutex_lock_full() with depth==0 still locks.
14879         Catch illegal locking and g_warn them.
14880
14881 2005-06-25  Wim Taymans  <wim@fluendo.com>
14882
14883         * check/states/sinks.c: (START_TEST), (gst_object_suite):
14884         Have to check for completion now...
14885
14886 2005-06-25  Wim Taymans  <wim@fluendo.com>
14887
14888         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14889         (gst_basesink_handle_object), (gst_basesink_event),
14890         (gst_basesink_do_sync), (gst_basesink_handle_event),
14891         (gst_basesink_change_state):
14892         * gst/gstpad.h:
14893         Unlock STREAM_LOCK whatever the recursion was.
14894
14895 2005-06-25  Wim Taymans  <wim@fluendo.com>
14896
14897         * gst/base/gstbasesink.c: (gst_basesink_set_property),
14898         (gst_basesink_preroll_queue_empty),
14899         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
14900         (gst_basesink_event), (gst_basesink_do_sync),
14901         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
14902         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
14903         (gst_basesink_change_state):
14904         Reworked the base sink, handle event and buffer serialisation
14905         correctly and removed possible deadlock.
14906         Handle EOS correctly.
14907
14908 2005-06-25  Wim Taymans  <wim@fluendo.com>
14909
14910         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
14911         (gst_pipeline_change_state):
14912         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14913         Allow elements to post EOS in the state change function.
14914         Fix up -launch, make it exit the poll loop when the
14915         pipeline actually changed state.
14916         Fix up warning parsing in -launch.
14917
14918 2005-06-25  Wim Taymans  <wim@fluendo.com>
14919
14920         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
14921         (gst_tee_sink_activate):
14922         Core takes STREAM_LOCK for us now.
14923
14924 2005-06-25  Wim Taymans  <wim@fluendo.com>
14925
14926         * gst/gstelement.c: (gst_element_get_state_func),
14927         (gst_element_set_state):
14928         * gst/gstelement.h:
14929         * gst/gstmessage.c: (gst_message_parse_error),
14930         (gst_message_parse_warning):
14931         Keep track of current target state while performing a state
14932         change so that subclasses can do something interesting.
14933         Fix parsing of warning/error messages when GError is NULL.
14934
14935 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
14936
14937         * docs/gst/Makefile.am:
14938         * docs/gst/gstreamer-docs.sgml:
14939         * docs/gst/gstreamer-sections.txt:
14940         * docs/gst/gstreamer.types:
14941         * docs/gst/tmpl/gstbasesink.sgml:
14942         * docs/gst/tmpl/gstbasesrc.sgml:
14943         * docs/gst/tmpl/gstbin.sgml:
14944         * docs/gst/tmpl/gstcompat.sgml:
14945         * docs/gst/tmpl/gstfakesink.sgml:
14946         * docs/gst/tmpl/gstfakesrc.sgml:
14947         * docs/gst/tmpl/gstfilesink.sgml:
14948         * docs/gst/tmpl/gstfilesrc.sgml:
14949         * docs/gst/tmpl/gstindex.sgml:
14950         * docs/manual/appendix-quotes.xml:
14951         * gst/base/gstbasesrc.h:
14952         * gst/elements/gstfakesrc.h:
14953         * gst/gstmessage.h:
14954           start pulling in base classes and elements in our docs
14955
14956 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
14957
14958         * docs/gst/Makefile.am:
14959         * docs/libs/Makefile.am:
14960           fixed make distcheck with gtk-doc 1.3
14961
14962 2005-06-23  Wim Taymans  <wim@fluendo.com>
14963
14964         * gst/gstelement.c: (gst_element_get_state_func),
14965         (gst_element_set_state), (gst_element_change_state):
14966         When the state did not change, also report NO_PREROLL
14967         when it matters.
14968
14969 2005-06-23  Wim Taymans  <wim@fluendo.com>
14970
14971         * gst/gstpad.c: (gst_pad_event_default):
14972         * gst/gstqueue.c: (gst_queue_loop):
14973         No unsafe task pausing please.
14974
14975 2005-06-23  Wim Taymans  <wim@fluendo.com>
14976
14977         * gst/schedulers/threadscheduler.c:
14978         (gst_thread_scheduler_task_start),
14979         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
14980         Ref the task before pushing it on the threadpool. This
14981         makes sure that we have a ref when the threadfunction is
14982         actually called.
14983
14984 2005-06-23  Andy Wingo  <wingo@pobox.com>
14985
14986         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
14987         offset is greater than the file's size.
14988
14989         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
14990         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
14991         * gst/gstobject.c (gst_object_class_init): Make the class lock
14992         recursive. Wim won't let me drop deep_notify. Decodebin works
14993         again, whoopdy doo.
14994
14995         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
14996         internal pad, and hacks accordingly. Doesn't do it on the target
14997         pad because we change its caps. Probably catches all cases of
14998         interest tho.
14999         (gst_ghost_pad_set_property): Connect to notify::caps as
15000         appropritate.
15001
15002         * tests/network-clock.scm (plot-simulation): Pipe data to the
15003         elite python skript.
15004
15005         * tests/network-clock-utils.scm (define-parameter): New macro,
15006         defines a parameter that can be set via the command line.
15007         (set-parameter!, parse-parameter-arguments): Command line args
15008         parser.
15009
15010         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15011         stdin.
15012
15013 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15014
15015         * gst/elements/gsttypefindelement.c:
15016         (gst_type_find_element_handle_event):
15017           Don't restart typefinding on a discont.
15018         * gst/gstelement.c: (gst_element_set_state):
15019           Debug spelling fix.
15020         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15021           Allow changing mode of an active pad.
15022           Debug output fixes.
15023         * gst/registries/gstlibxmlregistry.c: (load_feature):
15024           Don't cast a static pad template to a normal pad template.
15025
15026 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15027
15028         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15029         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15030           remove gst_strtoll completely, since it didn't actually do
15031           anything more than what g_ascii_strtoull already does.
15032           check for range errors when deserializing
15033           do a cast for the unsigned cases; but further fixing needs
15034           a decision on what the interpretation of "(int)" and
15035           deserialization should be for values that fall outside the
15036           type's boundaries (ie, refuse, or interpret as casting)
15037
15038 2005-06-23  Wim Taymans  <wim@fluendo.com>
15039
15040         * check/Makefile.am:
15041         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15042         * docs/design/part-live-source.txt:
15043         * docs/design/part-states.txt:
15044         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15045         (gst_basesrc_set_live), (gst_basesrc_is_live),
15046         (gst_basesrc_get_range), (gst_basesrc_activate),
15047         (gst_basesrc_change_state):
15048         * gst/base/gstbasesrc.h:
15049         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15050         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15051         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15052         * gst/gstelement.c: (gst_element_get_state_func),
15053         (gst_element_set_state):
15054         * gst/gstelement.h:
15055         * gst/gsttypes.h:
15056         * tools/gst-launch.c: (event_loop), (main):
15057         Added support for live sources and other elements that
15058         cannot do preroll.
15059         Updated design docs, added live-source design doc.
15060         Implemented live source functionality in basesrc
15061         Fix error condition in _bin_get_state()
15062         Implement live source handling in -launch.
15063         Added check for live sources.
15064         Fixed case in GstBin where elements were changed state
15065         multiple times.
15066
15067
15068 2005-06-23  Andy Wingo  <wingo@pobox.com>
15069
15070         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15071         borken refcounting.
15072
15073         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15074         gst_caps_replace takes care of this for us.
15075
15076         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15077         gst_pad_set_caps on the target, not just its setcaps() function.
15078
15079         * tests/network-clock.scm: 
15080         * tests/network-clock-utils.scm: A network clock simulator.
15081         Something of an algorithmic testbed before doing something in C.
15082
15083 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15084
15085         * check/Makefile.am:
15086         * check/gst/capslist.h:
15087           copy over from 0.8, and add two with bitmasks specified with
15088           (int) 0xFF...
15089         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15090           add test to parse everything from capslist.h
15091         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15092         (main):
15093           add test for structure deserialization
15094         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15095           add tests for deserialization of strings to int types
15096         * gst/gststructure.c: (gst_structure_nth_field_name):
15097         * gst/gststructure.h:
15098           add a way to get the name of a field referenced by index
15099         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15100           instead of checking if the resulting long long lies between
15101           min and max, we check if the long long would fit into
15102           a number of bytes for the final type.
15103           This fixes cases where a string represents 2^32 - 1, which
15104           when cast to int would be the (valid) -1, but is bigger than
15105           G_MAXINT
15106
15107 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15108
15109         * gst/parse/grammar.y:
15110           add a log line for type deserialization
15111
15112 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15113
15114         * check/gst/gstvalue.c: (START_TEST):
15115         * gst/gstvalue.c: (gst_value_deserialize):
15116           return long long, not int, so gint64 deserialization actually
15117           works.  Is there any flag that makes the compiler check this ?
15118           Fixes #308559
15119
15120 2005-06-22  Wim Taymans  <wim@fluendo.com>
15121
15122         * gst/gstbuffer.h:
15123         Added convenience macros for setting buffers in GValue.
15124
15125 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15126
15127         * check/gst/.cvsignore:
15128         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15129           add a test deserializing int64, and comment part out because
15130           it fails, yay !
15131
15132 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15133
15134         * check/Makefile.am:
15135         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15136         * testsuite/Makefile.am:
15137         * testsuite/caps/Makefile.am:
15138         * testsuite/caps/value_serialize.c:
15139         * testsuite/test_gst_init.c:
15140           move a value_serialize test over
15141
15142 2005-06-20  Wim Taymans  <wim@fluendo.com>
15143
15144         * gst/gstpad.c:
15145         Small doc updates.
15146         
15147         * gst/gstvalue.c: (gst_value_compare_buffer),
15148         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15149         (gst_value_compare_flags), (gst_value_serialize_flags),
15150         (gst_value_deserialize_flags), (_gst_value_initialize):
15151         Fix serialisation of buffers, they are not boxed types anymore
15152
15153 2005-06-20  Wim Taymans  <wim@fluendo.com>
15154
15155         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15156         Testcase to show error in buffer-on-caps serialisation.
15157
15158 2005-06-20  Andy Wingo  <wingo@pobox.com>
15159
15160         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15161         will be adding to later.
15162
15163         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15164         if its socks fill with rocks.
15165         (gst_system_clock_obtain): Set the name on object construction.
15166         Avoid double-checked locking.
15167
15168 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
15169
15170         * gst/gsturi.c: (gst_element_make_from_uri):
15171           Fix potential endless loop.
15172
15173 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15174
15175         * check/Makefile.am:
15176           add gsttag
15177         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15178         (main):
15179           move over from testsuite dir and clean up
15180         * configure.ac:
15181         * gst/gsttag.c:
15182         * testsuite/Makefile.am:
15183         * testsuite/tags/.cvsignore:
15184         * testsuite/tags/Makefile.am:
15185         * testsuite/tags/merge.c:
15186           remove testsuite/tags
15187
15188 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15189
15190         * docs/gst/gstreamer-sections.txt:
15191         * docs/gst/tmpl/gstenumtypes.sgml:
15192         * win32/gstenumtypes.c:
15193           clean up documentation build a little
15194
15195 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15196
15197         * check/gstcheck.h:
15198           add macros for checking refcounts on objects and caps
15199         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15200           add some more unit tests
15201         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15202         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15203           fix leaked refcounts (I hope :)) so unittest works
15204         * gst/gstpad.h:
15205           whitespace removal
15206
15207 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15208
15209         * configure.ac: back to HEAD
15210
15211 === release 0.9.1 ===
15212
15213 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15214
15215         * NEWS:
15216         * RELEASE:
15217           updated
15218
15219 2005-06-17  Andy Wingo  <wingo@pobox.com>
15220
15221         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15222         assert; it's always possible that the pad gets deactivated in
15223         between the checks in gstpad.c and the implementation. Rely on
15224         finish_preroll() to return a FLUSHING or similar instead of on the
15225         assert.
15226         
15227         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15228         clock and post an EOS message if we come out of finish_preroll in
15229         the playing state.
15230
15231 2005-06-16  David Schleef  <ds@schleef.org>
15232
15233         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15234         (gst_capsfilter_set_property): Allow NULL as possible value
15235         for filter_caps property, indicating GST_CAPS_ANY.
15236
15237 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15238
15239         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15240           fix debug output
15241         * gst/schedulers/Makefile.am:
15242           use libgst prefix
15243         * gstreamer.spec.in:
15244           fix spec for it
15245
15246 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15247
15248         * gstreamer.spec.in:
15249           clean up
15250
15251 2005-06-08  Andy Wingo  <wingo@pobox.com>
15252
15253         * gst/gstutils.c: RPAD fixes all around.
15254         (gst_element_link_pads): Refcounting fixes.
15255
15256         * tools/gst-inspect.c:
15257         * tools/gst-xmlinspect.c:
15258         * parse/grammar.y:
15259         * gst/base/gsttypefindhelper.c:
15260         * gst/base/gstbasesink.c:
15261         * gst/gstqueue.c: RPAD fixes.
15262
15263         * gst/gstghostpad.h:
15264         * gst/gstghostpad.c: New ghost pad implementation as full proxy
15265         pads. The tricky thing is they provide both source and sink
15266         interfaces, since they proxy the internal pad for the external
15267         pad, and vice versa. Implement with lower-level ProxyPad objects,
15268         with the interior proxy pad as a child of the exterior ghost pad.
15269         Should write a doc on this.
15270         
15271         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15272         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15273         gst_object API.
15274         
15275         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15276         pads are real pads. No ghost pads in this file. Not documenting
15277         the myriad s/RPAD/PAD/ and REALIZE fixes.
15278         (gst_pad_class_init): Add properties for "direction" and
15279         "template". Both are construct-only, so they can't change during
15280         the life of the pad. Fixes properly deriving from GstPad.
15281         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15282         derived objects, just set properties when creating the objects via
15283         g_object_new.
15284         (gst_pad_get_parent): Implement as a function, return NULL if the
15285         parent is not an element.
15286         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15287         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15288         
15289         * gst/gstobject.c (gst_object_class_init): Make name a construct
15290         property. Don't set it in the object init.
15291
15292         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15293         with UNKNOWN direction.
15294         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15295         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15296         (gst_element_remove_pad): Remove ghost-pad special cases.
15297         (gst_element_pads_activate): Remove rpad cruft.
15298
15299         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15300         catch the pad's-parent-not-an-element case.
15301
15302         * gst/gst.h: Include gstghostpad.h.
15303
15304         * gst/gst.c (init_post): No more real, ghost pads.
15305
15306         * gst/Makefile.am: Add gstghostpad.[ch].
15307
15308         * check/Makefile.am:
15309         * check/gst/gstbin.c:
15310         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15311         into a bin creates ghost pads, and that the refcounts are right.
15312         Partly moved from gstbin.c.
15313
15314 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15315
15316         * check/gst-libs/.cvsignore:
15317         * check/gst/.cvsignore:
15318         * check/pipelines/.cvsignore:
15319           ignore more
15320         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15321         (START_TEST), (cleanup_suite), (main):
15322           add some tests related to cleanup after running pipelines
15323
15324 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15325
15326         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15327           add a testsuite for GstBuffer
15328
15329 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15330
15331         * gst/gstminiobject.h:
15332           add defines for accessing the refcount
15333
15334 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
15335
15336         * Makefile.am: added support for html unit test coverage reports
15337
15338 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
15339
15340         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15341           Free existing caps if the capsfilter changes. Add a FIXME about
15342           setting those caps on the pads.
15343
15344         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15345           Before adding a ghost pad to a parent bin, check that there isn't
15346           already one for the element on the bin. Prevents infinite recursion
15347           when using decodebin in parse pipelines. Andy says he'll rewrite the
15348           way this works anyway, so ignore the hack.
15349
15350 2005-06-02  Andy Wingo  <wingo@pobox.com>
15351
15352         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15353         file size, pass it on to the type find helper.
15354
15355         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15356         segment_start and segment_end properly according to the seek
15357         method. Segment_end is still a bit flaky because offset can be
15358         negative for CUR and END cases, but it takes -1 as an "unset"
15359         value.
15360
15361 2005-06-02  Wim Taymans  <wim@fluendo.com>
15362
15363         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15364         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15365         (gst_basesink_activate):
15366         * gst/base/gstbasesink.h:
15367         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15368         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15369         (gst_pad_query), (gst_pad_start_task):
15370         * gst/gstpad.h:
15371         * gst/gstqueue.c: (gst_queue_bufferalloc),
15372         (gst_queue_handle_sink_event), (gst_queue_chain):
15373         Bufferalloc: return GstFlowReturn to more accuratly report
15374         why allocation failed.
15375
15376 2005-06-02  Wim Taymans  <wim@fluendo.com>
15377
15378         * gst/gstpipeline.c: (gst_pipeline_send_event):
15379         Take snapshot of state without blocking.
15380
15381 2005-06-02  Wim Taymans  <wim@fluendo.com>
15382
15383         * docs/design/part-TODO.txt:
15384         * docs/design/part-caps.txt:
15385         * docs/design/part-clocks.txt:
15386         * docs/design/part-negotiation.txt:
15387         * docs/design/part-preroll.txt:
15388         Small doc updates 
15389
15390 2005-05-30  Wim Taymans  <wim@fluendo.com>
15391
15392         * gst/elements/gstidentity.c: (gst_identity_event),
15393         (gst_identity_transform), (gst_identity_get_property):
15394         Protect last_message property as it is accessed from
15395         multiple threads.
15396
15397 2005-05-30  Wim Taymans  <wim@fluendo.com>
15398
15399         * gst/gstelement.c: (gst_element_init),
15400         (gst_element_pads_activate), (gst_element_change_state):
15401         Slicker pad activation code.
15402
15403 2005-05-30  Wim Taymans  <wim@fluendo.com>
15404
15405         * gst/Makefile.am:
15406         * gst/gstelement.h:
15407         * gst/gstelementfactory.h:
15408         * gst/gsttypes.h:
15409         Move elementfactory methods to separate .h file.
15410
15411 2005-05-30  Wim Taymans  <wim@fluendo.com>
15412
15413         * docs/design/part-overview.txt:
15414         * gst/gstsystemclock.h:
15415         Small typo fixes, doc updates.
15416
15417 2005-05-30  Wim Taymans  <wim@fluendo.com>
15418
15419         * gst/gst.c: (gst_init_get_popt_table), (init_post),
15420         (init_popt_callback):
15421         Remove cpu-opt flag.
15422
15423 2005-05-30  Wim Taymans  <wim@fluendo.com>
15424
15425         * gst/gstbuffer.c: (gst_subbuffer_finalize),
15426         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15427         * gst/gstbuffer.h:
15428         Avoid typechecking in places where not needed.
15429         Added accessor for malloc_data.
15430
15431 2005-05-30  Wim Taymans  <wim@fluendo.com>
15432
15433         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15434         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15435         (gst_pad_configure_sink), (gst_pad_configure_src),
15436         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15437         (gst_pad_start_task):
15438         Propagate errors from _set_caps() in configure_src/sink
15439         functions instead of returning TRUE.
15440         FLUSH events can travel up and downstream
15441
15442
15443 2005-05-30  Wim Taymans  <wim@fluendo.com>
15444
15445         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15446         (gst_basesink_activate):
15447         Handle EOS in preroll.
15448
15449 2005-05-30  Wim Taymans  <wim@fluendo.com>
15450
15451         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15452         (gst_queue_loop), (gst_queue_handle_src_event):
15453         Remove old pieces of code
15454         Flushing the queue in an upstream event is a very bad idea.
15455
15456 2005-05-26  Andy Wingo  <wingo@pobox.com>
15457
15458         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
15459         gst_value_set_mini_object so as to add a ref on the object (which
15460         will be removed when the value is unset).
15461
15462         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
15463         arg type in ::handoff.
15464
15465         * gst/gstelement.c (gst_element_change_state): Also deactivate
15466         pads in READY->NULL, just in case the element didn't make it to
15467         PAUSED. Wingo tested, Wim approved.
15468
15469 2005-05-26  Wim Taymans  <wim@fluendo.com>
15470
15471         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15472         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15473         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
15474         A flushing pad cannot be used to alloc_buffer from.
15475
15476 2005-05-26  Wim Taymans  <wim@fluendo.com>
15477
15478         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
15479         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
15480         (gst_bus_source_dispatch), (gst_bus_source_finalize),
15481         (gst_bus_create_watch), (gst_bus_add_watch_full):
15482         * gst/gstbus.h:
15483         Implement a real GSource and use g_main_context_wakeup() to
15484         signal new messages instead of the socketpair.
15485
15486 2005-05-25  Wim Taymans  <wim@fluendo.com>
15487
15488         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
15489         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
15490         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15491         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15492         (gst_pad_send_event), (gst_pad_start_task):
15493         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
15494         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15495         (gst_queue_sink_activate), (gst_queue_src_activate),
15496         (gst_queue_change_state):
15497         * gst/gstqueue.h:
15498         Fix state changes for non sinks. We now change sinks, then elements
15499         with unconnected srcpads, then the rest.
15500         More efficient queue unlocking in flush and state changes.
15501         Set the pad activate mode even if it does not have an activate
15502         function.
15503
15504 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15505
15506         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
15507           Don't go in pull mode for non-seekable sources.
15508         * gst/elements/gsttypefindelement.h:
15509         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15510         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
15511         (free_entry), (stop_typefinding),
15512         (gst_type_find_element_handle_event), (find_peek),
15513         (gst_type_find_element_chain), (do_pull_typefind),
15514         (gst_type_find_element_change_state):
15515           Allow typefinding (w/o seeking) in push-mode, simplified version
15516           of what was in 0.8.
15517         * gst/gstutils.c: (gst_buffer_join):
15518         * gst/gstutils.h:
15519           gst_buffer_join() from 0.8.
15520
15521 2005-05-25  Wim Taymans  <wim@fluendo.com>
15522
15523         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15524         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15525         (gst_pad_send_event), (gst_pad_start_task):
15526         Disable attempt at mode switching until it is figured out.
15527
15528 2005-05-25  Wim Taymans  <wim@fluendo.com>
15529
15530         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
15531         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15532         (gst_basesink_finish_preroll), (gst_basesink_chain),
15533         (gst_basesink_loop), (gst_basesink_activate),
15534         (gst_basesink_change_state):
15535         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
15536         (gst_basesrc_get_range), (gst_basesrc_loop),
15537         (gst_basesrc_activate):
15538         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15539         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15540         (gst_real_pad_init), (gst_real_pad_set_property),
15541         (gst_real_pad_get_property), (gst_pad_set_active),
15542         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
15543         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
15544         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
15545         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
15546         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15547         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
15548         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
15549         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15550         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
15551         (gst_pad_stop_task):
15552         * gst/gstpad.h:
15553         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15554         (gst_queue_loop), (gst_queue_src_activate):
15555         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
15556         (gst_task_get_state):
15557         * gst/gsttask.h:
15558         * gst/schedulers/threadscheduler.c:
15559         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
15560         Implement gst_pad_pause/start/stop_task(), take STREAM lock
15561         in task function.
15562         Remove ACTIVE pad flag, use FLUSHING everywhere
15563         Added _pad_chain(), _pad_get_range() to call chain/getrange 
15564         functions.
15565         Add locks around IS_FLUSHING when reading.
15566         Take STREAM lock in chain(), get_range() functions so plugins
15567         don't need to take it anymore.
15568         
15569
15570
15571 2005-05-25  Wim Taymans  <wim@fluendo.com>
15572
15573         * tools/gst-launch.c: (event_loop):
15574         Unref message after using its contents instead of
15575         before.
15576
15577 2005-05-24  Wim Taymans  <wim@fluendo.com>
15578
15579         * docs/design/draft-ghostpads.txt:
15580         * docs/design/draft-push-pull.txt:
15581         * docs/design/draft-query.txt:
15582         * docs/design/part-overview.txt:
15583         Docs updates, added general overview doc.
15584
15585 2005-05-21  David Schleef  <ds@schleef.org>
15586
15587         * docs/gst/tmpl/old/GstBin.sgml:
15588         * docs/gst/tmpl/old/GstBuffer.sgml:
15589         * docs/gst/tmpl/old/GstCaps.sgml:
15590         * docs/gst/tmpl/old/GstClock.sgml:
15591         * docs/gst/tmpl/old/GstCompat.sgml:
15592         * docs/gst/tmpl/old/GstData.sgml:
15593         * docs/gst/tmpl/old/GstElement.sgml:
15594         * docs/gst/tmpl/old/GstEvent.sgml:
15595         * docs/gst/tmpl/old/GstIndex.sgml:
15596         * docs/gst/tmpl/old/GstStructure.sgml:
15597         * docs/gst/tmpl/old/GstTag.sgml:
15598         * docs/gst/tmpl/old/cothreads.sgml:
15599         * docs/gst/tmpl/old/cothreads_compat.sgml:
15600         * docs/gst/tmpl/old/gettext.sgml:
15601         * docs/gst/tmpl/old/gobject2gtk.sgml:
15602         * docs/gst/tmpl/old/grammar.tab.sgml:
15603         * docs/gst/tmpl/old/gst-i18n-app.sgml:
15604         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
15605         * docs/gst/tmpl/old/gst_private.sgml:
15606         * docs/gst/tmpl/old/gstaggregator.sgml:
15607         * docs/gst/tmpl/old/gstarch.sgml:
15608         * docs/gst/tmpl/old/gstatomic_impl.sgml:
15609         * docs/gst/tmpl/old/gstbufferstore.sgml:
15610         * docs/gst/tmpl/old/gstdata_private.sgml:
15611         * docs/gst/tmpl/old/gstdisksink.sgml:
15612         * docs/gst/tmpl/old/gstdisksrc.sgml:
15613         * docs/gst/tmpl/old/gstelementfactory.sgml:
15614         * docs/gst/tmpl/old/gstextratypes.sgml:
15615         * docs/gst/tmpl/old/gstfakesink.sgml:
15616         * docs/gst/tmpl/old/gstfakesrc.sgml:
15617         * docs/gst/tmpl/old/gstfdsink.sgml:
15618         * docs/gst/tmpl/old/gstfdsrc.sgml:
15619         * docs/gst/tmpl/old/gstfilesink.sgml:
15620         * docs/gst/tmpl/old/gstfilesrc.sgml:
15621         * docs/gst/tmpl/old/gsthttpsrc.sgml:
15622         * docs/gst/tmpl/old/gstidentity.sgml:
15623         * docs/gst/tmpl/old/gstindexfactory.sgml:
15624         * docs/gst/tmpl/old/gstmarshal.sgml:
15625         * docs/gst/tmpl/old/gstmd5sink.sgml:
15626         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
15627         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
15628         * docs/gst/tmpl/old/gstpadtemplate.sgml:
15629         * docs/gst/tmpl/old/gstpipefilter.sgml:
15630         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
15631         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
15632         * docs/gst/tmpl/old/gstshaper.sgml:
15633         * docs/gst/tmpl/old/gstspider.sgml:
15634         * docs/gst/tmpl/old/gstspideridentity.sgml:
15635         * docs/gst/tmpl/old/gststatistics.sgml:
15636         * docs/gst/tmpl/old/gsttee.sgml:
15637         * docs/gst/tmpl/old/gsttimecache.sgml:
15638         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
15639         * docs/gst/tmpl/old/gstxmlregistry.sgml:
15640         * docs/gst/tmpl/old/gthread-cothreads.sgml:
15641         * docs/gst/tmpl/old/types.sgml:
15642           I didn't intend to add these or check them in.
15643
15644 2005-05-19  David Schleef  <ds@schleef.org>
15645
15646         * configure.ac: Use -no-common everywhere.  In a sane world, it
15647           would be the default in libtool, because without it, you can't
15648           build DLLs on Windows.
15649         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
15650         * docs/gst/gstreamer-sections.txt:
15651         * docs/gst/tmpl/gstcpu.sgml:
15652         * docs/gst/tmpl/gstdata.sgml:
15653         * docs/gst/tmpl/gstthread.sgml:
15654
15655 2005-05-19  David Schleef  <ds@schleef.org>
15656
15657         * gst/gstminiobject.c: (gst_value_set_mini_object),
15658         (gst_value_take_mini_object), (gst_value_get_mini_object):
15659         * gst/gstminiobject.h: Add GValue set/get functions.
15660
15661 2005-05-19  Wim Taymans  <wim@fluendo.com>
15662
15663         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
15664         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
15665         (gst_subbuffer_init), (gst_buffer_is_span_fast):
15666         * gst/gstbuffer.h:
15667         * gst/gstbus.c: (gst_bus_post):
15668         * gst/gstelement.c: (gst_element_get_random_pad):
15669         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
15670         Make subbufer unref the parent in finalize.
15671         some more debugging info.
15672
15673
15674 2005-05-19  Wim Taymans  <wim@fluendo.com>
15675
15676         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15677         (gst_basesink_init), (gst_basesink_finalize),
15678         (gst_basesink_activate), (gst_basesink_change_state):
15679         Don't free preroll queue too early.
15680
15681 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15682
15683         * gst/Makefile.am:
15684         * gst/ROADMAP:
15685           Hi, I'm outdated. Please shoot me.
15686
15687 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15688
15689         * gst/gstpipeline.c: (gst_pipeline_send_event):
15690           Do not access variables after they have been deleted.
15691
15692 2005-05-19  Wim Taymans  <wim@fluendo.com>
15693
15694         * tools/gst-inspect.c: (print_plugin_features):
15695         A plugin feature does unfortunatly not use the
15696         object name yet...
15697
15698 2005-05-18  Wim Taymans  <wim@fluendo.com>
15699
15700         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
15701         Port _span() functions to new subbuffers.
15702
15703 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15704
15705         * gst/gstbin.c: (gst_bin_add_func):
15706           Fix clock settery in bins when adding kids after the clock has
15707           been selected.
15708
15709 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15710
15711         * gst/elements/gstidentity.c: (gst_identity_class_init):
15712           Workaround until signals support GstMiniObject.
15713
15714 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15715
15716         * gst/gstbuffer.c:
15717         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
15718
15719 2005-05-18  Wim Taymans  <wim@fluendo.com>
15720
15721         * gst/base/Makefile.am:
15722         * gst/base/gstadapter.c: (gst_adapter_base_init),
15723         (gst_adapter_class_init), (gst_adapter_init),
15724         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
15725         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
15726         (gst_adapter_flush), (gst_adapter_available),
15727         (gst_adapter_available_fast):
15728         * gst/base/gstadapter.h:
15729         Ported and added adapter to the base classes.
15730
15731 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15732
15733         * gst/gst.c:
15734         * gst/gstmessage.c:
15735           Make sure the class is reffed/unreffed once before threads can be
15736           used.  Fixes #304551.
15737
15738 2005-05-17  Wim Taymans  <wim@fluendo.com>
15739
15740         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
15741         (gst_basesink_chain_unlocked), (gst_basesink_activate):
15742         * gst/gstminiobject.c: (gst_mini_object_get_type),
15743         (gst_mini_object_free):
15744         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
15745         (gst_pad_push), (gst_pad_push_event):
15746         * gst/gstqueue.c: (gst_queue_change_state):
15747         Don't queue buffers in basesink when we are flushing.
15748         Unref buffer when flushing in basesink.
15749         Flush queue when going to READY
15750         Unref buffer when _push() returns an error.
15751         Don't free MiniObject instance when refcount is incremented
15752         in _finalize() so that we can recover objects.
15753
15754 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15755
15756         * docs/manual/advanced-schedulers.xml:
15757         * docs/manual/appendix-checklist.xml:
15758         * docs/pwg/advanced-clock.xml:
15759         * docs/pwg/advanced-interfaces.xml:
15760         * docs/pwg/advanced-request.xml:
15761         * docs/pwg/advanced-types.xml:
15762         * docs/pwg/intro-preface.xml:
15763         * examples/plugins/example.c: (gst_example_get_type),
15764         (gst_example_class_init), (gst_example_chain),
15765         (gst_example_set_property), (gst_example_get_property),
15766         (gst_example_change_state), (plugin_init):
15767         * examples/plugins/example.h:
15768           small doc fixes
15769
15770 2005-05-17  Wim Taymans  <wim@fluendo.com>
15771
15772         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
15773         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
15774         * gst/gstqueue.c: (gst_queue_change_state):
15775         Clear queue when going to READY.
15776         Remove IN_SETCAPS flag too.
15777
15778 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
15779
15780         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
15781           Remove implicit cast from gboolean to GstElementStateReturn;
15782           make sure we still return failure in paused => ready case if
15783           the parent class fails to change state and our own stop 
15784           vfunc succeeds.
15785
15786 2005-05-17  Wim Taymans  <wim@fluendo.com>
15787
15788         * tools/gst-launch.c: (event_loop):
15789         Message was unreffed too soon.
15790
15791 2005-05-16  Andy Wingo  <wingo@pobox.com>
15792
15793         * gst/gstbin.c (sink_iterator_filter): Err... um...
15794
15795         * check/gst/gstbin.c (test_ghost_pads): New test for the
15796         ghosting-if-elements-not-in-same-bin behavior.
15797
15798 2005-05-16  David Schleef  <ds@schleef.org>
15799
15800         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
15801         accessing refcount directly.
15802
15803 2005-05-15  David Schleef  <ds@schleef.org>
15804
15805         * check/Makefile.am: remove GstData checks
15806         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
15807         * gst/Makefile.am: add miniobject, remove data
15808         * gst/gst.h: add miniobject, remove data
15809         * gst/gstdata.c: remove
15810         * gst/gstdata.h: remove
15811         * gst/gstdata_private.h: remove
15812         * gst/gsttypes.h: remove GstEvent and GstMessage
15813         * gst/gstelement.c: (gst_element_post_message): fix for API changes
15814         * gst/gstmarshal.list: change BOXED -> OBJECT
15815
15816         Implement GstMiniObject.
15817         * gst/gstminiobject.c:
15818         * gst/gstminiobject.h:
15819
15820         Modify to be subclasses of GstMiniObject.
15821         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
15822         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
15823         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
15824         (gst_subbuffer_get_type), (gst_subbuffer_init),
15825         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
15826         (gst_buffer_span):
15827         * gst/gstbuffer.h:
15828         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
15829         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
15830         (_gst_event_copy), (gst_event_new):
15831         * gst/gstevent.h:
15832         * gst/gstmessage.c: (_gst_message_initialize),
15833         (gst_message_get_type), (gst_message_class_init),
15834         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
15835         (gst_message_new), (gst_message_new_error),
15836         (gst_message_new_warning), (gst_message_new_tag),
15837         (gst_message_new_state_changed), (gst_message_new_application):
15838         * gst/gstmessage.h:
15839         * gst/gstprobe.c: (gst_probe_perform),
15840         (gst_probe_dispatcher_dispatch):
15841         * gst/gstprobe.h:
15842         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
15843         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
15844         (_gst_query_copy), (gst_query_new):
15845
15846         Update elements for GstData -> GstMiniObject changes
15847         * gst/gstquery.h:
15848         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
15849         (gst_queue_chain), (gst_queue_loop):
15850         * gst/elements/gstbufferstore.c:
15851         (gst_buffer_store_add_buffer_func),
15852         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
15853         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15854         (gst_fakesink_render):
15855         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15856         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
15857         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
15858         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
15859         (gst_filesrc_create_read):
15860         * gst/elements/gstidentity.c: (gst_identity_class_init):
15861         * gst/elements/gsttypefindelement.c:
15862         (gst_type_find_element_src_event), (free_entry_buffers),
15863         (gst_type_find_element_handle_event):
15864         * libs/gst/dataprotocol/dataprotocol.c:
15865         (gst_dp_header_from_buffer):
15866         * libs/gst/dataprotocol/dataprotocol.h:
15867         * libs/gst/dataprotocol/dp-private.h:
15868
15869 2005-05-15  David Schleef  <ds@schleef.org>
15870
15871         * gst/elements/gstelements.c: Don't include headers that were
15872         just removed.
15873
15874 2005-05-15  David Schleef  <ds@schleef.org>
15875
15876         * gst/elements/Makefile.am: Remove some elements that don't
15877         need to be in the core (or even exist at all).
15878         * gst/elements/gstaggregator.c:
15879         * gst/elements/gstaggregator.h:
15880         * gst/elements/gstmd5sink.c:
15881         * gst/elements/gstmd5sink.h:
15882         * gst/elements/gstmultifilesrc.c:
15883         * gst/elements/gstmultifilesrc.h:
15884         * gst/elements/gstpipefilter.c:
15885         * gst/elements/gstpipefilter.h:
15886         * gst/elements/gstshaper.c:
15887         * gst/elements/gstshaper.h:
15888         * gst/elements/gststatistics.c:
15889         * gst/elements/gststatistics.h:
15890         * po/POTFILES.in: Remove above files.
15891
15892 2005-05-14  Andy Wingo  <wingo@pobox.com>
15893
15894         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
15895         so as to get the refs right.
15896         (sink_iterator_filter): New function, wraps bin_element_is_sink,
15897         unreffing objects that don't pass the filter.
15898
15899         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
15900         gst_element_set_bus.
15901         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
15902         normal cases, this will destroy the bus.
15903
15904         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
15905         object.
15906
15907         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
15908         has no sinks.
15909
15910 2005-05-13  Andy Wingo  <wingo@pobox.com>
15911
15912         * gst/gstutils.c (gst_element_link_pads): Instead of calling
15913         gst_pad_link, call pad_link_maybe_ghosting,
15914         (pad_link_maybe_ghosting): Links pads, making sure that the
15915         elements being linked are in the same bin.
15916         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
15917         Helpers for pad_link_maybe_ghosting.
15918
15919 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15920
15921         * configure.ac:
15922           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
15923
15924 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15925
15926         * docs/design/part-element-source.txt:
15927           Mention GstPushSrc
15928
15929 2005-05-12  Wim Taymans  <wim@fluendo.com>
15930
15931         * gst/base/gstbasesink.c: (gst_basesink_init),
15932         (gst_basesink_activate):
15933         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
15934         (gst_basesrc_is_seekable):
15935         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
15936         (bin_element_is_sink), (gst_bin_change_state):
15937         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15938         * gst/gstelement.h:
15939         Identify sinks by their flag to avoid overly complicated
15940         checks (fow now).
15941         Do state changes even for elements not reachable from the
15942         sinks.
15943         BaseSink is a sink now :)
15944         Some more debugging info in the basesrc.
15945
15946
15947 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15948
15949         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
15950           Implement _query on a bin, similar to _send_event.
15951
15952 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
15953
15954         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
15955           Discont event offset format should be GST_FORMAT_BYTES,
15956           not GST_FORMAT_TIME.
15957
15958 2005-05-12  Wim Taymans  <wim@fluendo.com>
15959
15960         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
15961         Same fix as Ronald's but without the signal. 
15962
15963 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15964
15965         * gst/gstutils.c: (gst_element_query_position):
15966           No, an element is not a pad.
15967
15968 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15969
15970         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
15971         (gst_bin_get_state):
15972           If a child is removed from a bin while we remove the child from
15973           the bin and while we're retrieving its state, signal this to the
15974           get_state function so we abort the wait (instead of waiting for
15975           a timeout) and can immediately re-iterate over all other elements.
15976
15977 2005-05-12  Wim Taymans  <wim@fluendo.com>
15978
15979         * gst/base/Makefile.am:
15980         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
15981         (gst_basesrc_start):
15982         * gst/base/gstbasesrc.h:
15983         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
15984         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
15985         (gst_pushsrc_init), (gst_pushsrc_create):
15986         * gst/base/gstpushsrc.h:
15987         Added is_seekable to BaseSrc
15988         Added simple PushSrc.
15989
15990 2005-05-11  Wim Taymans  <wim@fluendo.com>
15991
15992         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
15993         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
15994         (gst_element_link_pads), (gst_element_query_position),
15995         (gst_element_query_convert), (intersect_caps_func),
15996         (gst_pad_query_position), (gst_pad_query_convert):
15997         Fix refcounting in utils function.
15998         No point in trying to activate a pad when it's added, it could
15999         be added from the state change function and then we deadlock, the
16000         element has to decide what to do.
16001
16002 2005-05-10  Andy Wingo  <wingo@pobox.com>
16003
16004         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16005         *all* the arguments.
16006
16007         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16008         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16009         lock (according to the docs -- if this is wrong change the docs).
16010
16011         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16012         flush messages in the NULL state.
16013
16014         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16015         message immediately and return.
16016         (gst_bus_set_flushing): New function. If a bus is flushing, it
16017         flushes out any queued messages and immediately unrefs new
16018         messages. This is so when an element goes to NULL, all of the
16019         unhandled messages coming from it can be freed, and their
16020         references to the element dropped. In other words: message source
16021         ref considered harmful :P
16022
16023         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16024         we're finished with it.
16025
16026         * gst/gstmessage.c (gst_message_new_state_changed): 
16027
16028 2005-05-10  Wim Taymans  <wim@fluendo.com>
16029
16030         * gst/gstvalue.c: (gst_value_compare_flags),
16031         (gst_value_serialize_flags), (gst_value_deserialize_flags),
16032         (_gst_value_initialize):
16033         Added flags serialize/deserialize/compare code.
16034
16035 2005-05-09  Andy Wingo  <wingo@pobox.com>
16036
16037         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16038         Intersect the peer's caps with our caps.
16039
16040 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16041
16042         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16043         * gst/elements/gsttypefindelement.c: (find_peek):
16044           Handle negative offsets better. Fixes decodebin.
16045
16046 2005-05-09  Wim Taymans  <wim@fluendo.com>
16047
16048         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16049         (gst_base_transform_event):
16050         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16051         Implement accept_caps.
16052         Fix silly lock/unlock mismatch in base class.
16053
16054 2005-05-09  Wim Taymans  <wim@fluendo.com>
16055
16056         * docs/design/draft-push-pull.txt:
16057         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16058         * gst/elements/gstfilesink.c: (gst_filesink_init),
16059         (gst_filesink_query):
16060         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16061         (gst_type_find_handle_src_query), (find_element_get_length):
16062         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16063         * gst/gstelement.h:
16064         * gst/gstmessage.c:
16065         * gst/gstmessage.h:
16066         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16067         (gst_real_pad_get_caps_unlocked),
16068         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16069         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16070         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16071         (gst_real_pad_dispose), (gst_real_pad_finalize),
16072         (gst_pad_load_and_link), (gst_pad_save_thyself),
16073         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16074         (gst_pad_check_pull_range), (gst_pad_pull_range),
16075         (gst_pad_template_get_type), (gst_pad_template_class_init),
16076         (gst_pad_template_init), (gst_pad_template_dispose),
16077         (name_is_valid), (gst_static_pad_template_get),
16078         (gst_pad_template_new), (gst_static_pad_template_get_caps),
16079         (gst_pad_template_get_caps), (gst_pad_set_element_private),
16080         (gst_pad_get_element_private), (gst_pad_start_task),
16081         (gst_pad_pause_task), (gst_pad_stop_task),
16082         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16083         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16084         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16085         (gst_ghost_pad_new):
16086         * gst/gstpad.h:
16087         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16088         (gst_query_new_position), (gst_query_set_position),
16089         (gst_query_parse_position), (gst_query_new_convert),
16090         (gst_query_set_convert), (gst_query_parse_convert):
16091         * gst/gstquery.h:
16092         * gst/gstqueryutils.c:
16093         * gst/gstqueryutils.h:
16094         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16095         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16096         (gst_queue_handle_src_query):
16097         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16098         (gst_element_query_position), (gst_element_query_convert),
16099         (intersect_caps_func), (gst_pad_query_position),
16100         (gst_pad_query_convert):
16101         * gst/gstutils.h:
16102         * tools/gst-inspect.c: (print_pad_info):
16103         * tools/gst-xmlinspect.c: (print_element_info):
16104         Remove old query functions. Ported old code.
16105         Added position/convert helper functions to gstutils.
16106         Reordered gstpad.c code, grouping relevant things.
16107         Remove gst_message_new(), always need to speficy a specific
16108         message.
16109
16110
16111 2005-05-09  Andy Wingo  <wingo@pobox.com>
16112
16113         * gst/gstiterator.h: Add some includes.
16114
16115         * gst/gstqueryutils.h: Include more headers.
16116
16117         * gst/gstpad.h:
16118         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16119         some uses of gst_pad_query.
16120
16121         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16122         NULL out parameters.
16123         (gst_query_new_position): New proc, allocates a new position
16124         query.
16125
16126         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16127         gstqueryutils.c to the build.
16128
16129         * gst/gststructure.c (gst_structure_set_valist): Implement with
16130         the generic G_VALUE_COLLECT.
16131         
16132 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
16133
16134         * gst/Makefile.am: (gst_headers):
16135         Added gstqueryutils.h to the list of headers to install, that was
16136         a 'nachty' move wingo :)
16137
16138 2005-05-06  Andy Wingo  <wingo@pobox.com>
16139
16140         * gst/gstquery.h
16141         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16142         GstData, init a memchunk.
16143         (standard_definitions): Add a few query types, deprecate a few.
16144         (gst_query_get_type): New proc.
16145         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16146         implementation.
16147         (gst_query_new_application, gst_query_get_structure): New public
16148         procs.
16149
16150         * docs/design/draft-query.txt: Removed LINKS from the query types,
16151         because all the rest can be dispatched to other pads -- seemed
16152         ugly to have a query that couldn't be dispatched. internal_links
16153         is fine as a pad method.
16154
16155         * gst/gstpad.h: Add query2 as a pad method, add the new functions
16156         in gstpad.c, but maintain binary compatibility for the moment.
16157         Will fix before 0.9 is out.
16158
16159         * gst/gstqueryutils.c: 
16160         * gst/gstqueryutils.h: New files, implement 3 methods for each
16161         query type: parse_query, parse_response, and set. Probably need an
16162         allocator as well.
16163
16164         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16165
16166         * gst/elements/gstfilesink.c (gst_filesink_query2):
16167         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16168         query_types, and formats methods.
16169
16170         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16171         (gst_pad_set_query2_function): New functions.
16172         (gst_real_pad_init): Set query2_default as the default query2
16173         function. Basically just dispatches to internally linked pads.
16174
16175         Needs review!
16176         
16177         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16178         without using the atomic operations. Only one thread can possibly
16179         be accessing the data at this point. Changed so as to avoid
16180         gst_atomic operations.
16181
16182 2005-05-06  Wim Taymans  <wim@fluendo.com>
16183
16184         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16185         Also set caps if we use the fallback buffer alloc.
16186
16187 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
16188
16189         * docs/gst/Makefile.am:
16190         * docs/gst/gstreamer-docs.sgml:
16191         * docs/gst/gstreamer-sections.txt:
16192         * docs/gst/tmpl/gstatomic.sgml:
16193         * docs/gst/tmpl/gstmemchunk.sgml:
16194         * testsuite/elements/struct_i386.h:
16195         * win32/GStreamer.vcproj:
16196         * win32/Makefile:
16197           Purge GstAtomic stuff from docs and win32 makefiles as well
16198
16199 2005-05-06  Wim Taymans  <wim@fluendo.com>
16200
16201         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16202         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16203         * gst/gstpad.c: (gst_pad_peer_get_caps):
16204         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16205         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16206         (gst_queue_src_activate), (gst_queue_change_state):
16207         * gst/gstqueue.h:
16208         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16209         (intersect_caps_func):
16210         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16211         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16212         Some fixes for the peer_get_caps() change.
16213
16214 2005-05-06  Wim Taymans  <wim@fluendo.com>
16215
16216         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16217         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16218         (gst_basesink_activate):
16219         Actually do something with error codes returned from the push
16220         functions.
16221
16222 2005-05-06  Wim Taymans  <wim@fluendo.com>
16223
16224         * docs/design/part-element-sink.txt:
16225         * docs/design/part-element-source.txt:
16226         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16227         (gst_basesink_event), (gst_basesink_activate):
16228         * gst/base/gstbasesink.h:
16229         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16230         (gst_basesrc_activate):
16231         * gst/base/gstbasesrc.h:
16232         * gst/gstelement.c: (gst_element_pads_activate):
16233         Some more documentation.
16234         Fixed scheduling decision in _pads_activate().
16235
16236 2005-05-05  Andy Wingo  <wingo@pobox.com>
16237
16238         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16239         the test suite.
16240
16241 2005-05-05  Wim Taymans  <wim@fluendo.com>
16242
16243         * gst/base/Makefile.am:
16244         * gst/base/gstbasesink.h:
16245         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16246         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16247         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16248         (gst_collectpads_class_init), (gst_collectpads_init),
16249         (gst_collectpads_finalize), (gst_collectpads_new),
16250         (gst_collectpads_set_function), (gst_collectpads_add_pad),
16251         (find_pad), (gst_collectpads_remove_pad),
16252         (gst_collectpads_is_active), (gst_collectpads_collect),
16253         (gst_collectpads_collect_range), (gst_collectpads_start),
16254         (gst_collectpads_stop), (gst_collectpads_peek),
16255         (gst_collectpads_pop), (gst_collectpads_available),
16256         (gst_collectpads_read), (gst_collectpads_flush),
16257         (gst_collectpads_chain):
16258         * gst/base/gstcollectpads.h:
16259         * gst/elements/Makefile.am:
16260         * gst/elements/gstelements.c:
16261         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16262         (gst_fakesink_get_times), (gst_fakesink_event),
16263         (gst_fakesink_preroll), (gst_fakesink_render):
16264         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16265         (gst_filesink_init), (gst_filesink_set_location),
16266         (gst_filesink_open_file), (gst_filesink_close_file),
16267         (gst_filesink_pad_query), (gst_filesink_event),
16268         (gst_filesink_render), (gst_filesink_change_state):
16269         * gst/elements/gstfilesink.h:
16270         Added object to help in making collect pad based elements.
16271         Ported filesink.
16272         Make event function in sink baseclass return gboolean.
16273
16274 2005-05-05  Wim Taymans  <wim@fluendo.com>
16275
16276         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16277         (gst_bin_get_by_name):
16278         * gst/gstbuffer.h:
16279         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16280         (gst_clock_finalize):
16281         * gst/gstdata.c: (gst_data_replace):
16282         * gst/gstdata.h:
16283         * gst/gstelement.c: (gst_element_request_pad),
16284         (gst_element_pads_activate):
16285         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16286         (gst_object_unref):
16287         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16288         (gst_pad_set_checkgetrange_function),
16289         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16290         (gst_pad_check_pull_range), (gst_pad_pull_range),
16291         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16292         (gst_pad_pause_task), (gst_pad_stop_task):
16293         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16294         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16295         Fix name lookup in GstBin.
16296         Added _data_replace() function and _buffer_replace()
16297         Use finalize method to clean up clock.
16298         Fix refcounting on request pads.
16299         Fix pad schedule mode error.
16300         Some more object refcounting debug info,
16301
16302
16303 2005-05-04  Andy Wingo <wingo@pobox.com>
16304
16305         * check/Makefile.am:
16306         * docs/gst/tmpl/gstatomic.sgml:
16307         * docs/gst/tmpl/gstplugin.sgml:
16308         * gst/base/gstbasesink.c: (gst_basesink_activate):
16309         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16310         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16311         (gst_basesrc_query), (gst_basesrc_set_property),
16312         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16313         (gst_basesrc_activate):
16314         * gst/base/gstbasesrc.h:
16315         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16316         (gst_base_transform_src_activate):
16317         * gst/elements/gstelements.c:
16318         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16319         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16320         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16321         * gst/elements/gsttypefindelement.c: (find_element_get_length),
16322         (gst_type_find_element_checkgetrange),
16323         (gst_type_find_element_activate):
16324         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16325         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16326         (gst_caps_load_thyself):
16327         * gst/gstelement.c: (gst_element_pads_activate),
16328         (gst_element_save_thyself), (gst_element_restore_thyself):
16329         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16330         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16331         * gst/gstpad.h:
16332         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16333         (gst_xml_parse_file), (gst_xml_parse_memory),
16334         (gst_xml_get_element), (gst_xml_make_element):
16335         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16336         (_file_index_id_save_xml), (gst_file_index_commit):
16337         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16338         (read_enum), (load_pad_template), (load_feature), (load_plugin),
16339         (load_paths):
16340         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16341         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16342         * tools/gst-complete.c: (main):
16343         * tools/gst-compprep.c: (main):
16344         * tools/gst-inspect.c: (print_element_properties_info):
16345         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16346         * tools/gst-xmlinspect.c: (print_element_properties):
16347         GCC 4 fixen.
16348         
16349 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16350
16351         * gst/gstplugin.c: (gst_plugin_check_module),
16352         (gst_plugin_check_file), (gst_plugin_load_file):
16353             apply patch from #172526 to make register work on MacOSX
16354
16355 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16356
16357         * docs/gst/tmpl/gstconfig.sgml:
16358         * gst/gstconfig.h.in:
16359           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
16360         * testsuite/debug/printf_extension.c: (main):
16361           Do not use GST_PTR_FORMAT on pointers to types with
16362           sizeof < sizeof(gpointer).  Fixes test on 64-bit
16363         * testsuite/elements/property.h:
16364           use correct printf format
16365
16366 2005-05-02  Wim Taymans  <wim@fluendo.com>
16367
16368         * docs/design/draft-push-pull.txt:
16369         * docs/design/draft-query.txt:
16370         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16371         (gst_basesrc_start):
16372         Added draft for new query API.
16373         Added draft for better selecting scheduling methods.
16374         Make basesrc ignore length if the subclass does not support
16375         it.
16376
16377 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16378
16379         * gst/Makefile.am:
16380           possible fixes for automake-1.5 - _LIBADD is reserved
16381
16382 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16383
16384         * docs/faq/Makefile.am:
16385         * docs/manual/Makefile.am:
16386         * docs/manuals.mak:
16387         * docs/pwg/Makefile.am:
16388         * gst/Makefile.am:
16389           possible fixes for automake-1.5
16390
16391 2005-04-28  Wim Taymans  <wim@fluendo.com>
16392
16393         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16394         (gst_basesink_pad_getcaps), (gst_basesink_init),
16395         (gst_basesink_do_sync):
16396         * gst/gstclock.c: (gst_clock_entry_new):
16397         * gst/gstevent.c: (gst_event_discont_get_value):
16398         * gst/gstpipeline.c: (pipeline_bus_handler),
16399         (gst_pipeline_change_state):
16400         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16401         Better debugging of clocking info.
16402         Allow NULL values when getting discont values.
16403
16404 2005-04-27  Wim Taymans  <wim@fluendo.com>
16405
16406         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16407         * check/gst/gstpad.c: (gst_pad_suite):
16408         Increase timeout for checks.
16409
16410 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16411
16412         * check/Makefile.am:
16413           fix the broken rule for cleanup.  Apparently this rule is
16414           only needed on FC2, so maybe this warrants further autotool
16415           inspection.
16416
16417 2005-04-26  Wim Taymans  <wim@fluendo.com>
16418
16419         * gst/gsttrashstack.h:
16420         Ooohh. a nasty one! After having a failed pop() from the stack,
16421         it's possible that the stack is empty. In that case, don't
16422         follow the NULL pointer.
16423
16424 2005-04-25  Wim Taymans  <wim@fluendo.com>
16425
16426         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16427         (gst_pad_set_checkgetrange_function),
16428         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16429         (gst_pad_check_pull_range), (gst_pad_pull_range),
16430         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16431         (gst_pad_pause_task), (gst_pad_stop_task):
16432         * gst/gstplugin.c: (gst_plugin_load):
16433         * gst/gstplugin.h:
16434         Remove gst_library_load as it does more harm than good with
16435         the new g_module flags.
16436         Revert bogus caps template check in pad linking, pad caps
16437         are important when linking not the template, which is more
16438         general than the current caps.
16439
16440 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16441
16442         * gst/autoplug/.cvsignore:
16443         * gst/autoplug/Makefile.am:
16444         * gst/autoplug/gstsearchfuncs.c:
16445         * gst/autoplug/gstsearchfuncs.h:
16446         * gst/autoplug/gstspider.c:
16447         * gst/autoplug/gstspider.h:
16448         * gst/autoplug/gstspideridentity.c:
16449         * gst/autoplug/gstspideridentity.h:
16450         * gst/autoplug/spidertest.c:
16451           Die, spider, die.
16452
16453 2005-04-25  Wim Taymans  <wim@fluendo.com>
16454
16455         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16456         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16457         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
16458         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
16459         * gst/gstpad.h:
16460         Added stubs for unimplemented functions. 
16461
16462 2005-04-24  David Schleef  <ds@schleef.org>
16463
16464         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
16465         please fix.
16466
16467 2005-04-24  David Schleef  <ds@schleef.org>
16468
16469         Convert everything from GstAtomicInt to g_atomic_int_*, and
16470         remove gstatomic.
16471         * gst/Makefile.am:
16472         * gst/gstatomic.c:
16473         * gst/gstatomic.h:
16474         * gst/gstatomic_impl.h:
16475         * gst/gstbuffer.c:
16476         * gst/gstcaps.c:
16477         * gst/gstcaps.h:
16478         * gst/gstclock.c:
16479         * gst/gstclock.h:
16480         * gst/gstdata.c:
16481         * gst/gstdata.h:
16482         * gst/gstdata_private.h:
16483         * gst/gstevent.c:
16484         * gst/gstinfo.c:
16485         * gst/gstinfo.h:
16486         * gst/gstmessage.c:
16487         * gst/gstobject.c:
16488         * gst/gstobject.h:
16489         * gst/gststructure.c:
16490         * gst/gststructure.h:
16491         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
16492         * gst/gstutils.h:
16493
16494 2005-04-24  David Schleef  <ds@schleef.org>
16495
16496         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
16497         make the regressions tests work.  Remove some code that is no
16498         longer true.
16499         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
16500         Disable warning for pads without templates.
16501
16502 2005-04-24  David Schleef  <ds@schleef.org>
16503
16504         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
16505         functions that handle filtered links.
16506         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
16507         removed functions.
16508         * gst/gstutils.c: Fix/remove utility functions that handle
16509         filtered caps.
16510         * gst/gstutils.h:
16511         * gst/gstvalue.c: Add serialization/deserialization of caps
16512         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
16513         requires fixing so that the filter caps notation creates
16514         a capsfilter element and sets the filter_caps property.  I
16515         think everyone probably wants to keep the shorthand notation.
16516         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
16517         * docs/gst/tmpl/gstpad.sgml:
16518
16519         * gst/elements/gstelements.c: Register capsfilter element.
16520         * gst/Makefile.am: fix spacing
16521         * docs/random/ds/0.9-suggested-changes: random
16522
16523 2005-04-23  David Schleef  <ds@schleef.org>
16524
16525         * gst/elements/Makefile.am:
16526         * gst/elements/gstcapsfilter.c: New element that acts like an
16527         identity, but filters caps.  Will eventually replace filtered
16528         caps in pad linking.
16529         * gst/gstutils.c: (gst_element_create_all_pads): New function
16530         to create all the ALWAYS pads that are registered with an
16531         element class.  This functionality should eventually be
16532         merged in with GstElement initialization.
16533         * gst/gstutils.h:
16534         * testsuite/trigger/README: part of trigger test code that should
16535         have been checked in a long time ago.
16536
16537 2005-04-23  David Schleef  <ds@schleef.org>
16538
16539         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
16540         needed with new versions of libtool (nobody will confirm this),
16541         and hard to carry around.
16542         * gst/autoplug/Makefile.am:
16543         * gst/base/Makefile.am:
16544         * gst/elements/Makefile.am:
16545         * gst/indexers/Makefile.am:
16546         * gst/schedulers/Makefile.am:
16547         * libs/gst/bytestream/Makefile.am:
16548         * libs/gst/control/Makefile.am:
16549         * libs/gst/dataprotocol/Makefile.am:
16550         * libs/gst/getbits/Makefile.am:
16551
16552 2005-04-21  Wim Taymans  <wim@fluendo.com>
16553
16554         * docs/design/draft-push-pull.txt:
16555         * docs/design/part-MT-refcounting.txt:
16556         * docs/design/part-TODO.txt:
16557         * docs/design/part-caps.txt:
16558         * docs/design/part-events.txt:
16559         * docs/design/part-gstbus.txt:
16560         * docs/design/part-gstpipeline.txt:
16561         * docs/design/part-messages.txt:
16562         * docs/design/part-push-pull.txt:
16563         * docs/design/part-query.txt:
16564         Some more docs.
16565
16566 2005-04-21  Wim Taymans  <wim@fluendo.com>
16567
16568         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
16569         (gst_message_new), (gst_message_new_error),
16570         (gst_message_new_warning), (gst_message_new_tag),
16571         (gst_message_new_state_changed), (gst_message_new_application),
16572         (gst_message_get_structure):
16573         * gst/gstmessage.h:
16574         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16575         (gst_structure_copy_conditional):
16576         Use parent refcount in GstMessage to ensure GstStructure
16577         consistency.
16578         Cleaned up headers a bit.
16579         
16580
16581 2005-04-20  Wim Taymans  <wim@fluendo.com>
16582
16583         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16584         (gst_basesink_pad_getcaps), (gst_basesink_init),
16585         (gst_basesink_chain_unlocked):
16586         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
16587         (gst_type_find_helper):
16588         * gst/elements/gsttypefindelement.c:
16589         (gst_type_find_element_have_type), (gst_type_find_element_init),
16590         (stop_typefinding), (gst_type_find_element_handle_event),
16591         (find_suggest), (gst_type_find_element_chain),
16592         (gst_type_find_element_checkgetrange),
16593         (gst_type_find_element_getrange), (do_typefind),
16594         (gst_type_find_element_activate):
16595         * gst/gstbuffer.c: (_gst_buffer_sub_free),
16596         (gst_buffer_default_free), (gst_buffer_default_copy),
16597         (gst_buffer_set_caps):
16598         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
16599         (gst_caps_replace):
16600         * gst/gstmessage.c: (gst_message_new),
16601         (gst_message_new_state_changed):
16602         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16603         (gst_pad_set_checkgetrange_function),
16604         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
16605         (gst_pad_set_caps), (gst_pad_check_pull_range),
16606         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
16607         * gst/gstpad.h:
16608         * gst/gsttypefind.c: (gst_type_find_register):
16609         Make gst_caps_replace() work like other _replace() functions.
16610         Use _caps_replace() where possible.
16611         Make sure _message_new() initialises its field.
16612         Add gst_static_pad_template_get_caps()
16613
16614
16615 2005-04-18  Andy Wingo  <wingo@pobox.com>
16616
16617         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
16618         on the peer, not the pad. I think that was a typo. Pass an extra
16619         arg to see if random access is possible. Activate the pads as
16620         PULL_RANGE if possible.
16621
16622         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
16623
16624         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
16625         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
16626         to PROP_....
16627
16628 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16629
16630         * docs/faq/using.xml:
16631           Add note on gstreamer-properties (#154996).
16632
16633 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16634
16635         * docs/random/bbb/optional-properties:
16636           Some analysis on optional properties.
16637
16638 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16639
16640         * docs/gst/tmpl/gstelementfactory.sgml:
16641         * gst/gstelement.h:
16642         * gst/gstelementfactory.c: (gst_element_factory_init),
16643         (gst_element_factory_cleanup), (gst_element_register),
16644         (__gst_element_factory_add_static_pad_template),
16645         (gst_element_factory_get_static_pad_templates),
16646         (gst_element_factory_can_src_caps),
16647         (gst_element_factory_can_sink_caps):
16648         * gst/registries/Makefile.am:
16649         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
16650         (gst_xml_registry_class_init), (gst_xml_registry_init),
16651         (gst_xml_registry_new), (gst_xml_registry_set_property),
16652         (gst_xml_registry_get_property), (get_time), (make_dir),
16653         (gst_xml_registry_get_perms_func),
16654         (plugin_times_older_than_recurse), (plugin_times_older_than),
16655         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
16656         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
16657         (add_to_char_array), (read_string), (read_uint), (read_enum),
16658         (load_pad_template), (load_feature), (load_plugin), (load_paths),
16659         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
16660         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
16661         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
16662         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
16663         (gst_xml_registry_rebuild):
16664         * gst/registries/gstlibxmlregistry.h:
16665         * tools/gst-compprep.c: (main):
16666         * tools/gst-inspect.c: (print_pad_templates_info):
16667         * tools/gst-xmlinspect.c: (print_element_info):
16668           Use libxml2 for registry parsing, use staticpadtemplates in
16669           elementfactories. Makes gst_init() +/- 10x faster.
16670
16671 2005-04-12  Wim Taymans  <wim@fluendo.com>
16672
16673         * gst/base/Makefile.am:
16674         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16675         (gst_basesink_pad_getcaps), (gst_basesink_init),
16676         (gst_basesink_event), (gst_basesink_change_state):
16677         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16678         (gst_basesrc_init), (gst_basesrc_query),
16679         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16680         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16681         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16682         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16683         (gst_basesrc_stop), (gst_basesrc_activate),
16684         (gst_basesrc_change_state):
16685         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16686         (helper_find_suggest), (gst_type_find_helper):
16687         * gst/base/gsttypefindhelper.h:
16688         * gst/elements/Makefile.am:
16689         * gst/elements/gstelements.c:
16690         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16691         (gst_fakesink_get_times), (gst_fakesink_event),
16692         (gst_fakesink_preroll), (gst_fakesink_render):
16693         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16694         (gst_fakesrc_init), (gst_fakesrc_event_handler),
16695         (gst_fakesrc_get_property), (gst_fakesrc_create),
16696         (gst_fakesrc_start), (gst_fakesrc_stop):
16697         * gst/elements/gstfakesrc.h:
16698         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
16699         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16700         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16701         (gst_filesrc_create_read), (gst_filesrc_create),
16702         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
16703         (gst_filesrc_start):
16704         * gst/elements/gsttypefindelement.c:
16705         (gst_type_find_element_have_type), (gst_type_find_element_init),
16706         (start_typefinding), (stop_typefinding), (push_buffer_store),
16707         (gst_type_find_element_handle_event),
16708         (gst_type_find_element_chain),
16709         (gst_type_find_element_checkgetrange),
16710         (gst_type_find_element_getrange), (do_typefind),
16711         (gst_type_find_element_activate),
16712         (gst_type_find_element_change_state):
16713         * gst/elements/gsttypefindelement.h:
16714         * gst/gstpipeline.c: (pipeline_bus_handler):
16715         Added typefind helper.
16716         Small preroll fix in the base sink.
16717         Disable typefind code in basesrc.
16718         Crude port of typefindelement.
16719         Fakesrc cleanups.
16720
16721
16722 2005-04-11  Wim Taymans  <wim@fluendo.com>
16723
16724         * check/gst/gstbus.c: (gstbus_suite):
16725         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
16726         * check/gstcheck.h:
16727           Fix up the timeout so that the test does not fail.
16728
16729 2005-04-06  Wim Taymans  <wim@fluendo.com>
16730
16731         * gst/base/README:
16732         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16733         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
16734         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16735         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16736         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16737         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16738         (gst_basesrc_stop), (gst_basesrc_activate),
16739         (gst_basesrc_change_state), (basesrc_find_peek),
16740         (basesrc_find_suggest), (gst_basesrc_type_find):
16741         * gst/base/gstbasesrc.h:
16742         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
16743         (gst_filesrc_class_init), (gst_filesrc_init),
16744         (gst_filesrc_finalize), (gst_filesrc_set_location),
16745         (gst_filesrc_set_property), (gst_filesrc_get_property),
16746         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16747         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16748         (gst_filesrc_create_read), (gst_filesrc_create),
16749         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
16750         * gst/elements/gstfilesrc.h:
16751         * gst/gstelement.c: (gst_element_get_state_func),
16752         (gst_element_lost_state), (gst_element_pads_activate):
16753         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16754         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16755         (gst_pad_pull_range):
16756         * gst/gstpad.h:
16757         More work on the generic source base class, implement seeking,
16758         query.
16759         Make filesrc extend the base source class.
16760         Added gst_pad_set_checkgetrange_function to GstPad.
16761
16762 2005-04-06  Andy Wingo  <wingo@pobox.com>
16763
16764         * pkgconfig/gstreamer-base.pc.in:
16765         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
16766
16767         * pkgconfig/Makefile.am:
16768         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
16769
16770 2005-04-04  Wim Taymans  <wim@fluendo.com>
16771
16772         * gst/base/Makefile.am:
16773         * gst/base/README:
16774         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16775         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16776         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16777         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
16778         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16779         (gst_basesrc_base_init), (gst_basesrc_class_init),
16780         (gst_basesrc_init), (gst_basesrc_get_formats),
16781         (gst_basesrc_get_query_types), (gst_basesrc_query),
16782         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
16783         (gst_basesrc_set_property), (gst_basesrc_get_property),
16784         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
16785         (gst_basesrc_loop), (gst_basesrc_activate),
16786         (gst_basesrc_change_state):
16787         * gst/base/gstbasesrc.h:
16788         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
16789         (gst_fakesrc_class_init), (gst_fakesrc_init),
16790         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
16791         (gst_fakesrc_get_property), (gst_fakesrc_create):
16792         * gst/elements/gstfakesrc.h:
16793         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
16794         (gst_filesrc_open_file), (gst_filesrc_loop),
16795         (gst_filesrc_activate), (filesrc_find_peek),
16796         (gst_filesrc_type_find):
16797         Made base source class, make fakesrc extend it.
16798         Add comments to basesink class.
16799         Some filesrc cleanup.
16800
16801 2005-03-31  David Schleef  <ds@schleef.org>
16802
16803         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
16804         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
16805         expected to link against libgstreamer.
16806         * gst/base/Makefile.am: link against libgstreamer
16807         * gst/elements/Makefile.am: same
16808
16809 2005-03-31  Andy Wingo  <wingo@pobox.com>
16810
16811         * tests/instantiate/Makefile.am:
16812         * tests/instantiate/caps.c: Add test to test speed of caps copy
16813         and free.
16814
16815         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
16816         GMemChunk to be fair.
16817
16818         * gst/gsttrashstack.h: Remove warning about using the fallback
16819         trash stack implementation, it's still faster than malloc.
16820
16821 2005-03-30  Andy Wingo  <wingo@pobox.com>
16822
16823         * tests/complexity.c: Add a copyright.
16824
16825 2005-03-31  Wim Taymans  <wim@fluendo.com>
16826
16827         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
16828         (gst_base_transform_class_init), (gst_base_transform_init),
16829         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16830         (gst_base_transform_get_property),
16831         (gst_base_transform_sink_activate),
16832         (gst_base_transform_src_activate),
16833         (gst_base_transform_change_state):
16834         * gst/base/gstbasetransform.h:
16835         * gst/elements/gstidentity.c: (gst_identity_class_init),
16836         (gst_identity_event), (gst_identity_check_perfect),
16837         (gst_identity_transform), (gst_identity_start),
16838         (gst_identity_stop):
16839         Added start/stop methods to transform base class so subclasses 
16840         don't need to deal with state changes even.
16841
16842 2005-03-31  Wim Taymans  <wim@fluendo.com>
16843
16844         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
16845         (gst_event_new_discontinuous), (gst_event_discont_get_value):
16846         * gst/gstevent.h:
16847         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16848         (gst_pad_pull_range):
16849         Added rate to the discont event to prepare for variable speed
16850         and reverse playback.
16851
16852 2005-03-29  David Schleef  <ds@schleef.org>
16853
16854         * configure.ac:
16855         * testsuite/trigger/Makefile.am:
16856         * testsuite/trigger/trigger.c: A little example program to show
16857         how trigger-based elements can work.
16858
16859 2005-03-29  Wim Taymans  <wim@fluendo.com>
16860
16861         * gst/base/Makefile.am:
16862         * gst/base/README:
16863         * gst/base/gstbasesink.c: (gst_basesink_get_type),
16864         (gst_basesink_base_init), (gst_basesink_class_init),
16865         (gst_basesink_pad_getcaps), (gst_basesink_init),
16866         (gst_basesink_activate), (gst_basesink_change_state):
16867         * gst/base/gstbasesink.h:
16868         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
16869         (gst_base_transform_base_init), (gst_base_transform_finalize),
16870         (gst_base_transform_class_init), (gst_base_transform_init),
16871         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
16872         (gst_base_transform_event), (gst_base_transform_getrange),
16873         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
16874         (gst_base_transform_set_property),
16875         (gst_base_transform_get_property),
16876         (gst_base_transform_sink_activate),
16877         (gst_base_transform_src_activate),
16878         (gst_base_transform_change_state):
16879         * gst/base/gstbasetransform.h:
16880         * gst/elements/gstidentity.c: (gst_identity_finalize),
16881         (gst_identity_class_init), (gst_identity_init),
16882         (gst_identity_event), (gst_identity_check_perfect),
16883         (gst_identity_transform), (gst_identity_set_property),
16884         (gst_identity_get_property), (gst_identity_change_state):
16885         * gst/elements/gstidentity.h:
16886         * gst/gstelement.c: (gst_element_get_state_func),
16887         (gst_element_lost_state), (gst_element_pads_activate):
16888         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16889         (gst_pad_check_pull_range), (gst_pad_pull_range):
16890         * gst/gstpad.h:
16891         Simplify pad activation.
16892         Added function to check if pull_range can be performed.
16893         Error out when pulling inactive or flushing pads.
16894         Removed const from refcounted types as it does not make sense.
16895         Simplify pad templates in basesink
16896         Added base class for simple 1-to-1 transforms.
16897         Make identity subclass the base transform.
16898
16899 2005-03-29  Andy Wingo  <wingo@pobox.com>
16900
16901         * docs/libs/gstreamer-libs-overrides.txt: 
16902         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
16903         really don't understand what's going on, but like whatever. I want
16904         green buildbot!
16905
16906         * docs/gst/Makefile.am:
16907         * docs/libs/Makefile.am: Dist the overrides files.
16908
16909         * check/Makefile.am (clean-local): Remove .libs directories.
16910
16911         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
16912         elements to EXTRA_DIST, so po/ files are happy.
16913
16914         * po/POTFILES.in: Er, remove it here.
16915
16916         * po/POTFILES: Remove gstspider.c.
16917
16918         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
16919
16920         * docs/libs/gstreamer-libs-docs.sgml: 
16921         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
16922         bytestream.
16923
16924         * tests/complexity.c (main): Set the length of the preroll queue
16925         on the sinks to prevent a lockup.
16926
16927         * libs/gst/dataprotocol/Makefile.am: 
16928         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
16929         the same as the one in check/gst-libs/gdp.c.
16930
16931         * po/, docs/gst/: Commit automatic changes to docs and po files.
16932
16933         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
16934         the versioned libgstbase.
16935
16936         * check/Makefile.am: Depend on an unversioned gst-register, seems
16937         to make autoconf happier.
16938
16939         * gst/base/Makefile.am: Make libgstbase a versioned lib.
16940
16941 2005-03-28  Wim Taymans  <wim@fluendo.com>
16942
16943         * configure.ac:
16944         * docs/design/part-gstelement.txt:
16945         * docs/design/part-negotiation.txt:
16946         * docs/design/part-preroll.txt:
16947         * docs/design/part-scheduling.txt:
16948         * docs/design/part-states.txt:
16949         * gst/Makefile.am:
16950         * gst/base/Makefile.am:
16951         * gst/base/README:
16952         * gst/base/gstbasesink.c: (gst_basesink_get_template),
16953         (gst_basesink_base_init), (gst_basesink_class_init),
16954         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16955         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16956         (gst_basesink_set_pad_functions),
16957         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
16958         (gst_basesink_set_property), (gst_basesink_get_property),
16959         (gst_base_sink_get_template), (gst_base_sink_get_caps),
16960         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
16961         (gst_basesink_preroll_queue_push),
16962         (gst_basesink_preroll_queue_empty),
16963         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
16964         (gst_basesink_event), (gst_basesink_get_times),
16965         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
16966         (gst_basesink_chain_unlocked), (gst_basesink_chain),
16967         (gst_basesink_loop), (gst_basesink_activate),
16968         (gst_basesink_change_state):
16969         * gst/base/gstbasesink.h:
16970         * gst/elements/Makefile.am:
16971         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
16972         (gst_fakesink_class_init), (gst_fakesink_init),
16973         (gst_fakesink_set_property), (gst_fakesink_get_property),
16974         (gst_fakesink_get_times), (gst_fakesink_event),
16975         (gst_fakesink_preroll), (gst_fakesink_render),
16976         (gst_fakesink_change_state):
16977         * gst/elements/gstfakesink.h:
16978         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
16979         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
16980         * gst/gstelement.c: (gst_element_add_pad),
16981         (gst_element_get_state_func), (gst_element_abort_state),
16982         (gst_element_commit_state), (gst_element_lost_state),
16983         (gst_element_set_state), (gst_element_pads_activate):
16984         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
16985         * gst/gstpipeline.c: (gst_pipeline_send_event),
16986         (gst_pipeline_change_state):
16987         Added state change code.
16988         Added/updated docs.
16989         Added sink base class, make fakesink extend the base class.
16990         Small cleanups in GstPipeline.
16991
16992 2005-03-26  David Schleef  <ds@schleef.org>
16993
16994         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
16995         is broken and should be implemented in a different library.
16996         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
16997         * gst/gst.h: remove gstcpu.h
16998         * gst/gstcpu.c: remove
16999         * gst/gstcpu.h: remove
17000         * gst/Makefile.am.future: Remove this file.  It's ancient.
17001
17002 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17003
17004         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17005         (gst_bin_send_event):
17006           Add default event/set_manager handlers. The set_manager handler
17007           takes care that the manager is distributed over kids that were
17008           already in the bin before the manager was set. The event handler
17009           is a utility virtual function that sends the event over all sinks,
17010           so that gst_element_send_event (bin, event); has the expected
17011           behaviour.
17012         * gst/gstpad.c: (gst_pad_event_default):
17013           Re-install default event handling for discontinuities, so that
17014           seeking works without requiring hacks in applications or extra
17015           code in sinks.
17016         * gst/gstpipeline.c: (gst_pipeline_class_init),
17017         (gst_pipeline_send_event):
17018           Half hack, half utility: set a pipeline to PAUSED for seek events,
17019           since that is the only way we can guarantee a/v sync. Means that
17020           you can do gst_element_seek (pipeline, method, pos); on a pipeline
17021           and it "just works".
17022
17023 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17024
17025         * gst/gstpipeline.c: (gst_pipeline_use_clock):
17026           Lock/unlock mismatch.
17027
17028 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17029
17030         * docs/faq/gst-uninstalled:
17031           add gst-plugins-base
17032         * docs/gst/Makefile.am:
17033           don't error out until docs are fixed
17034         * docs/gst/gstreamer.types:
17035           remove thread
17036
17037 2005-03-22  Wim Taymans  <wim@fluendo.com>
17038
17039         * check/Makefile.am:
17040         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17041         * gst/gststructure.c: (gst_structure_set_valist),
17042         (gst_structure_copy_conditional):
17043         Activated more tests.
17044         Added message test.
17045         Added G_TYPE_POINTER to GstStructure.
17046         
17047
17048 2005-03-22  Wim Taymans  <wim@fluendo.com>
17049
17050         * docs/design/part-TODO.txt:
17051         * docs/design/part-events.txt:
17052         * docs/design/part-gstbin.txt:
17053         * docs/design/part-gstbus.txt:
17054         * docs/design/part-gstpipeline.txt:
17055         * docs/design/part-messages.txt:
17056         * gst/gstbus.c:
17057         * gst/gstmessage.c:
17058         Docs updates
17059
17060 2005-03-21  Wim Taymans  <wim@fluendo.com>
17061
17062         * gst/gstbus.c: (gst_bus_post):
17063         Fix copy-and-paste error.
17064
17065 2005-03-21  Wim Taymans  <wim@fluendo.com>
17066
17067         * check/Makefile.am:
17068         * gst/Makefile.am:
17069         * gst/elements/Makefile.am:
17070         * gst/elements/gstelements.c:
17071         * gst/elements/gstfakesink.c: (gst_fakesink_init),
17072         (gst_fakesink_event), (gst_fakesink_chain):
17073         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17074         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17075         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17076         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17077         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17078         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17079         (gst_fakesrc_loop), (gst_fakesrc_activate),
17080         (gst_fakesrc_change_state):
17081         * gst/elements/gstfakesrc.h:
17082         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17083         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17084         (gst_filesrc_open_file), (gst_filesrc_loop),
17085         (gst_filesrc_activate), (gst_filesrc_change_state),
17086         (filesrc_find_peek), (filesrc_find_suggest),
17087         (gst_filesrc_type_find):
17088         * gst/elements/gstidentity.c: (gst_identity_finalize),
17089         (gst_identity_class_init), (gst_identity_init),
17090         (gst_identity_proxy_getcaps), (identity_queue_push),
17091         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17092         (gst_identity_getrange), (gst_identity_chain),
17093         (gst_identity_sink_loop), (gst_identity_src_loop),
17094         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17095         (gst_identity_set_property), (gst_identity_get_property),
17096         (gst_identity_change_state):
17097         * gst/elements/gstidentity.h:
17098         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17099         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17100         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17101         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17102         (gst_tee_sink_activate):
17103         * gst/elements/gsttee.h:
17104         * gst/gst.c: (gst_register_core_elements), (init_post):
17105         * gst/gst.h:
17106         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17107         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17108         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17109         (gst_bin_change_state):
17110         * gst/gstbin.h:
17111         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17112         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17113         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17114         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17115         (gst_bus_set_sync_handler), (gst_bus_create_watch),
17116         (bus_watch_callback), (bus_watch_destroy),
17117         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17118         (poll_timeout), (gst_bus_poll):
17119         * gst/gstbus.h:
17120         * gst/gstcaps.h:
17121         * gst/gstdata.h:
17122         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17123         (gst_element_post_message), (gst_element_message_full),
17124         (gst_element_get_state_func), (gst_element_get_state),
17125         (gst_element_abort_state), (gst_element_commit_state),
17126         (gst_element_lost_state), (gst_element_set_state),
17127         (gst_element_pads_activate), (gst_element_change_state),
17128         (gst_element_dispose), (gst_element_set_manager_func),
17129         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17130         (gst_element_set_manager), (gst_element_get_manager),
17131         (gst_element_set_bus), (gst_element_get_bus),
17132         (gst_element_set_scheduler), (gst_element_get_scheduler):
17133         * gst/gstelement.h:
17134         * gst/gstevent.c: (gst_event_new_segment_seek),
17135         (gst_event_new_flush):
17136         * gst/gstevent.h:
17137         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17138         (_gst_message_free), (gst_message_get_type), (gst_message_new),
17139         (gst_message_new_eos), (gst_message_new_error),
17140         (gst_message_new_warning), (gst_message_new_tag),
17141         (gst_message_new_state_changed), (gst_message_new_application),
17142         (gst_message_get_structure), (gst_message_parse_tag),
17143         (gst_message_parse_state_changed), (gst_message_parse_error),
17144         (gst_message_parse_warning):
17145         * gst/gstmessage.h:
17146         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17147         (gst_real_pad_set_property), (gst_pad_set_active),
17148         (gst_pad_is_active), (gst_pad_set_blocked_async),
17149         (gst_pad_set_blocked), (gst_pad_is_blocked),
17150         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17151         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17152         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17153         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17154         (gst_pad_link_filtered), (gst_pad_relink_filtered),
17155         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17156         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17157         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17158         (gst_pad_set_caps), (gst_pad_configure_sink),
17159         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17160         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17161         (gst_real_pad_dispose), (gst_real_pad_finalize),
17162         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17163         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17164         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17165         * gst/gstpad.h:
17166         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17167         (pipeline_bus_handler), (gst_pipeline_change_state),
17168         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17169         * gst/gstpipeline.h:
17170         * gst/gstprobe.h:
17171         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17172         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17173         (gst_queue_link_src), (gst_queue_bufferalloc),
17174         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17175         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17176         (gst_queue_loop), (gst_queue_handle_src_event),
17177         (gst_queue_handle_src_query), (gst_queue_src_activate),
17178         (gst_queue_change_state):
17179         * gst/gstqueue.h:
17180         * gst/gstscheduler.c: (gst_scheduler_init),
17181         (gst_scheduler_dispose), (gst_scheduler_create_task),
17182         (gst_scheduler_factory_create):
17183         * gst/gstscheduler.h:
17184         * gst/gststructure.c: (gst_structure_get_type),
17185         (gst_structure_copy_conditional):
17186         * gst/gststructure.h:
17187         * gst/gsttaginterface.h:
17188         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17189         (gst_task_init), (gst_task_dispose), (gst_task_create),
17190         (gst_task_get_state), (gst_task_start), (gst_task_stop),
17191         (gst_task_pause):
17192         * gst/gsttask.h:
17193         * gst/gstthread.c:
17194         * gst/gstthread.h:
17195         * gst/gsttypes.h:
17196         * gst/schedulers/Makefile.am:
17197         * gst/schedulers/cothreads_compat.h:
17198         * gst/schedulers/entryscheduler.c:
17199         * gst/schedulers/faircothreads.c:
17200         * gst/schedulers/faircothreads.h:
17201         * gst/schedulers/fairscheduler.c:
17202         * gst/schedulers/gstbasicscheduler.c:
17203         * gst/schedulers/gstoptimalscheduler.c:
17204         * gst/schedulers/gthread-cothreads.h:
17205         * gst/schedulers/threadscheduler.c:
17206         (gst_thread_scheduler_task_get_type),
17207         (gst_thread_scheduler_task_class_init),
17208         (gst_thread_scheduler_task_init),
17209         (gst_thread_scheduler_task_start),
17210         (gst_thread_scheduler_task_stop),
17211         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17212         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17213         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17214         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17215         (plugin_init):
17216         * libs/gst/Makefile.am:
17217         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17218         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17219         (gst_file_pad_parent_set):
17220         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17221         (gst_dp_event_from_packet):
17222         * tests/complexity.c: (main):
17223         * tests/mass_elements.c: (main):
17224         * testsuite/states/locked.c: (message_received), (main):
17225         * testsuite/states/parent.c: (main):
17226         * tools/gst-inspect.c: (print_element_flag_info),
17227         (print_implementation_info), (print_pad_info):
17228         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17229         (main):
17230         * tools/gst-md5sum.c: (event_loop), (main):
17231         * tools/gst-typefind.c: (main):
17232         * tools/gst-xmlinspect.c: (print_element_info):
17233         Next big merge.
17234         Added GstBus for mainloop integration.
17235         Added GstMessage for sending notifications on the bus.
17236         Added GstTask as an abstraction for pipeline entry points.
17237         Removed GstThread.
17238         Removed Schedulers.
17239         Simplified GstQueue for multithreaded core.
17240         Made _link threadsafe, removed old capsnego.
17241         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17242         Added pad blocking functions.
17243         Reworked scheduling functions in GstPad to prepare for
17244         scheduling updates soon.
17245         Moved events out of data stream.
17246         Simplified GstEvent types.
17247         Added return values to push/pull.
17248         Removed clocking from GstElement.
17249         Added prototypes for state change function for next merge.
17250         Removed iterate from bins and state change management.
17251         Fixed some elements, disabled others for now.
17252         Fixed -inspect and -launch.
17253         Added check for GstBus.
17254
17255 2005-03-10  Wim Taymans  <wim@fluendo.com>
17256
17257         * docs/design/part-MT-refcounting.txt:
17258         * docs/design/part-clocks.txt:
17259         * docs/design/part-gstelement.txt:
17260         * docs/design/part-gstobject.txt:
17261         * docs/design/part-standards.txt:
17262         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17263         (gst_bin_remove_func), (gst_bin_remove):
17264         * gst/gstbin.h:
17265         * gst/gstbuffer.c:
17266         * gst/gstcaps.h:
17267         * testsuite/clock/clock1.c: (main):
17268         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17269         (main):
17270         * testsuite/dlopen/loadgst.c: (do_test):
17271         * testsuite/refcounting/bin.c: (add_remove_test1),
17272         (add_remove_test2), (main):
17273         * testsuite/refcounting/element.c: (main):
17274         * testsuite/refcounting/element_pad.c: (main):
17275         * testsuite/refcounting/pad.c: (main):
17276         * tools/gst-launch.c: (sigint_handler_sighandler):
17277         * tools/gst-typefind.c: (main):
17278         Doc updates.
17279         Added doc about clock.
17280         removed gst_bin_iterate_recurse_up(), marked methods
17281         for removal.
17282         Fix more testsuites.
17283
17284 2005-03-09  Wim Taymans  <wim@fluendo.com>
17285
17286         * gst/gstpad.c: (gst_pad_get_direction),
17287         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17288         (gst_pad_collect_valist):
17289         * testsuite/bins/interface.c: (main):
17290         * testsuite/caps/audioscale.c: (test_caps):
17291         * testsuite/caps/caps.c: (test1), (test2), (test3):
17292         * testsuite/caps/deserialize.c: (main):
17293         * testsuite/caps/enumcaps.c: (main):
17294         * testsuite/caps/filtercaps.c: (main):
17295         * testsuite/caps/intersect2.c: (main):
17296         * testsuite/caps/random.c: (main):
17297         * testsuite/caps/renegotiate.c: (my_fixate), (main):
17298         * testsuite/caps/sets.c: (check_caps):
17299         * testsuite/caps/simplify.c: (check_caps), (main):
17300         * testsuite/caps/subtract.c: (check_caps):
17301         Fix _pad_get_direction wrt ghostpads.
17302         Fix caps testsuite.
17303
17304 2005-03-09  Wim Taymans  <wim@fluendo.com>
17305
17306         * check/Makefile.am:
17307         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17308         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17309         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17310         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17311         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17312         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17313         (gst_bin_remove), (gst_bin_iterate_recurse_up),
17314         (bin_element_is_sink), (gst_bin_iterate_sinks),
17315         (gst_bin_iterate_all_by_interface):
17316         * gst/gstbin.h:
17317         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17318         (gst_element_change_state), (gst_element_dispose),
17319         (gst_element_finalize), (gst_element_set_loop_function):
17320         * gst/gstelement.h:
17321         * gst/gstiterator.c: (find_custom_fold_func):
17322         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17323         (gst_pad_collectv), (gst_pad_collect_valist),
17324         (gst_pad_template_new):
17325         * gst/gstpipeline.c: (gst_pipeline_class_init),
17326         (gst_pipeline_dispose), (gst_pipeline_set_property),
17327         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17328         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17329         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17330         * gst/gstutils.h:
17331         * gst/schedulers/entryscheduler.c:
17332         * gst/schedulers/gstbasicscheduler.c:
17333         (gst_basic_scheduler_cothreaded_chain),
17334         (gst_basic_scheduler_chain_add_element):
17335         * testsuite/bins/interface.c: (main):
17336         Added GstBin test.
17337         Added GstSystemClock test.
17338         Implemented clock distribution code in GstBin.
17339         Implemented iterate sinks method for future use.
17340         Rearranged gstelement.h
17341         Fix GstIterator comparison bug.
17342         Moved some code to GstPipeline, mostly clocking related.
17343
17344 2005-03-09  Wim Taymans  <wim@fluendo.com>
17345
17346         * configure.ac:
17347         * gst/gst_private.h:
17348         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17349         (gst_bin_remove_func), (gst_bin_remove),
17350         (gst_bin_get_by_name_recurse_up):
17351         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17352         (gst_clock_id_compare_func), (gst_clock_id_wait),
17353         (gst_clock_id_wait_async), (gst_clock_init),
17354         (gst_clock_adjust_unlocked), (gst_clock_get_time):
17355         * gst/gstelement.h:
17356         * gst/gstinfo.c: (_gst_debug_init):
17357         * gst/gstobject.h:
17358         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17359         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17360         * gst/gstpad.h:
17361         Bump version number, we're now 0.9.0
17362         Add future debugging category.
17363         Fix NULL _unref() in _get_by_name_recurse_up
17364         Rearrange gstpad.h.
17365         Update some docs.
17366
17367 2005-03-08  Wim Taymans  <wim@fluendo.com>
17368
17369         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17370         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17371         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17372         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17373         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17374         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17375         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17376         * gst/elements/gstidentity.c: (gst_identity_class_init):
17377         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17378         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17379         * gst/elements/gstshaper.c: (gst_shaper_class_init):
17380         * gst/elements/gststatistics.c: (gst_statistics_class_init):
17381         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17382         (gst_tee_link):
17383         * gst/gstelement.c: (gst_element_class_init),
17384         (gst_element_base_class_init), (gst_element_init),
17385         (gst_element_get_random_pad), (gst_element_wait_state_change),
17386         (gst_element_change_state), (gst_element_dispose),
17387         (gst_element_finalize), (gst_element_set_loop_function):
17388         * gst/gstelement.h:
17389         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17390         * gst/gstthread.c: (gst_thread_class_init),
17391         (gst_thread_release_children_locks), (gst_thread_change_state):
17392         * gst/schedulers/gstbasicscheduler.c:
17393         (gst_basic_scheduler_loopfunc_wrapper),
17394         (gst_basic_scheduler_chain_wrapper),
17395         (gst_basic_scheduler_src_wrapper),
17396         (gst_basic_scheduler_remove_element):
17397         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17398         Remove threadsafe properties. Fix elements because GObject
17399         complains when installing a property before declaring a
17400         set/get_property handler.
17401         Rearrange gstelement.h file, use STATE macros for state locks.
17402         Free mutexes in the finalize method instead of dispose.
17403
17404 2005-03-08  Wim Taymans  <wim@fluendo.com>
17405
17406         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17407         * gst/gstthread.c: (gst_thread_release_children_locks):
17408         Added parentage check.
17409         Fix build og GstThread again.
17410
17411 2005-03-08  Wim Taymans  <wim@fluendo.com>
17412
17413         * docs/design/part-MT-refcounting.txt:
17414         * docs/design/part-conventions.txt:
17415         * docs/design/part-gstobject.txt:
17416         * docs/design/part-relations.txt:
17417         * docs/design/part-standards.txt:
17418         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17419         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17420         (gst_bin_get_by_name), (gst_bin_get_by_interface),
17421         (gst_bin_iterate_all_by_interface):
17422         * gst/gstbuffer.h:
17423         * gst/gstclock.h:
17424         * gst/gstelement.c: (gst_element_class_init),
17425         (gst_element_change_state), (gst_element_set_loop_function):
17426         * gst/gstelement.h:
17427         * gst/gstiterator.c:
17428         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17429         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17430         (gst_object_dispatch_properties_changed), (gst_object_set_name),
17431         (gst_object_set_parent), (gst_object_unparent),
17432         (gst_object_check_uniqueness):
17433         * gst/gstobject.h:
17434         Docs updates, clean up some headers.
17435
17436 2005-03-07  Wim Taymans  <wim@fluendo.com>
17437
17438         * check/.cvsignore:
17439         * check/Makefile.am:
17440         * check/gst-libs/.cvsignore:
17441         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17442         * check/gst/.cvsignore:
17443         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
17444         (START_TEST), (gstbus_suite), (main):
17445         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
17446         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
17447         (gst_data_suite), (main):
17448         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
17449         (add_fold_func), (gstiterator_suite), (main):
17450         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
17451         (thread_name_object), (thread_name_object_default),
17452         (gst_object_name_compare), (gst_object_suite), (main):
17453         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
17454         (gst_pad_suite), (main):
17455         * check/gstcheck.c: (gst_check_log_message_func),
17456         (gst_check_log_critical_func), (gst_check_init):
17457         * check/gstcheck.h:
17458         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17459         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
17460         Added checks.
17461
17462 2005-03-07  Wim Taymans  <wim@fluendo.com>
17463
17464         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17465         (gst_list_iterator_next), (gst_list_iterator_resync),
17466         (gst_list_iterator_free), (gst_iterator_new_list),
17467         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
17468         (gst_iterator_free), (gst_iterator_push), (filter_next),
17469         (filter_resync), (filter_uninit), (filter_free),
17470         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
17471         (gst_iterator_foreach), (find_custom_fold_func),
17472         (gst_iterator_find_custom):
17473         * gst/gstiterator.h:
17474         Added missing files.
17475
17476 2005-03-07  Wim Taymans  <wim@fluendo.com>
17477
17478         * Makefile.am:
17479         * configure.ac:
17480         * docs/design/part-MT-refcounting.txt:
17481         * docs/design/part-conventions.txt:
17482         * docs/design/part-gstobject.txt:
17483         * docs/design/part-relations.txt:
17484         * examples/mixer/mixer.c: (main):
17485         * examples/thread/thread.c: (eos), (main):
17486         * gst/Makefile.am:
17487         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
17488         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
17489         (gst_spider_plug_from_srcpad):
17490         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
17491         (gst_spider_identity_change_state),
17492         (gst_spider_identity_sink_loop_type_finding):
17493         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
17494         * gst/elements/gstidentity.c: (gst_identity_init):
17495         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
17496         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
17497         * gst/elements/gsttypefindelement.c: (free_entry):
17498         * gst/gst.c:
17499         * gst/gst.h:
17500         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
17501         (gst_bin_set_clock_func), (gst_bin_auto_clock),
17502         (gst_bin_set_index), (gst_bin_set_element_sched),
17503         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
17504         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
17505         (gst_bin_iterate_elements), (iterate_child_recurse),
17506         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
17507         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
17508         (compare_interface), (gst_bin_get_by_interface),
17509         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
17510         * gst/gstbin.h:
17511         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
17512         (gst_buffer_default_free), (gst_buffer_default_copy),
17513         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
17514         (gst_buffer_create_sub):
17515         * gst/gstbuffer.h:
17516         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
17517         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
17518         (gst_caps_unref), (gst_static_caps_get),
17519         (gst_caps_remove_and_get_structure), (gst_caps_append),
17520         (gst_caps_append_structure), (gst_caps_remove_structure),
17521         (gst_caps_copy_nth), (gst_caps_set_simple),
17522         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
17523         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
17524         (gst_caps_structure_intersect_field), (gst_caps_intersect),
17525         (gst_caps_structure_subtract_field), (gst_caps_subtract),
17526         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
17527         (gst_caps_structure_figure_out_union),
17528         (gst_caps_switch_structures), (gst_caps_do_simplify),
17529         (gst_caps_replace), (gst_caps_from_string),
17530         (gst_caps_copy_conditional):
17531         * gst/gstcaps.h:
17532         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
17533         (_gst_clock_id_free), (gst_clock_id_unref),
17534         (gst_clock_id_compare_func), (gst_clock_id_wait),
17535         (gst_clock_id_wait_async), (gst_clock_class_init),
17536         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
17537         (gst_clock_get_time), (gst_clock_set_time_adjust),
17538         (gst_clock_set_property), (gst_clock_get_property):
17539         * gst/gstclock.h:
17540         * gst/gstcompat.h:
17541         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
17542         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
17543         * gst/gstdata.h:
17544         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17545         (gst_element_requires_clock), (gst_element_provides_clock),
17546         (gst_element_set_clock), (gst_element_clock_wait),
17547         (gst_element_wait), (gst_element_set_time_delay),
17548         (gst_element_is_indexable), (gst_element_add_pad),
17549         (gst_element_add_ghost_pad), (gst_element_remove_pad),
17550         (pad_compare_name), (gst_element_get_static_pad),
17551         (gst_element_request_pad), (gst_element_get_request_pad),
17552         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
17553         (gst_element_class_get_pad_template_list),
17554         (gst_element_class_get_pad_template), (gst_element_error_func),
17555         (gst_element_get_random_pad), (gst_element_get_event_masks),
17556         (gst_element_send_event), (gst_element_seek),
17557         (gst_element_get_query_types), (gst_element_query),
17558         (gst_element_get_formats), (gst_element_convert),
17559         (gst_element_is_locked_state), (gst_element_set_locked_state),
17560         (gst_element_sync_state_with_parent), (gst_element_change_state),
17561         (gst_element_finalize), (gst_element_yield),
17562         (gst_element_interrupt), (gst_element_set_scheduler),
17563         (gst_element_get_scheduler), (gst_element_set_loop_function):
17564         * gst/gstelement.h:
17565         * gst/gstevent.h:
17566         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
17567         (gst_format_get_by_nick), (gst_format_get_details),
17568         (gst_format_iterate_definitions):
17569         * gst/gstformat.h:
17570         * gst/gstindex.c: (gst_index_gtype_resolver):
17571         * gst/gstinfo.c:
17572         * gst/gstinfo.h:
17573         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
17574         (gst_mem_chunk_free):
17575         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17576         (gst_object_ref), (gst_object_unref), (gst_object_sink),
17577         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
17578         (gst_object_dispatch_properties_changed),
17579         (gst_object_set_name_default), (gst_object_set_name),
17580         (gst_object_get_name), (gst_object_set_name_prefix),
17581         (gst_object_get_name_prefix), (gst_object_set_parent),
17582         (gst_object_get_parent), (gst_object_unparent),
17583         (gst_object_check_uniqueness), (gst_object_save_thyself),
17584         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
17585         (gst_object_set_property), (gst_object_get_property),
17586         (gst_object_get_path_string):
17587         * gst/gstobject.h:
17588         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17589         (gst_real_pad_init), (gst_real_pad_get_property),
17590         (gst_pad_custom_new), (gst_pad_get_direction),
17591         (gst_pad_set_active), (gst_pad_is_active),
17592         (gst_pad_set_event_function), (gst_pad_is_linked),
17593         (gst_pad_link_free), (gst_pad_link_intersect),
17594         (gst_pad_link_fixate), (gst_pad_set_caps),
17595         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
17596         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
17597         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
17598         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
17599         (gst_pad_get_caps), (gst_pad_peer_get_caps),
17600         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
17601         (gst_pad_realize), (gst_pad_get_allowed_caps),
17602         (gst_real_pad_dispose), (gst_real_pad_finalize),
17603         (gst_pad_collectv), (gst_pad_collect_valist),
17604         (gst_pad_template_dispose), (gst_pad_template_new),
17605         (gst_pad_get_internal_links):
17606         * gst/gstpad.h:
17607         * gst/gstpipeline.c: (gst_pipeline_dispose),
17608         (gst_pipeline_change_state):
17609         * gst/gstpipeline.h:
17610         * gst/gstplugin.c:
17611         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
17612         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
17613         * gst/gstpluginfeature.h:
17614         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
17615         * gst/gstquery.c: (_gst_query_type_initialize),
17616         (gst_query_type_register), (gst_query_type_get_by_nick),
17617         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
17618         * gst/gstquery.h:
17619         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
17620         * gst/gstscheduler.c: (gst_scheduler_add_element),
17621         (gst_scheduler_factory_create):
17622         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17623         (gst_structure_free), (gst_structure_set_name),
17624         (gst_structure_id_set_value), (gst_structure_set_value),
17625         (gst_structure_set_valist), (gst_structure_remove_field),
17626         (gst_structure_remove_fields),
17627         (gst_structure_remove_fields_valist),
17628         (gst_structure_remove_all_fields), (gst_structure_foreach),
17629         (gst_structure_map_in_place),
17630         (gst_caps_structure_fixate_field_nearest_int),
17631         (gst_caps_structure_fixate_field_nearest_double):
17632         * gst/gststructure.h:
17633         * gst/gstsystemclock.c: (gst_system_clock_class_init),
17634         (gst_system_clock_init), (gst_system_clock_dispose),
17635         (gst_system_clock_async_thread),
17636         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
17637         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
17638         * gst/gstsystemclock.h:
17639         * gst/gsttag.c: (gst_tag_list_add_value_internal),
17640         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
17641         * gst/gsttaginterface.c:
17642         * gst/gstthread.c: (gst_thread_dispose),
17643         (gst_thread_release_children_locks), (gst_thread_change_state),
17644         (gst_thread_main_loop):
17645         * gst/gsttrashstack.h:
17646         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
17647         * gst/gsttypes.h:
17648         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17649         (gst_element_request_pad), (gst_element_get_pad_from_template),
17650         (gst_element_request_compatible_pad),
17651         (gst_element_get_compatible_pad_filtered),
17652         (gst_element_get_compatible_pad), (gst_element_state_get_name),
17653         (gst_element_link_pads_filtered), (gst_element_link_filtered),
17654         (gst_element_link_many), (gst_element_link),
17655         (gst_element_link_pads), (gst_element_unlink_pads),
17656         (gst_element_unlink_many), (gst_element_unlink),
17657         (gst_pad_can_link_filtered), (gst_pad_can_link),
17658         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
17659         (gst_object_default_error), (gst_bin_add_many),
17660         (gst_bin_remove_many), (gst_element_populate_std_props),
17661         (gst_element_class_install_std_props), (gst_buffer_merge),
17662         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
17663         (link_fold_func), (gst_pad_proxy_setcaps):
17664         * gst/gstutils.h:
17665         * gst/gstvalue.c: (gst_value_deserialize_string):
17666         * gst/parse/grammar.y:
17667         * gst/schedulers/gstbasicscheduler.c:
17668         (gst_basic_scheduler_cothreaded_chain),
17669         (gst_basic_scheduler_chain_recursive_add),
17670         (gst_basic_scheduler_pad_link):
17671         * gst/schedulers/gstoptimalscheduler.c:
17672         (get_group_schedule_function),
17673         (gst_opt_scheduler_state_transition),
17674         (gst_opt_scheduler_add_element), (element_get_reachables_func):
17675         * libs/gst/bytestream/bytestream.c:
17676         * libs/gst/dataprotocol/dataprotocol.c:
17677         (gst_dp_header_from_buffer):
17678         * po/nb.po:
17679         * po/ru.po:
17680         * tests/threadstate/threadstate2.c: (eos):
17681         * tools/gst-compprep.c: (main):
17682         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
17683         (print_pad_info), (print_children_info):
17684         * tools/gst-launch.c: (idle_func), (main):
17685         * tools/gst-md5sum.c: (idle_func), (main):
17686         * tools/gst-xmlinspect.c: (print_element_info):
17687         First THREADED backport attempt, focusing on adding locks and
17688         making sure the API is threadsafe. Needs more work. More docs
17689         follow this week.
17690
17691 2005-02-24  Andy Wingo  <wingo@pobox.com>
17692
17693         * tests/bench-complexity.scm:
17694         * tests/complexity.gnuplot: New files, good for running complexity
17695         benchmarks.
17696
17697         * tests/Makefile.am:
17698         * tests/complexity.c: New test, sets up N elements, at each level
17699         teeing into M streams per element. Eeeenteresting.
17700
17701         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
17702         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
17703         running bench-mass_elements.scm.
17704
17705         * tests/bench-mass_elements.scm: New script, runs mass_elements
17706         for various numbers of identities, outputting the results to a
17707         file. Requires guile 1.6. Just for testing.
17708
17709 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17710
17711         * gst/schedulers/fairscheduler.c:
17712           compile with debug disabled
17713
17714 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17715
17716         * configure.ac:
17717           hunting season on 0.9 is now OPEN