docs/: add a gdp image
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * docs/README:
4         * docs/images/gdp-header.svg:
5           add a gdp image
6         * docs/libs/Makefile.am:
7         * docs/libs/gdp-header.png:
8         * libs/gst/dataprotocol/dataprotocol.c:
9           add it to the API docs
10         * docs/manual/intro-motivation.xml:
11           fix typo
12
13 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
14
15         * gst/gst.c: (scan_and_update_registry), (init_post):
16           If the fork()'ed child process can't write the updated registry cache
17           file to disk for some reason, make it exit with a failure exit code,
18           so that the parent can then re-scan the plugins itself and update the
19           registry structures in memory and work with that (rather than failing
20           when creating elements because seemingly no plugins are available).
21           Refactor registry scanning code into separate function for this and
22           also separate fork() and non-fork() code paths. Fixes #344748.
23
24 2006-06-13  Wim Taymans  <wim@fluendo.com>
25
26         * docs/manual/advanced-dataaccess.xml:
27         Fix wrong PluginDesc. Fixes #344755.
28
29 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
30
31         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
32           Fix silly bug that prevented us from creating
33           ~/.gstreamer-0.10 and writing the registry in one
34           go (the first call to g_mkstemp() would overwrite the
35           placeholder in the template string, so the second call
36           to g_mkstemp() after creating the missing directory
37           would then error out with 'invalid argument').
38
39 2006-06-13  Edward Hervey  <edward@fluendo.com>
40
41         * gst/gst.c: (init_post):
42         Free string.
43
44 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
45
46         * gst/glib-compat-private.h:
47         * gst/glib-compat.c:
48         * gst/glib-compat.h:
49         * gst/gstvalue.c: (gst_value_serialize_flags):
50           remove GLib 2.6 compatibility code
51
52 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
53
54         * gst/parse/Makefile.am:
55           Fix build with 'make -j N' even more (#340016).
56
57 2006-06-12  Wim Taymans  <wim@fluendo.com>
58
59         * docs/gst/gstreamer-sections.txt:
60         Fix docs.
61
62 2006-06-12  Wim Taymans  <wim@fluendo.com>
63
64         * gst/gstsegment.c: (gst_segment_set_duration),
65         (gst_segment_set_last_stop), (gst_segment_set_seek),
66         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
67         (gst_segment_to_running_time), (gst_segment_clip):
68         Use G_UNLIKELY to help the compiler a bit.
69
70 2006-06-12  Wim Taymans  <wim@fluendo.com>
71
72         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
73
74         * gst/gstevent.c: (gst_event_get_type):
75         * gst/gstmessage.c:
76         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
77         (gst_pad_push):
78         constify quark registration strings. Fixes #344115
79         Avoid unneeded type checking is _pad_push() by internally
80         calling gst_pad_chain_unchecked().
81
82 2006-06-12  Wim Taymans  <wim@fluendo.com>
83
84         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
85         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
86         (gst_subbuffer_finalize), (gst_buffer_create_sub),
87         (gst_buffer_is_span_fast), (gst_buffer_span):
88         Init _type for consistency.
89         Use _FLAGS macro to avoid type check.
90         Avoid unneeded type checks in subbufer code.
91
92 2006-06-12  Wim Taymans  <wim@fluendo.com>
93
94         * gst/gst.c: (gst_debug_help):
95         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
96         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
97         (gst_plugin_feature_list_free):
98         * gst/gstregistry.c: (gst_registry_add_plugin),
99         (gst_registry_add_feature), (gst_registry_plugin_filter),
100         (gst_registry_feature_filter), (gst_registry_find_plugin),
101         (gst_registry_find_feature), (gst_registry_get_plugin_list),
102         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
103         * gst/gstregistryxml.c: (load_feature),
104         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
105         * gst/gstminiobject.c: (gst_mini_object_unref),
106         (gst_mini_object_replace), (gst_value_mini_object_free),
107         (gst_value_mini_object_copy):
108         Use _CAST macros to avoid unneeded type checking.
109         Added some more G_UNLIKELY.
110
111 2006-06-12  Wim Taymans  <wim@fluendo.com>
112
113         * gst/gstbuffer.h:
114         Avoid unneeded type checking.
115         API: GST_BUFFER_IS_DISCONT
116
117         * gst/gstminiobject.h:
118         Avoid type check in flag accessor.
119
120         * gst/gstelementfactory.h:
121         * gst/gstplugin.h:
122         * gst/gstpluginfeature.h:
123         Add _CAST macros.
124         API: GST_ELEMENT_FACTORY_CAST
125         API: GST_PLUGIN_CAST
126         API: GST_PLUGIN_FEATURE_CAST
127
128 2006-06-12  Wim Taymans  <wim@fluendo.com>
129
130         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
131         (gst_object_unref):
132         Add G_UNLIKELY in type registration.
133         Avoid type check in _ref/_unref since that is also
134         done in glib.
135
136 2006-06-12  Wim Taymans  <wim@fluendo.com>
137
138         * gst/gsterror.c: (gst_g_error_get_type):
139         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
140         (gst_static_pad_template_get_type):
141         * gst/gsttaglist.c: (gst_tag_list_get_type):
142         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
143         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
144         * gst/gsturi.c: (gst_uri_handler_get_type):
145         * gst/gstvalue.c: (gst_date_get_type):
146         * gst/gstxml.c: (gst_xml_get_type):
147         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
148         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
149         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
150         Add G_UNLIKELY in type registration.
151
152 2006-06-12  Wim Taymans  <wim@fluendo.com>
153
154         * tools/gst-inspect.c: (print_signal_info):
155         Properly print enum values.
156
157 2006-06-12  Wim Taymans  <wim@fluendo.com>
158
159         * gst/gstinfo.c: (gst_debug_set_active),
160         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
161         * gst/gstinfo.h:
162         Add some G_[UN]LIKELY.
163         Maintain __gst_debug_min to avoid formatting the arguments of
164         debug messages that will be dropped anyway to avoid a lot of 
165         overhead from the debugging system.
166
167 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
168
169         * po/POTFILES.in:
170         * po/POTFILES.skip:
171           add missing files containing translatable strings, tell intltool about
172           one exception
173
174 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
175
176         * tests/check/libs/.cvsignore:
177         add test-binary to ignore list
178
179 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
180
181         * docs/libs/gstreamer-libs-docs.sgml:
182         reorder (put dp into a chapter) and indent
183
184 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
185
186         * configure.ac:
187           back to HEAD
188
189 === release 0.10.8 ===
190
191 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
192
193         * configure.ac:
194           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
195
196 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
197
198         * gst/gst.c: (init_post):
199           move pid declaration to declaration block
200
201 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
202
203         * gst/gst.c: (init_post):
204           use _exit() instead of exit() in our forked child; this ensures
205           that none of the registered exit handlers from whatever is using
206           GStreamer get executed.  This fixes gnome-mixer-applet failing
207           to load, because ORBit would shut down.
208           Spotted by: Edward Hervey  <edward@fluendo.com>
209           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
210           Fixes #344474
211
212 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
213
214         * configure.ac:
215           back to TRUNK
216
217 === release 0.10.7 ===
218
219 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
220
221         * configure.ac:
222           releasing 0.10.7, "Soepeke, ik zie ou"
223
224 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
225
226         * configure.ac:
227         * po/af.po:
228         * po/az.po:
229         * po/bg.po:
230         * po/ca.po:
231         * po/cs.po:
232         * po/de.po:
233         * po/en_GB.po:
234         * po/fr.po:
235         * po/it.po:
236         * po/nb.po:
237         * po/nl.po:
238         * po/ru.po:
239         * po/sq.po:
240         * po/sr.po:
241         * po/sv.po:
242         * po/tr.po:
243         * po/uk.po:
244         * po/vi.po:
245         * po/zh_CN.po:
246         * po/zh_TW.po:
247         * win32/common/config.h:
248           0.10.6.2 prerelease
249
250 2006-06-07  Wim Taymans  <wim@fluendo.com>
251
252         * gst/gstindex.c: (gst_index_gtype_resolver):
253         * tools/gst-xmlinspect.c: (print_plugin_info):
254         Fix leak spotted by coverity checker. Fixes #343827
255         Fix another other leak found by paolo borelli.
256
257 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
258
259         * libs/gst/dataprotocol/dataprotocol.c:
260         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
261         (gst_dp_version_get_type), (gst_dp_init),
262         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
263         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
264         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
265         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
266         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
267         (gst_dp_packetizer_free):
268         * libs/gst/dataprotocol/dataprotocol.h:
269           API: add a GstDPPacketizer object, and create/free functions
270           API: add GstDPVersion enum
271           Add 1.0 event function that uses the string serialization
272           Serialize more useful buffer flags
273           Fixes #343988
274
275 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
276
277         * tests/check/Makefile.am:
278         * tests/check/gst/gstabi.c:
279         * tests/check/gst/struct_ppc64.h:
280         * tests/check/libs/libsabi.c:
281         * tests/check/libs/struct_ppc64.h:
282           add ppc64 structure sizes
283
284 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
285
286         * tests/check/Makefile.am:
287         * tests/check/gst/gstabi.c:
288         * tests/check/gst/struct_x86_64.h:
289         * tests/check/libs/libsabi.c:
290         * tests/check/libs/struct_x86_64.h:
291           generate and add structure size lists for x86_64
292
293 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
294
295         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
296         * libs/gst/check/gstcheck.h:
297           factor out the method from tests that checks size of structures,
298           and add code to generate the header containing these sizes
299         * tests/check/gst/gstabi.c: (GST_START_TEST):
300         * tests/check/gst/struct_i386.h:
301         * tests/check/libs/libsabi.c: (GST_START_TEST):
302         * tests/check/libs/struct_i386.h:
303           use it
304
305 2006-06-06  Michael Smith  <msmith@fluendo.com>
306
307         * gst/gstsegment.h:
308           Don't use c++-style comments, fixes #343929
309
310 2006-06-05  Edward Hervey  <edward@fluendo.com>
311
312         * gst/gst.c:
313         plugin_paths is not used if we build without registry support.
314
315         * gst/gstsegment.c: (gst_segment_copy): 
316         _copy() was always returning NULL...
317
318 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
319
320         * libs/gst/dataprotocol/dataprotocol.c:
321         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
322         (gst_dp_packet_from_event):
323           factor out CRC code
324
325 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
326
327         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
328           make sure we unset caps
329
330 2006-06-02  Michael Smith  <msmith@fluendo.com>
331
332         * libs/gst/check/gstcheck.c: (gst_check_init),
333         (gst_check_chain_func):
334         * libs/gst/check/gstcheck.h:
335           Add a cond/mutex to the check support lib, signal this whenever we
336           add to the buffers list. This will allow tests to not busy-wait on
337           the buffer-list.
338
339 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
340
341         * libs/gst/dataprotocol/dataprotocol.c:
342         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
343         (gst_dp_packet_from_event):
344           factor out some common header init code
345
346 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
347
348         * docs/libs/gstreamer-libs-sections.txt:
349         * docs/libs/tmpl/gstdataprotocol.sgml:
350         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
351         * libs/gst/dataprotocol/dataprotocol.h:
352           API: make gst_dp_crc() public
353
354 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
355
356         * plugins/indexers/gstindexers.c: (plugin_init):
357         conditionally register fileindexer (fixes #343598)
358
359 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
360
361         * gst/gsttagsetter.h:
362         Can't cast ifaces to a class
363
364         * libs/gst/net/gstnetclientclock.h:
365         * libs/gst/net/gstnettimeprovider.h:
366         * plugins/elements/gstfakesink.h:
367         * plugins/elements/gstfakesrc.h:
368         * plugins/elements/gstfdsink.h:
369         * plugins/elements/gstfdsrc.h:
370         * plugins/elements/gstfilesink.h:
371         * plugins/elements/gstfilesrc.h:
372         * plugins/elements/gstidentity.h:
373         * plugins/elements/gstqueue.h:
374         * plugins/elements/gsttee.h:
375         * plugins/indexers/gstfileindex.c:
376         * plugins/indexers/gstmemindex.c:
377         * tests/old/examples/plugins/example.h:
378         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
379
380 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
381
382         * libs/gst/dataprotocol/dataprotocol.c:
383         (gst_dp_header_from_buffer):
384           make sure we zero the whole ABI-compatible area
385
386 2006-06-01  Wim Taymans  <wim@fluendo.com>
387
388         Patch by: Alessandro Decina <alessandro at nnva dot org>
389
390         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
391         Make sure the EOS flag is cleared from pads after a flush
392         or stop. Fixes #343538.
393
394         * tests/check/libs/collectpads.c: (GST_START_TEST),
395         (gst_collect_pads_suite):
396         Added test for collectpads reusage after EOS.
397
398 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
399
400         * gst/gst.c:
401          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
402         * win32/common/libgstbase.def:
403          export gst_collect_pads_set_flushing
404         * win32/common/libgstreamer.def:
405          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
406          gst_value_fraction_multiply
407         * win32/vs6/gst_inspect.dsp:
408          add a link to intl.lib
409
410 2006-05-30  Wim Taymans  <wim@fluendo.com>
411
412         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
413         (gst_collect_pads_chain):
414         Handle the case where a pad is removed from the collection
415         that could cause the other pads to become collectable.
416
417 2006-05-30  Wim Taymans  <wim@fluendo.com>
418
419         * gst/gstelement.c:
420         Clarify the use of _release_request_pad() and
421         _get_request_pad() a bit better.
422
423         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
424         (gst_adapter_take_buffer):
425         Fix some doc and comment typos.
426
427 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
428
429         * docs/gst/gstreamer-sections.txt:
430         * docs/libs/gstreamer-libs-sections.txt:
431           add declared symbols
432
433 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
434
435         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
436         Add debug that can be enabled using a #define at the top of the file,
437         for dumping stats about how late/early we were when waking up from
438         waiting on the clock.
439
440 2006-05-30  Wim Taymans  <wim@fluendo.com>
441
442         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
443         When rebuilding the pad list, don't leak the previous list.
444
445 2006-05-30  Wim Taymans  <wim@fluendo.com>
446
447         Patch by: Lutz Mueller <lutz at topfrose dot de>
448
449         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
450         (gst_base_src_get_query_types), (gst_base_src_update_length):
451         Publish supported query types.
452         Update last_stop field in get_range mode so the position
453         query works. Fixes #342321.
454
455 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
456
457         * docs/gst/gstreamer-sections.txt:
458         * gst/gsttaglist.c: (_gst_tag_initialize):
459         * gst/gsttaglist.h:
460           API: add GST_TAG_PREVIEW_IMAGE (#343341).
461
462 2006-05-30  Wim Taymans  <wim@fluendo.com>
463
464         Patch by: Alessandro Decina <alessandro at nnva dot org>
465
466         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
467         Unlock mutex when removing an unknown pad.
468         Fixes #343334.
469
470         * tests/check/Makefile.am:
471         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
472         (push_event), (setup), (teardown), (GST_START_TEST),
473         (gst_collect_pads_suite), (main):
474         Added collecpads check, disabled for now as check crashes for
475         some reason.
476
477 2006-05-29  Wim Taymans  <wim@fluendo.com>
478
479         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
480         Don't leak pads lists.
481
482 2006-05-29  Wim Taymans  <wim@fluendo.com>
483
484         * docs/libs/gstreamer-libs-sections.txt:
485         * libs/gst/base/gstcollectpads.c:
486         (gst_collect_pads_set_flushing_unlocked),
487         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
488         (gst_collect_pads_stop):
489         * libs/gst/base/gstcollectpads.h:
490         API: gst_collect_pads_set_flushing()
491         Added api to set the pads to flushing, useful for seeking
492         code in elements using collectpads.
493         Clear segment when receiving a flush.
494
495 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
496
497         * gst/gst.c: (add_path_func), (init_post):
498           Don't scan registry paths passed via --gst-plugin-path immediately
499           (will crash, because absolutely nothing is set up and no types are
500           registered etc.); do this later in init_post(). Fixes #343057.
501
502 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
503
504         * gst/gst.c: (init_post):
505           if we have fork, fork while reading/rebuilding the registry
506           so the parent doesn't take the hit of having all plugins loaded
507           in memory.  Fixes #342777.
508         * configure.ac:
509           Check if we have fork()
510         * win32/common/config.h.in:
511           no fork() on win32
512
513 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
514
515         * plugins/elements/gstelements.c:
516         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
517         (gst_file_src_init), (gst_file_src_set_property),
518         (gst_file_src_get_property), (gst_file_src_start):
519         * plugins/elements/gstfilesrc.h:
520           API: GstFileSrc::use-mmap
521
522         Add a use-mmap property to enable easier testing of all code paths.
523         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
524         in the absence of gnomevfssrc. (Closes #340501)
525
526 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
527
528         * tools/gst-inspect.c:
529         Add missing include, removes warning of ngettext not being defined on
530         some arches.
531
532 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
533
534         * gst/gstvalue.c: (gst_value_deserialize_fraction):
535         Handle NULL input and output pointers silently as a failed conversion,
536         rather than g_warnings.
537
538 2006-05-25  Wim Taymans  <wim@fluendo.com>
539
540         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
541         Initialize variable before using. Fixes #342820.
542
543 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
544
545         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
546           Fix off-by-one bug that would only allow peeks of N-1 bytes
547           from the start even if the buffer to typefind on contains
548           in fact N bytes of data (makes vorbis typefinding from a
549           vorbis identification header buffer work).
550
551         * tests/check/Makefile.am:
552         * tests/check/libs/.cvsignore:
553         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
554         (gst_typefindhelper_suite), (main), (foobar_typefind),
555         (plugin_init):
556           Add very basic unit test for gst_type_find_helper_for_buffer()
557           that checks for the problem fixed above.
558
559 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
560
561         * tools/gst-inspect.c: (print_interfaces),
562         (print_element_properties_info), (print_element_list), (main):
563           add more translatable strings
564
565 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
566
567         Patch by: Julien Moutte  <julien at moutte net>
568
569         * docs/gst/gstreamer-sections.txt:
570           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
571           
572         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
573         (gst_fake_sink_preroll):
574         * plugins/elements/gstfakesink.h:
575           API: Add new GstFakeSink::preroll-handoff signal (#337100).
576
577 2006-05-23  Wim Taymans  <wim@fluendo.com>
578
579         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
580         * gst/gstpad.h:
581         Added _CUSTOM error and success GstFlowReturn that can be
582         used be elements internally. 
583         Added macro to check for SUCCESS flowreturns.
584         API: GST_FLOW_CUSTOM_SUCCESS
585         API: GST_FLOW_CUSTOM_ERROR
586         API: GST_FLOW_IS_SUCCESS
587
588         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
589         Added check for GstFlowReturn sanity.
590
591 2006-05-23  Wim Taymans  <wim@fluendo.com>
592
593         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
594
595         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
596         (gst_collect_pads_event):
597         clear/reset segment info in FLUSH_STOP.
598         Fixes #336929.
599
600 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
601
602         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
603         (gst_collect_pads_check_collected):
604         Flush queued buffer on _stop(), fixes playing again (#342454)
605
606 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
607
608         * tests/check/gst/gststructure.c: (GST_START_TEST),
609         (gst_structure_suite):
610           add a test for a complete structure
611
612 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
613
614         * docs/faq/developing.xml:
615         * docs/faq/faq.xml:
616         * docs/faq/troubleshooting.xml:
617         * docs/faq/using.xml:
618           Some minor FAQ updates that won't change the fact that
619           our FAQ is badly structured, full of information hardly
620           anyone new to GStreamer needs to know and lacking lots
621           of information people constantly ask for.
622           
623 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
624
625         * gst/gstpad.c: (gst_pad_set_caps):
626           Short-circuit gst_pad_set_caps if setting the existing
627           caps pointer again, and avoid printing debug and 
628           reffing/unreffing the caps.
629
630         * plugins/elements/gstqueue.c: (gst_queue_push_one):
631           There's actually no need to set the caps before pushing -
632           the acceptcaps method will handle it anyway.
633
634 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
635
636         * docs/gst/gstreamer-sections.txt:
637         * win32/common/libgstreamer.def:
638         * gst/gstutils.c: (gst_element_seek_simple):
639         * gst/gstutils.h:
640           API: add gst_element_seek_simple() (#342238).
641
642 2006-05-18  Edward Hervey  <edward@fluendo.com>
643
644         * gst/gsttypefind.c: (gst_type_find_get_type):
645         * gst/gsttypefind.h:
646         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
647         registered for GstTypeFind pointers. This allows wrapping the structure
648         in bindings (i.e. gst-python).
649
650 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
651
652         * gst/gsttagsetter.c:
653           Docs additions and fixes (see #339918).
654
655 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
656
657         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
658         The caps intersection algorithm can produce multiple copies of the
659         caps. Until that is fixed, we need to simplify the result to be
660         sure whether the allowed caps are fixed or not.
661
662         * plugins/elements/gstqueue.c: (gst_queue_init),
663         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
664         (gst_queue_push_one):
665         Proxied buffer alloc should not set the caps on the source pad.
666         When pushing buffers, we always accept the caps change that triggers.
667         This prevents negotiation errors caused by caps changing mid-stream 
668         and then being refused on our source pad (because upstream is now
669         refusing those caps).
670
671 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
672
673         * tests/examples/helloworld/helloworld.c: (main):
674           Must plug audioconvert and audioresample between decoder
675           and audio sink.
676
677 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
678
679         * gst/gstregistryxml.c: (read_string), (load_pad_template),
680         (load_feature), (load_plugin):
681         Allow empty strings for some of the plugin fields so we don't 
682         drop valid plugin entries that were written out correctly
683         (Fixes #341479)
684
685 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
686         
687         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
688           Use g_remove and g_rename instead of remove and rename that don't 
689           handle utf8 characters. rename was failing for users who had specific
690           characters in their name then the registry was built at each 
691           gstreamer init.
692         * win32/vs6/gst_inspect.dsp:
693         * win32/vs6/gst_launch.dsp:
694         * win32/vs6/libgstbase.dsp:
695         * win32/vs6/libgstcoreelements.dsp:
696         * win32/vs6/libgstreamer.dsp:
697           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
698           build of libgstreamer and clean unused libraries in projects link 
699           settings.
700
701 2006-05-17  Edward Hervey  <edward@fluendo.com>
702
703         * plugins/elements/gstqueue.c: (gst_queue_push_one):
704         The queue is not responsible for pushing an EOS when receiving a fatal
705         flow error. It's up to the real element driving the pipeline to do that.
706
707 2006-05-16  Edward Hervey  <edward@fluendo.com>
708
709         * plugins/elements/gstqueue.c: (gst_queue_push_one):
710         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
711         buffer returned a fatal error. It should just send an EOS and stop
712         its task.
713         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
714         when pushing buffers on the queue and will be able to handle the event.
715
716 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
717
718         * docs/manual/basics-bins.xml:
719         * docs/manual/basics-init.xml:
720           Fix typos and minor errors in sample code (#341856).
721
722 2006-05-16  Wim Taymans  <wim@fluendo.com>
723
724         * docs/design/part-qos.txt:
725         Fix indexes in formulas to make more sense.
726
727 2006-05-15  Wim Taymans  <wim@fluendo.com>
728
729         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
730         Don't report POSITION based on clock time if sync is
731         disabled in a sink.
732
733 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
734
735         * gst/gstobject.h:
736           Add cast to make compiler happy - refcount variable was a gint
737           in GstObject but is a guint in GObject and g_atomic_int_get()
738           wants a gint *.
739
740 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
741
742         * gst/parse/Makefile.am:
743           chain commands using &&, which also makes parallel make work
744
745 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
746
747         * docs/gst/gstreamer-sections.txt:
748         * gst/gstevent.c:
749         * gst/gstevent.h:
750         * gst/gstmessage.h:
751           Minor docs fixes.
752
753 === release 0.10.6 ===
754
755 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
756
757         * configure.ac:
758           releasing 0.10.6, "Take the cannoli"
759
760 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
761
762         * tools/gst-launch.c: (print_tag):
763           Fix use of uninitialized variable in the hypothetical
764           case that some broken plugin creates a GST_TAG_IMAGE
765           tag containing a NULL buffer (#341667).
766
767 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
768
769         * tools/gst-launch.c: (print_tag):
770           Print something more intelligible for image tags when
771           using the -t switch (#341556).
772
773 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
774
775         * Makefile.am:
776           updates for win32
777         * configure.ac:
778           define GST_MAJORMINOR so we have it available in win32/common/config.h
779           Possibly remove it from our Makefile.am files later
780         * win32/common/config.h:
781         * win32/common/config.h.in:
782           added GST_MAJORMINOR
783         * win32/common/gstenumtypes.c: (register_gst_resource_error):
784         * win32/common/gstversion.h:
785           updated
786
787 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
788
789         * win32/MANIFEST:
790           Update win32 files listing.
791         * win32/common/gstversion.h:
792           Add GST_MAJORMINOR definition.
793         * win32/common/libgstreamer.def:
794           Add new exported functions.
795           
796 2006-05-12  Michael Smith  <msmith@fluendo.com>
797
798         * gst/gstplugin.c: (gst_plugin_load_file):
799           If an so file has no plugin entry point, unload the module.
800
801 2006-05-11  Wim Taymans  <wim@fluendo.com>
802
803         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
804         (gst_queue_set_property):
805         Don't forget to signal the _chain or _loop function 
806         when the queue size or thresholds change since that might
807         cause them to make progres again.
808
809 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
810
811         * gst/gstclock.c: (gst_clock_class_init):
812         * gst/gstindex.c: (gst_index_class_init):
813         * gst/gstobject.c: (gst_object_class_init):
814         * gst/gstpad.c: (gst_pad_class_init):
815         * gst/gstpipeline.c: (gst_pipeline_class_init):
816         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
817         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
818         * libs/gst/base/gstbasetransform.c:
819         (gst_base_transform_class_init):
820         * libs/gst/net/gstnetclientclock.c:
821         (gst_net_client_clock_class_init):
822         * libs/gst/net/gstnettimeprovider.c:
823         (gst_net_time_provider_class_init):
824         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
825         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
826         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
827         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
828         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
829         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
830         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
831         * plugins/elements/gstidentity.c: (gst_identity_class_init):
832         * plugins/elements/gsttee.c: (gst_tee_class_init):
833         * tests/old/examples/plugins/example.c: (gst_example_class_init):
834         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
835           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
836
837 2006-05-11  Wim Taymans  <wim@fluendo.com>
838
839         * gst/gstbuffer.c: (_gst_buffer_initialize):
840         Register subbufer along with the buffer type so that
841         it does not accidentally gets registered from N
842         different streaming threads in a non threadsafe way.
843
844 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
845
846         * gst/gstbuffer.h:
847         * gst/gstevent.h:
848         * gst/gstmessage.h:
849           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
850           gst_event_ref() and gst_message_ref() functions again
851           (ugly hack, please do fix if there's a better way besides
852           overrides.txt, which doesn't seem to work).
853
854 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
855
856         * libs/gst/check/gstcheck.h:
857           add an assert for setting state to avoid lots of repetitive code
858           in the future
859
860 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
861
862         * gst/gstvalue.c: (gst_value_serialize_flags):
863           fix a leak if no flags are set
864         * tests/check/gst/gstvalue.c: (GST_START_TEST):
865           fix leak in tests
866
867 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
868
869         * docs/manual/basics-pads.xml:
870           Expand a bit on caps and filtered links and update
871           examples that were still using the no longer existing
872           gst_pad_link_filtered() (#338206).
873
874 2006-05-10  Wim Taymans  <wim@fluendo.com>
875
876         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
877         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
878         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
879         (gst_collect_pads_stop):
880         * libs/gst/base/gstcollectpads.h:
881         No need to call _stop in _finalize.
882         Iterate the main pad list in _finalize.
883         Added some more debug.
884         Free lists and data in the right order.
885         Also free data whem doing _remove_pad when stopped for
886         backward compatibility protect ::started with PAD_LOCK as
887         well.
888
889 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
890
891         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
892         (gst_structure_parse_value):
893           add some comments
894           rename a method so that it actually says what it does better
895
896 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
897
898         * gst/gstevent.c: (_gst_event_initialize):
899         * gst/gstformat.c: (_gst_format_initialize):
900           make sure some essential types used by events are registered
901           as part of gst_init()
902         * gst/gstvalue.c: (gst_value_serialize_flags):
903           if no flags are set, serialize them to a value that represents NONE
904           so that deserializing them works
905         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
906           add tests for serialization and deserialization of flags
907
908 2006-05-10  Wim Taymans  <wim@fluendo.com>
909
910         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
911         (gst_collect_pads_collect_range), (gst_collect_pads_available),
912         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
913         (gst_collect_pads_event), (gst_collect_pads_chain):
914         Update docs.
915         Better debug info.
916         Catch and return errors from the collect function
917         Refuse data on eos pads.
918
919 2006-05-10  Edward Hervey  <edward@fluendo.com>
920
921         * gst/gstinterface.h:
922         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
923         GInterface type checking.
924         They were previously using non-defined macros.
925
926 2006-05-09  Wim Taymans  <wim@fluendo.com>
927
928         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
929         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
930         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
931         (gst_collect_pads_start), (gst_collect_pads_stop),
932         (gst_collect_pads_peek), (gst_collect_pads_pop),
933         (gst_collect_pads_available), (gst_collect_pads_read),
934         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
935         (gst_collect_pads_is_collected), (gst_collect_pads_event),
936         (gst_collect_pads_chain):
937         * libs/gst/base/gstcollectpads.h:
938         Clean up the mess that is collectpads, add comments and
939         FIXMEs where needed.
940         Maintain a separate pad list so we can add pads while
941         collecting the other ones. For this we need a new separate 
942         lock (see comics).
943         Fix memory leak in finalize.
944         Refactor some weird code to set/unset pad flushing flags, mark
945         with comments.
946         Don't crash in _available, _read, _flush when we're EOS.
947
948         * tests/check/libs/.cvsignore:
949         Ignore adapter check binary.
950
951 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
952
953         * gst/gstindex.c: (gst_index_resolver_get_type):
954         * plugins/elements/gstfakesink.c:
955         (gst_fake_sink_state_error_get_type):
956         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
957         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
958         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
959           Const-ify GEnumValue arrays.
960
961 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
962
963         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
964           Add test case for flags + gst_buffer_make_metadata_writable().
965
966 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
967
968         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
969           gst_buffer_make_metadata_writable() should maintain the
970           buffer flags (those that make sense at least) (see #340859).
971
972 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
973
974         * tools/gst-inspect.c:
975         * tools/gst-launch.c:
976         * tools/gst-typefind.c:
977         * tools/gst-xmlinspect.c:
978         * tools/tools.h:
979           Fix up includes: need to include stdlib.h in tools.h for exit().
980
981 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
982
983         * gst/gsttaglist.c: (_gst_tag_initialize):
984         * gst/gsttaglist.h:
985           API: add GST_TAG_IMAGE tag (#340721).
986
987 2006-05-08  Wim Taymans  <wim@fluendo.com>
988
989         * gst/gstquery.c:
990         Added some docs for the segment query.
991
992 2006-05-08  Wim Taymans  <wim@fluendo.com>
993
994         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
995         (gst_base_src_loop), (gst_base_src_change_state):
996         Always push non-flushing serialized events in the streaming 
997         thread.
998
999 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1000
1001         * gst/gsterror.c: (_gst_stream_errors_init):
1002           Add a missing error string.
1003
1004 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
1005
1006         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1007         Add applied_rate to the debug
1008
1009         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1010         Copy applied_rate into the outgoing NEWSEGMENT event
1011
1012 2006-05-08  Wim Taymans  <wim@fluendo.com>
1013
1014         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1015
1016         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1017         (gst_base_sink_change_state):
1018         call ::unlock before taking the PREROLL_LOCK so we can safely
1019         handle elements that lock in ::render.
1020         Fixes #340174.
1021
1022 2006-05-08  Edward Hervey  <edward@fluendo.com>
1023
1024         * autogen.sh: (CONFIGURE_DEF_OPT): 
1025         Darwin's libtoolize is in fact called glibtoolize.
1026         Adding glibtoolize to the list of accepted names for libtoolize.
1027
1028 2006-05-08  Wim Taymans  <wim@fluendo.com>
1029
1030         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1031         Unify error handling, don't post an error message
1032         when a push() returns EOS but perform our normal EOS
1033         handling code. Fixes #340772.
1034
1035 2006-05-08  Wim Taymans  <wim@fluendo.com>
1036
1037         * docs/design/part-overview.txt:
1038         Make upsteam/downstream concepts more clear.
1039         Give an example of serialized/non-serialized events.
1040
1041         * docs/design/part-events.txt:
1042         * docs/design/part-streams.txt:
1043         Mention applied_rate.
1044
1045         * docs/design/part-trickmodes.txt:
1046         Mention applied rate, flesh out some more use cases.
1047
1048         * gst/gstevent.c: (gst_event_new_new_segment),
1049         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1050         (gst_event_parse_new_segment_full), (gst_event_new_tag),
1051         (gst_event_parse_tag), (gst_event_new_buffer_size),
1052         (gst_event_parse_buffer_size), (gst_event_new_qos),
1053         (gst_event_parse_qos), (gst_event_parse_seek),
1054         (gst_event_new_navigation):
1055         * gst/gstevent.h:
1056         Add applied_rate field to NEWSEGMENT event.
1057         API: gst_event_new_new_segment_full()
1058         API: gst_event_parse_new_segment_full()
1059
1060         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1061         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1062         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1063         * gst/gstsegment.h:
1064         Add applied_rate to GstSegment structure.
1065         Make calculation of stream_time and running_time more correct
1066         wrt rate/applied_rate.
1067         Add some more docs.
1068         API: GstSegment::applied_rate field
1069         API: gst_segment_set_newsegment_full();
1070
1071         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1072         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1073         * libs/gst/base/gstbasetransform.c:
1074         (gst_base_transform_sink_eventfunc),
1075         (gst_base_transform_handle_buffer):
1076         Parse and use applied_rate in the GstSegment field.
1077
1078         * tests/check/gst/gstevent.c: (GST_START_TEST):
1079         Add check for applied_rate field.
1080
1081         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1082         (gstsegments_suite):
1083         Add more checks for various GstSegment operations.
1084
1085 2006-05-08  Wim Taymans  <wim@fluendo.com>
1086
1087         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1088         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1089         (gst_base_sink_get_position), (gst_base_sink_change_state):
1090         Store the sync time of the buffer end position separatly in a
1091         new variable eos_rtime so we can properly sync the EOS event.
1092         Fixes #340697.
1093         Fix the docs for gst_base_sink_set_qos_enabled().
1094         Don't set segment start to invalid value when we receive a 
1095         non TIME newsegment.
1096         get closer to handling position reporting for negative rates 
1097         correctly.
1098
1099 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1100
1101         * gst/gstcaps.c:
1102         Docs about how to print caps for debug purposes.
1103
1104         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1105         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1106
1107 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1108
1109         * gst/gstelement.c:
1110           use full enum names and preprend a '%' in docs strings to make recent 
1111           gtk-doc turn that into a link
1112
1113 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1114
1115         * docs/manual/basics-bins.xml:
1116         * docs/manual/basics-bus.xml:
1117         * docs/manual/basics-pads.xml:
1118           Some typo fixes, some additions, some clarifications. 
1119
1120 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1121
1122         * tools/gst-inspect.c: (main):
1123         * tools/gst-launch.c: (main):
1124         * tools/gst-run.c: (main):
1125         * tools/gst-typefind.c: (main):
1126         * tools/gst-xmlinspect.c: (main):
1127           Use the string passed to g_option_context_new() for
1128           what it's intended for - the program name is already
1129           printed elsewhere.
1130
1131 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1132
1133         * tools/Makefile.am:
1134         * tools/gst-inspect.c: (main):
1135         * tools/gst-launch.c: (main):
1136         * tools/gst-xmlinspect.c: (main):
1137         * tools/tools.h:
1138           Add back --version command line option (#340460).
1139
1140         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1141           Add --version option and use GOption for argument parsing; refactor a
1142           bit; accept directories as arguments and recurse into them; lastly,
1143           print a decent error message when things go wrong.
1144
1145 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1146
1147         * docs/manual/basics-bins.xml:
1148         Don't mention GstThread (#340611)
1149         * docs/manual/basics-elements.xml:
1150         Update link to GObject tutorial (#340607)
1151         
1152 2006-05-05  Wim Taymans  <wim@fluendo.com>
1153
1154         * gst/gstbuffer.h:
1155         * gst/gstminiobject.c:
1156         Add note about refcounting and miniobject/buffer writeability
1157         to docs. Fixes #340604
1158
1159         * gst/gstelementfactory.h:
1160         Added some explanation about @klass.
1161
1162 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1163
1164         * docs/manual/intro-motivation.xml:
1165         * docs/manual/manual.xml:
1166         Avoid CORBA & Bonobo references (#340598)
1167
1168 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1169
1170         * docs/manual/basics-bus.xml:
1171         * docs/manual/basics-pads.xml:
1172         Fix up some inaccuracies and omissions (#340609)
1173         
1174 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1175
1176         * gst/gstghostpad.c:
1177           Small typo in docs (#340625)
1178
1179 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1180
1181         * gst/parse/Makefile.am:
1182           Make 'make -j' proof (see #340698).
1183
1184 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1185
1186         * configure.ac:
1187           Require GLib-2.8 here as well.
1188
1189 2006-05-05  Wim Taymans  <wim@fluendo.com>
1190
1191         * gst/glib-compat.c:
1192         * gst/gst.c: (init_pre):
1193         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1194         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1195         (gst_object_dispatch_properties_changed):
1196         * gst/gstobject.h:
1197         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1198         * gst/gststructure.c: (gst_structure_set_valist):
1199         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1200         Remove pre glib2.8 compatibility, fixes #340508
1201
1202 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1203
1204         * gst/gsttaglist.h:
1205           Mention type of tags in doc blurbs.
1206
1207 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
1208
1209         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1210         (gst_pad_configure_src), (gst_pad_push):
1211         Restore acceptcaps checking behaviour now that good plugins have
1212         been released.
1213
1214 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1215
1216         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1217
1218         * gst/gst.c:
1219         * gst/gstbus.c:
1220         * gst/gstclock.c:
1221         * gst/gstevent.c:
1222         * gst/gstformat.c:
1223         * gst/gstmessage.c:
1224         * gst/gstparse.c:
1225         * gst/gstquery.c:
1226         * gst/gstutils.c:
1227         * gst/parse/Makefile.am:
1228         * libs/gst/base/gstadapter.c:
1229         * libs/gst/base/gstbasesrc.c:
1230         * libs/gst/base/gstpushsrc.c:
1231         * libs/gst/base/gsttypefindhelper.c:
1232         * plugins/elements/gstfakesrc.c:
1233         * plugins/elements/gstidentity.c:
1234           Make sure gstprivate.h and/or config.h are
1235           always included first, otherwise some of our
1236           defines (like _FILE_OFFSET_BITS) might be
1237           redefined in the system headers. Fixes build
1238           on opensolaris (#340016).
1239
1240 2006-05-04  Wim Taymans  <wim@fluendo.com>
1241
1242         * docs/libs/gstreamer-libs-sections.txt:
1243         API: addition: gst_adapter_take_buffer()
1244         
1245         * libs/gst/base/gstadapter.c: (gst_adapter_push),
1246         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1247         (gst_adapter_available_fast):
1248         * libs/gst/base/gstadapter.h:
1249         Prepare for optimizing the hell out of this hugely inefficient
1250         piece of code. 
1251         Added gst_adapter_take_buffer() so we can at least start thinking
1252         about subbuffering and merging.
1253         Added some comments.
1254
1255         * tests/check/Makefile.am:
1256         * tests/check/libs/adapter.c: (GST_START_TEST),
1257         (gst_adapter_suite), (main):
1258         Added GstAdapter check.
1259
1260 2006-05-04  Wim Taymans  <wim@fluendo.com>
1261
1262         * docs/design/part-overview.txt:
1263         Fix some typos, add blurb about buffer flags.
1264
1265 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1266
1267         * docs/libs/gstreamer-libs-sections.txt:
1268           make sure GstBaseTransformClass shows up in the docs
1269         * libs/gst/base/gstbasetransform.c:
1270         * libs/gst/base/gstbasetransform.h:
1271           move docs so gtk-doc picks it up now
1272
1273 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1274
1275         * docs/libs/gstreamer-libs-sections.txt:
1276           add missing symbols to docs
1277
1278 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1279
1280         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1281           back out the newsegment handling change, see #340060 for ongoing
1282           discussion
1283
1284 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
1285
1286         * tools/gst-run.c: (get_candidates), (main):
1287           Fix wrong g_file_test() usage (see glib docs for why it doesn't
1288           work); fix typo in error message. Fixes #340079.
1289
1290 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1291
1292         * common/Makefile.am:
1293         * docs/Makefile.am:
1294         * docs/faq/Makefile.am:
1295         * docs/gst/Makefile.am:
1296         * docs/libs/Makefile.am:
1297         * docs/manual/Makefile.am:
1298         * docs/plugins/Makefile.am:
1299         * docs/pwg/Makefile.am:
1300         * docs/slides/Makefile.am:
1301         * docs/upload.mak:
1302         * common/upload.mak:
1303           move upload.mak to common
1304
1305 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1306
1307         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1308           add more asserts on refcounts
1309           do more cleanup at end of tests
1310           fix test leaks showing in FC5
1311
1312 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1313
1314         * plugins/elements/gsttypefindelement.c:
1315         (gst_type_find_element_handle_event):
1316         reverted wrong change and reflowed code to avoid others falling into
1317         this trap
1318
1319 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1320
1321         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1322           fix changelog entry about last collectpads change,
1323           add notes about proper fix
1324
1325 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1326
1327         * gst/gst.c:
1328         * gst/gstregistry.c: (gst_registry_scan_path_level),
1329         (gst_registry_scan_path):
1330         * gst/gstregistry.h:
1331           only write out registry if it has changed, fixes #338339
1332
1333 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1334
1335         * gst/gstbin.c:
1336         * gst/gstpipeline.c:
1337         * plugins/elements/gstcapsfilter.c:
1338         * plugins/elements/gstfakesink.c:
1339         * plugins/elements/gstfakesrc.c:
1340         * plugins/elements/gstfdsink.c:
1341         * plugins/elements/gstfdsrc.c:
1342         * plugins/elements/gstfilesink.c:
1343         * plugins/elements/gstfilesrc.c:
1344         * plugins/elements/gstidentity.c:
1345         * plugins/elements/gstqueue.c:
1346         * plugins/elements/gsttee.c:
1347         * plugins/elements/gsttypefindelement.c:
1348         (gst_type_find_element_handle_event):
1349           make GstElementDetails const
1350
1351 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1352
1353         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1354         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1355         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1356           more detailed debug and formatting cleanup,
1357           forward newsegments to src-pad (so that e.g. adder not eats them)
1358
1359 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1360
1361         * gst/gstutils.c: (gst_element_link_pads):
1362           cleanup double code
1363
1364 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1365
1366         * libs/gst/controller/gstcontroller.c:
1367         (gst_controller_sync_values):
1368           some little tuning
1369         * tests/check/libs/controller.c: (GST_START_TEST),
1370         (gst_controller_suite):
1371           a new test for live value handling
1372
1373 2006-04-28  Wim Taymans  <wim@fluendo.com>
1374
1375         * gst/gstutils.c: (push_and_ref):
1376         Added some more docs.
1377         Fix refcount issue whith gst_element_found_tags() helper 
1378         function. Fixes #338335
1379
1380         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1381         Added testsuite for gst_element_found_tags().
1382
1383 2006-04-28  Michael Smith  <msmith@fluendo.com>
1384
1385         * gst/gstvalue.c: (gst_value_serialize_flags):
1386           Avoid NULL dereference when trying to serialize flags containing
1387           invalid values.
1388
1389 2006-04-28  Michael Smith  <msmith@fluendo.com>
1390
1391         * plugins/elements/gsttypefindelement.c:
1392         (gst_type_find_element_handle_event):
1393           If we get EOS before any data is accumulated, don't use
1394           uninitialised local variables.
1395
1396 2006-04-28  Michael Smith  <msmith@fluendo.com>
1397
1398         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1399         (gst_dp_event_from_packet):
1400           Fixes in reading/writing events over GDP (not currently used?) - 
1401           dereferencing NULL events for unknown/invalid event types, memory
1402           leak, and change g_warning to GST_WARNING.
1403
1404 2006-04-28  Wim Taymans  <wim@fluendo.com>
1405
1406         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1407         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1408         (gst_base_sink_get_position), (gst_base_sink_change_state):
1409         When frame dropping is enabled, we should not ignore frames
1410         without a duration.
1411         Update some documentation.
1412
1413 2006-04-28  Wim Taymans  <wim@fluendo.com>
1414
1415         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1416         (gst_base_src_send_event), (gst_base_src_change_state):
1417         Documentation updates.
1418
1419 2006-04-28  Wim Taymans  <wim@fluendo.com>
1420
1421         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1422         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1423         handle EAGAIN, EINTR and short writes correctly. Also clean
1424         up some error cases, avoid a deadlock on bad file descriptors and
1425         use GST_DEBUG_OBJECT.
1426         Fixes #339843
1427
1428 2006-04-28  Wim Taymans  <wim@fluendo.com>
1429
1430         * gst/gstvalue.c: (gst_value_serialize_buffer),
1431         (gst_value_deserialize_buffer):
1432         Don't try to serialize a GValue with a NULL buffer. 
1433         Fixes #339821.
1434
1435         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1436         Added check for serialisation of NULL buffers.
1437
1438 2006-04-28  Wim Taymans  <wim@fluendo.com>
1439
1440         * gst/gstminiobject.c: (gst_value_take_mini_object):
1441         Taking a NULL miniobject is valid, fix the case where
1442         we try to unref the NULL miniobject.
1443
1444 2006-04-28  Wim Taymans  <wim@fluendo.com>
1445
1446         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1447
1448         * gst/gstbin.c: (gst_bin_handle_message_func):
1449         Update docs.
1450         Don't leak bin refcount when a state recalc is
1451         in progress and we delay another one #339808.
1452
1453 2006-04-28  Wim Taymans  <wim@fluendo.com>
1454
1455         * docs/design/part-TODO.txt:
1456         Mention QoS as an ongoing work item.
1457
1458         * docs/design/part-buffering.txt:
1459         New doc about buffering that needs to be fleshed out
1460         at some point.
1461
1462         * docs/design/part-qos.txt:
1463         More QoS policy for decoders/demuxers/transforms
1464
1465         * docs/design/part-trickmodes.txt:
1466         Small update.
1467
1468 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1469
1470         * configure.ac:
1471           back to HEAD
1472
1473 === release 0.10.5 ===
1474
1475 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1476
1477         * configure.ac:
1478           releasing 0.10.5, "Fogo"
1479
1480 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1481
1482         patch by: Wim Taymans
1483
1484         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1485         (gst_pad_configure_src), (gst_pad_push):
1486         * gst/gstpipeline.c: (gst_pipeline_init):
1487           Fix internal data flow errors.  Fixes #338711.
1488
1489 2006-04-12  Wim Taymans  <wim@fluendo.com>
1490
1491         * tests/check/gst/gstelement.c: (GST_START_TEST):
1492         Don't leak the factory.
1493
1494 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1495
1496         * configure.ac:
1497         * win32/common/config.h:
1498           prerelease
1499
1500 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1501
1502         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1503         (gst_controller_unset_all):
1504           Free allocated GstTimedValues when freeing list nodes.
1505           Should fix leaks 'make check-valgrind' complains about.
1506
1507         * win32/common/libgstcontroller.def:
1508           Add gst_controller_unset_all.
1509
1510 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
1511
1512         * docs/libs/gstreamer-libs-sections.txt:
1513         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1514         (gst_controller_unset_all):
1515         * libs/gst/controller/gstcontroller.h:
1516         API: Added new method gst_controller_unset_all()
1517         fixed gst_controller_unset()
1518         * tests/check/libs/controller.c: (GST_START_TEST),
1519         (gst_controller_suite):
1520         Added two testcases for new and fixed method
1521
1522 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
1523
1524         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1525           MSG_DONTWAIT is not defined on Cygwin, so work
1526           around that (fixes #317048).
1527           
1528 2006-04-11  Wim Taymans  <wim@fluendo.com>
1529
1530         * gst/gstelementfactory.c: (gst_element_register),
1531         (gst_element_factory_create), (gst_element_factory_make):
1532         Some cleanups.
1533         Fixed a FIXME.
1534         Updated docs (Fixes #131079)
1535
1536         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1537         Small cleanups.
1538
1539         * tests/check/gst/gstelement.c: (GST_START_TEST),
1540         (gst_element_suite):
1541         Added testcase for elementfactory class field.
1542
1543 2006-04-10  Wim Taymans  <wim@fluendo.com>
1544
1545         * gst/gstsegment.c:
1546         Added some more docs.
1547
1548         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
1549         (gst_base_sink_reset_qos):
1550         Calculate more accurate rate values.
1551
1552 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
1553
1554         * gst/gst_private.h:
1555           add a new #ifdef to use __declspec(dllimport) only for
1556           other modules and not for gstreamer core
1557         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
1558           use gst_guint64_to_gdouble for conversion
1559         * win32/common/libgstreamer.def:
1560           add new exported functions
1561         * win32/vs6/gst_inspect.dsp:
1562         * win32/vs6/gst_launch.dsp:
1563         * win32/vs6/libgstbase.dsp:
1564         * win32/vs6/libgstcontroller.dsp:
1565         * win32/vs6/libgstcoreelements.dsp:
1566         * win32/vs6/libgstdataprotocol.dsp:
1567         * win32/vs6/libgstnet.dsp:
1568           update project files
1569
1570 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1571
1572         * gst/gstbuffer.c: (gst_subbuffer_class_init):
1573         * gst/gstclock.c: (gst_clock_class_init):
1574         * gst/gstelement.c: (gst_element_class_init):
1575         * gst/gstindex.c: (gst_index_class_init):
1576         * gst/gstindexfactory.c: (gst_index_factory_class_init):
1577         * gst/gstobject.c: (gst_object_class_init),
1578         (gst_signal_object_class_init):
1579         * gst/gstpad.c: (gst_pad_class_init):
1580         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
1581         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
1582         * gst/gstregistry.c: (gst_registry_class_init):
1583         * gst/gstsystemclock.c: (gst_system_clock_class_init):
1584         * gst/gsttask.c: (gst_task_class_init):
1585         * gst/gstxml.c: (gst_xml_class_init):
1586         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1587         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1588         (gst_base_src_loop):
1589         * libs/gst/controller/gstcontroller.c:/
1590         (_gst_controller_class_init):
1591         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1592         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1593         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
1594         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1595         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1596         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
1597
1598 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
1599
1600         * gst/gstpad.c: (gst_pad_link):
1601           Must set peer pads before calling the link function, otherwise
1602           a task started from a link function might get a flow-not-linked
1603           result when trying to push because the other thread where the
1604           linking happens hasn't had a chance to set the peers yet. This
1605           might happen for example when a queue gets linked to a downstream
1606           element, as queue starts a streaming task when its source pad
1607           gets linked. Happens in real life when playing back flac/musepack
1608           files in playbin (#332390).
1609           
1610 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1611
1612         * gst/gstindex.h:
1613         * gst/gstxml.h:
1614         * libs/gst/base/gstadapter.h:
1615         * libs/gst/base/gstbasesink.h:
1616         * libs/gst/base/gstbasesrc.h:
1617         * libs/gst/base/gstbasetransform.h:
1618         * libs/gst/base/gstcollectpads.h:
1619         * libs/gst/base/gstpushsrc.h:
1620         Fix broken GObject macros
1621
1622 2006-04-07  Wim Taymans  <wim@fluendo.com>
1623
1624         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1625         Initialize start and stop times, thanks valgrind.
1626
1627 2006-04-07  Wim Taymans  <wim@fluendo.com>
1628
1629         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1630         Be a bit nicer to badly behaving upstream elements that expect
1631         us to deal with non TIME segments and timestamps (such as fakesrc
1632         in the testsuite).
1633
1634 2006-04-07  Wim Taymans  <wim@fluendo.com>
1635
1636         * gst/gstbus.c:
1637         Small documentation clarification about the signal watch.
1638
1639         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1640         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1641         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1642         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1643         (gst_base_sink_get_position_last),
1644         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
1645         Convert and store timestamps in stream time and running time, the
1646         raw timestamps are not usefull, also document this better.
1647         Use different window sizes for good and bad QoS observations so
1648         we react to badness a little quicker.
1649         Keep track of the amount of rendered and dropped buffers.
1650         Send QoS timestamps in running time.
1651
1652         * libs/gst/base/gstbasetransform.c:
1653         (gst_base_transform_sink_eventfunc),
1654         (gst_base_transform_handle_buffer):
1655         Compare QoS timestamps against running time.
1656
1657 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1658
1659         * gst/gstpad.c:
1660           Typo fixes in docs.
1661
1662 2006-04-06  Michael Smith  <msmith@fluendo.com>
1663
1664         * gst/gstpad.c: (gst_pad_set_property):
1665           Use g_value_get_object() instead of g_value_dup_gst_object(),
1666           to avoid double-reffing the pad template (which we then sink,
1667           so this worked previously if (and only if) the pad template
1668           was floating.
1669
1670         * gst/gstpadtemplate.c: (gst_pad_template_init),
1671         (gst_pad_template_pad_created):
1672           Never return floating references to pad templates, create
1673           them as initially-sunken.
1674
1675           Document an extra function (and make this stop sinking our
1676           pad template, since that is now guaranteed to do nothing,
1677           since we created it sunken).
1678
1679         * gst/gstghostpad.c:
1680           Fix docs typo.
1681
1682 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1683
1684         * gst/gstinfo.c: (__gst_in_valgrind):
1685           Add some newlines.
1686
1687         * plugins/elements/gsttypefindelement.c:
1688         (gst_type_find_element_chain):
1689           Don't leak buffer caps.
1690
1691 2006-04-06  Michael Smith  <msmith@fluendo.com>
1692
1693         * gst/parse/grammar.y:
1694           Fix a leak in parse-launch for any source-or-sink named element 
1695           references used.
1696
1697         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1698           Unref the pipeline if it exists after we've failed parsing.
1699
1700 2006-04-05  Michael Smith  <msmith@fluendo.com>
1701
1702         * gst/gstpipeline.c: (gst_pipeline_init):
1703           When we create a pipeline bus, initially create it in flushing mode.
1704           Fixes leaks in at least one test, and makes a new pipeline work the
1705           same as one that has gone to READY and then back to NULL.
1706
1707         * gst/gstelement.c:
1708           Typo fix in docs.
1709
1710 2006-04-05  Michael Smith  <msmith@fluendo.com>
1711
1712         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1713           Unref a pad we reffed.
1714         * tests/check/gst/gstutils.c: (GST_START_TEST):
1715           Unref bins
1716
1717 2006-04-05  Michael Smith  <msmith@fluendo.com>
1718
1719         * gst/gstquery.c: (gst_query_set_formats),
1720         (gst_query_set_formatsv):
1721           Fix leaking GValues in queries, as shown by valgrind/testsuite.
1722
1723 2006-04-05  Michael Smith  <msmith@fluendo.com>
1724
1725         * tests/check/generic/sinks.c: (GST_START_TEST):
1726           Fix a variety of memleaks in sinks check, which are only sometimes 
1727           shown by running the tests under valgrind (weird?).
1728
1729 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
1730
1731         * docs/version.entities.in:
1732           Fix the substituted entity name after thomas' changes on the
1733           weekend.
1734
1735 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1736
1737         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
1738         VALGRIND_PRINTF
1739         
1740 2006-04-05  Andy Wingo  <wingo@pobox.com>
1741
1742         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
1743
1744         * libs/gst/base/gstbasetransform.c
1745         (gst_base_transform_sink_eventfunc): When resetting our segment on
1746         FLUSH_STOP, also update the flag saying we haven't seen a
1747         newsegment.
1748
1749 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1750
1751         Patch by: Paolo Borelli  <pborelli at katamail dot com>
1752
1753         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1754         (gst_plugin_check_license):
1755           minor clean-ups: G_DEFINE_TYPE already takes care of the
1756           parent_class stuff, no need to do it twice. Mark array of
1757           license strings as constant. (#337103)
1758           
1759 2006-04-04  Michael Smith  <msmith@fluendo.com>
1760
1761         * tools/gst-inspect.c: (print_element_list):
1762           Free the right plugin list; fixes a memory leak.
1763
1764 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1765
1766         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
1767
1768         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1769           Don't error out on empty buffers (#336945).
1770           
1771 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
1772
1773         * docs/libs/gstreamer-libs-sections.txt:
1774         * gst/gsttaglist.c:
1775         * libs/gst/base/gstbasesink.c:
1776         * libs/gst/base/gstbasesink.h:
1777         * libs/gst/base/gstbasesrc.c:
1778         * libs/gst/base/gstbasesrc.h:
1779           Documentation updates. Make BaseSink and BaseSrc docs contain the
1780           class structure so that people can actually see the prototypes for
1781           virtual functions they're supposed to be overriding.
1782
1783 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1784
1785         * plugins/elements/gsttypefindelement.c:
1786         (gst_type_find_element_chain):
1787           More debug info; when skipping typefinding, send cached
1788           events in all cases.
1789
1790 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1791
1792         * configure.ac:
1793           use new AS_VERSION and AS_NANO macros
1794         * gst/gst-i18n-lib.h:
1795         * gst/gst.c:
1796         * gst/gsterror.c:
1797         * gst/gstversion.h.in:
1798         * win32/common/config.h:
1799         * win32/common/config.h.in:
1800           update accordingly
1801
1802 2006-03-31  Michael Smith  <msmith@fluendo.com>
1803
1804         * plugins/elements/gsttypefindelement.c:
1805         (gst_type_find_element_chain):
1806           Do not typefind content if the buffers already have caps.
1807           Neccesary for icydemux (#333657), and the right thing to do anyway.
1808
1809 2006-03-30  Wim Taymans  <wim@fluendo.com>
1810
1811         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1812         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
1813         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
1814         (gst_base_sink_record_qos_observation),
1815         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1816         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1817         (gst_base_sink_change_state):
1818         More QoS measurements as described in the design doc.
1819         Get rid of ringbuffer with observations, running average is
1820         more simple and equally good.
1821         Calculates valid proportion now.
1822         Added beginning of flood measurement.
1823
1824 2006-03-29  Wim Taymans  <wim@fluendo.com>
1825
1826         * docs/design/part-qos.txt:
1827         * gst/gstclock.c:
1828         Small documentation updates and additions.
1829
1830 2006-03-29  Wim Taymans  <wim@fluendo.com>
1831
1832         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1833         (gst_base_src_send_event), (gst_base_src_loop),
1834         (gst_base_src_change_state):
1835         Perform the EOS logic when we reach the segment stop position.
1836         Fix compilation on gcc4.1
1837
1838 2006-03-29  Wim Taymans  <wim@fluendo.com>
1839
1840         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1841
1842         * plugins/elements/gstqueue.c: (gst_queue_init),
1843         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
1844         (gst_queue_set_property):
1845         * plugins/elements/gstqueue.h:
1846         In queue, when EOS is received, if minimum threshold > max_size -
1847         current_level, there is chance that queue blocks forever in conditional
1848         item del wait. This is because the queue is not emptied completely due
1849         to minimum threshold.  Here is another approach. Instead of setting
1850         cur_levels to max in EOS, just zero all minimum threshold levels. This
1851         should make sure that queue gives out all data. When going to READY
1852         (stop) state, just reset the original minimum threshold levels.
1853         Fixes #336336.
1854
1855 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
1856
1857         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
1858         (gst_type_find_element_handle_event),
1859         (gst_type_find_element_send_cached_events),
1860         (gst_type_find_element_change_state):
1861         * plugins/elements/gsttypefindelement.h:
1862           When typefinding is done in push mode, we should cache
1863           events we receive during typefinding instead of just
1864           dropping them (e.g. newsegment, custom events from
1865           dvdreadsrc etc.) and then send them out once we've
1866           determined the type of the stream (and decodebin
1867           has had a chance to plug in a decoder/demuxer).
1868           
1869 2006-03-27  Wim Taymans  <wim@fluendo.com>
1870
1871         * docs/design/part-qos.txt:
1872         First QoS ideas.
1873
1874 2006-03-27  Wim Taymans  <wim@fluendo.com>
1875
1876         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
1877
1878         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1879         (gst_base_src_send_event), (gst_base_src_change_state):
1880         Handle element seek correctly when we are streaming.
1881         Fixes #326998.
1882
1883 2006-03-24  Michael Smith  <msmith@fluendo.com>
1884
1885         * docs/faq/gst-uninstalled:
1886           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
1887           allow you to correctly run intalled applications built against old 
1888           core, using plugins that require updated core (e.g. running
1889           installed totem against a full uninstalled gstreamer stack)
1890
1891 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1892
1893         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1894         more debug details
1895
1896 2006-03-24  Wim Taymans  <wim@fluendo.com>
1897
1898         * docs/gst/gstreamer-sections.txt:
1899         Rearrange the order of the methods so that related methods
1900         are grouped together in sections.
1901
1902 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1903
1904         * gst/gstelement.c:
1905           Little clarification in the docs
1906
1907 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1908
1909         * docs/README:
1910         formatting fix
1911         * plugins/elements/gstidentity.c:
1912         * plugins/elements/gstqueue.c:
1913         * plugins/elements/gsttee.c:
1914         * plugins/elements/gsttypefindelement.c:
1915         GST_ELEMENT_DETAILS formatting
1916
1917 2006-03-24  Wim Taymans  <wim@fluendo.com>
1918
1919         * libs/gst/base/gstbasesink.h:
1920         Only add fields, not insert or we break ABI.
1921
1922 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1923
1924         * win32/common/libgstbase.def:
1925         * win32/common/libgstreamer.def:
1926           Update, add recently added functions.
1927
1928 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1929
1930         * docs/gst/gstreamer-sections.txt:
1931         * gst/gstutils.c: (gst_pad_query_peer_position),
1932         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
1933         * gst/gstutils.h:
1934           API: add some new utility functions:
1935            - gst_pad_query_peer_position()
1936            - gst_pad_query_peer_duration()
1937            - gst_pad_query_peer_convert()
1938           
1939 2006-03-23  Wim Taymans  <wim@fluendo.com>
1940
1941         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1942         (gst_base_sink_init), (gst_base_sink_finalize),
1943         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
1944         (gst_base_sink_set_property), (gst_base_sink_get_property),
1945         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
1946         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1947         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
1948         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1949         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1950         (gst_base_sink_preroll_object), (gst_base_sink_event),
1951         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
1952         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
1953         (gst_base_sink_query), (gst_base_sink_change_state):
1954         Decouple max-lateness and the fact that QoS messages are generated
1955         with a new property (qos).
1956         added API: GstBaseSink::async_play()
1957         Add vmethod so subclasses can be notified of ASYNC playing
1958         state changes.
1959         Collect timestamp start and stop to report better current
1960         position in EOS/PLAYING/PAUSED/READY/NULL.
1961         Refactor QoS/frame dropping and other measurements.
1962         API: GstBaseSrc::qos
1963         Fixes #326311
1964
1965         * libs/gst/base/gstbasesink.h:
1966         Added Private struct.
1967         API: gst_base_sink_set_qos_enabled()
1968         API: gst_base_sink_is_qos_enabled()
1969
1970 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1971
1972         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1973           If compiling against GLib-2.8 or newer, try to read the
1974           registry file using GMappedFile first before falling back
1975           to fopen() + fread() (#332151).
1976
1977 2006-03-22  Wim Taymans  <wim@fluendo.com>
1978
1979         * gst/gstinfo.c: (gst_debug_set_active),
1980         (gst_debug_category_set_threshold):
1981         Disable debugging unless explicitly activated.
1982         Fixes #335480.
1983
1984 2006-03-22  Wim Taymans  <wim@fluendo.com>
1985
1986         * gst/gstelement.c: (gst_element_set_locked_state),
1987         (gst_element_dispose):
1988         Cleanup the error case.
1989
1990         * gst/gstobject.c: (gst_object_dispose):
1991         print a critical when some object was disposed with
1992         a parent, also revive the object since it might
1993         crash the parent.
1994
1995 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
1996
1997         * tools/gst-launch.1.in:
1998           Fix another typo.
1999
2000 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2001
2002         * configure.ac:
2003         * tests/check/Makefile.am:
2004           disable some tests when we don't have a registry
2005         * tests/check/gst/gstutils.c: (gst_utils_suite):
2006           don't build the part that needs parsing
2007
2008 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2009
2010         * gst/Makefile.am
2011         * tests/examples/Makefile.am:
2012           fix --disable-parse build
2013
2014 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2015
2016         * tools/gst-feedback.1.in:
2017           Fix typo: s/feeback/feedback/ (#133494).
2018
2019 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2020
2021         * tools/Makefile.am:
2022         * tools/gst-launch.1.in:
2023           Add FILES section and correct entry about GST_REGISTRY_PATH
2024           environment variable (#133495; #133494).
2025
2026 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2027
2028         * tools/Makefile.am:
2029         * tools/gst-md5sum.1.in:
2030         * tools/gst-md5sum.c:
2031           Remove gst-md5sum and man page (the md5sink element
2032           required was removed ages ago)
2033
2034 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2035
2036         * gst/gststructure.c: (gst_structure_id_set_value):
2037           Make sure that string fields in structures/taglists
2038           contain valid UTF-8 - we don't want to pass rubbish to
2039           applications because of a buggy plugin (cp. #334167).
2040
2041 2006-03-21  Edward Hervey  <edward@fluendo.com>
2042
2043         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2044         (gst_bin_handle_message_func):
2045         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2046         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2047         (gst_element_set_bus_func):
2048         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2049         * gst/gstminiobject.c: (gst_value_set_mini_object),
2050         (gst_value_take_mini_object):
2051         * gst/gstpad.c: (gst_pad_set_pad_template):
2052         * gst/gstpipeline.c: (gst_pipeline_dispose),
2053         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2054         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2055         (gst_collect_pads_chain):
2056         * libs/gst/net/gstnettimeprovider.c:
2057         (gst_net_time_provider_set_property):
2058         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2059         It's in fact all issues with gst_*object_replace().
2060
2061 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2062
2063         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2064         
2065         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2066         * pkgconfig/gstreamer-check.pc.in:
2067           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2068
2069 2006-03-21  Edward Hervey  <edward@fluendo.com>
2070
2071         * gst/gstbuffer.h:
2072         * gst/gstevent.h:
2073         * gst/gstmessage.h:
2074         gst_[buffer|event|message]_ref() macros are replaced by a static
2075         inline functions because gcc-4.1 will about if the return value
2076         isn't used.
2077         * tests/check/gst/gstevent.c: (event_probe):
2078         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2079
2080 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2081
2082         * gst/gstutils.h:
2083         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2084         the type' case. (Closes: #335195 for now). In the future, when we
2085         depend on GLib 2.10, we could also intern the type name using
2086         g_intern_static_string()
2087
2088 2006-03-20  Wim Taymans  <wim@fluendo.com>
2089
2090         * gst/gstbin.c: (gst_bin_handle_message_func),
2091         (bin_query_max_init), (bin_query_position_fold),
2092         (bin_query_position_done), (gst_bin_query):
2093         Position query should also take max of all streams.
2094
2095 2006-03-20  Wim Taymans  <wim@fluendo.com>
2096
2097         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2098         (gst_fake_src_finalize):
2099         Fix leaks in fakesrc.
2100
2101         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2102         Fix leaks in the testcase.
2103
2104 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2105
2106         * gst/gst_private.h:
2107           add win32 specific import decoration(__declspec(dllimport)) 
2108           for all extern GstDebugCategory * variables
2109         * win32/common/libgstbase.def:
2110         * win32/common/libgstcontroller.def:
2111         * win32/common/libgstreamer.def:
2112           Add some exports, remove empty lines
2113         * win32/common/libgstdataprotocol.def:
2114         * win32/common/libgstdataprotocol.dsp:
2115         * win32/common/libgstnet.def:
2116         * win32/common/libgstnet.dsp:
2117           new project files and exportation files added
2118         
2119 2006-03-19  Wim Taymans  <wim@fluendo.com>
2120
2121         * tests/check/libs/basesrc.c: (eos_event_counter):
2122         Use proper return value for probe.
2123
2124 2006-03-17  Wim Taymans  <wim@fluendo.com>
2125
2126         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2127         (gst_pad_push):
2128         Don't leak buffers, caps and pads on negotiation errors.
2129
2130 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
2131
2132         * docs/faq/cvs.xml:
2133         * docs/faq/dependencies.xml:
2134         * docs/faq/developing.xml:
2135         * docs/faq/faq.xml:
2136         * docs/faq/general.xml:
2137         * docs/faq/getting.xml:
2138         * docs/faq/legal.xml:
2139         * docs/faq/troubleshooting.xml:
2140         * docs/faq/using.xml:
2141         Faq review and update.
2142
2143 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
2144
2145         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2146         (gst_pad_push):
2147         Don't pound the cpu to pieces by checking get_caps when accept_caps
2148         is called with the same caps as the pad already has.
2149         Use GST_DEBUG_OBJECT when outputting caps change information.
2150
2151 2006-03-15  Wim Taymans  <wim@fluendo.com>
2152
2153         * gst/gstclock.c: (gst_clock_class_init):
2154         Fix docs.
2155
2156 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
2157
2158         * gst/gstbuffer.h:
2159         Documentation fix.
2160
2161         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2162         (gst_pad_accept_caps), (gst_pad_configure_sink),
2163         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2164         Make the default acceptcaps behaviour be to check the requested 
2165         caps against the gst_pad_get_caps output. 
2166
2167         Ensure that gst_pad_accept_caps is used to check caps when a pad
2168         doesn't have a setcaps function, so that pads automatically refuse 
2169         caps that they don't allow in their pad template. (Fixes #332986)
2170
2171         When a buffer with attached caps is pushed, ensure that the source 
2172         pad receives those caps even if the element didn't call
2173         gst_pad_set_caps first.
2174
2175 2006-03-15  Wim Taymans  <wim@fluendo.com>
2176
2177         * libs/gst/base/gstadapter.c:
2178         Add some docs.
2179
2180 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2181
2182         * win32/common/libgstbase.def:
2183         * win32/common/libgstcontroller.def:
2184         * win32/common/libgstreamer.def:
2185           Add a whole bunch of missing functions (#334434).
2186
2187 2006-03-14  Wim Taymans  <wim@fluendo.com>
2188
2189         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2190         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2191         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2192         Better debug info when we receive a segment event.
2193         Reorganize a bit so we can pass the get_times() results around.
2194         Use the segment format when calculating the running time.
2195         Don't do QoS is sync is disabled or we have no clock or the
2196         element does not want us to sync to the clock.
2197         Don't drop buffers if QoS is disabled for now.
2198
2199 2006-03-14  Wim Taymans  <wim@fluendo.com>
2200
2201         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2202         Marked the stats property as unimplemented so people don't get
2203         wild ideas.
2204         Add debug message when regression goes wrong.
2205         Added some more docs.
2206
2207 2006-03-14  Wim Taymans  <wim@fluendo.com>
2208
2209         * gst/gstsegment.c: (gst_segment_to_stream_time):
2210         Return correct return type in case of errors.
2211
2212 2006-03-14  Wim Taymans  <wim@fluendo.com>
2213
2214         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2215           Don't segfault on invalid formats.
2216
2217 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2218
2219         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2220           Can't use gst_segment_to_running_time() when the segment
2221           is not in GST_TIME_FORMAT (like with filesink, for example).
2222           Stops flac encoding pipelines from spewing critical warnings
2223           at EOS (#331248).
2224           
2225 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2226
2227         * gst/gstpipeline.c: (gst_pipeline_class_init):
2228           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2229
2230         * plugins/elements/gsttypefindelement.c:
2231         (gst_type_find_element_handle_event):
2232           Don't try to typefind empty streams.
2233
2234 2006-03-14  Wim Taymans  <wim@fluendo.com>
2235
2236         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2237         (gst_base_sink_do_qos):
2238         Separate QoS calculation.
2239         Only drop buffers when lateness is bigger than the 
2240         duration of the buffer.
2241
2242 2006-03-13  Wim Taymans  <wim@fluendo.com>
2243
2244         * gst/gstpipeline.c: (gst_pipeline_set_property),
2245         (gst_pipeline_get_property), (do_pipeline_seek),
2246         (gst_pipeline_change_state), (gst_pipeline_set_delay),
2247         (gst_pipeline_get_delay):
2248         Don't deadlock when reading properties.
2249
2250 2006-03-13  Wim Taymans  <wim@fluendo.com>
2251
2252         * libs/gst/base/gstbasetransform.c:
2253         (gst_base_transform_class_init), (gst_base_transform_init),
2254         (gst_base_transform_sink_event),
2255         (gst_base_transform_sink_eventfunc),
2256         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2257         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2258         (gst_base_transform_set_property),
2259         (gst_base_transform_get_property),
2260         (gst_base_transform_change_state), (gst_base_transform_update_qos),
2261         (gst_base_transform_set_qos_enabled),
2262         (gst_base_transform_is_qos_enabled):
2263         * libs/gst/base/gstbasetransform.h:
2264         Make basetransform virtual method for src events too.
2265         Handle QOS in basetransform.
2266         API: gst_base_transform_update_qos()
2267         API: gst_base_transform_set_qos_enabled()
2268         API: gst_base_transform_is_qos_enabled()
2269
2270 2006-03-13  Wim Taymans  <wim@fluendo.com>
2271
2272         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2273         (gst_base_sink_do_sync):
2274         Small cleanups.
2275         Use QOS debug category.
2276
2277 2006-03-13  Wim Taymans  <wim@fluendo.com>
2278
2279         * plugins/elements/gstqueue.c:
2280         Very small doc update.
2281
2282 2006-03-13  Wim Taymans  <wim@fluendo.com>
2283
2284         * gst/gst_private.h:
2285         * gst/gstinfo.c: (_gst_debug_init):
2286         Added QOS debug category
2287
2288 2006-03-13  Wim Taymans  <wim@fluendo.com>
2289
2290         * docs/gst/gstreamer-sections.txt:
2291         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2292         * gst/gstbin.h:
2293         * gst/gstbus.c: (gst_bus_class_init):
2294         * gst/gstbus.h:
2295         * gst/gstclock.c:
2296         * gst/gstelement.c: (gst_element_set_locked_state):
2297         * gst/gstsegment.c:
2298         Documentation updates.
2299
2300         * gst/gstpipeline.c: (gst_pipeline_get_type),
2301         (gst_pipeline_class_init), (gst_pipeline_init),
2302         (gst_pipeline_dispose), (gst_pipeline_set_property),
2303         (gst_pipeline_get_property), (do_pipeline_seek),
2304         (gst_pipeline_send_event), (gst_pipeline_change_state),
2305         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2306         (gst_pipeline_get_delay):
2307         * gst/gstpipeline.h:
2308         Added methods for setting the delay.
2309         API: gst_pipeline_set_delay()
2310         API: gst_pipeline_get_delay()
2311         Add pipeline debug category
2312         Various cleanups.
2313         Updated docs.
2314         Don't reset stream time when seek failed.
2315
2316 2006-03-13  Wim Taymans  <wim@fluendo.com>
2317
2318         * docs/design/draft-klass.txt:
2319         * docs/design/part-clocks.txt:
2320         * docs/design/part-events.txt:
2321         * docs/design/part-gstbin.txt:
2322         * docs/design/part-gstpipeline.txt:
2323         * docs/design/part-messages.txt:
2324         * docs/design/part-negotiation.txt:
2325         * docs/design/part-overview.txt:
2326         * docs/design/part-preroll.txt:
2327         * docs/design/part-seeking.txt:
2328         * docs/design/part-states.txt:
2329         * docs/design/part-streams.txt:
2330         Documentation updates.
2331
2332 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2333
2334         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2335         us to leak strings...
2336
2337 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2338
2339         * libs/gst/net/gstnettimeprovider.c:
2340           fix docs
2341         * win32/common/config.h:
2342           update
2343
2344 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2345
2346         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2347
2348         * configure.ac:
2349           Don't check for libgnomeui (leftover from old examples
2350           that aren't built or disted any longer) (#334303).
2351           
2352 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2353
2354         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2355         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2356           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2357           there's no space left on the device.
2358
2359 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2360
2361         * gst/gstclock.h:
2362           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2363           to cast the input to GstClockTime before comparing with
2364           another GstClockTime value.
2365
2366 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2367
2368         * configure.ac:
2369           back to trunk
2370
2371 === release 0.10.4 ===
2372
2373 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2374
2375         * configure.ac:
2376           releasing 0.10.4, "Light"
2377
2378 2006-03-10  Michael Smith  <msmith@fluendo.com>
2379
2380         * libs/gst/dataprotocol/dataprotocol.c:
2381           Fix docs for dataprocotol to not get the return types completely
2382           wrong for a few functions.
2383
2384 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2385
2386         * docs/gst/gstreamer-sections.txt:
2387         * gst/gstpipeline.c: (gst_pipeline_class_init),
2388         (gst_pipeline_init), (gst_pipeline_set_property),
2389         (gst_pipeline_get_property), (gst_pipeline_change_state),
2390         (gst_pipeline_set_auto_flush_bus),
2391         (gst_pipeline_get_auto_flush_bus):
2392         * gst/gstpipeline.h:
2393           Add new API: gst_pipeline_set_auto_flush_bus() and
2394           gst_pipeline_get_auto_flush_bus() to disable automatic
2395           flushing of the pipeline's GstBus when going from READY
2396           to NULL state (#332045).
2397
2398 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2399
2400         * docs/gst/gstreamer-sections.txt:
2401         * gst/gsturi.c: (gst_uri_has_protocol):
2402         * gst/gsturi.h:
2403            Add new API: gst_uri_has_protocol() (#333779).
2404
2405 2006-03-09  Wim Taymans  <wim@fluendo.com>
2406
2407         * gst/gstclock.c: (gst_clock_entry_new),
2408         (gst_clock_id_compare_func), (gst_clock_id_wait),
2409         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2410         (gst_clock_init), (gst_clock_get_internal_time),
2411         (gst_clock_set_master), (do_linear_regression),
2412         (gst_clock_add_observation), (gst_clock_set_property):
2413         * gst/gstclock.h:
2414         Review docs.
2415         Small cleanups.
2416         Fix a possible segfault when the window-size is made smaller.
2417         Calculate jitter before performing the clock wait. Ideally
2418         the clock implementation should calculate jitter but we need
2419         API breakage for that.
2420
2421         * gst/gstsystemclock.c: (gst_system_clock_init):
2422         Docs review.
2423         
2424         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2425         Remove leftover else
2426
2427         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2428         (gst_systemclock_suite):
2429         Added check to test GST_CLOCK_DIFF.
2430
2431 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2432
2433         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2434         (gst_type_find_helper_get_range):
2435           If we are provided with the size, we should implement
2436           GstTypeFind::get_length, so that typefind functions who
2437           want to can actually peek at the middle of a file.
2438
2439 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2440
2441         * docs/manual/advanced-dataaccess.xml:
2442           Add some very very basic error checking.
2443
2444         * docs/pwg/appendix-checklist.xml:
2445           Some updates to the list of things to check when writing an element.
2446
2447 2006-03-08  Wim Taymans  <wim@fluendo.com>
2448
2449         * docs/design/part-element-transform.txt:
2450         Added some docs about the design of tranform elements.
2451
2452         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2453         (gst_base_src_loop), (gst_base_src_change_state):
2454         Mark buffers with the DISCONT flag.
2455
2456 2006-03-08  Michael Smith  <msmith@fluendo.com>
2457
2458         * gst/gstregistry.h:
2459         * gst/gstregistryxml.c: (gst_registry_save),
2460         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2461         (gst_registry_xml_save_pad_template),
2462         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2463         (gst_registry_xml_write_cache):
2464           Rewrite registry-saving to avoid race conditions and check for
2465           failed writes.
2466
2467 2006-03-08  Wim Taymans  <wim@fluendo.com>
2468
2469         * libs/gst/base/gstbasetransform.c:
2470         (gst_base_transform_transform_caps),
2471         (gst_base_transform_transform_size),
2472         (gst_base_transform_prepare_output_buffer),
2473         (gst_base_transform_get_unit_size),
2474         (gst_base_transform_buffer_alloc),
2475         (gst_base_transform_handle_buffer),
2476         (gst_base_transform_change_state):
2477         Cleanups, separate normal flow from errors, add sensible
2478         DEBUG lines.
2479         Don't try to renegotiate when allocating an output buffer.
2480         Also copy DISCONT buffer flag when copying a buffer.
2481         Reset the transform after we finish streaming, not during.
2482
2483 2006-03-08  Wim Taymans  <wim@fluendo.com>
2484
2485         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2486         Use last buffer timestamp in qos message.
2487
2488 2006-03-07  Wim Taymans  <wim@fluendo.com>
2489
2490         Patch by: Christophe Fergeau
2491
2492         * docs/pwg/advanced-tagging.xml:
2493         * docs/pwg/building-pads.xml:
2494           fixes #333416
2495
2496 2006-03-07  Wim Taymans  <wim@fluendo.com>
2497
2498         * docs/libs/gstreamer-libs-sections.txt:
2499         Added basesink new methods.
2500
2501         * gst/gstevent.c:
2502         * gst/gstevent.h:
2503         Docs updates. Flesh out the QoS docs.
2504
2505         * libs/gst/base/gstadapter.c:
2506         Small doc clarification about ownership and flushing.
2507
2508         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2509         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2510         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2511         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2512         * libs/gst/base/gstbasesink.h:
2513         API additions: 
2514         Added new methods to allow subclass to control max-lateness 
2515         and sync.
2516         Generate very basic QoS events based on last sync observation.
2517         Updated docs, fix typo, added some QoS blurb.
2518
2519         * libs/gst/base/gstbasesrc.c:
2520         Remove obsolete _get_state() calls from docs.
2521
2522 2006-03-07  Wim Taymans  <wim@fluendo.com>
2523
2524         * docs/libs/gstreamer-libs-sections.txt:
2525         * libs/gst/base/gstbasetransform.h:
2526         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
2527         Fix docs for GstBaseSrc.
2528
2529 2006-03-07  Wim Taymans  <wim@fluendo.com>
2530
2531         * docs/gst/gstreamer-sections.txt:
2532         * gst/gstbuffer.h:
2533         * gst/gstvalue.c:
2534         * libs/gst/base/gstbasetransform.h:
2535         Small documentation fixes.
2536
2537 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2538
2539         * gst/gstvalue.c:
2540           Document thread-unsafety of gst_value_register_foo_func()
2541           when used at the same time as gst_value_foo() (#322628).
2542
2543 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2544
2545         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
2546         (gst_push_src_check_get_range):
2547           Push sources don't support pull mode by default.
2548
2549 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2550
2551         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2552         (gst_base_src_init), (gst_base_src_pad_check_get_range),
2553         (gst_base_src_default_check_get_range):
2554         * libs/gst/base/gstbasesrc.h:
2555           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
2556           provide default implementation, and rename
2557           gst_base_src_check_get_range() to
2558           gst_base_src_pad_check_get_range() for clarity.
2559
2560 2006-03-06  Wim Taymans  <wim@fluendo.com>
2561
2562         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2563         Make property overridable.
2564
2565 2006-03-06  Wim Taymans  <wim@fluendo.com>
2566
2567         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2568         (gst_base_sink_init), (gst_base_sink_set_property),
2569         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2570         * libs/gst/base/gstbasesink.h:
2571         API addition: Make max-lateness a property.
2572
2573 2006-03-06  Wim Taymans  <wim@fluendo.com>
2574
2575         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
2576         (gst_base_sink_do_sync), (gst_base_sink_render_object):
2577         Don't ever draw a frame that is >10ms late.
2578
2579 2006-03-06  Michael Smith  <msmith@fluendo.com>
2580
2581         * gst/gstmessage.c: (_gst_message_copy):
2582           When copying a message, set the parent_refcount of the enclosed
2583           structure to point at the copy, not the original message.
2584
2585 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2586
2587         Patch by: Christophe Fergeau
2588
2589         * gst/gstutils.h:
2590           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
2591           usable in c++ code (#333417)
2592
2593 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2594
2595         * gst/gstclock.h:
2596           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2597
2598 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
2599
2600         * libs/gst/base/gstbasetransform.c:
2601         (gst_base_transform_transform_caps):
2602           Make sure caps are writable before passing them to
2603           gst_caps_append().
2604
2605 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2606
2607         * gst/gsterror.h:
2608           Fix some minor docs errors.
2609
2610 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2611
2612           Patch by: Ross Burton <ross at burtonini dot com>
2613
2614         * gst/gsterror.c: (_gst_resource_errors_init):
2615         * gst/gsterror.h:
2616           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
2617
2618 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2619
2620         * gst/gst.c:
2621         Add a check and output a g_warning when GStreamer is built
2622         against GLib 2.6 but running against 2.8 or higher, and vice 
2623         versa. (Closes: #323542)
2624
2625 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2626
2627         * gst/parse/parse.l:
2628           Commit patch for parse_launch syntax from #331255. Removes 
2629           support for quoted strings and mimetypes when writing filtered 
2630           caps. See the bug report for more details - I'm pretty sure this
2631           obscure feature is not in use by _anyone_ anywhere.
2632
2633           With this simple change, the size of the gstreamer.so here 
2634           drops from 2193KB to 1565KB.
2635
2636 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2637
2638         * plugins/elements/gsttypefindelement.h:
2639         * plugins/elements/gsttypefindelement.c:
2640         (gst_type_find_element_src_event), (start_typefinding),
2641         (stop_typefinding), (gst_type_find_element_handle_event),
2642         (gst_type_find_element_chain),
2643         (gst_type_find_element_chain_do_typefinding):
2644           Use gst_type_find_helper_for_buffer() for chain-based
2645           typefinding.
2646
2647 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2648
2649         * plugins/elements/gsttypefindelement.c:
2650         (gst_type_find_element_class_init),
2651         (gst_type_find_element_set_property),
2652         (gst_type_find_element_get_property):
2653           Deprecate "maximum" property (not only was it only taken into
2654           account for typefinding in push-mode anyway, it also was never
2655           actually possible to set it in the first place because the
2656           property was registered with the numeric property ID for the
2657           "minimum" property). Register "maximum" property correctly,
2658           for the sake of future copy'n'pasters. Remove some cruft
2659           from property get/set functions.
2660
2661 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2662
2663         * plugins/elements/gsttypefindelement.c:
2664         (gst_type_find_element_activate):
2665           Use gst_type_find_helper_get_range() here, so we
2666           can honour the "minimum" property and also emit
2667           the signal with the correct probability of the found caps.
2668
2669 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
2670
2671         * docs/libs/gstreamer-libs-sections.txt:
2672         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2673         (helper_find_suggest), (gst_type_find_helper_get_range),
2674         (gst_type_find_helper):
2675         * libs/gst/base/gsttypefindhelper.h:
2676           New API: gst_type_find_helper_get_range() (#333042).
2677
2678 2006-03-02  Michael Smith  <msmith@fluendo.com>
2679
2680         * gst/gstregistryxml.c: (load_feature):
2681           Asserting on a failure to read part of the registry is Not Cool.
2682           Just log a warning and return NULL (which is already handled)
2683
2684 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
2685
2686         * win32/common/libgstbase.def:
2687           added export of gst_type_find_helper_for_buffer
2688         * win32/common/libgstbase.def:
2689           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
2690           gst_ghost_pad_get_target
2691
2692 2006-02-28  Wim Taymans  <wim@fluendo.com>
2693
2694         * docs/design/draft-klass.txt:
2695         We use Filter now.
2696         Added Connector to mark elements that are only used to
2697         allow pipeline connections.
2698         Moved Debug to extra feature since most of them are 
2699         functionally something else.
2700
2701 2006-02-28  Wim Taymans  <wim@fluendo.com>
2702
2703         * docs/design/draft-klass.txt:
2704         Some updates and clarifications.
2705
2706 2006-02-28  Wim Taymans  <wim@fluendo.com>
2707
2708         * docs/design/draft-klass.txt:
2709         Proposal for klass field values.
2710
2711         * docs/design/part-streams.txt:
2712         Start of a doc describing stream anatomy.
2713
2714 2006-02-28  Wim Taymans  <wim@fluendo.com>
2715
2716         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
2717         Help the compiler a bit with type registration.
2718         Use existing forward cod path instead of duplicating it when 
2719         handling a message.
2720         
2721         * gst/gstbus.c: (gst_bus_get_type):
2722         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
2723         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
2724         * gst/gstclock.c: (gst_clock_get_type):
2725         * gst/gstelement.c: (gst_element_get_type),
2726         * gst/gstelementfactory.c: (gst_element_factory_get_type):
2727         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2728         * gst/gstminiobject.c: (gst_mini_object_get_type):
2729         * gst/gstpad.c: (gst_pad_get_type):
2730         * gst/gstsegment.c: (gst_segment_get_type):
2731         * gst/gststructure.c: (gst_structure_get_type):
2732         * gst/gstsystemclock.c: (gst_system_clock_get_type):
2733         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
2734         * gst/gstvalue.c:
2735         Help compiler with type registration.
2736
2737         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2738         Small doc update.
2739
2740 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2741
2742         * plugins/elements/gsttypefindelement.c:
2743         (gst_type_find_element_handle_event):
2744           When we get an EOS event and have not found a type yet
2745           (most likely because we had not yet accumulated
2746           TYPE_FIND_MIN_SIZE of data yet), try to determine the
2747           type given the data we have so far. Fixes typefinding
2748           for very short streams again, most notably quicktime
2749           redirections as used on Apple's trailer site (#331701).
2750
2751 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2752
2753         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
2754         (gst_type_find_helper):
2755           Try typefinding factories with the highest rank first.
2756
2757 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2758
2759         * docs/libs/gstreamer-libs-docs.sgml:
2760         * docs/libs/gstreamer-libs-sections.txt:
2761         * libs/gst/base/gsttypefindhelper.c:
2762           Add section for typefind helper and add documentation
2763           for the old and the new function.
2764
2765 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2766
2767         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
2768         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
2769         (gst_type_find_helper_for_buffer):
2770         * libs/gst/base/gsttypefindhelper.h:
2771           New API: gst_type_find_helper_for_buffer() (#332723).
2772           
2773 2006-02-27  Michael Smith  <msmith@fluendo.com>
2774
2775         Patch by: Loïc Minier
2776
2777         * configure.ac:
2778         * docs/Makefile.am:
2779         * docs/slides/Makefile.am:
2780           prevent CVS directories getting disted.
2781
2782 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2783
2784         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
2785           Use the REFCOUNTING category for caps refcounting.
2786           
2787 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2788
2789         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2790           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
2791
2792 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2793
2794         * plugins/elements/gsttypefindelement.c:
2795         (gst_type_find_element_activate):
2796           Use gst_pad_check_pull_range() before _activate_pull()
2797           to avoid unnecessary open/close (see #331690).
2798
2799 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2800
2801         * gst/gstutils.c:
2802           Docs enhancement: make it crystal clear what the
2803           gst_pad_add_*_probe() callbacks should look like.
2804
2805 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2806
2807         * libs/gst/base/gstbasesrc.c:
2808           Document how applications can stop recording from
2809           live sources (see #330996).
2810
2811 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2812
2813         * tests/check/Makefile.am:
2814         * tests/check/libs/basesrc.c: (eos_event_counter),
2815         (basesrc_eos_events_pull), (basesrc_eos_events_push),
2816         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
2817         (gst_basesrc_suite), (main):
2818           ... and add some tests for the base source EOS stuff.
2819
2820 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2821
2822         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
2823           Test case originally showed the problem fixed below,
2824           but was then amended. Add checks back at the place
2825           where they used to be.
2826
2827 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2828
2829         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2830         (gst_base_src_init), (gst_base_src_loop),
2831         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2832         (gst_base_src_change_state):
2833         * libs/gst/base/gstbasesrc.h:
2834           Don't unconditionally send EOS when going from PAUSED to
2835           READY state, esp. make sure we don't send two EOS events
2836           in some cases (e.g. one when reaching EOS and one when
2837           going from PAUSED to READY). Also, we don't want to send
2838           EOS events when operating in pull mode. However, we do
2839           want to send an EOS event when shutting down a live
2840           source explicitly, for example (fixes #330996).
2841           
2842 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2843
2844         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2845           Update src->read_position after a seek when not using mmap.
2846           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
2847
2848 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
2849
2850         * gst/Makefile.am:
2851         * gst/gstparse.h:
2852         * gst/gstutils.c:
2853         * gst/gstutils.h:
2854         Make things work with --disable-parse as they do with 
2855         --disable-load-save - the symbols involved disappear, but the
2856         header is still installed and GST_DISABLE_PARSE is included via
2857         gstconfig.h
2858
2859 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2860
2861         * libs/gst/base/gstbasetransform.c:
2862         (gst_base_transform_change_state): Fix a stupid bug. I was 
2863         sure I compiled that.
2864
2865 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2866
2867         * gst/gstpad.c: (gst_pad_set_blocked_async):
2868         * gst/gstutils.c: (gst_pad_add_data_probe),
2869         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2870         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2871         (gst_pad_remove_buffer_probe): Make those function act on the
2872         ghostpad target when it's a ghostpad. (Closes #331727)
2873
2874 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2875
2876         * libs/gst/base/gstbasetransform.c:
2877         (gst_base_transform_change_state): Make basetransform reusable.
2878         (Closes #331898)
2879
2880 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
2881
2882         * docs/random/release:
2883         Move the current documentation of how to do a release to the top
2884         of the file.
2885
2886         * gst/gstbin.c: (gst_bin_class_init),
2887         (gst_bin_handle_message_func):
2888         Allow multiple state-recalculation threads. (Closes #328873)
2889
2890 2006-02-19  Julien MOUTTE  <julien@moutte.net>
2891
2892         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
2893         * gst/gstpad.c: (gst_pad_set_event_function),
2894         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2895         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
2896         2 strings. You can't use the STR_NULL macro on that.
2897
2898 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
2899
2900         * gst/gstpad.c: (gst_pad_set_event_function),
2901         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2902         (gst_pad_set_getcaps_function)
2903         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
2904           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
2905           So now, we can use --gst-debug-level=5 on Windows
2906         * win32/common/libgstcontroller.def:
2907           Added export of gst_controller_init
2908         * win32/vs6/libgstcontroller.dsp:
2909           Fixed Release post build configuration
2910
2911 2006-02-17  Wim Taymans  <wim@fluendo.com>
2912
2913         * tests/check/gst/gstquery.c: (GST_START_TEST):
2914         Added another check.
2915
2916 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
2917
2918         * plugins/elements/gsttypefindelement.c: (find_peek):
2919           We can do peeks at non-zero offsets, as long as they
2920           fall within the buffer we have.
2921
2922 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
2923
2924         * tests/check/Makefile.am:
2925         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
2926         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
2927         (parse_suite), (main):
2928           Add testsuite for parse launch syntax
2929
2930 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
2931
2932         * plugins/elements/gsttypefindelement.c:
2933         (gst_type_find_element_chain):
2934           When typefinding is unsuccessful in the chain function, don't
2935           error out immediately. Only error out with NO_CAPS_FOUND if
2936           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
2937           otherwise simply wait for more data so we can try typefinding
2938           again with more data later. Also, don't attempt to typefind
2939           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
2940           this should improve typefinding from network sources where the
2941           size of the first buffer can be somewhat random.
2942
2943 2006-02-14  Wim Taymans  <wim@fluendo.com>
2944
2945         * docs/gst/gstreamer-sections.txt:
2946         * gst/gstpadtemplate.c:
2947         * gst/gstpadtemplate.h:
2948         Fix padtemplate docs, fixes #328805.
2949
2950 2006-02-14  Wim Taymans  <wim@fluendo.com>
2951
2952         * tools/gst-launch.c: (main):
2953         NO_PREROLL is not an ERROR so don't send confusing messages
2954         to the user.
2955
2956 2006-02-14  Wim Taymans  <wim@fluendo.com>
2957
2958         Patch by: Torsten Schoenfeld
2959
2960         * gst/gstregistry.c: (gst_registry_get_default),
2961         (_gst_registry_cleanup):
2962         Protect default registry with lock and ref/sink it.
2963         Fixes #324818
2964
2965 2006-02-14  Wim Taymans  <wim@fluendo.com>
2966
2967         * gst/gstbuffer.c:
2968         * gst/gstquery.c: (gst_query_list_add_format),
2969         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2970         (gst_query_parse_formats_nth):
2971         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2972         Docs fixes.
2973
2974 2006-02-14  Wim Taymans  <wim@fluendo.com>
2975
2976         * docs/gst/gstreamer-sections.txt:
2977         Reworked query docs.
2978
2979         * gst/gstquery.c: (gst_query_new_formats),
2980         (gst_query_list_add_format), (gst_query_set_formats),
2981         (gst_query_set_formatsv), (gst_query_parse_formats_length),
2982         (gst_query_parse_formats_nth):
2983         * gst/gstquery.h:
2984         Flesh out formats query, added some new methods.
2985         Fix part of #324398.
2986
2987         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
2988         Added query creation tests.
2989
2990 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
2991
2992         * gst/gstpad.c: (fixate_value):
2993         Add a default fixation for fraction lists.
2994
2995 2006-02-13  Wim Taymans  <wim@fluendo.com>
2996
2997         * gst/gsttask.c: (gst_task_init), (gst_task_func),
2998         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
2999         (gst_task_join):
3000         * gst/gsttask.h:
3001         Detect and warn for obvious deadlocks. fixes #320340
3002         Fix error case where lock was not released.
3003
3004         * tests/check/Makefile.am:
3005         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3006         (task_func), (gst_element_suite), (main):
3007         Add task check.
3008
3009 2006-02-13  Wim Taymans  <wim@fluendo.com>
3010
3011         * docs/gst/gstreamer-sections.txt:
3012         * gst/gstbus.c:
3013         Add new functions to docs.
3014
3015 2006-02-13  Wim Taymans  <wim@fluendo.com>
3016
3017         * docs/design/part-TODO.txt:
3018         Updated TODO list, basesrc supports seeking to non-bytes
3019         formats.
3020
3021         * docs/design/part-element-sink.txt:
3022         Update docs.
3023
3024         * gst/gstbin.c: (bin_replace_message),
3025         (gst_bin_handle_message_func):
3026         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3027         * gst/gstevent.c: (gst_event_finalize):
3028         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3029         (gst_pad_send_event):
3030         Use shiny new _TYPE_NAME macros.
3031
3032         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3033         Move debug statement up.
3034
3035         * gst/gstelement.c: (gst_element_set_locked_state):
3036         Add some debugging.
3037
3038 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
3039
3040         * docs/gst/gstreamer-sections.txt:
3041         * gst/gstmessage.h:
3042         * gst/gstquery.h:
3043           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3044           macros (#330906). Also, document the already existing
3045           GST_QUERY_TYPE macro.
3046
3047 2006-02-13  Wim Taymans  <wim@fluendo.com>
3048
3049         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3050         (event_probe), (GST_START_TEST):
3051         Only events up to the pipeline EOS are counted, there are
3052         some more when going to NULL currently which we don't care
3053         about for now.
3054
3055 2006-02-13  Wim Taymans  <wim@fluendo.com>
3056
3057         * gst/gstpad.c: (gst_pad_send_event):
3058         Correctly check flushing and emit probes. fixes #330125
3059
3060 2006-02-10  Andy Wingo  <wingo@pobox.com>
3061
3062         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3063         structure.
3064         (gst_bus_init): Cache the location of the private data in the
3065         instance structure.
3066         (gst_bus_enable_sync_message_emission) 
3067         (gst_bus_disable_sync_message_emission): Implement new public
3068         functions.
3069         (gst_bus_post): Emit the sync-message signal if the user asked for
3070         it. Fixes #330684.
3071
3072         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3073         location of the bus-private structure.
3074         (gst_bus_enable_sync_message_emission)
3075         (gst_bus_disable_sync_message_emission): API addition
3076
3077 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3078
3079         Patch by: Vincent Torri
3080
3081         * docs/pwg/building-boiler.xml:
3082         PWG patch from #326800
3083
3084 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3085
3086         * configure.ac:
3087         * docs/Makefile.am:
3088         * docs/design/Makefile.am:
3089           Dist design docs.
3090
3091 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3092
3093         * configure.ac:
3094           back to CVS
3095
3096 === release 0.10.3 ===
3097
3098 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3099
3100         * configure.ac:
3101           releasing 0.10.3, "Like a virgin"
3102
3103 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3104
3105         * configure.ac:
3106           2nd prerelease of 0.10.3
3107           Bump libtool versioning.
3108
3109 2006-02-07  Andy Wingo  <wingo@pobox.com>
3110
3111         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3112         update last_stop if we're in TIME format and the timestamp is
3113         valid.
3114
3115         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
3116         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
3117         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3118         If we get a new newsegment with a different format, adapt
3119         accordingly.
3120
3121         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3122         of 0. Not a problem, really.
3123
3124         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3125         warn if sync=true.
3126
3127 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
3128
3129         * configure.ac:
3130           Prelease of 0.10.3
3131
3132 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
3133
3134         * win32/vs7:
3135           project files updated to the default vs7 configuration
3136         * win32/common/libgstbase.def:
3137         * win32/common/libgstreamer.def:
3138           added new symbols,
3139           removed empty lines,
3140           sorted all exported symbols alphabetically
3141         * win32/common/dirent.c:
3142         * win32/common/dirent.h:
3143         * win32/common/gchar.h:
3144           use windows line end.
3145           
3146 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3147
3148         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3149           Send EOS event when stopping.
3150
3151 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3152
3153         * docs/README:
3154           Tell folks what to do if the plugin-foobar.xml file
3155           hasn't been generated for a newly-added plugin.
3156
3157 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3158
3159         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3160         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3161         (gst_collect_pads_start), (gst_collect_pads_stop),
3162         (gst_collect_pads_event): Collectpads now holds a reference
3163         to the GstPad that was added. Indeed we don't want to look
3164         at pads that might just go away with no warning...
3165
3166 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3167
3168         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3169         (gst_collect_pads_start), (gst_collect_pads_stop),
3170         (gst_collect_pads_event), (gst_collect_pads_chain):
3171         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3172         Mark Nauwelaerts's patch on bug #328491.
3173
3174 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3175
3176         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3177         (gst_utils_suite):
3178           Add some simple tests for gst_parse_bin_from_description() and
3179           gst_bin_find_unconnected_pad() (#329069).
3180
3181 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3182
3183         * tools/gst-launch.c: (event_loop), (main):
3184           Catch errors during preroll (#320084).
3185
3186 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
3187
3188         * plugins/elements/gsttypefindelement.c:
3189         (gst_type_find_element_activate):
3190           Post TYPE_NOT_FOUND error message when typefinding
3191           is unsuccessful in the activate function as well.
3192
3193 2006-02-02  Wim Taymans  <wim@fluendo.com>
3194
3195         * docs/design/part-element-sink.txt:
3196         Updated doc.
3197
3198 2006-02-02  Wim Taymans  <wim@fluendo.com>
3199
3200         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3201         (gst_base_sink_render_object),
3202         (gst_base_sink_queue_object_unlocked):
3203         Only keep track of prerollable items when we are 
3204         prerolling.
3205         Before rendering after preroll, always check if we
3206         have queued items.
3207         Added some more debugging.
3208
3209 2006-02-02  Wim Taymans  <wim@fluendo.com>
3210
3211         * gst/gstelement.c: (gst_element_continue_state),
3212         (gst_element_set_state_func), (gst_element_change_state):
3213         Fixed #326576, been running this for quite some time with
3214         no regressions at all.
3215
3216 2006-02-02  Wim Taymans  <wim@fluendo.com>
3217
3218         * common/gst.supp:
3219         Added more suppressions
3220
3221 2006-02-02  Wim Taymans  <wim@fluendo.com>
3222
3223         * docs/design/part-element-sink.txt:
3224         Updated document.
3225
3226         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3227         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3228         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3229         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3230         (gst_base_sink_do_sync), (gst_base_sink_render_object),
3231         (gst_base_sink_preroll_object),
3232         (gst_base_sink_queue_object_unlocked),
3233         (gst_base_sink_queue_object), (gst_base_sink_event),
3234         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3235         (gst_base_sink_loop), (gst_base_sink_activate_pull),
3236         (gst_base_sink_get_position), (gst_base_sink_change_state):
3237         * libs/gst/base/gstbasesink.h:
3238         Totally refactored matching the design doc.
3239         Use two segments, one to clip incomming buffers and another to
3240         perform sync.
3241         Handle queueing correctly, bypass the queue when playing.
3242         Make EOS cancelable.
3243         Handle errors correctly when operating in pull based mode.
3244
3245         * tests/check/elements/fakesink.c: (GST_START_TEST),
3246         (fakesink_suite):
3247         Added new check for sinks.
3248
3249 2006-02-02  Wim Taymans  <wim@fluendo.com>
3250
3251         * gst/gstsegment.c: (gst_segment_clip):
3252         No reason to refuse to clip when start == -1
3253
3254 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
3255
3256         * docs/README:
3257         * docs/manual/intro-basics.xml:
3258         * docs/manual/intro-preface.xml:
3259         * docs/manual/manual.xml:
3260         * docs/pwg/advanced-dparams.xml:
3261         * docs/pwg/intro-basics.xml:
3262         * docs/pwg/intro-preface.xml:
3263         * docs/pwg/pwg.xml:
3264           describe dparams (controller) for plugins
3265           unify docs a little more
3266
3267 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
3268
3269         * docs/gst/gstreamer-sections.txt:
3270         * gst/gstutils.c: (element_find_unconnected_pad),
3271         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3272         * gst/gstutils.h:
3273           Add new API: gst_parse_bin_from_description() and
3274           gst_bin_find_unconnected_pad() (#329069).
3275
3276 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
3277
3278         * docs/manual/README:
3279           uncover a nasty detail of the docs build
3280
3281 2006-01-31  Wim Taymans  <wim@fluendo.com>
3282
3283         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3284         Don't cache duration messages if we're not going to use or
3285         free them.
3286
3287 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
3288
3289         * docs/manual/advanced-dparams.xml:
3290         * docs/pwg/advanced-dparams.xml:
3291           more dparam docs
3292         * gst/gstindex.c:
3293           fix docs
3294         * libs/gst/controller/lib.c: (gst_controller_init):
3295           init just once
3296
3297 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3298
3299         * gst/gstelement.c: (gst_element_message_full):
3300           also show file/line/func if no additional debug was given
3301
3302 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
3303         
3304         * win32/vs7/grammar.vcproj:
3305           activate copy of autogenerated files for Release mode
3306
3307 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3308         
3309         * win32/common/libgstreamer.def:
3310           export gst_value_compare
3311
3312 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3313
3314         * plugins/elements/Makefile.am:
3315         * plugins/elements/gstelements.c:
3316         * plugins/elements/gstfdsink.c: (_do_init),
3317         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3318         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3319         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3320         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3321         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3322         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3323         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3324         * plugins/elements/gstfdsink.h:
3325         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3326
3327 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3328
3329         * docs/manual/advanced-dparams.xml:
3330           describe controller
3331         * docs/manual/advanced-position.xml:
3332         * docs/manual/basics-init.xml:
3333         * docs/manual/manual.xml:
3334         * docs/manual/titlepage.xml:
3335         * docs/pwg/pwg.xml:
3336         * docs/pwg/titlepage.xml:
3337           cleanup xml (more to come)
3338         * libs/gst/controller/gstcontroller.c:
3339           fix typo
3340
3341 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3342         
3343         * win32/vs6/grammar.dsp:
3344           add autogen of gstmarshal.c,h for Release mode
3345                 
3346 2006-01-30  Wim Taymans  <wim@fluendo.com>
3347
3348         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3349         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3350         (gst_base_sink_handle_object), (gst_base_sink_event),
3351         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3352         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3353         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3354         (gst_base_sink_deactivate), (gst_base_sink_activate),
3355         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3356         (gst_base_sink_query), (gst_base_sink_change_state):
3357         Basesink cleanups, remove some old code.
3358         Handle the case where a subclass can preroll in the render
3359         method (mostly audiosinks).
3360         Handle more events.
3361         Remove some locks around variables that are now protected
3362         with the PREROLL_LOCK (clock_id, flushing, ..).
3363         Optimize position query some more, do correct locking.
3364         Remove old code to push queue in state change, this is not
3365         needed anymore since preroll blocks on all prerollable items 
3366         now.
3367         Almost implemented as described in design doc.
3368
3369 2006-01-30  Wim Taymans  <wim@fluendo.com>
3370
3371         * tests/check/gst/gstbin.c: (GST_START_TEST):
3372         Wait for refcount to settle down before checking.
3373
3374 2006-01-30  Wim Taymans  <wim@fluendo.com>
3375
3376         * docs/design/part-element-sink.txt:
3377         Pseudo code overview of desired sink behaviour regarding
3378         preroll.
3379
3380 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3381         * win32/vs6/grammar.dsp:
3382           fix some bugs in Release mode for autogenerated files
3383                 
3384 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3385         * win32/common/libgstbase.def:
3386         * win32/common/libgstreamer.def:
3387           export some new symbols: gst_base_src_set_format,
3388           gst_iterator_next, gst_structure_set_valist
3389
3390 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3391
3392         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3393         Set pad functions unconditionally. Fixes #329105.
3394
3395 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3396         * win32/vs8:
3397           add vs8 project files created by Sergey Scobich
3398
3399 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3400
3401         * gst/gstutils.c: (gst_element_unlink_pads):
3402         Don't leak pad references.
3403
3404         * tests/check/elements/fakesink.c: (GST_START_TEST):
3405         * tests/check/generic/sinks.c: (GST_START_TEST):
3406         * tests/check/generic/states.c: (GST_START_TEST):
3407         * tests/check/gst/gstbin.c: (GST_START_TEST):
3408         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3409         * tests/check/gst/gstelement.c: (GST_START_TEST):
3410         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3411         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3412         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3413         Fix a bunch of leaks. Make generic/sinks.c
3414         use a bit less cpu by slowing the buffer rate
3415         between fakesrc and fakesink.
3416         
3417 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3418         * gst/gstcaps.c:
3419         * gst/gstelement.c: (gst_element_send_event):
3420         * gst/gstevent.c:
3421         * gst/gstinfo.c:
3422         * gst/gstiterator.c:
3423         * gst/gstiterator.h:
3424         * gst/gstpad.c: (gst_pad_send_event):
3425         * gst/gststructure.c:
3426         * gst/gsturi.c:
3427         * gst/gstutils.c:
3428         * gst/gstvalue.c:
3429         * libs/gst/base/gstadapter.c:
3430           doc fixes, to link to function, just write gst_cool_function(), don't
3431           prefix with '#'
3432
3433 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3434
3435         * plugins/elements/gsttee.c: (gst_tee_do_push),
3436         (gst_tee_handle_buffer):
3437         Always prefer an actual return value from a src
3438         pad in place of NOT_LINKED. This means we return
3439         WRONG_STATE when all src pads are WRONG_STATE
3440         instead of NOT_LINKED.
3441
3442         Lock when replacing the last message to prevent
3443         racing with the get_property method.
3444
3445         Add debug output
3446
3447 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3448
3449         * tests/check/Makefile.am:
3450         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3451         (main):
3452         Add a very simple check that should have caught the memleak I fixed
3453         last night (if not for the slice allocator hiding it)
3454
3455 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3456
3457         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3458         (gst_bin_remove_func), (gst_bin_handle_message_func),
3459         (bin_query_duration_fold), (bin_query_generic_fold):
3460         Clean up references to the clock provider when disposed or when
3461         handling a clock-lost message from it.
3462
3463         Unref sinks when performing a query via gst_iterator_fold, as the
3464         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3465
3466         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3467         (gst_clock_set_master):
3468         Drop our reference to the master clock, if any, when we are disposed.
3469
3470         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3471         Chain up in dispose. 
3472
3473 2006-01-26  Wim Taymans  <wim@fluendo.com>
3474
3475         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3476         Add some debugging.
3477
3478 2006-01-26  Julien MOUTTE  <julien@moutte.net>
3479
3480         * plugins/elements/gsttee.c: (gst_tee_do_push),
3481         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3482         handles pad being NOT_LINKED or in WRONG_STATE.
3483
3484 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3485
3486         * win32/MANIFEST:
3487           more updating
3488
3489 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3490
3491         * win32/MANIFEST:
3492           remove obsolete entry
3493
3494 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3495
3496         * docs/gst/gstreamer-sections.txt:
3497         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3498         (gst_bin_iterate_sources), (gst_bin_send_event):
3499         * gst/gstbin.h:
3500         * gst/gstelement.c: (gst_element_send_event):
3501         * gst/gstevent.c:
3502         * gst/gstpad.c: (gst_pad_send_event):
3503           added code for downstream events, reviewed docs in gstevent.c
3504
3505 2006-01-25  Julien MOUTTE  <julien@moutte.net>
3506
3507         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3508         We only query position using the clock in the playing state.
3509         Query peer in the other cases.
3510         * win32/common/config.h: Updates.
3511
3512 2006-01-24  Wim Taymans  <wim@fluendo.com>
3513
3514         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3515         A clock entry that is scheduled for the exact time of the
3516         clock is still in time.
3517
3518         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3519         (gst_base_sink_do_sync):
3520         Add some more debug info.
3521
3522 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3523
3524         * win32/vs7:
3525           Add new vs7 project files and solution.
3526
3527 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3528
3529         * win32/vs7:
3530           all files removed as they were out-dated.
3531
3532 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3533
3534         * docs/random/release:
3535           update notes
3536         * gst/gstbin.c: (gst_bin_init):
3537         * gst/gstbus.c: (gst_bus_new):
3538         * gst/gstbus.h:
3539         * gst/gstpipeline.c: (gst_pipeline_init):
3540           use gst_bus_new(), improve logging, fix docs
3541         * win32/common/config.h:
3542           update for cvs build
3543
3544 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3545
3546         * autogen.sh:
3547           up required version of automake to 1.7
3548
3549 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
3550
3551         * win32/common/libgstreamer.def:
3552           export gst_buffer_is_metadata_writable
3553
3554 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3555
3556         * docs/gst/gstreamer-sections.txt:
3557         * gst/gstevent.h:
3558           Add gst_event_replace() (#327001)
3559
3560 2006-01-20  Wim Taymans  <wim@fluendo.com>
3561
3562         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3563         Make it actually compile too..
3564
3565 2006-01-20  Wim Taymans  <wim@fluendo.com>
3566
3567         * gst/gstcaps.c:
3568         Clarify behaviour of _is_equal() when passing NULL parameters.
3569
3570         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3571         (gst_pad_set_caps):
3572         Cleanups. Don't unref NULL caps.
3573         When setting the same caps, protect caps of the pad with
3574         proper lock.
3575         Use full functionality of _is_equal() when comparing caps.
3576
3577 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3578
3579         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3580         Don't loop infinitely if there are no buffers to present. Partially
3581         fixes #327197, but collectpads is just broken for reusing elements
3582         to do multiple encodes atm.
3583
3584 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3585
3586         * tools/gst-inspect.c: (print_element_features):
3587         * tools/gst-xmlinspect.c: (main):
3588         URL_HANDLER is not a plugin feature we can search for in
3589         the registry.
3590
3591 2006-01-19  Edward Hervey  <edward@fluendo.com>
3592
3593         * gst/gstelement.c: (gst_element_pads_activate): 
3594         When activating, do src pads first, then sink pads.
3595         When de-activating, do sink pads first, then src pads.
3596
3597 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3598
3599         * docs/gst/gstreamer-sections.txt:
3600         Add gst_index_add_associationv to the docs
3601
3602 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3603
3604         * gst/gstevent.c:
3605           Fix docs typo
3606
3607         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
3608         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
3609           Do some refactoring. Doesn't actually change functionality,
3610           but makes landing the DRAIN event easier later.
3611
3612 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
3613
3614         * docs/pwg/advanced-scheduling.xml:
3615           Update from 0.9.x to 0.10 API and make example a bit
3616           clearer.
3617
3618 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3619
3620         * docs/gst/gstreamer-sections.txt:
3621         Add gst_buffer_(is|make)_metadata_writable methods.
3622
3623 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3624
3625         * docs/design/part-sparsestreams.txt:
3626         Update sparse streams doc, hopefully for greater clarity
3627
3628 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
3629
3630         * docs/design/part-events.txt:
3631         Remove mention of FILLER events.
3632         Add DRAIN event.
3633
3634         * docs/design/part-sparsestreams.txt:
3635         Write some things about using NEWSEGMENT to keep sparse streams
3636         flowing.
3637
3638 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3639
3640         * gst/gstbin.c: (gst_bin_dispose):
3641           Guard gst_object_unref call against a NULL object (dispose
3642           can theoretically be called multiple times).
3643           
3644 2006-01-18  Wim Taymans  <wim@fluendo.com>
3645
3646         * gst/gstbin.c: (gst_bin_element_set_state):
3647         * gst/gstclock.c: (gst_clock_id_wait):
3648         Added some more debug info.
3649
3650         * libs/gst/base/gstadapter.c:
3651         Added more docs.
3652
3653         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3654         (gst_base_sink_do_sync), (gst_base_sink_chain):
3655         Added some comments.
3656
3657 2006-01-18  Wim Taymans  <wim@fluendo.com>
3658
3659         * tests/check/Makefile.am:
3660         * tests/check/elements/fakesink.c: (chain_async_buffer),
3661         (chain_async), (chain_async_return), (GST_START_TEST),
3662         (fakesink_suite), (main):
3663         Added fakesink test that checks prerolling and clipping
3664         behaviour.
3665
3666         * tests/check/gst/gstutils.c: (GST_START_TEST):
3667         Make check run faster so that buildbots don't timeout.
3668
3669 2006-01-18  Wim Taymans  <wim@fluendo.com>
3670
3671         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3672         (gst_base_sink_do_sync):
3673         Some cleanups.
3674         When the sink finishes blocking on the preroll buffer, it can
3675         immediatly render it instead of rendering when the next buffer
3676         arrives.
3677
3678 2006-01-18  Wim Taymans  <wim@fluendo.com>
3679
3680         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
3681         (gst_base_sink_get_property), (gst_base_sink_do_sync),
3682         (gst_base_sink_chain):
3683         Small cleanups.
3684         GST_ELEMENT_CLOCK and sync are protected with LOCK.
3685         Don't store _last_stop if the buffer is dropped.
3686
3687 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3688
3689         * plugins/elements/gsttypefindelement.c:
3690         (gst_type_find_element_class_init):
3691           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
3692           object method handler that sets the caps on the pad and we want
3693           that to happen before we emit the signal (fixes e.g. feeding a
3694           plain text file to decodebin).
3695
3696 2006-01-18  Christian Schaller  <Christian@fluendo.com>
3697
3698         * gst/gstplugin.c: Add MPL and Proprietary as license options
3699
3700 2006-01-18  Andy Wingo  <wingo@pobox.com>
3701
3702         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
3703         symbol was exported before, it appears this was just an oversight.
3704         Fixes #168703.
3705         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
3706
3707         * gst/gstindex.c (gst_index_add_associationv): Changed int in
3708         prototype to gint. OK since this prototype was not in the header.
3709
3710 2006-01-17  Andy Wingo  <wingo@pobox.com>
3711
3712         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
3713         registry while we remove plugins.
3714
3715         * tools/gst-inspect.c (print_element_info): Don't unref the
3716         factory arg, that should be the responsibility of whatever code
3717         received the ref. Fixes a double-free when called from
3718         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
3719         (main): Unref the factory if we have one.
3720         (print_element_list): No change -- relies on the
3721         plugin_feature_list_free to free the list of features.
3722
3723 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
3724
3725         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3726         (gst_buffer_make_metadata_writable):
3727         * gst/gstbuffer.h:
3728         * libs/gst/base/gstbasetransform.c:
3729         (gst_base_transform_prepare_output_buf):
3730         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3731         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3732           Replace gst_buffer_(make|is)_metadata_writable patch now
3733           that the release is out.
3734
3735 2006-01-17  Andy Wingo  <wingo@pobox.com>
3736
3737         * gst/gstregistry.c: Reflow design comment. Update so as to speak
3738         in the present tense without reference to versions.
3739
3740         * gst/gstregistry.c (gst_registry_add_plugin)
3741         (gst_registry_remove_plugin, gst_registry_remove_feature)
3742         (gst_registry_find_feature, gst_registry_get_feature_list)
3743         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
3744         (gst_registry_lookup, gst_registry_scan_path)
3745         (_gst_registry_remove_cache_plugins)
3746         (gst_registry_get_feature_list_by_plugin): Add argument
3747         validation.
3748
3749 === release 0.10.2 ===
3750
3751 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
3752
3753         * configure.ac:
3754           releasing 0.10.2, "If man is five"
3755
3756 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3757
3758         * gst/gstbuffer.c:
3759         * gst/gstbuffer.h:
3760         * libs/gst/base/gstbasetransform.c:
3761         (gst_base_transform_prepare_output_buf):
3762         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3763         * tests/check/gst/gstbuffer.c: (gst_test_suite):
3764           Back out patch until after the release.
3765
3766 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3767
3768         * gst/gstminiobject.c:
3769           Spelling fix in docs.
3770         * ChangeLog - remove conflict indicator
3771
3772 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3773
3774         Reviewed By: Andy Wingo
3775
3776         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3777         (gst_buffer_make_metadata_writable):
3778         * gst/gstbuffer.h:
3779           Add gst_buffer_(is|make)_metadata_writable as analogues of
3780           gst_buffer_(is|make)_writable.
3781
3782         * libs/gst/base/gstbasetransform.c:
3783         (gst_base_transform_prepare_output_buf):
3784         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3785           Use name gst_buffer_(is|make)_metadata_writable functions.
3786
3787         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3788           Test gst_buffer_(is|make)_metadata_writable
3789         
3790           (Closes: #324162)
3791
3792 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3793
3794         * docs/manual/Makefile.am:
3795           don't do parallel make
3796         * configure.ac:
3797           AC_SUBST HOST_CPU
3798         * win32/common/config.h.in:
3799           add generations for HOST_CPU and GST_MAJORMINOR
3800         * win32/common/config.h:
3801           commit generated result
3802
3803 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
3804
3805         * docs/manual/appendix-integration.xml:
3806           Update GNOME integration section to use gst_init_get_option_group()
3807           instead of the old popt stuff (#322911). Also, GNOME applications
3808           should  now use gconf*sink and gconf*src instead of the old gconf
3809           helper lib we had.
3810
3811 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
3812
3813
3814         * docs/gst/gstreamer-docs.sgml:
3815         * docs/gst/gstreamer-sections.txt:
3816         * docs/libs/gstreamer-libs-sections.txt:
3817           add new API entries to the docs
3818         * libs/gst/controller/Makefile.am:
3819         * libs/gst/controller/gstcontroller.c:
3820         * libs/gst/controller/gstcontroller.h:
3821         * libs/gst/controller/gstcontrollerprivate.h:
3822         * libs/gst/controller/gsthelper.c:
3823         * libs/gst/controller/gstinterpolation.c:
3824           move private structs to private header
3825         * po/README:
3826           gstreamer-0.7 -> gstreamer-0.10
3827         * tests/check/libs/struct_i386.h:
3828           remove private structs
3829
3830 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3831
3832         * plugins/indexers/Makefile.am:
3833           Fixes as part of #317048
3834
3835 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3836
3837         * plugins/indexers/Makefile.am:
3838           fix #316086 - compilation when mmap is missing
3839
3840 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
3841
3842         * libs/gst/base/gstbasesink.c:
3843           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
3844           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
3845         * win32/common/config.h:
3846           added some defines GST_MAJORMINOR and HOST_CPU
3847         * win32/common/libgstbase.def:
3848         * win32/common/libgstreamer.def:
3849           added some exported functions.
3850
3851 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3852
3853         * libs/gst/controller/gstcontroller.c:
3854         (gst_controlled_property_set_interpolation_mode),
3855         (gst_controlled_property_new):
3856         * libs/gst/controller/gstcontroller.h:
3857         * libs/gst/controller/gstinterpolation.c:
3858         (interpolate_none_get_string_value_array):
3859           make G_TYPE_STRING controlable
3860
3861 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3862
3863         * tools/README:
3864         * tools/gst-feedback.1.in:
3865         * tools/gst-inspect.1.in:
3866         * tools/gst-launch.1.in:
3867         * tools/gst-md5sum.1.in:
3868         * tools/gst-typefind.1.in:
3869         * tools/gst-xmlinspect.1.in:
3870         * tools/gst-xmllaunch.1.in:
3871           cleanup man-pages, remove reference to gst-register, document env-vars
3872
3873 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
3874
3875         * gst/gstbuffer.c: (gst_buffer_span):
3876           gst_buffer_span should copy the timestamp of the first buffer
3877           if they were both originally overlapping subbuffers of the 
3878           same parent, using the same logic as the 'slow copy' case.
3879
3880 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
3881
3882         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
3883           Need to awaken ALL the pads when we pop a buffer, otherwise
3884           collectpads only works when there is 2 input streams.
3885
3886 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
3887
3888         * docs/random/ensonic/media-device-daemon.txt:
3889           more ideas (dbus)
3890         * gst/gstbuffer.c:
3891           fix doc example, add clarification
3892         * tools/gst-launch.1.in:
3893           add initial info about GST_PLUGIN_PATH, needs more work
3894
3895 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3896
3897         * docs/manual/basics-bins.xml:
3898         * docs/manual/basics-elements.xml:
3899         * docs/manual/intro-basics.xml:
3900           Some more minor docs additions and updates.
3901
3902 2006-01-11  Wim Taymans  <wim@fluendo.com>
3903
3904         * docs/manual/basics-bins.xml:
3905         * docs/manual/basics-elements.xml:
3906         Some small fixes as pointed out by Ser-ver on IRC.
3907
3908 2006-01-10  Edward Hervey  <edward@fluendo.com>
3909
3910         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3911         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
3912         the single-segment mode.
3913
3914 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
3915
3916         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3917
3918         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
3919         (gst_base_src_perform_seek), (gst_base_src_send_event),
3920         (gst_base_src_set_property), (gst_base_src_get_property),
3921         (gst_base_src_loop), (gst_base_src_start),
3922         (gst_base_src_activate_push):
3923         * libs/gst/base/gstbasesrc.h:
3924           Name (private) union; makes Sun's Forte compiler happy (#324900).
3925
3926 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3927
3928         * README:
3929           gst-register is gone.
3930
3931 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3932
3933         * gst/gstvalue.c: (_gst_value_initialize):
3934           make the G_TYPE_DATE instantiation work if debug is disabled
3935
3936 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
3937
3938         * gst/gstmessage.c: (gst_message_parse_tag),
3939         (gst_message_parse_error), (gst_message_parse_warning):
3940           Don't crash when return location for error/warning debug
3941           string is NULL; add fact that return locations can be
3942           NULL to docs where appropriate.
3943
3944 2006-01-05  Wim Taymans  <wim@fluendo.com>
3945
3946         * gst/gstplugin.c: (gst_plugin_load_file):
3947         Replace strdup by g_strdup.
3948
3949 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3950
3951         * docs/pwg/advanced-types.xml:
3952           fix doc borkage
3953
3954 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3955
3956         submitted by: Abel Cheung
3957
3958         * po/LINGUAS:
3959         * po/zh_TW.po:
3960           Added Chinese (traditional) translation
3961
3962 2006-01-04  Wim Taymans  <wim@fluendo.com>
3963
3964         * docs/manual/basics-pads.xml:
3965         * docs/plugins/Makefile.am:
3966         * docs/plugins/gstreamer-plugins-docs.sgml:
3967         * docs/plugins/gstreamer-plugins-sections.txt:
3968         * docs/pwg/advanced-clock.xml:
3969         * docs/pwg/advanced-scheduling.xml:
3970         * docs/pwg/advanced-types.xml:
3971         * plugins/elements/gstfdsink.c:
3972         * plugins/elements/gstfdsrc.c:
3973         * plugins/elements/gstfdsrc.h:
3974         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3975         * plugins/elements/gstidentity.h:
3976         * plugins/elements/gstqueue.h:
3977         * plugins/elements/gsttee.c:
3978         * plugins/elements/gsttee.h:
3979         * plugins/elements/gsttypefindelement.c:
3980         (gst_type_find_element_class_init):
3981         * plugins/elements/gsttypefindelement.h:
3982         Small updates to various docs.
3983         Added core plugins to docs.
3984
3985 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
3986
3987         * common/gst.supp:
3988           add a suppression for liboil's uninitialized variable
3989
3990 2006-01-02  James Livingston  <jrl at ids dot org dot au>
3991
3992         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3993
3994         * gst/gstutils.h:
3995           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
3996           macro, so that gcc doesn't complain if the -Wmissing-prototypes
3997           compiler switch is being used (#325429).
3998
3999 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
4000
4001         * gst/gstbin.c: (gst_bin_query):
4002           Disable duration query caching in bins until it gets
4003           fixed (see #324807).
4004
4005 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4006
4007         * tools/gst-inspect.c: (print_element_properties_info):
4008           Handle properties of POINTER and BOXED type.
4009
4010 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4011
4012         * gst/gst.c: (init_post):
4013           Init tags stuff and some other things before loading
4014           any static plugins (there may be other static plugins
4015           than just the GStreamer ones, and they may want to
4016           register their own tags or formats or whatever, and
4017           preferably without segfaulting).
4018
4019         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4020           Print at least a warning in the debug logs if we drop a
4021           query just because we don't know how to adjust the value
4022           in the particular format.
4023
4024 2005-12-24  David Schleef  <ds@schleef.org>
4025
4026         * tools/gstreamer-completion:
4027           Replacement for gst-complete written in sh and sed.  Only
4028           completes names of features, but that's 90% of what I want
4029           it for.  Properties are not available in registry.xml.  (Maybe
4030           they should be...)
4031
4032 === release 0.10.1 ===
4033
4034 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
4035
4036         * configure.ac:
4037           releasing 0.10.1, "Nollaig chridheil"
4038
4039 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
4040
4041         * docs/faq/cvs.xml:
4042           Add missing quote, should be make ERROR_CFLAGS="".
4043
4044 2005-12-20  Wim Taymans  <wim@fluendo.com>
4045
4046         * docs/design/part-trickmodes.txt:
4047         More documentation on trickmodes.
4048
4049 2005-12-20  Edward Hervey  <edward@fluendo.com>
4050
4051         * gst/gstcaps.c: (gst_static_caps_get_type):
4052         * gst/gstcaps.h:
4053           API addition: GST_TYPE_STATIC_CAPS
4054         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4055         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4056         * gst/gstpadtemplate.h:
4057           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4058         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4059         bindings.
4060
4061 2005-12-18  Wim Taymans  <wim@fluendo.com>
4062
4063         * libs/gst/base/gstadapter.c:
4064         * libs/gst/base/gstadapter.h:
4065         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4066         (gst_base_sink_get_position):
4067         * libs/gst/base/gstbasesink.h:
4068         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4069         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4070         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4071         (gst_base_src_send_event), (gst_base_src_update_length),
4072         (gst_base_src_get_range), (gst_base_src_loop),
4073         (gst_base_src_start):
4074         * libs/gst/base/gstbasesrc.h:
4075         * libs/gst/base/gstbasetransform.h:
4076         * libs/gst/base/gstcollectpads.h:
4077         * libs/gst/base/gstpushsrc.c:
4078         * libs/gst/base/gstpushsrc.h:
4079         * libs/gst/dataprotocol/dataprotocol.c:
4080         * libs/gst/dataprotocol/dataprotocol.h:
4081         * libs/gst/net/gstnetclientclock.h:
4082         * libs/gst/net/gstnettimeprovider.h:
4083         Documentation updates.
4084
4085 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4086
4087         * docs/manual/basics-helloworld.xml:
4088           Remove superfluous closing bracket in helloworld example.
4089
4090 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4091
4092         * tools/gst-launch.1.in:
4093           Update gst-launch man page; add a section with useful
4094           environment variables. Fixes #323882.
4095
4096 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
4097
4098         * gst/gst.c:
4099         * gst/gst_private.h:
4100           change some char* into char[]
4101
4102 2005-12-16  Wim Taymans  <wim@fluendo.com>
4103
4104         * gst/gstregistryxml.c: (load_feature):
4105         Cleanups.
4106         Don't use g_object_unref on GstObjects so that we avoid
4107         leaks on unsafe glibs.
4108
4109 2005-12-16  Wim Taymans  <wim@fluendo.com>
4110
4111         * gst/gstbin.c: (gst_bin_recalc_state):
4112         Small doc updates.
4113
4114 2005-12-16  Wim Taymans  <wim@fluendo.com>
4115
4116         * common/check.mak:
4117         Added make forever target for check.
4118
4119 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4120
4121         * gst/gst.c: (init_post):
4122           make the registry cache file HOST_CPU-dependent
4123
4124 2005-12-16  Andy Wingo  <wingo@pobox.com>
4125
4126         * plugins/elements/gstbufferstore.c
4127         (gst_buffer_store_cleared_func): Pay attention to g_list_append
4128         return value.
4129
4130         * tests/check/gst/gstobject.c
4131         (test_fake_object_name_threaded_unique): Pay attention to
4132         g_list_sort return value.
4133
4134 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4135
4136         * tools/gst-feedback-m.m:
4137           Update for 0.9/0.10 (fixes #323870).
4138
4139 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
4140
4141         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4142           Fix lcopy for mini objects, the mini object needs to be ref'ed.
4143           
4144         * tests/check/gst/gstminiobject.c: (my_foo_init),
4145         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4146         (test_value_collection), (gst_mini_object_suite):
4147           Add test to ensure refcounts end up as expected when passing
4148           GstMiniObjects through g_object_get() and g_object_set().
4149
4150 2005-12-14  Julien MOUTTE  <julien@moutte.net>
4151
4152         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4153         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4154         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4155         of collectpads. This version removes a lot of races without
4156         touching API/ABI. Yay !
4157
4158 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
4159
4160         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4161           Don't allow activation of a srcpad in pull_range if it has no
4162           getrange function.
4163           Change some debug statements to be a little clearer
4164
4165         * plugins/elements/gsttypefindelement.c:
4166         (gst_type_find_handle_src_query):
4167           Check that we have a peer before executing queries thereupon.
4168
4169         * tests/examples/metadata/read-metadata.c: (message_loop):
4170           Use gst_bus_pop instead of gst_bus_poll when we just want it to
4171           immediately return us any available message with 0 timeout.
4172
4173 2005-12-12  Michael Smith  <msmith@fluendo.com>
4174
4175         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4176           Don't unref factories after calling them.
4177         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4178         * plugins/elements/gsttypefindelement.c:
4179         (gst_type_find_element_chain):
4180           Free lists of factories after using them. Fixing typefinding memory
4181           leaks.
4182
4183 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4184
4185         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4186         (gst_plugin_feature_load):
4187           more meaningful debug output
4188         * configure.ac:
4189         * tests/Makefile.am:
4190         * tests/old/examples/Makefile.am:
4191           make make distcheck happy again
4192
4193 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4194
4195         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4196           Catch the special case where we are operating chain-based,
4197           but the downstream peer pad has no chain function. Emit a
4198           custom error message in this case instead of letting the
4199           core generate one implying that this is some sort of core
4200           bug. It's not, it just means that whatever got plugged
4201           into the pipeline downstream when we announced the type
4202           can only operate pull-based, while our source can only
4203           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4204           Error string has not been marked for translation yet, as
4205           it probably needs some more work first.
4206
4207         (gst_type_find_element_get_best_possibility):
4208           Add helper function to find the best of all available
4209           found possibilities that qualify given the min. threshold.
4210
4211         (gst_type_find_element_handle_event):
4212           Fix the case where we get an EOS while still in TYPEFIND
4213           mode (we want to chose the best of all possible types,
4214           not just the first type that happens to be in our unsorted
4215           list of possible types).
4216
4217         (gst_type_find_element_chain):
4218           Make sure we return GST_FLOW_ERROR when we errored out
4219           in stop_typefinding(); also, don't just find the best of
4220           all found type entries and then use the last examined
4221           type entry, but actually use the best entry.
4222
4223 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4224
4225         * tests/examples/typefind/typefind.c: (type_found):
4226         * tests/examples/xml/runxml.c: (xml_loaded):
4227           More gcc4 fixes and a mem leak fix.
4228
4229 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4230
4231         * tests/examples/xml/createxml.c: (object_saved):
4232           gcc 4 fixes
4233
4234 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4235
4236         * tests/Makefile.am:
4237           enable the examples even more
4238
4239 2005-12-12  Andy Wingo  <wingo@pobox.com>
4240
4241         * libs/gst/net/gstnettimeprovider.c
4242         (gst_net_time_provider_class_init, gst_net_time_provider_init)
4243         (gst_net_time_provider_set_property)
4244         (gst_net_time_provider_get_property):
4245         API addition: Export "active" as a GObject property.
4246         (gst_net_time_provider_thread): Only respond to time queries if
4247         the time provider is active.
4248
4249         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4250         NetTimeProvider, preserving binary compat.
4251
4252 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4253
4254         * tests/examples/controller/audio-example.c: (main):
4255         * tests/examples/launch/Makefile.am:
4256           convert comments again
4257
4258 2005-12-12  Wim Taymans  <wim@fluendo.com>
4259
4260         * libs/gst/base/gstpushsrc.c:
4261         Fix typo.
4262
4263 2005-12-12  Wim Taymans  <wim@fluendo.com>
4264
4265         * docs/libs/gstreamer-libs-sections.txt:
4266         Added new symbol to docs.
4267
4268         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4269         (gst_base_src_init), (gst_base_src_set_format),
4270         (gst_base_src_default_query), (gst_base_src_query),
4271         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4272         (gst_base_src_perform_seek), (gst_base_src_send_event),
4273         (gst_base_src_default_event), (gst_base_src_event_handler),
4274         (gst_base_src_set_property), (gst_base_src_get_property),
4275         (gst_base_src_wait), (gst_base_src_do_sync),
4276         (gst_base_src_update_length), (gst_base_src_get_range),
4277         (gst_base_src_check_get_range), (gst_base_src_loop),
4278         (gst_base_src_default_negotiate), (gst_base_src_start),
4279         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4280         (gst_base_src_change_state):
4281         * libs/gst/base/gstbasesrc.h:
4282         Implement seeking to other formats than _BYTES.
4283         Implement more seeking methods correctly.
4284         Doc updates.
4285         Added query vmethod.
4286         Added do_seek vmethod to make life easier for subclasses
4287         when seeking.
4288         API addition: gst_base_src_set_format()
4289
4290 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4291
4292         * tests/examples/Makefile.am:
4293           added that too
4294
4295 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4296
4297         * configure.ac:
4298         * docs/random/ensonic/media-device-daemon.txt:
4299         * tests/examples/controller/.cvsignore:
4300         * tests/examples/controller/Makefile.am:
4301         * tests/examples/controller/audio-example.c: (main):
4302         * tests/examples/helloworld/.cvsignore:
4303         * tests/examples/helloworld/Makefile.am:
4304         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4305         * tests/examples/launch/.cvsignore:
4306         * tests/examples/launch/Makefile.am:
4307         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4308         * tests/examples/metadata/.cvsignore:
4309         * tests/examples/metadata/Makefile.am:
4310         * tests/examples/metadata/read-metadata.c: (message_loop),
4311         (make_pipeline), (print_tag), (main):
4312         * tests/examples/queue/.cvsignore:
4313         * tests/examples/queue/Makefile.am:
4314         * tests/examples/queue/queue.c: (event_loop), (main):
4315         * tests/examples/typefind/.cvsignore:
4316         * tests/examples/typefind/Makefile.am:
4317         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4318         (main):
4319         * tests/examples/xml/.cvsignore:
4320         * tests/examples/xml/Makefile.am:
4321         * tests/examples/xml/createxml.c: (object_saved), (main):
4322         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4323         * tests/old/examples/Makefile.am:
4324         * tests/old/examples/TODO:
4325         * tests/old/examples/controller/.cvsignore:
4326         * tests/old/examples/controller/Makefile.am:
4327         * tests/old/examples/controller/audio-example.c:
4328         * tests/old/examples/helloworld/.cvsignore:
4329         * tests/old/examples/helloworld/Makefile.am:
4330         * tests/old/examples/helloworld/helloworld.c:
4331         * tests/old/examples/launch/.cvsignore:
4332         * tests/old/examples/launch/Makefile.am:
4333         * tests/old/examples/launch/mp3parselaunch.c:
4334         * tests/old/examples/launch/mp3play:
4335         * tests/old/examples/manual/Makefile.am:
4336         * tests/old/examples/metadata/Makefile.am:
4337         * tests/old/examples/metadata/read-metadata.c:
4338         * tests/old/examples/queue/.cvsignore:
4339         * tests/old/examples/queue/Makefile.am:
4340         * tests/old/examples/queue/queue.c:
4341         * tests/old/examples/typefind/.cvsignore:
4342         * tests/old/examples/typefind/Makefile.am:
4343         * tests/old/examples/typefind/typefind.c:
4344         * tests/old/examples/xml/.cvsignore:
4345         * tests/old/examples/xml/Makefile.am:
4346         * tests/old/examples/xml/createxml.c:
4347         * tests/old/examples/xml/runxml.c:
4348           applied some simple fixing to some examples
4349           re-enabled the working examples
4350
4351 2005-12-12  Wim Taymans  <wim@fluendo.com>
4352
4353         * gst/gstsegment.c: (gst_segment_init),
4354         (gst_segment_set_last_stop), (gst_segment_set_seek),
4355         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4356         (gst_segment_to_running_time):
4357         Added more documentation.
4358         Make sure the last_pos value is updated properly.
4359         Make sure to_stream_time and to_running_time don't
4360         operate on wrong values.
4361
4362         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4363         Update check.
4364
4365 2005-12-12  Michael Smith  <msmith@fluendo.com>
4366
4367         * plugins/elements/gsttypefindelement.c: (free_entry),
4368         (gst_type_find_element_chain):
4369           Now that we're not leaking factories, make sure we keep references
4370           to them while we need them.
4371
4372 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4373
4374         * tests/check/gst/struct_i386.h:
4375           ifdef out the XML structs
4376
4377 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4378
4379         * gst/gstvalue.c: (gst_value_transform_double_fraction):
4380           floor is not needed, F is always positive; this obviates the
4381           need for adding -lm when building without libxml
4382
4383 2005-12-12  Wim Taymans  <wim@fluendo.com>
4384
4385         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4386         Take current playback rate into account when reporting
4387         the position.
4388
4389 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4390
4391         * docs/manual/mime-world.fig:
4392           Let's try this again, this time with a file that is
4393           actually in XFig format.
4394
4395 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4396
4397         * docs/manual/mime-world.fig:
4398           Add audioconvert element to diagram so that it
4399           matches the text and the code (fixes #319526).
4400
4401 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4402
4403         * docs/pwg/building-chainfn.xml:
4404         * docs/pwg/building-pads.xml:
4405         * docs/pwg/building-state.xml:
4406         * docs/pwg/other-source.xml:
4407           Update state change stuff for 0.10 (fixes #322969).
4408
4409 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4410
4411         * docs/manual/advanced-dataaccess.xml:
4412         * docs/manual/appendix-checklist.xml:
4413         * docs/manual/appendix-programs.xml:
4414         * docs/manual/basics-pads.xml:
4415         * docs/manual/highlevel-components.xml:
4416         * docs/manual/manual.xml:
4417           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4418           add converters in front of pipelines; remove curly
4419           brackets for threads stuff, they no longer exist; use
4420           GST_TYPE_FRACTION for framerates; update some pieces of
4421           code to 0.10, but there's plenty more to do.
4422
4423         * docs/manual/appendix-porting.xml:
4424           Expand on asynchroneous state changes; s/0.9/0.10/;
4425           mention disappearance of gst_init_get_popt_table()
4426           (fixes #322916).
4427
4428 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4429
4430         * docs/faq/using.xml:
4431           Spider no longer exists, and neither does gst-launch-ext.
4432           Update examples to use decodebin and playbin and put
4433           converters in front of sinks (fixes #323726).
4434
4435 2005-12-09  Michael Smith  <msmith@fluendo.com>
4436
4437         * plugins/elements/gsttypefindelement.c: (find_peek),
4438         (gst_type_find_element_chain):
4439           Fix leaking element factories in typefinding.
4440           Fix problem where we forgot about a probable type on non-seekable
4441           files, and thus later mis-typefound it.
4442
4443 2005-12-09  Michael Smith  <msmith@fluendo.com>
4444
4445         * common/m4/gst-makecontext.m4:
4446         * common/m4/gst-mcsc.m4:
4447         * configure.ac:
4448         * win32/common/config.h:
4449         * win32/common/config.h.in:
4450           Remove makecontext stuff; not used in 0.10 and causes problems on
4451           HPUX according to bug #322441
4452
4453 2005-12-07  Wim Taymans  <wim@fluendo.com>
4454
4455         * tests/check/Makefile.am:
4456         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4457         (main):
4458         * tests/check/libs/struct_i386.h:
4459         Added ABI check for libs
4460
4461 2005-12-07  Wim Taymans  <wim@fluendo.com>
4462
4463         * tests/check/Makefile.am:
4464         And add the struct_i386.h to dist.
4465
4466 2005-12-07  Wim Taymans  <wim@fluendo.com>
4467
4468         * tests/check/Makefile.am:
4469         * tests/check/gst/.cvsignore:
4470         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4471         (main):
4472         * tests/check/gst/struct_i386.h:
4473         Added check for ABI compatibility.
4474
4475 2005-12-07  Wim Taymans  <wim@fluendo.com>
4476
4477         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4478         (gst_fake_src_get_times), (gst_fake_src_create):
4479         Fix broken sync option, fixes #323259
4480
4481 2005-12-07  Wim Taymans  <wim@fluendo.com>
4482
4483         * gst/gstbuffer.c:
4484         Small docs update.
4485
4486         * gst/gstcaps.c: (gst_caps_is_equal):
4487         Don't assert on NULL <--> X. Fixes #323260
4488
4489         * gst/gstminiobject.c: (gst_mini_object_replace):
4490         If we're doing atomic operations, we might just as well use
4491         the proper way to get an atomic pointer.
4492
4493         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4494         Clean up debugging.
4495
4496 2005-12-07  Michael Smith  <msmith@fluendo.com>
4497
4498         * gst/parse/grammar.y:
4499           Remove handling of { } for threads.
4500
4501 2005-12-06  David Schleef  <ds@schleef.org>
4502
4503         * libs/gst/base/gstbasetransform.c: speling fix.
4504
4505 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4506
4507         * docs/libs/tmpl/gstdataprotocol.sgml:
4508         * docs/random/omega/testing/gstobject.c:
4509         * gst/gst.c:
4510         * gst/gstclock.c:
4511         * gst/gstelement.c:
4512         * gst/gstelementfactory.c:
4513         * gst/gsterror.c:
4514         * gst/gstevent.c:
4515         * gst/gstghostpad.c:
4516         * gst/gstinfo.c:
4517         * gst/gstpadtemplate.c:
4518         * gst/gstregistryxml.c:
4519         * gst/gsttaglist.c:
4520         * gst/gsttagsetter.c:
4521         * gst/gsttypefind.c:
4522         * gst/gstvalue.c:
4523         * libs/gst/base/gstbasesrc.c:
4524         * libs/gst/net/gstnetclientclock.c:
4525         * libs/gst/net/gstnettimeprovider.c:
4526         * plugins/elements/gstfakesrc.c:
4527         * plugins/elements/gstfdsrc.c:
4528         * plugins/elements/gstfilesrc.c:
4529         * plugins/elements/gstidentity.c:
4530         * plugins/elements/gstqueue.c:
4531         * plugins/elements/gsttypefindelement.c:
4532         * plugins/indexers/gstfileindex.c:
4533         * plugins/indexers/gstmemindex.c:
4534         * tests/check/gst/gsttag.c:
4535         * tests/old/examples/cutter/cutter.c:
4536         * tests/old/examples/mixer/mixer.c:
4537         * tests/old/examples/xml/runxml.c: (main):
4538         * tests/old/testsuite/caps/normalisation.c:
4539         * tests/old/testsuite/debug/global.c:
4540         * tests/old/testsuite/parse/parse1.c:
4541         * tools/gst-xmlinspect.c:
4542         * win32/common/dirent.c:
4543           expand tabs
4544
4545 === release 0.10.0 ===
4546
4547 2005-12-05   <thomas (at) apestaart (dot) org>
4548
4549         * configure.ac:
4550           releasing 0.10.0, "Maroilles"
4551
4552 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4553
4554         submitted by: Funda Wang <fundawang@linux.net.cn>
4555
4556         * po/LINGUAS:
4557         * po/zh_CN.po:
4558           added Chinese (Traditional) translation
4559
4560 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4561
4562         * docs/gst/gstreamer-sections.txt:
4563         * docs/libs/tmpl/gstdataprotocol.sgml:
4564         * docs/random/thomasvs/TODO:
4565         * gst/gstutils.c:
4566         * gst/gstutils.h:
4567           fix docs
4568
4569 2005-12-05  Andy Wingo  <wingo@pobox.com>
4570
4571         patch by: Wim Taymans <wim@fluendo.com>
4572
4573         * libs/gst/base/gstbasetransform.c
4574         (gst_base_transform_prepare_output_buf)
4575         (gst_base_transform_buffer_alloc):
4576         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
4577         alloc_buffer_and_set_caps.
4578
4579         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
4580         set_caps on the source pad.
4581         (gst_pad_alloc_buffer_and_set_caps): New function, does what
4582         alloc_buffer used to do. Fixes #322874.
4583
4584         * docs/gst/gstreamer-sections.txt: 
4585         * docs/design/part-negotiation.txt: 
4586         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
4587         changes.
4588
4589 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4590
4591         patch by: Sebastien Moutte
4592
4593         * win32/MANIFEST:
4594         * win32/common/config.h.in:
4595         * win32/vs6/libgstcontroller.dsp:
4596           win32 build fixes
4597
4598 2005-12-05  Wim Taymans  <wim@fluendo.com>
4599
4600         * gst/gstcaps.c: (gst_caps_is_equal):
4601         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4602         (gst_fake_src_create):
4603         Back out previous code changes, leave doc updates, file bugs 
4604         instead. 
4605
4606 2005-12-05  Wim Taymans  <wim@fluendo.com>
4607
4608         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4609         (gst_fake_src_get_times), (gst_fake_src_create):
4610         * plugins/elements/gstfakesrc.h:
4611         Fix broken sync code.
4612
4613 2005-12-05  Wim Taymans  <wim@fluendo.com>
4614
4615         * gst/gstcaps.c: (gst_caps_is_equal):
4616         Comparing NULL against !NULL yields different caps, not a
4617         failure.
4618
4619 2005-12-05  Wim Taymans  <wim@fluendo.com>
4620
4621         * gst/gstpipeline.c:
4622         Fix small typo in docs.
4623
4624 2005-12-05  Andy Wingo  <wingo@pobox.com>
4625
4626         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
4627
4628         * gst/gst.c (init_post): remove hard-coded 0.9 location for
4629         registries/plugins with a MAJORMINOR one.
4630         (plugin_desc): Rename library from gstcoreleements to
4631         staticelements. Fixes #323222.
4632
4633 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
4634
4635         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
4636           Change debug category to 'collectpads' from 'collect_pads'
4637           (fixes #323250).
4638
4639 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4640
4641         patch by: Sebastien Moutte
4642
4643         * libs/gst/controller/gstinterpolation.c:
4644           use convert function for uint64/double
4645         * win32/vs6/libgstcontroller.dsp:
4646           link to GLib
4647
4648 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4649
4650         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
4651         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
4652         * gst/gstutils.h:
4653         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4654           add tests that seem to show that the guint64/gdouble conversions
4655           are correct.
4656
4657 2005-12-02  Wim Taymans  <wim@fluendo.com>
4658
4659         * gst/gstregistry.c: (gst_registry_add_path):
4660         * gst/gstregistry.h:
4661         * gst/gstregistryxml.c:
4662         Fix docs again.
4663
4664 2005-12-02  Wim Taymans  <wim@fluendo.com>
4665
4666         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4667         (gst_util_uint64_scale_int):
4668         Small cleanup.
4669
4670         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4671         Add debug log line.
4672
4673         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
4674         Add FIXME.
4675
4676 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4677
4678         * win32/MANIFEST:
4679         * win32/common/config.h:
4680         * win32/vs6/gstreamer.dsw:
4681         * win32/vs6/libgstcoreelements.dsp:
4682         * win32/vs6/libgstelements.dsp:
4683           renamed core elements plugin
4684
4685 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4686
4687         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
4688         (get_candidates):
4689           do piece-wise major/minor comparison so 0.9 < 0.10
4690           also allow .exe extensions for tools
4691
4692 2005-12-02  Michael Smith  <msmith@fluendo.com>
4693
4694         * gst/gst.c:
4695           Escape a % to make gtkdoc happier; bug 322958.
4696
4697 === release 0.9.7 ===
4698
4699 2005-12-01   <thomas (at) apestaart (dot) org>
4700
4701         * configure.ac:
4702           releasing 0.9.7, "My Dog Has No Nose"
4703
4704 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4705
4706         * common/gst-xmlinspect.py:
4707         * configure.ac:
4708         * docs/libs/tmpl/gstdataprotocol.sgml:
4709         * docs/random/release:
4710         * po/af.po:
4711         * po/az.po:
4712         * po/bg.po:
4713         * po/ca.po:
4714         * po/cs.po:
4715         * po/de.po:
4716         * po/en_GB.po:
4717         * po/fr.po:
4718         * po/it.po:
4719         * po/nb.po:
4720         * po/nl.po:
4721         * po/ru.po:
4722         * po/sq.po:
4723         * po/sr.po:
4724         * po/sv.po:
4725         * po/tr.po:
4726         * po/uk.po:
4727         * po/vi.po:
4728         * win32/common/config.h:
4729         * win32/common/config.h.in:
4730         * win32/vs6/gst_inspect.dsp:
4731         * win32/vs6/gst_launch.dsp:
4732         * win32/vs6/libgstbase.dsp:
4733         * win32/vs6/libgstelements.dsp:
4734         * win32/vs6/libgstreamer.dsp:
4735         * win32/vs7/GStreamer.vcproj:
4736         * win32/vs7/gst-inspect.vcproj:
4737         * win32/vs7/gst-launch.vcproj:
4738         * win32/vs7/libgstbase.vcproj:
4739           bump GST_MAJORMINOR to 0.10
4740           reset libtool version
4741
4742 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4743
4744         * po/LINGUAS:
4745         * po/bg.po:
4746           Added Bulgarian translation by (Alexander Shopov)
4747
4748 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4749
4750         * tests/check/gst/gstplugin.c:
4751           fix test
4752
4753 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4754
4755         * common/gst-xmlinspect.py:
4756         * common/gtk-doc-plugins.mak:
4757         * configure.ac:
4758         * docs/Makefile.am:
4759         * docs/gst/Makefile.am:
4760         * docs/gst/gstreamer-docs.sgml:
4761         * docs/gst/gstreamer-sections.txt:
4762         * docs/gst/gstreamer.types:
4763         * docs/gst/gstreamer.types.in:
4764         * docs/plugins/Makefile.am:
4765         * docs/plugins/gstreamer-plugins-docs.sgml:
4766         * docs/plugins/gstreamer-plugins-sections.txt:
4767         * docs/plugins/gstreamer-plugins.types:
4768         * docs/plugins/inspect.stamp:
4769         * docs/plugins/inspect/plugin-coreelements.xml:
4770         * docs/plugins/inspect/plugin-coreindexers.xml:
4771         * docs/plugins/scanobj-build.stamp:
4772         * gstreamer.spec.in:
4773         * plugins/elements/Makefile.am:
4774         * plugins/elements/gstelements.c:
4775         * plugins/elements/gstfakesink.c:
4776         * plugins/elements/gstfakesrc.c:
4777         * plugins/elements/gstfilesink.c:
4778         * plugins/elements/gstfilesrc.c:
4779         * plugins/elements/gstqueue.c:
4780         * plugins/indexers/Makefile.am:
4781         * plugins/indexers/gstindexers.c:
4782           document core plugins in a separate document just like all the
4783           others
4784           rename these plugins to something starting with core
4785
4786 2005-12-01  Andy Wingo  <wingo@pobox.com>
4787
4788         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
4789         padding here before, but it missed the commit.
4790
4791 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4792
4793         * libs/gst/controller/gstinterpolation.c:
4794           whitespace prices have crashed, we should feel free to use some now
4795           use gst_guint64_to_gdouble
4796
4797 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4798
4799         * libs/gst/controller/gstcontroller.c:
4800         * libs/gst/controller/gsthelper.c:
4801         * libs/gst/controller/gstinterpolation.c:
4802         * libs/gst/controller/lib.c:
4803           wrap config.h include
4804
4805 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4806
4807         * docs/gst/gstreamer-sections.txt:
4808           update docs
4809
4810 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4811
4812         * plugins/elements/gstelements.c:
4813         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
4814         (gst_fd_sink__class_init), (gst_fd_sink__init),
4815         (gst_fd_sink__chain), (gst_fd_sink__set_property),
4816         (gst_fd_sink__get_property):
4817         * plugins/elements/gstfdsink.h:
4818         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
4819         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
4820         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
4821         (gst_fd_src_unlock), (gst_fd_src_set_property),
4822         (gst_fd_src_get_property), (gst_fd_src_create),
4823         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
4824         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
4825         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
4826         (gst_fd_src_uri_handler_init):
4827         * plugins/elements/gstfdsrc.h:
4828         * plugins/elements/gstqueue.c: (gst_queue_get_type):
4829           more anal cleanup
4830
4831 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4832
4833         * docs/gst/Makefile.am:
4834         * docs/gst/gstreamer.types.in:
4835         * gst/Makefile.am:
4836           fix the docs build
4837
4838 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4839
4840         * configure.ac:
4841         * gst/Makefile.am:
4842         * gst/gst.c:
4843         * gst/gstplugin.h:
4844         * gst/gstregistry.h:
4845         * tests/benchmarks/complexity.c:
4846         * tests/benchmarks/mass-elements.c:
4847         * tests/check/Makefile.am:
4848         * tools/Makefile.am:
4849         * tools/gst-inspect.c:
4850         * tools/gst-xmlinspect.c:
4851           various fixes to make
4852           --disable-nls --disable-registry --disable-loadsave
4853           --disable-parse --disable-gst-debug
4854           work and get the core .so down to 360444 bytes after stripping
4855
4856 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4857
4858         * Makefile.am:
4859         * configure.ac:
4860           descend into tests
4861         * docs/random/thomasvs/TODO:
4862         * tests/Makefile.am:
4863         * tests/README:
4864           add a README
4865
4866 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4867
4868         * win32/GStreamer.vcproj:
4869         * win32/MANIFEST:
4870         * win32/Makefile:
4871         * win32/Makefile.inspect:
4872         * win32/Makefile.launch:
4873         * win32/Makefile.register:
4874         * win32/README.txt:
4875         * win32/gst-inspect.vcproj:
4876         * win32/gst-launch.vcproj:
4877         * win32/gst-register.vcproj:
4878         * win32/gstelements.vcproj:
4879         * win32/gstgetbits.def:
4880         * win32/gstgetbits.vcproj:
4881         * win32/gstreamer-dbg.def:
4882         * win32/gstreamer.def:
4883         * win32/libgstbase.def:
4884         * win32/libgstbase.vcproj:
4885         * win32/link_oldruntime.c:
4886         * win32/mman.c:
4887         * win32/mman.h:
4888         * win32/mman.inl:
4889         * win32/msvc71.sln:
4890           move even more stuff, win32/ is nice and clean now
4891
4892 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4893
4894         * libs/gst/control/.cvsignore:
4895         * win32/MANIFEST:
4896         * win32/config.h:
4897         * win32/dirent.c:
4898         * win32/dirent.h:
4899         * win32/gstbytestream.def:
4900         * win32/gstbytestream.vcproj:
4901         * win32/gstconfig.h:
4902         * win32/gstenumtypes.c:
4903         * win32/gstenumtypes.h:
4904         * win32/gstoptimalscheduler.vcproj:
4905         * win32/gstversion.h:
4906         * win32/gtchar.h:
4907         * win32/testsuite/bins.vcproj:
4908         * win32/testsuite/bytestream.vcproj:
4909         * win32/testsuite/caps.vcproj:
4910         * win32/testsuite/cleanup.vcproj:
4911         * win32/testsuite/clock.vcproj:
4912         * win32/testsuite/debug.vcproj:
4913         * win32/testsuite/dlopen.vcproj:
4914         * win32/testsuite/dynparams.vcproj:
4915         * win32/testsuite/elements.vcproj:
4916         * win32/testsuite/ghostpads.vcproj:
4917         * win32/testsuite/indexers.vcproj:
4918         * win32/testsuite/negotiation.vcproj:
4919         * win32/testsuite/parse.vcproj:
4920         * win32/testsuite/plugin.vcproj:
4921         * win32/testsuite/refcounting.vcproj:
4922         * win32/testsuite/schedulers.vcproj:
4923         * win32/testsuite/states.vcproj:
4924         * win32/testsuite/tags.vcproj:
4925         * win32/testsuite/threads.vcproj:
4926           remove old win32 stuff that isn't maintained and should be
4927           reorganized
4928
4929 2005-11-30  Andy Wingo  <wingo@pobox.com>
4930
4931         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
4932         loading the gst.interfaces python module bork.
4933
4934         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
4935         available since GLib 2.2. Fixes #318031.
4936
4937 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4938
4939         * Makefile.am:
4940         * check/.cvsignore:
4941         * check/Makefile.am:
4942         * check/elements/.cvsignore:
4943         * check/elements/fakesrc.c:
4944         * check/elements/fdsrc.c:
4945         * check/elements/identity.c:
4946         * check/generic/.cvsignore:
4947         * check/generic/states.c:
4948         * check/gst-libs/.cvsignore:
4949         * check/gst-libs/controller.c:
4950         * check/gst-libs/gdp.c:
4951         * check/gst/.cvsignore:
4952         * check/gst/capslist.h:
4953         * check/gst/gst.c:
4954         * check/gst/gstbin.c:
4955         * check/gst/gstbuffer.c:
4956         * check/gst/gstbus.c:
4957         * check/gst/gstcaps.c:
4958         * check/gst/gstelement.c:
4959         * check/gst/gstevent.c:
4960         * check/gst/gstghostpad.c:
4961         * check/gst/gstiterator.c:
4962         * check/gst/gstmessage.c:
4963         * check/gst/gstminiobject.c:
4964         * check/gst/gstobject.c:
4965         * check/gst/gstpad.c:
4966         * check/gst/gstpipeline.c:
4967         * check/gst/gstplugin.c:
4968         * check/gst/gstsegment.c:
4969         * check/gst/gststructure.c:
4970         * check/gst/gstsystemclock.c:
4971         * check/gst/gsttag.c:
4972         * check/gst/gstutils.c:
4973         * check/gst/gstvalue.c:
4974         * check/net/.cvsignore:
4975         * check/net/gstnetclientclock.c:
4976         * check/net/gstnettimeprovider.c:
4977         * check/pipelines/.cvsignore:
4978         * check/pipelines/cleanup.c:
4979         * check/pipelines/simple_launch_lines.c:
4980         * check/pipelines/stress.c:
4981         * check/states/.cvsignore:
4982         * check/states/sinks.c:
4983         * configure.ac:
4984         * examples/Makefile.am:
4985         * examples/appreader/.cvsignore:
4986         * examples/appreader/Makefile.am:
4987         * examples/appreader/appreader.c:
4988         * examples/controller/.cvsignore:
4989         * examples/controller/Makefile.am:
4990         * examples/controller/audio-example.c:
4991         * examples/cutter/.cvsignore:
4992         * examples/cutter/Makefile.am:
4993         * examples/cutter/cutter.c:
4994         * examples/cutter/cutter.h:
4995         * examples/events/Makefile.am:
4996         * examples/events/seek.c:
4997         * examples/helloworld/.cvsignore:
4998         * examples/helloworld/Makefile.am:
4999         * examples/helloworld/helloworld.c:
5000         * examples/helloworld2/.cvsignore:
5001         * examples/helloworld2/Makefile.am:
5002         * examples/helloworld2/helloworld2.c:
5003         * examples/launch/.cvsignore:
5004         * examples/launch/Makefile.am:
5005         * examples/launch/mp3parselaunch.c:
5006         * examples/launch/mp3play:
5007         * examples/manual/.cvsignore:
5008         * examples/manual/Makefile.am:
5009         * examples/manual/extract.pl:
5010         * examples/metadata/Makefile.am:
5011         * examples/metadata/read-metadata.c:
5012         * examples/mixer/.cvsignore:
5013         * examples/mixer/Makefile.am:
5014         * examples/mixer/mixer.c:
5015         * examples/mixer/mixer.h:
5016         * examples/pingpong/.cvsignore:
5017         * examples/pingpong/Makefile.am:
5018         * examples/pingpong/pingpong.c:
5019         * examples/plugins/.cvsignore:
5020         * examples/plugins/Makefile.am:
5021         * examples/plugins/example.c:
5022         * examples/plugins/example.h:
5023         * examples/pwg/.cvsignore:
5024         * examples/pwg/Makefile.am:
5025         * examples/pwg/extract.pl:
5026         * examples/queue/.cvsignore:
5027         * examples/queue/Makefile.am:
5028         * examples/queue/queue.c:
5029         * examples/queue2/.cvsignore:
5030         * examples/queue2/Makefile.am:
5031         * examples/queue2/queue2.c:
5032         * examples/queue3/.cvsignore:
5033         * examples/queue3/Makefile.am:
5034         * examples/queue3/queue3.c:
5035         * examples/queue4/.cvsignore:
5036         * examples/queue4/Makefile.am:
5037         * examples/queue4/queue4.c:
5038         * examples/retag/.cvsignore:
5039         * examples/retag/Makefile.am:
5040         * examples/retag/retag.c:
5041         * examples/retag/transcode.c:
5042         * examples/thread/.cvsignore:
5043         * examples/thread/Makefile.am:
5044         * examples/thread/thread.c:
5045         * examples/typefind/.cvsignore:
5046         * examples/typefind/Makefile.am:
5047         * examples/typefind/typefind.c:
5048         * examples/xml/.cvsignore:
5049         * examples/xml/Makefile.am:
5050         * examples/xml/createxml.c:
5051         * examples/xml/runxml.c:
5052         * tests/Makefile.am:
5053         * tests/check/Makefile.am:
5054         * testsuite/.cvsignore:
5055         * testsuite/Makefile.am:
5056         * testsuite/Rules:
5057         * testsuite/caps/.cvsignore:
5058         * testsuite/caps/Makefile.am:
5059         * testsuite/caps/app_fixate.c:
5060         * testsuite/caps/audioscale.c:
5061         * testsuite/caps/caps.c:
5062         * testsuite/caps/caps.h:
5063         * testsuite/caps/caps_strings:
5064         * testsuite/caps/compatibility.c:
5065         * testsuite/caps/deserialize.c:
5066         * testsuite/caps/enumcaps.c:
5067         * testsuite/caps/eratosthenes.c:
5068         * testsuite/caps/filtercaps.c:
5069         * testsuite/caps/fixed.c:
5070         * testsuite/caps/fraction-convert.c:
5071         * testsuite/caps/fraction-multiply-and-zero.c:
5072         * testsuite/caps/intersect2.c:
5073         * testsuite/caps/intersection.c:
5074         * testsuite/caps/normalisation.c:
5075         * testsuite/caps/random.c:
5076         * testsuite/caps/renegotiate.c:
5077         * testsuite/caps/sets.c:
5078         * testsuite/caps/simplify.c:
5079         * testsuite/caps/string-conversions.c:
5080         * testsuite/caps/structure.c:
5081         * testsuite/caps/subtract.c:
5082         * testsuite/caps/union.c:
5083         * testsuite/debug/.cvsignore:
5084         * testsuite/debug/Makefile.am:
5085         * testsuite/debug/category.c:
5086         * testsuite/debug/commandline.c:
5087         * testsuite/debug/global.c:
5088         * testsuite/debug/output.c:
5089         * testsuite/debug/printf_extension.c:
5090         * testsuite/dlopen/.cvsignore:
5091         * testsuite/dlopen/Makefile.am:
5092         * testsuite/dlopen/dlopen_gst.c:
5093         * testsuite/dlopen/loadgst.c:
5094         * testsuite/elements/.cvsignore:
5095         * testsuite/elements/Makefile.am:
5096         * testsuite/elements/gst-inspect-check.in:
5097         * testsuite/elements/struct_i386.h:
5098         * testsuite/elements/struct_size.c:
5099         * testsuite/indexers/.cvsignore:
5100         * testsuite/indexers/Makefile.am:
5101         * testsuite/indexers/cache1.c:
5102         * testsuite/indexers/indexdump.c:
5103         * testsuite/parse/.cvsignore:
5104         * testsuite/parse/Makefile.am:
5105         * testsuite/parse/parse1.c:
5106         * testsuite/parse/parse2.c:
5107         * testsuite/plugin/.cvsignore:
5108         * testsuite/plugin/Makefile.am:
5109         * testsuite/plugin/README:
5110         * testsuite/plugin/dynamic.c:
5111         * testsuite/plugin/linked.c:
5112         * testsuite/plugin/loading.c:
5113         * testsuite/plugin/registry.c:
5114         * testsuite/plugin/static.c:
5115         * testsuite/plugin/static2.c:
5116         * testsuite/plugin/testplugin.c:
5117         * testsuite/plugin/testplugin2.c:
5118         * testsuite/plugin/testplugin2_s.c:
5119         * testsuite/plugin/testplugin_s.c:
5120         * testsuite/refcounting/.cvsignore:
5121         * testsuite/refcounting/Makefile.am:
5122         * testsuite/refcounting/bin.c:
5123         * testsuite/refcounting/element.c:
5124         * testsuite/refcounting/element_pad.c:
5125         * testsuite/refcounting/mainloop.c:
5126         * testsuite/refcounting/mem.c:
5127         * testsuite/refcounting/mem.h:
5128         * testsuite/refcounting/object.c:
5129         * testsuite/refcounting/pad.c:
5130         * testsuite/refcounting/sched.c:
5131         * testsuite/refcounting/thread.c:
5132         * testsuite/states/.cvsignore:
5133         * testsuite/states/Makefile.am:
5134         * testsuite/states/bin.c:
5135         * testsuite/states/locked.c:
5136         * testsuite/states/parent.c:
5137         * testsuite/threads/.cvsignore:
5138         * testsuite/threads/159566.c:
5139         * testsuite/threads/159852.c:
5140         * testsuite/threads/Makefile.am:
5141         * testsuite/threads/queue.c:
5142         * testsuite/threads/signals.c:
5143         * testsuite/threads/staticrec.c:
5144         * testsuite/threads/thread.c:
5145         * testsuite/threads/threadb.c:
5146         * testsuite/threads/threadc.c:
5147         * testsuite/threads/threadd.c:
5148         * testsuite/threads/threade.c:
5149         * testsuite/threads/threadf.c:
5150         * testsuite/threads/threadg.c:
5151         * testsuite/threads/threadh.c:
5152         * testsuite/threads/threadi.c:
5153           move all of these under tests
5154
5155 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5156
5157         * configure.ac:
5158         * tests/Makefile.am:
5159           fix distcheck
5160
5161 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5162
5163         * docs/gst/gstreamer-sections.txt:
5164         * tests/sched/.cvsignore:
5165         * tests/sched/Makefile.am:
5166         * tests/sched/cases/(fs-fs).xml:
5167         * tests/sched/cases/(fs-i-fs).xml:
5168         * tests/sched/cases/(fs-i-i-fs).xml:
5169         * tests/sched/cases/(fs-i-q[i-fs]).xml:
5170         * tests/sched/dynamic-pipeline.c:
5171         * tests/sched/interrupt1.c:
5172         * tests/sched/interrupt2.c:
5173         * tests/sched/interrupt3.c:
5174         * tests/sched/runtestcases:
5175         * tests/sched/runxml.c:
5176         * tests/sched/sched-stress.c:
5177         * tests/sched/sort.c:
5178         * tests/sched/testcases:
5179         * tests/sched/testcases1.tc:
5180         * tests/seeking/.cvsignore:
5181         * tests/seeking/Makefile.am:
5182         * tests/seeking/seeking1.c:
5183         * tests/threadstate/.cvsignore:
5184         * tests/threadstate/Makefile.am:
5185         * tests/threadstate/test1.c:
5186         * tests/threadstate/test2.c:
5187         * tests/threadstate/threadstate1.c:
5188         * tests/threadstate/threadstate2.c:
5189         * tests/threadstate/threadstate3.c:
5190         * tests/threadstate/threadstate4.c:
5191         * tests/threadstate/threadstate5.c:
5192           remove obsolete tests
5193         * configure.ac:
5194         * tests/bench-complexity.scm:
5195         * tests/bench-mass_elements.scm:
5196         * tests/complexity.c:
5197         * tests/complexity.gnuplot:
5198         * tests/instantiate/.cvsignore:
5199         * tests/instantiate/Makefile.am:
5200         * tests/instantiate/caps.c:
5201         * tests/mass_elements.c:
5202         * tests/network-clock-utils.scm:
5203         * tests/network-clock.scm:
5204         * tests/plot-data:
5205         First pass at cleaning up tests/ dir before moving the rest
5206         Combined with CVS surgery
5207
5208 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5209
5210         * po/POTFILES.in:
5211           queue has moved, update
5212
5213 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5214
5215         * docs/gst/gstreamer-sections.txt:
5216           remove double entries from the docs
5217         * gst/gst_private.h:
5218         * gst/gstinfo.c: (_gst_debug_init):
5219           remove the THREAD debug category
5220         * gst/Makefile.am:
5221         * gst/gstqueue.c:
5222         * gst/gstqueue.h:
5223         * docs/gst/gstreamer.types:
5224         * plugins/elements/gstqueue.c: (gst_queue_get_type),
5225         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5226           completely move queue and fix up debugging categories
5227
5228 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5229
5230         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5231           make initialization portable, using LL is not
5232
5233 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5234
5235         * win32/common/gstconfig.h:
5236           add large padding
5237
5238 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5239
5240         * win32/common/libgstreamer.def:
5241           rename symbols; sort base section
5242
5243 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5244
5245         * gst/gstclock.c: (do_linear_regression):
5246           remove crack non-portable handrolled DEBUG macro
5247
5248 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5249
5250         * docs/random/release:
5251           update notes
5252         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5253         (gst_object_flags_get_type), (register_gst_bin_flags),
5254         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5255         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5256         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5257         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5258         (gst_caps_flags_get_type), (register_gst_clock_return),
5259         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5260         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5261         (gst_clock_flags_get_type), (register_gst_state),
5262         (gst_state_get_type), (register_gst_state_change_return),
5263         (gst_state_change_return_get_type), (register_gst_state_change),
5264         (gst_state_change_get_type), (register_gst_element_flags),
5265         (gst_element_flags_get_type), (register_gst_core_error),
5266         (gst_core_error_get_type), (register_gst_library_error),
5267         (gst_library_error_get_type), (register_gst_resource_error),
5268         (gst_resource_error_get_type), (register_gst_stream_error),
5269         (gst_stream_error_get_type), (register_gst_event_type_flags),
5270         (gst_event_type_flags_get_type), (register_gst_event_type),
5271         (gst_event_type_get_type), (register_gst_seek_type),
5272         (gst_seek_type_get_type), (register_gst_seek_flags),
5273         (gst_seek_flags_get_type), (register_gst_format),
5274         (gst_format_get_type), (register_gst_index_certainty),
5275         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5276         (gst_index_entry_type_get_type),
5277         (register_gst_index_lookup_method),
5278         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5279         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5280         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5281         (gst_index_flags_get_type), (register_gst_debug_level),
5282         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5283         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5284         (gst_iterator_result_get_type), (register_gst_iterator_item),
5285         (gst_iterator_item_get_type), (register_gst_message_type),
5286         (gst_message_type_get_type), (register_gst_mini_object_flags),
5287         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5288         (gst_pad_link_return_get_type), (register_gst_flow_return),
5289         (gst_flow_return_get_type), (register_gst_activate_mode),
5290         (gst_activate_mode_get_type), (register_gst_pad_direction),
5291         (gst_pad_direction_get_type), (register_gst_pad_flags),
5292         (gst_pad_flags_get_type), (register_gst_pad_presence),
5293         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5294         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5295         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5296         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5297         (gst_plugin_flags_get_type), (register_gst_rank),
5298         (gst_rank_get_type), (register_gst_query_type),
5299         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5300         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5301         (gst_tag_flag_get_type), (register_gst_task_state),
5302         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5303         (gst_alloc_trace_flags_get_type),
5304         (register_gst_type_find_probability),
5305         (gst_type_find_probability_get_type), (register_gst_uri_type),
5306         (gst_uri_type_get_type), (register_gst_parse_error),
5307         (gst_parse_error_get_type):
5308         * win32/common/gstenumtypes.h:
5309         * win32/common/gstversion.h:
5310           update visual studio generated files
5311
5312 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5313
5314         * win32/vs6/libgstbase.dsp:
5315         * win32/vs6/libgstelements.dsp:
5316           update project files for new locations
5317
5318 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5319
5320         * Makefile.am:
5321           remove some files
5322         * README:
5323           reinstate and update
5324         * DEVEL:
5325         * REQUIREMENTS:
5326           removed
5327         * LICENSE:
5328         * docs/random/LICENSE:
5329           moved to random
5330
5331 2005-11-30  Edward Hervey  <edward@fluendo.com>
5332
5333         * gst/gsttypefind.c: (gst_type_find_register):
5334         * gst/gsttypefind.h:
5335         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5336         (gst_type_find_factory_dispose):
5337         * gst/gsttypefindfactory.h:
5338         Fix memory leak in GstTypeFindFactory.
5339
5340 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5341
5342         * gst/gst.c:
5343         * plugins/elements/Makefile.am:
5344         * plugins/elements/gstelements.c:
5345         * plugins/elements/gstqueue.c:
5346           move queue from core to the elements plugin
5347
5348 2005-11-29  Andy Wingo  <wingo@pobox.com>
5349
5350         * libs/gst/base/gstbasetransform.h: 
5351         * libs/gst/base/gstbasesrc.h: 
5352         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5353
5354         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5355         of pointers by which to pad very extensible base classes (like the
5356         ones in libs/gst/base).
5357
5358 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5359
5360         * docs/gst/gstreamer-docs.sgml:
5361         * docs/gst/gstreamer-sections.txt:
5362         * docs/libs/gstreamer-libs-docs.sgml:
5363         * docs/libs/gstreamer-libs-sections.txt:
5364           moving documentation from core to lib
5365
5366 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5367
5368         * check/Makefile.am:
5369         * configure.ac:
5370         * docs/gst/Makefile.am:
5371         * gst/Makefile.am:
5372         * gst/base/.cvsignore:
5373         * gst/base/Makefile.am:
5374         * gst/base/README:
5375         * gst/base/gstadapter.c:
5376         * gst/base/gstadapter.h:
5377         * gst/base/gstbasesink.c:
5378         * gst/base/gstbasesink.h:
5379         * gst/base/gstbasesrc.c:
5380         * gst/base/gstbasesrc.h:
5381         * gst/base/gstbasetransform.c:
5382         * gst/base/gstbasetransform.h:
5383         * gst/base/gstcollectpads.c:
5384         * gst/base/gstcollectpads.h:
5385         * gst/base/gstpushsrc.c:
5386         * gst/base/gstpushsrc.h:
5387         * gst/base/gsttypefindhelper.c:
5388         * gst/base/gsttypefindhelper.h:
5389         * gst/check/Makefile.am:
5390         * gst/check/gstcheck.c:
5391         * gst/check/gstcheck.h:
5392         * gst/net/Makefile.am:
5393         * gst/net/gstnet.h:
5394         * gst/net/gstnetclientclock.c:
5395         * gst/net/gstnetclientclock.h:
5396         * gst/net/gstnettimepacket.c:
5397         * gst/net/gstnettimepacket.h:
5398         * gst/net/gstnettimeprovider.c:
5399         * gst/net/gstnettimeprovider.h:
5400         * libs/gst/Makefile.am:
5401         * libs/gst/base/Makefile.am:
5402         * libs/gst/base/gstbasetransform.c:
5403         * libs/gst/check/Makefile.am:
5404         * plugins/elements/Makefile.am:
5405         * po/POTFILES.in:
5406           CVS surgery + support to move base, check, and net out of gst
5407           and into libs/gst
5408
5409 2005-11-29  Andy Wingo  <wingo@pobox.com>
5410
5411         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5412
5413         * gst/gststructure.h (struct _GstStructure): Only one pointer of
5414         padding.
5415
5416         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5417
5418         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5419
5420         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5421
5422         * gst/gstobject.h: (struct _GstObject): Only one pointer of
5423         padding; reduces object size by about 30%. We don't expect
5424         anything else to go into gstobject.
5425
5426         * gst/gstminiobject.h (struct _GstMiniObject)
5427         (struct _GstMiniObjectClass): Only one pointer of padding; the
5428         payload is only a pointer and two ints anyway. For the class there
5429         are only two methods as well.
5430         
5431         * gst/gstelement.h (struct _GstElementClass): Removed
5432         the state_changed signal callback, it is not used.
5433
5434 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5435
5436         * docs/gst/gstreamer.types:
5437           fix includes, though they are a little dinky
5438
5439 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5440
5441         * check/Makefile.am:
5442           look in the right place for elements, a lot more chance of
5443           success
5444         * gst/Makefile.am:
5445           remove indexers and elements subdirs
5446         * plugins/Makefile.am:
5447           make indexers conditional
5448
5449 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5450
5451         * Makefile.am:
5452         * configure.ac:
5453         * plugins/elements/Makefile.am:
5454         * plugins/elements/gstcapsfilter.c:
5455         * plugins/elements/gstfilesink.c:
5456         * plugins/elements/gstfilesrc.c:
5457         * plugins/elements/gstidentity.c:
5458         * plugins/indexers/Makefile.am:
5459           do CVS surgery and related build fixery to move elements
5460           and indexers in a new gstreamer/plugins directory, out of the
5461           gst/ directory
5462
5463 2005-11-29  Andy Wingo  <wingo@pobox.com>
5464
5465         * check/Makefile.am:
5466         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5467         * pkgconfig/gstreamer-net.pc.in:
5468         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5469         #322257.
5470
5471 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5472
5473         * tools/Makefile.am:
5474         * tools/gst-complete.1.in:
5475         * tools/gst-complete.c:
5476         * tools/gst-compprep.1.in:
5477         * tools/gst-compprep.c:
5478           removing -compprep and -complete
5479
5480 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5481
5482         * gst/gstevent.c: (gst_event_new_new_segment),
5483         (gst_event_parse_new_segment):
5484         * gst/gstevent.h:
5485           fix #320529 - clean up new_segment API and structure.
5486           Let's hope everyone was using the methods, and not the structure.
5487
5488 2005-11-29  Edward Hervey  <edward@fluendo.com>
5489
5490         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5491         (gst_base_sink_event), (gst_base_sink_do_sync),
5492         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5493         Properly handle non GST_FORMAT_TIME segment
5494         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5495         Properly handle non GST_FORMAT_TIME segment
5496         * gst/gstsegment.c:
5497         This function is valid if the accumulator is 0 and the format
5498         is different from the requested format.
5499         
5500 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5501
5502         * docs/gst/gstreamer-sections.txt:
5503         Add gst_query_new_seeking and gst_query_parse_seeking to the
5504         docs.
5505
5506 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5507
5508         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5509           Treat a pad alloc with new caps the same as if we were not
5510           negotiated, in order to allow a changing upstream output
5511           to produce a new format of data.
5512
5513 2005-11-29  Edward Hervey  <edward@fluendo.com>
5514
5515         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5516         (gst_base_transform_event), (gst_base_transform_eventfunc):
5517         The event virtual method is now properly implemented, with a default
5518         handler
5519         Sub classes should call the parent_class event method. They should
5520         return FALSE if they had a problem handling the given event, or don't
5521         want GstBaseTransform to send that even downstream
5522         * gst/elements/gstidentity.c: (gst_identity_class_init),
5523         (gst_identity_init), (gst_identity_event),
5524         (gst_identity_transform_ip), (gst_identity_set_property),
5525         (gst_identity_get_property):
5526         * gst/elements/gstidentity.h:
5527         Added the single-segment boolean property.
5528         If set to TRUE, it will output a single segment of data, starting from
5529         0, will eat up all incoming newsegment, and modify the timestamp of the
5530         buffers accordingly
5531
5532 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
5533
5534         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
5535           Don't ref NULL target pad (#322751). Improve docs.
5536
5537 2005-11-29  Michael Smith  <msmith@fluendo.com>
5538
5539         * gst/gstregistryxml.c: (load_plugin):
5540           Don't crash if we failed to load a feature from a plugin. 
5541
5542 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5543
5544         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5545         (GST_START_TEST):
5546           use more check API and less GLib API
5547
5548 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5549
5550         * Makefile.am:
5551           don't run checks if we don't have check
5552         * common/check.mak:
5553           remove the registry when running make torture
5554         * docs/gst/gstreamer-sections.txt:
5555           remove second multiply
5556         * gst/gstqueue.c: (gst_queue_loop):
5557           fix a compile warning when disabling debug
5558
5559 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5560
5561         * gst/gstinfo.h:
5562         Hey! Let's print the pad name if the pointer != NULL instead
5563         of when it == NULL :-)
5564
5565 2005-11-28  Wim Taymans  <wim@fluendo.com>
5566
5567         * check/gst/gstutils.c: (GST_START_TEST):
5568         Updated check, add some scaling accuracy checking code.
5569
5570         * gst/gstutils.c: (gst_util_div128_64),
5571         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
5572         (gst_util_uint64_scale_int):
5573         Fix 6 times faster division code. Optimize for common 
5574         1/1 and less common X/1 cases.
5575
5576 2005-11-28  Wim Taymans  <wim@fluendo.com>
5577
5578         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5579         More checks.
5580
5581         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
5582         (do_linear_regression), (gst_clock_add_observation):
5583         Cleanups.
5584         Release lock when the clock cannot be slaved.
5585         Catch the case where the regression returned an invalid denominator.
5586
5587         * gst/gstutils.c: (gst_util_div128_64_iterate),
5588         (gst_util_div128_64), (gst_util_uint64_scale_int64),
5589         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5590         Add protentially more performant non-iterative 128/64 divide function
5591         that unfortunatly does not work yet.
5592         Shortcut the trivial 0/X = 0 case.
5593         Remove the warnings on overflow.
5594
5595 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5596
5597         * gst/gstplugin.c: (gst_plugin_register_func):
5598           everything causing a plugin not to load should be at least a WARNING
5599
5600 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
5601
5602         * docs/random/ensonic/dparams.txt:
5603           some TODOs for the next dev cycle
5604         * libs/gst/controller/gstcontroller.c:
5605         (gst_controlled_property_set_interpolation_mode),
5606         (gst_controlled_property_new):
5607         * libs/gst/controller/gstcontroller.h:
5608           use base type to assign acccessor functions
5609
5610 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5611
5612         * check/Makefile.am:
5613         Oops, that should have been top_srcdir
5614
5615 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5616
5617         * check/Makefile.am:
5618         * check/elements/fdsrc.c: (GST_START_TEST):
5619         Use a cmdline define to specify the location of a file to use for
5620         testing, to avoid breaking distcheck.
5621
5622 2005-11-28  Andy Wingo  <wingo@pobox.com>
5623
5624         * gst/gstpad.c (fixate_value): Use array functions for arrays.
5625
5626 2005-11-28  Edward Hervey  <edward@fluendo.com>
5627
5628         * tools/gst-launch.c: (main):
5629         Clarify the output strings, makes it easier to translate.
5630         Fixes #322626
5631
5632 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5633
5634         * gst/Makefile.am:
5635           don't try and build net if we don't even have <sys/socket.h>
5636
5637 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
5638
5639         * check/Makefile.am:
5640         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
5641         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
5642           Add tests for fdsrc seekability
5643
5644         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5645         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
5646         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
5647         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
5648         * gst/elements/gstfdsrc.h:
5649           fdsrc should not be a 'live' source.
5650           Implement seeking on seekable fd's.
5651
5652         * gst/gstquery.c: (gst_query_new_seeking),
5653         (gst_query_parse_seeking):
5654         * gst/gstquery.h:
5655           Implement SEEKING query functions: 
5656             *_new_seeking and *_parse_seeking
5657
5658 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
5659
5660         * gst/gstelement.c: (gst_element_dispose):
5661           don't loop forever
5662
5663         * gst/gstiterator.c:
5664         * gst/gststructure.c:
5665           doc fixes
5666
5667         * libs/gst/controller/gstcontroller.c:
5668         (gst_controlled_property_set_interpolation_mode):
5669         * libs/gst/controller/gstcontroller.h:
5670         * libs/gst/controller/gstinterpolation.c:
5671         (interpolate_none_get_enum_value_array):
5672           support controlling enums
5673
5674 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5675
5676         * gst/gstvalue.c:
5677           Improve documentation for gst_value_union().
5678
5679         * gst/gstvalue.h:
5680           Change return value for union, intersect and subtract functions
5681           from gint to gboolean.
5682
5683 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5684
5685         * gst/gstvalue.c: (gst_value_serialize_any_list),
5686         (gst_value_transform_any_list_string),
5687         (gst_value_deserialize_list), (gst_value_deserialize_array),
5688         (gst_value_set_int_range), (gst_value_deserialize_int_range),
5689         (gst_value_set_double_range), (gst_value_deserialize_double_range),
5690         (gst_value_set_fraction_range_full),
5691         (gst_value_deserialize_fraction_range),
5692         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
5693         (gst_value_deserialize_boolean),
5694         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
5695         (gst_value_serialize_float), (gst_value_deserialize_float),
5696         (gst_string_wrap), (gst_value_deserialize_string),
5697         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
5698         (gst_value_union_int_range_int_range),
5699         (gst_value_intersect_int_range_int_range),
5700         (gst_value_intersect_double_range_double_range),
5701         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
5702         (gst_value_subtract_int_range_int_range),
5703         (gst_value_subtract_double_double_range),
5704         (gst_value_subtract_double_range_double_range),
5705         (gst_value_deserialize_fraction):
5706         * gst/gstvalue.h:
5707           Use gint, gdouble and gchar in our API instead of int, double and
5708           char (and make usage in gstvalue.c more consistent).
5709
5710 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5711
5712         * check/Makefile.am:
5713         * libs/gst/controller/Makefile.am:
5714         * libs/gst/dataprotocol/Makefile.am:
5715           fix up Makefile.am and remove GST_ENABLE_NEW
5716
5717 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5718
5719         * configure.ac:
5720         * gst/Makefile.am:
5721         * gst/base/Makefile.am:
5722         * gst/check/Makefile.am:
5723         * gst/elements/Makefile.am:
5724         * gst/net/Makefile.am:
5725           update LDFLAGS use some more
5726
5727 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5728
5729         * common/m4/gst-doc.m4:
5730           Fixes #312589
5731
5732 2005-11-26  Edward Hervey  <edward@fluendo.com>
5733
5734         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5735         This shouldn't issue a g_warning since it returns NULL if it
5736         couldn't find the plugin, and all functions using this behave
5737         properly on a NULL return. Switching to a GST_WARNING.
5738
5739 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
5740
5741         * gst/gstbin.c: (gst_bin_handle_message_func):
5742         Don't leak clock messages.
5743
5744 2005-11-25  Wim Taymans  <wim@fluendo.com>
5745
5746         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5747         (gst_util_uint64_scale_int):
5748         Optimisations, remove unneeded vars.
5749
5750 2005-11-25  Wim Taymans  <wim@fluendo.com>
5751
5752         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5753         Added more checks for the high precision uint64 cases.
5754
5755         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5756         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5757         Implement high precision (guint64 * guint64) / guint64.
5758
5759 2005-11-24  Wim Taymans  <wim@fluendo.com>
5760
5761         * gst/base/gstbasesrc.c: (gst_base_src_query):
5762         Fix wrong percentage query.
5763
5764         * gst/gstutils.c: (gst_util_uint64_scale),
5765         (gst_util_uint64_scale_int):
5766         Add some more common cases that can be handled 
5767         efficiently to _scale.
5768
5769 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5770
5771         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
5772         (gst_mini_object_suite):
5773           don't use check calls from threads; check probably isn't
5774           threadsafe and using a lock to make it threadsafe would
5775           defeat the purpose of this check
5776         * gst/check/gstcheck.c:
5777         * gst/check/gstcheck.h:
5778           use GST_DEBUG some more
5779
5780 2005-11-24  Wim Taymans  <wim@fluendo.com>
5781
5782         * gst/gstutils.c: (gst_util_uint64_scale),
5783         (gst_util_uint64_scale_int):
5784         Chain trivial case to _scale_int.
5785
5786 2005-11-24  Wim Taymans  <wim@fluendo.com>
5787
5788         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5789         Added test for scaling.
5790
5791         * gst/gstclock.h:
5792         Small doc fix.
5793
5794         * gst/gstutils.c: (gst_util_uint64_scale_int):
5795         Implemented high precision scaling code.
5796
5797 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
5798
5799         * gst/gstinfo.h:
5800           do not crash on pad==NULL
5801
5802 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5803
5804         Patch by: Stefan Kost
5805
5806         * common/gtk-doc.mak:
5807         * docs/gst/Makefile.am:
5808         * docs/libs/Makefile.am:
5809           Fix distcheck issues for the libraries docs build
5810           Closes #319599.
5811
5812 2005-11-24  Michael Smith <msmith@fluendo.com>
5813
5814         * docs/manual/basics-helloworld.xml:
5815           Fix bug #315027: memory leak in example code in docs.
5816
5817 2005-11-24  Michael Smith <msmith@fluendo.com>
5818
5819         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5820           Unlock the PREROLL_LOCK in a failure case.
5821
5822 2005-11-24  Wim Taymans  <wim@fluendo.com>
5823
5824         * docs/gst/gstreamer-sections.txt:
5825         * gst/base/gstadapter.h:
5826         * gst/base/gstbasesink.h:
5827         * gst/base/gstbasesrc.h:
5828         * gst/base/gstbasetransform.h:
5829         * gst/base/gstpushsrc.h:
5830         * gst/elements/gstfakesink.h:
5831         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
5832         * gst/elements/gstfakesrc.h:
5833         * gst/elements/gstfilesink.h:
5834         * gst/elements/gstfilesrc.h:
5835         * gst/gst.c:
5836         * gst/gstbin.c:
5837         * gst/gstbuffer.c: (_gst_buffer_copy):
5838         * gst/gstbus.h:
5839         * gst/gstcaps.c:
5840         * gst/gstchildproxy.c:
5841         * gst/gstclock.c:
5842         * gst/gstelement.c:
5843         * gst/gstelementfactory.c:
5844         * gst/gstelementfactory.h:
5845         * gst/gstevent.c:
5846         * gst/gstghostpad.h:
5847         * gst/gstindex.h:
5848         * gst/gstinterface.h:
5849         * gst/gstminiobject.c:
5850         * gst/gstminiobject.h:
5851         * gst/gstpad.c:
5852         * gst/gstpad.h:
5853         * gst/gstpadtemplate.h:
5854         * gst/gstpipeline.h:
5855         * gst/gstpluginfeature.h:
5856         * gst/gstquery.h:
5857         * gst/gstqueue.h:
5858         * gst/gsttaglist.c:
5859         * gst/gsttaglist.h:
5860         * gst/gsttagsetter.c:
5861         * gst/gsttagsetter.h:
5862         * gst/gsttrace.c:
5863         * gst/gsttrace.h:
5864         * gst/gsttypefind.h:
5865         * gst/gsturi.h:
5866         * gst/gstvalue.c:
5867         * gst/net/gstnetclientclock.c:
5868         * gst/net/gstnetclientclock.h:
5869         * gst/net/gstnettimepacket.c:
5870         * gst/net/gstnettimeprovider.c:
5871         * gst/net/gstnettimeprovider.h:
5872         Doc fixes.
5873
5874 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5875
5876         * configure.ac: back to HEAD
5877
5878 === release 0.9.6 ===
5879
5880 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
5881
5882         * configure.ac:
5883           releasing 0.9.6, "Always On Time"
5884
5885 2005-11-23  Wim Taymans  <wim@fluendo.com>
5886
5887         * docs/gst/gstreamer-sections.txt:
5888         * gst/glib-compat.c:
5889         * gst/gsttagsetter.c:
5890         * gst/gstvalue.c:
5891         * gst/net/gstnetclientclock.c:
5892         * gst/net/gstnettimepacket.h:
5893         Doc updates.
5894
5895 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5896
5897         * docs/faq/using.xml:
5898         * docs/libs/tmpl/gstcontrol.sgml:
5899         * docs/manual/advanced-dparams.xml:
5900         * docs/manual/appendix-checklist.xml:
5901         * docs/manual/basics-elements.xml:
5902         * docs/pwg/other-source.xml:
5903         * docs/random/moving-plugins:
5904         * gst/gstpad.c:
5905         * tools/gst-launch.1.in:
5906           remove mentions of sinesrc
5907
5908 2005-11-23  Michael Smith <msmith@fluendo.com>
5909
5910         * docs/gst/gstreamer-sections.txt:
5911           Update for new API and API changes.
5912         * gst/gstobject.h:
5913           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
5914         * gst/gstvalue.c:
5915           Documentation typo fix.
5916         * gst/net/gstnettimepacket.c:
5917           Documentation fixes for arguments.
5918
5919 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
5920
5921         * gst/gststructure.c: (gst_structure_get_fraction),
5922         (gst_structure_parse_value),
5923         (gst_structure_fixate_field_nearest_fraction):
5924         * gst/gststructure.h:
5925         * gst/gstutils.c: (gst_util_uint64_scale_int):
5926         * gst/gstutils.h:
5927         * scripts/update-funcnames:
5928         API Changes. 
5929         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
5930         Make gst_structure_fixate_field_nearest_fraction take a numerator
5931         and denominator argument instead of a GValue
5932         add gst_structure_get_fraction helper function.
5933
5934 2005-11-23  Wim Taymans  <wim@fluendo.com>
5935
5936         * docs/design/part-TODO.txt:
5937         Update TODO.
5938
5939         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5940         * gst/net/gstnetclientclock.h:
5941         Use parent fields for timeout and window_size.
5942
5943 2005-11-23  Andy Wingo  <wingo@pobox.com>
5944
5945         * check/net/gstnetclientclock.c (test_functioning): Adjust to
5946         rate_num/rate_denom change.
5947
5948         * gst/net/gstnetclientclock.c
5949         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
5950         OBJECT_LOCK. Don't call add_observation with the lock.
5951
5952         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
5953         fraction.
5954         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
5955         rate fraction.
5956         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
5957         deal with rate as a fraction whose numerator and denominator are
5958         GstClockTime values.
5959         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
5960         master; the other fields are protected by the SLAVE_LOCK.
5961         (do_linear_regression): Note that this must be called with the
5962         SLAVE_LOCK.
5963         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
5964         OBJECT_LOCK. Call set_calibration instead of touching the
5965         variables directly.
5966         (gst_clock_set_property, gst_clock_get_property): Protect
5967         master/slave parameters with the SLAVE_LOCK.
5968
5969         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
5970         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
5971         note that all of the instance variables that add_observation and
5972         the set_master functions use are protected by that lock and not
5973         the OBJECT_LOCK.
5974         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
5975
5976         * gst/gstclock.c (gst_clock_add_observation): No longer requires
5977         the caller to take the object lock.
5978
5979 2005-11-23  Wim Taymans  <wim@fluendo.com>
5980
5981         * gst/gsterror.c: (_gst_core_errors_init):
5982         * gst/gsterror.h:
5983         Add error for clock stuff.
5984
5985         * gst/gstpipeline.c: (gst_pipeline_change_state),
5986         (gst_pipeline_set_clock):
5987         Post clock error when clock cannot be used in a pipeline.
5988
5989 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
5990
5991         * docs/gst/gstreamer-sections.txt:
5992           make two symbols from gstinfo private for the docs
5993         * gst/base/gstcollectpads.h:
5994         * gst/gstutils.c:
5995           fix doc typos, update docs
5996
5997 2005-11-22  Wim Taymans  <wim@fluendo.com>
5998
5999         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6000         (gst_base_sink_wait), (gst_base_sink_do_sync),
6001         (gst_base_sink_handle_event):
6002         * gst/base/gstbasesink.h:
6003         No need to store the clock, the parent element class already
6004         has it.
6005
6006         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6007         Updates for clock_set returning a gboolean
6008
6009         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6010         (gst_clock_id_wait_async), (gst_clock_class_init),
6011         (gst_clock_init), (gst_clock_finalize),
6012         (gst_clock_get_internal_time), (gst_clock_get_time),
6013         (gst_clock_slave_callback), (gst_clock_set_master),
6014         (gst_clock_get_master), (do_linear_regression),
6015         (gst_clock_add_observation), (gst_clock_set_property),
6016         (gst_clock_get_property):
6017         * gst/gstclock.h:
6018         Implement master/slave. When setting a clock as a slave, a
6019         periodic timeout is scheduled to sample master and slave times.
6020         Then the slave clock is recalibrated to match offset and rate
6021         of the master clock.
6022         Update logging a bit.
6023         Add flag so that a clock can state that is cannot be slaved to
6024         another clock.
6025
6026         * gst/gstelement.c: (gst_element_set_clock):
6027         * gst/gstelement.h:
6028         The set clock returns a gboolean for when an element cannot
6029         deal with the selected clock in the pipeline. 
6030
6031         * gst/gstpipeline.c: (gst_pipeline_change_state),
6032         (gst_pipeline_set_clock):
6033         * gst/gstpipeline.h:
6034         Handle the case where the selected clock cannot be set on
6035         the pipeline.
6036
6037         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6038         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6039         (gst_net_client_clock_set_property),
6040         (gst_net_client_clock_get_property),
6041         (gst_net_client_clock_observe_times):
6042         * gst/net/gstnetclientclock.h:
6043         Use regression code in GstClock parent, remove duplicated
6044         functionality.
6045
6046 2005-11-22  Michael Smith <msmith@fluendo.com>
6047
6048         * gst/gstutils.c: (gst_util_clock_time_scale):
6049         * gst/gstutils.h:
6050         * docs/gst/gstreamer-sections.txt:
6051           Rename method to have extra underscore.
6052
6053 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6054
6055         * gst/elements/Makefile.am:
6056         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6057         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6058         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6059         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6060         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6061         * gst/elements/gstfakesrc.h:
6062         * gst/gstqueue.c: (queue_leaky_get_type):
6063           correctly fix GEnumValues so that nick is the short lowercase
6064           dashed tag
6065         * tools/gst-inspect.c: (print_element_properties_info):
6066           also show the nick, since it's useful to use from parse_launch
6067           syntax
6068           Fixes #322139
6069
6070 2005-11-22  Michael Smith <msmith@fluendo.com>
6071
6072         * gst/gstutils.c: (gst_util_clocktime_scale):
6073         * gst/gstutils.h:
6074         * docs/gst/gstreamer-sections.txt:
6075           Add util method for scaling a clocktime by a fraction. Useful 
6076           implementation is left as an exercise for the reader.
6077
6078 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6079
6080         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6081         If needed, allocate storage in the destination value during
6082         collection.
6083
6084 2005-11-22  Edward Hervey  <edward@fluendo.com>
6085
6086         * docs/gst/gstreamer-sections.txt:
6087         * gst/Makefile.am:
6088         * gst/gst.h:
6089         * gst/gsturitype.c:
6090         * gst/gsturitype.h:
6091         * gst/gstutils.c: (gst_util_set_object_arg):
6092         * tools/gst-compprep.c: (main):
6093         * tools/gst-inspect.c: (print_element_properties_info):
6094         Removed GstURI, closes bug #321061
6095
6096 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6097
6098         * check/gst/gststructure.c: (GST_START_TEST):
6099         * gst/gststructure.c: (gst_structure_parse_value):
6100           Oops, broke automatic string type parsing.
6101           Add a test to catch it in future.
6102
6103 2005-11-22  Andy Wingo  <wingo@pobox.com>
6104
6105         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
6106         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6107         Actually rename the function implementations. Grr.
6108
6109 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6110
6111         * check/gst/capslist.h:
6112           Comment test cases
6113         * check/gst/gststructure.c: (GST_START_TEST),
6114         (gst_structure_suite):
6115           Test automatic value type detection in gst_structure_from_string.
6116         * gst/gststructure.c: (gst_structure_parse_value):
6117           Add fraction as a type we try and guess automatically in
6118           caps/structure strings.
6119
6120 2005-11-22  Andy Wingo  <wingo@pobox.com>
6121
6122         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6123
6124         * gst/gsttagsetter.h:
6125         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6126         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6127         (gst_tag_setter_add_tag_valist)
6128         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6129         _add_values, _add_valist, and _add_valist_values. Since this is an
6130         interface the function suffixes should be more explicit so
6131         language binding don't end up with element.add_valist ->
6132         gst_tag_setter_add_valist, for example. Fixes #322069.
6133
6134 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6135
6136         * check/gst/gstcaps.c: (GST_START_TEST):
6137           Extend caps string tests to check that a caps to string
6138           conversion is reversible and produces the same caps.
6139
6140         * gst/gststructure.c: (gst_structure_value_get_generic_type):
6141           Output "fraction" as the generic type fraction range, so caps
6142           serialisation and deserialisation works.
6143         * check/gst/capslist.h:
6144         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6145           Support 'MIN' and 'MAX' for deserialising fractions.
6146
6147 2005-11-22  Andy Wingo  <wingo@pobox.com>
6148
6149         * gst/gstevent.h (gst_event_new_new_segment)
6150         (gst_event_parse_new_segment, gst_event_new_buffer_size)
6151         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6152         Renamed from *_newsegment, *_buffersize, *_notarget.
6153
6154         * scripts/update-funcnames: New script, performs the changes
6155         listed above.
6156
6157 2005-11-22  Wim Taymans  <wim@fluendo.com>
6158
6159         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6160         Make sure the GstFlowReturn is returned.
6161
6162         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6163         (gst_bus_add_signal_watch):
6164         * gst/gstbus.h:
6165         add gst_bus_add_signal_watch_full.
6166
6167         * gst/gstplugin.c: (gst_plugin_load_file):
6168         Small style cleanup.
6169
6170 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6171
6172         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6173           Block the fakesrc srcpad when we send an event, to avoid
6174           contention on the stream_lock causing random test failures.
6175
6176 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6177
6178         * check/gst/gstvalue.c: (GST_START_TEST):
6179         * gst/gstvalue.c: (gst_value_fraction_subtract):
6180           Fix subtraction.
6181
6182 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
6183
6184         * gst/gst.h:
6185           include "gstchildproxy.h"
6186         * gst/gstchildproxy.h:
6187         * libs/gst/controller/gstcontroller.h:
6188           use G_GNUC_NULL_TERMINATED
6189
6190 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6191
6192         * check/gst/capslist.h:
6193         * check/gst/gstcaps.c: (GST_START_TEST):
6194         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6195         * gst/gststructure.c: (gst_structure_parse_range),
6196         (gst_structure_fixate_field_nearest_fraction):
6197         * gst/gststructure.h:
6198         * gst/gstvalue.c: (gst_value_init_fraction_range),
6199         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6200         (gst_value_collect_fraction_range),
6201         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6202         (gst_value_set_fraction_range_full),
6203         (gst_value_get_fraction_range_min),
6204         (gst_value_get_fraction_range_max),
6205         (gst_value_serialize_fraction_range),
6206         (gst_value_transform_fraction_range_string),
6207         (gst_value_compare_fraction_range),
6208         (gst_value_deserialize_fraction_range),
6209         (gst_value_intersect_fraction_fraction_range),
6210         (gst_value_intersect_fraction_range_fraction_range),
6211         (gst_value_subtract_fraction_fraction_range),
6212         (gst_value_subtract_fraction_range_fraction),
6213         (gst_value_subtract_fraction_range_fraction_range),
6214         (gst_value_collect_fraction), (gst_value_fraction_multiply),
6215         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6216         (gst_value_transform_string_fraction), (_gst_value_initialize):
6217         * gst/gstvalue.h:
6218           Implement fraction ranges and extend GstFraction to support
6219           arithmetic subtraction, as well as deserialization from integer
6220           strings such as "100"
6221           Add a testsuite as for int and double range set operations
6222
6223 2005-11-21  Andy Wingo  <wingo@pobox.com>
6224
6225         * gst/gsttaglist.h: 
6226         * gst/gstcaps.h: 
6227         * gst/gststructure.h: Add glib-compat.h.
6228
6229 2005-11-21  Wim Taymans  <wim@fluendo.com>
6230
6231         * gst/gstbin.c: (gst_bin_change_state_func):
6232         Fix for #321595
6233
6234 2005-11-21  Wim Taymans  <wim@fluendo.com>
6235
6236         * gst/gstsegment.h:
6237         And add a nice define too.
6238
6239 2005-11-21  Wim Taymans  <wim@fluendo.com>
6240
6241         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6242         (gst_segment_new), (gst_segment_free), (gst_segment_init),
6243         (gst_segment_set_duration), (gst_segment_set_last_stop),
6244         (gst_segment_set_seek), (gst_segment_set_newsegment),
6245         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6246         (gst_segment_clip):
6247         * gst/gstsegment.h:
6248         Make binding friendly.
6249
6250 2005-11-21  Andy Wingo  <wingo@pobox.com>
6251
6252         * gst/gsttagsetter.h: 
6253         * gst/gsttaglist.h: 
6254         * gst/gststructure.h: 
6255         * gst/gstcaps.h: 
6256         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6257         #319940.
6258
6259         * gst/gsterror.c (_gst_core_errors_init):
6260         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6261         category.
6262
6263         * gst/Makefile.am (gst_headers): Add glib-compat.h.
6264         (noinst_HEADERS): noinst the -private.
6265
6266 2005-11-21  Michael Smith <msmith@fluendo.com>
6267
6268         * gst/gstplugin.h:
6269         * gst/gstregistry.h:
6270           Remove unimplemented declarations for which we can see no sensible
6271           use.
6272
6273 2005-11-21  Andy Wingo  <wingo@pobox.com>
6274
6275         * gst/gst.h: Include glib-compat.h.
6276
6277         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6278
6279         * gst/glib-compat.c: Include the public and the private header.
6280
6281         * gst/glib-compat-private.h: Copied here from glib-compat.h.
6282
6283         * gst/gstvalue.c: 
6284         * gst/gstpad.c: 
6285         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6286
6287         * check/gst/gstevent.c (create_custom_events): Check that
6288         FLUSH_STOP is serialized.
6289
6290         * check/elements/identity.c (event_func): 
6291         * check/elements/fakesrc.c (event_func): No stream lock, the core
6292         takes it.
6293
6294         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6295         stream lock taking, yay.
6296
6297         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6298         ensure that core takes the stream lock.
6299
6300         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6301         lock name change.
6302
6303         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6304         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6305         it already. For the flush start we do take it though so we get the
6306         right preroll state change messages.
6307
6308         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6309         the stream lock here, the core does it for us.
6310
6311         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6312         GST_STREAM_GET_LOCK.
6313         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
6314         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
6315         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6316         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6317         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
6318         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6319
6320         * gst/gstpad.c: Update for stream lock name change.
6321
6322         * gst/base/gstbasesink.c: Update for preroll lock name change.
6323
6324 2005-11-21  Wim Taymans  <wim@fluendo.com>
6325
6326         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6327         (gst_clock_get_master):
6328         * gst/gstclock.h:
6329         * gst/gstsystemclock.c: (gst_system_clock_init):
6330         Convert Clock flags to object flags.
6331         Added methods to manage master/slave clocks.
6332
6333 2005-11-21  Wim Taymans  <wim@fluendo.com>
6334
6335         * check/gst/gstsegment.c: (GST_START_TEST):
6336         * docs/design/part-TODO.txt:
6337         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6338         (gst_base_sink_event), (gst_base_sink_do_sync),
6339         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6340         (gst_base_sink_query), (gst_base_sink_change_state):
6341         * gst/base/gstbasesink.h:
6342         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6343         (gst_base_src_default_newsegment),
6344         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6345         (gst_base_src_get_range), (gst_base_src_loop),
6346         (gst_base_src_change_state):
6347         * gst/base/gstbasesrc.h:
6348         * gst/base/gstbasetransform.c:
6349         (gst_base_transform_prepare_output_buf),
6350         (gst_base_transform_event), (gst_base_transform_change_state):
6351         * gst/base/gstbasetransform.h:
6352         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6353         (gst_collect_pads_event):
6354         * gst/base/gstcollectpads.h:
6355         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6356         (gst_fake_src_create):
6357         * gst/elements/gstfakesrc.h:
6358         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6359         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6360         (gst_segment_set_last_stop), (gst_segment_set_seek),
6361         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6362         (gst_segment_to_running_time), (gst_segment_clip):
6363         * gst/gstsegment.h:
6364         More segment updates, replace code in plugins with segment
6365         helper functions.
6366
6367 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6368
6369         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6370         Don't ignore sscanf results
6371
6372 2005-11-21  Andy Wingo  <wingo@pobox.com>
6373
6374         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6375
6376         * *.h:
6377         * *.c: Ran scripts/update-macros. Oh yes.
6378
6379         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6380         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6381         GST_GET_LOCK, etc.
6382
6383         * scripts/update-macros: New script. Run it on your files to
6384         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6385         well.
6386
6387 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6388
6389         * docs/gst/Makefile.am:
6390         * docs/gst/gstreamer-docs.sgml:
6391         * docs/gst/gstreamer-sections.txt:
6392         * docs/gst/gstreamer.types:
6393         * gst/gstinfo.h:
6394           more docs fixes, add new api to the docs
6395
6396 2005-11-21  Andy Wingo  <wingo@pobox.com>
6397
6398         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6399         state_broadcast call.
6400
6401         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6402
6403 2005-11-21  Julien MOUTTE  <julien@moutte.net>
6404
6405         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6406         function calls for arrays.
6407
6408 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6409
6410         * docs/random/ensonic/media-device-daemon.txt:
6411           wild idea, can this be done?
6412         * docs/gst/gstreamer-sections.txt:
6413         * gst/gsterror.h:
6414         * gst/gstfilter.c:
6415         * gst/gstfilter.h:
6416         * gst/gstplugin.h:
6417         * gst/gstpluginfeature.c:
6418         * gst/gsttrace.c:
6419         * gst/gstvalue.c:
6420         * gst/gstvalue.h:
6421           doc fixes and additions
6422
6423 2005-11-21  Andy Wingo  <wingo@pobox.com>
6424
6425         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
6426         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
6427         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
6428         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6429         private to the basesrc implementation.
6430
6431         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6432         behalf of event function if necessary. It should no longer be
6433         necessary to take the stream lock in pad's event functions. Fixes
6434         #320299.
6435
6436 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6437         * docs/gst/gstreamer-sections.txt:
6438         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6439         (gst_structure_fixate_field_nearest_double),
6440         (gst_structure_fixate_field_boolean):
6441         * gst/gststructure.h:
6442         * win32/common/libgstreamer.def:
6443         * win32/gstreamer.def:
6444
6445         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6446         (#322027)
6447
6448 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6449
6450         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6451         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6452         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6453         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6454         (gst_fdsrc_uri_handler_init):
6455         * gst/elements/gstfdsrc.h:
6456           Port fd:// URI handler from 0.8 to fdsrc
6457
6458 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6459
6460         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6461         (gst_value_serialize_fourcc):
6462         * gst/gstvalue.h:
6463           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6464           consistent with our other format defines (#320324).
6465
6466 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6467
6468         * gst/gstvalue.c: (gst_value_is_fixed):
6469           Revert previous commit. Value lists are by definition
6470           not fixed, as they are a list of possible values.
6471
6472 2005-11-21  Andy Wingo  <wingo@pobox.com>
6473
6474         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6475         during the stable series if we need it. Fixes #319178.
6476
6477         * gst/gstevent.c (gst_event_new_filler): Removed.
6478
6479         * check/gst/gstevent.c: Update comment about filler events.
6480
6481 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6482
6483         * gst/gstvalue.c: (gst_value_is_fixed):
6484           Should handle both value arrays and value lists.
6485
6486 2005-11-21  Andy Wingo  <wingo@pobox.com>
6487
6488         patch by: Alessandro Dessina <alessandro nnva org>
6489
6490         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6491         functions to access arrays. Fixes #321962.
6492
6493 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6494
6495         * docs/gst/gstreamer.types:
6496           gst_collectpads_get_type => gst_collect_pads_get_type.
6497           
6498         * gst/base/gstbasetransform.c:
6499           Remove unused SIGNAL_HANDOFF enum.
6500
6501 2005-11-21  Andy Wingo  <wingo@pobox.com>
6502
6503         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6504         the event type (upstream, downstream, serialized). Renamed
6505         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6506         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6507         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6508
6509         * gst/gstevent.c: Update for new CUSTOM event names.
6510
6511         * check/gst/gstevent.c: Update check for new CUSTOM event names.
6512
6513         * gst/gstevent.h:
6514         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
6515         bug #319392.
6516
6517 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6518
6519         * docs/gst/gstreamer-sections.txt:
6520         * win32/common/libgstbase.def:
6521         * win32/libgstbase.def:
6522         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6523         (gst_collect_pads_class_init), (gst_collect_pads_init),
6524         (gst_collect_pads_finalize), (gst_collect_pads_new),
6525         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
6526         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
6527         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
6528         (gst_collect_pads_start), (gst_collect_pads_stop),
6529         (gst_collect_pads_peek), (gst_collect_pads_pop),
6530         (gst_collect_pads_available), (gst_collect_pads_read),
6531         (gst_collect_pads_flush), (gst_collect_pads_event),
6532         (gst_collect_pads_chain):
6533         * gst/base/gstcollectpads.h:
6534           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
6535           unimplemented functions as unimplemented. Add padding to
6536           GstCollectData. (#320766, #320423)
6537
6538 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6539
6540         * gst/gstmessage.c:
6541           Improve docs for DURATION message (usage of duration parameter)
6542           (#320113)
6543
6544 2005-11-20  Wim Taymans  <wim@fluendo.com>
6545
6546         * check/Makefile.am:
6547         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
6548         (main):
6549         * gst/Makefile.am:
6550         * gst/gst.h:
6551         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6552         (gst_segment_set_seek), (gst_segment_set_newsegment),
6553         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6554         (gst_segment_clip):
6555         * gst/gstsegment.h:
6556         Added segment helper structure and methods. Not fully implemented
6557         yet.
6558         Added segment check.
6559
6560 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
6561
6562         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6563           Add a deserialisation test for fractions
6564         * examples/metadata/read-metadata.c: (message_loop),
6565         (make_pipeline), (main):
6566           Fix up metadata reading sample.
6567         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6568           Debug format fix
6569         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6570           Don't try and fixate empty caps
6571         * gst/gst_private.h:
6572           Wrap in G_BEGIN_DECLS/G_END_DECLS
6573         * gst/gstvalue.c: (gst_value_collect_fraction),
6574         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
6575         (gst_value_transform_string_fraction),
6576         (gst_value_compare_fraction):
6577           Add some extra guards to ensure that we don't end up 
6578           with an invalid denominator of 0 in a gstfraction and
6579           that fractions always get reduced.
6580
6581 2005-11-20  Wim Taymans  <wim@fluendo.com>
6582
6583         * docs/gst/gstreamer-sections.txt:
6584         * gst/gstbuffer.h:
6585         * gst/gstelement.c:
6586         * gst/gstformat.c:
6587         * gst/gstformat.h:
6588         * gst/gstindex.h:
6589         * gst/gstquery.c:
6590         * gst/gstquery.h:
6591         * gst/gstvalue.c:
6592         Doc fixes.
6593
6594 2005-11-20  Wim Taymans  <wim@fluendo.com>
6595
6596         * docs/design/part-TODO.txt:
6597         * gst/gstcaps.h:
6598         Make a proper enum of the flag.
6599
6600 2005-11-19  Wim Taymans  <wim@fluendo.com>
6601
6602         * docs/design/part-TODO.txt:
6603         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
6604         (gst_format_to_quark), (gst_format_register):
6605         * gst/gstformat.h:
6606         * gst/gstquery.c: (_gst_query_initialize),
6607         (gst_query_type_get_name), (gst_query_type_to_quark),
6608         (gst_query_type_register):
6609         * gst/gstquery.h:
6610         Add type to quark and type to string conversions.
6611
6612 2005-11-19  Andy Wingo  <wingo@pobox.com>
6613
6614         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
6615         #320097.
6616
6617 2005-11-19  Wim Taymans  <wim@fluendo.com>
6618
6619         * docs/design/part-TODO.txt:
6620         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6621         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
6622         (gst_bin_handle_message_func):
6623         * gst/gstbin.h:
6624         Make message handling overridable.
6625
6626 2005-11-19  Andy Wingo  <wingo@pobox.com>
6627
6628         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
6629
6630         * gst/gstclock.h:
6631         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
6632         be a GstClockTime.
6633         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
6634         is a GstClockTime. Fixes #321710.
6635
6636         * gst/gstclock.h (GstClock): Remove offset property. Add
6637         internal_calibration and external_calibration. Fix padding. Pad
6638         also by GstClockTime so we don't run into problems.
6639
6640         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
6641         (gst_clock_get_rate_offset): Remove.
6642         (gst_clock_set_time_adjust): Remove. Fixes #321712.
6643
6644         * gst/gstutils.h:
6645         * gst/gstutils.c (g_static_rec_cond_wait)
6646         (g_static_rec_cond_timed_wait): Removed, no longer needed.
6647
6648         * gst/gstbin.c: Remove terrible continue_state prototype.
6649
6650         * gst/gstelement.h (gst_element_continue_state): Make public.
6651
6652         * gst/gstelement.h:
6653         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
6654         by continue_state. Fixes #319389.
6655
6656         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
6657         Really fixes #168438. However I don't see anywhere where the
6658         filter function is called... stupid GStreamer...
6659         
6660         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
6661         don't have a dispose function, so it won't get called when the
6662         object is unreffed, but oh well!
6663
6664         * gst/gstindex.c (gst_index_set_filter_full): New API function,
6665         allows a destroy function to be set so user_data can be freed.
6666         Fixes #168438.
6667         (gst_index_set_filter): Call gst_index_set_filter_full.
6668
6669         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
6670
6671         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
6672         string should produce an error, given the lack of a way to
6673         represent NULL strings. Fixes #165650.
6674         
6675         * gst/gstvalue.h: 
6676         * gst/gstvalue.c (gst_value_array_append_value) 
6677         (gst_value_array_prepend_value, gst_value_array_get_size) 
6678         (gst_value_array_get_value): New API, copied from
6679         gst_value_list_*, only operates on arrays.
6680         (gst_value_list_append_value, gst_value_list_prepend_value) 
6681         (gst_value_list_concat, gst_value_list_get_size) 
6682         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
6683
6684         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
6685         init_list, because it works on both.
6686         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
6687         (gst_value_copy_list_or_array): Renamed from copy_list.
6688         (gst_value_free_list_or_array): Renamed from free_list.
6689         (gst_value_collect_list_or_array): Renamed from collect_list.
6690         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
6691         (gst_value_list_or_array_peek_pointer): Renamed from
6692         list_peek_pointer.
6693         (_gst_value_array_value_table, _gst_value_list_value_table):
6694         Update value table functions.
6695         (gst_value_compare_list_or_array): Renamed from compare_list.
6696
6697         * gsttaglist.h: Whoops, foreach function returns void. Also fix
6698         some constness.
6699
6700         * gst/gsttaglist.c:
6701         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
6702         GstTagList*. Fixes #143472.
6703
6704         * gst/gststructure.h: Clarify what the foreach/map functions can
6705         or can't do to their arguments.
6706
6707 2005-11-18  Wim Taymans  <wim@fluendo.com>
6708
6709         * gst/gstclock.c: (gst_clock_set_calibration),
6710         (gst_clock_get_calibration):
6711         Doc and API fixes.
6712         Calibration can be set with internal time equal to current
6713         internal time too.
6714
6715 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6716
6717         * gst/gsterror.c:
6718         * gst/gsterror.h:
6719           document
6720
6721 2005-11-18  Andy Wingo  <wingo@pobox.com>
6722
6723         * configure.ac: 
6724         * pkgconfig/gstreamer-net.pc.in:
6725         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6726         * pkgconfig/Makefile.am: Add net pkgconfig files.
6727
6728 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
6729
6730         * gst/gstcaps.c:
6731         * gst/gstghostpad.c:
6732         * gst/gsttrace.c:
6733         * gst/gstvalue.c:
6734         * gst/gstvalue.h:
6735           docs fixes
6736
6737 2005-11-18  Andy Wingo  <wingo@pobox.com>
6738
6739         * gst/net/gstnetclientclock.c: Turn off debugging.
6740
6741         * check/net/gstnetclientclock.c (test_functioning): Assert that the
6742         times connverge somewhat. Can't make a real test.
6743
6744         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
6745         integer arithmetic. Return the minimum of the domain, which can be
6746         set as "internal" for gst_clock_set_calibration.
6747         (gst_net_client_clock_observe_times): Call _set_calibration.
6748         (gst_net_client_clock_new): Call _set_calibration instead of
6749         rate_offset.
6750
6751         * check/net/gstnetclientclock.c (test_functioning): Use the right
6752         adjustment api.
6753
6754         * gst/gstclock.h:
6755         * gst/gstclock.c (gst_clock_get_calibration) 
6756         (gst_clock_set_calibration): New functions, obsolete the ones I
6757         added yesterday. Doh. Precision issues mean we have to extrapolate
6758         from a point in the more recent past than 1970.
6759         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
6760         obsolete.
6761         (gst_clock_adjust_unlocked): Use the right calibration data.
6762
6763 2005-11-18  Edward Hervey  <edward@fluendo.com>
6764
6765         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
6766         Also reset the ->current_* values in READY->PAUSED
6767
6768 2005-11-18  Andy Wingo  <wingo@pobox.com>
6769
6770         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
6771         Whoops, check the right fd. Also add some debugging.
6772         (gst_net_client_clock_observe_times): Adjust for int64 offset.
6773         (do_linear_regression): Add a crapload of debugging. Subtract off
6774         the minimum values from the input series to discard unneeded bits.
6775         Use only int arithmetic. There is still double arithmetic when
6776         calculating the intercept that needs fixing. Return boolean to
6777         indicate success; FALSE would mean the domain or range is too
6778         great. Still needs fixes.
6779
6780 2005-11-18  Wim Taymans  <wim@fluendo.com>
6781
6782         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6783         For the current position in stream time, we need to subtract
6784         accumulated time.
6785         
6786         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6787         Release lock before calling the callback function of async
6788         entries.
6789
6790 2005-11-18  Andy Wingo  <wingo@pobox.com>
6791
6792         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
6793         Port goes all the way to MAXUINT16.
6794
6795         * gst/net/gstnettimeprovider.c: Make the port range the same as
6796         for the kernel: 0 assigns, otherwise ports are less than
6797         MAXUINT16.
6798
6799         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
6800         port change.
6801
6802         * check/net/gstnetclientclock.c (test_functioning): Add the start
6803         of another test. 
6804
6805 2005-11-18  Wim Taymans  <wim@fluendo.com>
6806
6807         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6808         (gst_bin_remove_func), (bin_bus_handler):
6809         * gst/gstbin.h:
6810         Removing a clock provider from a bin, triggers a clock lost message
6811         so that a new clock will be selected.
6812         Adding a clock to a bin triggers a clock provider message.
6813         Make sure we reselect a clock when we received a clock lost message.
6814         Keep a reference to the element that provided the clock.
6815
6816 2005-11-18  Andy Wingo  <wingo@pobox.com>
6817
6818         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
6819         the clock initially so it produces values around the base time.
6820         (gst_net_client_clock_class_init): Typo fix.
6821         (gst_net_client_clock_thread): Add note on when the socket gets
6822         closed.
6823
6824 2005-11-17  Wim Taymans  <wim@fluendo.com>
6825
6826         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
6827         Free remote and local time arrays.
6828
6829 2005-11-17  Wim Taymans  <wim@fluendo.com>
6830
6831         * gst/net/gstnetclientclock.c: (do_linear_regression),
6832         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
6833         Fix compilation, uninitialized vars and a forgotten continue.
6834
6835 2005-11-17  Andy Wingo  <wingo@pobox.com>
6836
6837         * check/Makefile.am (check_PROGRAMS): 
6838         * check/net/gstnetclientclock.c: Add a most minimal test for the
6839         net client clock. More to come later.
6840
6841         * gst/net/gstnet.h: 
6842         * gst/net/Makefile.am: Add netclientclock.
6843
6844         * gst/net/gstnetclientclock.h:
6845         * gst/net/gstnetclientclock.c: New files, implement an untested
6846         GstClock that takes its time from a network time provider.
6847         Implements the algorithm in network-clock.scm.
6848
6849         * tests/network-clock.scm (*window-size*): Rename from
6850         *queue-length*.
6851         * tests/network-clock.scm (network-time): 
6852         * tests/network-clock-utils.scm (q-push): Update callers.
6853
6854 2005-11-17  Wim Taymans  <wim@fluendo.com>
6855
6856         * gst/gstbin.c: (gst_bin_provide_clock_func),
6857         (gst_bin_sort_iterator_new):
6858         And unref the child too..
6859
6860 2005-11-17  Wim Taymans  <wim@fluendo.com>
6861
6862         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6863         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
6864         Refactor the sort iterator so it can be used while holding the
6865         LOCK too.
6866         Make clock selection select a clock closest to the source.
6867
6868 2005-11-17  Michael Smith <msmith@fluendo.com>
6869
6870         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
6871         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
6872         * gst/gstclock.h:
6873           Anonymous structs are a gcc (and some other compilers) extension, so
6874           don't use them. Since this is only for ABI-compatibility, and our
6875           API/ABI freeze is over in a few days, this whole thing will only
6876           last a few days, so don't bother trying to think up a meaningful
6877           name for the struct.
6878
6879 2005-11-17  Andy Wingo  <wingo@pobox.com>
6880
6881         * gst/gstclock.h (GstClock): Add rate and offset properties,
6882         preserving ABI stability. Add rate/offset accessors. Will file bug
6883         for the freeze break.
6884
6885         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
6886         and offset, trying to keep precision and avoiding
6887         underflow/overflow.
6888         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
6889         functions. Make gst_clock_set_time_adjust obsolete.
6890         (gst_clock_set_time_adjust): Note that this function is obsolete.
6891         Will file bug soon.
6892
6893         * gst/base/gstbasetransform.h: Make the ABI-stability hack
6894         greppable by using GST_PADDING-1+1.
6895
6896 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
6897
6898         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6899
6900         * gst/gstmessage.c: (gst_message_parse_clock_lost):
6901           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
6902
6903         * gst/gstpadtemplate.h:
6904         * gst/gstpluginfeature.h:
6905           Don't use c++ style comments in headers (#321638).
6906
6907 2005-11-16  Andy Wingo  <wingo@pobox.com>
6908
6909         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
6910         buffer.
6911
6912         * check/net/gstnettimeprovider.c: Check to see that the time
6913         provider actually provides times. Works, yo!
6914
6915 2005-11-16  Wim Taymans  <wim@fluendo.com>
6916
6917         * check/Makefile.am:
6918         Enable more tests.
6919
6920         * check/elements/fakesrc.c: (GST_START_TEST):
6921         Set element to NULL before disposing it.
6922
6923 2005-11-16  Andy Wingo  <wingo@pobox.com>
6924
6925         * gst/net/Makefile.am:
6926         * gst/net/gstnet.h:
6927         * gst/net/gstnettimeprovider.c: 
6928         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
6929         provider, include it from gstnet.h, and add it to the build.
6930
6931         * gst/net/gstnettimepacket.h: 
6932         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
6933         sending and receiving.
6934
6935 2005-11-16  Wim Taymans  <wim@fluendo.com>
6936
6937         * check/Makefile.am:
6938         Enable valgrind check.
6939
6940         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
6941         (gst_fake_src_alloc_buffer):
6942         Fix memleak.
6943
6944 2005-11-16  Wim Taymans  <wim@fluendo.com>
6945
6946         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
6947         Call parent finalize too.
6948
6949 2005-11-16  Wim Taymans  <wim@fluendo.com>
6950
6951         * check/Makefile.am:
6952         Enable valgrind check that should work fine now.
6953
6954         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6955         * gst/gstqueue.c: (gst_queue_init):
6956         Fix memleaks in pad allocation.
6957
6958 2005-11-16  Andy Wingo  <wingo@pobox.com>
6959
6960         * gst/net/Makefile.am:
6961         * gst/net/gstnet.h: New part of core to hold network elements and
6962         objects. Put in core because it exposes API that applications want
6963         to use. The library is named libgstnet-tempname right now because
6964         of the existing libgstnet in gst-plugins-base. Solution is
6965         probably to rename the one in plugins-base; will file a bug for
6966         the freeze break.
6967
6968         * gst/net/gstnettimeprovider.c: 
6969         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
6970         get_time call over the network.
6971
6972         * configure.ac: 
6973         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
6974
6975         * check/Makefile.am:
6976         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
6977         get additions shortly.
6978
6979 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
6980
6981         * gst/gstpad.c: (gst_pad_new_from_static_template):
6982         * gst/gstpad.h:
6983           add gst_pad_new_from_static_template functions
6984         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
6985         (gst_check_setup_sink_pad):
6986         * gst/elements/gsttee.c: (gst_tee_init):
6987           and use them
6988
6989 2005-11-16  Wim Taymans  <wim@fluendo.com>
6990
6991         * gst/gstpad.c: (gst_pad_pause_task):
6992         Removed warning, it's not really an error either.
6993
6994 2005-11-16  Wim Taymans  <wim@fluendo.com>
6995
6996         * gst/base/gstbasetransform.c:
6997         (gst_base_transform_prepare_output_buf),
6998         (gst_base_transform_event):
6999         Check if the caps are NULL, this can happen if the element
7000         is shutting down and the pad caps are set to NULL.
7001
7002 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7003
7004         * gst/elements/gsttee.c: (gst_tee_init):
7005           fix pad template leak in tee
7006
7007 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7008
7009         * gst/glib-compat.c: (g_value_dup_gst_object):
7010         * gst/glib-compat.h:
7011         * gst/gstpad.c: (gst_pad_set_property):
7012           use gst_object_ref when setting the pad template; this will
7013           trigger the pad template leaks on GLib 2.6 and the slaves
7014
7015 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7016
7017         * gst/glib-compat.c: (gst_flags_get_first_value):
7018         * gst/glib-compat.h:
7019         * gst/gstregistryxml.c:
7020           remove functions copied from GLib 2.6
7021
7022 2005-11-16  Michael Smith <msmith@fluendo.com>
7023
7024         * gst/Makefile.am:
7025           Don't link against VALGRIND_LIBS. That was always the wrong thing to
7026           do, but only breaks with newer valgrind versions. We're not a
7027           valgrind tool, we have no link-time dependencies on libcoregrind.
7028
7029 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7030
7031         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7032           some debug changes
7033         * gst/gstmessage.h:
7034           typo fixes
7035
7036 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7037
7038         * gst/base/gstbasesrc.c: (gst_base_src_init):
7039         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7040         * gst/gstqueue.c: (gst_queue_init):
7041         * gst/gstregistryxml.c: (load_feature):
7042           Revert all these unrefs, they don't even pass make check !
7043
7044 2005-11-15  Johan Dahlin  <johan@gnome.org>
7045
7046         * gst/base/gstbasesrc.c: (gst_base_src_init):
7047         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7048         * gst/gstqueue.c: (gst_queue_init): 
7049         Free pad templates, fixes a couple of leaks.
7050
7051 2005-11-15  Daniel Fischer  <dan at f3c dot com>
7052
7053         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7054
7055         * gst/gstpad.c: (gst_pad_get_property):
7056           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7057           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7058           (#321452)
7059
7060 2005-11-15  Wim Taymans  <wim@fluendo.com>
7061
7062         * gst/gstevent.c:
7063         Small doc update.
7064
7065 2005-11-15  Andy Wingo  <wingo@pobox.com>
7066
7067         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7068
7069         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7070         using GST_CLOCK_TIME_NONE to disable base time management.
7071         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7072         time if it was NONE before.
7073         (gst_pipeline_change_state): Only munge the base time if
7074         stream_time != GST_CLOCK_TIME_NONE.
7075
7076         * check/gst/gstpipeline.c (test_base_time): Punt around the
7077         problem of the probe not being called, because that's not the
7078         issue I'm looking at. Add a check that setting stream_time to NONE
7079         disables base time management.
7080         
7081 2005-11-15  Wim Taymans  <wim@fluendo.com>
7082
7083         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7084         segment_stop == -1 at startup.
7085
7086         * gst/base/gstbasetransform.c: (gst_base_transform_event),
7087         (gst_base_transform_change_state):
7088         Init segment values at start.
7089
7090 2005-11-15  Wim Taymans  <wim@fluendo.com>
7091
7092         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7093         0 segment values are 0 in any format.
7094
7095         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7096         * gst/base/gstbasetransform.h:
7097         Parse newsegment correctly in basetransform
7098
7099         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7100         Sync to clock using updated segment values.
7101
7102 2005-11-15  Andy Wingo  <wingo@pobox.com>
7103
7104         * check/gst/gstpipeline.c (test_base_time): Add check that the
7105         base time and stream time are reset correctly.
7106
7107 2005-11-15  Wim Taymans  <wim@fluendo.com>
7108
7109         * docs/design/part-TODO.txt:
7110         Some more TODO items.
7111
7112 2005-11-15  Andy Wingo  <wingo@pobox.com>
7113
7114         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7115         error if the user selected "no clock" as the clocking method.
7116
7117         * check/gst/gstpipeline.c (test_base_time): New test for buffer
7118         timestamps with live capture.
7119
7120         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7121         is 0 but we are a live source, timestamp the buffers using the
7122         element's clock.
7123
7124 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
7125
7126         * docs/gst/gstreamer-sections.txt:
7127         * gst/gsterror.c:
7128         * gst/gstghostpad.c:
7129         * gst/gstobject.h:
7130         * gst/gstxml.c:
7131           more section docs
7132
7133 2005-11-14  Wim Taymans  <wim@fluendo.com>
7134
7135         * common/gst.supp:
7136           add suppressions from Wim's Debian machine
7137
7138 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7139
7140         * common/gst.supp:
7141           add suppressions from Andy's AMD64 Ubuntu machine
7142
7143 2005-11-14  Andy Wingo  <wingo@pobox.com>
7144
7145         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7146         STATE_LOCK not necessary. Fixes #311489.
7147
7148         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7149         #305291.
7150
7151         * gst/gstindex.c (gst_index_add_object): Note in the docs that
7152         this function is not implemented.
7153
7154 2005-11-14  Julien MOUTTE  <julien@moutte.net>
7155
7156         * gst/base/gstbasetransform.c:
7157         (gst_base_transform_prepare_output_buf):
7158         Ref the source pad caps while we need them.
7159         Fixes (#321386)
7160
7161 2005-11-11  Wim Taymans  <wim@fluendo.com>
7162
7163         * docs/gst/gstreamer-sections.txt:
7164         Added some docs for GstCollectData.
7165
7166         * gst/base/gstadapter.c:
7167         Some small code example fix.
7168
7169         * gst/base/gstcollectpads.c:
7170         * gst/base/gstcollectpads.h:
7171         Document some more.
7172
7173 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7174
7175         * configure.ac: back to HEAD
7176
7177 === release 0.9.5 ===
7178
7179 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
7180
7181         * configure.ac:
7182           releasing 0.9.5, "Bike Lunch Day"
7183
7184 2005-11-11  Wim Taymans  <wim@fluendo.com>
7185
7186         * gst/gstbuffer.c: (_gst_buffer_copy):
7187         Copy more flags.
7188
7189         * gst/gstcaps.c: (gst_caps_is_equal):
7190         Fix some docs.
7191         Make _is_equal fast in the trivial cases.
7192
7193         * gst/gstminiobject.c:
7194         * gst/gstminiobject.h:
7195         More docs. Spifify .h file.
7196
7197         * gst/gstutils.c:
7198         Small doc update.
7199
7200 2005-11-11  Wim Taymans  <wim@fluendo.com>
7201
7202         * gst/base/gstbasetransform.c:
7203         (gst_base_transform_prepare_output_buf),
7204         (gst_base_transform_handle_buffer):
7205         Small cleanups.
7206         If we're processing a buffer and need to allocate an output
7207         buffer, we cannot accept a format change. If we did get a 
7208         format change, we have to alloc a buffer ourselves of the 
7209         right size.
7210
7211 2005-11-11  Wim Taymans  <wim@fluendo.com>
7212
7213         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7214         While checking the flag for reentrancy in the gstcaps function
7215         is nice to detect recursive invocations, it also makes it 
7216         impossible to call getcaps from multiple threads, which must be
7217         possible. So, checking for recursive calls has to go.
7218
7219 2005-11-11  Michael Smith <msmith@fluendo.com>
7220
7221         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7222           Don't sync on buffers that fall partially outside our current
7223           segment. Prevents an assertion failure/abort playing some files.
7224
7225 2005-11-10  Andy Wingo  <wingo@pobox.com>
7226
7227         * check/gst/gstbin.c (test_message_state_changed_children): Style
7228         fix..
7229
7230         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7231         gst_bus_poll with the signal watch. Ensures that poll and a signal
7232         watch see the same messages.
7233
7234         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7235         a poll and a watch at the same time get the same messages.
7236
7237 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7238
7239         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7240         * gst/gstcaps.c: (gst_caps_intersect):
7241           Don't call gst_caps_do_simplify - it doesn't respect order of caps
7242           and it's not needed.
7243
7244 2005-11-10  Wim Taymans  <wim@fluendo.com>
7245
7246         * docs/design/part-TODO.txt:
7247         Updated todo.
7248
7249 2005-11-10  Wim Taymans  <wim@fluendo.com>
7250
7251         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7252         * gst/base/gstbasesrc.c: (gst_base_src_wait),
7253         (gst_base_src_do_sync), (gst_base_src_get_range):
7254         Implement clock sync in base class.
7255
7256 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7257
7258         patch by: Tim-Philipp Müller <tim at centricular dot net>
7259
7260         * gst/gststructure.c: (gst_structure_parse_field),
7261         (gst_structure_from_string):
7262           Forward-port a 0.8 patch to handle escaped spaces in structure string,
7263           so that gst_parse_launch() can deal with spaces in filtered link
7264           caps (fixes #164479)
7265         * check/gst/capslist.h:
7266         * check/gst/gststructure.c: (GST_START_TEST):
7267           add unit tests for this change
7268
7269 2005-11-10  Wim Taymans  <wim@fluendo.com>
7270
7271         * docs/gst/gstreamer-sections.txt:
7272         * gst/gstelement.c:
7273         * gst/gstelement.h:
7274         Fix docs, move some STATE macros to private.
7275
7276 2005-11-10  Wim Taymans  <wim@fluendo.com>
7277
7278         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7279         Added check for bug #317341
7280
7281         * gst/gstbuffer.c:
7282         * gst/gstbuffer.h:
7283         Some more spiffifying.
7284
7285         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7286         Call peer linkfunction if we are a source pad. Totally fixes
7287         #317341
7288
7289         * gst/gstpad.c:
7290         Update docs, source pads should call the peer linkfunction
7291         so they can atomically perform the pad link.
7292
7293 2005-11-09  Wim Taymans  <wim@fluendo.com>
7294
7295         * gst/gstbuffer.c:
7296         * gst/gstbuffer.h:
7297         Uber-spiffy-spiffify some more.
7298
7299 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
7300
7301         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7302         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7303         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7304         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7305         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7306         * gst/gstpad.c: (gst_pad_init):
7307           Use GST_DEBUG_FUNCPTR() more extensively.
7308
7309 2005-11-09  Wim Taymans  <wim@fluendo.com>
7310
7311         * gst/gstobject.c: (gst_object_class_init):
7312         * gst/gstobject.h:
7313         Documentation fixes.
7314
7315 2005-11-09  Edward Hervey  <edward@fluendo.com>
7316
7317         * gst/gsttypefindfactory.c:
7318         Fix docs.
7319         
7320 2005-11-09  Edward Hervey  <edward@fluendo.com>
7321
7322         * gst/base/gsttypefindhelper.c:
7323         * gst/gsttypefind.c:
7324         * gst/gsttypefind.h:
7325         Fix docs.
7326
7327 2005-11-09  Wim Taymans  <wim@fluendo.com>
7328
7329         * gst/gstiterator.c:
7330         Fix revision data.
7331
7332         * gst/gsttask.c:
7333         * gst/gsttask.h:
7334         Fix docs.
7335
7336 2005-11-09  Wim Taymans  <wim@fluendo.com>
7337
7338         * gst/gstevent.h:
7339         * gst/gsturi.h:
7340         Fix docs.
7341
7342 2005-11-09  Wim Taymans  <wim@fluendo.com>
7343
7344         * docs/gst/gstreamer-sections.txt:
7345         Moved the message async delivery private lock and cond
7346         to the private section.
7347
7348         * gst/gstmessage.c:
7349         * gst/gstmessage.h:
7350         Fixed docs.
7351
7352 2005-11-09  Edward Hervey  <edward@fluendo.com>
7353
7354         * docs/gst/gstreamer-sections.txt:
7355         * gst/gsturi.c:
7356         * gst/gsturi.h:
7357         Document GstURIHandler
7358
7359 2005-11-09  Wim Taymans  <wim@fluendo.com>
7360
7361         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7362         (gst_iterator_find_custom):
7363         * gst/gstiterator.h:
7364         Fix iterator docs.
7365
7366 2005-11-09  Wim Taymans  <wim@fluendo.com>
7367
7368         * gst/gstbin.h:
7369         Document another field.
7370
7371         * gst/gststructure.c:
7372         * gst/gststructure.h:
7373         Document.
7374
7375 2005-11-09  Wim Taymans  <wim@fluendo.com>
7376
7377         * gst/gstbin.h:
7378         Documented structs.
7379
7380 2005-11-09  Wim Taymans  <wim@fluendo.com>
7381
7382         * docs/gst/gstreamer-sections.txt:
7383         Added some new macros.
7384
7385         * gst/gstclock.c:
7386         * gst/gstclock.h:
7387         * gst/gstobject.h:
7388         Docs updates.
7389
7390 2005-11-09  Wim Taymans  <wim@fluendo.com>
7391
7392         * docs/design/part-TODO.txt:
7393         Some more items for the TODO
7394
7395         * gst/gstcaps.c:
7396         * gst/gstcaps.h:
7397         Document GstCaps.
7398
7399 2005-11-09  Andy Wingo  <wingo@pobox.com>
7400
7401         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7402         to work on something else now tho...
7403
7404         * gst/base/gstadapter.c: More adapter docs.
7405
7406         * gst/elements/gstfilesink.c (gst_file_sink_start) 
7407         (gst_file_sink_stop): New functions, replace the state change
7408         handler.
7409         (gst_file_sink_class_init): Hook up the start and stop functions.
7410         (gst_file_sink_base_init): Don't set the state change handler any
7411         more. It was a bit ugly too, being set from here...
7412         (gst_file_sink_get_property, gst_file_sink_set_property):
7413         Cleanups...
7414         (gst_file_sink_set_location): More robust check that doesn't call
7415         GST_STATE. Ugggggg.
7416
7417 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7418
7419         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7420           Hold STREAM_LOCK while pushing newsegment or tag events as well.
7421
7422 2005-11-08  Wim Taymans  <wim@fluendo.com>
7423
7424         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7425         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7426         (gst_base_sink_chain), (gst_base_sink_change_state):
7427         * gst/base/gstbasesink.h:
7428         * gst/base/gstbasesrc.h:
7429         * gst/gstelement.h:
7430         * gst/gstevent.h:
7431         Avoid excessive typechecking in macros.
7432
7433         * gst/gstminiobject.c: (gst_mini_object_get_type),
7434         (gst_mini_object_init), (gst_mini_object_new),
7435         (gst_mini_object_free):
7436         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7437         (gst_object_finalize):
7438         Remove cruft code, optimize alloc_trace.
7439
7440 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7441
7442         * docs/faq/gst-uninstalled:
7443           fix up PS1 for systems that try to reset it
7444
7445 2005-11-07  Wim Taymans  <wim@fluendo.com>
7446
7447         * gst/base/gstbasesrc.c: (gst_base_src_init),
7448         (gst_base_src_get_range):
7449         Set the segment_end to -1 initially. Fixed typefind.
7450
7451 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7452
7453         * gst/base/gstadapter.c:
7454           Debug category should be 'adapter', not 'GstAdapter'.
7455           
7456         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7457         (gst_collectpads_class_init), (gst_collectpads_init),
7458         (gst_collectpads_peek), (gst_collectpads_pop),
7459         (gst_collectpads_event), (gst_collectpads_chain):
7460           Add debug category and some debugging output. Use boilerplate
7461           macros. Remove some extraneous words from docs.
7462
7463 2005-11-05  Andy Wingo  <wingo@pobox.com>
7464
7465         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7466         macro.
7467
7468 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7469
7470         * docs/gst/gstreamer-sections.txt:
7471         * gst/gstcaps.h:
7472         * gst/gstinfo.c:
7473         * gst/gstminiobject.h:
7474         * gst/gstobject.h:
7475         * gst/gstutils.h:
7476           more docs added
7477
7478 2005-11-04  Wim Taymans  <wim@fluendo.com>
7479
7480         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7481         Small update to stop at the configured segment_end
7482         position.
7483
7484 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7485
7486         * gst/gstregistry.c:
7487         * gst/gstregistry.h:
7488           added missing docs
7489
7490 2005-11-04  Edward Hervey  <edward@fluendo.com>
7491
7492         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7493         Check if we are doing a segment seek and have arrived at the
7494         end of that segment.
7495
7496 2005-11-04  Wim Taymans  <wim@fluendo.com>
7497
7498         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7499         Don't leak a mutex unlock in case of an error.
7500
7501         * gst/gstbus.h:
7502         Doc fixes.
7503
7504 2005-11-04  Wim Taymans  <wim@fluendo.com>
7505
7506         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7507         (gst_bus_post):
7508         Get the context to wake up only once.
7509
7510 2005-11-03  Wim Taymans  <wim@fluendo.com>
7511
7512         * check/states/sinks.c: (GST_START_TEST):
7513         Uncomment fixed check.
7514
7515         * docs/design/part-TODO.txt:
7516         Updated TODO.
7517
7518         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7519         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7520         (gst_base_sink_get_position):
7521         If we are going to PLAYING, post the right pending state
7522         when we post the intermediate paused message.
7523
7524         * gst/gstelement.c: (gst_element_continue_state),
7525         (gst_element_set_state_func), (gst_element_change_state):
7526         Don't post state changes that were between the same state
7527         and were not ASYNC.
7528
7529 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7530
7531         * docs/gst/gstreamer-sections.txt:
7532         * gst/gstcaps.h:
7533         * gst/gstinfo.c:
7534         * gst/gstminiobject.h:
7535         * gst/gstobject.h:
7536         * gst/gstutils.h:
7537           more docs and doc style fixes
7538
7539 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7540
7541         * docs/gst/gstreamer-sections.txt:
7542         * gst/gstelement.c:
7543         * gst/gstminiobject.c:
7544         doc fixes
7545
7546 2005-11-03  Andy Wingo  <wingo@pobox.com>
7547
7548         * check/states/sinks.c (test_livesrc_sink): Add checks that the
7549         state-changed messages actually have the right order and the right
7550         values.
7551
7552 2005-11-03  Wim Taymans  <wim@fluendo.com>
7553
7554         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7555         Added some more checks. Specifically the case where NO_PREROLL
7556         elements are in the pipeline.
7557
7558         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7559         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7560         (gst_base_sink_get_position):
7561         Post READY->PAUSED state change messages too.
7562         Fix bug where VOID was posted as pending state...
7563
7564         * gst/gstbin.c: (gst_bin_recalc_state):
7565         use _element_continue_state() to continue the state change.
7566
7567         * gst/gstelement.c: (gst_element_continue_state),
7568         (gst_element_commit_state), (gst_element_set_state_func),
7569         (gst_element_change_state), (gst_element_change_state_func):
7570         Lots of state change cleanups, assign the STATE_RETURN in
7571         a new continue_state() function that also propagates the
7572         last return value from a state change to the app.
7573         Update some debug statements with proper category.
7574
7575 2005-11-03  Wim Taymans  <wim@fluendo.com>
7576
7577         * docs/design/part-events.txt:
7578         * docs/design/part-gstpipeline.txt:
7579         * docs/design/part-messages.txt:
7580         * docs/design/part-overview.txt:
7581         * docs/design/part-seeking.txt:
7582         * docs/design/part-states.txt:
7583         * docs/design/part-trickmodes.txt:
7584         * docs/manual/advanced-position.xml:
7585         Small docs updates.
7586
7587         * gst/gstobject.h:
7588         People think !! is ugly, this looks better.
7589
7590         * gst/gstpad.c: (gst_pad_set_blocked_async):
7591         Remove !! since it's fixed elsewhere now.
7592
7593 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7594
7595         * gst/gstminiobject.h:
7596         * gst/gstobject.h:
7597           Add !! to _FLAG_IS_SET macros to make the result boolean.
7598
7599 2005-11-03  Edward Hervey  <edward@fluendo.com>
7600
7601         * gst/gstpad.c: (gst_pad_set_blocked_async):
7602         comparing a flag and a gboolean rarely returns coherent results...
7603         Added two characters (!!) to make that work correctly.
7604         
7605 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7606
7607         * gst/gstbus.c: (gst_bus_class_init):
7608           Fix some typos.
7609           
7610         * gst/gstqueue.c: (gst_queue_loop):
7611           Don't assume a miniobject that isn't a buffer is an
7612           event (it could be that there is a refcounting
7613           problem somewhere and the pointer is stale and
7614           refers to an already destroyed miniobject).
7615
7616 2005-11-03  Julien MOUTTE  <julien@moutte.net>
7617
7618         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
7619
7620 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7621
7622         * docs/manual/advanced-position.xml:
7623           Update seek example and explanations to current 0.9 API.
7624
7625         * gst/elements/gsttypefindelement.c:
7626         (gst_type_find_element_activate):
7627           Remove FIXME comment now that the found caps
7628           are unreffed.
7629
7630 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7631
7632         * gst/gstregistryxml.c: (load_feature):
7633           Add another GST_STR_NULL instance
7634
7635 2005-11-02  Edward Hervey  <edward@fluendo.com>
7636
7637         * gst/gstpad.c: (handle_pad_block):
7638         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
7639         
7640 2005-11-02  Wim Taymans  <wim@fluendo.com>
7641
7642         * gst/gstbin.c:
7643         Fix typo in docs.
7644
7645         * gst/gstelement.c: (gst_element_commit_state):
7646         Remove unused value.
7647
7648         * gst/gstiterator.c:
7649         Mention that the returned element is reffed in the docs.
7650
7651 2005-11-02  Wim Taymans  <wim@fluendo.com>
7652
7653         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
7654         (gst_pad_push), (gst_pad_push_event):
7655         Unlock blocked pads when they are flushed.
7656
7657 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7658
7659         * docs/README:
7660         * docs/gst/gstreamer-sections.txt:
7661         * gst/gstbin.c:
7662           doc updates
7663         * gst/gstregistry.c: (gst_registry_scan_path_level):
7664           fix for a nasty little missed situation where an installed plug-in
7665           which was in the cache did not get overridden by an uninstalled one
7666           which was earlier in the plugin path because the newly created plugin
7667           for the uninstalled one (not in the registry) didn't get its
7668           ->registered set to TRUE
7669
7670 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7671
7672         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
7673         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
7674         (gst_collectpads_is_active), (gst_collectpads_collect),
7675         (gst_collectpads_collect_range), (gst_collectpads_start),
7676         (gst_collectpads_stop), (gst_collectpads_peek),
7677         (gst_collectpads_pop), (gst_collectpads_available),
7678         (gst_collectpads_read), (gst_collectpads_flush):
7679           Guard public API with assertions.
7680         
7681         * gst/gstpad.c:
7682           Fix docs for gst_pad_set_link_function().
7683
7684 2005-11-02  Johan Dahlin  <johan@gnome.org>
7685
7686         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
7687         Unref found_caps after we used it.
7688
7689 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7690
7691         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
7692           Don't try to ref NULL.
7693
7694 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7695
7696         * win32/common/config.h.in:
7697           provide a GST_FUNCTION that just gives a string for now
7698
7699 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7700
7701         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7702         (gst_object_flags_get_type), (register_gst_bin_flags),
7703         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7704         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7705         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7706         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
7707         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7708         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7709         (gst_clock_flags_get_type), (register_gst_state),
7710         (gst_state_get_type), (register_gst_state_change_return),
7711         (gst_state_change_return_get_type), (register_gst_state_change),
7712         (gst_state_change_get_type), (register_gst_element_flags),
7713         (gst_element_flags_get_type), (register_gst_core_error),
7714         (gst_core_error_get_type), (register_gst_library_error),
7715         (gst_library_error_get_type), (register_gst_resource_error),
7716         (gst_resource_error_get_type), (register_gst_stream_error),
7717         (gst_stream_error_get_type), (register_gst_event_type),
7718         (gst_event_type_get_type), (register_gst_seek_type),
7719         (gst_seek_type_get_type), (register_gst_seek_flags),
7720         (gst_seek_flags_get_type), (register_gst_format),
7721         (gst_format_get_type), (register_gst_index_certainty),
7722         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7723         (gst_index_entry_type_get_type),
7724         (register_gst_index_lookup_method),
7725         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7726         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7727         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7728         (gst_index_flags_get_type), (register_gst_debug_level),
7729         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7730         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7731         (gst_iterator_result_get_type), (register_gst_iterator_item),
7732         (gst_iterator_item_get_type), (register_gst_message_type),
7733         (gst_message_type_get_type), (register_gst_mini_object_flags),
7734         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7735         (gst_pad_link_return_get_type), (register_gst_flow_return),
7736         (gst_flow_return_get_type), (register_gst_activate_mode),
7737         (gst_activate_mode_get_type), (register_gst_pad_direction),
7738         (gst_pad_direction_get_type), (register_gst_pad_flags),
7739         (gst_pad_flags_get_type), (register_gst_pad_presence),
7740         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7741         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7742         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7743         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7744         (gst_plugin_flags_get_type), (register_gst_rank),
7745         (gst_rank_get_type), (register_gst_query_type),
7746         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7747         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7748         (gst_tag_flag_get_type), (register_gst_task_state),
7749         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7750         (gst_alloc_trace_flags_get_type),
7751         (register_gst_type_find_probability),
7752         (gst_type_find_probability_get_type), (register_gst_uri_type),
7753         (gst_uri_type_get_type), (register_gst_parse_error),
7754         (gst_parse_error_get_type):
7755         * win32/common/gstversion.h:
7756           update win32 copies
7757
7758 2005-11-01  Luca Ognibene  <luogni@tin.it>
7759
7760         * gst/gst.c:
7761           fix docs. popt is dead, long live GOption.
7762
7763 2005-10-31  Wim Taymans  <wim@fluendo.com>
7764
7765         * gst/gstbuffer.h:
7766         Small doc fix.
7767
7768 2005-10-31  Andy Wingo  <wingo@pobox.com>
7769
7770         * Boo!
7771
7772         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
7773
7774         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
7775         need to serialize property notifications on GLib 2.8. GLib 2.6 has
7776         the possibility of deadlocks here if code calling notify() or
7777         set() has a lock that can be taken in another notify handler (ABBA
7778         with class lock and e.g. python GIL state lock).
7779
7780 2005-10-28  Julien MOUTTE  <julien@moutte.net>
7781
7782         * gst/gstbus.c: Doc updates.
7783
7784 2005-10-28  Wim Taymans  <wim@fluendo.com>
7785
7786         * docs/design/part-TODO.txt:
7787         * gst/gstiterator.c:
7788         * gst/gstsystemclock.c:
7789         * gst/gstsystemclock.h:
7790         Doc updates.
7791
7792 2005-10-28  Edward Hervey  <edward@fluendo.com>
7793
7794         * docs/gst/gstreamer-docs.sgml:
7795         * docs/gst/gstreamer-sections.txt:
7796         the GstURIType documentation page is private, it only defines GstURIType
7797         which should be defined in the GstURIHandler page
7798         
7799 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7800
7801         * gst/gstbin.c: (gst_bin_class_init):
7802         * gst/gstbin.h:
7803         * gst/gstutils.c:
7804         Documentation updates.
7805
7806 2005-10-28  Wim Taymans  <wim@fluendo.com>
7807
7808         * docs/gst/gstreamer-sections.txt:
7809         * gst/gstclock.c:
7810         * gst/gstclock.h:
7811         Documented the clocks.
7812
7813 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
7814
7815         * docs/gst/gstreamer-sections.txt:
7816           move some macros to private sections
7817         * gst/gstminiobject.c:
7818         * gst/gstminiobject.h:
7819           add descriptions provided by ds and some more
7820         * gst/gstpad.h:
7821           mark macro as to be removed
7822
7823 2005-10-28  Wim Taymans  <wim@fluendo.com>
7824
7825         * docs/design/part-TODO.txt:
7826         Add an item to TODO.
7827
7828         * gst/gstiterator.c: (gst_iterator_fold),
7829         (gst_iterator_find_custom):
7830         * gst/gstiterator.h:
7831         Add iterator docs.
7832
7833 2005-10-28  Wim Taymans  <wim@fluendo.com>
7834
7835         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7836         (gst_base_transform_init):
7837         Don't leak class.
7838
7839         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
7840         An EOS event marks the queue as completely filled.
7841
7842 2005-10-27  Wim Taymans  <wim@fluendo.com>
7843
7844         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7845         (gst_base_sink_do_sync), (gst_base_sink_get_position):
7846         Some more debugging.
7847
7848         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
7849         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
7850         (gst_base_transform_event), (gst_base_transform_getrange),
7851         (gst_base_transform_chain):
7852         * gst/base/gstbasetransform.h:
7853         Fix debugging,
7854         Protect transform and concurrent buffer alloc with a new lock.
7855         Try not to break ABI/API.
7856
7857 2005-10-27  Wim Taymans  <wim@fluendo.com>
7858
7859         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7860         (gst_base_src_init), (gst_base_src_query),
7861         (gst_base_src_default_newsegment),
7862         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7863         (gst_base_src_send_event), (gst_base_src_event_handler),
7864         (gst_base_src_pad_get_range), (gst_base_src_loop),
7865         (gst_base_src_unlock), (gst_base_src_default_negotiate),
7866         (gst_base_src_start), (gst_base_src_deactivate),
7867         (gst_base_src_activate_push), (gst_base_src_change_state):
7868         Move some stuff around and cleanup things.
7869
7870 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
7871
7872         * gst/base/gstbasesrc.c: (gst_base_src_query):
7873           Add missing break statements.
7874
7875 2005-10-27  Wim Taymans  <wim@fluendo.com>
7876
7877         * check/gst/gstbin.c: (GST_START_TEST):
7878         An extra refcount is taken in basesrc.
7879
7880         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7881         (gst_base_src_get_range), (gst_base_src_pad_get_range),
7882         (gst_base_src_loop):
7883         Small cleanups, check for flushing after being unlocked from the 
7884         LIVE_LOCK. take refcounts correctly (not yet everywhere).
7885         Don't send out EOS when going to READY.
7886
7887 2005-10-27  Wim Taymans  <wim@fluendo.com>
7888
7889         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7890         (gst_base_sink_get_position):
7891         Some more debug.
7892
7893         * gst/gstbin.c: (message_check), (bin_replace_message),
7894         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7895         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7896         (bin_query_duration_init), (bin_query_duration_fold),
7897         (bin_query_duration_done), (bin_query_generic_fold),
7898         (gst_bin_query):
7899         * tools/gst-launch.c: (main):
7900         Remove old option.
7901
7902 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
7903
7904         * examples/controller/audio-example.c: (main):
7905         * examples/queue/queue.c: (event_loop):
7906         * gst/base/gstbasetransform.h:
7907         * gst/gstelement.c: (gst_element_send_event):
7908         * gst/gstevent.h:
7909         * gst/gstpad.c: (gst_pad_send_event):
7910           fixing examples
7911           fixing docs typos
7912           changing log priority in error situations
7913
7914 2005-10-25  Wim Taymans  <wim@fluendo.com>
7915
7916         * gst/gstbin.c: (message_check), (bin_replace_message),
7917         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7918         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7919         (bin_query_duration_init), (bin_query_duration_fold),
7920         (bin_query_duration_done), (bin_query_generic_fold),
7921         (gst_bin_query):
7922         Some doc and debug updates.
7923         Cache previously requested query DURATION for speed. invalidate
7924         cached duration if element posts a DURATION message.
7925
7926 2005-10-25  Wim Taymans  <wim@fluendo.com>
7927
7928         * docs/design/part-TODO.txt:
7929         Update TODO.
7930
7931         * gst/gstbin.c: (message_check), (bin_replace_message),
7932         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7933         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7934         (bin_query_duration_init), (bin_query_duration_fold),
7935         (bin_query_duration_done), (bin_query_generic_fold),
7936         (gst_bin_query):
7937         Handle SEGMENT_START/DONE messages correctly.
7938         More evolved query algorithm that handles duration queries
7939         correctly.
7940
7941         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
7942         (gst_element_get_state_func), (gst_element_abort_state),
7943         (gst_element_commit_state), (gst_element_lost_state):
7944         Some more debugging.
7945
7946         * gst/gstmessage.h:
7947         Added doc.
7948
7949 2005-10-25  Wim Taymans  <wim@fluendo.com>
7950
7951         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7952         Don't use invalid stream_time.
7953
7954         * gst/gstevent.c: (gst_event_new_newsegment):
7955         stream_time in newsegment cannot be undefined.
7956
7957 2005-10-24  Wim Taymans  <wim@fluendo.com>
7958
7959         * gst/gstbus.c:
7960         Doc fix.
7961
7962         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7963         (gst_queue_loop):
7964         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
7965
7966 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
7967
7968         * docs/libs/tmpl/gstdparam.sgml:
7969         * docs/libs/tmpl/gstdplinint.sgml:
7970         * docs/libs/tmpl/gstdpman.sgml:
7971         * docs/libs/tmpl/gstdpsmooth.sgml:
7972         * docs/libs/tmpl/gstunitconvert.sgml:
7973           these are obsolete
7974
7975 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
7976
7977         * configure.ac:
7978           back to HEAD
7979
7980 === release 0.9.4 ===
7981
7982 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7983
7984         * configure.ac:
7985           releasing 0.9.4, "Tyrannosaurus Rex"
7986
7987 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
7988
7989         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
7990         (gst_file_sink_get_current_offset):
7991           Use fseeko() and ftello() if available. When falling back on
7992           lseek() to get the current offset, fflush() first to make sure
7993           everything is up-to-date and we get the right offset.
7994
7995 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
7996
7997         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7998         * gst/base/gstbasesrc.c: (gst_base_src_loop):
7999         * gst/gsterror.c: (_gst_stream_errors_init):
8000         * gst/gsterror.h:
8001         * gst/gstqueue.c: (gst_queue_loop):
8002         * po/POTFILES.in:
8003           remove prematurely added error category and clean up the instances
8004
8005 2005-10-21  Wim Taymans  <wim@fluendo.com>
8006
8007         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8008         (gst_base_sink_get_position), (gst_base_sink_query),
8009         (gst_base_sink_change_state):
8010         Simply set the right flag when going to playing, that's all
8011         we need to do instead of calling a function inside the object
8012         lock (that could take the lock as well and deadlock)
8013
8014 2005-10-21  Wim Taymans  <wim@fluendo.com>
8015
8016         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8017         (gst_base_src_loop):
8018         Don't warn, the peer element knows what to do best when
8019         the seek failed, it might try something else.
8020
8021 2005-10-21  Wim Taymans  <wim@fluendo.com>
8022
8023         * gst/base/gstbasesrc.c: (gst_base_src_init),
8024         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8025         Fix seeking.
8026
8027 2005-10-21  Wim Taymans  <wim@fluendo.com>
8028
8029         * docs/design/part-segments.txt:
8030         More docs.
8031
8032         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8033         Correctly set caps, even on the subbufer.
8034
8035 2005-10-21  Wim Taymans  <wim@fluendo.com>
8036
8037         * docs/gst/gstreamer-docs.sgml:
8038         * docs/gst/gstreamer-sections.txt:
8039         * gst/gstelement.h:
8040         * gst/gstevent.c:
8041         * gst/gstevent.h:
8042         * gst/gstmessage.h:
8043         * gst/gstpad.h:
8044         * gst/gstparse.h:
8045         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8046         * gst/gsttask.h:
8047         * gst/gstutils.c:
8048         * gst/gstutils.h:
8049         And 2% more doc coverage.
8050
8051 2005-10-21  Andy Wingo  <wingo@pobox.com>
8052
8053         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8054         position reporting.
8055
8056 2005-10-20  Wim Taymans  <wim@fluendo.com>
8057
8058         * gst/gsterror.c: (gst_error_get_message):
8059         * gst/gstparse.h:
8060         * gst/gstquery.h:
8061         * gst/gststructure.c:
8062         * gst/gsttrace.c:
8063         * gst/gstutils.c:
8064         More docs.
8065
8066 2005-10-20  Wim Taymans  <wim@fluendo.com>
8067
8068         * gst/gstbuffer.h:
8069         * gst/gstpad.c:
8070         * gst/gstparse.c:
8071         Another 1% more coverage.
8072
8073 2005-10-20  Wim Taymans  <wim@fluendo.com>
8074
8075         * docs/gst/gstreamer-sections.txt:
8076         * gst/gstelement.c: (gst_element_get_state_func),
8077         (gst_element_abort_state), (gst_element_commit_state),
8078         (gst_element_lost_state):
8079         * gst/gstevent.h:
8080         * gst/gstquery.c: (gst_query_set_position),
8081         (gst_query_parse_position), (gst_query_set_duration),
8082         (gst_query_parse_duration), (gst_query_new_convert):
8083         * gst/gstutils.c:
8084         Yay! 1% more docs coverage.
8085
8086 2005-10-20  Wim Taymans  <wim@fluendo.com>
8087
8088         * gst/gstpad.h:
8089         * gst/gstquery.c: (gst_query_set_position),
8090         (gst_query_parse_position), (gst_query_set_duration),
8091         (gst_query_parse_duration), (gst_query_new_convert):
8092         * gst/gstquery.h:
8093         * gst/gstutils.c: (gst_element_query_convert):
8094         * gst/gstutils.h:
8095         Docs and consistency fixes.
8096
8097 2005-10-20  Wim Taymans  <wim@fluendo.com>
8098
8099         * gst/gsttask.c:
8100         * gst/gsttask.h:
8101         More docs.
8102
8103 2005-10-20  Wim Taymans  <wim@fluendo.com>
8104
8105         * gst/gstbin.c: (message_check), (bin_replace_message),
8106         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8107         (update_degree), (gst_bin_sort_iterator_next),
8108         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8109         Reworked the message handling a bit, cache the messages instead of
8110         only the senders. alows us to do more in the future.
8111
8112 2005-10-20  Wim Taymans  <wim@fluendo.com>
8113
8114         * docs/design/part-TODO.txt:
8115         Update TODO
8116
8117         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8118         (gst_base_sink_query):
8119         Don't use clock time to report position when in EOS.
8120
8121 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
8122
8123         * tools/gst-inspect.c: (print_interfaces),
8124         (print_element_properties_info), (print_element_info):
8125           Fix interface output with gst-inspect -a; don't print
8126           newlines after double/float properties.
8127
8128 2005-10-20  Wim Taymans  <wim@fluendo.com>
8129
8130         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8131         (gst_base_sink_query):
8132         Speed up current position calculation.
8133
8134         * gst/base/gstbasesrc.c: (gst_base_src_query),
8135         (gst_base_src_default_newsegment):
8136         Correctly set stream position in newsegment.
8137
8138         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8139         (update_degree), (gst_bin_sort_iterator_next),
8140         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8141         * gst/gstmessage.c: (gst_message_new_custom):
8142         Clean up debugging info
8143
8144         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8145         (gst_queue_loop), (gst_queue_handle_src_query):
8146         Pause task faster.
8147
8148 2005-10-19  Wim Taymans  <wim@fluendo.com>
8149
8150         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8151         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8152         Fix query handling again.
8153
8154 2005-10-19  Wim Taymans  <wim@fluendo.com>
8155
8156         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8157         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8158         * gst/base/gstbasesrc.c: (gst_base_src_query):
8159         * gst/elements/gstfilesink.c: (gst_file_sink_query):
8160         * gst/elements/gsttypefindelement.c:
8161         (gst_type_find_handle_src_query), (find_element_get_length),
8162         (gst_type_find_element_activate):
8163         API change fix.
8164
8165         * gst/gstquery.c: (gst_query_new_position),
8166         (gst_query_set_position), (gst_query_parse_position),
8167         (gst_query_new_duration), (gst_query_set_duration),
8168         (gst_query_parse_duration), (gst_query_set_segment),
8169         (gst_query_parse_segment):
8170         * gst/gstquery.h:
8171         Bundling query position/duration is not a good idea since duration
8172         does not change much and we don't want to recalculate it for every
8173         position query, so they are separated again..
8174         Base value in segment query is not needed.
8175
8176         * gst/gstqueue.c: (gst_queue_handle_src_query):
8177         * gst/gstutils.c: (gst_element_query_position),
8178         (gst_element_query_duration), (gst_pad_query_position),
8179         (gst_pad_query_duration):
8180         * gst/gstutils.h:
8181         Updates for query API change.
8182         Added some docs here and there.
8183
8184 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8185
8186         * check/gst/gstbin.c: (GST_START_TEST):
8187         * check/gst/gstghostpad.c: (GST_START_TEST):
8188         * check/pipelines/cleanup.c: (GST_START_TEST):
8189           wait on thread to die so we can check refcount correctly
8190
8191 2005-10-18  Wim Taymans  <wim@fluendo.com>
8192
8193         * check/pipelines/stress.c: (GST_START_TEST):
8194         Make check a little more time consuming.
8195
8196 2005-10-18  Wim Taymans  <wim@fluendo.com>
8197
8198         * check/Makefile.am:
8199         * check/pipelines/stress.c: (GST_START_TEST),
8200         (simple_launch_lines_suite), (main):
8201         Small state change torture test.
8202
8203         * docs/design/part-states.txt:
8204         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8205         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8206         (gst_base_sink_change_state):
8207         Never take state lock from streaming thread, clean up ugly
8208         hacks. Unfortunatly core does not yet support nice ways to
8209         async commit state.
8210         
8211         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8212         (bin_bus_handler):
8213         Start state recalc if a STATE_DIRTY message is posted, but only
8214         on the toplevel bin.
8215
8216         * gst/gstelement.c: (gst_element_sync_state_with_parent),
8217         (gst_element_get_state_func), (gst_element_abort_state),
8218         (gst_element_commit_state), (gst_element_lost_state),
8219         (gst_element_set_state_func), (gst_element_change_state):
8220         * gst/gstelement.h:
8221         State variables are now protected with the LOCK, the state
8222         lock is only used to serialize _set_state().
8223
8224 2005-10-18  Wim Taymans  <wim@fluendo.com>
8225
8226         * check/gst/gstbin.c: (GST_START_TEST):
8227         * check/gst/gstmessage.c: (GST_START_TEST):
8228         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8229         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8230         (bin_bus_handler):
8231         * gst/gstelement.c: (gst_element_abort_state),
8232         (gst_element_commit_state), (gst_element_lost_state):
8233         * gst/gstmessage.c: (gst_message_new_state_changed),
8234         (gst_message_new_state_dirty), (gst_message_new_segment_start),
8235         (gst_message_new_segment_done), (gst_message_new_duration),
8236         (gst_message_parse_state_changed),
8237         (gst_message_parse_segment_start),
8238         (gst_message_parse_segment_done), (gst_message_parse_duration):
8239         * gst/gstmessage.h:
8240         * tools/gst-launch.c: (event_loop):
8241         Seriously, this is better than a previous commit as we only need
8242         to notify the fact that an element changed state in a streaming
8243         thread, marking the state of the parents dirty, hence the 
8244         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8245         message.
8246
8247 2005-10-18  Wim Taymans  <wim@fluendo.com>
8248
8249         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8250         (gst_bin_recalc_func):
8251         * gst/gstelement.c: (gst_element_set_clock),
8252         (gst_element_abort_state), (gst_element_lost_state):
8253         Cleanups, prepare for state change fixes.
8254
8255 2005-10-18  Wim Taymans  <wim@fluendo.com>
8256
8257         * gst/gstbin.h:
8258         * gst/gstelement.c: (gst_element_class_init),
8259         (gst_element_set_state), (gst_element_set_state_func):
8260         * gst/gstelement.h:
8261         Pending ABI changes.
8262         GThreadPool in GstBinClass to monitor async state changes.
8263         state_cookie in GstElement to detect concurrent gst/set state.
8264         set_state is now virtual too in case a very complicated element
8265         has to be constructed.
8266
8267 2005-10-18  Wim Taymans  <wim@fluendo.com>
8268
8269         * check/gst/gstbin.c: (GST_START_TEST):
8270         * check/gst/gstmessage.c: (GST_START_TEST):
8271         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8272         * gst/gstbin.c: (bin_bus_handler):
8273         * gst/gstelement.c: (gst_element_commit_state),
8274         (gst_element_lost_state):
8275         * gst/gstmessage.c: (gst_message_new_state_changed),
8276         (gst_message_new_segment_start), (gst_message_new_segment_done),
8277         (gst_message_new_duration), (gst_message_parse_state_changed),
8278         (gst_message_parse_segment_start),
8279         (gst_message_parse_segment_done), (gst_message_parse_duration):
8280         * gst/gstmessage.h:
8281         * tools/gst-launch.c: (event_loop):
8282         Make messages future proof.
8283         state-change gets a flag if it was a message comming from the
8284         streaming thread.
8285         segment-start/stop can also be specified in other formats.
8286         A message to notify an app that a pipeline changed playback 
8287         duration.
8288         Also fix a GstMessage leak in -launch
8289
8290 2005-10-18  Andy Wingo  <wingo@pobox.com>
8291
8292         * gst/gstelement.c (gst_element_dispose): More helpful message.
8293
8294 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8295
8296         reviewed by: <delete if not using a buddy>
8297
8298         * common/gtk-doc.mak:
8299
8300 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8301
8302         * gst/gstregistry.c: (gst_registry_scan_path_level):
8303           unref a plug-in we get that was already initialized
8304
8305 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
8306
8307         * docs/gst/gstreamer-sections.txt:
8308         * docs/libs/gstreamer-libs-sections.txt:
8309         * gst/gstelement.h:
8310           add new api entries
8311           hide internal macro
8312
8313 2005-10-17  Andy Wingo  <wingo@pobox.com>
8314
8315         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8316         cleanup.
8317
8318         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8319
8320         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8321
8322         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8323         (gst_element_get_state_func): Better debug message.
8324         (gst_element_commit_state): s/INFO/DEBUG/.
8325         (gst_element_lost_state, gst_element_change_state): 
8326
8327         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8328         (gst_message_new_custom): s/INFO/LOG/.
8329
8330 2005-10-17  Michael Smith <msmith@fluendo.com>
8331
8332         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8333           Check if end time is valid using end time, not start time.
8334
8335 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
8336
8337         * check/gst-libs/controller.c: (GST_START_TEST),
8338         (gst_controller_suite):
8339         * libs/gst/controller/gstcontroller.c:
8340         (gst_controlled_property_set_interpolation_mode):
8341         * libs/gst/controller/gstcontroller.h:
8342         * libs/gst/controller/gstinterpolation.c:
8343         * testsuite/controller/.cvsignore:
8344         * testsuite/controller/Makefile.am:
8345         * testsuite/controller/interpolator.c:
8346           merge controller testsuites
8347           fix broken tests
8348           remove mem-chunk from docs
8349
8350 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8351
8352         * gst/gstmemchunk.c:
8353         * gst/gstmemchunk.h:
8354         * gst/gsttrashstack.c:
8355         * gst/gsttrashstack.h:
8356           out.  get out.  you're fired.  to the Attic !
8357
8358 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8359
8360         * gst/gstcaps.c: (gst_caps_intersect):
8361           fix signedness issues in a (hopefully) correct way
8362         * gst/gstelement.c: (gst_element_pads_activate):
8363           some debugging
8364         * gst/gstobject.c: (gst_object_set_parent):
8365           some debugging
8366
8367 2005-10-17  Julien MOUTTE  <julien@moutte.net>
8368
8369         * gst/gstvalue.h: Fix prototypes.
8370
8371 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8372
8373         * docs/gst/gstreamer-sections.txt:
8374         * gst/gst.c: (gst_version_string):
8375         * gst/gst.h:
8376         * gst/gstversion.h.in:
8377         * win32/common/libgstreamer.def:
8378           add gst_version_string ()
8379
8380 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8381
8382         * configure.ac:
8383           clean up further
8384         * gst/gst.c: (init_post):
8385         * win32/common/config.h.in:
8386           it's PLUGINDIR now
8387         * gst/gstcaps.c: (gst_caps_intersect):
8388           use gint64, the range could be bigger than a guint
8389
8390 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8391
8392         * gst/gstclock.h:
8393           document potential problem in 2038
8394
8395 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8396
8397         * gst/gstcaps.c: (gst_caps_intersect):
8398           Fix guint j diving under 0
8399
8400 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8401
8402         * configure.ac:
8403         * win32/common/config.h:
8404         * win32/common/config.h.in:
8405           check for process.h, declares getpid() on Windows
8406         * gst/gstinfo.c:
8407           include process.h if we have it
8408         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8409         * gst/gstmemchunk.h:
8410           fix signedness issues
8411         * win32/common/libgstreamer.def:
8412           fix get_type's
8413
8414 2005-10-16  Julien MOUTTE  <julien@moutte.net>
8415
8416         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8417         fix. Because of unsigned ints, caps intersection was going nuts and
8418         trying to access structures with G_MAXUINT index. That fixes
8419         videotestsrc ! ffmpegcolorspace ! fakesink
8420         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8421         consistency.
8422
8423 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8424
8425         * configure.ac:
8426           use the gettext macro
8427         * gst/elements/gstelements.c:
8428         * gst/gst.c:
8429         * gst/indexers/gstindexers.c:
8430           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8431         * win32/common/config.h:
8432           updated config.h
8433         * win32/common/config.h.in:
8434           add the template to generate config.h
8435         * win32/common/gstenumtypes.c:
8436         * win32/common/gstversion.h:
8437           updated copies
8438
8439 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8440
8441         * gst/gst.c: (gst_version):
8442         * gst/gstversion.h.in:
8443           add the nano
8444
8445 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8446
8447         * gst/gstevent.h:
8448           Oops, add missing closing bracket.
8449
8450 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8451
8452         * configure.ac:
8453           use common m4's for argument checking
8454
8455 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8456
8457         * docs/gst/gstreamer-sections.txt:
8458         * gst/gstevent.h:
8459           Add GST_EVENT_TYPE_NAME() macro.
8460
8461 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8462
8463         * gst/gstinfo.c:
8464         * gst/gstpluginfeature.c:
8465         * gst/gsttask.c:
8466           privatize more symbols
8467
8468 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8469
8470         * configure.ac:
8471           add srcdir, builddir includes to GST_ALL_CFLAGS, since
8472           everything that uses GStreamer API should have the includes
8473
8474 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8475
8476         * docs/gst/gstreamer-sections.txt:
8477         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8478         * gst/gstvalue.h:
8479           give each value a _get_type, removes the DATA exports
8480
8481 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8482
8483         * gst/gst.c:
8484         * gst/gst.h:
8485           remove _gst_registry_auto_load, not used anymore
8486         * gst/gstbin.c: (gst_bin_get_type):
8487         * gst/gstbin.h:
8488         * gst/gstelement.c: (gst_element_get_type):
8489         * gst/gstelement.h:
8490         * gst/gstobject.c: (gst_object_get_type):
8491         * gst/gstobject.h:
8492         * gst/gstpad.c: (gst_pad_get_type):
8493         * gst/gstpad.h:
8494           make _get_type functions similar, fixes data export from library
8495
8496 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8497
8498         * configure.ac:
8499           correctly make conditionals
8500         * gst/elements/Makefile.am:
8501         * gst/elements/gstelements.c:
8502           fix typo causing fdsrc not to build
8503
8504 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8505
8506         * testsuite/Makefile.am:
8507         * testsuite/bytestream/.cvsignore:
8508         * testsuite/bytestream/Makefile.am:
8509         * testsuite/bytestream/filepadsink.c:
8510         * testsuite/bytestream/gstbstest.c:
8511         * testsuite/bytestream/test1.c:
8512         * testsuite/bytestream/testfile1:
8513         * testsuite/caps/normalisation.c:
8514         * testsuite/caps/random.c: (main):
8515         * testsuite/cleanup/.cvsignore:
8516         * testsuite/cleanup/Makefile.am:
8517         * testsuite/cleanup/cleanup1.c:
8518         * testsuite/cleanup/cleanup2.c:
8519         * testsuite/cleanup/cleanup3.c:
8520         * testsuite/cleanup/cleanup4.c:
8521         * testsuite/cleanup/cleanup5.c:
8522         * testsuite/controller/interpolator.c:
8523         * testsuite/debug/printf_extension.c: (main):
8524         * testsuite/elements/tee.c:
8525         * testsuite/negotiation/.cvsignore:
8526         * testsuite/negotiation/Makefile.am:
8527         * testsuite/negotiation/pad_link.c:
8528         * testsuite/pad/Makefile.am:
8529         * testsuite/pad/chainnopull.c:
8530         * testsuite/pad/getnopush.c:
8531         * testsuite/pad/link.c:
8532         * testsuite/refcounting/sched.c: (create_pipeline):
8533         * testsuite/registry/Makefile.am:
8534         * testsuite/registry/gst-print-formats.c:
8535         * testsuite/schedulers/.cvsignore:
8536         * testsuite/schedulers/142183-2.c:
8537         * testsuite/schedulers/142183.c:
8538         * testsuite/schedulers/143777-2.c:
8539         * testsuite/schedulers/143777.c:
8540         * testsuite/schedulers/147713.c:
8541         * testsuite/schedulers/147819.c:
8542         * testsuite/schedulers/147894-2.c:
8543         * testsuite/schedulers/147894.c:
8544         * testsuite/schedulers/Makefile.am:
8545         * testsuite/schedulers/group_link.c:
8546         * testsuite/schedulers/queue_link.c:
8547         * testsuite/schedulers/relink.c:
8548         * testsuite/schedulers/unlink.c:
8549         * testsuite/schedulers/unref.c:
8550         * testsuite/schedulers/useless_iteration.c:
8551         * testsuite/states/bin.c:
8552           clean out/remove some stuff from the testsuite directories
8553
8554 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8555
8556         * configure.ac:
8557           check for some headers
8558         * gst/elements/Makefile.am:
8559         * gst/elements/gstelements.c:
8560           don't compile fdsrc without sys/socket.h
8561         * gst/indexers/Makefile.am:
8562         * gst/indexers/gstindexers.c: (plugin_init):
8563           don't compile fileindex without mmap
8564
8565 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8566
8567         * configure.ac:
8568           reorganize
8569           clean up
8570           document more
8571           remove cruft
8572         * check/Makefile.am:
8573         * docs/gst/Makefile.am:
8574         * examples/helloworld/Makefile.am:
8575         * gst/Makefile.am:
8576         * gst/base/Makefile.am:
8577         * gst/check/Makefile.am:
8578         * gst/elements/Makefile.am:
8579         * gst/indexers/Makefile.am:
8580         * gst/parse/Makefile.am:
8581         * libs/gst/controller/Makefile.am:
8582         * libs/gst/dataprotocol/Makefile.am:
8583         * examples/helloworld/helloworld.c: (event_loop):
8584           compile fixes, though it's not being compiled currently
8585
8586 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8587
8588         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
8589           Add some simple tests for the new taglist date API.
8590
8591 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8592
8593         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
8594         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
8595           Beautify 'last-message' output: print 'none' for buffer timestamps
8596           and durations if none is set; improve alignment with next messages.
8597
8598 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8599
8600         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
8601         * gst/gstpluginfeature.h:
8602         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
8603         * gst/gstregistry.h:
8604         * docs/gst/gstreamer-sections.txt:
8605           Add new API to check plugin feature version requirements.
8606
8607         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
8608           Some basic tests for the above.         
8609
8610 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8611
8612         * gst/gststructure.c: (gst_structure_to_string):
8613           guard against NULL printf - happens when for example
8614           a message structure with GstClock gets serialized
8615
8616 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8617
8618         * gst/base/gstcollectpads.c: (gst_collectpads_event):
8619           Fix presumable copy'n'pasto.
8620
8621 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8622
8623         * gst/elements/gstfakesrc.h:
8624         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
8625         * gst/elements/gsttypefindelement.c:
8626           fix some signedness
8627         * gst/elements/gstfilesink.c: (gst_file_sink_render):
8628           I wonder if this could actually write +2GB files before
8629
8630 2005-10-13  Andy Wingo  <wingo@pobox.com>
8631
8632         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
8633         Fix Timmeke Waymans bug.
8634         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
8635         string of the proper length to gst_caps_from_string. There's a
8636         potential for, before this fix, that this could cause someone
8637         connecting over the network to cause a segfault if the payload is
8638         not NUL-terminated.
8639
8640 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8641
8642         * docs/design/draft-push-pull.txt:
8643         * docs/design/part-overview.txt:
8644         * docs/random/TODO-pre-0.9:
8645         * docs/random/old/ChangeLog.gstreamer:
8646         * gst/base/gstpushsrc.c:
8647         * gst/gstclock.c:
8648           fixed typos
8649
8650 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8651
8652         * gst/glib-compat.c: (gst_flags_get_first_value):
8653         * gst/glib-compat.h:
8654         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
8655         (gst_value_compare_double), (gst_value_serialize_flags):
8656           GLib 2.6 g_flags_get_first_value has a bug that triggers an
8657           infinite loop
8658
8659 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8660
8661         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8662         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8663           fix up debugging
8664         * tools/gst-launch.c: (event_loop):
8665           print out clock nicely
8666
8667 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8668
8669         * docs/gst/gstreamer-sections.txt:
8670         * gst/gsttaglist.h:
8671         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
8672         (gst_tag_list_get_date_index):
8673           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
8674           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
8675
8676 2005-10-13  Julien MOUTTE  <julien@moutte.net>
8677
8678         * gst/base/gstcollectpads.c: (gst_collectpads_event),
8679         (gst_collectpads_chain):
8680         * gst/base/gstcollectpads.h: Handle newsegment and store informations
8681         in CollectData.
8682
8683 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8684
8685         * docs/gst/gstreamer-sections.txt:
8686         * gst/gst.c:
8687         * gst/gsterror.h:
8688         * tools/gst-inspect.c: (main):
8689         * tools/gst-launch.c: (main):
8690         * tools/gst-run.c: (main):
8691         * tools/gst-xmlinspect.c: (main):
8692           fix GOption context leaks
8693           doc fixes
8694
8695 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8696
8697         * gst/gstbus.c:
8698           use HAVE_UNISTD_H
8699         * win32/common/config.h:
8700           update config
8701         * win32/vs6/grammar.dsp:
8702         * win32/vs6/libgstelements.dsp:
8703         * win32/vs6/libgstreamer.dsp:
8704           update vs6 files
8705
8706 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8707
8708         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8709         * gst/base/gstbasesrc.c: (gst_base_src_query):
8710           fix more guint64<->gdouble conversions
8711
8712 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8713
8714         * Makefile.am:
8715           add win32-update target
8716         * win32/common/gstconfig.h:
8717         * win32/common/gstenumtypes.c:
8718         * win32/common/gstenumtypes.h:
8719         * win32/common/gstversion.h:
8720           add files that visual studio can't generate
8721
8722 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8723
8724         * Makefile.am:
8725           add a win32-update target
8726         * configure.ac:
8727
8728 2005-10-12  Wim Taymans  <wim@fluendo.com>
8729
8730         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8731         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
8732         * gst/gstelement.c: (gst_element_commit_state),
8733         (gst_element_set_state):
8734         Protect flags with proper lock.
8735         unref provided cached clock in dispose.
8736
8737 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8738
8739         * gst/gst.c:
8740         * gst/gstminiobject.h:
8741         * gst/gstpad.h:
8742         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
8743           removed unused flags from miniobject
8744           doc fixes
8745
8746 2005-10-12  Wim Taymans  <wim@fluendo.com>
8747
8748         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8749         (gst_file_sink_event), (gst_file_sink_render):
8750         Flush before seeking.
8751
8752 2005-10-12  Andy Wingo  <wingo@pobox.com>
8753
8754         * gst/gst.c (gst_init_check): Ignore unknown options, as has
8755         always been the case.
8756
8757 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8758
8759         * check/gst/gstbin.c: (GST_START_TEST):
8760         * docs/gst/gstreamer-sections.txt:
8761         * gst/base/gstbasesink.c: (gst_base_sink_init):
8762         * gst/base/gstbasesrc.c: (gst_base_src_init),
8763         (gst_base_src_get_range), (gst_base_src_check_get_range),
8764         (gst_base_src_start), (gst_base_src_stop):
8765         * gst/base/gstbasesrc.h:
8766         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
8767         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8768         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
8769         (bin_bus_handler):
8770         * gst/gstbin.h:
8771         * gst/gstbuffer.h:
8772         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
8773         * gst/gstbus.h:
8774         * gst/gstelement.c: (gst_element_is_locked_state),
8775         (gst_element_set_locked_state), (gst_element_commit_state),
8776         (gst_element_set_state):
8777         * gst/gstelement.h:
8778         * gst/gstindex.c: (gst_index_init):
8779         * gst/gstindex.h:
8780         * gst/gstminiobject.h:
8781         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
8782         (gst_object_set_parent):
8783         * gst/gstobject.h:
8784         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
8785         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
8786         * gst/gstpad.h:
8787         * gst/gstpadtemplate.h:
8788         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
8789         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8790         * gst/gstpipeline.h:
8791         * gst/indexers/gstfileindex.c: (gst_file_index_load),
8792         (gst_file_index_commit):
8793         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
8794         * testsuite/pad/link.c: (gst_test_src_init),
8795         (gst_test_filter_init), (gst_test_sink_init):
8796         * testsuite/states/locked.c: (main):
8797           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
8798           moved bitshift from macro to enum definition
8799
8800 2005-10-12  Wim Taymans  <wim@fluendo.com>
8801
8802         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
8803         * gst/elements/gstfilesink.c: (gst_file_sink_event),
8804         (gst_file_sink_render):
8805         Some more debugging info.
8806
8807 2005-10-12  Wim Taymans  <wim@fluendo.com>
8808
8809         * docs/design/part-states.txt:
8810         * tools/gst-launch.c: (main):
8811         Some doc updates.
8812         Revert non-intentional change.
8813
8814 2005-10-12  Wim Taymans  <wim@fluendo.com>
8815
8816         * check/gst/gstbin.c: (GST_START_TEST):
8817         * check/gst/gstelement.c: (GST_START_TEST):
8818         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
8819         * check/gst/gstghostpad.c: (GST_START_TEST):
8820         * check/gst/gstpipeline.c: (GST_START_TEST):
8821         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8822         * check/states/sinks.c: (GST_START_TEST):
8823         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8824         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8825         (gst_bin_remove_func), (gst_bin_get_state_func),
8826         (gst_bin_recalc_state), (gst_bin_change_state_func),
8827         (bin_bus_handler):
8828         * gst/gstelement.c: (gst_element_get_state_func),
8829         (gst_element_get_state), (gst_element_abort_state),
8830         (gst_element_commit_state), (gst_element_set_state),
8831         (gst_element_change_state), (gst_element_change_state_func):
8832         * gst/gstelement.h:
8833         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
8834         (gst_pipeline_provide_clock_func):
8835         * gst/gstutils.c: (gst_element_link_pads_filtered):
8836         * tools/gst-launch.c: (main):
8837         * tools/gst-typefind.c: (main):
8838         Use GstClockTime in _get_state() instead of GTimeVal.
8839         Remove old code in gstutils.c
8840
8841 2005-10-12  Andy Wingo  <wingo@pobox.com>
8842
8843         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
8844         removed.
8845
8846         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
8847         there is no task. Shouldn't affect any code, as nothing in our
8848         plugins checks this return value.
8849         (gst_pad_stop_task): Also take the stream lock if the pad has no
8850         task. Docs updated.
8851
8852 2005-10-12  Wim Taymans  <wim@fluendo.com>
8853
8854         * gst/gstpad.c: (pre_activate), (post_activate),
8855         (gst_pad_activate_pull), (gst_pad_activate_push):
8856         Cleanup activation code. Reset old state if
8857         activation failed.
8858
8859 2005-10-12  Wim Taymans  <wim@fluendo.com>
8860
8861         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8862         (gst_base_sink_change_state):
8863         No need to prerol after receiving EOS.
8864
8865         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8866         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
8867         * gst/elements/gstidentity.c: (gst_identity_event):
8868         Print events more verbosely.
8869
8870 2005-10-12  Wim Taymans  <wim@fluendo.com>
8871
8872         * check/Makefile.am:
8873         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8874         * check/states/sinks2.c:
8875         Moved sinks2 testcode in sinks check.
8876
8877         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8878         (gst_bin_remove_func), (gst_bin_recalc_state),
8879         (gst_bin_change_state_func), (bin_bus_handler):
8880         Fix potential race condition when _get_state() iterated over an
8881         ASYNC element right before it posted a state completion.
8882
8883         * gst/gstclock.h:
8884         Do proper cast here.
8885
8886         * gst/gstevent.c: (gst_event_new_newsegment),
8887         (gst_event_parse_newsegment):
8888         A playback rate of 0.0 is not allowed.
8889
8890 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8891
8892         * win32/common/config.h:
8893         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8894         (_trewinddir), (_ttelldir), (_tseekdir):
8895         * win32/common/dirent.h:
8896         * win32/common/gtchar.h:
8897         * win32/common/libgstbase.def:
8898         * win32/common/libgstreamer.def:
8899         * win32/vs6/grammar.dsp:
8900         * win32/vs6/gst_inspect.dsp:
8901         * win32/vs6/gst_launch.dsp:
8902         * win32/vs6/gstreamer.dsw:
8903         * win32/vs6/libgstbase.dsp:
8904         * win32/vs6/libgstelements.dsp:
8905         * win32/vs6/libgstreamer.dsp:
8906           Visual Studio 6 project files, and a new common directory.
8907           Phear.
8908
8909 2005-10-11  Wim Taymans  <wim@fluendo.com>
8910
8911         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8912         (gst_base_sink_do_sync), (gst_base_sink_query),
8913         (gst_base_sink_change_state):
8914         * gst/base/gstbasesink.h:
8915         Correctly parse newsegment info.
8916
8917 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8918
8919         * gst/gst.c: (init_post):
8920           split plugin paths correctly
8921
8922 2005-10-11  Wim Taymans  <wim@fluendo.com>
8923
8924         * check/gst/gstevent.c: (GST_START_TEST):
8925         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8926         (gst_base_sink_change_state):
8927         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
8928         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8929         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8930         * gst/gstevent.c: (gst_event_new_newsegment),
8931         (gst_event_parse_newsegment):
8932         * gst/gstevent.h:
8933         Added extra flag to newsegment for future API freeze.
8934         Updated check and base elements.
8935
8936 2005-10-11  Julien MOUTTE  <julien@moutte.net>
8937
8938         * gst/base/gstcollectpads.c: (gst_collectpads_init),
8939         (gst_collectpads_add_pad), (gst_collectpads_pop),
8940         (gst_collectpads_event), (gst_collectpads_chain):
8941         * gst/base/gstcollectpads.h: Handle EOS correctly.
8942
8943 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8944
8945         * tools/gst-launch.c: (main):
8946           more null protecting
8947
8948 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8949
8950         * gst/gst-i18n-lib.h:
8951           check for ENABLE_NLS, not GETTEXT_PACKAGE
8952         * gst/gstregistry.c: (gst_registry_add_plugin),
8953         (gst_registry_scan_path_level),
8954         (_gst_registry_remove_cache_plugins):
8955           protect possibly NULL strings
8956         * gst/parse/types.h:
8957           config.h already included before
8958         * tools/gst-inspect.c: (main):
8959           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
8960           check for ENABLE_NLS, not GETTEXT_PACKAGE
8961         * tools/gst-launch.c: (main):
8962           check for ENABLE_NLS, not GETTEXT_PACKAGE
8963
8964 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8965
8966         * configure.ac:
8967           if we don't have glib, fail before testing 2.8
8968         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
8969           fix a leak, should fix plugins-base testsuite
8970
8971 2005-10-11  Andy Wingo  <wingo@pobox.com>
8972
8973         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
8974         take the mode we're going to as an arg. Go head and set the mode
8975         and flushing flags now, so that if the activate function starts a
8976         thread all the flags will be in the right state.
8977         (post_activate): Renamed also. Just handle making sure streaming
8978         finishes for the deactivation case, and setting the deactivated
8979         mode.
8980         (gst_pad_set_active): Complain loudly if deactivation fails.
8981         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
8982         (gst_pad_activate_push): Adapt to pre/post_activate changes,
8983         remove the terrible hack.
8984
8985 2005-10-11  Wim Taymans  <wim@fluendo.com>
8986
8987         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
8988         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
8989         (gst_bin_recalc_state), (gst_bin_change_state_func),
8990         (gst_bin_dispose), (bin_bus_handler):
8991         * gst/gstbin.h:
8992         Prepare to make current EOS message queue more generic.
8993         Fix some typos.
8994
8995         * gst/gstevent.c: (gst_event_new_newsegment),
8996         (gst_event_parse_newsegment):
8997         * gst/gstevent.h:
8998         Rename base to stream_time.
8999
9000         * gst/gstmessage.h:
9001         Fix typo in docs.
9002
9003 2005-10-11  Wim Taymans  <wim@fluendo.com>
9004
9005         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9006         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9007         (gst_bin_change_state_func), (bin_bus_handler):
9008         * gst/gstbin.h:
9009         Work on proper clock selection.
9010
9011 2005-10-11  Edward Hervey  <edward@fluendo.com>
9012
9013         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
9014         * libs/gst/controller/gstcontroller.h:
9015         Added GList* version of _remove_properties() in order to be able to wrap
9016         it in bindings.
9017
9018 2005-10-11  Wim Taymans  <wim@fluendo.com>
9019
9020         * docs/design/part-states.txt:
9021         Some more docs.
9022
9023         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9024         (gst_bin_change_state_func), (bin_bus_handler):
9025         Doc updates. Don't distribute the same clock over and over again.
9026
9027         * gst/gstclock.c:
9028         * gst/gstclock.h:
9029         Doc updates.
9030
9031         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9032         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9033         (gst_pad_send_event):
9034         * gst/gstpad.h:
9035         Make probe emission threadsafe again.
9036         Register quarks and move _get_name() from utils.
9037         Doc updates.
9038
9039         * gst/gstpipeline.c: (gst_pipeline_class_init),
9040         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9041         Only redistribute the clock of it changed.
9042
9043         * gst/gstsystemclock.h:
9044         Doc updates. 
9045
9046         * gst/gstutils.c:
9047         * gst/gstutils.h:
9048         Moved the _flow_get_name() to GstPad.
9049
9050 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9051
9052         * check/gst-libs/gdp.c: (GST_START_TEST):
9053         * check/gst/gstcaps.c: (GST_START_TEST):
9054         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9055         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9056         (gst_dp_packet_from_caps):
9057           fix more valgrind warnings before turning up the heat
9058
9059 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9060
9061         * gst/parse/grammar.y:
9062           some cleanup before the hacking
9063
9064 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9065
9066         * gst/base/gstbasesrc.c: (gst_base_src_query):
9067           use conversions
9068         * gst/gstutils.c: (gst_guint64_to_gdouble),
9069         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9070         * gst/gstutils.h:
9071           externalize, basesrc uses it
9072           obviously the implementation needs testing
9073
9074 2005-10-10  Wim Taymans  <wim@fluendo.com>
9075
9076         * tests/sched/Makefile.am:
9077         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9078         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9079
9080 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9081
9082         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9083           apparently converting from guint64 to double is not implemented
9084           on MSVC
9085
9086 2005-10-10  Wim Taymans  <wim@fluendo.com>
9087
9088         * check/Makefile.am:
9089         * check/generic/states.c: (GST_START_TEST):
9090         * check/gst/gstbin.c: (GST_START_TEST):
9091         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9092         * check/states/sinks.c: (GST_START_TEST):
9093         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9094         (main):
9095         Check fixes, use API as stated in design docs, remove hacks.
9096
9097         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9098         (gst_base_sink_change_state):
9099         Catch stopping our task while we're shutting down.
9100
9101         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9102         (gst_bin_remove_func), (gst_bin_get_state_func),
9103         (gst_bin_recalc_state), (gst_bin_change_state_func),
9104         (bin_bus_handler):
9105         * gst/gstbin.h:
9106         * gst/gstelement.c: (gst_element_init),
9107         (gst_element_get_state_func), (gst_element_abort_state),
9108         (gst_element_commit_state), (gst_element_lost_state),
9109         (gst_element_set_state), (gst_element_change_state),
9110         (gst_element_change_state_func):
9111         * gst/gstelement.h:
9112         New state change algorithm (see #318116)
9113
9114         * gst/gstpipeline.c: (gst_pipeline_class_init),
9115         (gst_pipeline_init), (gst_pipeline_set_property),
9116         (gst_pipeline_get_property), (do_pipeline_seek),
9117         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9118         * gst/gstpipeline.h:
9119         Remove crude state change hacks.
9120
9121         * gst/gstutils.h:
9122         Remove crude hacks.
9123
9124         * tools/gst-launch.c: (main):
9125         Fixes for state change. Needs some more work to fully use the
9126         new stuff.
9127
9128 2005-10-10  Andy Wingo  <wingo@pobox.com>
9129
9130         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9131
9132         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9133         this flag, but it's not even in GLib 2.6. Odd. Hack around the
9134         issue.
9135
9136 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9137
9138         * gst/gstiterator.c: (gst_iterator_new):
9139           Fix my previous commit: GTypes passed to gst_iterator_new()
9140           can be fundamental types.
9141
9142 2005-10-10  Wim Taymans  <wim@fluendo.com>
9143
9144         * gst/gstelement.c: (gst_element_iterate_pad_list),
9145         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9146         (gst_element_iterate_sink_pads):
9147         Use src/sink pads lists for the respective iterators instead
9148         of filtering.
9149
9150 2005-10-10  Andy Wingo  <wingo@pobox.com>
9151
9152         Merged in popt removal + GOption addition patch from Ronald, bug
9153         #169772.
9154
9155         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9156         GstElement macros around, remove popt-related symbols, add goption
9157         stuff.
9158
9159         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9160         
9161         * docs/gst/Makefile.am:
9162         * docs/libs/Makefile.am: No POPT_CFLAGS.
9163         
9164         * examples/manual/Makefile.am:
9165         * docs/manual/basics-init.xml: Doc updates with an example.
9166         
9167         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9168         (gst_init), (parse_one_option), (parse_goption_arg):
9169         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9170         bit of hand merging and debugging to get the GOption stuff working
9171         tho.
9172         
9173         * tests/Makefile.am:
9174         * tools/Makefile.am:
9175         * tools/gst-inspect.c: (main):
9176         * tools/gst-launch.c: (main):
9177         * tools/gst-run.c: (main):
9178         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9179
9180 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9181
9182         * gst/gstiterator.c: (gst_iterator_new):
9183           Add assertions to make sure passed GType is likely to really
9184           be a GType (as the compiler won't catch it if the size and
9185           GType arguments get mixed up, see #318447).
9186
9187 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
9188
9189         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9190
9191         * gst/gstbin.c: (gst_bin_iterate_sorted):
9192           Pass GType and size arguments to gst_iterator_new() in the right
9193           order (maybe we should make _new() take the GType as first argument
9194           just like _new_list()?) (#318447).
9195           
9196
9197 2005-10-10  Wim Taymans  <wim@fluendo.com>
9198
9199         * gst/gstelement.c: (gst_element_finalize):
9200         And free the GStaticRecMutex too
9201
9202 2005-10-10  Andy Wingo  <wingo@pobox.com>
9203
9204         * gst/gstelement.c (gst_element_init, gst_element_finalize):
9205         Allocate and free the mutex properly.
9206
9207         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9208         New macros.
9209         (GstElement): The state_lock is now recursive. Rebuild your
9210         plugins, suckers. Old macros adapted.
9211
9212         * docs/gst/gstreamer-sections.txt: Doc updates.
9213
9214         * gst/gstutils.h:
9215         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
9216         (g_static_rec_cond_wait): Ported from state changes patch, while
9217         we wait on bug #317802 to be solved in a well-distributed GLib.
9218
9219         * gst/gstelement.c (gst_element_change_state_func): Renamed from
9220         gst_element_change_state, variable name changes.
9221         (gst_element_change_state): Split out of gst_element_set_state in
9222         preparation for the state change merge. Doesn't pay attention to
9223         the 'transition' argument.
9224         (gst_element_set_state): Updates, hopefully purely cosmetic.
9225         (gst_element_sync_state_with_parent): MT-safety. Ported from the
9226         state change patch.
9227         (gst_element_get_state_func): Renamed from get_state, cosmetic
9228         changes.
9229
9230 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9231
9232         * gst/elements/gstelements.c:
9233         * win32/GStreamer.vcproj:
9234         * win32/config.h:
9235         * win32/dirent.c: (_tseekdir):
9236         * win32/gst-inspect.vcproj:
9237         * win32/gst-launch.vcproj:
9238         * win32/gstconfig.h:
9239         * win32/gstelements.vcproj:
9240         * win32/gstenumtypes.c: (gst_object_flags_get_type):
9241         * win32/gstreamer.def:
9242         * win32/msvc71.sln:
9243           updates for the win32 build (patch from Sebastien Moutte)
9244
9245 2005-10-10  Andy Wingo  <wingo@pobox.com>
9246
9247         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9248         gst_bin_get_state, cleaned up (but no logic changes).
9249         (bin_element_is_sink): Comment updates.
9250         (sink_iterator_filter): Remove needless cast.
9251         (gst_bin_iterate_sinks): Doc update.
9252         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9253         cleaned up (but no logic changes).
9254
9255         * check/states/sinks.c (test_src_sink): Cleanups from the state
9256         change patch.
9257         (test_livesrc_sink): Sync on the state.
9258
9259         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9260         the state change patch.
9261
9262         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9263         change patch.
9264
9265         * check/gst/gstbin.c: Merge in some style fixes and additional
9266         checks from Wim's state change patch.
9267
9268 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9269
9270         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9271         (gst_type_find_helper):
9272           Check whether we have the requested data already in our list of
9273           cached buffers before pulling a new buffer; also make the buffer
9274           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9275
9276 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9277
9278         * gst/gstcaps.c:
9279         * gst/gstevent.c:
9280           doc updates
9281         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9282           don't use long long, it's not portable.  Replacing with
9283           gint64 seems to work; let's hope no skeletons fall out of the closet.
9284
9285 2005-10-10  Andy Wingo  <wingo@pobox.com>
9286
9287         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9288
9289 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
9290
9291         * docs/gst/gstreamer-sections.txt:
9292         * gst/gstevent.c:
9293         * gst/gstevent.h:
9294         * gst/gstinfo.c:
9295         * gst/gstinfo.h:
9296         * gst/gstmessage.c: (gst_message_parse_state_changed):
9297         * gst/gstpad.c:
9298         * gst/gstpad.h:
9299           more docs, fix compilation
9300
9301 2005-10-09  Philippe Khalaf <burger@speedy.org>
9302         * gst/gstmessage.c:
9303           Fixed a few forgotten variables on previous commit
9304
9305 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9306
9307         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9308           Fix evil typefind crasher: getrange() might return a short
9309           buffer at the end of a file, but gst_type_find_peek() must
9310           either return the full data as requested or NULL, but
9311           never a short buffer.
9312
9313 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9314
9315         * gst/gstmessage.c: (gst_message_new_state_changed),
9316         (gst_message_parse_state_changed):
9317         * gst/gstmessage.h:
9318           don't use "new", it's a C++ keyword
9319
9320 2005-10-08  Wim Taymans  <wim@fluendo.com>
9321
9322         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9323         * gst/gstelement.c: (gst_element_post_message):
9324         * gst/gstpipeline.c: (gst_pipeline_change_state):
9325         Small docs and debug updates.
9326
9327 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9328
9329         * docs/gst/gstreamer-sections.txt:
9330         * gst/gstelementfactory.c:
9331         * gst/gstevent.c:
9332         * gst/gsttaglist.c:
9333           more docs
9334
9335 2005-10-08  Wim Taymans  <wim@fluendo.com>
9336
9337         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9338         (gst_bin_dispose), (bin_bus_handler):
9339         Fix typos, add comments.
9340         Clear EOS list when going to PAUSED from any direction and do it
9341         in a threadsafe way.
9342         Get base time in a threadsafe way too.
9343         Fix confusing debug in the change_state function.
9344         Various other small cleanups.
9345         
9346         * gst/gstelement.c: (gst_element_post_message):
9347         Fix very verbose bus posting code.
9348
9349         * gst/gstpipeline.c: (gst_pipeline_class_init),
9350         (gst_pipeline_set_property), (gst_pipeline_get_property),
9351         (gst_pipeline_change_state):
9352         Small ARG_ -> PROP_ cleanup
9353
9354 2005-10-08  Wim Taymans  <wim@fluendo.com>
9355
9356         * gst/gstbin.c: (is_eos), (bin_bus_handler):
9357         Do a less CPU demanding EOS check because we can.
9358
9359 2005-10-08  Wim Taymans  <wim@fluendo.com>
9360
9361         * libs/gst/dataprotocol/dataprotocol.c:
9362         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9363         (gst_dp_packet_from_event):
9364         * libs/gst/dataprotocol/dataprotocol.h:
9365         * libs/gst/dataprotocol/dp-private.h:
9366         It's about time we bump the version number.
9367         Since event types don't fit in the guint8 anymore describing
9368         the payload type, make payload type 16 bits wide.
9369
9370 2005-10-08  Wim Taymans  <wim@fluendo.com>
9371
9372         * docs/design/part-TODO.txt:
9373         * docs/design/part-clocks.txt:
9374         * docs/design/part-events.txt:
9375         * docs/design/part-gstbin.txt:
9376         * docs/design/part-gstelement.txt:
9377         * docs/design/part-gstpipeline.txt:
9378         * docs/design/part-live-source.txt:
9379         * docs/design/part-messages.txt:
9380         * docs/design/part-overview.txt:
9381         * docs/design/part-states.txt:
9382         Many doc updates.
9383
9384 2005-10-08  Wim Taymans  <wim@fluendo.com>
9385
9386         * gst/gstevent.c:
9387         * gst/gstevent.h:
9388         Fix event quark registration.
9389         Add some space between events so we can insert them in the
9390         right groups.
9391
9392 2005-10-08  Wim Taymans  <wim@fluendo.com>
9393
9394         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9395         (gst_base_sink_handle_buffer):
9396         Better log message.
9397
9398         * gst/gstbus.h:
9399         * gst/gstelement.h:
9400         More docs.
9401
9402         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9403         (gst_queue_set_property), (gst_queue_get_property):
9404         * gst/gstqueue.h:
9405         Remove old unused properties.
9406
9407 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9408         * docs/gst/gstreamer-sections.txt:
9409         * gst/gstmessage.c:
9410         * gst/gstmessage.h:
9411         * gst/gstminiobject.c:
9412         * gst/gstminiobject.h:
9413         * gst/gstobject.h:
9414         * gst/gstpad.h:
9415         * gst/gstutils.h:
9416           lots of new docs and doc fixes
9417
9418 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9419
9420         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9421         * gst/gstplugin.h:
9422         * gst/gstregistry.c: (gst_registry_lookup_locked),
9423         (gst_registry_scan_path_level):
9424         * gst/gstregistryxml.c: (load_plugin):
9425           Only ever load one plugin for a given plugin basename.
9426           This ensures correct overriding of GST_PLUGIN_PATH over
9427           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9428           system installed plugins.
9429
9430 2005-10-08  Wim Taymans  <wim@fluendo.com>
9431
9432         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9433         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9434         Prepare for doing QOS.
9435
9436 2005-10-08  Wim Taymans  <wim@fluendo.com>
9437
9438         * check/gst/gstbin.c: (GST_START_TEST):
9439         * check/pipelines/cleanup.c: (GST_START_TEST):
9440         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9441         Allow new clock message too.
9442
9443 2005-10-08  Wim Taymans  <wim@fluendo.com>
9444
9445         * gst/gstmessage.c: (gst_message_new_error),
9446         (gst_message_new_warning), (gst_message_new_tag),
9447         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9448         (gst_message_new_clock_lost), (gst_message_new_new_clock),
9449         (gst_message_new_segment_start), (gst_message_new_segment_done),
9450         (gst_message_parse_state_changed),
9451         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9452         (gst_message_parse_new_clock):
9453         * gst/gstmessage.h:
9454         Also carry the clock in question.
9455
9456 2005-10-08  Wim Taymans  <wim@fluendo.com>
9457
9458         * gst/gstmessage.c: (gst_message_new_custom),
9459         (gst_message_new_eos), (gst_message_new_error),
9460         (gst_message_new_warning), (gst_message_new_tag),
9461         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9462         (gst_message_new_new_clock), (gst_message_new_segment_start),
9463         (gst_message_new_segment_done), (gst_message_parse_state_changed),
9464         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9465         * gst/gstmessage.h:
9466         Clean up.
9467         Added clock related messages.
9468
9469         * gst/gstpipeline.c: (gst_pipeline_change_state):
9470         Post message when the clock changed.
9471
9472         * tools/gst-launch.c: (event_loop):
9473         Print new clock.
9474
9475 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9476
9477         * tools/gst-inspect.c: (print_element_properties_info):
9478           Can't pass NULL strings to g_print() on windows.
9479
9480 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9481
9482         * docs/Makefile.am:
9483         * docs/gst/Makefile.am:
9484         * docs/gst/gstreamer-docs.sgml:
9485         * docs/gst/running.xml:
9486         * docs/version.entities.in:
9487           add a chapter on running GStreamer.
9488           document GST_DEBUG and GST_PLUGIN* env vars
9489
9490 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9491
9492         * Makefile.am:
9493           remove include dir
9494         * configure.ac:
9495           remove PLUGINS_BUILDDIR stuff
9496         * gst/gst.c: (init_post):
9497           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9498         * idiottest.mak:
9499           remove, it was condescending and not needed
9500
9501 2005-10-08  Wim Taymans  <wim@fluendo.com>
9502
9503         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9504         (gst_base_sink_handle_object), (gst_base_sink_event),
9505         (gst_base_sink_wait), (gst_base_sink_handle_event),
9506         (gst_base_sink_change_state):
9507         * gst/base/gstbasesink.h:
9508         Repost EOS message while going to PLAYING if still EOS.
9509         Make sure that when receiving a FLUSH_START we don't attempt
9510         to sync on the clock anymore.
9511
9512 2005-10-08  Wim Taymans  <wim@fluendo.com>
9513
9514         * tools/gst-launch.c: (event_loop):
9515         Better message printout.
9516
9517 2005-10-08  Wim Taymans  <wim@fluendo.com>
9518
9519         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
9520         (gst_bin_child_proxy_get_children_count):
9521         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9522         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
9523         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
9524         (gst_child_proxy_set_valist):
9525         * gst/parse/grammar.y:
9526         Make ChildProxy threadsafe and fix mem leaks.
9527
9528 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9529
9530         * gst/gst.c: (init_post):
9531           debug the GST_PLUGIN_ env vars
9532
9533 2005-10-08  Wim Taymans  <wim@fluendo.com>
9534
9535         * check/gst/gstbin.c: (GST_START_TEST):
9536         * check/gst/gstmessage.c: (GST_START_TEST):
9537         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9538         * gst/gstelement.c: (gst_element_commit_state),
9539         (gst_element_lost_state):
9540         * gst/gstmessage.c: (gst_message_new_state_changed),
9541         (gst_message_parse_state_changed):
9542         * gst/gstmessage.h:
9543         * tools/gst-launch.c: (event_loop):
9544         Added extra field to STATE_CHANGE message with the pending
9545         state, which will be different from the new state soon.
9546
9547 2005-10-08  Wim Taymans  <wim@fluendo.com>
9548
9549         * gst/gstbus.c: (gst_bus_pop):
9550         * gst/gstclock.c:
9551         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9552         Small cleanups and doc updates.
9553
9554 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9555
9556         * gst/gst.c: (init_pre):
9557         * gst/gstbin.c: (gst_bin_add_func):
9558           log distributing clocks and base time
9559         * gst/gstregistry.c: (gst_registry_add_plugin),
9560         (gst_registry_scan_path_level), (gst_registry_scan_path):
9561           clean up the debugging output a little
9562         * gst/gstutils.c: (gst_element_state_get_name):
9563           warn about a memleak (I've actually seen this be used, though
9564           it was probably a bug)
9565
9566 2005-10-07  Wim Taymans  <wim@fluendo.com>
9567
9568         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9569         (gst_base_src_init), (gst_base_src_default_newsegment),
9570         (gst_base_src_newsegment), (gst_base_src_do_seek),
9571         (gst_base_src_loop), (gst_base_src_start):
9572         * gst/base/gstbasesrc.h:
9573         Make the newsegment event customizable by subclasses.
9574
9575 2005-10-07  Wim Taymans  <wim@fluendo.com>
9576
9577         * gst/gstevent.c: (gst_event_new_buffersize),
9578         (gst_event_parse_buffersize):
9579         * gst/gstevent.h:
9580         New event for future idea.
9581
9582 2005-10-07  Andy Wingo  <wingo@pobox.com>
9583
9584         * gst/gstelement.c (gst_element_post_message): Doc update.
9585
9586         * docs/gst/gstreamer-sections.txt: Update.
9587
9588         * gst/gstmessage.c (gst_message_new_application): Made into a
9589         function like honest API calls.
9590         (gst_message_new_element): New message type.
9591
9592         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
9593
9594         * check/elements/fakesrc.c (test_no_preroll): New check, checks
9595         that setting a live fakesrc to PAUSED returns NO_PREROLL both
9596         times.
9597
9598         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
9599         NO_PREROLL from gst_element_change_state to fall through.
9600
9601 2005-10-07  Wim Taymans  <wim@fluendo.com>
9602
9603         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
9604         (gst_ghost_pad_do_activate_push):
9605         Activating a ghostpad with no internal pad in push mode
9606         is ok.
9607
9608 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9609
9610         * gst/gstobject.h:
9611           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
9612           Fixes compilation on Windows.
9613
9614 2005-10-07  Michael Smith <msmith@fluendo.com>
9615
9616         * tools/gst-inspect.c:
9617           Print out feature and plugin count at the end when printing out
9618           all features.
9619
9620 2005-10-04  Michael Smith <msmith@fluendo.com>
9621
9622         * gst/gsterror.c: (_gst_stream_errors_init):
9623           Add another error string used in a few existing plugins.
9624
9625         * gst/gstplugin.c:
9626         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9627         * tools/gst-inspect.c: (print_element_info):
9628           When a feature disappears from a plugin (and the feature exists in
9629           the cached registry file), things went horribly wrong. This isn't a
9630           complete fix, we should actually be removing the 'missing' features
9631           from the features list when we load the actual plugin. That's not
9632           yet implemented. 
9633
9634 2005-10-04  Johan Dahlin  <johan@gnome.org>
9635
9636         * check/gst/gstiterator.c: (GST_START_TEST):
9637         * gst/gstbin.c: (gst_bin_iterate_elements),
9638         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
9639         * gst/gstelement.c: (gst_element_iterate_pads):
9640         * gst/gstformat.c: (gst_format_iterate_definitions):
9641         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9642         (gst_iterator_new_list), (gst_iterator_filter):
9643         * gst/gstiterator.h:
9644         * gst/gstquery.c: (gst_query_type_iterate_definitions):
9645         Add a GType to GstIterator, update callsites and tests.
9646
9647 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9648
9649         * gst/gstpad.c: (gst_pad_event_default_dispatch):
9650           give events a chance to be handled by event probes when the pad
9651           is not linked
9652
9653 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9654
9655         * gst/gstevent.c: (gst_event_type_get_name),
9656         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
9657         * gst/gstevent.h:
9658           add string representations for event types
9659
9660 2005-10-06  Wim Taymans  <wim@fluendo.com>
9661
9662         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
9663         Don't use NULL pointers.
9664
9665 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9666
9667         * gst/gst_private.h:
9668         * gst/gstbus.c:
9669         * gst/gstelement.c:
9670         * gst/gstinfo.c:
9671         * gst/gstpluginfeature.c:
9672           widen the debug category in output to fit the biggest one we have
9673           add a bus category and use it
9674           play with the colors
9675           fix up some categories
9676
9677 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9678
9679         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
9680           add push activation of sink ghost pads.
9681           Andye, please verify
9682
9683 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9684
9685         * gst/gstutils.c: (gst_element_link_pads):
9686           fix a bug in the case where neither element has a pad
9687         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9688           add a test for that case
9689
9690 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9691
9692         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
9693           emit have-data before checking for peers.  This allows
9694           for probe handlers to connect elements.  This helps autopluggers.
9695         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
9696         (gst_pad_suite):
9697           add six checks, linked/unlinked with no/true/false probe
9698
9699 2005-10-04  Wim Taymans  <wim@fluendo.com>
9700
9701         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
9702         (gst_fake_sink_event), (gst_fake_sink_preroll),
9703         (gst_fake_sink_render), (gst_fake_sink_change_state):
9704         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
9705         (gst_fake_src_get_property), (gst_fake_src_create),
9706         (gst_fake_src_stop):
9707         * gst/elements/gstidentity.c: (gst_identity_stop):
9708         Protect last_message with lock.
9709
9710 2005-10-04  Edward Hervey  <edward@fluendo.com>
9711
9712         * gst/gstformat.h: 
9713         Added precision in the comments for GST_FORMAT_DEFAULT
9714
9715 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
9716
9717         * tools/gst-launch.c: (main):
9718           Don't try to run erroneous pipelines.
9719
9720 2005-10-04  Julien MOUTTE  <julien@moutte.net>
9721
9722         * gst/gstbus.c: We don't need this header.
9723
9724 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9725
9726         * configure.ac:
9727           back to development
9728
9729 === release 0.9.3 ===
9730
9731 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9732
9733         * README:
9734         * configure.ac:
9735           Releasing 0.9.3, "Unregistered"
9736
9737 2005-10-03  Andy Wingo  <wingo@pobox.com>
9738
9739         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
9740         whereby calling a pad's activatepush() function can start a thread
9741         that starts to push or pull before the pad gets the FLUSHING flag
9742         unset. Hack around it by holding the stream lock until the flag is
9743         set. Need to replace this with a proper solution. Together with
9744         the ghost pad fixes, this fixes mp3 playing/tagreading.
9745
9746         * docs/design/part-gstghostpad.txt: Add a note about activation of
9747         proxy pads outside of ghost pads.
9748
9749         * gst/gstghostpad.c: Implement the ghost pad activation design.
9750
9751 2005-10-02  Andy Wingo  <wingo@pobox.com>
9752
9753         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
9754         It is volatile, after all.
9755
9756         * docs/design/part-gstghostpad.txt: Flesh out activation with
9757         ghost pads.
9758
9759         * gst/base/gstbasesrc.c (gst_base_src_init): Use
9760         GST_DEBUG_FUNCPTR.
9761
9762 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9763
9764         * configure.ac:
9765           Fix (unused) AM_CONDITIONAL tests.
9766
9767 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
9768
9769         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9770
9771         * gst/gstutils.c: (gst_pad_query_convert):
9772           Add assertion that makes sure src_val is >=0, just like
9773           gst_query_new_convert() has. (#315895)
9774
9775 2005-09-30  Edward Hervey  <edward@fluendo.com>
9776
9777         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
9778         Let's not iterate pads we're not interested in, it avoids getting 
9779         sky-high refcounts on sinkpad.
9780
9781 2005-09-30  Wim Taymans  <wim@fluendo.com>
9782
9783         * gst/gstelement.c: (gst_element_set_state),
9784         (gst_element_change_state):
9785         Small tweak, element in ASYNC remains ASYNC.
9786
9787 2005-09-30  Wim Taymans  <wim@fluendo.com>
9788
9789         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9790         Only error is an error.
9791
9792         * gst/gstbin.c: (gst_bin_change_state):
9793         Better debugging.
9794
9795         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
9796         Also call pad_block in pad alloc.
9797
9798         * gst/gstutils.c: (gst_flow_get_name):
9799         Better debugging.
9800
9801 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9802
9803         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9804         (gst_base_src_get_range):
9805           Fix documentation typos. Add some more debug info.
9806
9807 2005-09-29  David Schleef  <ds@schleef.org>
9808
9809         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
9810           more end-user friendly.
9811         * tools/gst-inspect.c: (main): Check if command-line argument is
9812           a file and attempt to load that file as a plugin.
9813
9814 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9815
9816         * check/gst/gstbin.c:
9817         * check/states/sinks.c:
9818           fix tests for the new warning
9819         * check/gst/gstpipeline.c:
9820           add a test for pipeline and bus interaction
9821         * gst/gstelement.c:
9822           elements should be NULL if they get disposed; add a warning if not
9823
9824 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9825
9826         * gst/gstobject.c:
9827           for 2.6 refcounting, make debug log more correct by printing
9828           the actual refcounts at the time of swap (Wim)
9829
9830 2005-09-29  Andy Wingo  <wingo@pobox.com>
9831
9832         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
9833         removes signal watches previously added via
9834         gst_bus_add_signal_watch.
9835         (gst_bus_add_signal_watch): Don't return the source id, just store
9836         it on the bus if there wasn't an id already.
9837
9838         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
9839         add_signal_watch and remove_signal_watch.
9840
9841 2005-09-29  Edward Hervey  <edward@fluendo.com>
9842
9843         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
9844         Better if we actually iterate the list :)
9845
9846 2005-09-29  Wim Taymans  <wim@fluendo.com>
9847
9848         * check/gst/gstbin.c: (GST_START_TEST):
9849         Change for new bus API.
9850
9851         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9852         (send_messages), (GST_START_TEST), (gstbus_suite):
9853         Change for new bus signal API.
9854
9855         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
9856         (gst_bus_source_prepare), (gst_bus_source_check),
9857         (gst_bus_create_watch), (gst_bus_add_watch_full),
9858         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
9859         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
9860         * gst/gstbus.h:
9861         Remove support for multiple GSources operating on different
9862         message types as it is too complex and unneeded when using
9863         signals.
9864         Added support for receiving signals from the bus.
9865
9866 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9867
9868         * docs/libs/tmpl/gstdataprotocol.sgml:
9869         * docs/manual/advanced-dataaccess.xml:
9870         * gst/elements/gstcapsfilter.c:
9871         * gst/gstutils.c:
9872           rename filter-caps to caps property
9873
9874 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9875
9876         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9877           More robust fraction string parsing.
9878
9879         * docs/pwg/appendix-porting.xml:
9880           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
9881
9882 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9883
9884         * gst/gstcaps.c: (gst_caps_do_simplify):
9885           Thou shalt not free a structure and then continue using it
9886           in the next loop iteration.
9887
9888         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
9889         (gst_caps_suite):
9890           Add test case for caps simplification.
9891
9892 2005-09-29  Wim Taymans  <wim@fluendo.com>
9893
9894         * check/gst/gstbin.c: (GST_START_TEST):
9895         Oops.
9896
9897 2005-09-29  Wim Taymans  <wim@fluendo.com>
9898
9899         * check/gst/gstbin.c: (GST_START_TEST):
9900         Add bus to bin.
9901
9902         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9903         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9904         (find_element), (gst_bin_sort_iterator_next),
9905         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9906         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9907         (gst_bin_change_state), (gst_bin_dispose):
9908         A bin does not have a bus, it gets the bus from the parent.
9909
9910         * gst/gstelement.c: (gst_element_requires_clock),
9911         (gst_element_provides_clock), (gst_element_is_indexable),
9912         (gst_element_is_locked_state), (gst_element_change_state),
9913         (gst_element_set_bus_func):
9914         Small cleanups.
9915
9916         * gst/gstpipeline.c: (gst_pipeline_class_init),
9917         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
9918         The pipeline provides a bus.
9919
9920 2005-09-28  Johan Dahlin  <johan@gnome.org>
9921
9922         * gst/gstmessage.c (gst_message_parse_state_changed): Use
9923         gst_structure_get_enum instead of gst_structure_get_int
9924
9925         * gst/gststructure.c (gst_structure_get_enum): Impl.
9926
9927         * gst/gststructure.h (gst_structure_get_enum): Add
9928
9929         * docs/gst/gstreamer-sections.txt: Ditto
9930
9931         * gst/gstmessage.c (gst_message_new_state_changed): Use
9932         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
9933         which does introspection.
9934         Reviewed by Christian Schaller
9935
9936 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9937
9938         * gst/gstinfo.c: (gst_debug_log_default):
9939           don't do dummy g_strdup()s
9940         * libs/gst/controller/gstcontroller.c:
9941         (on_object_controlled_property_changed),
9942         (gst_controlled_property_new), (gst_controller_new_valist),
9943         (gst_controller_new_list),
9944         (gst_controller_remove_properties_valist), (gst_controller_set),
9945         (gst_controller_get), (gst_controller_sync_values),
9946         (gst_controller_get_value_array), (_gst_controller_class_init),
9947         (gst_controller_get_type):
9948         * libs/gst/controller/gstcontroller.h:
9949         * libs/gst/controller/gstinterpolation.c:
9950         (gst_controlled_property_find_timed_value_node):
9951           convert // to /**/ comments
9952
9953 2005-09-28  Wim Taymans  <wim@fluendo.com>
9954
9955         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
9956         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
9957         (gst_bus_sync_signal_handler):
9958         * gst/gstbus.h:
9959         Added async-message and sync-message signals to the bus.
9960         Added helper BusFunc to emit signals for all posted messages.
9961
9962         * gst/gstmessage.c: (gst_message_type_get_name),
9963         (gst_message_type_to_quark), (gst_message_get_type):
9964         * gst/gstmessage.h:
9965         Register quarks for message names.
9966
9967 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9968
9969         * docs/libs/gstreamer-libs-sections.txt:
9970         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
9971         (gst_controller_new_list):
9972         * libs/gst/controller/gstcontroller.h:
9973           added another constructor for language bindings
9974
9975 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
9976
9977         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9978           add another check
9979         * gst/gstbus.c:
9980           add some doc
9981         * gst/gstinfo.c: (_gst_debug_init):
9982           slightly more readable color for refcount debugging
9983
9984 2005-09-28  Wim Taymans  <wim@fluendo.com>
9985
9986         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
9987         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9988         (find_element), (gst_bin_sort_iterator_next),
9989         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9990         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9991         (gst_bin_change_state), (gst_bin_dispose):
9992         Small doc fixes. get_clock -> provide_clock.
9993
9994         * gst/gstelement.c: (gst_element_class_init),
9995         (gst_element_provides_clock), (gst_element_provide_clock),
9996         (gst_element_get_clock), (gst_element_commit_state),
9997         (gst_element_lost_state):
9998         * gst/gstelement.h:
9999         Make get/set_clock() symetric. Add provide_clock vmethod since
10000         that is actually what this function does.
10001
10002         * gst/gstpipeline.c: (gst_pipeline_class_init),
10003         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10004         (gst_pipeline_get_clock):
10005         get_clock -> provide_clock.
10006
10007 2005-09-28  Andy Wingo  <wingo@pobox.com>
10008
10009         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10010         lieu of real docs...
10011
10012         * gst/elements/gstfdsrc.c: Cleaned up a bit.
10013
10014 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
10015
10016         * gst/elements/gstcapsfilter.c:
10017         * gst/elements/gstfakesink.c:
10018         * gst/elements/gstfakesrc.c:
10019         * gst/elements/gstfdsink.c:
10020         * gst/elements/gstfdsrc.c:
10021         * gst/elements/gstfilesink.c:
10022         * gst/elements/gstfilesrc.c:
10023         * gst/elements/gstidentity.c:
10024         * gst/elements/gsttee.c:
10025         * gst/elements/gsttypefindelement.c:
10026           Make element details static.
10027
10028 2005-09-28  Wim Taymans  <wim@fluendo.com>
10029
10030         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10031         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10032         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10033         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10034         (gst_bin_change_state), (gst_bin_dispose):
10035         Some documentation updates.
10036         Clean up dispose handlers.
10037
10038         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10039         * gst/gstpad.c: (gst_pad_dispose):
10040         Clean up dispose handler.
10041
10042         * gst/gstpipeline.c: (gst_pipeline_change_state):
10043         Removed spurious UNLOCK.
10044
10045 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
10046
10047         * docs/gst/gstreamer-sections.txt:
10048         * gst/base/gstbasesrc.h:
10049         * gst/gstelement.h:
10050         * gst/gstevent.h:
10051         * gst/gstobject.h:
10052         * gst/gstpad.h:
10053         * gst/gstpipeline.c:
10054         * gst/gstpipeline.h:
10055         * gst/gstutils.h:
10056         * gst/gstxml.h:
10057           added two new functions to the docs
10058                 documents all undocumented GstXXXFlags
10059                 completed some incomplete docs 
10060
10061 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10062
10063         * gst/gstbin.c: (gst_bin_dispose):
10064         * gst/gstelement.c: (gst_element_dispose):
10065           remove now useless and leaky resurrection code in dispose
10066         * gst/base/gstbasesrc.c: (gst_base_src_init):
10067         * gst/gstelementfactory.c: (gst_element_factory_create):
10068         * gst/gstobject.c: (gst_object_set_parent):
10069           add some debugging
10070
10071 2005-09-27  Wim Taymans  <wim@fluendo.com>
10072
10073         * docs/design/part-TODO.txt:
10074         Update TODO.
10075
10076         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10077         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10078         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10079         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10080         (gst_bin_change_state):
10081         * gst/gstelement.h:
10082         Remove element variable, we keep element info in the iterator now.
10083
10084 2005-09-27  Andy Wingo  <wingo@pobox.com>
10085
10086         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10087         values.
10088
10089 2005-09-27  Wim Taymans  <wim@fluendo.com>
10090
10091         * check/gst/gstbin.c: (GST_START_TEST):
10092         Enable check that works now.
10093
10094         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10095         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10096         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10097         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10098         (gst_bin_change_state):
10099         * gst/gstbin.h:
10100         Redid the state change algorithm using a topological sort algo.
10101         Handles all cases correctly.
10102         Exposed iterator for state change order.
10103
10104         * gst/gstelement.h:
10105         Temp storage for state changes. Need to get rid of this soon.
10106
10107 2005-09-27  Wim Taymans  <wim@fluendo.com>
10108
10109         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10110         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10111         (link_fold_func), (gst_pad_proxy_setcaps):
10112         Leak fixes, the fold functions need to unref the passed object and
10113         _get_parent_*() returns ref to parent.
10114
10115 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10116
10117         * check/gst/gstbuffer.c: (test_make_writable):
10118           Plug leak in test case and fix 'make check-valgrind'
10119
10120 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10121
10122         * gst/gstbuffer.c: (gst_subbuffer_init):
10123           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10124           works correctly in all circumstances (we could have just copied
10125           the parent buffer's readonly flag, but conceptually it seems
10126           cleaner to mark all subbuffers as read-only). (based on patch
10127           by Alessandro Decina, #314710).
10128         
10129         * check/gst/gstbuffer.c: (create_read_only_buffer),
10130         (test_make_writable), (test_subbuffer_make_writable),
10131         (gst_test_suite):
10132           Add some tests for gst_buffer_make_writable().
10133
10134 2005-09-27  Wim Taymans  <wim@fluendo.com>
10135
10136         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10137         use gst_object_has_ancestor().
10138
10139         * gst/gstobject.c: (gst_object_has_ancestor):
10140         * gst/gstobject.h:
10141         gst_object_has_ancestor() copied from gstbin.c as it is a
10142         usefull function.
10143
10144         * tests/instantiate/create.c: (create_all_elements):
10145         * tests/lat.c: (handoff_src), (handoff_sink):
10146         * tests/sched/runxml.c: (main):
10147         * tests/seeking/seeking1.c: (main):
10148         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10149         (main):
10150         Fix compilation of some tests.
10151
10152 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10153
10154         * gst/gsterror.h:
10155           Remove comment. GST_TYPE_G_ERROR is here to stay,
10156           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10157           (#316961, #300610).
10158
10159 2005-09-26  Wim Taymans  <wim@fluendo.com>
10160
10161         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10162         Added check that shows error in state change order.
10163
10164 2005-09-26  Wim Taymans  <wim@fluendo.com>
10165
10166         * gst/gstbin.c: (gst_bin_change_state):
10167         Make state change function use 3 queues again, we were
10168         adding elements in the wrong order.
10169
10170         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10171         Some debug info,
10172
10173         * gst/gstpad.c: (gst_pad_dispose):
10174         Added some debug info first.
10175
10176 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
10177
10178         * docs/design/draft-push-pull.txt:
10179         * docs/design/part-events.txt:
10180         * docs/design/part-overview.txt:
10181         * docs/design/part-scheduling.txt:
10182           Replace all _pull_region() with _pull_range()
10183           
10184 2005-09-26  Andy Wingo  <wingo@pobox.com>
10185
10186         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10187
10188         * check/gst-libs/controller.c: Update for controller api change.
10189
10190         * configure.ac: 
10191         * tests/Makefile.am:
10192         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10193         over by GLib bug 118439.
10194         
10195         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10196         routines to a function.
10197
10198         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10199
10200         * libs/gst/controller/gsthelper.c:
10201         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10202         (gst_object_sync_values): Renamed from sink_values. Ugh.
10203
10204         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10205
10206         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10207         Renamed from controller_key, as it is exported.
10208
10209         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10210
10211 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10212
10213         * gst/Makefile.am:
10214         * gst/gst.h:
10215         * gst/gstpad.h:
10216         * gst/gstpadtemplate.h:
10217         * gst/gstquery.c:
10218         * gst/gstquery.h:
10219         * gst/gstqueryutils.c:
10220         * gst/gstqueryutils.h:
10221           remove queryutils headers after moving the two used functions
10222           to gstquery.  also fixes build problem for gstsiddec
10223
10224 2005-09-26  Michael Smith <msmith@fluendo.com>
10225
10226         * tools/gst-launch.1.in:
10227         Correct documentation in manpage of debug syntax
10228
10229 2005-09-26  Wim Taymans  <wim@fluendo.com>
10230
10231         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10232         (gst_base_src_is_seekable), (gst_base_src_change_state):
10233         Some more debugging info.
10234
10235 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10236
10237         * docs/gst/gstreamer-sections.txt:
10238         * gst/base/gstbasetransform.h:
10239         * gst/gstindex.h:
10240           added more docs
10241
10242 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10243
10244         * docs/gst/.cvsignore:
10245         * docs/gst/tmpl/.cvsignore:
10246         * docs/gst/tmpl/gstpipeline.sgml:
10247         * docs/gst/tmpl/gstplugin.sgml:
10248         * gst/gstpipeline.c:
10249         * gst/gstplugin.c:
10250         * gst/gstplugin.h:
10251           inlined the last two docs files
10252           removed the tmpl directory from cvs (no more conflicts here!)
10253
10254 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10255
10256         * docs/gst/gstreamer-sections.txt:
10257         * docs/gst/tmpl/.cvsignore:
10258         * docs/gst/tmpl/gstpad.sgml:
10259         * docs/gst/tmpl/gstpadtemplate.sgml:
10260         * gst/Makefile.am:
10261         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10262         (gst_pad_finalize), (gst_pad_set_pad_template):
10263         * gst/gstpad.h:
10264         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10265         (gst_pad_template_class_init), (gst_pad_template_init),
10266         (gst_pad_template_dispose), (name_is_valid),
10267         (gst_static_pad_template_get), (gst_pad_template_new),
10268         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10269         (gst_pad_template_pad_created):
10270         * gst/gstpadtemplate.h:
10271           inlined two more docs
10272           factored gstpadtemplate out of gstpad
10273
10274 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
10275
10276         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10277         (test_children_state_change_order_semi_sink):
10278           Fix test case: we can't rely on a fixed state change order when
10279           going from READY => PAUSED because the sink might commit its 
10280           new state first when the first buffer created by the source 
10281           reaches the sink before the source has finished its change state.
10282           (Test case still fails at times, see #316856, comment 5 onwards)
10283
10284 2005-09-24  Wim Taymans  <wim@fluendo.com>
10285
10286         * docs/design/part-events.txt:
10287         * docs/design/part-gstbus.txt:
10288         * docs/design/part-gstpipeline.txt:
10289         * docs/design/part-messages.txt:
10290         * docs/design/part-overview.txt:
10291         * docs/design/part-segments.txt:
10292         * gst/gstbin.c:
10293         * gst/gstbuffer.c:
10294         * gst/gstclock.c:
10295         * gst/gstelement.c:
10296         * gst/gstevent.c:
10297         * gst/gstfilter.c:
10298         * gst/gstiterator.c:
10299         Various documentation updates.
10300
10301 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10302
10303         * gst/gstclock.h:
10304           Well, that's embarassing.  Luckily we weren't using
10305           GST_CLOCK_DIFF anywhere.
10306
10307 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10308
10309         * common/gtk-doc.mak:
10310           don't fail on building XML, FC4 slave shows a bunch of doc
10311           missing bits that I don't get
10312         * gst/gstpad.c:
10313         * gst/gstpipeline.c:
10314         * gst/gststructure.c:
10315           some doc updates
10316
10317 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10318
10319         * docs/design/part-gstbin.txt:
10320         * docs/design/part-gstbus.txt:
10321         * gst/gstbus.c:
10322           Add blurb about how the bus goes into flushing mode and
10323           drops all messages when its bin goes from READY into NULL 
10324           state.
10325
10326 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10327
10328         * docs/gst/gstreamer-sections.txt:
10329         * gst/gststructure.c: (gst_structure_get_clock_time):
10330         * gst/gststructure.h:
10331           add a method to get a GstClockTime out of a structure
10332
10333 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10334
10335         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10336         (test_children_state_change_order_semi_sink), (gst_bin_suite):
10337           Added test to check state change order in bins (can still be made
10338           to fail here under heavy disk load; bails out with 'Push on pad
10339           fakesink:sink0, but it was not activated in push mode').
10340
10341         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10342           Fix state change order when there is only a semi sink (#316856)
10343
10344         * gst/gstbus.c: (gst_bus_class_init):
10345           Use _class_peek_parent(), not _class_ref(); fix docs to say
10346           'default main context' instead of 'mainloop' where that is
10347           what's meant.
10348
10349         * gst/gstelement.c: (gst_element_commit_state),
10350         (gst_element_set_state):
10351           Fix typos in debug messages
10352
10353 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10354
10355         * docs/README:
10356         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10357         * gst/gstpluginfeature.c:
10358         * gst/gstutils.c:
10359           various doc updates
10360         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10361           change an assert into an error until it gets fixed properly
10362
10363 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10364
10365         * docs/gst/gstreamer-sections.txt:
10366         * docs/gst/tmpl/.cvsignore:
10367         * docs/gst/tmpl/gstelement.sgml:
10368         * docs/gst/tmpl/gstinfo.sgml:
10369         * docs/gst/tmpl/gstobject.sgml:
10370         * gst/gstelement.c:
10371         * gst/gstelement.h:
10372         * gst/gstinfo.c:
10373         * gst/gstinfo.h:
10374         * gst/gstobject.c: (gst_object_class_init):
10375         * gst/gstobject.h:
10376           inlined 3 more biiiig doc files and added some missing docs on the fly
10377
10378 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10379
10380         * check/gst/.cvsignore:
10381         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10382         * gst/gstregistryxml.c: (load_plugin),
10383         (gst_registry_xml_save_plugin):
10384           put back source in registry.  add checks for find_plugin.
10385         * testsuite/states/bin.c: (assert_state), (empty_bin),
10386         (test_adding_one_element), (main):
10387         * testsuite/states/locked.c: (main):
10388           some compile/run fixes
10389
10390 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10391
10392         * check/gst/gstvalue.c: (GST_START_TEST):
10393           fix leaks in the test itself
10394
10395 2005-09-22  Wim Taymans  <wim@fluendo.com>
10396
10397         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10398         (gst_base_sink_send_event), (gst_base_sink_peer_query),
10399         (gst_base_sink_query):
10400         Prepare for more accurate position reporting and query
10401         handling.
10402
10403         * gst/gstelement.c: (gst_element_send_event),
10404         (gst_element_set_state):
10405         Add some comment.
10406
10407 2005-09-22  Wim Taymans  <wim@fluendo.com>
10408
10409         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10410         (gst_query_parse_segment):
10411         * gst/gstquery.h:
10412         More documentation.
10413         Add segment query for future use.
10414
10415 2005-09-22  Wim Taymans  <wim@fluendo.com>
10416
10417         * gst/gstbin.c: (gst_bin_add_func):
10418         Some more debug info.
10419
10420         * gst/gstelement.c: (gst_element_send_event):
10421         Simplify send_event
10422
10423         * gst/gstelement.h:
10424         Don't know how flags got broken.
10425
10426         * gst/gstquery.h:
10427         Added new query.
10428
10429 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10430
10431         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10432           Add simplistic test suite for GST_TYPE_DATE serialisation and
10433           deserialisation.
10434
10435 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10436
10437         * docs/gst/gstreamer-sections.txt:
10438         * gst/gststructure.c: (gst_structure_set_valist),
10439         (gst_structure_get_date):
10440         * gst/gststructure.h:
10441         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10442         (gst_date_copy), (gst_value_compare_date),
10443         (gst_value_serialize_date), (gst_value_deserialize_date),
10444         (gst_value_transform_date_string),
10445         (gst_value_transform_string_date), (_gst_value_initialize):
10446         * gst/gstvalue.h:
10447           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10448           bunch of utility functions along with a hack that checks that
10449           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10450           is required. Part of the grand scheme in #170777.
10451
10452 2005-09-22  Andy Wingo  <wingo@pobox.com>
10453
10454         * gst/gstconfig.h.in: Psych out gtk-doc.
10455
10456         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10457
10458         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10459
10460         * tools/gst-inspect.c (print_element_list): Plug some
10461         inconsequential leaks.
10462
10463         * gst/gstregistry.c (gst_registry_get_default): Doc.
10464
10465         * check/gst/gstplugin.c: 
10466         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10467         * gst/gstelementfactory.c (gst_element_factory_create): 
10468         * gst/gstindexfactory.c (gst_index_factory_create): Update for
10469         refcount changes.
10470
10471         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10472         (gst_plugin_feature_load): Doc, don't eat refs.
10473
10474         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10475         (gst_plugin_list_free): Doc.
10476         (gst_plugin_load_file): Doc updates.
10477
10478         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10479         accessors returning refcounted objects, return a ref.
10480
10481         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10482         accessor for caps. IDEMPOTENCE. Oh yes.
10483
10484 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
10485
10486         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10487
10488         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10489         (_gst_debug_register_funcptr):
10490           Add mutex to serialise access to the hash table with
10491           the function pointer => function name string mapping;
10492           make that hash table static scope (#316809).
10493
10494         * gst/registries/.cvsignore:
10495           Remove left-over file.
10496
10497 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10498
10499         * docs/pwg/appendix-porting.xml:
10500           And something about newsegment events and caps-on-buffers to
10501           the porting guide (feel free to improve).
10502
10503 2005-09-21  Andy Wingo  <wingo@pobox.com>
10504
10505         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10506         data and event probes on the same pad.
10507         (test_buffer_probe_once): Test that removing probes from within
10508         the probe functions works.
10509
10510 2005-09-21  Andy Wingo  <wingo@pobox.com>
10511
10512         * check/gst/gstutils.c: New file.
10513         (test_buffer_probe_n_times): A simple buffer probe test. More to
10514         come, foolios.
10515
10516         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
10517         have-data::buffer, not have-data.
10518         (gst_pad_add_event_probe): Likewise for have-data::event.
10519         (gst_pad_add_data_probe): More docs. The part about 'resolving the
10520         peer' isn't quite right yet though.
10521         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
10522         (gst_pad_remove_data_probe): Change to take the guint handler_id
10523         as their arg, not the function+data, which is more glib-like.
10524
10525         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
10526         the signal emission to indicate if the data is a buffer or an
10527         event.
10528         (gst_pad_get_type): Initialize buffer and event quarks.
10529         (gst_pad_class_init): have-data is now a detailed signal, yes it
10530         is.
10531
10532 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10533
10534         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10535         * gst/gstutils.c: (gst_util_set_value_from_string),
10536         (gst_util_set_object_arg):
10537           Don't put functional code in g_return_if_fail() or
10538           g_return_val_if_fail() statements, otherwise things will 
10539           break when G_DISABLE_CHECKS is defined during compilation.
10540
10541 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10542
10543         * docs/gst/tmpl/.cvsignore:
10544         * docs/gst/tmpl/gstvalue.sgml:
10545         * gst/gstvalue.c:
10546         * gst/gstvalue.h:
10547           inlied another one and added  some obvious docs
10548
10549 2005-09-21  Wim Taymans  <wim@fluendo.com>
10550
10551         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10552         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
10553         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
10554         (gst_fdsrc_get_property), (gst_fdsrc_create):
10555         * gst/elements/gstfdsrc.h:
10556         Properly implement fdsrc. Removed signal and timeout,
10557         better implemented somewhere else.
10558
10559 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10560
10561         * docs/gst/tmpl/.cvsignore:
10562         * docs/gst/tmpl/gstimplementsinterface.sgml:
10563         * gst/gstinterface.c:
10564           inlined more docs
10565
10566 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10567
10568         * docs/gst/gstreamer-sections.txt:
10569         * docs/gst/tmpl/.cvsignore:
10570         * docs/gst/tmpl/gstenumtypes.sgml:
10571           remove obsolete doc file
10572
10573 2005-09-21  David Schleef  <ds@schleef.org>
10574
10575         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
10576         little beer, fix a little leak.
10577
10578 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10579
10580         * docs/gst/gstreamer-docs.sgml:
10581         * docs/gst/gstreamer-sections.txt:
10582         * docs/gst/tmpl/.cvsignore:
10583         * gst/Makefile.am:
10584         * gst/gst.h:
10585         * gst/gstbin.c:
10586         * gst/gstelement.h:
10587         * gst/gstindex.c: (gst_index_class_init):
10588         * gst/gstindex.h:
10589         * gst/gstindexfactory.c: (gst_index_factory_get_type),
10590         (gst_index_factory_class_init), (gst_index_factory_init),
10591         (gst_index_factory_finalize), (gst_index_factory_new),
10592         (gst_index_factory_destroy), (gst_index_factory_find),
10593         (gst_index_factory_create), (gst_index_factory_make):
10594         * gst/gstindexfactory.h:
10595         * gst/gstpluginfeature.c:
10596         * gst/gstpluginfeature.h:
10597         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10598           more docs inlined, splitted gstindex.{c,h}
10599
10600 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10601
10602         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10603           fix a leak
10604
10605 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10606
10607         * gst/elements/gstfilesink.c: (gst_file_sink_init):
10608           Set sync to FALSE by default.
10609
10610 2005-09-20  Wim Taymans  <wim@fluendo.com>
10611
10612         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10613         (gst_base_sink_init):
10614         Make sync property settable from subclass.
10615
10616         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10617         (gst_fake_sink_change_state):
10618         Set sync to FALSE by default.
10619
10620 2005-09-20  Wim Taymans  <wim@fluendo.com>
10621
10622         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
10623         * tools/gst-launch.c: (main):
10624         The timeout handler should have lower priority than the source
10625         so we don't timeout before popping a message with 0 timeout.
10626         Dump error messages after failed state change.
10627
10628 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10629
10630         * tools/gst-inspect.c: (print_element_properties_info):
10631           Fix two typos.
10632
10633 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10634
10635         * check/gst/gstevent.c:
10636         * gst/elements/gstfakesink.c:
10637         * gst/elements/gstfakesink.h:
10638           remove the sync property from fakesink.
10639           has the side effect of setting sync TRUE
10640           for fakesink, which is a change.  Anyone who knows how
10641           to fix this nicely in a GObject-y way, feel free.
10642
10643 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10644
10645         * docs/gst/gstreamer-docs.sgml:
10646           remove probe refsection
10647
10648 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10649
10650         * check/Makefile.am:
10651           disable valgrinding the controller test again
10652         * docs/gst/gstreamer-sections.txt:
10653           update for api-changes
10654
10655 2005-09-20  Wim Taymans  <wim@fluendo.com>
10656
10657         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10658         (gst_base_sink_set_property), (gst_base_sink_get_property),
10659         (gst_base_sink_do_sync):
10660         * gst/base/gstbasesink.h:
10661         Added sync property to basesink to disable clock sync.
10662
10663 2005-09-20  Andy Wingo  <wingo@pobox.com>
10664
10665         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
10666         eating the caller's refcount.
10667
10668         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
10669         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
10670         refcount.
10671
10672         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
10673         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
10674         of GLib 2.8 public, so we can know which refcount to check in
10675         tests.
10676
10677         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
10678         (gst_object_init): Only set the gst refcount if we're going ahead
10679         with the refcount hack.
10680
10681 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10682
10683         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10684         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10685           more leaks plumbed, added more debug-logging
10686         * gst/gstmacros.h:
10687           whitespace fix
10688
10689 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10690
10691         * gst/gstmessage.c:
10692           remove include of gstmemchunk.h
10693
10694 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10695
10696         * gst/gstclock.c: (_gst_clock_id_free):
10697           Commit from the Political Party For More Atomic CVS Commits,
10698           so that people don't waste too much of their day fishing
10699           out obvious leaks out of massive commits.
10700           Oh, and fix a pretty damn obvious leak in the memchunk
10701           removal code.
10702
10703 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10704
10705         * check/Makefile.am:
10706         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10707           plug mem-leak, re-add to valgrindable tests
10708
10709 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10710
10711         * gst/gstplugin.h:
10712           unbreak the build for those who have chronic arthritis
10713           and typing "make check" is just too taxing on the hands
10714
10715 2005-09-20  Andy Wingo  <wingo@pobox.com>
10716
10717         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
10718         really want it out, you should fix plugins at the same time.
10719
10720 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
10721
10722         * configure.ac:
10723         * docs/gst/gstreamer-sections.txt:
10724         * gst/gstobject.c:
10725           added missing symbols to api docs
10726           disable ref-count hack if we have glib >= 2.8
10727
10728 2005-09-19  David Schleef  <ds@schleef.org>
10729
10730         * docs/gst/Makefile.am: Ignore a few more internal headers
10731         * docs/gst/gstreamer-docs.sgml: Remove old sections
10732         * docs/gst/gstreamer-sections.txt: Remove old sections
10733         * docs/gst/tmpl/gstobject.sgml: update
10734         * docs/gst/tmpl/gstplugin.sgml: update
10735         * docs/gst/tmpl/gstpluginfeature.sgml: update
10736         * docs/random/ds/0.9-suggested-changes: update.
10737         * gst/Makefile.am: remove memchunk and trashstack, since they're
10738           not used.
10739         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
10740         * gst/gst.h: don't include some headers
10741         * gst/gstchildproxy.c: add gstmarshal.h
10742         * gst/gstclock.c: Don't use memchunks
10743         * gst/gstminiobject.c: Add some docs
10744         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
10745         * gst/gstobject.h: same
10746         * gst/gstplugin.c: include gstmacros.h
10747         * gst/gstplugin.h: don't include gstmacros.h, since it's private
10748         * gst/gstquery.c: don't use memchunks
10749         * gst/gstregistry.c: rename gst_registry_deinit()
10750         * gst/gstregistry.h: same
10751
10752 2005-09-19  David Schleef  <ds@schleef.org>
10753
10754         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
10755         * docs/libs/gstreamer-libs-sections.txt:
10756         * docs/libs/tmpl/gstgetbits.sgml:
10757         * docs/libs/tmpl/gstputbits.sgml:
10758
10759 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
10760
10761         * win32/gstenumtypes.c:
10762         * win32/gstenumtypes.h:
10763           Update.
10764
10765 2005-09-19  Wim Taymans  <wim@fluendo.com>
10766
10767         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
10768         Automatically PAUSE and RESUME a pipeline when a flushing seek
10769         is performed.
10770
10771 2005-09-19  Andy Wingo  <wingo@pobox.com>
10772
10773         * gst/gstregistry.h: Spacing fixen.
10774
10775 2005-09-19  Wim Taymans  <wim@fluendo.com>
10776
10777         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
10778         Handle state change failure more correctly.
10779
10780 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10781
10782         * check/Makefile.am:
10783         * check/pipelines/cleanup.c: (run_pipeline):
10784         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10785         (GST_START_TEST):
10786           enable cleanup again after fixing the leak
10787         * docs/README:
10788           some more info on docs
10789
10790 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10791
10792         * check/Makefile.am:
10793           re-enable tests now that leaks are plugged
10794         * check/gst/gst.c:
10795         * check/gst/gstbin.c:
10796         * check/gst/gstpipeline.c:
10797           add some more tests while fixing leaks
10798         * common/check.mak:
10799           make sure binaries are uptodate when valgrinding/gdbing
10800         * gst/gst.c:
10801         * gst/gstelementfactory.c:
10802           remove a ref too many, and add a FIXME for when we get
10803           round to disposing of classes
10804         * gst/gstplugin.c:
10805           fix the refcounting when loading a plugin from a file and
10806           the code pretends that the pointer is the same even though
10807           of course it can change
10808         * gst/gstpluginfeature.c:
10809           unref plugins marked cached (a bit confusing as a name)
10810           as the docs state should be done
10811           various doc additions to explain refcounting
10812         * gst/gstregistry.c:
10813         * gst/gstregistryxml.c:
10814           debugging
10815
10816 2005-09-19  Wim Taymans  <wim@fluendo.com>
10817
10818         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10819         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10820         (send_messages), (GST_START_TEST), (gstbus_suite):
10821         * check/gst/gstpipeline.c: (GST_START_TEST):
10822         * check/pipelines/cleanup.c: (run_pipeline):
10823         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10824         (GST_START_TEST):
10825         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
10826         (gst_bus_source_check), (gst_bus_source_dispatch),
10827         (gst_bus_create_watch), (gst_bus_add_watch_full),
10828         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
10829         * gst/gstbus.h:
10830         * tools/gst-launch.c: (event_loop):
10831         * tools/gst-md5sum.c: (event_loop):
10832         GstBusHandler -> GstBusFunc, return value has the same meaning as
10833         any other GSource (FALSE == remove source).
10834         _add_watch() and _add_watch_full() now take a MessageType mask to
10835         only handle specific types of messages.
10836         _poll() returns the GstMessage instead of the message type to avoid
10837         race conditions.
10838         _have_pending() takes a MessageType mask now too.
10839         Added testsuite for multiple bus watches.
10840         Fix testsuites and applications for new bus API.
10841
10842 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10843
10844         * check/Makefile.am:
10845           mark a bunch of the tests as to fix until we fix them
10846
10847 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10848
10849         * common/check.mak:
10850           use GST_PLUGIN settings for valgrind tests as well, so we're
10851           valgrinding the correct thing
10852         * gst/gst.c: (init_post):
10853           plug another leak
10854
10855 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10856
10857         * gst/gst.c: (init_post), (gst_deinit):
10858         * gst/gstelementfactory.c: (gst_element_factory_class_init),
10859         (gst_element_factory_finalize), (gst_element_factory_cleanup):
10860         * gst/gstindex.c: (gst_index_factory_class_init),
10861         (gst_index_factory_finalize):
10862         * gst/gstobject.c: (gst_object_dispose):
10863         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10864         (gst_plugin_load_file), (gst_plugin_desc_free):
10865         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
10866         (gst_plugin_feature_finalize):
10867         * gst/gstregistry.c: (gst_registry_class_init),
10868         (gst_registry_init), (gst_registry_finalize),
10869         (gst_registry_get_default), (gst_registry_deinit):
10870         * gst/gstregistry.h:
10871         * gst/gstregistryxml.c: (load_feature), (load_plugin):
10872           various cleanups and memleak plugging.  make valgrind is happy now.
10873
10874 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10875
10876         * common/check.mak:
10877           add a check-valgrind target
10878
10879 2005-09-18  David Schleef  <ds@schleef.org>
10880
10881         * tools/gst-inspect.c: Revert the GOption code.
10882
10883 2005-09-17  David Schleef  <ds@schleef.org>
10884
10885         * check/Makefile.am: Fix environment variables.
10886         * check/gst/gstplugin.c: Fix for API changes.
10887         * tools/gst-inspect.c: Fix for API changes.
10888         * tools/gst-xmlinspect.c: Fix for API changes.
10889         * gst/gstelementfactory.c:
10890         * gst/gstplugin.c:
10891         * gst/gstplugin.h:
10892         * gst/gstpluginfeature.c:
10893         * gst/gstpluginfeature.h:
10894         * gst/gstregistry.c:
10895         * gst/gstregistry.h:
10896         * gst/gstregistryxml.c:
10897         * gst/gsttypefind.c:
10898         * gst/gsttypefindfactory.c:
10899         * gst/indexers/gstfileindex.c:
10900         * gst/indexers/gstmemindex.c:
10901         * gst/schedulers/Makefile.am:
10902           Change registry to keep track of both plugins and features,
10903           removing the feature tracking from plugins themselves.
10904
10905 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10906
10907         * check/Makefile.am:
10908         * tools/gst-register.1.in:
10909           remove gst-register
10910
10911 2005-09-15  David Schleef  <ds@schleef.org>
10912
10913         * check/gst/gstplugin.c:
10914         * gst/gstelementfactory.c:
10915         * gst/gstplugin.c:
10916         * gst/gstpluginfeature.c:
10917         * gst/gstregistry.c:
10918           Getting tired of debugging.  Disabled all the unreffing of
10919           plugins and features, which fixes the segfaults, but of
10920           course leaks like crazy.  At least playbin works.
10921
10922 2005-09-15  David Schleef  <ds@schleef.org>
10923
10924         * check/gst/gstplugin.c: (register_check_elements),
10925         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
10926         More testing
10927         * gst/elements/gsttypefindelement.c: Fix refcounting.
10928         * gst/gsttypefind.c:
10929         * gst/gsttypefindfactory.c:
10930         * gst/gsttypefindfactory.h:
10931
10932 2005-09-15  David Schleef  <ds@schleef.org>
10933
10934         * gst/gstindex.c: get refcounting correct.
10935         * gst/gstregistry.c: Handle the case where a feature/plugin is
10936           not found.
10937
10938 2005-09-15  David Schleef  <ds@schleef.org>
10939
10940         * check/Makefile.am:
10941         * check/gst/gstplugin.c: Add test
10942         * gst/gstplugin.c: Fix problems noticed by testsuite
10943         * gst/gstplugin.h:
10944         * gst/gstregistry.c: 
10945         * gst/gstregistry.h:
10946
10947 2005-09-15  David Schleef  <ds@schleef.org>
10948
10949         * gst/gstplugin.c: Implement semi-decent recounting and locking
10950           in plugins and plugin features.
10951         * gst/gstplugin.h:
10952         * gst/gstpluginfeature.c:
10953         * gst/gstpluginfeature.h:
10954         * gst/gstregistry.c:
10955
10956 2005-09-15  Michael Smith <msmith@fluendo.com>
10957
10958         * gst/gstregistry.c: (gst_registry_get_feature_list):
10959           Implement this. Makes oggdemux work; decodebin still broken.
10960
10961 2005-09-14  David Schleef  <ds@schleef.org>
10962
10963         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
10964           #316076)
10965         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
10966         * gst/check/Makefile.am:
10967         * libs/gst/controller/Makefile.am:
10968         * libs/gst/dataprotocol/Makefile.am:
10969
10970 2005-09-14  David Schleef  <ds@schleef.org>
10971
10972         * configure.ac: Remove getbits library.  Nothing uses it, and
10973           it should be in something like liboil if someone did want
10974           to use it.
10975         * libs/gst/Makefile.am:
10976         * libs/gst/getbits/Makefile.am:
10977         * libs/gst/getbits/gbtest.c:
10978         * libs/gst/getbits/getbits.c:
10979         * libs/gst/getbits/getbits.h:
10980         * libs/gst/getbits/gstgetbits_generic.c:
10981         * libs/gst/getbits/gstgetbits_i386.s:
10982         * libs/gst/getbits/gstgetbits_inl.h:
10983
10984 2005-09-14  David Schleef  <ds@schleef.org>
10985
10986         * gst/Makefile.am: Dist glib-compat.h
10987
10988 2005-09-14  David Schleef  <ds@schleef.org>
10989
10990         * configure.ac: Remove gst/registries, since it's no longer used.
10991         * gst/registries/Makefile.am:
10992         * gst/registries/gstlibxmlregistry.c:
10993         * gst/registries/gstlibxmlregistry.h:
10994         * gst/registries/gstxmlregistry.c:
10995         * gst/registries/gstxmlregistry.h:
10996         * gst/registries/registrytest.c:
10997
10998 2005-09-14  David Schleef  <ds@schleef.org>
10999
11000         * gst/glib-compat.h:
11001         * gst/gstregistryxml.c:
11002           Convergence is near.  Seriously.
11003
11004 2005-09-14  David Schleef  <ds@schleef.org>
11005
11006         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11007         * gst/glib-compat.h:
11008           Attempt #4 to appease the buildbots.
11009
11010 2005-09-14  David Schleef  <ds@schleef.org>
11011
11012         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11013           Attempt #3.
11014
11015 2005-09-14  David Schleef  <ds@schleef.org>
11016
11017         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11018         Attempt #2.
11019
11020 2005-09-14  David Schleef  <ds@schleef.org>
11021
11022         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11023           the new functions.
11024
11025 2005-09-14  David Schleef  <ds@schleef.org>
11026
11027         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11028         * gst/glib-compat.h: Add some functions that are in newer versions
11029           of glib than we care to require.
11030         * gst/gstregistryxml.c: Use them.
11031
11032 2005-09-14  David Schleef  <ds@schleef.org>
11033
11034         * po/POTFILES.in: remove gst-register.c
11035
11036 2005-09-14  David Schleef  <ds@schleef.org>
11037
11038         * docs/gst/gstreamer-docs.sgml:
11039         * docs/gst/gstreamer-sections.txt:
11040         * docs/gst/gstreamer.types:
11041         * docs/gst/tmpl/gstelement.sgml:
11042         * docs/gst/tmpl/gstplugin.sgml:
11043         * docs/gst/tmpl/gstpluginfeature.sgml:
11044           Documentation updates for registry changes.
11045
11046 2005-09-14  David Schleef  <ds@schleef.org>
11047
11048         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11049           because we don't require glib-2.8.
11050
11051 2005-09-14  David Schleef  <ds@schleef.org>
11052
11053         * gst/gstregistryxml.c: Added.  Essentially moved out of the
11054           registries directory.
11055
11056 2005-09-14  David Schleef  <ds@schleef.org>
11057
11058         * check/Makefile.am:
11059         * check/generic/states.c:
11060         * gst/Makefile.am:
11061         * gst/gst.c:
11062         * gst/gst.h:
11063         * gst/gst_private.h:
11064         * gst/gstelementfactory.c:
11065         * gst/gstindex.c:
11066         * gst/gstinfo.c:
11067         * gst/gstplugin.c:
11068         * gst/gstplugin.h:
11069         * gst/gstpluginfeature.c:
11070         * gst/gstpluginfeature.h:
11071         * gst/gstregistry.c:
11072         * gst/gstregistry.h:
11073         * gst/gstregistrypool.c: remove
11074         * gst/gstregistrypool.h: remove
11075         * gst/gsttypefind.c:
11076         * gst/gsttypefindfactory.c:
11077         * gst/gsturi.c:
11078         * tools/Makefile.am:
11079         * tools/gst-compprep.c:
11080         * tools/gst-inspect.c:
11081         * tools/gst-register.c: remove
11082         * tools/gst-xmlinspect.c:
11083           Registry rewrite.  Changes registry from being a file created
11084           by a tool into a simple cache file created automatically by 
11085           libgstreamer.  Removed gst-register (because it's no longer
11086           needed).  Remove registry pools, because we only have one
11087           registry implementation (XML).  Fix up other subsystems as
11088           necessary.
11089
11090 2005-09-13  Michael Smith <msmith@fluendo.com>
11091
11092         * gst/gstconfig.h.in:
11093           Don't Use windows linking attributes for MinGW. Fixes #316157
11094
11095 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11096
11097         * gst/gstutils.c: (set_state_async_thread_func),
11098         (gst_element_set_state_async):
11099           Apparently people think it's better if this function doesn't
11100           try to set the state to whatever state was asked for on the first
11101           call to this function for any object.  Seriously.
11102
11103 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11104
11105         * check/gst/gstpipeline.c: (GST_START_TEST):
11106         * docs/gst/gstreamer-sections.txt:
11107         * gst/gstutils.c: (set_state_async_thread_func),
11108         (gst_element_set_state_async):
11109         * gst/gstutils.h:
11110           add a "gst_element_set_state_async" method that
11111           sets the state and starts a thread to make sure the state
11112           change completes as best as it can
11113
11114 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11115
11116         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11117           codify design+behaviour in testsuite after discussion
11118
11119 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11120
11121         * docs/gst/tmpl/gstelement.sgml:
11122         * docs/manual/appendix-quotes.xml:
11123           add a quote
11124         * gst/gstelement.c: (gst_element_set_state):
11125           add some debug
11126
11127 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
11128
11129         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11130         (gst_base_transform_prepare_output_buf),
11131         (gst_base_transform_handle_buffer):
11132         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11133         (gst_capsfilter_prepare_buf):
11134           Remove the requirement for sub-classes to call the parent
11135           implementation of prepare_output_buffer with a wrapper function.
11136           
11137         * gst/gsttaglist.h:
11138         * gst/gsttagsetter.h:
11139           Fix #define wrapper
11140
11141 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
11142
11143         * docs/gst/gstreamer-sections.txt:
11144           more doc cleanups
11145
11146 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11147
11148         * docs/gst/gstreamer-sections.txt:
11149         * docs/gst/tmpl/gstelement.sgml:
11150         * docs/gst/tmpl/gstplugin.sgml:
11151         * gst/gstminiobject.c:
11152         * gst/gstvalue.h:
11153           docs now stop throwing warnings
11154
11155 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11156
11157         * docs/gst/gstreamer-sections.txt:
11158         * docs/gst/gstreamer.types:
11159         * docs/gst/tmpl/gstpad.sgml:
11160         * docs/gst/tmpl/gsttypes.sgml:
11161         * gst/base/gstadapter.h:
11162         * gst/base/gstbasesink.h:
11163         * gst/base/gstbasesrc.h:
11164         * gst/gstbin.h:
11165         * gst/gstbuffer.h:
11166         * gst/gstbus.h:
11167         * gst/gstcaps.h:
11168         * gst/gstclock.h:
11169         * gst/gstelement.h:
11170         * gst/gstevent.h:
11171         * gst/gstmessage.h:
11172         * gst/gstpad.h:
11173         * gst/gststructure.c:
11174         * gst/registries/gstlibxmlregistry.h:
11175           various documentation fixes
11176
11177 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11178
11179         * docs/gst/gstreamer-sections.txt:
11180         * docs/gst/tmpl/gstvalue.sgml:
11181           rearrange gstvalue section
11182         * gst/gstutils.c: (gst_element_state_get_name):
11183           NONE -> VOID
11184         * gst/gstvalue.c: (_gst_value_initialize):
11185         * gst/gstvalue.h:
11186           doc updates
11187
11188 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
11189
11190         * check/gst-libs/controller.c:
11191           Header include fix.
11192         * gst/base/gstbasetransform.c:
11193         (gst_base_transform_default_prepare_buf),
11194         (gst_base_transform_handle_buffer):
11195         * gst/base/gstbasetransform.h:
11196           Some more basetransform changes and fixes to enable sub-classes
11197           that modify buffer metadata only.
11198         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11199         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11200         (gst_capsfilter_prepare_buf):
11201           If the output pad has fixed allowed caps and input buffers 
11202           don't have any, set the fixed caps on outgoing buffers.
11203
11204 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
11205         * check/elements/identity.c: (GST_START_TEST):
11206           Make the error a little clearer when the test fails because
11207           identity made a copy of the buffer.
11208         * docs/gst/gstreamer-sections.txt:
11209           New symbols in gstbasetransform.h
11210         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11211         (gst_base_transform_init), (gst_base_transform_transform_size),
11212         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11213         (gst_base_transform_default_prepare_buf),
11214         (gst_base_transform_get_unit_size),
11215         (gst_base_transform_buffer_alloc),
11216         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11217         (gst_base_transform_change_state),
11218         (gst_base_transform_set_passthrough),
11219         (gst_base_transform_set_in_place),
11220         (gst_base_transform_is_in_place):
11221         * gst/base/gstbasetransform.h:
11222           Change BaseTransform to separate in_place operate from same_caps
11223           output. in_place implies that the element can perform the transform
11224           on incoming buffers in-place, even if the caps on the output are
11225           different.
11226           Sub-class elements can now implement special buffer allocation
11227           methods for outgoing buffers if they wish to.
11228           Big documentation addition.
11229         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11230         * gst/elements/gstelements.c:
11231           Changes for basetransform modifications.
11232         * gst/elements/Makefile.am:
11233         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11234           Compile fix. Extra debug output.
11235
11236 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11237
11238         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11239         (gst_pad_suite):
11240           add tests for valid pad naming
11241         * gst/check/gstcheck.c: (gst_check_log_message_func),
11242         (gst_check_log_critical_func):
11243           add ASSERT_WARNING
11244           remove printing of code, it is fragile when the code contains
11245           % and the line number is enough info
11246         * gst/check/gstcheck.h:
11247         * gst/gstpad.c: (gst_pad_template_new):
11248           fix memleaks
11249
11250 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11251
11252         * configure.ac:
11253           say what CHECK flags we use
11254         * docs/libs/gstreamer-libs.types:
11255         * libs/gst/controller/Makefile.am:
11256         * libs/gst/controller/gst-controller.c:
11257         * libs/gst/controller/gst-controller.h:
11258         * libs/gst/controller/gst-helper.c:
11259         * libs/gst/controller/gst-interpolation.c:
11260         * libs/gst/controller/gstcontroller.c:
11261         * libs/gst/controller/gsthelper.c:
11262         * libs/gst/controller/gstinterpolation.c:
11263         * tools/gst-inspect.c: (print_plugin_info):
11264           we don't use dashes in header names
11265
11266 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11267
11268         * check/Makefile.am:
11269         * check/gst/.cvsignore:
11270         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11271         (gst_pipeline_suite), (main):
11272           adding a test for pipelines and state changes
11273         * gst/gstutils.c: (get_state_func):
11274           add some debugging
11275         * gstreamer.spec.in:
11276           fix up spec file
11277
11278 2005-09-08  Michael Smith <msmith@fluendo.com>
11279
11280         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11281         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11282         (gst_file_src_is_seekable), (gst_file_src_get_size),
11283         (gst_file_src_start):
11284         * gst/elements/gstfilesrc.h:
11285           Various fixes for unseekable, unmmapable, and non-normal files, so
11286           that fallback to read() rather than mmap() works.
11287         * gst/gstevent.c: (gst_event_new_newsegment):
11288           Allow newsegment events with segment_start == segment_end, as will
11289           correctly happen if you use filesrc on a zero-size file, for
11290           example.
11291
11292 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11293
11294         * gst/gstplugin.c: (gst_plugin_load_file):
11295           Call g_module_close when we don't load the module
11296
11297         * gst/registries/gstlibxmlregistry.c:
11298         (gst_xml_registry_get_property):
11299           Port leak fix from 0.8
11300
11301 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11302
11303         * docs/gst/gstreamer-docs.sgml:
11304         * docs/gst/tmpl/.cvsignore:
11305         * docs/gst/tmpl/gsttrace.sgml:
11306         * docs/gst/tmpl/gsttrashstack.sgml:
11307         * gst/Makefile.am:
11308         * gst/gst.h:
11309         * gst/gstelement.h:
11310         * gst/gstevent.h:
11311         * gst/gstmessage.c:
11312         * gst/gstmessage.h:
11313         * gst/gsttag.c:
11314         * gst/gsttag.h:
11315         * gst/gsttaginterface.c:
11316         * gst/gsttaginterface.h:
11317         * gst/gsttaglist.c:
11318         * gst/gsttaglist.h:
11319         * gst/gsttagsetter.c:
11320         * gst/gsttagsetter.h:
11321         * gst/gsttrace.c:
11322         * gst/gsttrace.h:
11323         * gst/gsttrashstack.c:
11324           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11325           inlined docs for gsttrace, gsttrashstack
11326
11327 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11328
11329         * gst/Makefile.am:
11330         * gst/elements/gstbufferstore.h:
11331         * gst/elements/gsttypefindelement.c:
11332         * gst/elements/gsttypefindelement.h:
11333         * gst/gst.h:
11334         * gst/gsttypefind.c:
11335         * gst/gsttypefind.h:
11336         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11337         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11338         (gst_type_find_factory_dispose),
11339         (gst_type_find_factory_unload_thyself),
11340         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11341         (gst_type_find_factory_get_caps),
11342         (gst_type_find_factory_get_extensions),
11343         (gst_type_find_factory_call_function):
11344         * gst/gsttypefindfactory.h:
11345         * gst/registries/gstlibxmlregistry.c:
11346         * gst/registries/gstxmlregistry.c:
11347           splitted gsttypefind into gsttypefind, gsttypefindfactory
11348
11349 2005-09-07  Andy Wingo  <wingo@pobox.com>
11350
11351         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11352         condition whereby the pad's task function is entered before the
11353         pad_mode variable was set.
11354
11355 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11356
11357         * gst/gstpad.c: (gst_pad_alloc_buffer):
11358           Catch misbehaving pad_alloc functions that don't
11359           set up caps and do it for them.
11360
11361 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11362
11363         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11364           test for pipe!=NULL
11365         * docs/gst/tmpl/.cvsignore:
11366         * docs/gst/tmpl/gstmemchunk.sgml:
11367         * docs/gst/tmpl/gstparse.sgml:
11368         * docs/gst/tmpl/gsttaglist.sgml:
11369         * docs/gst/tmpl/gsttagsetter.sgml:
11370         * docs/gst/tmpl/gsttypefind.sgml:
11371         * docs/gst/tmpl/gsttypefindfactory.sgml:
11372         * gst/gstmemchunk.c:
11373         * gst/gstparse.c:
11374         * gst/gsttag.c:
11375         * gst/gsttaginterface.c:
11376         * gst/gsttypefind.c:
11377         * gst/gsttypefind.h:
11378           inlined more docs
11379
11380 === release 0.9.2 ===
11381
11382 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11383
11384         * NEWS:
11385         * RELEASE:
11386         * configure.ac:
11387           releasing 0.9.2, "South"
11388
11389 2005-09-05  Andy Wingo  <wingo@pobox.com>
11390
11391         * gst/registries/gstxmlregistry.h:
11392         * gst/registries/gstxmlregistry.c: Um... resurrect...
11393         
11394         * gst/registries/gstxmlregistry.h:
11395         * gst/registries/gstxmlregistry.c: and update to newer API.
11396         Incidentally they should be a bit faster now that they don't have
11397         to parse the caps.
11398         
11399 2005-09-05  Andy Wingo  <wingo@pobox.com>
11400
11401         * gst/registries/gstxmlregistry.h:
11402         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11403         replaced by the libxml registry a while back
11404
11405 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11406
11407         * docs/gst/tmpl/gstplugin.sgml:
11408         * gst/elements/gstelements.c:
11409         * gst/gst.c:
11410         * gst/gstplugin.c: (gst_plugin_register_func),
11411         (gst_plugin_desc_copy), (gst_plugin_desc_free),
11412         (gst_plugin_get_source):
11413         * gst/gstplugin.h:
11414         * gst/registries/gstlibxmlregistry.c: (load_plugin),
11415         (gst_xml_registry_save_plugin):
11416         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11417         (gst_xml_registry_save_plugin):
11418         * tools/gst-inspect.c: (print_plugin_info):
11419           add a "source" plugin description field, to represent the source
11420           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
11421           will set it to PACKAGE, which is automake's idea of the name of
11422           the source project.
11423
11424 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11425
11426         * Makefile.am:
11427         * autogen.sh:
11428         * configure.ac:
11429         * docs/Makefile.am:
11430         * docs/faq/Makefile.am:
11431         * docs/gst/tmpl/gstelement.sgml:
11432         * docs/gst/tmpl/gsttypes.sgml:
11433         * docs/htmlinstall.mak:
11434         * docs/manual/Makefile.am:
11435         * docs/pwg/Makefile.am:
11436           reorganize doc build a little
11437           split out docbook and gtk-doc stuff
11438           have two separate --enable's and enable them through autogen
11439           but disable by default in configure (to be similar to other
11440           projects)
11441         * gstreamer.spec.in:
11442           clean up docs install
11443         * po/af.po:
11444         * po/az.po:
11445         * po/ca.po:
11446         * po/cs.po:
11447         * po/de.po:
11448         * po/en_GB.po:
11449         * po/fr.po:
11450         * po/it.po:
11451         * po/nb.po:
11452         * po/nl.po:
11453         * po/ru.po:
11454         * po/sq.po:
11455         * po/sr.po:
11456         * po/sv.po:
11457         * po/tr.po:
11458         * po/uk.po:
11459         * po/vi.po:
11460           translation updates
11461
11462 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11463
11464         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11465           Add comment.
11466           
11467         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11468         (gst_fake_sink_change_state):
11469           Make state change function thread-safe.
11470           
11471         * gst/gstpad.c: (gst_pad_alloc_buffer):
11472           Set offset on generic buffer allocated by fallback.
11473
11474 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
11475
11476         * docs/gst/gstreamer-sections.txt:
11477         * docs/gst/tmpl/gstelement.sgml:
11478         * gst/gstpad.c:
11479         * libs/gst/controller/gst-controller.c:
11480         (gst_controlled_property_set_interpolation_mode),
11481         (gst_controlled_property_new),
11482         (gst_controller_find_controlled_property):
11483          run the wingo-magic script against the docs
11484
11485 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11486
11487         * docs/gst/gstreamer-docs.sgml:
11488         * docs/gst/gstreamer-sections.txt:
11489         * docs/gst/tmpl/.cvsignore:
11490         * docs/gst/tmpl/gstelementdetails.sgml:
11491         * docs/gst/tmpl/gstelementfactory.sgml:
11492         * gst/gst.c:
11493         * gst/gstbus.c:
11494         * gst/gstelementfactory.c:
11495         * gst/gstelementfactory.h:
11496           merged elementdetails docs into elementfactory docs
11497           inlined both
11498
11499 2005-09-02  Andy Wingo  <wingo@pobox.com>
11500
11501         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11502         consider this enum an enum and not a flags.
11503
11504 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11505
11506         * docs/gst/gstreamer-docs.sgml:
11507         * docs/gst/tmpl/.cvsignore:
11508         * docs/gst/tmpl/gstghostpad.sgml:
11509         * docs/gst/tmpl/gstiterator.sgml:
11510         * docs/gst/tmpl/gstmacros.sgml:
11511         * docs/gst/tmpl/gstrealpad.sgml:
11512         * docs/gst/tmpl/gstregistry.sgml:
11513         * docs/gst/tmpl/gstregistrypool.sgml:
11514         * docs/gst/tmpl/gststructure.sgml:
11515         * docs/gst/tmpl/gstsystemclock.sgml:
11516         * docs/gst/tmpl/gsttrace.sgml:
11517         * gst/gstghostpad.c:
11518         * gst/gstmacros.h:
11519         * gst/gstmemchunk.c:
11520         * gst/gstmemchunk.h:
11521         * gst/gstqueue.c:
11522         * gst/gstregistry.c:
11523         * gst/gstregistrypool.c:
11524         * gst/gststructure.c:
11525         * gst/gstsystemclock.c:
11526           more docs inlined
11527
11528 2005-09-02  Andy Wingo  <wingo@pobox.com>
11529
11530         * gst/gstelement.h (GstState): Renamed from GstElementState,
11531         changed to be a normal enum instead of flags.
11532         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
11533         munged to be GST_STATE_CHANGE_*.
11534         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
11535         work with the new state representation.
11536         (GstStateChange): New enumeration of possible state transitions.
11537         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
11538         (GstElementClass::change_state): Pass the GstStateChange along as
11539         an argument. Helps language bindings, so they don't have to use
11540         tricky lock-needing macros like GST_STATE_CHANGE ().
11541
11542         * scripts/update-states (file): New script. Run it on a file to
11543         update it for state naming and API changes. Updates files in
11544         place.
11545
11546         * All files updated for the new API.
11547
11548 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11549
11550         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
11551         * gst/gstutils.c: (gst_util_set_value_from_string),
11552         (gst_util_set_object_arg):
11553           fix a bunch of unchecked return values
11554         * tools/gst-complete.c: (main):
11555         * gstreamer.spec.in:
11556           clean up a little
11557
11558 2005-09-01  Wim Taymans  <wim@fluendo.com>
11559
11560         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11561         (gst_base_sink_event), (gst_base_sink_do_sync),
11562         (gst_base_sink_handle_event):
11563         * gst/base/gstbasesink.h:
11564         Handle newsegments more correctly.
11565
11566         * gst/gstbus.c:
11567         Fix docs.
11568
11569         * gst/gstevent.c: (gst_event_new_newsegment):
11570         A newsegment cannot have a start_time of -1
11571
11572 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11573
11574         * win32/gstenumtypes.c:
11575         * win32/gstenumtypes.h:
11576           Update
11577
11578 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11579
11580         * libs/gst/controller/gst-controller.c:
11581         (gst_controlled_property_set_interpolation_mode),
11582         (gst_controlled_property_new):
11583          fixed boolean again
11584
11585 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11586
11587         * docs/faq/gst-uninstalled:
11588           add -good
11589         * gst/gstevent.c:
11590         * gst/gstevent.h:
11591           remove wrong docs
11592         * gst/gstutils.c: (gst_element_link_filtered):
11593         * gst/gstutils.h:
11594           add gst_element_link_filtered
11595
11596 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11597
11598         * docs/gst/gstreamer-docs.sgml:
11599         * docs/gst/gstreamer-sections.txt:
11600         * docs/gst/tmpl/.cvsignore:
11601         * docs/gst/tmpl/gsterror.sgml:
11602         * docs/gst/tmpl/gstfilter.sgml:
11603         * docs/gst/tmpl/gsturihandler.sgml:
11604         * docs/gst/tmpl/gsturitype.sgml:
11605         * docs/gst/tmpl/gstutils.sgml:
11606         * docs/gst/tmpl/gstxml.sgml:
11607         * gst/gsterror.c:
11608         * gst/gsterror.h:
11609         * gst/gstfilter.c:
11610         * gst/gsturi.c:
11611         * gst/gsturitype.c:
11612         * gst/gstutils.c:
11613         * gst/gstxml.c:
11614           inlined more docs, fixed double id-ref
11615
11616 2005-08-31  Wim Taymans  <wim@fluendo.com>
11617
11618         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11619         (gst_base_transform_handle_buffer):
11620         Passthrough elements don't need the caps as they don't care.
11621
11622 2005-08-31  Wim Taymans  <wim@fluendo.com>
11623
11624         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11625         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
11626         Don't leak refcounts on buffers.
11627
11628 2005-08-31  Wim Taymans  <wim@fluendo.com>
11629
11630         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
11631         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11632         (gst_base_transform_chain), (gst_base_transform_change_state):
11633         * gst/base/gstbasetransform.h:
11634         Handle the case where we are not negotiated more gracefully.
11635
11636 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
11637
11638         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
11639         (gst_file_src_map_region):
11640           Set READONLY flag on mmap'ed buffers, otherwise
11641           gst_buffer_make_writable() won't work properly (#314708).
11642
11643 2005-08-31  Wim Taymans  <wim@fluendo.com>
11644
11645         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
11646         passthrough elements can even do inplace on non writable
11647         buffers (as they don't touch them).
11648
11649 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11650
11651         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11652         (gst_test_mono_source_set_property),
11653         (gst_test_mono_source_class_init), (GST_START_TEST),
11654         (gst_controller_suite):
11655           more tests (hehe I have the most)
11656         * gst/gstbus.c:
11657           describe popping messages whenusing mulltiple sources
11658         * libs/gst/controller/gst-controller.c:
11659         (gst_controlled_property_set_interpolation_mode),
11660         (gst_controlled_property_new):
11661         * libs/gst/controller/gst-controller.h:
11662         * libs/gst/controller/gst-interpolation.c:
11663           implement boolean properties
11664
11665 2005-08-31  Wim Taymans  <wim@fluendo.com>
11666
11667         * gst/gstminiobject.c: (gst_mini_object_ref):
11668         Cannot assert that the refcount has to be positive
11669         since a disposed object can be resurrected.
11670
11671 2005-08-31  Wim Taymans  <wim@fluendo.com>
11672
11673         * gst/gstpad.c: (gst_pad_init):
11674         Revert change, need to first fix badly behaving 
11675         apps.
11676
11677 2005-08-30  Wim Taymans  <wim@fluendo.com>
11678
11679         * check/elements/fakesrc.c: (setup_fakesrc):
11680         * check/elements/identity.c: (setup_identity):
11681         Activate pads before using them.
11682
11683 2005-08-30  Wim Taymans  <wim@fluendo.com>
11684
11685         * gst/base/gstadapter.c: (gst_adapter_flush):
11686         Flushing out 0 bytes is ok for this function.
11687
11688         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11689         no newsegment gives a warning and sets the start/stop to 
11690         invalid.
11691
11692         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
11693         (gst_base_transform_set_passthrough):
11694         Some debug info.
11695
11696         * gst/gstminiobject.c: (gst_mini_object_ref):
11697         Check refcount here too.
11698
11699         * gst/gstpad.c: (gst_pad_init):
11700         Pads are initially flushing and refusing data.
11701
11702         * gst/gstutils.c: (gst_element_link_pads_filtered):
11703         When adding a capsfilter element make sure it has the
11704         same state as the parent bin.
11705
11706 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11707
11708         * docs/gst/tmpl/.cvsignore:
11709         * docs/gst/tmpl/gstformat.sgml:
11710         * docs/gst/tmpl/gstversion.sgml:
11711         * gst/gstbus.h:
11712         * gst/gstformat.c:
11713         * gst/gstformat.h:
11714         * gst/gstversion.h.in:
11715           more docs and two more inlined
11716
11717 2005-08-30  Wim Taymans  <wim@fluendo.com>
11718
11719         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
11720         Don't sync to clock.
11721
11722 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11723
11724         * docs/gst/gstreamer-sections.txt:
11725           ultral33t func10ns deserve to appear in the docs actually
11726         * docs/gst/tmpl/.cvsignore:
11727         * docs/gst/tmpl/gstcompat.sgml:
11728         * docs/gst/tmpl/gstconfig.sgml:
11729         * gst/check/gstcheck.c:
11730         * gst/gstcompat.h:
11731         * gst/gstconfig.h.in:
11732           inlined more docs
11733
11734 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11735
11736         * docs/gst/tmpl/.cvsignore:
11737         * docs/gst/tmpl/gstquery.sgml:
11738         * docs/gst/tmpl/gstutils.sgml:
11739         * gst/gstquery.c:
11740         * gst/gstquery.h:
11741           inlined and extended docs
11742
11743 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11744
11745         * check/gst-libs/controller.c: (GST_START_TEST),
11746         (gst_controller_suite):
11747           more tests
11748         * docs/gst/tmpl/gstutils.sgml:
11749         * docs/libs/gstreamer-libs-sections.txt:
11750         * docs/libs/tmpl/gstdataprotocol.sgml:
11751           include path fixes
11752         * examples/controller/audio-example.c: (main):
11753           controller example works now
11754         * gst/gstclock.h:
11755           doc fixes
11756         * tools/gst-inspect.c: (print_element_properties_info):
11757           show param spec flags
11758
11759 2005-08-29  Andy Wingo  <wingo@pobox.com>
11760
11761         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
11762
11763 2005-08-28  Andy Wingo  <wingo@pobox.com>
11764
11765         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
11766         as having two arguments instead of just one. Allows superclasses
11767         to access information on subclasses -- see the terrible for() loop
11768         in gtype.c:g_type_create_instance for the reason why. All callers
11769         changed.
11770
11771 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11772
11773         * docs/design/part-messages.txt:
11774           update info
11775         * docs/gst/tmpl/.cvsignore:
11776         * docs/gst/tmpl/gstcaps.sgml:
11777         * docs/gst/tmpl/gstclock.sgml:
11778         * gst/gstbus.c:
11779         * gst/gstcaps.c:
11780         * gst/gstcaps.h:
11781         * gst/gstclock.c:
11782         * gst/gstclock.h:
11783         * gst/gstmessage.c:
11784           added descriptions for bus and message
11785           inline caps and clock docs
11786
11787 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11788
11789         * gst/gstmessage.c:
11790         * gst/gstmessage.h:
11791           doc fixes
11792
11793 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11794
11795         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11796           fix div-by-zero
11797
11798 2005-08-26  Andy Wingo  <wingo@pobox.com>
11799
11800         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
11801         element_set_state's return val.
11802         (test_2_elements): Add test that's been disabled for months.
11803
11804         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
11805         can-activate-pull properties.
11806
11807         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
11808         can-activate-pull properties. Implement is_seekable so fakesrc can
11809         operate in pull mode.
11810
11811         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
11812         properties.
11813         (gst_base_sink_activate, gst_base_sink_activate_pull)
11814         (gst_base_sink_activate_push): Make activation mode choosing work.
11815         Cleanups.
11816         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
11817         is right. Make pull mode work. Post an eos before pausing in pull
11818         mode.
11819         (gst_base_sink_change_state): Pay attention to the core's
11820         change_state() return val.
11821         
11822         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
11823         has-getrange properties. Cleanups.
11824         
11825         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
11826         has_getrange and replace with can_activate_pull and
11827         can_activate_push.
11828
11829         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
11830         locking comments. Remove has_loop, has_chain and replace with
11831         can_activate_pull and can_activate_push.
11832
11833 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
11834
11835         * configure.ac:
11836         * examples/Makefile.am:
11837         * examples/metadata/Makefile.am:
11838         * examples/metadata/read-metadata.c: (message_loop),
11839         (have_pad_handler), (make_pipeline), (print_tag), (main):
11840           Add metadata reading example that loops over a list of filenames,
11841           dumping any tags found.
11842
11843         * gst/gstbus.c: (gst_bus_dispose):
11844         * gst/gstelement.c: (gst_element_dispose):
11845           Release a few potentially-held references in dispose.
11846
11847 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11848
11849         * docs/gst/tmpl/gstminiobject.sgml:
11850           do *not* add tmpl/*.sgml files to CVS!
11851
11852 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11853
11854         * libs/gst/bytestream/.cvsignore:
11855         * libs/gst/bytestream/Makefile.am:
11856         * libs/gst/bytestream/adapter.c:
11857         * libs/gst/bytestream/adapter.h:
11858         * libs/gst/bytestream/bytestream.c:
11859         * libs/gst/bytestream/bytestream.h:
11860         * libs/gst/bytestream/filepad.c:
11861         * libs/gst/bytestream/filepad.h:
11862           removing obsolete files
11863
11864 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11865
11866         * docs/gst/gstreamer-docs.sgml:
11867         * docs/libs/gstreamer-libs-docs.sgml:
11868           disabed additional index entries again, as this makes docs-gen just
11869           slow and they aren't useful yet
11870         * docs/libs/gstreamer-libs-sections.txt:
11871           little -section.txt cleanup for libs
11872
11873 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11874
11875         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11876         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
11877           fix up some debugging
11878         (gst_base_transform_get_unit_size),
11879         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11880         (gst_base_transform_handle_buffer):
11881         * gst/base/gstbasetransform.h:
11882           handle and store timed NEWSEGMENT events so that subclasses that
11883           calculate time by counting samples have a segment_start time they
11884           need to add to their timestamps - see audioresample
11885
11886 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11887
11888         * gst/gstbin.h:
11889           removed ';' from the end of macro defs
11890         * docs/gst/gstreamer-docs.sgml:
11891         * docs/gst/gstreamer-sections.txt:
11892         * docs/gst/tmpl/.cvsignore:
11893         * gst/gstbus.h:
11894         * gst/gstelement.c: (gst_element_class_init),
11895         (gst_element_set_state), (activate_pads),
11896         (gst_element_save_thyself):
11897         * gst/gstevent.c: (gst_event_new_newsegment):
11898         * gst/gstevent.h:
11899         * gst/gstiterator.c:
11900         * gst/gstiterator.h:
11901         * gst/gstpad.c:
11902         * gst/gstprobe.h:
11903         * gst/gstutils.c: (gst_pad_query_convert):
11904         * gst/gstutils.h:
11905           fixed parameter name mismatches between source, header and docs
11906           added some more docs, resolved the last batch of unused elements in
11907           docs (now someone needs to doc them)
11908
11909 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11910
11911         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
11912         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
11913           don't walk through the plugins backwards.  Where is all this
11914           reversed logic coming from ?
11915
11916 2005-08-25  Wim Taymans  <wim@fluendo.com>
11917
11918         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11919         (gst_base_transform_transform_size),
11920         (gst_base_transform_configure_caps),
11921         (gst_base_transform_get_unit_size),
11922         (gst_base_transform_buffer_alloc),
11923         (gst_base_transform_change_state):
11924         * gst/base/gstbasetransform.h:
11925         Cache caps unit_size.
11926         Make sure we cannot negotiate up and downstream at the
11927         same time.
11928
11929 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11930
11931         * gst/gst.c: (init_pre), (init_post):
11932           register the installed plugin path after the env var
11933         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
11934         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
11935           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
11936           directories, so the tests can prefer uninstalled over installed
11937
11938 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11939
11940         * gst/base/gstbasetransform.h:
11941           comment
11942         * gst/gstpad.c:
11943           add to docs
11944
11945 2005-08-25  Wim Taymans  <wim@fluendo.com>
11946
11947         * gst/gstbin.c: (bin_bus_handler):
11948         Be a bit more conservative about the posted message.
11949         
11950         * gst/gstbus.c: (gst_bus_post):
11951         Some cleanups, warn wrong return values.
11952
11953 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
11954
11955         * check/gst/gstbin.c: (GST_START_TEST):
11956         * gst/gstbin.c: (bin_bus_handler):
11957         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11958         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11959         (gst_message_new_warning), (gst_message_new_tag),
11960         (gst_message_new_state_changed), (gst_message_new_segment_start),
11961         (gst_message_new_segment_done), (gst_message_new_custom):
11962         * gst/gstmessage.h:
11963         * tools/gst-launch.c: (event_loop):
11964         * tools/gst-md5sum.c: (event_loop):
11965           Revert unpopular change for GST_MESSAGE_SRC to GObject.
11966
11967 2005-08-25  Wim Taymans  <wim@fluendo.com>
11968
11969         * check/generic/states.c: (GST_START_TEST):
11970         Cleanup can be done at the end.
11971
11972         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
11973         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
11974         (gst_task_get_state), (gst_task_start), (gst_task_pause):
11975         Oh boy.. Thanks for finding this, Thomas. 
11976
11977 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11978
11979         * docs/gst/gstreamer.types:
11980           added missing types
11981
11982 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
11983
11984         * docs/gst/gstreamer-docs.sgml:
11985         * docs/gst/gstreamer-sections.txt:
11986         * docs/gst/tmpl/.cvsignore:
11987         * gst/gstbin.c:
11988         * gst/gstiterator.c:
11989         * gst/gstutils.c:
11990         * gst/registries/gstxmlregistry.h:
11991           added missing classes and symbols (123 more to go)
11992           removed removed symbols from section file
11993           fixed many doc-comments
11994
11995 2005-08-24  Wim Taymans  <wim@fluendo.com>
11996
11997         * check/generic/states.c: (GST_START_TEST):
11998         Make sure all tasks are stopped.
11999
12000         * check/gst/gstbin.c: (GST_START_TEST):
12001         Unref after usage for proper valgrinding.
12002
12003         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12004         Really wait for the task to stop before destroying the
12005         mutex.
12006
12007         * gst/gstqueue.c: (gst_queue_sink_activate_push),
12008         (gst_queue_src_activate_push):
12009         Small cleanups. Don't stop the task when we did not start
12010         it.
12011
12012         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12013         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12014         (gst_task_get_state), (gst_task_start), (gst_task_pause),
12015         (gst_task_join):
12016         * gst/gsttask.h:
12017         Protect the stream lock with the object lock.
12018         Disallow setting the stream lock when running.
12019         Add cleanup_all to wait for the threadpool to finish.
12020         Remove code to autoallocate a mutex if none was provided.
12021         Add _join() to wait for a task to stop.
12022         Protect the thread pool with a global lock.
12023
12024 2005-08-24  Wim Taymans  <wim@fluendo.com>
12025
12026         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12027         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12028         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12029         * gst/base/gstbasesink.h:
12030         Handle newsegment events correctly.
12031         Drop buffers out of the segment range.
12032
12033 2005-08-22  Andy Wingo  <wingo@pobox.com>
12034
12035         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12036         macro, implements an interface and gstimplementsinterface for a
12037         new type.
12038
12039 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12040
12041         * check/Makefile.am:
12042         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12043           add a test that does a bunch of state changes on elements
12044           needs some fixing for valgrind
12045         * check/states/sinks.c: (gst_object_suite):
12046           whitespace
12047         * gst/gstcaps.h:
12048           add prototype for gst_caps_is_equal_fixed
12049         * gst/gstplugin.c:
12050         * gst/gstregistrypool.c:
12051           doc fixes
12052
12053 2005-08-24  Andy Wingo  <wingo@pobox.com>
12054
12055         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12056         convert a negative value. Doesn't make much sense. Mostly this is
12057         here to force callers to ensure -1 maps to -1.
12058
12059 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12060
12061         * docs/pwg/advanced-types.xml:
12062           Well done to Michael for catching my deliberate introduction
12063           of this spelling mistake. 
12064         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12065         * gst/gstelement.h:
12066           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12067           unlink pads before removing the element from the bin.
12068
12069 2005-08-24  Andy Wingo  <wingo@pobox.com>
12070
12071         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12072         the same thing as GST_DEBUG=*:4.
12073         (parse_debug_level, parse_debug_category): New helper parsers.
12074
12075 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12076
12077         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12078         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12079         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12080         (gst_base_transform_buffer_alloc),
12081         (gst_base_transform_handle_buffer):
12082           use gboolean return values and pointers to size so we can use the
12083           full GST_BUFFER_SIZE range (guint) for buffer sizes
12084           use GstPadDirection for transform_caps
12085         * gst/base/gstbasetransform.h:
12086           rename get_size to get_unit_size since that's what it is
12087         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12088           use GstPadDirection for transform_caps
12089         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12090         * gst/gstutils.h:
12091           cleanup and debugging
12092
12093 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12094
12095         * gst/gstelement.c: (gst_element_class_init),
12096         (gst_element_set_state), (activate_pads),
12097         (gst_element_save_thyself):
12098         * tools/gst-compprep.c: (main):
12099         * tools/gst-inspect.c: (print_element_properties_info):
12100         * tools/gst-xmlinspect.c: (print_element_properties):
12101           Fixed long standing mem-leak
12102
12103 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12104
12105         * check/gst/gstbin.c: (GST_START_TEST):
12106         * gst/gstbin.c: (bin_bus_handler):
12107         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12108         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12109         (gst_message_new_warning), (gst_message_new_tag),
12110         (gst_message_new_state_changed), (gst_message_new_segment_start),
12111         (gst_message_new_segment_done), (gst_message_new_custom):
12112         * gst/gstmessage.h:
12113         * tools/gst-launch.c: (event_loop):
12114         * tools/gst-md5sum.c: (event_loop):
12115           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12116           that applications can sensibly post custom messages with references
12117           to their own objects.
12118
12119 2005-08-24  Andy Wingo  <wingo@pobox.com>
12120
12121         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12122         already.
12123
12124 2005-08-24  Wim Taymans  <wim@fluendo.com>
12125
12126         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12127         (gst_base_transform_transform_caps),
12128         (gst_base_transform_transform_size),
12129         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12130         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12131         (gst_base_transform_handle_buffer):
12132         * gst/base/gstbasetransform.h:
12133         Many fixes and new features added by Thomas. Can now also do
12134         transforms with variable sizes and a custom fixate_caps function.
12135
12136 2005-08-24  Wim Taymans  <wim@fluendo.com>
12137
12138         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12139         Some debugging.
12140
12141         * gst/gstclock.h:
12142         Cast to ClockTime before formatting to time.
12143
12144         * gst/gstutils.h:
12145         Cleanups.
12146
12147 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12148
12149         * check/gst-libs/controller.c: (GST_START_TEST),
12150         (gst_controller_suite):
12151         * docs/gst/tmpl/gstcaps.sgml:
12152         * docs/gst/tmpl/gstghostpad.sgml:
12153         * docs/gst/tmpl/gstquery.sgml:
12154         * docs/gst/tmpl/gstutils.sgml:
12155         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12156         (gst_object_sink_values), (gst_object_get_value_arrays),
12157         (gst_object_get_value_array):
12158           gracefully handle helper method calls to objects that are not beeing
12159           controlled, added test case for that          
12160
12161 2005-08-23  Wim Taymans  <wim@fluendo.com>
12162
12163         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12164         (gst_event_new_newsegment), (gst_event_parse_newsegment),
12165         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12166         (gst_event_parse_qos), (gst_event_new_seek),
12167         (gst_event_parse_seek):
12168         * gst/gstevent.h:
12169         Some more debugging output and doc cleanups.
12170
12171         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12172         Fix possible deadlock.
12173
12174 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12175
12176         * docs/gst/gstreamer-docs.sgml:
12177         * docs/gst/gstreamer-sections.txt:
12178         * docs/gst/gstreamer.types:
12179         * docs/gst/tmpl/.cvsignore:
12180         * gst/gstbin.h:
12181         * gst/gstbus.c:
12182         * gst/gstelement.c:
12183         * gst/gstevent.h:
12184           added 100 symbols from gstreamer-unused.txt to the right sections
12185           fixed more broken comments
12186           added GstBus to docs
12187
12188 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12189
12190         * docs/gst/gstreamer-sections.txt:
12191         * docs/gst/tmpl/.cvsignore:
12192         * docs/gst/tmpl/gstbin.sgml:
12193         * docs/gst/tmpl/gstbuffer.sgml:
12194         * gst/base/gstbasesrc.c:
12195         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12196         * gst/gstbuffer.c:
12197         * gst/gstbuffer.h:
12198         * tools/gst-launch.1.in:
12199           inlined more doc comments, added missing comments and fixed comments
12200           fixed typos
12201
12202 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12203
12204         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12205           some debugging
12206         * gst/gstcaps.h:
12207           whitespace fixes
12208         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12209           more debugging
12210         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12211         * gst/gststructure.h:
12212           add a fixate function for booleans; add a FIXME that these func
12213           names should probably be gst_structure_fixate_*
12214
12215 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12216
12217         * docs/gst/gstreamer-docs.sgml:
12218         * docs/gst/gstreamer-sections.txt:
12219         * gst/Makefile.am:
12220         * gst/gstbin.c: (gst_bin_get_type),
12221         (gst_bin_child_proxy_get_child_by_index),
12222         (gst_bin_child_proxy_get_children_count),
12223         (gst_bin_child_proxy_init):
12224         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12225         (gst_child_proxy_get_child_by_index),
12226         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12227         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12228         (gst_child_proxy_get), (gst_child_proxy_set_property),
12229         (gst_child_proxy_set_valist), (gst_child_proxy_set),
12230         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12231         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12232         * gst/gstchildproxy.h:
12233         * gst/parse/grammar.y:
12234         * tools/gst-inspect.c: (print_interfaces),
12235         (print_element_properties_info), (print_element_info):
12236           ported gstchildproxy over from 0.8
12237           ported gst-inspect fixes and enhancements over from 0.8
12238
12239 2005-08-22  Wim Taymans  <wim@fluendo.com>
12240
12241         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12242         (gst_base_transform_handle_buffer):
12243         Also call the transform function if we have ANY caps.
12244
12245         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12246         Fix debug info.
12247
12248 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12249
12250         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12251           Don't pretend to handle seek events if the source is not seekable
12252
12253 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12254
12255         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12256           Remove extra parameter to debug output
12257
12258         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12259         (gst_base_src_do_seek), (gst_base_src_activate_push):
12260           Fix seek event handling.
12261
12262         * gst/gstpipeline.c: (gst_pipeline_change_state):
12263         * gst/gstqueue.c: (gst_queue_handle_sink_event),
12264         (gst_queue_src_activate_push):
12265           Don't start the src pad task on FLUSH_STOP if the pad
12266           isn't linked.
12267           Debug changes.
12268
12269 2005-08-22  Wim Taymans  <wim@fluendo.com>
12270
12271         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12272         Added check for gst_static_caps_get() refcounting.
12273
12274 2005-08-22  Wim Taymans  <wim@fluendo.com>
12275
12276         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12277         Make _static_caps_get() refcounting sane.
12278         
12279         * gst/gstelement.c: (gst_element_set_state):
12280         Add g_return_val_if_fail() to protect against segfaults.
12281
12282 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
12283
12284         * docs/gst/tmpl/gstevent.sgml:
12285         * gst/gstevent.c:
12286         * gst/gstevent.h:
12287           inlined remaining docs, added missing doc comments
12288
12289 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12290
12291         * check/gst/gstbin.c: (GST_START_TEST):
12292           since we don't know when preroll is done, use refcount range
12293           check for the sink
12294         * gst/check/gstcheck.h:
12295           add macro for checking refcount range
12296
12297 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12298
12299         * check/Makefile.am:
12300           clean up environment for when registry gets built versus
12301           when actual tests are run; valgrind seems to not report
12302           leaks if GST_PLUGIN_PATH is set to some specific values
12303         * check/gst/gstbin.c: (GST_START_TEST):
12304           add more refcounting checks; maybe this exposes a
12305           preroll lock bug ?
12306         * common/check.mak:
12307         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12308         * gst/check/gstcheck.h:
12309         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12310         (gst_bin_change_state):
12311         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12312           add/fix debugging/whitespace
12313
12314 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12315
12316         * check/gst/gstevent.c: (event_probe), (test_event),
12317         (GST_START_TEST):
12318          Er, don't call gst_bin_watch_for_state_change you idiot.
12319
12320 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12321
12322         * check/Makefile.am:
12323           Use CHECK_CFLAGS and CHECK_LIBS
12324         * check/gst/gstevent.c: (event_probe), (test_event),
12325         (GST_START_TEST):
12326           Don't leak events.
12327         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12328         (gst_base_src_start), (gst_base_src_stop),
12329         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12330         (gst_base_src_change_state):
12331           Sprinkle gst_base_src_stop liberally around error paths to fix
12332           problems reusing a source after failed state changes.
12333         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12334         (helper_find_suggest), (gst_type_find_helper):
12335           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12336         * gst/gstevent.h:
12337         * docs/gst/tmpl/gstevent.sgml:
12338           Migrate part of the docs from the SGML file. Wait for ensonic to
12339           tell me how I did it wrong ;)
12340         * tools/gst-typefind.c: (main):
12341           Extra robustness to state changes between files.
12342
12343 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12344
12345         * check/Makefile.am:
12346           don't valgrind the controller test - it's leaking - Stefan, HELP
12347         * gst/check/gstcheck.c: (gst_check_message_error),
12348         (gst_check_chain_func), (gst_check_setup_element),
12349         (gst_check_teardown_element), (gst_check_setup_src_pad),
12350         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12351         (gst_check_teardown_sink_pad):
12352         * gst/check/gstcheck.h:
12353           add a bunch of methods to set up elements, and src and sink pads
12354         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12355         * check/elements/identity.c: (setup_identity), (cleanup_identity),
12356         (GST_START_TEST):
12357           use them
12358         * gst/gstmessage.c:
12359         * gst/gsttag.h:
12360           whitespace/doc fixes
12361
12362 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12363
12364         * gst/gstelement.h:
12365           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12366           be handled by the application and not always printed as well
12367
12368 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12369
12370         * check/Makefile.am:
12371           set GST_TOOLS_DIR
12372         * gst/check/gstcheck.c: (gst_check_message_error):
12373         * gst/check/gstcheck.h:
12374           add a fail_unless_equals_int
12375           add fail_unless for error messages
12376
12377 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12378
12379         * check/Makefile.am:
12380         * check/gst.supp:
12381         * common/Makefile.am:
12382         * common/check.mak:
12383         * common/gst.supp:
12384           factor out some of the common stuff so we can use it
12385
12386 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12387
12388         * check/Makefile.am:
12389         * check/gst/gstiterator.c: (GST_START_TEST):
12390         * check/gst/gstsystemclock.c: (GST_START_TEST),
12391         (gst_systemclock_suite):
12392         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12393         * gst/gstclock.c:
12394           valgrind more tests
12395
12396 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12397
12398         * check/elements/.cvsignore:
12399         * check/elements/gstfakesrc.c:
12400           rename to name of element
12401         * check/elements/identity.c: (chain_func), (event_func),
12402         (setup_identity), (cleanup_identity), (GST_START_TEST),
12403         (identity_suite), (main):
12404           add a test for identity
12405         * check/Makefile.am:
12406         * pkgconfig/Makefile.am:
12407         * pkgconfig/gstreamer-check.pc.in:
12408         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12409         * gst/check:
12410         * gst/Makefile.am:
12411         * configure.ac:
12412           move the check stuff to a library that gets installed
12413         * check/gst-libs/controller.c: (GST_START_TEST):
12414         * check/gst-libs/gdp.c:
12415         * check/gst/gst.c: (GST_START_TEST):
12416         * check/gst/gstbin.c:
12417         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12418         * check/gst/gstbus.c:
12419         * check/gst/gstcaps.c: (GST_START_TEST):
12420         * check/gst/gstelement.c:
12421         * check/gst/gstghostpad.c:
12422         * check/gst/gstiterator.c:
12423         * check/gst/gstmessage.c:
12424         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12425         * check/gst/gstobject.c:
12426         * check/gst/gstpad.c: (GST_START_TEST):
12427         * check/gst/gststructure.c: (GST_START_TEST):
12428         * check/gst/gstsystemclock.c: (GST_START_TEST),
12429         (gst_systemclock_suite):
12430         * check/gst/gsttag.c: (gst_tag_suite):
12431         * check/gst/gstvalue.c:
12432         * check/pipelines/cleanup.c:
12433         * check/pipelines/simple_launch_lines.c:
12434         * check/states/sinks.c:
12435           change include statement
12436
12437         * docs/gst/gstreamer-sections.txt:
12438         * docs/gst/tmpl/gstpad.sgml:
12439           document more pad stuff
12440         * gst/gstminiobject.c: (gst_mini_object_ref),
12441         (gst_mini_object_unref):
12442           debug refcounting
12443
12444 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
12445
12446         * docs/gst/tmpl/gst.sgml:
12447         * gst/gst.c:
12448           eliminate another tmpl file, fix spelling in the long-description
12449
12450 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12451
12452         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12453         (test_event), (timediff), (gstevents_suite):
12454           Should fix build on 64-bit arch's
12455
12456 2005-08-18  Andy Wingo  <wingo@pobox.com>
12457
12458         Make sure that when a pipeline goes to PLAYING, that data has
12459         actually hit the sink.
12460
12461         * check/states/sinks.c (test_sink): A sink that doesn't get any
12462         data shouldn't return SUCCESS for going to either PLAYING or
12463         PAUSED. Test also the return values on the way back down.
12464
12465         * gst/gstelement.c (gst_element_set_state): When changing the
12466         state of an element currently changing state asynchronously, go to
12467         lost-state after commiting the pending state. Makes future calls
12468         to get_state continue to return ASYNC.
12469
12470         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12471         ASYNC when going to PLAYING if we still don't have preroll, as can
12472         happen with live sources.
12473
12474 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12475
12476         * docs/pwg/advanced-types.xml:
12477           Hack long paragraph into 2 chunks as a workaround for buggy
12478           jadetex version in sid and breezy that loops infinitely and
12479           eats all RAM.
12480
12481 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12482
12483         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12484         (test_event), (timediff), (gstevents_suite):
12485           Provide more error margin in clock measurements to allow for 
12486           g_get_current_time inaccuracies.
12487
12488 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12489
12490         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12491         (test_event), (timediff), (gstevents_suite):
12492            Fix error message output so I might be able to tell why the
12493            test works here but fails on the build farm.
12494
12495 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12496
12497         * check/Makefile.am:
12498         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12499         (test_event), (timediff), (gstevents_suite), (main):
12500           I wrote a test!
12501
12502         * docs/design/part-seeking.txt:
12503           Spelling correction
12504
12505         * docs/gst/tmpl/gstevent.sgml:
12506         * docs/gst/tmpl/gstfakesrc.sgml:
12507           Docs updates.
12508
12509         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12510           Treat a buffer-without-newsegment the same as a receiving 
12511           a newsegment not in time format, and disable syncing to the clock
12512           with a warning.
12513
12514         * gst/gstbus.c: (gst_bus_set_sync_handler):
12515           Assert if anyone tries to replace the existing sync_handler for bus, 
12516           as only the owner should be setting it.
12517
12518         * gst/gstevent.h:
12519           Have a fixed set of custom event enums with events identified by
12520           their structure name (as in 0.8), rather than a free-for-all
12521           allowing collisions between enum values from different plugins.
12522
12523         * gst/gstpad.c: (gst_pad_class_init):
12524           Docs change.
12525           
12526         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12527           Handle out-of-band downstream events from the sending thread.
12528
12529 2005-08-17  Andy Wingo  <wingo@pobox.com>
12530
12531         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
12532         play-timeout==0 to mean no timeout at all. In that case, don't
12533         bother with a get_state or a warning, just return directly, even
12534         if it's ASYNC.
12535
12536         * gst/base/gstbasetransform.c: Debug changes.
12537
12538         * gst/gstutils.h:
12539         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
12540         ensure bins post state change messages. A bit of a hack but I can't
12541         think of a way to avoid it.
12542
12543         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
12544
12545 2005-08-16  Andy Wingo  <wingo@pobox.com>
12546
12547         * gst/base/gstadapter.h:
12548         * gst/base/gstadapter.c (gst_adapter_take): New function, like
12549         peek() but you own the data. Not terribly efficient atm.
12550
12551 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12552
12553         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
12554         (gst_element_found_tags):
12555         * gst/gstutils.h:
12556           Add two utility functions for tag handling.
12557
12558 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12559
12560         * docs/manual/advanced-dataaccess.xml:
12561         * docs/manual/basics-helloworld.xml:
12562           Fix docs to use _bin_add() before _link(), which fixes the examples
12563           with recent core versions (reported by Madhan Raj M
12564           <raj_madan@rediffmail.com>, #313199).
12565
12566 2005-08-16  Wim Taymans  <wim@fluendo.com>
12567
12568         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12569         Added subtract checks.
12570
12571         * docs/design/part-events.txt:
12572         Some more docs about newsegment
12573
12574         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12575         Fix FIXME
12576
12577         * gst/gstcaps.c: (gst_caps_to_string):
12578         Add comments, cleanups.
12579         
12580         * gst/gstelement.c: (gst_element_save_thyself):
12581         cleanups
12582         
12583         * gst/gstvalue.c: (gst_value_collect_int_range),
12584         (gst_string_unwrap), (gst_value_union_int_int_range),
12585         (gst_value_union_int_range_int_range),
12586         (gst_value_intersect_int_int_range),
12587         (gst_value_intersect_int_range_int_range),
12588         (gst_value_intersect_double_double_range),
12589         (gst_value_intersect_double_range_double_range),
12590         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
12591         (gst_value_subtract_int_range_int),
12592         (gst_value_subtract_double_range_double),
12593         (gst_value_subtract_double_range_double_range),
12594         (gst_value_subtract_from_list), (gst_value_subtract_list),
12595         (gst_value_can_compare), (gst_value_compare_fraction):
12596         Cleanups, add comments, remove unneeded asserts.
12597
12598 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12599
12600         * tools/gst-launch.c: (event_loop):
12601           don't convert NULL structures to strings
12602
12603 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
12604
12605         * docs/gst/gstreamer-sections.txt:
12606           made some defines private
12607         * docs/gst/tmpl/gstconfig.sgml:
12608         * docs/gst/tmpl/gstqueue.sgml:
12609         * docs/gst/tmpl/gsttaglist.sgml:
12610         * docs/gst/tmpl/gsttypes.sgml:
12611         * docs/gst/tmpl/gstutils.sgml:
12612         * docs/pwg/appendix-porting.xml:
12613         * gst/base/gstbasesink.h:
12614         * gst/base/gstbasesrc.c:
12615         * gst/base/gstbasesrc.h:
12616         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
12617         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
12618         * gst/gstelement.c: (gst_element_class_init):
12619         * gst/gstpad.c: (gst_pad_class_init):
12620         * gst/gstqueue.c: (gst_queue_class_init):
12621         * gst/gstxml.c: (gst_xml_class_init):
12622           documented all undocumented signal inline
12623         * libs/gst/controller/gst-controller.h:
12624           added padding
12625
12626 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12627
12628         * docs/pwg/appendix-porting.xml:
12629           Document _set_link_function -> _set_setcaps_function.
12630
12631 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12632
12633         * check/Makefile.am:
12634           add a .check target for running the check
12635         * check/gst-libs/controller.c: (GST_START_TEST):
12636           cosmetic fixups
12637         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12638           complete checks for gstbuffer; would be nice if I could get the
12639           gcov stuff to work so I can see if I actually completed gstbuffer.c
12640         * check/gstcheck.h:
12641           add ASSERT_BUFFER_REFCOUNT
12642
12643 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
12644
12645         * docs/gst/gstreamer-sections.txt:
12646         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12647         * gst/gsttag.h:
12648           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
12649           spew out a warning if a tag that is already registered
12650           is re-registered, unless it is re-registered with a 
12651           different type (#308438).
12652
12653 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
12654
12655         * docs/pwg/appendix-porting.xml:
12656         * docs/pwg/building-state.xml:
12657           Add some paragraphs about state changes in 0.9 to the PWG
12658           and the porting guide, in particular about the new meaning
12659           of GST_STATE_PAUSED and how to write state change functions
12660           with concurrent access by multiple threads in mind.
12661
12662 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
12663
12664         * docs/gst/gstreamer-docs.sgml:
12665         * docs/libs/gstreamer-libs-docs.sgml:
12666           added deprecation and since indexes
12667         * libs/gst/controller/gst-controller.c:
12668         * libs/gst/controller/gst-helper.c:
12669           added since tags
12670
12671
12672 2005-08-11  Wim Taymans  <wim@fluendo.com>
12673
12674         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
12675         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
12676         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
12677         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
12678         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
12679         (gst_ghost_pad_set_target):
12680         Actually implement (re)setting the target on a ghostpad
12681         as described in the docs.
12682
12683 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12684
12685         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
12686           Check whether GST_DEBUG_NO_COLOR environment variable is
12687           set and disable coloured debug output if that is the case.
12688
12689 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12690
12691         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12692         (gst_type_find_helper):
12693           The memory returned by gst_type_find_peek() needs to
12694           stay valid until the end of a typefind function, and
12695           typefind functions may keep results from different 
12696           offsets around, so we can't just unref the buffer from
12697           the previous _peek(), but have to save all buffers 
12698           returned by _peek() until typefinding is done and only
12699           free them then.
12700
12701 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12702
12703         * docs/gst/gstreamer-sections.txt:
12704         * gst/gstutils.h:
12705           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
12706
12707 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12708
12709         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12710           Fix a pretty good memleak.
12711
12712 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12713
12714         * gst/gstiterator.h:
12715           Fix wrong include and 'make distcheck'.
12716
12717 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12718
12719         * gst/gstbin.c: (bin_bus_handler):
12720           Use gst_element_post_message() instead.
12721
12722 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12723
12724         * gst/base/gstadapter.h:
12725         * gst/base/gstbasesink.h:
12726         * gst/base/gstbasesrc.h:
12727         * gst/base/gstbasetransform.h:
12728         * gst/base/gstcollectpads.h:
12729         * gst/base/gstpushsrc.h:
12730         * gst/gstiterator.h:
12731           Add padding to our base elements' class and instance structs and
12732           to GstIterator (you will need to rebuild all plugins and apps!)
12733
12734 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12735
12736         * gst/gstbin.c: (bin_bus_handler):
12737           Make default message forwarding from child->bus to bin->bus
12738           threadsafe and make it not emit warnings if the parent has no bus.
12739
12740 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12741
12742         * gst/gstelement.c: (activate_pads):
12743           On paused->ready, set pad->caps to NULL, as is the documented
12744           behaviour in this state change. Fixes playback of series of
12745           media files when visualization is enabled in Totem.
12746
12747 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12748
12749         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12750           Allow NULL as filter-caps (which means "any").
12751
12752 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12753
12754         * docs/libs/gstreamer-libs-sections.txt:
12755         * libs/gst/controller/gst-controller.c:
12756         * libs/gst/controller/gst-controller.h:
12757         * libs/gst/controller/gst-helper.c:
12758           adding more entries to the docs and fix small doc-bugs
12759
12760 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12761
12762         * docs/gst/gstreamer-docs.sgml:
12763         * docs/gst/gstreamer-sections.txt:
12764         * docs/gst/gstreamer.types:
12765         * docs/gst/tmpl/gstbasesink.sgml:
12766         * docs/gst/tmpl/gstbasesrc.sgml:
12767         * docs/gst/tmpl/gstbasetransform.sgml:
12768         * docs/gst/tmpl/gstfakesrc.sgml:
12769         * gst/base/gstcollectpads.c:
12770         * gst/base/gstcollectpads.h:
12771         * libs/gst/controller/gst-controller.c:
12772         * libs/gst/controller/gst-controller.h:
12773         * libs/gst/controller/gst-helper.c:
12774         * libs/gst/controller/gst-interpolation.c:
12775         * libs/gst/controller/lib.c:
12776           added long/short desc for controller docs
12777           added collectpads base class docs
12778           added correct includes to base-class docs
12779
12780 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12781
12782         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12783         (gst_test_mono_source_set_property),
12784         (gst_test_mono_source_class_init), (GST_START_TEST),
12785         (gst_controller_suite):
12786         * docs/gst/gstreamer-docs.sgml:
12787         * docs/gst/gstreamer-sections.txt:
12788         * docs/gst/gstreamer.types:
12789         * docs/libs/gstreamer-libs-docs.sgml:
12790         * docs/libs/gstreamer-libs-sections.txt:
12791         * gst/base/gstadapter.c:
12792         * libs/gst/controller/gst-controller.c:
12793         (gst_controlled_property_new), (gst_controlled_property_free),
12794         (gst_controller_new_valist),
12795         (gst_controller_remove_properties_valist),
12796         (gst_controller_sink_values), (_gst_controller_finalize):
12797         * libs/gst/controller/gst-controller.h:
12798         * libs/gst/controller/gst-helper.c:
12799         (gst_object_control_properties), (gst_object_uncontrol_properties),
12800         (gst_object_get_controller), (gst_object_set_controller),
12801         (gst_object_sink_values), (gst_object_get_value_arrays),
12802         (gst_object_get_value_array):
12803           more tests (and fixes) for the controller
12804           more docs for the controller
12805           integrated companies docs for the adapter 
12806
12807 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12808
12809         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
12810         (GST_START_TEST), (fakesrc_suite):
12811           add tests for sizetype
12812
12813 2005-08-04  Andy Wingo  <wingo@pobox.com>
12814
12815         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
12816         fixes buffer_alloc proxying among other things.
12817
12818         * gst/base/gstbasetransform.c:
12819         * gst/base/gstbasetransform.h:
12820         Revert patch to gstbasetransform from 7-28 removing
12821         delay_configure.
12822
12823         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
12824         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
12825         Semantics changed, should return not the size of the output buffer
12826         but the byte size of a buffer with a given caps.
12827
12828         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
12829         debug object.
12830         (gst_base_transform_configure_caps): Don't set out_size here: (in,
12831         out) are not the pad caps until setcaps finishes.
12832         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
12833         not-in-place case as well. Deal with changing from in-place to
12834         not-in-place within calling pad_alloc_buffer. Still a bit
12835         concerned about the overhead here...
12836
12837 2005-08-03  Andy Wingo  <wingo@pobox.com>
12838
12839         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
12840         fixating is an error.
12841
12842 2005-08-04  Edward Hervey  <edward@fluendo.com>
12843
12844         * gst/base/gstadapter.h: 
12845         Added gst_adapter_get_type() to the header
12846
12847 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12848
12849         * check/Makefile.am:
12850         * check/gst-libs/controller.c:
12851         * libs/gst/controller/gst-controller.c:
12852         (gst_controller_new_valist):
12853           added check test suite for the controller
12854         * gst/base/gstpushsrc.c:
12855           fixed a doc typo
12856
12857 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12858
12859         * docs/gst/Makefile.am:
12860         * docs/gst/gstreamer-docs.sgml:
12861         * docs/gst/gstreamer-sections.txt:
12862         * docs/gst/gstreamer.types:
12863         * docs/gst/tmpl/gstfakesrc.sgml:
12864         * gst/base/README:
12865         * gst/base/gstbasesink.c:
12866         * gst/base/gstbasesink.h:
12867         * gst/base/gstbasesrc.c:
12868         * gst/base/gstbasesrc.h:
12869         * gst/base/gstbasetransform.c:
12870         * gst/base/gstpushsrc.c:
12871         * gst/base/gstpushsrc.h:
12872           add short/long description docs to base classes
12873           add pushsrc to the docs
12874           remove consolidated doc fragments
12875
12876 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12877
12878         * configure.ac:
12879         * docs/libs/Makefile.am:
12880         * docs/libs/gstreamer-libs-docs.sgml:
12881         * docs/libs/gstreamer-libs-sections.txt:
12882         * docs/libs/gstreamer-libs.types:
12883         * examples/Makefile.am:
12884         * examples/controller/.cvsignore:
12885         * examples/controller/Makefile.am:
12886         * examples/controller/audio-example.c: (main):
12887         * libs/gst/Makefile.am:
12888         * libs/gst/controller/.cvsignore:
12889         * libs/gst/controller/Makefile.am:
12890         * libs/gst/controller/gst-controller.c:
12891         (on_object_controlled_property_changed), (gst_timed_value_compare),
12892         (gst_timed_value_find),
12893         (gst_controlled_property_set_interpolation_mode),
12894         (gst_controlled_property_new), (gst_controlled_property_free),
12895         (gst_controller_find_controlled_property),
12896         (gst_controller_new_valist), (gst_controller_new),
12897         (gst_controller_remove_properties_valist),
12898         (gst_controller_remove_properties), (gst_controller_set),
12899         (gst_controller_set_from_list), (gst_controller_unset),
12900         (gst_controller_get), (gst_controller_get_all),
12901         (gst_controller_sink_values), (gst_controller_get_value_arrays),
12902         (gst_controller_get_value_array),
12903         (gst_controller_set_interpolation_mode),
12904         (_gst_controller_finalize), (_gst_controller_init),
12905         (_gst_controller_class_init), (gst_controller_get_type):
12906         * libs/gst/controller/gst-controller.h:
12907         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
12908         (g_object_uncontrol_properties), (g_object_get_controller),
12909         (g_object_set_controller), (g_object_sink_values),
12910         (g_object_get_value_arrays), (g_object_get_value_array):
12911         * libs/gst/controller/gst-interpolation.c:
12912         (gst_controlled_property_find_timed_value_node),
12913         (interpolate_none_get), (interpolate_trigger_get),
12914         (interpolate_trigger_get_value_array):
12915         * libs/gst/controller/lib.c: (gst_controller_init):
12916         * pkgconfig/Makefile.am:
12917         * pkgconfig/gstreamer-control-uninstalled.pc.in:
12918         * pkgconfig/gstreamer-control.pc.in:
12919         * testsuite/Makefile.am:
12920         * testsuite/controller/.cvsignore:
12921         * testsuite/controller/Makefile.am:
12922         * testsuite/controller/interpolator.c: (main):
12923           added controller code
12924           removed dparam pc files
12925
12926 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12927         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
12928         (gst_collectpads_stop):
12929           Broadcast the condition when shutting down, to make sure we wake all
12930           threads up. Shut down pads on finalize, for safety.
12931
12932 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12933         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12934         (gst_base_transform_handle_buffer),
12935         (gst_base_transform_change_state):
12936           Handle PAUSED->READY->PAUSED transition after negotiation
12937           occurred already.
12938         * gst/gstmessage.c: (gst_message_init):
12939           Extra piece of debug for new messages.
12940
12941 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
12942
12943         * configure.ac:
12944         * docs/gst/tmpl/gstbasesrc.sgml:
12945         * docs/gst/tmpl/gstelement.sgml:
12946         * docs/gst/tmpl/gstevent.sgml:
12947         * docs/gst/tmpl/gstfakesrc.sgml:
12948         * docs/gst/tmpl/gstformat.sgml:
12949         * docs/gst/tmpl/gstghostpad.sgml:
12950         * docs/gst/tmpl/gstpad.sgml:
12951         * docs/gst/tmpl/gstquery.sgml:
12952         * docs/gst/tmpl/gststructure.sgml:
12953         * docs/gst/tmpl/gsttaglist.sgml:
12954         * docs/gst/tmpl/gstvalue.sgml:
12955         * docs/libs/gstreamer-libs-docs.sgml:
12956         * docs/libs/gstreamer-libs-sections.txt:
12957         * docs/libs/gstreamer-libs.types:
12958         * libs/gst/Makefile.am:
12959         * libs/gst/control/.cvsignore:
12960         * libs/gst/control/Makefile.am:
12961         * libs/gst/control/control.c:
12962         * libs/gst/control/control.h:
12963         * libs/gst/control/dparam.c:
12964         * libs/gst/control/dparam.h:
12965         * libs/gst/control/dparam_smooth.c:
12966         * libs/gst/control/dparam_smooth.h:
12967         * libs/gst/control/dparamcommon.h:
12968         * libs/gst/control/dparammanager.c:
12969         * libs/gst/control/dparammanager.h:
12970         * libs/gst/control/dplinearinterp.c:
12971         * libs/gst/control/dplinearinterp.h:
12972         * libs/gst/control/unitconvert.c:
12973         * libs/gst/control/unitconvert.h:
12974         * testsuite/Makefile.am:
12975         * testsuite/dynparams/.cvsignore:
12976         * testsuite/dynparams/Makefile.am:
12977         * testsuite/dynparams/dparamstest.c:
12978         * tools/Makefile.am:
12979         * tools/gst-inspect.c: (print_element_info), (main):
12980         * tools/gst-xmlinspect.c: (print_element_info), (main):
12981           deactivate and remove dparams (libgstcontrol)
12982
12983 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12984
12985         * gst/elements/gsttypefindelement.c:
12986         (gst_type_find_element_have_type), (gst_type_find_element_init),
12987         (stop_typefinding), (gst_type_find_element_handle_event),
12988         (gst_type_find_element_chain), (gst_type_find_element_getrange):
12989         * gst/elements/gsttypefindelement.h:
12990           Set caps on all outgoing buffers, not just the first one.
12991
12992 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
12993
12994         * gst/elements/gsttypefindelement.c:
12995         (gst_type_find_element_have_type),
12996         (gst_type_find_element_check_set_buffer_caps),
12997         (gst_type_find_element_init), (stop_typefinding),
12998         (gst_type_find_element_handle_event),
12999         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13000         * gst/elements/gsttypefindelement.h:
13001           Set caps on first outgoing buffer when we've found the type.
13002
13003 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13004
13005         * docs/gst/gstreamer-docs.sgml:
13006         * docs/gst/gstreamer-sections.txt:
13007         * docs/gst/tmpl/gstscheduler.sgml:
13008         * docs/gst/tmpl/gstschedulerfactory.sgml:
13009           Remove some old cruft from docs.
13010
13011 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
13012
13013         * gst/gstpad.h:
13014           Fix inline docs for GstPadLinkReturn.
13015           
13016         * gst/gststructure.c: (gst_structure_has_name):
13017         * gst/gststructure.h:
13018         * docs/gst/gstreamer-sections.txt:
13019           New API: gst_structure_has_name().
13020
13021 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
13022
13023         * configure.ac:
13024           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13025           and _LARGEFILE_SOURCE in config.h as required. Do not 
13026           export those flags in our .pc files any longer (#142209).
13027
13028           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13029
13030         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13031         (gst_file_sink_do_seek), (gst_file_sink_event),
13032         (gst_file_sink_get_current_offset), (gst_file_sink_render):
13033           Redo seek/tell calls with large file support in mind; add some
13034           debugging messages; add log message that tells us when large
13035           file support is unavailable or not enabled for some reason.
13036
13037         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13038           Add log message that tells us when large file support 
13039           is unavailable or not enabled for some reason.
13040
13041 2005-07-29  Wim Taymans  <wim@fluendo.com>
13042
13043         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13044         Added test for removing an element with ghostpad from a bin.
13045         Fixed test as current implementation does the right thing.
13046
13047         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13048         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13049         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13050         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13051         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13052         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13053         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13054         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13055         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13056         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13057         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13058         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13059         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13060         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13061         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13062         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13063         * gst/gstghostpad.h:
13064         Clean up ghostpads, remove properties for internal stuff.
13065         Make threadsafe.
13066         Fix refcounting.
13067         Prepare for switching targets, not all use cases work yet.
13068
13069 2005-07-29  Wim Taymans  <wim@fluendo.com>
13070
13071         * docs/design/part-gstghostpad.txt:
13072         Small update.
13073
13074         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13075         (gst_bin_remove_func):
13076         Unlinking pads while holding the bin LOCK is not a good
13077         idea.
13078
13079         * gst/gstpad.c: (gst_pad_class_init),
13080         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13081         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13082         No prob setting template after creating the pad.
13083
13084 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
13085
13086         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13087         (gst_bus_peek), (gst_bus_source_dispatch),
13088         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13089         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13090           gst_bus_poll may be called from other threads. Handle
13091           this nicely by not making poll_data disappear off the
13092           stack once gst_bus_poll returns.
13093           gst_bus_peek now increments the refcount on the returned
13094           message.
13095
13096 2005-07-29  Wim Taymans  <wim@fluendo.com>
13097
13098         * docs/design/part-gstghostpad.txt:
13099         Overview of current GhostPad datastructures and use
13100         cases for changing the target.
13101
13102 2005-07-28  Wim Taymans  <wim@fluendo.com>
13103
13104         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13105         Added checks for hierarchy consistency whan adding linked
13106         elements to bins.
13107
13108         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13109         Added check to test element scheduling without bin/pipeline.
13110
13111         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13112         First add elements to bin, then link.
13113         
13114         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13115         (gst_bin_remove_func):
13116         Unlink pads from elements added/removed from bin to maintain
13117         hierarchy consistency.
13118
13119 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13120
13121         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13122         (gst_base_transform_handle_buffer):
13123         * gst/base/gstbasetransform.h:
13124           Remove broken delay_configure (fixes renegotiation of software
13125           scaling pipelines); remove some leftover printf()s.
13126
13127 2005-07-28  Wim Taymans  <wim@fluendo.com>
13128
13129         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13130         Added some more tests for wrong hierarchy
13131
13132         * docs/design/part-overview.txt:
13133         Some updates.
13134
13135         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13136         Cleanups.
13137
13138         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13139         (gst_element_dispose):
13140         Some more cleanups.
13141
13142         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13143         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13144         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13145         (gst_pad_set_caps), (gst_pad_send_event):
13146         Check for correct hierarchy when linking pads. Moving to
13147         strict requirement for ghostpads when linking elements in
13148         different bins.
13149
13150         * gst/gstpad.h:
13151         Clean ups. Added WRONG_HIERARCHY return value.
13152
13153 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13154
13155         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13156           Better debug if no transform is possible.
13157
13158 2005-07-27  Wim Taymans  <wim@fluendo.com>
13159
13160         * docs/random/wtay/network-transp:
13161         Some old doc I had.
13162
13163 2005-07-27  Wim Taymans  <wim@fluendo.com>
13164
13165         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13166         (gst_dp_event_from_packet):
13167         Fix serialization of seek events.
13168
13169 2005-07-27  Wim Taymans  <wim@fluendo.com>
13170
13171         * check/gst-libs/gdp.c: (GST_START_TEST):
13172         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13173         Fix compilation and fix event serialization.
13174
13175 2005-07-27  Wim Taymans  <wim@fluendo.com>
13176
13177         * CHANGES-0.9:
13178         * docs/design/part-TODO.txt:
13179         * docs/design/part-events.txt:
13180         Some docs updates
13181
13182         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13183         (gst_base_sink_event), (gst_base_sink_do_sync),
13184         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13185         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13186         (gst_base_src_do_seek), (gst_base_src_event_handler),
13187         (gst_base_src_loop):
13188         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13189         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13190         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13191         (gst_base_transform_event), (gst_base_transform_handle_buffer),
13192         (gst_base_transform_set_passthrough),
13193         (gst_base_transform_is_passthrough):
13194         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13195         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13196         Event updates.
13197
13198         * gst/gstbuffer.h:
13199         Use faster casts.
13200
13201         * gst/gstelement.c: (gst_element_seek):
13202         * gst/gstelement.h:
13203         Update gst_element_seek.
13204
13205         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13206         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13207         (gst_event_new_flush_start), (gst_event_new_flush_stop),
13208         (gst_event_new_eos), (gst_event_new_newsegment),
13209         (gst_event_parse_newsegment), (gst_event_new_tag),
13210         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13211         (gst_event_parse_qos), (gst_event_new_seek),
13212         (gst_event_parse_seek), (gst_event_new_navigation):
13213         * gst/gstevent.h:
13214         Make GstEvent use GstStructure. Add parsing code, make sure the
13215         API is sufficiently generic.
13216         Mark possible directions of events and serialization.
13217
13218         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13219         (_gst_message_copy), (gst_message_new_segment_start),
13220         (gst_message_new_segment_done), (gst_message_new_custom),
13221         (gst_message_parse_segment_start),
13222         (gst_message_parse_segment_done):
13223         Small cleanups.
13224
13225         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13226         (gst_pad_set_caps), (gst_pad_send_event):
13227         Update for new events. 
13228         Catch events sent in wrong directions.
13229
13230         * gst/gstqueue.c: (gst_queue_link_src),
13231         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13232         (gst_queue_handle_src_query):
13233         Event updates.
13234
13235         * gst/gsttag.c:
13236         * gst/gsttag.h:
13237         Remove event code from this file.
13238
13239         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13240         (gst_dp_event_from_packet):
13241         Event updates.
13242
13243 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13244
13245         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13246         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13247         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13248           Make debugging actually useful.
13249
13250 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13251
13252         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13253         (gst_pad_fixate_caps):
13254           Implement default fixation once again, so that gst_pad_fixate()
13255           actually does anything at all. This probably needs to be some
13256           sort of a last resort, and use profile-based fixation first, but
13257           since that doesn't exist yet, this is the best we have. Fixes
13258           visualization in Totem.
13259
13260 2005-07-22  Wim Taymans  <wim@fluendo.com>
13261
13262         * docs/design/part-events.txt:
13263         Small update.
13264
13265         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13266         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13267         (gst_base_sink_activate_pull):
13268         Some more comments.
13269
13270         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13271         (gst_fake_src_create):
13272         Fix handoff marshall.
13273
13274         * gst/elements/gstidentity.c: (gst_identity_class_init),
13275         (gst_identity_transform_ip):
13276         We're a real inplace element.
13277
13278         * gst/gstbus.c: (gst_bus_post):
13279         Added some comments.
13280
13281         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13282         * tests/muxing/case1.c: (main):
13283         * tests/sched/dynamic-pipeline.c: (main):
13284         * tests/sched/interrupt1.c: (main):
13285         * tests/sched/interrupt2.c: (main):
13286         * tests/sched/interrupt3.c: (main):
13287         * tests/sched/runxml.c: (main):
13288         * tests/sched/sched-stress.c: (main):
13289         * tests/seeking/seeking1.c: (event_received), (main):
13290         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13291         (main):
13292         * tests/threadstate/threadstate3.c: (main):
13293         * tests/threadstate/threadstate4.c: (main):
13294         * tests/threadstate/threadstate5.c: (main):
13295         Fix the tests.
13296
13297 2005-07-21  Wim Taymans  <wim@fluendo.com>
13298
13299         * docs/design/part-seeking.txt:
13300         Some small additions.
13301
13302         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13303         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13304         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13305         * gst/base/gstbasesink.h:
13306         discont values are gint64, handle the math correctly.
13307
13308         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13309         Make the basesrc report error if the source pad is not linked.
13310
13311         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13312         (gst_queue_loop), (gst_queue_handle_src_query),
13313         (gst_queue_src_activate_push):
13314         Make queue collect data even if the srcpad is not linked.
13315         Start pushing out data as soon as it is linked.
13316
13317         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13318         * gst/gstutils.h:
13319         Added gst_flow_get_name() to ease error reporting.
13320
13321 2005-07-20  Wim Taymans  <wim@fluendo.com>
13322
13323         * gst/gstmessage.c: (gst_message_new_segment_start),
13324         (gst_message_new_segment_done), (gst_message_parse_segment_start),
13325         (gst_message_parse_segment_done):
13326         * gst/gstmessage.h:
13327         Added a bunch of messages for advanced seeking.
13328
13329         * gst/parse/grammar.y:
13330         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13331         (gst_dpman_state_changed):
13332         Fix some new-pad -> pad-added signals
13333
13334 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13335
13336         * docs/manual/appendix-porting.xml:
13337         * docs/pwg/appendix-porting.xml:
13338           Document new-pad/state-change signal renames and the FixedList
13339           type rename.
13340
13341 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13342
13343         * docs/manual/advanced-autoplugging.xml:
13344         * docs/manual/basics-helloworld.xml:
13345         * docs/manual/basics-pads.xml:
13346         * docs/random/ds/0.9-suggested-changes:
13347         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13348         * gst/gstelement.h:
13349         * gst/gstevent.h:
13350         * gst/gstformat.h:
13351         * gst/gstquery.h:
13352         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13353         (gst_structure_parse_array), (gst_structure_parse_value):
13354         * gst/gstvalue.c: (gst_type_is_fixed),
13355         (gst_value_list_prepend_value), (gst_value_list_append_value),
13356         (gst_value_list_get_size), (gst_value_list_get_value),
13357         (gst_value_transform_array_string), (gst_value_serialize_array),
13358         (gst_value_deserialize_array), (gst_value_intersect_array),
13359         (gst_value_is_fixed), (_gst_value_initialize):
13360         * gst/gstvalue.h:
13361           GstElement::new-pad -> pad-added, GstElement::state-change ->
13362           state-changed, GstValueFixedList -> GstValueArray, add format and
13363           flags as their own arguments in gst_element_seek() (should improve
13364           "bindeability"), remove function generators since they don't work
13365           under a whole bunch of compilers (they were deprecated already
13366           anyway).
13367
13368 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13369
13370         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13371         (_gst_debug_register_funcptr):
13372         * gst/gstinfo.h:
13373           Fix illegal cast on some platforms (#309253).
13374
13375 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13376
13377         * gst/gstmessage.c: (gst_message_new_custom):
13378         * gst/gstmessage.h:
13379           Add _new_custom, make _new_application a macro to _new_custom.
13380
13381 2005-07-20  Wim Taymans  <wim@fluendo.com>
13382
13383         * gst/base/gstbasesrc.c: (gst_base_src_init),
13384         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13385         * gst/base/gstbasesrc.h:
13386         Add a gboolean to decide when to push out a discont.
13387
13388         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13389         (gst_queue_loop), (gst_queue_handle_src_query),
13390         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13391         (gst_queue_set_property), (gst_queue_get_property):
13392         Some cleanups.
13393
13394         * tests/threadstate/threadstate1.c: (main):
13395         Make a thread test compile and run... very silly..
13396
13397
13398 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13399
13400         * docs/manual/appendix-porting.xml:
13401           Mention removal of libgstgconf-0.9.la and existence of gconf
13402           elements.
13403
13404 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13405
13406         * docs/pwg/advanced-clock.xml:
13407         * docs/pwg/appendix-porting.xml:
13408         * docs/pwg/intro-preface.xml:
13409         * docs/pwg/other-base.xml:
13410         * docs/pwg/other-manager.xml:
13411         * docs/pwg/other-nton.xml:
13412         * docs/pwg/other-ntoone.xml:
13413         * docs/pwg/other-oneton.xml:
13414         * docs/pwg/pwg.xml:
13415           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13416           demuxer), remove n-to-n (was never written), fix some code examples
13417           and links and update the porting section to include all this.
13418
13419 2005-07-19  Wim Taymans  <wim@fluendo.com>
13420
13421         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13422         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13423         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13424         (gst_queue_src_activate_push), (gst_queue_change_state),
13425         (gst_queue_get_property):
13426         * gst/gstqueue.h:
13427         Propagate GstFlowReturn more intelligently upstream and output
13428         an ERROR/EOS when streaming stopped due to fatal error.
13429
13430 2005-07-19  Wim Taymans  <wim@fluendo.com>
13431
13432         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13433         Don't block forever for the state change to complete, the
13434         pipeline already did with a sensible timeout.
13435
13436 2005-07-19  Wim Taymans  <wim@fluendo.com>
13437
13438         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13439         Make sure we never call the create function is we
13440         got deactivated.
13441
13442 2005-07-19  Andy Wingo  <wingo@pobox.com>
13443
13444         * gst/parse/parse.l: Attempt to solve bug #172815.
13445
13446 2005-07-19  Wim Taymans  <wim@fluendo.com>
13447
13448         * docs/design/part-clocks.txt:
13449         * docs/design/part-events.txt:
13450         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13451         Small docs updates.
13452         Only update the seeking values when we are not
13453         busy streaming.
13454
13455 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13456
13457         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13458           Oops, ignore the result of gst_pad_push_event here.
13459
13460 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13461
13462         * gst/base/gstbasesrc.c: (gst_base_src_loop),
13463         (gst_base_src_activate_push):
13464           Send discont event from the loop function, as pads
13465           aren't activated yet in the activate_push handler.
13466
13467         * gst/gstbin.c: (bin_bus_handler):
13468           Don't leak element name.
13469
13470 2005-07-18  Andy Wingo  <wingo@pobox.com>
13471
13472         * configure.ac: Use AS_LIBTOOL_TAGS.
13473
13474 2005-07-18  Wim Taymans  <wim@fluendo.com>
13475
13476         * docs/gst/gstreamer.types:
13477         Remove deleted types.
13478
13479 2005-07-18  Wim Taymans  <wim@fluendo.com>
13480
13481         * check/elements/gstfakesrc.c: (GST_START_TEST):
13482         * configure.ac:
13483         * gst/Makefile.am:
13484         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13485         (init_popt_callback):
13486         * gst/gst.h:
13487         * gst/gst_private.h:
13488         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13489         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13490         * gst/gstbin.h:
13491         * gst/gstbus.h:
13492         * gst/gstconfig.h.in:
13493         * gst/gstelement.c: (gst_element_class_init),
13494         (gst_element_set_base_time), (gst_element_get_base_time),
13495         (iterator_fold_with_resync), (gst_element_change_state),
13496         (gst_element_dispose), (gst_element_get_bus):
13497         * gst/gstelement.h:
13498         * gst/gstelementfactory.h:
13499         * gst/gsterror.c: (_gst_core_errors_init):
13500         * gst/gsterror.h:
13501         * gst/gstevent.h:
13502         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13503         * gst/gstindex.c:
13504         * gst/gstinfo.c: (_gst_debug_init):
13505         * gst/gstmessage.c: (_gst_message_copy):
13506         * gst/gstmessage.h:
13507         * gst/gstminiobject.h:
13508         * gst/gstobject.c:
13509         * gst/gstobject.h:
13510         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13511         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13512         * gst/gstpad.h:
13513         * gst/gstparse.h:
13514         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13515         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13516         (gst_pipeline_get_last_stream_time):
13517         * gst/gstpipeline.h:
13518         * gst/gstpluginfeature.h:
13519         * gst/gstquery.h:
13520         * gst/gstscheduler.c:
13521         * gst/gstscheduler.h:
13522         * gst/gststructure.h:
13523         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13524         (gst_task_finalize), (gst_task_func), (gst_task_create),
13525         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
13526         (gst_task_stop), (gst_task_pause):
13527         * gst/gsttask.h:
13528         * gst/gsttypefind.h:
13529         * gst/gsttypes.h:
13530         * gst/registries/gstlibxmlregistry.c: (load_feature),
13531         (gst_xml_registry_load), (gst_xml_registry_save_feature):
13532         * gst/registries/gstxmlregistry.c:
13533         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
13534         * gst/schedulers/threadscheduler.c:
13535         * libs/gst/control/dparammanager.h:
13536         * tools/gst-inspect.c: (print_element_list),
13537         (print_plugin_features), (print_element_features):
13538         * tools/gst-xmlinspect.c: (print_element_list),
13539         (print_plugin_info), (main):
13540         Removed plugable schedulers.
13541         Removed Scheduler/Manager from elements.
13542         Removed gsttypes.h, rearranged includes.
13543         Removed dependency pad<->element, element<>pipeline, and
13544         various others,  fix includes.
13545         implement gst_pad_get_parent() with gst_object_get_parent()
13546         Make GstTask sefcontained.
13547         Fix _get_state() on GstBin, it did not return ASYNC with a 0
13548         timeout.
13549         Fix endless loop in iterator_fold_with_resync.
13550
13551
13552 2005-07-18  Wim Taymans  <wim@fluendo.com>
13553
13554         * gst/Makefile.am:
13555         * gst/gstarch.h:
13556         Remove old file.
13557
13558 2005-07-18  Wim Taymans  <wim@fluendo.com>
13559
13560         * gst/Makefile.am:
13561         No more cothreads.h
13562
13563 2005-07-18  Wim Taymans  <wim@fluendo.com>
13564
13565         * gst/cothreads.c:
13566         * gst/cothreads.h:
13567         Let's remove these.
13568
13569 2005-07-18  Wim Taymans  <wim@fluendo.com>
13570
13571         * docs/design/part-dynamic.txt:
13572         * docs/design/part-events.txt:
13573         * docs/design/part-seeking.txt:
13574         Some more docs in the works.
13575
13576         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13577         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
13578         (gst_base_transform_setcaps), (gst_base_transform_get_size),
13579         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13580         (gst_base_transform_handle_buffer),
13581         (gst_base_transform_sink_activate_push),
13582         (gst_base_transform_src_activate_pull),
13583         (gst_base_transform_set_passthrough),
13584         (gst_base_transform_is_passthrough):
13585         Refcounting fixes.
13586
13587         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
13588         Cleanups.
13589
13590         * gst/gstevent.c: (gst_event_finalize):
13591         Set SRC to NULL.
13592
13593         * gst/gstutils.c: (gst_element_unlink),
13594         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
13595         (gst_pad_proxy_setcaps):
13596         * gst/gstutils.h:
13597         Add _get_parent_element() to get a pads parent as an element.
13598
13599 2005-07-18  Wim Taymans  <wim@fluendo.com>
13600
13601         * check/gst/gstbin.c: (GST_START_TEST):
13602         Remove bogus test.
13603
13604 2005-07-18  Wim Taymans  <wim@fluendo.com>
13605
13606         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13607         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13608         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13609         (gst_base_sink_event), (gst_base_sink_do_sync),
13610         (gst_base_sink_chain), (gst_base_sink_loop),
13611         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
13612         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13613         Refcounting fixes.
13614         Fix logic for returning ASYNC when not prerolled.
13615
13616 2005-07-18  Wim Taymans  <wim@fluendo.com>
13617
13618         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13619         Fix nasty refcount bug.
13620
13621 2005-07-16 Philippe Khalaf <burger@speedy.org>
13622
13623         * gst/elements/gstfdsrc.c:
13624         * gst/elements/gstfdsrc.h:
13625         * gst/elements/gstelements.c:
13626         * gst/elements/Makefile.am:
13627         Ported fdsrc to 0.9.
13628
13629 2005-07-16  Wim Taymans  <wim@fluendo.com>
13630
13631         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13632         (gst_base_sink_do_sync):
13633         Fix compile error.
13634
13635 2005-07-16  Wim Taymans  <wim@fluendo.com>
13636
13637         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13638         (gst_base_sink_event), (gst_base_sink_get_times),
13639         (gst_base_sink_do_sync), (gst_base_sink_change_state):
13640         * gst/base/gstbasesink.h:
13641         Store and use discont values when syncing buffers as described
13642         in design docs.
13643         
13644         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13645         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
13646         (gst_base_src_activate_push):
13647         Push discont event when starting.
13648
13649         * gst/elements/gstidentity.c: (gst_identity_transform):
13650         Small cleanups.
13651
13652         * gst/gstbin.c: (gst_bin_change_state):
13653         Small cleanups in base_time  distribution.
13654
13655         * gst/gstelement.c: (gst_element_set_base_time),
13656         (gst_element_get_base_time), (gst_element_change_state):
13657         * gst/gstelement.h:
13658         Added methods for the base_time of the element.
13659         Some MT fixes.
13660
13661         * gst/gstpipeline.c: (gst_pipeline_send_event),
13662         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13663         (gst_pipeline_get_last_stream_time):
13664         * gst/gstpipeline.h:
13665         MT fixes.
13666         Handle seeking as described in design doc, remove stream_time
13667         hack.
13668         Cleanups clock and stream_time selection code. Added accessors
13669         for the stream_time.
13670         
13671
13672 2005-07-16  Andy Wingo  <wingo@pobox.com>
13673
13674         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
13675         (#305291).
13676
13677 2005-07-16  Wim Taymans  <wim@fluendo.com>
13678
13679         * check/gst/gstbin.c: (GST_START_TEST):
13680         Make elements silent as the deep_notify refs the
13681         parent, which might make the test fail.
13682
13683         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13684         Don't hold the lock for too long.
13685
13686 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
13687
13688         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13689           Don't unref the caps we passed to gst_caps_make_writable() after
13690           passing them. gst_caps_make_writable() will do that for us.
13691
13692 2005-07-15  Andy Wingo  <wingo@pobox.com>
13693
13694         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
13695         (#157311).
13696
13697         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
13698         own marshalling function for the handoff signal. Properly type the
13699         buffer as a buffer. Fixes some warnings. Should do a more general
13700         solution.
13701         (gst_identity_class_init): Plug into the right marshaller.
13702
13703 2005-07-15  Wim Taymans  <wim@fluendo.com>
13704
13705         * docs/design/part-TODO.txt:
13706         * docs/design/part-clocks.txt:
13707         * docs/design/part-element-sink.txt:
13708         * docs/design/part-events.txt:
13709         * docs/design/part-gstpipeline.txt:
13710         Updated docs, mostly DISCONT related.
13711
13712 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
13713
13714         * docs/pwg/building-pads.xml:
13715           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
13716
13717 2005-07-15  Andy Wingo  <wingo@pobox.com>
13718
13719         * tools/gst-typefind.c: Update, add copyright block.
13720
13721         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
13722         Normalize and truncate caps before fixation.
13723
13724         * gst/gstcaps.h:
13725         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
13726         discards all but the first structure from its argument.
13727
13728 2005-07-15  Wim Taymans  <wim@fluendo.com>
13729
13730         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13731         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
13732         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13733         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13734         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
13735         (gst_base_transform_chain), (gst_base_transform_change_state),
13736         (gst_base_transform_set_passthrough),
13737         (gst_base_transform_is_passthrough):
13738         * gst/base/gstbasetransform.h:
13739         Make passthrough work using the bufferpools.
13740         Changed API a bit, subclasses have to write into a buffer
13741         provided by the base class.
13742         More debug info in nego functions.
13743         
13744         * gst/elements/gstidentity.c: (gst_identity_init),
13745         (gst_identity_transform):
13746         Port to new base class.
13747
13748 2005-07-15  Wim Taymans  <wim@fluendo.com>
13749
13750         * gst/gstmessage.c: (gst_message_new_state_changed):
13751         * tools/gst-launch.c: (event_loop), (main):
13752         Totally dump messages in -launch with the -m option.
13753         Fix message name for State messages,
13754
13755 2005-07-14  Wim Taymans  <wim@fluendo.com>
13756
13757         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13758         Post error messages on errors.
13759
13760 2005-07-14  Wim Taymans  <wim@fluendo.com>
13761
13762         * gst/gstcaps.c: (gst_caps_do_simplify):
13763         Remove debug info.
13764
13765         * gst/gsterror.h:
13766         Define error for stream stopped.
13767
13768         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13769         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
13770         Do proper return values.
13771
13772         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13773         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
13774         (gst_pad_get_range):
13775         Better return values.
13776
13777         * gst/gstpad.h:
13778         Reorganise return values, add macro to check for fatal errors.
13779
13780         * gst/gstqueue.c: (gst_queue_chain):
13781         Return proper GstFlowReturn values,
13782
13783 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13784
13785         * docs/gst/gstreamer-sections.txt:
13786         * docs/gst/gstreamer.types:
13787         * docs/gst/tmpl/gst.sgml:
13788         * docs/gst/tmpl/gstbasesink.sgml:
13789         * docs/gst/tmpl/gstbasesrc.sgml:
13790         * docs/gst/tmpl/gstbasetransform.sgml:
13791         * docs/gst/tmpl/gstbin.sgml:
13792         * docs/gst/tmpl/gstbuffer.sgml:
13793         * docs/gst/tmpl/gstcaps.sgml:
13794         * docs/gst/tmpl/gstclock.sgml:
13795         * docs/gst/tmpl/gstcompat.sgml:
13796         * docs/gst/tmpl/gstconfig.sgml:
13797         * docs/gst/tmpl/gstelement.sgml:
13798         * docs/gst/tmpl/gstelementdetails.sgml:
13799         * docs/gst/tmpl/gstelementfactory.sgml:
13800         * docs/gst/tmpl/gstenumtypes.sgml:
13801         * docs/gst/tmpl/gsterror.sgml:
13802         * docs/gst/tmpl/gstevent.sgml:
13803         * docs/gst/tmpl/gstfakesink.sgml:
13804         * docs/gst/tmpl/gstfakesrc.sgml:
13805         * docs/gst/tmpl/gstfilesink.sgml:
13806         * docs/gst/tmpl/gstfilesrc.sgml:
13807         * docs/gst/tmpl/gstfilter.sgml:
13808         * docs/gst/tmpl/gstformat.sgml:
13809         * docs/gst/tmpl/gstghostpad.sgml:
13810         * docs/gst/tmpl/gstimplementsinterface.sgml:
13811         * docs/gst/tmpl/gstindex.sgml:
13812         * docs/gst/tmpl/gstindexfactory.sgml:
13813         * docs/gst/tmpl/gstinfo.sgml:
13814         * docs/gst/tmpl/gstiterator.sgml:
13815         * docs/gst/tmpl/gstmacros.sgml:
13816         * docs/gst/tmpl/gstmemchunk.sgml:
13817         * docs/gst/tmpl/gstminiobject.sgml:
13818         * docs/gst/tmpl/gstobject.sgml:
13819         * docs/gst/tmpl/gstpad.sgml:
13820         * docs/gst/tmpl/gstpadtemplate.sgml:
13821         * docs/gst/tmpl/gstparse.sgml:
13822         * docs/gst/tmpl/gstpipeline.sgml:
13823         * docs/gst/tmpl/gstplugin.sgml:
13824         * docs/gst/tmpl/gstpluginfeature.sgml:
13825         * docs/gst/tmpl/gstquery.sgml:
13826         * docs/gst/tmpl/gstqueue.sgml:
13827         * docs/gst/tmpl/gstregistry.sgml:
13828         * docs/gst/tmpl/gstregistrypool.sgml:
13829         * docs/gst/tmpl/gstscheduler.sgml:
13830         * docs/gst/tmpl/gstschedulerfactory.sgml:
13831         * docs/gst/tmpl/gststructure.sgml:
13832         * docs/gst/tmpl/gstsystemclock.sgml:
13833         * docs/gst/tmpl/gsttaglist.sgml:
13834         * docs/gst/tmpl/gsttagsetter.sgml:
13835         * docs/gst/tmpl/gsttrace.sgml:
13836         * docs/gst/tmpl/gsttrashstack.sgml:
13837         * docs/gst/tmpl/gsttypefind.sgml:
13838         * docs/gst/tmpl/gsttypefindfactory.sgml:
13839         * docs/gst/tmpl/gsttypes.sgml:
13840         * docs/gst/tmpl/gsturihandler.sgml:
13841         * docs/gst/tmpl/gsturitype.sgml:
13842         * docs/gst/tmpl/gstutils.sgml:
13843         * docs/gst/tmpl/gstvalue.sgml:
13844         * docs/gst/tmpl/gstversion.sgml:
13845         * docs/gst/tmpl/gstxml.sgml:
13846         * docs/libs/tmpl/gstcontrol.sgml:
13847         * docs/libs/tmpl/gstdataprotocol.sgml:
13848         * docs/libs/tmpl/gstdparam.sgml:
13849         * docs/libs/tmpl/gstdplinint.sgml:
13850         * docs/libs/tmpl/gstdpman.sgml:
13851         * docs/libs/tmpl/gstdpsmooth.sgml:
13852         * docs/libs/tmpl/gstgetbits.sgml:
13853         * docs/libs/tmpl/gstunitconvert.sgml:
13854         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
13855         (gst_push_src_base_init), (gst_push_src_class_init),
13856         (gst_push_src_init), (gst_push_src_create):
13857         * gst/base/gstpushsrc.h:
13858         * gst/elements/gstelements.c:
13859         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
13860         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
13861         (gst_fake_sink_init), (gst_fake_sink_set_property),
13862         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
13863         (gst_fake_sink_event), (gst_fake_sink_preroll),
13864         (gst_fake_sink_render), (gst_fake_sink_change_state):
13865         * gst/elements/gstfakesink.h:
13866         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13867         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13868         (gst_fake_src_base_init), (gst_fake_src_class_init),
13869         (gst_fake_src_init), (gst_fake_src_event_handler),
13870         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
13871         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
13872         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
13873         (gst_fake_src_create_buffer), (gst_fake_src_create),
13874         (gst_fake_src_start), (gst_fake_src_stop):
13875         * gst/elements/gstfakesrc.h:
13876         * gst/elements/gstfilesink.c: (_do_init),
13877         (gst_file_sink_base_init), (gst_file_sink_class_init),
13878         (gst_file_sink_init), (gst_file_sink_dispose),
13879         (gst_file_sink_set_location), (gst_file_sink_set_property),
13880         (gst_file_sink_get_property), (gst_file_sink_open_file),
13881         (gst_file_sink_close_file), (gst_file_sink_query),
13882         (gst_file_sink_event), (gst_file_sink_render),
13883         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
13884         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
13885         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
13886         * gst/elements/gstfilesink.h:
13887         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
13888         (gst_file_src_class_init), (gst_file_src_init),
13889         (gst_file_src_finalize), (gst_file_src_set_location),
13890         (gst_file_src_set_property), (gst_file_src_get_property),
13891         (gst_file_src_map_region), (gst_file_src_map_small_region),
13892         (gst_file_src_create_mmap), (gst_file_src_create_read),
13893         (gst_file_src_create), (gst_file_src_is_seekable),
13894         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
13895         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
13896         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
13897         (gst_file_src_uri_handler_init):
13898         * gst/elements/gstfilesrc.h:
13899           more autistic cleanliness in functions/names/defines
13900
13901 2005-07-13  Andy Wingo  <wingo@pobox.com>
13902
13903         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
13904         source couldn't negotiate.
13905
13906         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
13907         connections again.
13908
13909         * gst/gstutils.h:
13910         * gst/gstutils.c (gst_element_link_pads_filtered): New old
13911         function. I am channeling Hades. Put your boots on suckers!!!
13912
13913 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13914
13915         * testsuite/caps/Makefile.am:
13916         * testsuite/caps/value_compare.c:
13917         * testsuite/caps/value_intersect.c:
13918         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13919           move two testsuite apps over to the check dir
13920
13921 2005-07-12  Wim Taymans  <wim@fluendo.com>
13922
13923         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13924         Added more debug info in the negotiate process.
13925
13926         * gst/gstmessage.h:
13927         Prepare for segment playback.
13928
13929         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
13930         Better debugging.
13931
13932         * gst/gstutils.c:
13933         Some more docs.
13934
13935         * tools/gst-launch.c: (main):
13936         NULL pipeline on errors.
13937
13938 2005-07-12  Andy Wingo  <wingo@pobox.com>
13939
13940         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
13941         not it comes from a malloc region. Make sure our copy gets freed.
13942
13943 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13944
13945         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13946         * check/gst/gstmessage.c: (GST_START_TEST):
13947         * check/gst/gststructure.c: (GST_START_TEST),
13948         (gst_structure_suite), (main):
13949           more testing
13950         * gst/gstelement.c: (gst_element_message_full):
13951           clean up GError and debug string now that they get copied
13952         * gst/gstmessage.c: (gst_message_new_error),
13953         (gst_message_new_warning), (gst_message_parse_error),
13954         (gst_message_parse_warning):
13955           use GST_TYPE_G_ERROR for structure_new, and take copies of
13956           arguments, so that we don't mess up refcounting
13957
13958 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13959
13960         * check/Makefile.am:
13961           add per-test valgrind targets
13962         * check/gst-libs/gdp.c: (GST_START_TEST),
13963         (gst_data_protocol_suite), (main):
13964           clean up
13965
13966 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13967
13968         * check/Makefile.am:
13969           instate more valgrindable tests
13970         * check/elements/gstfakesrc.c: (chain_func), (event_func),
13971         (GST_START_TEST), (fakesrc_suite):
13972         * check/gst/gstpad.c: (GST_START_TEST):
13973         * check/gst/gststructure.c: (GST_START_TEST):
13974           fix test leaks
13975         * docs/gst/tmpl/gstminiobject.sgml:
13976         * gst/gstpad.c: (gst_pad_finalize):
13977           fix the static mutex leak
13978
13979 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
13980
13981         * check/Makefile.am:
13982           add two more tests for valgrinding
13983         * check/gst/gstvalue.c: (GST_START_TEST):
13984           test refcount of deserialized buffer, found a leak
13985         * docs/gst/gstreamer-docs.sgml:
13986         * docs/gst/gstreamer-sections.txt:
13987         * docs/gst/gstreamer.types:
13988         * docs/gst/tmpl/gstminiobject.sgml:
13989           add miniobject to docs
13990         * gst/gstminiobject.c:
13991           add some docs
13992         * gst/gstvalue.c: (gst_value_deserialize_buffer),
13993         (gst_string_unwrap):
13994           fix a hard-to-find invalid write for one of the tests
13995           fix a leak for deserialized buffers
13996
13997 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13998
13999         * docs/pwg/advanced-events.xml:
14000         * docs/pwg/advanced-request.xml:
14001         * docs/pwg/advanced-scheduling.xml:
14002         * docs/pwg/appendix-porting.xml:
14003         * docs/pwg/building-boiler.xml:
14004         * docs/pwg/intro-preface.xml:
14005         * docs/pwg/other-ntoone.xml:
14006           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14007           of example code and explanation for pad activation, loop() and
14008           getrange() functions and a bit more. Remove old comments pointing
14009           to loop-functions.
14010         * examples/pwg/Makefile.am:
14011           Add loop/getrange examples.
14012
14013 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14014
14015         * configure.ac:
14016           check for valgrind binary + some fixes
14017         * check/gst.supp:
14018           valgrind suppressions for the tests
14019         * check/Makefile.am:
14020           add a valgrind: target that valgrinds the unit tests
14021         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14022         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14023         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14024         * check/gst/gstghostpad.c:
14025           added some cleanup
14026         * check/gst/gstdata.c:
14027           removed
14028         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14029         (thread_unref), (gst_mini_object_suite), (main):
14030           added
14031         * gst/gst.c: (gst_deinit):
14032         * gst/gst.h:
14033           add a method to clean up.
14034         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14035         (gst_system_clock_obtain):
14036           allow for disposing the system clock.
14037         * tools/gst-launch.c: (main):
14038           deinit
14039
14040 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14041
14042         * docs/gst/tmpl/gstbasesrc.sgml:
14043         * docs/gst/tmpl/gstfakesrc.sgml:
14044         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14045         (gst_base_src_init), (gst_base_src_set_property),
14046         (gst_base_src_get_property), (gst_base_src_get_range),
14047         (gst_base_src_start):
14048         * gst/base/gstbasesrc.h:
14049           add num-buffers property
14050         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14051         (gst_fakesrc_init), (gst_fakesrc_set_property),
14052         (gst_fakesrc_get_property), (gst_fakesrc_create),
14053         (gst_fakesrc_start):
14054           remove num-buffers property
14055
14056 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14057
14058         * docs/gst/gstreamer-sections.txt:
14059         * docs/gst/tmpl/gstbasesink.sgml:
14060         * docs/gst/tmpl/gstbasesrc.sgml:
14061         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14062         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14063         (gst_base_sink_finalize), (gst_base_sink_set_clock),
14064         (gst_base_sink_set_property), (gst_base_sink_get_property),
14065         (gst_base_sink_handle_object), (gst_base_sink_event),
14066         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14067         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14068         (gst_base_sink_loop), (gst_base_sink_deactivate),
14069         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14070         (gst_base_sink_change_state):
14071         * gst/base/gstbasesink.h:
14072         * gst/base/gstbasesrc.h:
14073         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14074         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14075         (gst_filesink_init):
14076           more macro splitting
14077
14078 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14079
14080         * gst/gstelement.c: (gst_element_get_bus):
14081           add debug
14082         * tools/gst-launch.c: (check_intr), (event_loop):
14083           fix bus leaks
14084
14085 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14086
14087         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14088           fix a caps leak
14089
14090 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14091
14092         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14093         (gst_base_src_finalize):
14094           add finalize method and clean up properly
14095         * gst/gstpipeline.c: (gst_pipeline_dispose):
14096           add debug
14097
14098 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14099
14100         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14101         (gst_bin_suite):
14102           add more things to check
14103         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14104         * gst/gstelement.c:
14105           more debug
14106
14107 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14108
14109         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14110         (GST_START_TEST), (fakesrc_suite):
14111         * check/gst-libs/gdp.c: (GST_START_TEST):
14112         * check/gst/gst.c: (GST_START_TEST):
14113         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14114         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14115         * check/gst/gstbus.c: (GST_START_TEST):
14116         * check/gst/gstcaps.c: (GST_START_TEST):
14117         * check/gst/gstdata.c: (GST_START_TEST):
14118         * check/gst/gstelement.c: (GST_START_TEST):
14119         * check/gst/gstghostpad.c: (GST_START_TEST):
14120         * check/gst/gstiterator.c: (GST_START_TEST):
14121         * check/gst/gstmessage.c: (GST_START_TEST):
14122         * check/gst/gstobject.c: (GST_START_TEST):
14123         * check/gst/gstpad.c: (GST_START_TEST):
14124         * check/gst/gststructure.c: (GST_START_TEST):
14125         * check/gst/gstsystemclock.c: (GST_START_TEST),
14126         (gst_systemclock_suite):
14127         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14128         * check/gst/gstvalue.c: (GST_START_TEST):
14129         * check/pipelines/cleanup.c: (GST_START_TEST):
14130         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14131         * check/states/sinks.c: (GST_START_TEST):
14132         * check/gstcheck.c: (gst_check_init):
14133         * check/gstcheck.h:
14134           add debugging category
14135           use GST_START_TEST now, so we add a debug line
14136
14137 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14138
14139         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14140           add test for state change message on a bin
14141         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14142           add another test
14143         * gst/gstbin.c: (gst_bin_init):
14144         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14145         * gst/gstelement.c: (gst_element_post_message),
14146         (gst_element_set_state):
14147         * gst/gstelementfactory.c: (gst_element_factory_create):
14148         * gst/gstmessage.c: (gst_message_new):
14149         * gst/gstscheduler.c:
14150           various debugging additions and cleanups
14151
14152 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14153
14154         * check/Makefile.am:
14155         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14156         (main):
14157           adding tests for elements
14158         * gst/gstelement.c: (gst_element_dispose):
14159
14160 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14161
14162         * gst/registries/gstlibxmlregistry.c: (load_feature):
14163           plug more leaks.  A simple gst_init() now is leakfree, yay.
14164
14165 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14166
14167         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14168         (gst_xml_registry_load):
14169           plug another memleak
14170
14171 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14172
14173         * configure.ac:
14174           use GST_SET_ERROR_CFLAGS
14175         * docs/faq/cvs.xml:
14176           change to ERROR_CFLAGS
14177
14178 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14179
14180         * configure.ac:
14181           make GST_ERROR_CFLAGS overridable and re-enable Werror
14182         * docs/faq/cvs.xml:
14183           add a note about error CFLAGS
14184         * docs/gst/tmpl/gstfakesrc.sgml:
14185         * gst/elements/gstfakesrc.c:
14186           comment out some unused code
14187         * gst/gst.c: (split_and_iterate):
14188         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14189         (load_feature):
14190           plug some memleaks
14191
14192 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14193
14194         * common/Makefile.am:
14195         * common/gtk-doc.mak:
14196         * docs/gst/Makefile.am:
14197           factor out gtk-doc.mak
14198
14199 2005-07-07  Wim Taymans  <wim@fluendo.com>
14200
14201         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14202         (gst_thread_scheduler_dispose):
14203         Unlock the STREAM_LOCK completely.
14204
14205 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14206
14207         * check/Makefile.am:
14208         * check/elements/.cvsignore:
14209         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14210         (START_TEST), (fakesrc_suite), (main):
14211         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14212         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14213         (gst_fakesrc_create), (gst_fakesrc_start):
14214         * gst/elements/gstfakesrc.h:
14215           adding a first element test
14216
14217 2005-07-07  Andy Wingo  <wingo@pobox.com>
14218
14219         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14220         debug message.
14221
14222 2005-07-07  Wim Taymans  <wim@fluendo.com>
14223
14224         * gst/gstquery.c:
14225         * gst/gstquery.h:
14226         Remove old types
14227
14228 2005-07-07  Wim Taymans  <wim@fluendo.com>
14229
14230         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14231         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14232         Allow subclasses to implement their own negotiation.
14233
14234 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14235
14236         * docs/design/part-gstbin.txt:
14237         * docs/design/part-gstpipeline.txt:
14238           Update design notes to reflect the movement of
14239           responsibility for bus handling from GstPipeline to
14240           GstBin
14241
14242 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14243
14244         * configure.ac:
14245           Remove unnecessary queue2/3/4 examples.
14246
14247 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14248
14249         * examples/Makefile.am:
14250         * examples/helloworld/helloworld.c: (event_loop), (main):
14251         * examples/queue/queue.c: (event_loop), (main):
14252         * examples/queue2/queue2.c: (main):
14253           Update a couple of the examples to work again.
14254
14255         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14256         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14257          Spelling corrections and extra debug.
14258         
14259         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14260         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14261         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14262         * gst/gstbin.h:
14263         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14264         (gst_pipeline_change_state):
14265         * gst/gstpipeline.h:
14266           Move the bus handler for children to the GstBin, and create a
14267           separate bus for receiving messages from children to the one the
14268           bus sends 'upwards' on.
14269
14270 2005-07-06  Wim Taymans  <wim@fluendo.com>
14271
14272         * gst/base/README:
14273         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14274         (gst_base_sink_handle_object), (gst_base_sink_loop),
14275         (gst_base_sink_change_state):
14276         * gst/base/gstbasesink.h:
14277         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14278         (gst_base_src_init), (gst_base_src_setcaps),
14279         (gst_base_src_getcaps), (gst_base_src_loop),
14280         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14281         (gst_base_src_start), (gst_base_src_change_state):
14282         * gst/base/gstbasesrc.h:
14283         Make basesrc negotiate.
14284         Handle the case where preroll fails in basesink.
14285         Update README.
14286
14287 2005-07-06  Wim Taymans  <wim@fluendo.com>
14288
14289         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14290         Implement the fixate function.
14291         Clean up acceptcaps.
14292
14293 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14294
14295         * docs/pwg/building-filterfactory.xml:
14296         * docs/pwg/pwg.xml:
14297           Remove never-written filter-factory chapter; I'll add the various
14298           base classes to part 4 ("other element types") later on.
14299
14300 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14301
14302         * docs/pwg/advanced-negotiation.xml:
14303         * docs/pwg/building-boiler.xml:
14304         * docs/pwg/building-pads.xml:
14305         * docs/pwg/pwg.xml:
14306         * examples/pwg/Makefile.am:
14307           Add a chapter on caps negotiation, simplify the original code
14308           samples a bit w.r.t. caps negotiation, add link to the advanced
14309           section. Add a bunch of examples showing different use cases of
14310           different types of caps negotiation. Upstream renegotiation isn't
14311           fully documented yet since nobody knows how that works.
14312
14313 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14314
14315         * check/gst/gstpad.c:
14316         * check/gstcheck.c:
14317         * gst/gstpad.c: (gst_pad_get_internal_links_default):
14318           if pad has no parent, return NULL as list of internal links
14319
14320 2005-07-05  Andy Wingo  <wingo@pobox.com>
14321
14322         * gst/elements/gstfilesrc.c:
14323         * gst/elements/gstfakesrc.c: 
14324         * gst/base/gstpushsrc.c:
14325         * gst/base/gstbasesrc.h: 
14326         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14327         
14328 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
14329
14330         * Makefile.am:
14331           better report generation target (lcov needs a patch)
14332
14333 2005-07-05  Andy Wingo  <wingo@pobox.com>
14334
14335         * gst/elements, testsuite: Null if we got it...
14336
14337 2005-07-05  Wim Taymans  <wim@fluendo.com>
14338
14339         * configure.ac:
14340         * libs/gst/dataprotocol/Makefile.am:
14341         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14342         * libs/gst/dataprotocol/dataprotocol.h:
14343         * pkgconfig/Makefile.am:
14344         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14345         * pkgconfig/gstreamer-dataprotocol.pc.in:
14346         Ported dataprotol to 0.9. 
14347         Added pkgconfig files.
14348
14349 2005-07-05  Andy Wingo  <wingo@pobox.com>
14350
14351         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14352         Default to returning TRUE for the case when tranform_caps returns
14353         a fixed caps, like for identity or volume.
14354
14355         * check/gst/gstbus.c (pound_bus_with_messages): 
14356         * check/gst/gstmessage.c (START_TEST): 
14357         * check/pipelines/simple_launch_lines.c (got_handoff): Application
14358         message API change.
14359
14360         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14361         logic weaks here: always run transform_caps, trying passthrough
14362         operation only if the original caps intersects with the transform.
14363
14364         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14365         source and sink caps.
14366
14367         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14368         Intersect the peer caps with the pad template before going into
14369         transform_caps.
14370         (gst_base_transform_transform_caps): More debugging.
14371
14372         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14373         src argument.
14374
14375 2005-07-04  Edward Hervey  <edward@fluendo.com>
14376
14377         * gst/gstutils.c:
14378         * gst/gstutils.h:
14379         (gst_pad_add_*_probe): now returns the signal id for better wrapping
14380         in bindings.
14381
14382 2005-07-04  Andy Wingo  <wingo@pobox.com>
14383
14384         * check/gst/gstpad.c: Only set explicit caps on pads.
14385
14386 2005-07-01  Andy Wingo  <wingo@pobox.com>
14387
14388         * tests/network-clock.scm: Commentary update.
14389
14390         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14391         Didn't really make sense, not implementable with basetransform,
14392         etc.
14393         (gst_identity_transform): Unref inbuf via make_writable. Feeble
14394         attempt at implementing the sync property, needs an unlock method.
14395
14396         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14397         New func, by default returns the same caps (the identity
14398         transformation).
14399         (gst_base_transform_getcaps): Uses transform_caps to return
14400         something sensible.
14401         (gst_base_transform_setcaps): Complicated logic to get caps on
14402         both pads, even if they are different, and to call set_caps once
14403         for every time both pads get their caps set.
14404         (gst_base_transform_handle_buffer): Give the ref to the transform
14405         function. Allows in-place modification of the buffer.
14406
14407         * gst/base/gstbasetransform.h (transform_caps): New class method.
14408         Given caps on one side, what can I do on the other.
14409         (set_caps): Take two caps, one for each side of the element.
14410
14411         * gst/gstpad.h:
14412         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14413         caps in place. This is safe because we can check the mutability of
14414         the caps, and a good idea because fixate functions are just called
14415         as a matter of last resort. (Not actually implemented.)
14416         (gst_pad_set_caps): If the caps we're setting is actually the same
14417         as the existing pad caps, just update the pointer without calling
14418         setcaps. Assert that caps is either NULL or fixed, as per the
14419         docs.
14420
14421         * gst/gstghostpad.c: Update for fixate changes.
14422
14423 2005-07-02  Andy Wingo  <wingo@pobox.com>
14424
14425         * gst/gstcaps.c:
14426         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14427         two refcounts makes it immutable, which is enough. Doc more.
14428
14429 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
14430
14431         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14432           Put the mini_object into GValue as a mini_object,
14433           not a gpointer, since that's how we declared
14434           the signal.
14435
14436 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14437
14438         * examples/pwg/Makefile.am:
14439           Fix buildbot again.
14440
14441 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14442
14443         * docs/pwg/building-testapp.xml:
14444           Add extra check.
14445         * examples/pwg/Makefile.am:
14446           Fix buildbot.
14447
14448 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14449
14450         * configure.ac:
14451         * examples/Makefile.am:
14452         * examples/pwg/Makefile.am:
14453         * examples/pwg/extract.pl:
14454           Enable building the PWG examples.
14455         * docs/pwg/advanced-interfaces.xml:
14456           Add URI interface stub.
14457         * docs/pwg/advanced-types.xml:
14458         * docs/pwg/other-autoplugger.xml:
14459         * docs/pwg/appendix-porting.xml:
14460         * docs/pwg/pwg.xml:
14461           Add porting guide (mostly stubs), remove autoplugging (see ADM).
14462         * docs/pwg/building-boiler.xml:
14463         * docs/pwg/building-chainfn.xml:
14464         * docs/pwg/building-pads.xml:
14465         * docs/pwg/building-props.xml:
14466         * docs/pwg/building-state.xml:
14467         * docs/pwg/building-testapp.xml:
14468           Update the building-*.xml parts for 0.9 changes. All examples
14469           code blocks compile in examples/pwg/*.
14470
14471 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14472
14473         * docs/manual/advanced-autoplugging.xml:
14474         * docs/manual/appendix-checklist.xml:
14475         * docs/manual/appendix-integration.xml:
14476         * docs/manual/highlevel-components.xml:
14477           Fix playbin/decodebin examples, update docs a bit, mention bus
14478           instead of signals in various places, mention kmplayer and
14479           kaffeine since they have a working GStreamer backend in the KDE
14480           section.
14481
14482 2005-06-30  Wim Taymans  <wim@fluendo.com>
14483
14484         * CHANGES-0.9:
14485         * docs/design/draft-ghostpads.txt:
14486         * docs/design/draft-push-pull.txt:
14487         * docs/design/draft-query.txt:
14488         * docs/design/part-TODO.txt:
14489         * docs/design/part-query.txt:
14490         Added CHANGES-0.9 doc, updated status of other docs.
14491         
14492         * gst/gstquery.h:
14493         Remove "hmm" macro
14494
14495 2005-06-30  Wim Taymans  <wim@fluendo.com>
14496
14497         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14498         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14499         (gst_base_sink_change_state):
14500         * gst/base/gstbasesink.h:
14501         Some tweaks, only EOS and a buffer complete a preroll.
14502
14503 2005-06-30  Andy Wingo  <wingo@pobox.com>
14504
14505         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14506         activate_push down to the internal pad as well.
14507
14508 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
14509
14510         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14511
14512         * gst/gsttaginterface.c:
14513           Some documentation fixes (#307394 and #307397).
14514
14515 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
14516
14517         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14518
14519         * gst/gstvalue.c: (gst_value_intersect_list):
14520           Fix memleak (#309125).
14521
14522 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14523
14524         * docs/manual/advanced-dataaccess.xml:
14525           Fix fakesrc example to compile; doesn't work, bug somewhere...?
14526         * docs/manual/basics-pads.xml:
14527           Add reference for filtered caps to above chapter.
14528
14529 2005-06-30  Wim Taymans  <wim@fluendo.com>
14530
14531         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
14532         (gst_bin_change_state):
14533         Probes are gone.
14534         Lame attempt at making the state change function a bit
14535         more readable.
14536
14537 2005-06-30  Wim Taymans  <wim@fluendo.com>
14538
14539         * docs/design/part-clocks.txt:
14540         * docs/design/part-element-sink.txt:
14541         * docs/design/part-events.txt:
14542         * docs/design/part-preroll.txt:
14543         * docs/design/part-states.txt:
14544         Some more tweeks and additions to the docs.
14545
14546 2005-06-30  Wim Taymans  <wim@fluendo.com>
14547
14548         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14549         (default_have_data), (gst_pad_class_init), (gst_pad_init),
14550         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14551         (gst_pad_check_pull_range), (gst_pad_get_range),
14552         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
14553         * gst/gstpad.h:
14554         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
14555         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14556         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14557         (gst_pad_remove_buffer_probe):
14558         Removed atomic operations, use existing LOCK.
14559         Move exception handling out of main code path.
14560
14561 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14562
14563         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14564         (silly_return_true_function), (gst_pad_class_init),
14565         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14566         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
14567         (gst_pad_send_event):
14568           Fix accumulator, add default value by using _emitv() instead
14569           of _emit() for signal emission.
14570
14571 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14572
14573         * docs/manual/advanced-dataaccess.xml:
14574         * examples/manual/Makefile.am:
14575           Add probe example.
14576         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
14577           Make work (??).
14578
14579 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
14580
14581         * gst/elements/gstfilesink.c: (gst_filesink_render):
14582           Simplify code so that we don't have to handle short
14583           writes and return GST_FLOW_ERROR if an error occured.
14584
14585 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14586
14587         * docs/gst/gstreamer-docs.sgml:
14588           Remove probes more.
14589
14590 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14591
14592         * docs/gst/gstreamer-sections.txt:
14593         * docs/gst/tmpl/gstpad.sgml:
14594         * docs/gst/tmpl/gstprobe.sgml:
14595         * gst/Makefile.am:
14596         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14597         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
14598         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14599         (gst_pad_push_event), (gst_pad_send_event):
14600         * gst/gstpad.h:
14601         * gst/gstutils.c: (gst_pad_add_data_probe),
14602         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14603         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14604         (gst_pad_remove_buffer_probe):
14605         * gst/gstutils.h:
14606           Remove old probes, add new g-signal-based probes and some utility
14607           functions.
14608
14609 2005-06-29  Edward Hervey  <edward@fluendo.com>
14610
14611         * gst/gstelementfactory.c:
14612         * gst/gstutils.h:
14613         * gst/gstutils.c:
14614         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
14615         the definition to the header file.
14616
14617 2005-06-29  Andy Wingo  <wingo@pobox.com>
14618
14619         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
14620         plugins from the source directory.
14621
14622 2005-06-29  Wim Taymans  <wim@fluendo.com>
14623
14624         * docs/gst/tmpl/gstbuffer.sgml:
14625         * docs/gst/tmpl/gstclock.sgml:
14626         Some fixings for blantently wrong text.
14627
14628 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14629
14630         * check/Makefile.am:
14631         * gst/gst.c: (add_path_func), (init_pre):
14632         * gst/gstregistry.c: (gst_registry_add_path):
14633           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
14634           only scan the GST_PLUGIN_PATH locations, and not add
14635           system locations
14636
14637 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14638
14639         * docs/gst/gstreamer-sections.txt:
14640         * docs/gst/tmpl/gstbasesrc.sgml:
14641         * gst/gstelement.c:
14642         * gst/gstelement.h:
14643         * gst/gstevent.c:
14644         * gst/gstutils.c:
14645           doc fixes
14646
14647 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14648
14649         * docs/manual/advanced-autoplugging.xml:
14650           Fix autoplugging example.
14651
14652 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14653
14654         * docs/manual/advanced-autoplugging.xml:
14655         * docs/manual/mime-world.fig:
14656           Try to get autoplugging working, fix type detection. Fix text
14657           in hello-world image.
14658
14659 2005-06-29  Wim Taymans  <wim@fluendo.com>
14660
14661         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14662         (gst_base_sink_change_state):
14663         Small debug line.
14664
14665         * gst/gstclock.h:
14666         map SIGNAL and BROADCAST to the right function.
14667
14668         * gst/gstobject.h:
14669         Remove redundant braces.
14670
14671         * gst/gstpad.c: (gst_pad_set_caps):
14672         Don't call setcaps function when reseting caps to NULL.
14673
14674         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14675         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
14676         (gst_system_clock_id_unschedule):
14677         Use BROADCAST as this is what we do.
14678
14679 2005-06-29  Wim Taymans  <wim@fluendo.com>
14680
14681         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14682         We are actually prerolling before commiting the state
14683         change. 
14684
14685 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14686
14687         * docs/manual/advanced-clocks.xml:
14688         * docs/manual/advanced-interfaces.xml:
14689         * docs/manual/advanced-metadata.xml:
14690         * docs/manual/advanced-position.xml:
14691         * docs/manual/advanced-schedulers.xml:
14692         * docs/manual/advanced-threads.xml:
14693         * docs/manual/appendix-porting.xml:
14694         * docs/manual/basics-bins.xml:
14695         * docs/manual/basics-bus.xml:
14696         * docs/manual/basics-elements.xml:
14697         * docs/manual/basics-helloworld.xml:
14698         * docs/manual/basics-pads.xml:
14699         * docs/manual/highlevel-components.xml:
14700         * docs/manual/manual.xml:
14701         * docs/manual/thread.fig:
14702           Update (until threads/scheduling) Application Development Manual;
14703           remove GstThread, add GstBus, add simple porting checklist, add
14704           documentation for tag writing, clocks, make all examples until this
14705           part compile and run.
14706         * examples/manual/Makefile.am:
14707           Update from changes to Application Development Manual; add bus
14708           example, remove thread example.
14709
14710 2005-06-28  Wim Taymans  <wim@fluendo.com>
14711
14712         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
14713         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
14714         (gst_bus_source_dispatch):
14715         Add debugging messages.
14716         Make internal methods static.
14717         Handle the case where the bus is flushed in the handler.
14718         
14719         * gst/gstelement.c: (gst_element_get_bus):
14720         Fix refcount in _get_bus();
14721
14722         * gst/gstpipeline.c: (gst_pipeline_change_state),
14723         (gst_pipeline_get_clock_func):
14724         Clock refcounting fixes.
14725         Handle the case where preroll timed out more gracefully.
14726         
14727         * gst/gstsystemclock.c: (gst_system_clock_dispose):
14728         Clean up the internal thread in dispose. This is needed
14729         for subclasses that actually get disposed.
14730         
14731         * gst/schedulers/threadscheduler.c:
14732         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14733         (gst_thread_scheduler_dispose):
14734         Free thread pool in dispose.
14735
14736 2005-06-28  Andy Wingo  <wingo@pobox.com>
14737
14738         * tests/network-clock-utils.scm (debug, print-event): New utils.
14739
14740         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
14741         (*packet-loss*): Unified loss probability.
14742         (network-time): Report out-of-band events.
14743
14744         * tests/plot-data: Add support for out-of-band events. Hack it
14745         into this script instead of passing it down the pipe; should fix
14746         this later.
14747
14748 2005-06-28  Wim Taymans  <wim@fluendo.com>
14749
14750         * docs/gst/gstreamer.types:
14751         * docs/gst/tmpl/gstbasesrc.sgml:
14752         * docs/gst/tmpl/gstpad.sgml:
14753         Docs fixes.
14754
14755 2005-06-28  Wim Taymans  <wim@fluendo.com>
14756
14757         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14758         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
14759         (gst_proxy_pad_do_fixatecaps):
14760         Correctly proxy the check_pull_range function.
14761
14762 2005-06-28  Andy Wingo  <wingo@pobox.com>
14763
14764         * tests/network-clock.scm: Removed need for slib.
14765         
14766 2005-06-28  Wim Taymans  <wim@fluendo.com>
14767
14768         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
14769         (gst_basesink_preroll_queue_flush):
14770         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
14771         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
14772         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14773         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14774         (gst_proxy_pad_set_property):
14775         * gst/gstpad.c:
14776         * gst/gstpad.h:
14777         * gst/gstqueue.c: (gst_queue_init):
14778         The deprecated pad loop function is removed now.
14779
14780 2005-06-28  Andy Wingo  <wingo@pobox.com>
14781
14782         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
14783         New parameters, simulate network packet loss.
14784
14785         * tests/network-clock-utils.scm: Initialize the RNG.
14786
14787 2005-06-28  Wim Taymans  <wim@fluendo.com>
14788
14789         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
14790         (gst_basesink_event), (gst_basesink_deactivate):
14791         Flushing the preroll queue always needs to unlock the waiters.
14792
14793 2005-06-28  Edward Hervey  <edward@fluendo.com>
14794
14795         * gst/gstpipeline.c: (gst_pipeline_send_event): 
14796         Wheen a seek was successful on a pipeline, set the stream_time to the
14797         seek offset in order to have a synchronized stream_time.
14798
14799 2005-06-28  Wim Taymans  <wim@fluendo.com>
14800
14801         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14802         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
14803         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
14804         (gst_proxy_pad_do_fixatecaps):
14805         Call wrapper function instead of just calling the function
14806         pointers. This takes care of any locking and whatmore.
14807
14808 2005-06-28  Wim Taymans  <wim@fluendo.com>
14809
14810         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
14811         (gst_pad_pull_range):
14812         * gst/gstpad.h:
14813         CONNECTED -> LINKED.
14814
14815 2005-06-28  Andy Wingo  <wingo@pobox.com>
14816
14817         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
14818         source-munging commit!!!
14819
14820         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
14821         (gst_object_sink): Take gpointer arguments, not GstObject --
14822         avoids casts. Like GLib.
14823
14824         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
14825         activate.
14826
14827 2005-06-27  Andy Wingo  <wingo@pobox.com>
14828
14829         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
14830         remaining buffer.
14831
14832         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
14833         returns a sorted copy of the trace list.
14834         (gst_alloc_trace_print_live): New API, only prints traces with
14835         live objects. Sort the list.
14836         (gst_alloc_trace_print_all): Sort the list.
14837         (gst_alloc_trace_print): Align columns.
14838
14839         * gst/elements/gstttypefindelement.c:
14840         * gst/elements/gsttee.c:
14841         * gst/base/gstbasesrc.c:
14842         * gst/base/gstbasesink.c:
14843         * gst/base/gstbasetransform.c:
14844         * gst/gstqueue.c: Adapt for pad activation changes.
14845
14846         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
14847         sched.
14848         (gst_pipeline_dispose): Drop ref on sched.
14849
14850         * gst/gstpad.c (gst_pad_init): Set the default activate func.
14851         (gst_pad_activate_default): Push mode by default.
14852         (pre_activate_switch, post_activate_switch): New stubs, things to
14853         do before and after switching activation modes on pads.
14854         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
14855         the pad's activate function to choose which mode to activate.
14856         Shortcut on deactivation and call the right function directly.
14857         (gst_pad_activate_pull): New API, (de)activates a pad in pull
14858         mode.
14859         (gst_pad_activate_push): New API, same for push mode.
14860         (gst_pad_set_activate_function) 
14861         (gst_pad_set_activatepull_function) 
14862         (gst_pad_set_activatepush_function): Setters for new API.
14863
14864         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
14865         Trace all miniobjects.
14866         (gst_mini_object_make_writable): Unref the arg if we copy, like
14867         gst_caps_make_writable.
14868
14869         * gst/gstmessage.c (_gst_message_initialize): No trace init.
14870
14871         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
14872         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
14873         Adapt for new pad API.
14874
14875         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
14876
14877         * gst/gstelement.h:
14878         * gst/gstelement.c (gst_element_iterate_src_pads) 
14879         (gst_element_iterate_sink_pads): New API functions.
14880         
14881         * gst/gstelement.c (iterator_fold_with_resync): New utility,
14882         should fold into gstiterator.c in some form.
14883         (gst_element_pads_activate): Simplified via use of fold and
14884         delegation of decisions to gstpad->activate.
14885
14886         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
14887         help in debugging.
14888
14889         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
14890         class once in init, like gstmessage. Didn't run into this issue
14891         but it seems correct. Don't initialize a trace, gstminiobject does
14892         that.
14893
14894         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
14895         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
14896         to the bus.
14897         (assert_live_count): New util function, uses alloc traces to check
14898         cleanup.
14899
14900         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
14901         To be modified when unlink drops the internal pad.
14902
14903 2005-06-27  Wim Taymans  <wim@fluendo.com>
14904
14905         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
14906         (gst_bin_change_state):
14907         Cleanup the get_state() function a little, make sure it
14908         iterates the same set of elements.
14909         Added stub iterate_state_order().
14910
14911 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14912
14913         * docs/gst/gstreamer-docs.sgml:
14914         * docs/gst/gstreamer-sections.txt:
14915         * docs/gst/gstreamer.types:
14916         * docs/gst/tmpl/gstbasesink.sgml:
14917         * docs/gst/tmpl/gstbasesrc.sgml:
14918         * docs/gst/tmpl/gstbasetransform.sgml:
14919         * docs/gst/tmpl/gstelement.sgml:
14920         * docs/gst/tmpl/gstiterator.sgml:
14921         * gst/base/gstbasesrc.c:
14922         * gst/base/gstbasesrc.h:
14923         * gst/base/gstbasetransform.h:
14924         * gst/gstelement.c:
14925         * gst/gstiterator.h:
14926           adding basetransform and iterator docs
14927
14928 2005-06-27  Andy Wingo  <wingo@pobox.com>
14929
14930         * docs/design/part-activation.txt: Notes on how activation should
14931         work -- not quite implemented yet.
14932
14933 2005-06-25  Wim Taymans  <wim@fluendo.com>
14934
14935         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
14936         At least get the chain function correct, needs more
14937         fixing.
14938
14939 2005-06-25  Wim Taymans  <wim@fluendo.com>
14940
14941         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14942         (gst_basesink_handle_object), (gst_basesink_event),
14943         (gst_basesink_do_sync), (gst_basesink_handle_event),
14944         (gst_basesink_change_state):
14945         * gst/gsttask.h:
14946         Right, two problems here: ghostpads don't take locks and
14947         glib _rec_mutex_lock_full() with depth==0 still locks.
14948         Catch illegal locking and g_warn them.
14949
14950 2005-06-25  Wim Taymans  <wim@fluendo.com>
14951
14952         * check/states/sinks.c: (START_TEST), (gst_object_suite):
14953         Have to check for completion now...
14954
14955 2005-06-25  Wim Taymans  <wim@fluendo.com>
14956
14957         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14958         (gst_basesink_handle_object), (gst_basesink_event),
14959         (gst_basesink_do_sync), (gst_basesink_handle_event),
14960         (gst_basesink_change_state):
14961         * gst/gstpad.h:
14962         Unlock STREAM_LOCK whatever the recursion was.
14963
14964 2005-06-25  Wim Taymans  <wim@fluendo.com>
14965
14966         * gst/base/gstbasesink.c: (gst_basesink_set_property),
14967         (gst_basesink_preroll_queue_empty),
14968         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
14969         (gst_basesink_event), (gst_basesink_do_sync),
14970         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
14971         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
14972         (gst_basesink_change_state):
14973         Reworked the base sink, handle event and buffer serialisation
14974         correctly and removed possible deadlock.
14975         Handle EOS correctly.
14976
14977 2005-06-25  Wim Taymans  <wim@fluendo.com>
14978
14979         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
14980         (gst_pipeline_change_state):
14981         * tools/gst-launch.c: (check_intr), (event_loop), (main):
14982         Allow elements to post EOS in the state change function.
14983         Fix up -launch, make it exit the poll loop when the
14984         pipeline actually changed state.
14985         Fix up warning parsing in -launch.
14986
14987 2005-06-25  Wim Taymans  <wim@fluendo.com>
14988
14989         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
14990         (gst_tee_sink_activate):
14991         Core takes STREAM_LOCK for us now.
14992
14993 2005-06-25  Wim Taymans  <wim@fluendo.com>
14994
14995         * gst/gstelement.c: (gst_element_get_state_func),
14996         (gst_element_set_state):
14997         * gst/gstelement.h:
14998         * gst/gstmessage.c: (gst_message_parse_error),
14999         (gst_message_parse_warning):
15000         Keep track of current target state while performing a state
15001         change so that subclasses can do something interesting.
15002         Fix parsing of warning/error messages when GError is NULL.
15003
15004 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15005
15006         * docs/gst/Makefile.am:
15007         * docs/gst/gstreamer-docs.sgml:
15008         * docs/gst/gstreamer-sections.txt:
15009         * docs/gst/gstreamer.types:
15010         * docs/gst/tmpl/gstbasesink.sgml:
15011         * docs/gst/tmpl/gstbasesrc.sgml:
15012         * docs/gst/tmpl/gstbin.sgml:
15013         * docs/gst/tmpl/gstcompat.sgml:
15014         * docs/gst/tmpl/gstfakesink.sgml:
15015         * docs/gst/tmpl/gstfakesrc.sgml:
15016         * docs/gst/tmpl/gstfilesink.sgml:
15017         * docs/gst/tmpl/gstfilesrc.sgml:
15018         * docs/gst/tmpl/gstindex.sgml:
15019         * docs/manual/appendix-quotes.xml:
15020         * gst/base/gstbasesrc.h:
15021         * gst/elements/gstfakesrc.h:
15022         * gst/gstmessage.h:
15023           start pulling in base classes and elements in our docs
15024
15025 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
15026
15027         * docs/gst/Makefile.am:
15028         * docs/libs/Makefile.am:
15029           fixed make distcheck with gtk-doc 1.3
15030
15031 2005-06-23  Wim Taymans  <wim@fluendo.com>
15032
15033         * gst/gstelement.c: (gst_element_get_state_func),
15034         (gst_element_set_state), (gst_element_change_state):
15035         When the state did not change, also report NO_PREROLL
15036         when it matters.
15037
15038 2005-06-23  Wim Taymans  <wim@fluendo.com>
15039
15040         * gst/gstpad.c: (gst_pad_event_default):
15041         * gst/gstqueue.c: (gst_queue_loop):
15042         No unsafe task pausing please.
15043
15044 2005-06-23  Wim Taymans  <wim@fluendo.com>
15045
15046         * gst/schedulers/threadscheduler.c:
15047         (gst_thread_scheduler_task_start),
15048         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15049         Ref the task before pushing it on the threadpool. This
15050         makes sure that we have a ref when the threadfunction is
15051         actually called.
15052
15053 2005-06-23  Andy Wingo  <wingo@pobox.com>
15054
15055         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15056         offset is greater than the file's size.
15057
15058         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
15059         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15060         * gst/gstobject.c (gst_object_class_init): Make the class lock
15061         recursive. Wim won't let me drop deep_notify. Decodebin works
15062         again, whoopdy doo.
15063
15064         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15065         internal pad, and hacks accordingly. Doesn't do it on the target
15066         pad because we change its caps. Probably catches all cases of
15067         interest tho.
15068         (gst_ghost_pad_set_property): Connect to notify::caps as
15069         appropritate.
15070
15071         * tests/network-clock.scm (plot-simulation): Pipe data to the
15072         elite python skript.
15073
15074         * tests/network-clock-utils.scm (define-parameter): New macro,
15075         defines a parameter that can be set via the command line.
15076         (set-parameter!, parse-parameter-arguments): Command line args
15077         parser.
15078
15079         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15080         stdin.
15081
15082 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15083
15084         * gst/elements/gsttypefindelement.c:
15085         (gst_type_find_element_handle_event):
15086           Don't restart typefinding on a discont.
15087         * gst/gstelement.c: (gst_element_set_state):
15088           Debug spelling fix.
15089         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15090           Allow changing mode of an active pad.
15091           Debug output fixes.
15092         * gst/registries/gstlibxmlregistry.c: (load_feature):
15093           Don't cast a static pad template to a normal pad template.
15094
15095 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15096
15097         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15098         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15099           remove gst_strtoll completely, since it didn't actually do
15100           anything more than what g_ascii_strtoull already does.
15101           check for range errors when deserializing
15102           do a cast for the unsigned cases; but further fixing needs
15103           a decision on what the interpretation of "(int)" and
15104           deserialization should be for values that fall outside the
15105           type's boundaries (ie, refuse, or interpret as casting)
15106
15107 2005-06-23  Wim Taymans  <wim@fluendo.com>
15108
15109         * check/Makefile.am:
15110         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15111         * docs/design/part-live-source.txt:
15112         * docs/design/part-states.txt:
15113         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15114         (gst_basesrc_set_live), (gst_basesrc_is_live),
15115         (gst_basesrc_get_range), (gst_basesrc_activate),
15116         (gst_basesrc_change_state):
15117         * gst/base/gstbasesrc.h:
15118         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15119         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15120         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15121         * gst/gstelement.c: (gst_element_get_state_func),
15122         (gst_element_set_state):
15123         * gst/gstelement.h:
15124         * gst/gsttypes.h:
15125         * tools/gst-launch.c: (event_loop), (main):
15126         Added support for live sources and other elements that
15127         cannot do preroll.
15128         Updated design docs, added live-source design doc.
15129         Implemented live source functionality in basesrc
15130         Fix error condition in _bin_get_state()
15131         Implement live source handling in -launch.
15132         Added check for live sources.
15133         Fixed case in GstBin where elements were changed state
15134         multiple times.
15135
15136
15137 2005-06-23  Andy Wingo  <wingo@pobox.com>
15138
15139         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15140         borken refcounting.
15141
15142         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15143         gst_caps_replace takes care of this for us.
15144
15145         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15146         gst_pad_set_caps on the target, not just its setcaps() function.
15147
15148         * tests/network-clock.scm: 
15149         * tests/network-clock-utils.scm: A network clock simulator.
15150         Something of an algorithmic testbed before doing something in C.
15151
15152 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15153
15154         * check/Makefile.am:
15155         * check/gst/capslist.h:
15156           copy over from 0.8, and add two with bitmasks specified with
15157           (int) 0xFF...
15158         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15159           add test to parse everything from capslist.h
15160         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15161         (main):
15162           add test for structure deserialization
15163         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15164           add tests for deserialization of strings to int types
15165         * gst/gststructure.c: (gst_structure_nth_field_name):
15166         * gst/gststructure.h:
15167           add a way to get the name of a field referenced by index
15168         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15169           instead of checking if the resulting long long lies between
15170           min and max, we check if the long long would fit into
15171           a number of bytes for the final type.
15172           This fixes cases where a string represents 2^32 - 1, which
15173           when cast to int would be the (valid) -1, but is bigger than
15174           G_MAXINT
15175
15176 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15177
15178         * gst/parse/grammar.y:
15179           add a log line for type deserialization
15180
15181 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15182
15183         * check/gst/gstvalue.c: (START_TEST):
15184         * gst/gstvalue.c: (gst_value_deserialize):
15185           return long long, not int, so gint64 deserialization actually
15186           works.  Is there any flag that makes the compiler check this ?
15187           Fixes #308559
15188
15189 2005-06-22  Wim Taymans  <wim@fluendo.com>
15190
15191         * gst/gstbuffer.h:
15192         Added convenience macros for setting buffers in GValue.
15193
15194 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15195
15196         * check/gst/.cvsignore:
15197         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15198           add a test deserializing int64, and comment part out because
15199           it fails, yay !
15200
15201 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15202
15203         * check/Makefile.am:
15204         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15205         * testsuite/Makefile.am:
15206         * testsuite/caps/Makefile.am:
15207         * testsuite/caps/value_serialize.c:
15208         * testsuite/test_gst_init.c:
15209           move a value_serialize test over
15210
15211 2005-06-20  Wim Taymans  <wim@fluendo.com>
15212
15213         * gst/gstpad.c:
15214         Small doc updates.
15215         
15216         * gst/gstvalue.c: (gst_value_compare_buffer),
15217         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15218         (gst_value_compare_flags), (gst_value_serialize_flags),
15219         (gst_value_deserialize_flags), (_gst_value_initialize):
15220         Fix serialisation of buffers, they are not boxed types anymore
15221
15222 2005-06-20  Wim Taymans  <wim@fluendo.com>
15223
15224         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15225         Testcase to show error in buffer-on-caps serialisation.
15226
15227 2005-06-20  Andy Wingo  <wingo@pobox.com>
15228
15229         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15230         will be adding to later.
15231
15232         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15233         if its socks fill with rocks.
15234         (gst_system_clock_obtain): Set the name on object construction.
15235         Avoid double-checked locking.
15236
15237 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
15238
15239         * gst/gsturi.c: (gst_element_make_from_uri):
15240           Fix potential endless loop.
15241
15242 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15243
15244         * check/Makefile.am:
15245           add gsttag
15246         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15247         (main):
15248           move over from testsuite dir and clean up
15249         * configure.ac:
15250         * gst/gsttag.c:
15251         * testsuite/Makefile.am:
15252         * testsuite/tags/.cvsignore:
15253         * testsuite/tags/Makefile.am:
15254         * testsuite/tags/merge.c:
15255           remove testsuite/tags
15256
15257 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15258
15259         * docs/gst/gstreamer-sections.txt:
15260         * docs/gst/tmpl/gstenumtypes.sgml:
15261         * win32/gstenumtypes.c:
15262           clean up documentation build a little
15263
15264 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15265
15266         * check/gstcheck.h:
15267           add macros for checking refcounts on objects and caps
15268         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15269           add some more unit tests
15270         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15271         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15272           fix leaked refcounts (I hope :)) so unittest works
15273         * gst/gstpad.h:
15274           whitespace removal
15275
15276 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15277
15278         * configure.ac: back to HEAD
15279
15280 === release 0.9.1 ===
15281
15282 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15283
15284         * NEWS:
15285         * RELEASE:
15286           updated
15287
15288 2005-06-17  Andy Wingo  <wingo@pobox.com>
15289
15290         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15291         assert; it's always possible that the pad gets deactivated in
15292         between the checks in gstpad.c and the implementation. Rely on
15293         finish_preroll() to return a FLUSHING or similar instead of on the
15294         assert.
15295         
15296         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15297         clock and post an EOS message if we come out of finish_preroll in
15298         the playing state.
15299
15300 2005-06-16  David Schleef  <ds@schleef.org>
15301
15302         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15303         (gst_capsfilter_set_property): Allow NULL as possible value
15304         for filter_caps property, indicating GST_CAPS_ANY.
15305
15306 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15307
15308         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15309           fix debug output
15310         * gst/schedulers/Makefile.am:
15311           use libgst prefix
15312         * gstreamer.spec.in:
15313           fix spec for it
15314
15315 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15316
15317         * gstreamer.spec.in:
15318           clean up
15319
15320 2005-06-08  Andy Wingo  <wingo@pobox.com>
15321
15322         * gst/gstutils.c: RPAD fixes all around.
15323         (gst_element_link_pads): Refcounting fixes.
15324
15325         * tools/gst-inspect.c:
15326         * tools/gst-xmlinspect.c:
15327         * parse/grammar.y:
15328         * gst/base/gsttypefindhelper.c:
15329         * gst/base/gstbasesink.c:
15330         * gst/gstqueue.c: RPAD fixes.
15331
15332         * gst/gstghostpad.h:
15333         * gst/gstghostpad.c: New ghost pad implementation as full proxy
15334         pads. The tricky thing is they provide both source and sink
15335         interfaces, since they proxy the internal pad for the external
15336         pad, and vice versa. Implement with lower-level ProxyPad objects,
15337         with the interior proxy pad as a child of the exterior ghost pad.
15338         Should write a doc on this.
15339         
15340         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15341         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15342         gst_object API.
15343         
15344         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15345         pads are real pads. No ghost pads in this file. Not documenting
15346         the myriad s/RPAD/PAD/ and REALIZE fixes.
15347         (gst_pad_class_init): Add properties for "direction" and
15348         "template". Both are construct-only, so they can't change during
15349         the life of the pad. Fixes properly deriving from GstPad.
15350         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15351         derived objects, just set properties when creating the objects via
15352         g_object_new.
15353         (gst_pad_get_parent): Implement as a function, return NULL if the
15354         parent is not an element.
15355         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15356         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15357         
15358         * gst/gstobject.c (gst_object_class_init): Make name a construct
15359         property. Don't set it in the object init.
15360
15361         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15362         with UNKNOWN direction.
15363         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15364         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15365         (gst_element_remove_pad): Remove ghost-pad special cases.
15366         (gst_element_pads_activate): Remove rpad cruft.
15367
15368         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15369         catch the pad's-parent-not-an-element case.
15370
15371         * gst/gst.h: Include gstghostpad.h.
15372
15373         * gst/gst.c (init_post): No more real, ghost pads.
15374
15375         * gst/Makefile.am: Add gstghostpad.[ch].
15376
15377         * check/Makefile.am:
15378         * check/gst/gstbin.c:
15379         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15380         into a bin creates ghost pads, and that the refcounts are right.
15381         Partly moved from gstbin.c.
15382
15383 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15384
15385         * check/gst-libs/.cvsignore:
15386         * check/gst/.cvsignore:
15387         * check/pipelines/.cvsignore:
15388           ignore more
15389         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15390         (START_TEST), (cleanup_suite), (main):
15391           add some tests related to cleanup after running pipelines
15392
15393 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15394
15395         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15396           add a testsuite for GstBuffer
15397
15398 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15399
15400         * gst/gstminiobject.h:
15401           add defines for accessing the refcount
15402
15403 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
15404
15405         * Makefile.am: added support for html unit test coverage reports
15406
15407 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
15408
15409         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15410           Free existing caps if the capsfilter changes. Add a FIXME about
15411           setting those caps on the pads.
15412
15413         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15414           Before adding a ghost pad to a parent bin, check that there isn't
15415           already one for the element on the bin. Prevents infinite recursion
15416           when using decodebin in parse pipelines. Andy says he'll rewrite the
15417           way this works anyway, so ignore the hack.
15418
15419 2005-06-02  Andy Wingo  <wingo@pobox.com>
15420
15421         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15422         file size, pass it on to the type find helper.
15423
15424         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15425         segment_start and segment_end properly according to the seek
15426         method. Segment_end is still a bit flaky because offset can be
15427         negative for CUR and END cases, but it takes -1 as an "unset"
15428         value.
15429
15430 2005-06-02  Wim Taymans  <wim@fluendo.com>
15431
15432         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15433         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15434         (gst_basesink_activate):
15435         * gst/base/gstbasesink.h:
15436         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15437         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15438         (gst_pad_query), (gst_pad_start_task):
15439         * gst/gstpad.h:
15440         * gst/gstqueue.c: (gst_queue_bufferalloc),
15441         (gst_queue_handle_sink_event), (gst_queue_chain):
15442         Bufferalloc: return GstFlowReturn to more accuratly report
15443         why allocation failed.
15444
15445 2005-06-02  Wim Taymans  <wim@fluendo.com>
15446
15447         * gst/gstpipeline.c: (gst_pipeline_send_event):
15448         Take snapshot of state without blocking.
15449
15450 2005-06-02  Wim Taymans  <wim@fluendo.com>
15451
15452         * docs/design/part-TODO.txt:
15453         * docs/design/part-caps.txt:
15454         * docs/design/part-clocks.txt:
15455         * docs/design/part-negotiation.txt:
15456         * docs/design/part-preroll.txt:
15457         Small doc updates 
15458
15459 2005-05-30  Wim Taymans  <wim@fluendo.com>
15460
15461         * gst/elements/gstidentity.c: (gst_identity_event),
15462         (gst_identity_transform), (gst_identity_get_property):
15463         Protect last_message property as it is accessed from
15464         multiple threads.
15465
15466 2005-05-30  Wim Taymans  <wim@fluendo.com>
15467
15468         * gst/gstelement.c: (gst_element_init),
15469         (gst_element_pads_activate), (gst_element_change_state):
15470         Slicker pad activation code.
15471
15472 2005-05-30  Wim Taymans  <wim@fluendo.com>
15473
15474         * gst/Makefile.am:
15475         * gst/gstelement.h:
15476         * gst/gstelementfactory.h:
15477         * gst/gsttypes.h:
15478         Move elementfactory methods to separate .h file.
15479
15480 2005-05-30  Wim Taymans  <wim@fluendo.com>
15481
15482         * docs/design/part-overview.txt:
15483         * gst/gstsystemclock.h:
15484         Small typo fixes, doc updates.
15485
15486 2005-05-30  Wim Taymans  <wim@fluendo.com>
15487
15488         * gst/gst.c: (gst_init_get_popt_table), (init_post),
15489         (init_popt_callback):
15490         Remove cpu-opt flag.
15491
15492 2005-05-30  Wim Taymans  <wim@fluendo.com>
15493
15494         * gst/gstbuffer.c: (gst_subbuffer_finalize),
15495         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15496         * gst/gstbuffer.h:
15497         Avoid typechecking in places where not needed.
15498         Added accessor for malloc_data.
15499
15500 2005-05-30  Wim Taymans  <wim@fluendo.com>
15501
15502         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15503         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15504         (gst_pad_configure_sink), (gst_pad_configure_src),
15505         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15506         (gst_pad_start_task):
15507         Propagate errors from _set_caps() in configure_src/sink
15508         functions instead of returning TRUE.
15509         FLUSH events can travel up and downstream
15510
15511
15512 2005-05-30  Wim Taymans  <wim@fluendo.com>
15513
15514         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15515         (gst_basesink_activate):
15516         Handle EOS in preroll.
15517
15518 2005-05-30  Wim Taymans  <wim@fluendo.com>
15519
15520         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15521         (gst_queue_loop), (gst_queue_handle_src_event):
15522         Remove old pieces of code
15523         Flushing the queue in an upstream event is a very bad idea.
15524
15525 2005-05-26  Andy Wingo  <wingo@pobox.com>
15526
15527         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
15528         gst_value_set_mini_object so as to add a ref on the object (which
15529         will be removed when the value is unset).
15530
15531         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
15532         arg type in ::handoff.
15533
15534         * gst/gstelement.c (gst_element_change_state): Also deactivate
15535         pads in READY->NULL, just in case the element didn't make it to
15536         PAUSED. Wingo tested, Wim approved.
15537
15538 2005-05-26  Wim Taymans  <wim@fluendo.com>
15539
15540         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15541         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15542         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
15543         A flushing pad cannot be used to alloc_buffer from.
15544
15545 2005-05-26  Wim Taymans  <wim@fluendo.com>
15546
15547         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
15548         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
15549         (gst_bus_source_dispatch), (gst_bus_source_finalize),
15550         (gst_bus_create_watch), (gst_bus_add_watch_full):
15551         * gst/gstbus.h:
15552         Implement a real GSource and use g_main_context_wakeup() to
15553         signal new messages instead of the socketpair.
15554
15555 2005-05-25  Wim Taymans  <wim@fluendo.com>
15556
15557         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
15558         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
15559         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15560         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15561         (gst_pad_send_event), (gst_pad_start_task):
15562         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
15563         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15564         (gst_queue_sink_activate), (gst_queue_src_activate),
15565         (gst_queue_change_state):
15566         * gst/gstqueue.h:
15567         Fix state changes for non sinks. We now change sinks, then elements
15568         with unconnected srcpads, then the rest.
15569         More efficient queue unlocking in flush and state changes.
15570         Set the pad activate mode even if it does not have an activate
15571         function.
15572
15573 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15574
15575         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
15576           Don't go in pull mode for non-seekable sources.
15577         * gst/elements/gsttypefindelement.h:
15578         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15579         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
15580         (free_entry), (stop_typefinding),
15581         (gst_type_find_element_handle_event), (find_peek),
15582         (gst_type_find_element_chain), (do_pull_typefind),
15583         (gst_type_find_element_change_state):
15584           Allow typefinding (w/o seeking) in push-mode, simplified version
15585           of what was in 0.8.
15586         * gst/gstutils.c: (gst_buffer_join):
15587         * gst/gstutils.h:
15588           gst_buffer_join() from 0.8.
15589
15590 2005-05-25  Wim Taymans  <wim@fluendo.com>
15591
15592         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15593         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15594         (gst_pad_send_event), (gst_pad_start_task):
15595         Disable attempt at mode switching until it is figured out.
15596
15597 2005-05-25  Wim Taymans  <wim@fluendo.com>
15598
15599         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
15600         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15601         (gst_basesink_finish_preroll), (gst_basesink_chain),
15602         (gst_basesink_loop), (gst_basesink_activate),
15603         (gst_basesink_change_state):
15604         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
15605         (gst_basesrc_get_range), (gst_basesrc_loop),
15606         (gst_basesrc_activate):
15607         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15608         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15609         (gst_real_pad_init), (gst_real_pad_set_property),
15610         (gst_real_pad_get_property), (gst_pad_set_active),
15611         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
15612         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
15613         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
15614         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
15615         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15616         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
15617         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
15618         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15619         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
15620         (gst_pad_stop_task):
15621         * gst/gstpad.h:
15622         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15623         (gst_queue_loop), (gst_queue_src_activate):
15624         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
15625         (gst_task_get_state):
15626         * gst/gsttask.h:
15627         * gst/schedulers/threadscheduler.c:
15628         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
15629         Implement gst_pad_pause/start/stop_task(), take STREAM lock
15630         in task function.
15631         Remove ACTIVE pad flag, use FLUSHING everywhere
15632         Added _pad_chain(), _pad_get_range() to call chain/getrange 
15633         functions.
15634         Add locks around IS_FLUSHING when reading.
15635         Take STREAM lock in chain(), get_range() functions so plugins
15636         don't need to take it anymore.
15637         
15638
15639
15640 2005-05-25  Wim Taymans  <wim@fluendo.com>
15641
15642         * tools/gst-launch.c: (event_loop):
15643         Unref message after using its contents instead of
15644         before.
15645
15646 2005-05-24  Wim Taymans  <wim@fluendo.com>
15647
15648         * docs/design/draft-ghostpads.txt:
15649         * docs/design/draft-push-pull.txt:
15650         * docs/design/draft-query.txt:
15651         * docs/design/part-overview.txt:
15652         Docs updates, added general overview doc.
15653
15654 2005-05-21  David Schleef  <ds@schleef.org>
15655
15656         * docs/gst/tmpl/old/GstBin.sgml:
15657         * docs/gst/tmpl/old/GstBuffer.sgml:
15658         * docs/gst/tmpl/old/GstCaps.sgml:
15659         * docs/gst/tmpl/old/GstClock.sgml:
15660         * docs/gst/tmpl/old/GstCompat.sgml:
15661         * docs/gst/tmpl/old/GstData.sgml:
15662         * docs/gst/tmpl/old/GstElement.sgml:
15663         * docs/gst/tmpl/old/GstEvent.sgml:
15664         * docs/gst/tmpl/old/GstIndex.sgml:
15665         * docs/gst/tmpl/old/GstStructure.sgml:
15666         * docs/gst/tmpl/old/GstTag.sgml:
15667         * docs/gst/tmpl/old/cothreads.sgml:
15668         * docs/gst/tmpl/old/cothreads_compat.sgml:
15669         * docs/gst/tmpl/old/gettext.sgml:
15670         * docs/gst/tmpl/old/gobject2gtk.sgml:
15671         * docs/gst/tmpl/old/grammar.tab.sgml:
15672         * docs/gst/tmpl/old/gst-i18n-app.sgml:
15673         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
15674         * docs/gst/tmpl/old/gst_private.sgml:
15675         * docs/gst/tmpl/old/gstaggregator.sgml:
15676         * docs/gst/tmpl/old/gstarch.sgml:
15677         * docs/gst/tmpl/old/gstatomic_impl.sgml:
15678         * docs/gst/tmpl/old/gstbufferstore.sgml:
15679         * docs/gst/tmpl/old/gstdata_private.sgml:
15680         * docs/gst/tmpl/old/gstdisksink.sgml:
15681         * docs/gst/tmpl/old/gstdisksrc.sgml:
15682         * docs/gst/tmpl/old/gstelementfactory.sgml:
15683         * docs/gst/tmpl/old/gstextratypes.sgml:
15684         * docs/gst/tmpl/old/gstfakesink.sgml:
15685         * docs/gst/tmpl/old/gstfakesrc.sgml:
15686         * docs/gst/tmpl/old/gstfdsink.sgml:
15687         * docs/gst/tmpl/old/gstfdsrc.sgml:
15688         * docs/gst/tmpl/old/gstfilesink.sgml:
15689         * docs/gst/tmpl/old/gstfilesrc.sgml:
15690         * docs/gst/tmpl/old/gsthttpsrc.sgml:
15691         * docs/gst/tmpl/old/gstidentity.sgml:
15692         * docs/gst/tmpl/old/gstindexfactory.sgml:
15693         * docs/gst/tmpl/old/gstmarshal.sgml:
15694         * docs/gst/tmpl/old/gstmd5sink.sgml:
15695         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
15696         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
15697         * docs/gst/tmpl/old/gstpadtemplate.sgml:
15698         * docs/gst/tmpl/old/gstpipefilter.sgml:
15699         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
15700         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
15701         * docs/gst/tmpl/old/gstshaper.sgml:
15702         * docs/gst/tmpl/old/gstspider.sgml:
15703         * docs/gst/tmpl/old/gstspideridentity.sgml:
15704         * docs/gst/tmpl/old/gststatistics.sgml:
15705         * docs/gst/tmpl/old/gsttee.sgml:
15706         * docs/gst/tmpl/old/gsttimecache.sgml:
15707         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
15708         * docs/gst/tmpl/old/gstxmlregistry.sgml:
15709         * docs/gst/tmpl/old/gthread-cothreads.sgml:
15710         * docs/gst/tmpl/old/types.sgml:
15711           I didn't intend to add these or check them in.
15712
15713 2005-05-19  David Schleef  <ds@schleef.org>
15714
15715         * configure.ac: Use -no-common everywhere.  In a sane world, it
15716           would be the default in libtool, because without it, you can't
15717           build DLLs on Windows.
15718         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
15719         * docs/gst/gstreamer-sections.txt:
15720         * docs/gst/tmpl/gstcpu.sgml:
15721         * docs/gst/tmpl/gstdata.sgml:
15722         * docs/gst/tmpl/gstthread.sgml:
15723
15724 2005-05-19  David Schleef  <ds@schleef.org>
15725
15726         * gst/gstminiobject.c: (gst_value_set_mini_object),
15727         (gst_value_take_mini_object), (gst_value_get_mini_object):
15728         * gst/gstminiobject.h: Add GValue set/get functions.
15729
15730 2005-05-19  Wim Taymans  <wim@fluendo.com>
15731
15732         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
15733         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
15734         (gst_subbuffer_init), (gst_buffer_is_span_fast):
15735         * gst/gstbuffer.h:
15736         * gst/gstbus.c: (gst_bus_post):
15737         * gst/gstelement.c: (gst_element_get_random_pad):
15738         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
15739         Make subbufer unref the parent in finalize.
15740         some more debugging info.
15741
15742
15743 2005-05-19  Wim Taymans  <wim@fluendo.com>
15744
15745         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15746         (gst_basesink_init), (gst_basesink_finalize),
15747         (gst_basesink_activate), (gst_basesink_change_state):
15748         Don't free preroll queue too early.
15749
15750 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15751
15752         * gst/Makefile.am:
15753         * gst/ROADMAP:
15754           Hi, I'm outdated. Please shoot me.
15755
15756 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15757
15758         * gst/gstpipeline.c: (gst_pipeline_send_event):
15759           Do not access variables after they have been deleted.
15760
15761 2005-05-19  Wim Taymans  <wim@fluendo.com>
15762
15763         * tools/gst-inspect.c: (print_plugin_features):
15764         A plugin feature does unfortunatly not use the
15765         object name yet...
15766
15767 2005-05-18  Wim Taymans  <wim@fluendo.com>
15768
15769         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
15770         Port _span() functions to new subbuffers.
15771
15772 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15773
15774         * gst/gstbin.c: (gst_bin_add_func):
15775           Fix clock settery in bins when adding kids after the clock has
15776           been selected.
15777
15778 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15779
15780         * gst/elements/gstidentity.c: (gst_identity_class_init):
15781           Workaround until signals support GstMiniObject.
15782
15783 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15784
15785         * gst/gstbuffer.c:
15786         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
15787
15788 2005-05-18  Wim Taymans  <wim@fluendo.com>
15789
15790         * gst/base/Makefile.am:
15791         * gst/base/gstadapter.c: (gst_adapter_base_init),
15792         (gst_adapter_class_init), (gst_adapter_init),
15793         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
15794         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
15795         (gst_adapter_flush), (gst_adapter_available),
15796         (gst_adapter_available_fast):
15797         * gst/base/gstadapter.h:
15798         Ported and added adapter to the base classes.
15799
15800 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15801
15802         * gst/gst.c:
15803         * gst/gstmessage.c:
15804           Make sure the class is reffed/unreffed once before threads can be
15805           used.  Fixes #304551.
15806
15807 2005-05-17  Wim Taymans  <wim@fluendo.com>
15808
15809         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
15810         (gst_basesink_chain_unlocked), (gst_basesink_activate):
15811         * gst/gstminiobject.c: (gst_mini_object_get_type),
15812         (gst_mini_object_free):
15813         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
15814         (gst_pad_push), (gst_pad_push_event):
15815         * gst/gstqueue.c: (gst_queue_change_state):
15816         Don't queue buffers in basesink when we are flushing.
15817         Unref buffer when flushing in basesink.
15818         Flush queue when going to READY
15819         Unref buffer when _push() returns an error.
15820         Don't free MiniObject instance when refcount is incremented
15821         in _finalize() so that we can recover objects.
15822
15823 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15824
15825         * docs/manual/advanced-schedulers.xml:
15826         * docs/manual/appendix-checklist.xml:
15827         * docs/pwg/advanced-clock.xml:
15828         * docs/pwg/advanced-interfaces.xml:
15829         * docs/pwg/advanced-request.xml:
15830         * docs/pwg/advanced-types.xml:
15831         * docs/pwg/intro-preface.xml:
15832         * examples/plugins/example.c: (gst_example_get_type),
15833         (gst_example_class_init), (gst_example_chain),
15834         (gst_example_set_property), (gst_example_get_property),
15835         (gst_example_change_state), (plugin_init):
15836         * examples/plugins/example.h:
15837           small doc fixes
15838
15839 2005-05-17  Wim Taymans  <wim@fluendo.com>
15840
15841         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
15842         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
15843         * gst/gstqueue.c: (gst_queue_change_state):
15844         Clear queue when going to READY.
15845         Remove IN_SETCAPS flag too.
15846
15847 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
15848
15849         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
15850           Remove implicit cast from gboolean to GstElementStateReturn;
15851           make sure we still return failure in paused => ready case if
15852           the parent class fails to change state and our own stop 
15853           vfunc succeeds.
15854
15855 2005-05-17  Wim Taymans  <wim@fluendo.com>
15856
15857         * tools/gst-launch.c: (event_loop):
15858         Message was unreffed too soon.
15859
15860 2005-05-16  Andy Wingo  <wingo@pobox.com>
15861
15862         * gst/gstbin.c (sink_iterator_filter): Err... um...
15863
15864         * check/gst/gstbin.c (test_ghost_pads): New test for the
15865         ghosting-if-elements-not-in-same-bin behavior.
15866
15867 2005-05-16  David Schleef  <ds@schleef.org>
15868
15869         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
15870         accessing refcount directly.
15871
15872 2005-05-15  David Schleef  <ds@schleef.org>
15873
15874         * check/Makefile.am: remove GstData checks
15875         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
15876         * gst/Makefile.am: add miniobject, remove data
15877         * gst/gst.h: add miniobject, remove data
15878         * gst/gstdata.c: remove
15879         * gst/gstdata.h: remove
15880         * gst/gstdata_private.h: remove
15881         * gst/gsttypes.h: remove GstEvent and GstMessage
15882         * gst/gstelement.c: (gst_element_post_message): fix for API changes
15883         * gst/gstmarshal.list: change BOXED -> OBJECT
15884
15885         Implement GstMiniObject.
15886         * gst/gstminiobject.c:
15887         * gst/gstminiobject.h:
15888
15889         Modify to be subclasses of GstMiniObject.
15890         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
15891         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
15892         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
15893         (gst_subbuffer_get_type), (gst_subbuffer_init),
15894         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
15895         (gst_buffer_span):
15896         * gst/gstbuffer.h:
15897         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
15898         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
15899         (_gst_event_copy), (gst_event_new):
15900         * gst/gstevent.h:
15901         * gst/gstmessage.c: (_gst_message_initialize),
15902         (gst_message_get_type), (gst_message_class_init),
15903         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
15904         (gst_message_new), (gst_message_new_error),
15905         (gst_message_new_warning), (gst_message_new_tag),
15906         (gst_message_new_state_changed), (gst_message_new_application):
15907         * gst/gstmessage.h:
15908         * gst/gstprobe.c: (gst_probe_perform),
15909         (gst_probe_dispatcher_dispatch):
15910         * gst/gstprobe.h:
15911         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
15912         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
15913         (_gst_query_copy), (gst_query_new):
15914
15915         Update elements for GstData -> GstMiniObject changes
15916         * gst/gstquery.h:
15917         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
15918         (gst_queue_chain), (gst_queue_loop):
15919         * gst/elements/gstbufferstore.c:
15920         (gst_buffer_store_add_buffer_func),
15921         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
15922         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15923         (gst_fakesink_render):
15924         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15925         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
15926         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
15927         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
15928         (gst_filesrc_create_read):
15929         * gst/elements/gstidentity.c: (gst_identity_class_init):
15930         * gst/elements/gsttypefindelement.c:
15931         (gst_type_find_element_src_event), (free_entry_buffers),
15932         (gst_type_find_element_handle_event):
15933         * libs/gst/dataprotocol/dataprotocol.c:
15934         (gst_dp_header_from_buffer):
15935         * libs/gst/dataprotocol/dataprotocol.h:
15936         * libs/gst/dataprotocol/dp-private.h:
15937
15938 2005-05-15  David Schleef  <ds@schleef.org>
15939
15940         * gst/elements/gstelements.c: Don't include headers that were
15941         just removed.
15942
15943 2005-05-15  David Schleef  <ds@schleef.org>
15944
15945         * gst/elements/Makefile.am: Remove some elements that don't
15946         need to be in the core (or even exist at all).
15947         * gst/elements/gstaggregator.c:
15948         * gst/elements/gstaggregator.h:
15949         * gst/elements/gstmd5sink.c:
15950         * gst/elements/gstmd5sink.h:
15951         * gst/elements/gstmultifilesrc.c:
15952         * gst/elements/gstmultifilesrc.h:
15953         * gst/elements/gstpipefilter.c:
15954         * gst/elements/gstpipefilter.h:
15955         * gst/elements/gstshaper.c:
15956         * gst/elements/gstshaper.h:
15957         * gst/elements/gststatistics.c:
15958         * gst/elements/gststatistics.h:
15959         * po/POTFILES.in: Remove above files.
15960
15961 2005-05-14  Andy Wingo  <wingo@pobox.com>
15962
15963         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
15964         so as to get the refs right.
15965         (sink_iterator_filter): New function, wraps bin_element_is_sink,
15966         unreffing objects that don't pass the filter.
15967
15968         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
15969         gst_element_set_bus.
15970         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
15971         normal cases, this will destroy the bus.
15972
15973         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
15974         object.
15975
15976         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
15977         has no sinks.
15978
15979 2005-05-13  Andy Wingo  <wingo@pobox.com>
15980
15981         * gst/gstutils.c (gst_element_link_pads): Instead of calling
15982         gst_pad_link, call pad_link_maybe_ghosting,
15983         (pad_link_maybe_ghosting): Links pads, making sure that the
15984         elements being linked are in the same bin.
15985         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
15986         Helpers for pad_link_maybe_ghosting.
15987
15988 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15989
15990         * configure.ac:
15991           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
15992
15993 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
15994
15995         * docs/design/part-element-source.txt:
15996           Mention GstPushSrc
15997
15998 2005-05-12  Wim Taymans  <wim@fluendo.com>
15999
16000         * gst/base/gstbasesink.c: (gst_basesink_init),
16001         (gst_basesink_activate):
16002         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16003         (gst_basesrc_is_seekable):
16004         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16005         (bin_element_is_sink), (gst_bin_change_state):
16006         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16007         * gst/gstelement.h:
16008         Identify sinks by their flag to avoid overly complicated
16009         checks (fow now).
16010         Do state changes even for elements not reachable from the
16011         sinks.
16012         BaseSink is a sink now :)
16013         Some more debugging info in the basesrc.
16014
16015
16016 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16017
16018         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16019           Implement _query on a bin, similar to _send_event.
16020
16021 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
16022
16023         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16024           Discont event offset format should be GST_FORMAT_BYTES,
16025           not GST_FORMAT_TIME.
16026
16027 2005-05-12  Wim Taymans  <wim@fluendo.com>
16028
16029         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16030         Same fix as Ronald's but without the signal. 
16031
16032 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16033
16034         * gst/gstutils.c: (gst_element_query_position):
16035           No, an element is not a pad.
16036
16037 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16038
16039         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16040         (gst_bin_get_state):
16041           If a child is removed from a bin while we remove the child from
16042           the bin and while we're retrieving its state, signal this to the
16043           get_state function so we abort the wait (instead of waiting for
16044           a timeout) and can immediately re-iterate over all other elements.
16045
16046 2005-05-12  Wim Taymans  <wim@fluendo.com>
16047
16048         * gst/base/Makefile.am:
16049         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16050         (gst_basesrc_start):
16051         * gst/base/gstbasesrc.h:
16052         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16053         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16054         (gst_pushsrc_init), (gst_pushsrc_create):
16055         * gst/base/gstpushsrc.h:
16056         Added is_seekable to BaseSrc
16057         Added simple PushSrc.
16058
16059 2005-05-11  Wim Taymans  <wim@fluendo.com>
16060
16061         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16062         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16063         (gst_element_link_pads), (gst_element_query_position),
16064         (gst_element_query_convert), (intersect_caps_func),
16065         (gst_pad_query_position), (gst_pad_query_convert):
16066         Fix refcounting in utils function.
16067         No point in trying to activate a pad when it's added, it could
16068         be added from the state change function and then we deadlock, the
16069         element has to decide what to do.
16070
16071 2005-05-10  Andy Wingo  <wingo@pobox.com>
16072
16073         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16074         *all* the arguments.
16075
16076         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16077         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16078         lock (according to the docs -- if this is wrong change the docs).
16079
16080         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16081         flush messages in the NULL state.
16082
16083         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16084         message immediately and return.
16085         (gst_bus_set_flushing): New function. If a bus is flushing, it
16086         flushes out any queued messages and immediately unrefs new
16087         messages. This is so when an element goes to NULL, all of the
16088         unhandled messages coming from it can be freed, and their
16089         references to the element dropped. In other words: message source
16090         ref considered harmful :P
16091
16092         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16093         we're finished with it.
16094
16095         * gst/gstmessage.c (gst_message_new_state_changed): 
16096
16097 2005-05-10  Wim Taymans  <wim@fluendo.com>
16098
16099         * gst/gstvalue.c: (gst_value_compare_flags),
16100         (gst_value_serialize_flags), (gst_value_deserialize_flags),
16101         (_gst_value_initialize):
16102         Added flags serialize/deserialize/compare code.
16103
16104 2005-05-09  Andy Wingo  <wingo@pobox.com>
16105
16106         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16107         Intersect the peer's caps with our caps.
16108
16109 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16110
16111         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16112         * gst/elements/gsttypefindelement.c: (find_peek):
16113           Handle negative offsets better. Fixes decodebin.
16114
16115 2005-05-09  Wim Taymans  <wim@fluendo.com>
16116
16117         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16118         (gst_base_transform_event):
16119         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16120         Implement accept_caps.
16121         Fix silly lock/unlock mismatch in base class.
16122
16123 2005-05-09  Wim Taymans  <wim@fluendo.com>
16124
16125         * docs/design/draft-push-pull.txt:
16126         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16127         * gst/elements/gstfilesink.c: (gst_filesink_init),
16128         (gst_filesink_query):
16129         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16130         (gst_type_find_handle_src_query), (find_element_get_length):
16131         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16132         * gst/gstelement.h:
16133         * gst/gstmessage.c:
16134         * gst/gstmessage.h:
16135         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16136         (gst_real_pad_get_caps_unlocked),
16137         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16138         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16139         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16140         (gst_real_pad_dispose), (gst_real_pad_finalize),
16141         (gst_pad_load_and_link), (gst_pad_save_thyself),
16142         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16143         (gst_pad_check_pull_range), (gst_pad_pull_range),
16144         (gst_pad_template_get_type), (gst_pad_template_class_init),
16145         (gst_pad_template_init), (gst_pad_template_dispose),
16146         (name_is_valid), (gst_static_pad_template_get),
16147         (gst_pad_template_new), (gst_static_pad_template_get_caps),
16148         (gst_pad_template_get_caps), (gst_pad_set_element_private),
16149         (gst_pad_get_element_private), (gst_pad_start_task),
16150         (gst_pad_pause_task), (gst_pad_stop_task),
16151         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16152         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16153         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16154         (gst_ghost_pad_new):
16155         * gst/gstpad.h:
16156         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16157         (gst_query_new_position), (gst_query_set_position),
16158         (gst_query_parse_position), (gst_query_new_convert),
16159         (gst_query_set_convert), (gst_query_parse_convert):
16160         * gst/gstquery.h:
16161         * gst/gstqueryutils.c:
16162         * gst/gstqueryutils.h:
16163         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16164         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16165         (gst_queue_handle_src_query):
16166         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16167         (gst_element_query_position), (gst_element_query_convert),
16168         (intersect_caps_func), (gst_pad_query_position),
16169         (gst_pad_query_convert):
16170         * gst/gstutils.h:
16171         * tools/gst-inspect.c: (print_pad_info):
16172         * tools/gst-xmlinspect.c: (print_element_info):
16173         Remove old query functions. Ported old code.
16174         Added position/convert helper functions to gstutils.
16175         Reordered gstpad.c code, grouping relevant things.
16176         Remove gst_message_new(), always need to speficy a specific
16177         message.
16178
16179
16180 2005-05-09  Andy Wingo  <wingo@pobox.com>
16181
16182         * gst/gstiterator.h: Add some includes.
16183
16184         * gst/gstqueryutils.h: Include more headers.
16185
16186         * gst/gstpad.h:
16187         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16188         some uses of gst_pad_query.
16189
16190         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16191         NULL out parameters.
16192         (gst_query_new_position): New proc, allocates a new position
16193         query.
16194
16195         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16196         gstqueryutils.c to the build.
16197
16198         * gst/gststructure.c (gst_structure_set_valist): Implement with
16199         the generic G_VALUE_COLLECT.
16200         
16201 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
16202
16203         * gst/Makefile.am: (gst_headers):
16204         Added gstqueryutils.h to the list of headers to install, that was
16205         a 'nachty' move wingo :)
16206
16207 2005-05-06  Andy Wingo  <wingo@pobox.com>
16208
16209         * gst/gstquery.h
16210         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16211         GstData, init a memchunk.
16212         (standard_definitions): Add a few query types, deprecate a few.
16213         (gst_query_get_type): New proc.
16214         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16215         implementation.
16216         (gst_query_new_application, gst_query_get_structure): New public
16217         procs.
16218
16219         * docs/design/draft-query.txt: Removed LINKS from the query types,
16220         because all the rest can be dispatched to other pads -- seemed
16221         ugly to have a query that couldn't be dispatched. internal_links
16222         is fine as a pad method.
16223
16224         * gst/gstpad.h: Add query2 as a pad method, add the new functions
16225         in gstpad.c, but maintain binary compatibility for the moment.
16226         Will fix before 0.9 is out.
16227
16228         * gst/gstqueryutils.c: 
16229         * gst/gstqueryutils.h: New files, implement 3 methods for each
16230         query type: parse_query, parse_response, and set. Probably need an
16231         allocator as well.
16232
16233         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16234
16235         * gst/elements/gstfilesink.c (gst_filesink_query2):
16236         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16237         query_types, and formats methods.
16238
16239         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16240         (gst_pad_set_query2_function): New functions.
16241         (gst_real_pad_init): Set query2_default as the default query2
16242         function. Basically just dispatches to internally linked pads.
16243
16244         Needs review!
16245         
16246         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16247         without using the atomic operations. Only one thread can possibly
16248         be accessing the data at this point. Changed so as to avoid
16249         gst_atomic operations.
16250
16251 2005-05-06  Wim Taymans  <wim@fluendo.com>
16252
16253         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16254         Also set caps if we use the fallback buffer alloc.
16255
16256 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
16257
16258         * docs/gst/Makefile.am:
16259         * docs/gst/gstreamer-docs.sgml:
16260         * docs/gst/gstreamer-sections.txt:
16261         * docs/gst/tmpl/gstatomic.sgml:
16262         * docs/gst/tmpl/gstmemchunk.sgml:
16263         * testsuite/elements/struct_i386.h:
16264         * win32/GStreamer.vcproj:
16265         * win32/Makefile:
16266           Purge GstAtomic stuff from docs and win32 makefiles as well
16267
16268 2005-05-06  Wim Taymans  <wim@fluendo.com>
16269
16270         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16271         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16272         * gst/gstpad.c: (gst_pad_peer_get_caps):
16273         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16274         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16275         (gst_queue_src_activate), (gst_queue_change_state):
16276         * gst/gstqueue.h:
16277         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16278         (intersect_caps_func):
16279         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16280         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16281         Some fixes for the peer_get_caps() change.
16282
16283 2005-05-06  Wim Taymans  <wim@fluendo.com>
16284
16285         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16286         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16287         (gst_basesink_activate):
16288         Actually do something with error codes returned from the push
16289         functions.
16290
16291 2005-05-06  Wim Taymans  <wim@fluendo.com>
16292
16293         * docs/design/part-element-sink.txt:
16294         * docs/design/part-element-source.txt:
16295         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16296         (gst_basesink_event), (gst_basesink_activate):
16297         * gst/base/gstbasesink.h:
16298         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16299         (gst_basesrc_activate):
16300         * gst/base/gstbasesrc.h:
16301         * gst/gstelement.c: (gst_element_pads_activate):
16302         Some more documentation.
16303         Fixed scheduling decision in _pads_activate().
16304
16305 2005-05-05  Andy Wingo  <wingo@pobox.com>
16306
16307         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16308         the test suite.
16309
16310 2005-05-05  Wim Taymans  <wim@fluendo.com>
16311
16312         * gst/base/Makefile.am:
16313         * gst/base/gstbasesink.h:
16314         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16315         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16316         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16317         (gst_collectpads_class_init), (gst_collectpads_init),
16318         (gst_collectpads_finalize), (gst_collectpads_new),
16319         (gst_collectpads_set_function), (gst_collectpads_add_pad),
16320         (find_pad), (gst_collectpads_remove_pad),
16321         (gst_collectpads_is_active), (gst_collectpads_collect),
16322         (gst_collectpads_collect_range), (gst_collectpads_start),
16323         (gst_collectpads_stop), (gst_collectpads_peek),
16324         (gst_collectpads_pop), (gst_collectpads_available),
16325         (gst_collectpads_read), (gst_collectpads_flush),
16326         (gst_collectpads_chain):
16327         * gst/base/gstcollectpads.h:
16328         * gst/elements/Makefile.am:
16329         * gst/elements/gstelements.c:
16330         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16331         (gst_fakesink_get_times), (gst_fakesink_event),
16332         (gst_fakesink_preroll), (gst_fakesink_render):
16333         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16334         (gst_filesink_init), (gst_filesink_set_location),
16335         (gst_filesink_open_file), (gst_filesink_close_file),
16336         (gst_filesink_pad_query), (gst_filesink_event),
16337         (gst_filesink_render), (gst_filesink_change_state):
16338         * gst/elements/gstfilesink.h:
16339         Added object to help in making collect pad based elements.
16340         Ported filesink.
16341         Make event function in sink baseclass return gboolean.
16342
16343 2005-05-05  Wim Taymans  <wim@fluendo.com>
16344
16345         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16346         (gst_bin_get_by_name):
16347         * gst/gstbuffer.h:
16348         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16349         (gst_clock_finalize):
16350         * gst/gstdata.c: (gst_data_replace):
16351         * gst/gstdata.h:
16352         * gst/gstelement.c: (gst_element_request_pad),
16353         (gst_element_pads_activate):
16354         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16355         (gst_object_unref):
16356         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16357         (gst_pad_set_checkgetrange_function),
16358         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16359         (gst_pad_check_pull_range), (gst_pad_pull_range),
16360         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16361         (gst_pad_pause_task), (gst_pad_stop_task):
16362         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16363         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16364         Fix name lookup in GstBin.
16365         Added _data_replace() function and _buffer_replace()
16366         Use finalize method to clean up clock.
16367         Fix refcounting on request pads.
16368         Fix pad schedule mode error.
16369         Some more object refcounting debug info,
16370
16371
16372 2005-05-04  Andy Wingo <wingo@pobox.com>
16373
16374         * check/Makefile.am:
16375         * docs/gst/tmpl/gstatomic.sgml:
16376         * docs/gst/tmpl/gstplugin.sgml:
16377         * gst/base/gstbasesink.c: (gst_basesink_activate):
16378         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16379         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16380         (gst_basesrc_query), (gst_basesrc_set_property),
16381         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16382         (gst_basesrc_activate):
16383         * gst/base/gstbasesrc.h:
16384         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16385         (gst_base_transform_src_activate):
16386         * gst/elements/gstelements.c:
16387         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16388         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16389         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16390         * gst/elements/gsttypefindelement.c: (find_element_get_length),
16391         (gst_type_find_element_checkgetrange),
16392         (gst_type_find_element_activate):
16393         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16394         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16395         (gst_caps_load_thyself):
16396         * gst/gstelement.c: (gst_element_pads_activate),
16397         (gst_element_save_thyself), (gst_element_restore_thyself):
16398         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16399         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16400         * gst/gstpad.h:
16401         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16402         (gst_xml_parse_file), (gst_xml_parse_memory),
16403         (gst_xml_get_element), (gst_xml_make_element):
16404         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16405         (_file_index_id_save_xml), (gst_file_index_commit):
16406         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16407         (read_enum), (load_pad_template), (load_feature), (load_plugin),
16408         (load_paths):
16409         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16410         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16411         * tools/gst-complete.c: (main):
16412         * tools/gst-compprep.c: (main):
16413         * tools/gst-inspect.c: (print_element_properties_info):
16414         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16415         * tools/gst-xmlinspect.c: (print_element_properties):
16416         GCC 4 fixen.
16417         
16418 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16419
16420         * gst/gstplugin.c: (gst_plugin_check_module),
16421         (gst_plugin_check_file), (gst_plugin_load_file):
16422             apply patch from #172526 to make register work on MacOSX
16423
16424 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16425
16426         * docs/gst/tmpl/gstconfig.sgml:
16427         * gst/gstconfig.h.in:
16428           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
16429         * testsuite/debug/printf_extension.c: (main):
16430           Do not use GST_PTR_FORMAT on pointers to types with
16431           sizeof < sizeof(gpointer).  Fixes test on 64-bit
16432         * testsuite/elements/property.h:
16433           use correct printf format
16434
16435 2005-05-02  Wim Taymans  <wim@fluendo.com>
16436
16437         * docs/design/draft-push-pull.txt:
16438         * docs/design/draft-query.txt:
16439         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16440         (gst_basesrc_start):
16441         Added draft for new query API.
16442         Added draft for better selecting scheduling methods.
16443         Make basesrc ignore length if the subclass does not support
16444         it.
16445
16446 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16447
16448         * gst/Makefile.am:
16449           possible fixes for automake-1.5 - _LIBADD is reserved
16450
16451 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16452
16453         * docs/faq/Makefile.am:
16454         * docs/manual/Makefile.am:
16455         * docs/manuals.mak:
16456         * docs/pwg/Makefile.am:
16457         * gst/Makefile.am:
16458           possible fixes for automake-1.5
16459
16460 2005-04-28  Wim Taymans  <wim@fluendo.com>
16461
16462         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16463         (gst_basesink_pad_getcaps), (gst_basesink_init),
16464         (gst_basesink_do_sync):
16465         * gst/gstclock.c: (gst_clock_entry_new):
16466         * gst/gstevent.c: (gst_event_discont_get_value):
16467         * gst/gstpipeline.c: (pipeline_bus_handler),
16468         (gst_pipeline_change_state):
16469         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16470         Better debugging of clocking info.
16471         Allow NULL values when getting discont values.
16472
16473 2005-04-27  Wim Taymans  <wim@fluendo.com>
16474
16475         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16476         * check/gst/gstpad.c: (gst_pad_suite):
16477         Increase timeout for checks.
16478
16479 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16480
16481         * check/Makefile.am:
16482           fix the broken rule for cleanup.  Apparently this rule is
16483           only needed on FC2, so maybe this warrants further autotool
16484           inspection.
16485
16486 2005-04-26  Wim Taymans  <wim@fluendo.com>
16487
16488         * gst/gsttrashstack.h:
16489         Ooohh. a nasty one! After having a failed pop() from the stack,
16490         it's possible that the stack is empty. In that case, don't
16491         follow the NULL pointer.
16492
16493 2005-04-25  Wim Taymans  <wim@fluendo.com>
16494
16495         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16496         (gst_pad_set_checkgetrange_function),
16497         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16498         (gst_pad_check_pull_range), (gst_pad_pull_range),
16499         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16500         (gst_pad_pause_task), (gst_pad_stop_task):
16501         * gst/gstplugin.c: (gst_plugin_load):
16502         * gst/gstplugin.h:
16503         Remove gst_library_load as it does more harm than good with
16504         the new g_module flags.
16505         Revert bogus caps template check in pad linking, pad caps
16506         are important when linking not the template, which is more
16507         general than the current caps.
16508
16509 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16510
16511         * gst/autoplug/.cvsignore:
16512         * gst/autoplug/Makefile.am:
16513         * gst/autoplug/gstsearchfuncs.c:
16514         * gst/autoplug/gstsearchfuncs.h:
16515         * gst/autoplug/gstspider.c:
16516         * gst/autoplug/gstspider.h:
16517         * gst/autoplug/gstspideridentity.c:
16518         * gst/autoplug/gstspideridentity.h:
16519         * gst/autoplug/spidertest.c:
16520           Die, spider, die.
16521
16522 2005-04-25  Wim Taymans  <wim@fluendo.com>
16523
16524         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16525         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16526         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
16527         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
16528         * gst/gstpad.h:
16529         Added stubs for unimplemented functions. 
16530
16531 2005-04-24  David Schleef  <ds@schleef.org>
16532
16533         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
16534         please fix.
16535
16536 2005-04-24  David Schleef  <ds@schleef.org>
16537
16538         Convert everything from GstAtomicInt to g_atomic_int_*, and
16539         remove gstatomic.
16540         * gst/Makefile.am:
16541         * gst/gstatomic.c:
16542         * gst/gstatomic.h:
16543         * gst/gstatomic_impl.h:
16544         * gst/gstbuffer.c:
16545         * gst/gstcaps.c:
16546         * gst/gstcaps.h:
16547         * gst/gstclock.c:
16548         * gst/gstclock.h:
16549         * gst/gstdata.c:
16550         * gst/gstdata.h:
16551         * gst/gstdata_private.h:
16552         * gst/gstevent.c:
16553         * gst/gstinfo.c:
16554         * gst/gstinfo.h:
16555         * gst/gstmessage.c:
16556         * gst/gstobject.c:
16557         * gst/gstobject.h:
16558         * gst/gststructure.c:
16559         * gst/gststructure.h:
16560         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
16561         * gst/gstutils.h:
16562
16563 2005-04-24  David Schleef  <ds@schleef.org>
16564
16565         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
16566         make the regressions tests work.  Remove some code that is no
16567         longer true.
16568         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
16569         Disable warning for pads without templates.
16570
16571 2005-04-24  David Schleef  <ds@schleef.org>
16572
16573         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
16574         functions that handle filtered links.
16575         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
16576         removed functions.
16577         * gst/gstutils.c: Fix/remove utility functions that handle
16578         filtered caps.
16579         * gst/gstutils.h:
16580         * gst/gstvalue.c: Add serialization/deserialization of caps
16581         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
16582         requires fixing so that the filter caps notation creates
16583         a capsfilter element and sets the filter_caps property.  I
16584         think everyone probably wants to keep the shorthand notation.
16585         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
16586         * docs/gst/tmpl/gstpad.sgml:
16587
16588         * gst/elements/gstelements.c: Register capsfilter element.
16589         * gst/Makefile.am: fix spacing
16590         * docs/random/ds/0.9-suggested-changes: random
16591
16592 2005-04-23  David Schleef  <ds@schleef.org>
16593
16594         * gst/elements/Makefile.am:
16595         * gst/elements/gstcapsfilter.c: New element that acts like an
16596         identity, but filters caps.  Will eventually replace filtered
16597         caps in pad linking.
16598         * gst/gstutils.c: (gst_element_create_all_pads): New function
16599         to create all the ALWAYS pads that are registered with an
16600         element class.  This functionality should eventually be
16601         merged in with GstElement initialization.
16602         * gst/gstutils.h:
16603         * testsuite/trigger/README: part of trigger test code that should
16604         have been checked in a long time ago.
16605
16606 2005-04-23  David Schleef  <ds@schleef.org>
16607
16608         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
16609         needed with new versions of libtool (nobody will confirm this),
16610         and hard to carry around.
16611         * gst/autoplug/Makefile.am:
16612         * gst/base/Makefile.am:
16613         * gst/elements/Makefile.am:
16614         * gst/indexers/Makefile.am:
16615         * gst/schedulers/Makefile.am:
16616         * libs/gst/bytestream/Makefile.am:
16617         * libs/gst/control/Makefile.am:
16618         * libs/gst/dataprotocol/Makefile.am:
16619         * libs/gst/getbits/Makefile.am:
16620
16621 2005-04-21  Wim Taymans  <wim@fluendo.com>
16622
16623         * docs/design/draft-push-pull.txt:
16624         * docs/design/part-MT-refcounting.txt:
16625         * docs/design/part-TODO.txt:
16626         * docs/design/part-caps.txt:
16627         * docs/design/part-events.txt:
16628         * docs/design/part-gstbus.txt:
16629         * docs/design/part-gstpipeline.txt:
16630         * docs/design/part-messages.txt:
16631         * docs/design/part-push-pull.txt:
16632         * docs/design/part-query.txt:
16633         Some more docs.
16634
16635 2005-04-21  Wim Taymans  <wim@fluendo.com>
16636
16637         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
16638         (gst_message_new), (gst_message_new_error),
16639         (gst_message_new_warning), (gst_message_new_tag),
16640         (gst_message_new_state_changed), (gst_message_new_application),
16641         (gst_message_get_structure):
16642         * gst/gstmessage.h:
16643         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16644         (gst_structure_copy_conditional):
16645         Use parent refcount in GstMessage to ensure GstStructure
16646         consistency.
16647         Cleaned up headers a bit.
16648         
16649
16650 2005-04-20  Wim Taymans  <wim@fluendo.com>
16651
16652         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16653         (gst_basesink_pad_getcaps), (gst_basesink_init),
16654         (gst_basesink_chain_unlocked):
16655         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
16656         (gst_type_find_helper):
16657         * gst/elements/gsttypefindelement.c:
16658         (gst_type_find_element_have_type), (gst_type_find_element_init),
16659         (stop_typefinding), (gst_type_find_element_handle_event),
16660         (find_suggest), (gst_type_find_element_chain),
16661         (gst_type_find_element_checkgetrange),
16662         (gst_type_find_element_getrange), (do_typefind),
16663         (gst_type_find_element_activate):
16664         * gst/gstbuffer.c: (_gst_buffer_sub_free),
16665         (gst_buffer_default_free), (gst_buffer_default_copy),
16666         (gst_buffer_set_caps):
16667         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
16668         (gst_caps_replace):
16669         * gst/gstmessage.c: (gst_message_new),
16670         (gst_message_new_state_changed):
16671         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16672         (gst_pad_set_checkgetrange_function),
16673         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
16674         (gst_pad_set_caps), (gst_pad_check_pull_range),
16675         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
16676         * gst/gstpad.h:
16677         * gst/gsttypefind.c: (gst_type_find_register):
16678         Make gst_caps_replace() work like other _replace() functions.
16679         Use _caps_replace() where possible.
16680         Make sure _message_new() initialises its field.
16681         Add gst_static_pad_template_get_caps()
16682
16683
16684 2005-04-18  Andy Wingo  <wingo@pobox.com>
16685
16686         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
16687         on the peer, not the pad. I think that was a typo. Pass an extra
16688         arg to see if random access is possible. Activate the pads as
16689         PULL_RANGE if possible.
16690
16691         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
16692
16693         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
16694         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
16695         to PROP_....
16696
16697 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16698
16699         * docs/faq/using.xml:
16700           Add note on gstreamer-properties (#154996).
16701
16702 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16703
16704         * docs/random/bbb/optional-properties:
16705           Some analysis on optional properties.
16706
16707 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16708
16709         * docs/gst/tmpl/gstelementfactory.sgml:
16710         * gst/gstelement.h:
16711         * gst/gstelementfactory.c: (gst_element_factory_init),
16712         (gst_element_factory_cleanup), (gst_element_register),
16713         (__gst_element_factory_add_static_pad_template),
16714         (gst_element_factory_get_static_pad_templates),
16715         (gst_element_factory_can_src_caps),
16716         (gst_element_factory_can_sink_caps):
16717         * gst/registries/Makefile.am:
16718         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
16719         (gst_xml_registry_class_init), (gst_xml_registry_init),
16720         (gst_xml_registry_new), (gst_xml_registry_set_property),
16721         (gst_xml_registry_get_property), (get_time), (make_dir),
16722         (gst_xml_registry_get_perms_func),
16723         (plugin_times_older_than_recurse), (plugin_times_older_than),
16724         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
16725         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
16726         (add_to_char_array), (read_string), (read_uint), (read_enum),
16727         (load_pad_template), (load_feature), (load_plugin), (load_paths),
16728         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
16729         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
16730         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
16731         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
16732         (gst_xml_registry_rebuild):
16733         * gst/registries/gstlibxmlregistry.h:
16734         * tools/gst-compprep.c: (main):
16735         * tools/gst-inspect.c: (print_pad_templates_info):
16736         * tools/gst-xmlinspect.c: (print_element_info):
16737           Use libxml2 for registry parsing, use staticpadtemplates in
16738           elementfactories. Makes gst_init() +/- 10x faster.
16739
16740 2005-04-12  Wim Taymans  <wim@fluendo.com>
16741
16742         * gst/base/Makefile.am:
16743         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16744         (gst_basesink_pad_getcaps), (gst_basesink_init),
16745         (gst_basesink_event), (gst_basesink_change_state):
16746         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16747         (gst_basesrc_init), (gst_basesrc_query),
16748         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16749         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16750         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16751         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16752         (gst_basesrc_stop), (gst_basesrc_activate),
16753         (gst_basesrc_change_state):
16754         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16755         (helper_find_suggest), (gst_type_find_helper):
16756         * gst/base/gsttypefindhelper.h:
16757         * gst/elements/Makefile.am:
16758         * gst/elements/gstelements.c:
16759         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16760         (gst_fakesink_get_times), (gst_fakesink_event),
16761         (gst_fakesink_preroll), (gst_fakesink_render):
16762         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16763         (gst_fakesrc_init), (gst_fakesrc_event_handler),
16764         (gst_fakesrc_get_property), (gst_fakesrc_create),
16765         (gst_fakesrc_start), (gst_fakesrc_stop):
16766         * gst/elements/gstfakesrc.h:
16767         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
16768         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16769         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16770         (gst_filesrc_create_read), (gst_filesrc_create),
16771         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
16772         (gst_filesrc_start):
16773         * gst/elements/gsttypefindelement.c:
16774         (gst_type_find_element_have_type), (gst_type_find_element_init),
16775         (start_typefinding), (stop_typefinding), (push_buffer_store),
16776         (gst_type_find_element_handle_event),
16777         (gst_type_find_element_chain),
16778         (gst_type_find_element_checkgetrange),
16779         (gst_type_find_element_getrange), (do_typefind),
16780         (gst_type_find_element_activate),
16781         (gst_type_find_element_change_state):
16782         * gst/elements/gsttypefindelement.h:
16783         * gst/gstpipeline.c: (pipeline_bus_handler):
16784         Added typefind helper.
16785         Small preroll fix in the base sink.
16786         Disable typefind code in basesrc.
16787         Crude port of typefindelement.
16788         Fakesrc cleanups.
16789
16790
16791 2005-04-11  Wim Taymans  <wim@fluendo.com>
16792
16793         * check/gst/gstbus.c: (gstbus_suite):
16794         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
16795         * check/gstcheck.h:
16796           Fix up the timeout so that the test does not fail.
16797
16798 2005-04-06  Wim Taymans  <wim@fluendo.com>
16799
16800         * gst/base/README:
16801         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16802         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
16803         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16804         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16805         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16806         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16807         (gst_basesrc_stop), (gst_basesrc_activate),
16808         (gst_basesrc_change_state), (basesrc_find_peek),
16809         (basesrc_find_suggest), (gst_basesrc_type_find):
16810         * gst/base/gstbasesrc.h:
16811         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
16812         (gst_filesrc_class_init), (gst_filesrc_init),
16813         (gst_filesrc_finalize), (gst_filesrc_set_location),
16814         (gst_filesrc_set_property), (gst_filesrc_get_property),
16815         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16816         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16817         (gst_filesrc_create_read), (gst_filesrc_create),
16818         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
16819         * gst/elements/gstfilesrc.h:
16820         * gst/gstelement.c: (gst_element_get_state_func),
16821         (gst_element_lost_state), (gst_element_pads_activate):
16822         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16823         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16824         (gst_pad_pull_range):
16825         * gst/gstpad.h:
16826         More work on the generic source base class, implement seeking,
16827         query.
16828         Make filesrc extend the base source class.
16829         Added gst_pad_set_checkgetrange_function to GstPad.
16830
16831 2005-04-06  Andy Wingo  <wingo@pobox.com>
16832
16833         * pkgconfig/gstreamer-base.pc.in:
16834         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
16835
16836         * pkgconfig/Makefile.am:
16837         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
16838
16839 2005-04-04  Wim Taymans  <wim@fluendo.com>
16840
16841         * gst/base/Makefile.am:
16842         * gst/base/README:
16843         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16844         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16845         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16846         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
16847         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16848         (gst_basesrc_base_init), (gst_basesrc_class_init),
16849         (gst_basesrc_init), (gst_basesrc_get_formats),
16850         (gst_basesrc_get_query_types), (gst_basesrc_query),
16851         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
16852         (gst_basesrc_set_property), (gst_basesrc_get_property),
16853         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
16854         (gst_basesrc_loop), (gst_basesrc_activate),
16855         (gst_basesrc_change_state):
16856         * gst/base/gstbasesrc.h:
16857         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
16858         (gst_fakesrc_class_init), (gst_fakesrc_init),
16859         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
16860         (gst_fakesrc_get_property), (gst_fakesrc_create):
16861         * gst/elements/gstfakesrc.h:
16862         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
16863         (gst_filesrc_open_file), (gst_filesrc_loop),
16864         (gst_filesrc_activate), (filesrc_find_peek),
16865         (gst_filesrc_type_find):
16866         Made base source class, make fakesrc extend it.
16867         Add comments to basesink class.
16868         Some filesrc cleanup.
16869
16870 2005-03-31  David Schleef  <ds@schleef.org>
16871
16872         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
16873         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
16874         expected to link against libgstreamer.
16875         * gst/base/Makefile.am: link against libgstreamer
16876         * gst/elements/Makefile.am: same
16877
16878 2005-03-31  Andy Wingo  <wingo@pobox.com>
16879
16880         * tests/instantiate/Makefile.am:
16881         * tests/instantiate/caps.c: Add test to test speed of caps copy
16882         and free.
16883
16884         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
16885         GMemChunk to be fair.
16886
16887         * gst/gsttrashstack.h: Remove warning about using the fallback
16888         trash stack implementation, it's still faster than malloc.
16889
16890 2005-03-30  Andy Wingo  <wingo@pobox.com>
16891
16892         * tests/complexity.c: Add a copyright.
16893
16894 2005-03-31  Wim Taymans  <wim@fluendo.com>
16895
16896         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
16897         (gst_base_transform_class_init), (gst_base_transform_init),
16898         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16899         (gst_base_transform_get_property),
16900         (gst_base_transform_sink_activate),
16901         (gst_base_transform_src_activate),
16902         (gst_base_transform_change_state):
16903         * gst/base/gstbasetransform.h:
16904         * gst/elements/gstidentity.c: (gst_identity_class_init),
16905         (gst_identity_event), (gst_identity_check_perfect),
16906         (gst_identity_transform), (gst_identity_start),
16907         (gst_identity_stop):
16908         Added start/stop methods to transform base class so subclasses 
16909         don't need to deal with state changes even.
16910
16911 2005-03-31  Wim Taymans  <wim@fluendo.com>
16912
16913         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
16914         (gst_event_new_discontinuous), (gst_event_discont_get_value):
16915         * gst/gstevent.h:
16916         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16917         (gst_pad_pull_range):
16918         Added rate to the discont event to prepare for variable speed
16919         and reverse playback.
16920
16921 2005-03-29  David Schleef  <ds@schleef.org>
16922
16923         * configure.ac:
16924         * testsuite/trigger/Makefile.am:
16925         * testsuite/trigger/trigger.c: A little example program to show
16926         how trigger-based elements can work.
16927
16928 2005-03-29  Wim Taymans  <wim@fluendo.com>
16929
16930         * gst/base/Makefile.am:
16931         * gst/base/README:
16932         * gst/base/gstbasesink.c: (gst_basesink_get_type),
16933         (gst_basesink_base_init), (gst_basesink_class_init),
16934         (gst_basesink_pad_getcaps), (gst_basesink_init),
16935         (gst_basesink_activate), (gst_basesink_change_state):
16936         * gst/base/gstbasesink.h:
16937         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
16938         (gst_base_transform_base_init), (gst_base_transform_finalize),
16939         (gst_base_transform_class_init), (gst_base_transform_init),
16940         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
16941         (gst_base_transform_event), (gst_base_transform_getrange),
16942         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
16943         (gst_base_transform_set_property),
16944         (gst_base_transform_get_property),
16945         (gst_base_transform_sink_activate),
16946         (gst_base_transform_src_activate),
16947         (gst_base_transform_change_state):
16948         * gst/base/gstbasetransform.h:
16949         * gst/elements/gstidentity.c: (gst_identity_finalize),
16950         (gst_identity_class_init), (gst_identity_init),
16951         (gst_identity_event), (gst_identity_check_perfect),
16952         (gst_identity_transform), (gst_identity_set_property),
16953         (gst_identity_get_property), (gst_identity_change_state):
16954         * gst/elements/gstidentity.h:
16955         * gst/gstelement.c: (gst_element_get_state_func),
16956         (gst_element_lost_state), (gst_element_pads_activate):
16957         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16958         (gst_pad_check_pull_range), (gst_pad_pull_range):
16959         * gst/gstpad.h:
16960         Simplify pad activation.
16961         Added function to check if pull_range can be performed.
16962         Error out when pulling inactive or flushing pads.
16963         Removed const from refcounted types as it does not make sense.
16964         Simplify pad templates in basesink
16965         Added base class for simple 1-to-1 transforms.
16966         Make identity subclass the base transform.
16967
16968 2005-03-29  Andy Wingo  <wingo@pobox.com>
16969
16970         * docs/libs/gstreamer-libs-overrides.txt: 
16971         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
16972         really don't understand what's going on, but like whatever. I want
16973         green buildbot!
16974
16975         * docs/gst/Makefile.am:
16976         * docs/libs/Makefile.am: Dist the overrides files.
16977
16978         * check/Makefile.am (clean-local): Remove .libs directories.
16979
16980         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
16981         elements to EXTRA_DIST, so po/ files are happy.
16982
16983         * po/POTFILES.in: Er, remove it here.
16984
16985         * po/POTFILES: Remove gstspider.c.
16986
16987         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
16988
16989         * docs/libs/gstreamer-libs-docs.sgml: 
16990         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
16991         bytestream.
16992
16993         * tests/complexity.c (main): Set the length of the preroll queue
16994         on the sinks to prevent a lockup.
16995
16996         * libs/gst/dataprotocol/Makefile.am: 
16997         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
16998         the same as the one in check/gst-libs/gdp.c.
16999
17000         * po/, docs/gst/: Commit automatic changes to docs and po files.
17001
17002         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17003         the versioned libgstbase.
17004
17005         * check/Makefile.am: Depend on an unversioned gst-register, seems
17006         to make autoconf happier.
17007
17008         * gst/base/Makefile.am: Make libgstbase a versioned lib.
17009
17010 2005-03-28  Wim Taymans  <wim@fluendo.com>
17011
17012         * configure.ac:
17013         * docs/design/part-gstelement.txt:
17014         * docs/design/part-negotiation.txt:
17015         * docs/design/part-preroll.txt:
17016         * docs/design/part-scheduling.txt:
17017         * docs/design/part-states.txt:
17018         * gst/Makefile.am:
17019         * gst/base/Makefile.am:
17020         * gst/base/README:
17021         * gst/base/gstbasesink.c: (gst_basesink_get_template),
17022         (gst_basesink_base_init), (gst_basesink_class_init),
17023         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17024         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17025         (gst_basesink_set_pad_functions),
17026         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17027         (gst_basesink_set_property), (gst_basesink_get_property),
17028         (gst_base_sink_get_template), (gst_base_sink_get_caps),
17029         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17030         (gst_basesink_preroll_queue_push),
17031         (gst_basesink_preroll_queue_empty),
17032         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17033         (gst_basesink_event), (gst_basesink_get_times),
17034         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17035         (gst_basesink_chain_unlocked), (gst_basesink_chain),
17036         (gst_basesink_loop), (gst_basesink_activate),
17037         (gst_basesink_change_state):
17038         * gst/base/gstbasesink.h:
17039         * gst/elements/Makefile.am:
17040         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17041         (gst_fakesink_class_init), (gst_fakesink_init),
17042         (gst_fakesink_set_property), (gst_fakesink_get_property),
17043         (gst_fakesink_get_times), (gst_fakesink_event),
17044         (gst_fakesink_preroll), (gst_fakesink_render),
17045         (gst_fakesink_change_state):
17046         * gst/elements/gstfakesink.h:
17047         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17048         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17049         * gst/gstelement.c: (gst_element_add_pad),
17050         (gst_element_get_state_func), (gst_element_abort_state),
17051         (gst_element_commit_state), (gst_element_lost_state),
17052         (gst_element_set_state), (gst_element_pads_activate):
17053         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17054         * gst/gstpipeline.c: (gst_pipeline_send_event),
17055         (gst_pipeline_change_state):
17056         Added state change code.
17057         Added/updated docs.
17058         Added sink base class, make fakesink extend the base class.
17059         Small cleanups in GstPipeline.
17060
17061 2005-03-26  David Schleef  <ds@schleef.org>
17062
17063         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
17064         is broken and should be implemented in a different library.
17065         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17066         * gst/gst.h: remove gstcpu.h
17067         * gst/gstcpu.c: remove
17068         * gst/gstcpu.h: remove
17069         * gst/Makefile.am.future: Remove this file.  It's ancient.
17070
17071 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17072
17073         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17074         (gst_bin_send_event):
17075           Add default event/set_manager handlers. The set_manager handler
17076           takes care that the manager is distributed over kids that were
17077           already in the bin before the manager was set. The event handler
17078           is a utility virtual function that sends the event over all sinks,
17079           so that gst_element_send_event (bin, event); has the expected
17080           behaviour.
17081         * gst/gstpad.c: (gst_pad_event_default):
17082           Re-install default event handling for discontinuities, so that
17083           seeking works without requiring hacks in applications or extra
17084           code in sinks.
17085         * gst/gstpipeline.c: (gst_pipeline_class_init),
17086         (gst_pipeline_send_event):
17087           Half hack, half utility: set a pipeline to PAUSED for seek events,
17088           since that is the only way we can guarantee a/v sync. Means that
17089           you can do gst_element_seek (pipeline, method, pos); on a pipeline
17090           and it "just works".
17091
17092 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17093
17094         * gst/gstpipeline.c: (gst_pipeline_use_clock):
17095           Lock/unlock mismatch.
17096
17097 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17098
17099         * docs/faq/gst-uninstalled:
17100           add gst-plugins-base
17101         * docs/gst/Makefile.am:
17102           don't error out until docs are fixed
17103         * docs/gst/gstreamer.types:
17104           remove thread
17105
17106 2005-03-22  Wim Taymans  <wim@fluendo.com>
17107
17108         * check/Makefile.am:
17109         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17110         * gst/gststructure.c: (gst_structure_set_valist),
17111         (gst_structure_copy_conditional):
17112         Activated more tests.
17113         Added message test.
17114         Added G_TYPE_POINTER to GstStructure.
17115         
17116
17117 2005-03-22  Wim Taymans  <wim@fluendo.com>
17118
17119         * docs/design/part-TODO.txt:
17120         * docs/design/part-events.txt:
17121         * docs/design/part-gstbin.txt:
17122         * docs/design/part-gstbus.txt:
17123         * docs/design/part-gstpipeline.txt:
17124         * docs/design/part-messages.txt:
17125         * gst/gstbus.c:
17126         * gst/gstmessage.c:
17127         Docs updates
17128
17129 2005-03-21  Wim Taymans  <wim@fluendo.com>
17130
17131         * gst/gstbus.c: (gst_bus_post):
17132         Fix copy-and-paste error.
17133
17134 2005-03-21  Wim Taymans  <wim@fluendo.com>
17135
17136         * check/Makefile.am:
17137         * gst/Makefile.am:
17138         * gst/elements/Makefile.am:
17139         * gst/elements/gstelements.c:
17140         * gst/elements/gstfakesink.c: (gst_fakesink_init),
17141         (gst_fakesink_event), (gst_fakesink_chain):
17142         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17143         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17144         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17145         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17146         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17147         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17148         (gst_fakesrc_loop), (gst_fakesrc_activate),
17149         (gst_fakesrc_change_state):
17150         * gst/elements/gstfakesrc.h:
17151         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17152         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17153         (gst_filesrc_open_file), (gst_filesrc_loop),
17154         (gst_filesrc_activate), (gst_filesrc_change_state),
17155         (filesrc_find_peek), (filesrc_find_suggest),
17156         (gst_filesrc_type_find):
17157         * gst/elements/gstidentity.c: (gst_identity_finalize),
17158         (gst_identity_class_init), (gst_identity_init),
17159         (gst_identity_proxy_getcaps), (identity_queue_push),
17160         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17161         (gst_identity_getrange), (gst_identity_chain),
17162         (gst_identity_sink_loop), (gst_identity_src_loop),
17163         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17164         (gst_identity_set_property), (gst_identity_get_property),
17165         (gst_identity_change_state):
17166         * gst/elements/gstidentity.h:
17167         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17168         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17169         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17170         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17171         (gst_tee_sink_activate):
17172         * gst/elements/gsttee.h:
17173         * gst/gst.c: (gst_register_core_elements), (init_post):
17174         * gst/gst.h:
17175         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17176         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17177         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17178         (gst_bin_change_state):
17179         * gst/gstbin.h:
17180         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17181         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17182         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17183         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17184         (gst_bus_set_sync_handler), (gst_bus_create_watch),
17185         (bus_watch_callback), (bus_watch_destroy),
17186         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17187         (poll_timeout), (gst_bus_poll):
17188         * gst/gstbus.h:
17189         * gst/gstcaps.h:
17190         * gst/gstdata.h:
17191         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17192         (gst_element_post_message), (gst_element_message_full),
17193         (gst_element_get_state_func), (gst_element_get_state),
17194         (gst_element_abort_state), (gst_element_commit_state),
17195         (gst_element_lost_state), (gst_element_set_state),
17196         (gst_element_pads_activate), (gst_element_change_state),
17197         (gst_element_dispose), (gst_element_set_manager_func),
17198         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17199         (gst_element_set_manager), (gst_element_get_manager),
17200         (gst_element_set_bus), (gst_element_get_bus),
17201         (gst_element_set_scheduler), (gst_element_get_scheduler):
17202         * gst/gstelement.h:
17203         * gst/gstevent.c: (gst_event_new_segment_seek),
17204         (gst_event_new_flush):
17205         * gst/gstevent.h:
17206         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17207         (_gst_message_free), (gst_message_get_type), (gst_message_new),
17208         (gst_message_new_eos), (gst_message_new_error),
17209         (gst_message_new_warning), (gst_message_new_tag),
17210         (gst_message_new_state_changed), (gst_message_new_application),
17211         (gst_message_get_structure), (gst_message_parse_tag),
17212         (gst_message_parse_state_changed), (gst_message_parse_error),
17213         (gst_message_parse_warning):
17214         * gst/gstmessage.h:
17215         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17216         (gst_real_pad_set_property), (gst_pad_set_active),
17217         (gst_pad_is_active), (gst_pad_set_blocked_async),
17218         (gst_pad_set_blocked), (gst_pad_is_blocked),
17219         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17220         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17221         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17222         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17223         (gst_pad_link_filtered), (gst_pad_relink_filtered),
17224         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17225         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17226         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17227         (gst_pad_set_caps), (gst_pad_configure_sink),
17228         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17229         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17230         (gst_real_pad_dispose), (gst_real_pad_finalize),
17231         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17232         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17233         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17234         * gst/gstpad.h:
17235         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17236         (pipeline_bus_handler), (gst_pipeline_change_state),
17237         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17238         * gst/gstpipeline.h:
17239         * gst/gstprobe.h:
17240         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17241         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17242         (gst_queue_link_src), (gst_queue_bufferalloc),
17243         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17244         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17245         (gst_queue_loop), (gst_queue_handle_src_event),
17246         (gst_queue_handle_src_query), (gst_queue_src_activate),
17247         (gst_queue_change_state):
17248         * gst/gstqueue.h:
17249         * gst/gstscheduler.c: (gst_scheduler_init),
17250         (gst_scheduler_dispose), (gst_scheduler_create_task),
17251         (gst_scheduler_factory_create):
17252         * gst/gstscheduler.h:
17253         * gst/gststructure.c: (gst_structure_get_type),
17254         (gst_structure_copy_conditional):
17255         * gst/gststructure.h:
17256         * gst/gsttaginterface.h:
17257         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17258         (gst_task_init), (gst_task_dispose), (gst_task_create),
17259         (gst_task_get_state), (gst_task_start), (gst_task_stop),
17260         (gst_task_pause):
17261         * gst/gsttask.h:
17262         * gst/gstthread.c:
17263         * gst/gstthread.h:
17264         * gst/gsttypes.h:
17265         * gst/schedulers/Makefile.am:
17266         * gst/schedulers/cothreads_compat.h:
17267         * gst/schedulers/entryscheduler.c:
17268         * gst/schedulers/faircothreads.c:
17269         * gst/schedulers/faircothreads.h:
17270         * gst/schedulers/fairscheduler.c:
17271         * gst/schedulers/gstbasicscheduler.c:
17272         * gst/schedulers/gstoptimalscheduler.c:
17273         * gst/schedulers/gthread-cothreads.h:
17274         * gst/schedulers/threadscheduler.c:
17275         (gst_thread_scheduler_task_get_type),
17276         (gst_thread_scheduler_task_class_init),
17277         (gst_thread_scheduler_task_init),
17278         (gst_thread_scheduler_task_start),
17279         (gst_thread_scheduler_task_stop),
17280         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17281         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17282         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17283         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17284         (plugin_init):
17285         * libs/gst/Makefile.am:
17286         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17287         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17288         (gst_file_pad_parent_set):
17289         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17290         (gst_dp_event_from_packet):
17291         * tests/complexity.c: (main):
17292         * tests/mass_elements.c: (main):
17293         * testsuite/states/locked.c: (message_received), (main):
17294         * testsuite/states/parent.c: (main):
17295         * tools/gst-inspect.c: (print_element_flag_info),
17296         (print_implementation_info), (print_pad_info):
17297         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17298         (main):
17299         * tools/gst-md5sum.c: (event_loop), (main):
17300         * tools/gst-typefind.c: (main):
17301         * tools/gst-xmlinspect.c: (print_element_info):
17302         Next big merge.
17303         Added GstBus for mainloop integration.
17304         Added GstMessage for sending notifications on the bus.
17305         Added GstTask as an abstraction for pipeline entry points.
17306         Removed GstThread.
17307         Removed Schedulers.
17308         Simplified GstQueue for multithreaded core.
17309         Made _link threadsafe, removed old capsnego.
17310         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17311         Added pad blocking functions.
17312         Reworked scheduling functions in GstPad to prepare for
17313         scheduling updates soon.
17314         Moved events out of data stream.
17315         Simplified GstEvent types.
17316         Added return values to push/pull.
17317         Removed clocking from GstElement.
17318         Added prototypes for state change function for next merge.
17319         Removed iterate from bins and state change management.
17320         Fixed some elements, disabled others for now.
17321         Fixed -inspect and -launch.
17322         Added check for GstBus.
17323
17324 2005-03-10  Wim Taymans  <wim@fluendo.com>
17325
17326         * docs/design/part-MT-refcounting.txt:
17327         * docs/design/part-clocks.txt:
17328         * docs/design/part-gstelement.txt:
17329         * docs/design/part-gstobject.txt:
17330         * docs/design/part-standards.txt:
17331         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17332         (gst_bin_remove_func), (gst_bin_remove):
17333         * gst/gstbin.h:
17334         * gst/gstbuffer.c:
17335         * gst/gstcaps.h:
17336         * testsuite/clock/clock1.c: (main):
17337         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17338         (main):
17339         * testsuite/dlopen/loadgst.c: (do_test):
17340         * testsuite/refcounting/bin.c: (add_remove_test1),
17341         (add_remove_test2), (main):
17342         * testsuite/refcounting/element.c: (main):
17343         * testsuite/refcounting/element_pad.c: (main):
17344         * testsuite/refcounting/pad.c: (main):
17345         * tools/gst-launch.c: (sigint_handler_sighandler):
17346         * tools/gst-typefind.c: (main):
17347         Doc updates.
17348         Added doc about clock.
17349         removed gst_bin_iterate_recurse_up(), marked methods
17350         for removal.
17351         Fix more testsuites.
17352
17353 2005-03-09  Wim Taymans  <wim@fluendo.com>
17354
17355         * gst/gstpad.c: (gst_pad_get_direction),
17356         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17357         (gst_pad_collect_valist):
17358         * testsuite/bins/interface.c: (main):
17359         * testsuite/caps/audioscale.c: (test_caps):
17360         * testsuite/caps/caps.c: (test1), (test2), (test3):
17361         * testsuite/caps/deserialize.c: (main):
17362         * testsuite/caps/enumcaps.c: (main):
17363         * testsuite/caps/filtercaps.c: (main):
17364         * testsuite/caps/intersect2.c: (main):
17365         * testsuite/caps/random.c: (main):
17366         * testsuite/caps/renegotiate.c: (my_fixate), (main):
17367         * testsuite/caps/sets.c: (check_caps):
17368         * testsuite/caps/simplify.c: (check_caps), (main):
17369         * testsuite/caps/subtract.c: (check_caps):
17370         Fix _pad_get_direction wrt ghostpads.
17371         Fix caps testsuite.
17372
17373 2005-03-09  Wim Taymans  <wim@fluendo.com>
17374
17375         * check/Makefile.am:
17376         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17377         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17378         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17379         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17380         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17381         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17382         (gst_bin_remove), (gst_bin_iterate_recurse_up),
17383         (bin_element_is_sink), (gst_bin_iterate_sinks),
17384         (gst_bin_iterate_all_by_interface):
17385         * gst/gstbin.h:
17386         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17387         (gst_element_change_state), (gst_element_dispose),
17388         (gst_element_finalize), (gst_element_set_loop_function):
17389         * gst/gstelement.h:
17390         * gst/gstiterator.c: (find_custom_fold_func):
17391         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17392         (gst_pad_collectv), (gst_pad_collect_valist),
17393         (gst_pad_template_new):
17394         * gst/gstpipeline.c: (gst_pipeline_class_init),
17395         (gst_pipeline_dispose), (gst_pipeline_set_property),
17396         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17397         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17398         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17399         * gst/gstutils.h:
17400         * gst/schedulers/entryscheduler.c:
17401         * gst/schedulers/gstbasicscheduler.c:
17402         (gst_basic_scheduler_cothreaded_chain),
17403         (gst_basic_scheduler_chain_add_element):
17404         * testsuite/bins/interface.c: (main):
17405         Added GstBin test.
17406         Added GstSystemClock test.
17407         Implemented clock distribution code in GstBin.
17408         Implemented iterate sinks method for future use.
17409         Rearranged gstelement.h
17410         Fix GstIterator comparison bug.
17411         Moved some code to GstPipeline, mostly clocking related.
17412
17413 2005-03-09  Wim Taymans  <wim@fluendo.com>
17414
17415         * configure.ac:
17416         * gst/gst_private.h:
17417         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17418         (gst_bin_remove_func), (gst_bin_remove),
17419         (gst_bin_get_by_name_recurse_up):
17420         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17421         (gst_clock_id_compare_func), (gst_clock_id_wait),
17422         (gst_clock_id_wait_async), (gst_clock_init),
17423         (gst_clock_adjust_unlocked), (gst_clock_get_time):
17424         * gst/gstelement.h:
17425         * gst/gstinfo.c: (_gst_debug_init):
17426         * gst/gstobject.h:
17427         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17428         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17429         * gst/gstpad.h:
17430         Bump version number, we're now 0.9.0
17431         Add future debugging category.
17432         Fix NULL _unref() in _get_by_name_recurse_up
17433         Rearrange gstpad.h.
17434         Update some docs.
17435
17436 2005-03-08  Wim Taymans  <wim@fluendo.com>
17437
17438         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17439         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17440         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17441         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17442         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17443         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17444         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17445         * gst/elements/gstidentity.c: (gst_identity_class_init):
17446         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17447         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17448         * gst/elements/gstshaper.c: (gst_shaper_class_init):
17449         * gst/elements/gststatistics.c: (gst_statistics_class_init):
17450         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17451         (gst_tee_link):
17452         * gst/gstelement.c: (gst_element_class_init),
17453         (gst_element_base_class_init), (gst_element_init),
17454         (gst_element_get_random_pad), (gst_element_wait_state_change),
17455         (gst_element_change_state), (gst_element_dispose),
17456         (gst_element_finalize), (gst_element_set_loop_function):
17457         * gst/gstelement.h:
17458         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17459         * gst/gstthread.c: (gst_thread_class_init),
17460         (gst_thread_release_children_locks), (gst_thread_change_state):
17461         * gst/schedulers/gstbasicscheduler.c:
17462         (gst_basic_scheduler_loopfunc_wrapper),
17463         (gst_basic_scheduler_chain_wrapper),
17464         (gst_basic_scheduler_src_wrapper),
17465         (gst_basic_scheduler_remove_element):
17466         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17467         Remove threadsafe properties. Fix elements because GObject
17468         complains when installing a property before declaring a
17469         set/get_property handler.
17470         Rearrange gstelement.h file, use STATE macros for state locks.
17471         Free mutexes in the finalize method instead of dispose.
17472
17473 2005-03-08  Wim Taymans  <wim@fluendo.com>
17474
17475         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17476         * gst/gstthread.c: (gst_thread_release_children_locks):
17477         Added parentage check.
17478         Fix build og GstThread again.
17479
17480 2005-03-08  Wim Taymans  <wim@fluendo.com>
17481
17482         * docs/design/part-MT-refcounting.txt:
17483         * docs/design/part-conventions.txt:
17484         * docs/design/part-gstobject.txt:
17485         * docs/design/part-relations.txt:
17486         * docs/design/part-standards.txt:
17487         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17488         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17489         (gst_bin_get_by_name), (gst_bin_get_by_interface),
17490         (gst_bin_iterate_all_by_interface):
17491         * gst/gstbuffer.h:
17492         * gst/gstclock.h:
17493         * gst/gstelement.c: (gst_element_class_init),
17494         (gst_element_change_state), (gst_element_set_loop_function):
17495         * gst/gstelement.h:
17496         * gst/gstiterator.c:
17497         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17498         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17499         (gst_object_dispatch_properties_changed), (gst_object_set_name),
17500         (gst_object_set_parent), (gst_object_unparent),
17501         (gst_object_check_uniqueness):
17502         * gst/gstobject.h:
17503         Docs updates, clean up some headers.
17504
17505 2005-03-07  Wim Taymans  <wim@fluendo.com>
17506
17507         * check/.cvsignore:
17508         * check/Makefile.am:
17509         * check/gst-libs/.cvsignore:
17510         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17511         * check/gst/.cvsignore:
17512         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
17513         (START_TEST), (gstbus_suite), (main):
17514         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
17515         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
17516         (gst_data_suite), (main):
17517         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
17518         (add_fold_func), (gstiterator_suite), (main):
17519         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
17520         (thread_name_object), (thread_name_object_default),
17521         (gst_object_name_compare), (gst_object_suite), (main):
17522         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
17523         (gst_pad_suite), (main):
17524         * check/gstcheck.c: (gst_check_log_message_func),
17525         (gst_check_log_critical_func), (gst_check_init):
17526         * check/gstcheck.h:
17527         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17528         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
17529         Added checks.
17530
17531 2005-03-07  Wim Taymans  <wim@fluendo.com>
17532
17533         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17534         (gst_list_iterator_next), (gst_list_iterator_resync),
17535         (gst_list_iterator_free), (gst_iterator_new_list),
17536         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
17537         (gst_iterator_free), (gst_iterator_push), (filter_next),
17538         (filter_resync), (filter_uninit), (filter_free),
17539         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
17540         (gst_iterator_foreach), (find_custom_fold_func),
17541         (gst_iterator_find_custom):
17542         * gst/gstiterator.h:
17543         Added missing files.
17544
17545 2005-03-07  Wim Taymans  <wim@fluendo.com>
17546
17547         * Makefile.am:
17548         * configure.ac:
17549         * docs/design/part-MT-refcounting.txt:
17550         * docs/design/part-conventions.txt:
17551         * docs/design/part-gstobject.txt:
17552         * docs/design/part-relations.txt:
17553         * examples/mixer/mixer.c: (main):
17554         * examples/thread/thread.c: (eos), (main):
17555         * gst/Makefile.am:
17556         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
17557         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
17558         (gst_spider_plug_from_srcpad):
17559         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
17560         (gst_spider_identity_change_state),
17561         (gst_spider_identity_sink_loop_type_finding):
17562         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
17563         * gst/elements/gstidentity.c: (gst_identity_init):
17564         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
17565         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
17566         * gst/elements/gsttypefindelement.c: (free_entry):
17567         * gst/gst.c:
17568         * gst/gst.h:
17569         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
17570         (gst_bin_set_clock_func), (gst_bin_auto_clock),
17571         (gst_bin_set_index), (gst_bin_set_element_sched),
17572         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
17573         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
17574         (gst_bin_iterate_elements), (iterate_child_recurse),
17575         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
17576         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
17577         (compare_interface), (gst_bin_get_by_interface),
17578         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
17579         * gst/gstbin.h:
17580         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
17581         (gst_buffer_default_free), (gst_buffer_default_copy),
17582         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
17583         (gst_buffer_create_sub):
17584         * gst/gstbuffer.h:
17585         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
17586         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
17587         (gst_caps_unref), (gst_static_caps_get),
17588         (gst_caps_remove_and_get_structure), (gst_caps_append),
17589         (gst_caps_append_structure), (gst_caps_remove_structure),
17590         (gst_caps_copy_nth), (gst_caps_set_simple),
17591         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
17592         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
17593         (gst_caps_structure_intersect_field), (gst_caps_intersect),
17594         (gst_caps_structure_subtract_field), (gst_caps_subtract),
17595         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
17596         (gst_caps_structure_figure_out_union),
17597         (gst_caps_switch_structures), (gst_caps_do_simplify),
17598         (gst_caps_replace), (gst_caps_from_string),
17599         (gst_caps_copy_conditional):
17600         * gst/gstcaps.h:
17601         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
17602         (_gst_clock_id_free), (gst_clock_id_unref),
17603         (gst_clock_id_compare_func), (gst_clock_id_wait),
17604         (gst_clock_id_wait_async), (gst_clock_class_init),
17605         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
17606         (gst_clock_get_time), (gst_clock_set_time_adjust),
17607         (gst_clock_set_property), (gst_clock_get_property):
17608         * gst/gstclock.h:
17609         * gst/gstcompat.h:
17610         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
17611         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
17612         * gst/gstdata.h:
17613         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17614         (gst_element_requires_clock), (gst_element_provides_clock),
17615         (gst_element_set_clock), (gst_element_clock_wait),
17616         (gst_element_wait), (gst_element_set_time_delay),
17617         (gst_element_is_indexable), (gst_element_add_pad),
17618         (gst_element_add_ghost_pad), (gst_element_remove_pad),
17619         (pad_compare_name), (gst_element_get_static_pad),
17620         (gst_element_request_pad), (gst_element_get_request_pad),
17621         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
17622         (gst_element_class_get_pad_template_list),
17623         (gst_element_class_get_pad_template), (gst_element_error_func),
17624         (gst_element_get_random_pad), (gst_element_get_event_masks),
17625         (gst_element_send_event), (gst_element_seek),
17626         (gst_element_get_query_types), (gst_element_query),
17627         (gst_element_get_formats), (gst_element_convert),
17628         (gst_element_is_locked_state), (gst_element_set_locked_state),
17629         (gst_element_sync_state_with_parent), (gst_element_change_state),
17630         (gst_element_finalize), (gst_element_yield),
17631         (gst_element_interrupt), (gst_element_set_scheduler),
17632         (gst_element_get_scheduler), (gst_element_set_loop_function):
17633         * gst/gstelement.h:
17634         * gst/gstevent.h:
17635         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
17636         (gst_format_get_by_nick), (gst_format_get_details),
17637         (gst_format_iterate_definitions):
17638         * gst/gstformat.h:
17639         * gst/gstindex.c: (gst_index_gtype_resolver):
17640         * gst/gstinfo.c:
17641         * gst/gstinfo.h:
17642         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
17643         (gst_mem_chunk_free):
17644         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17645         (gst_object_ref), (gst_object_unref), (gst_object_sink),
17646         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
17647         (gst_object_dispatch_properties_changed),
17648         (gst_object_set_name_default), (gst_object_set_name),
17649         (gst_object_get_name), (gst_object_set_name_prefix),
17650         (gst_object_get_name_prefix), (gst_object_set_parent),
17651         (gst_object_get_parent), (gst_object_unparent),
17652         (gst_object_check_uniqueness), (gst_object_save_thyself),
17653         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
17654         (gst_object_set_property), (gst_object_get_property),
17655         (gst_object_get_path_string):
17656         * gst/gstobject.h:
17657         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17658         (gst_real_pad_init), (gst_real_pad_get_property),
17659         (gst_pad_custom_new), (gst_pad_get_direction),
17660         (gst_pad_set_active), (gst_pad_is_active),
17661         (gst_pad_set_event_function), (gst_pad_is_linked),
17662         (gst_pad_link_free), (gst_pad_link_intersect),
17663         (gst_pad_link_fixate), (gst_pad_set_caps),
17664         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
17665         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
17666         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
17667         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
17668         (gst_pad_get_caps), (gst_pad_peer_get_caps),
17669         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
17670         (gst_pad_realize), (gst_pad_get_allowed_caps),
17671         (gst_real_pad_dispose), (gst_real_pad_finalize),
17672         (gst_pad_collectv), (gst_pad_collect_valist),
17673         (gst_pad_template_dispose), (gst_pad_template_new),
17674         (gst_pad_get_internal_links):
17675         * gst/gstpad.h:
17676         * gst/gstpipeline.c: (gst_pipeline_dispose),
17677         (gst_pipeline_change_state):
17678         * gst/gstpipeline.h:
17679         * gst/gstplugin.c:
17680         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
17681         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
17682         * gst/gstpluginfeature.h:
17683         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
17684         * gst/gstquery.c: (_gst_query_type_initialize),
17685         (gst_query_type_register), (gst_query_type_get_by_nick),
17686         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
17687         * gst/gstquery.h:
17688         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
17689         * gst/gstscheduler.c: (gst_scheduler_add_element),
17690         (gst_scheduler_factory_create):
17691         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17692         (gst_structure_free), (gst_structure_set_name),
17693         (gst_structure_id_set_value), (gst_structure_set_value),
17694         (gst_structure_set_valist), (gst_structure_remove_field),
17695         (gst_structure_remove_fields),
17696         (gst_structure_remove_fields_valist),
17697         (gst_structure_remove_all_fields), (gst_structure_foreach),
17698         (gst_structure_map_in_place),
17699         (gst_caps_structure_fixate_field_nearest_int),
17700         (gst_caps_structure_fixate_field_nearest_double):
17701         * gst/gststructure.h:
17702         * gst/gstsystemclock.c: (gst_system_clock_class_init),
17703         (gst_system_clock_init), (gst_system_clock_dispose),
17704         (gst_system_clock_async_thread),
17705         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
17706         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
17707         * gst/gstsystemclock.h:
17708         * gst/gsttag.c: (gst_tag_list_add_value_internal),
17709         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
17710         * gst/gsttaginterface.c:
17711         * gst/gstthread.c: (gst_thread_dispose),
17712         (gst_thread_release_children_locks), (gst_thread_change_state),
17713         (gst_thread_main_loop):
17714         * gst/gsttrashstack.h:
17715         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
17716         * gst/gsttypes.h:
17717         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17718         (gst_element_request_pad), (gst_element_get_pad_from_template),
17719         (gst_element_request_compatible_pad),
17720         (gst_element_get_compatible_pad_filtered),
17721         (gst_element_get_compatible_pad), (gst_element_state_get_name),
17722         (gst_element_link_pads_filtered), (gst_element_link_filtered),
17723         (gst_element_link_many), (gst_element_link),
17724         (gst_element_link_pads), (gst_element_unlink_pads),
17725         (gst_element_unlink_many), (gst_element_unlink),
17726         (gst_pad_can_link_filtered), (gst_pad_can_link),
17727         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
17728         (gst_object_default_error), (gst_bin_add_many),
17729         (gst_bin_remove_many), (gst_element_populate_std_props),
17730         (gst_element_class_install_std_props), (gst_buffer_merge),
17731         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
17732         (link_fold_func), (gst_pad_proxy_setcaps):
17733         * gst/gstutils.h:
17734         * gst/gstvalue.c: (gst_value_deserialize_string):
17735         * gst/parse/grammar.y:
17736         * gst/schedulers/gstbasicscheduler.c:
17737         (gst_basic_scheduler_cothreaded_chain),
17738         (gst_basic_scheduler_chain_recursive_add),
17739         (gst_basic_scheduler_pad_link):
17740         * gst/schedulers/gstoptimalscheduler.c:
17741         (get_group_schedule_function),
17742         (gst_opt_scheduler_state_transition),
17743         (gst_opt_scheduler_add_element), (element_get_reachables_func):
17744         * libs/gst/bytestream/bytestream.c:
17745         * libs/gst/dataprotocol/dataprotocol.c:
17746         (gst_dp_header_from_buffer):
17747         * po/nb.po:
17748         * po/ru.po:
17749         * tests/threadstate/threadstate2.c: (eos):
17750         * tools/gst-compprep.c: (main):
17751         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
17752         (print_pad_info), (print_children_info):
17753         * tools/gst-launch.c: (idle_func), (main):
17754         * tools/gst-md5sum.c: (idle_func), (main):
17755         * tools/gst-xmlinspect.c: (print_element_info):
17756         First THREADED backport attempt, focusing on adding locks and
17757         making sure the API is threadsafe. Needs more work. More docs
17758         follow this week.
17759
17760 2005-02-24  Andy Wingo  <wingo@pobox.com>
17761
17762         * tests/bench-complexity.scm:
17763         * tests/complexity.gnuplot: New files, good for running complexity
17764         benchmarks.
17765
17766         * tests/Makefile.am:
17767         * tests/complexity.c: New test, sets up N elements, at each level
17768         teeing into M streams per element. Eeeenteresting.
17769
17770         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
17771         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
17772         running bench-mass_elements.scm.
17773
17774         * tests/bench-mass_elements.scm: New script, runs mass_elements
17775         for various numbers of identities, outputting the results to a
17776         file. Requires guile 1.6. Just for testing.
17777
17778 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17779
17780         * gst/schedulers/fairscheduler.c:
17781           compile with debug disabled
17782
17783 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17784
17785         * configure.ac:
17786           hunting season on 0.9 is now OPEN