gst/gstbin.c: Make it clear with a FIXME and a real define what the #if 0 previously...
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-06-14  Wim Taymans  <wim@fluendo.com>
2
3         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
4         Make it clear with a FIXME and a real define what the #if 0
5         previously disabled.
6
7 2006-06-14  Wim Taymans  <wim@fluendo.com>
8
9         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
10         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
11         * libs/gst/base/gstbasetransform.c:
12         (gst_base_transform_sink_eventfunc):
13         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
14         Don't randomly and silently reset a segment when the format 
15         changes as this is a bug somewhere upstream. Fixes #330379.
16
17 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
18
19         Patch by: Wouter Paesen  <wouter at kangaroot net>
20
21         * libs/gst/controller/gstcontroller.c:
22         (gst_controlled_property_new):
23           Fix controlling of float properties (#344849).
24
25         * tests/check/libs/controller.c:
26         (gst_test_mono_source_get_property),
27         (gst_test_mono_source_set_property),
28         (gst_test_mono_source_class_init), (GST_START_TEST):
29           While we're at it, add some float stuff to unit test.
30
31 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
32
33         * docs/README:
34         * docs/images/gdp-header.svg:
35           add a gdp image
36         * docs/libs/Makefile.am:
37         * docs/libs/gdp-header.png:
38         * libs/gst/dataprotocol/dataprotocol.c:
39           add it to the API docs
40         * docs/manual/intro-motivation.xml:
41           fix typo
42
43 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
44
45         * gst/gst.c: (scan_and_update_registry), (init_post):
46           If the fork()'ed child process can't write the updated registry cache
47           file to disk for some reason, make it exit with a failure exit code,
48           so that the parent can then re-scan the plugins itself and update the
49           registry structures in memory and work with that (rather than failing
50           when creating elements because seemingly no plugins are available).
51           Refactor registry scanning code into separate function for this and
52           also separate fork() and non-fork() code paths. Fixes #344748.
53
54 2006-06-13  Wim Taymans  <wim@fluendo.com>
55
56         * docs/manual/advanced-dataaccess.xml:
57         Fix wrong PluginDesc. Fixes #344755.
58
59 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
60
61         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
62           Fix silly bug that prevented us from creating
63           ~/.gstreamer-0.10 and writing the registry in one
64           go (the first call to g_mkstemp() would overwrite the
65           placeholder in the template string, so the second call
66           to g_mkstemp() after creating the missing directory
67           would then error out with 'invalid argument').
68
69 2006-06-13  Edward Hervey  <edward@fluendo.com>
70
71         * gst/gst.c: (init_post):
72         Free string.
73
74 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
75
76         * gst/glib-compat-private.h:
77         * gst/glib-compat.c:
78         * gst/glib-compat.h:
79         * gst/gstvalue.c: (gst_value_serialize_flags):
80           remove GLib 2.6 compatibility code
81
82 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
83
84         * gst/parse/Makefile.am:
85           Fix build with 'make -j N' even more (#340016).
86
87 2006-06-12  Wim Taymans  <wim@fluendo.com>
88
89         * docs/gst/gstreamer-sections.txt:
90         Fix docs.
91
92 2006-06-12  Wim Taymans  <wim@fluendo.com>
93
94         * gst/gstsegment.c: (gst_segment_set_duration),
95         (gst_segment_set_last_stop), (gst_segment_set_seek),
96         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
97         (gst_segment_to_running_time), (gst_segment_clip):
98         Use G_UNLIKELY to help the compiler a bit.
99
100 2006-06-12  Wim Taymans  <wim@fluendo.com>
101
102         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
103
104         * gst/gstevent.c: (gst_event_get_type):
105         * gst/gstmessage.c:
106         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
107         (gst_pad_push):
108         constify quark registration strings. Fixes #344115
109         Avoid unneeded type checking is _pad_push() by internally
110         calling gst_pad_chain_unchecked().
111
112 2006-06-12  Wim Taymans  <wim@fluendo.com>
113
114         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
115         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
116         (gst_subbuffer_finalize), (gst_buffer_create_sub),
117         (gst_buffer_is_span_fast), (gst_buffer_span):
118         Init _type for consistency.
119         Use _FLAGS macro to avoid type check.
120         Avoid unneeded type checks in subbufer code.
121
122 2006-06-12  Wim Taymans  <wim@fluendo.com>
123
124         * gst/gst.c: (gst_debug_help):
125         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
126         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
127         (gst_plugin_feature_list_free):
128         * gst/gstregistry.c: (gst_registry_add_plugin),
129         (gst_registry_add_feature), (gst_registry_plugin_filter),
130         (gst_registry_feature_filter), (gst_registry_find_plugin),
131         (gst_registry_find_feature), (gst_registry_get_plugin_list),
132         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
133         * gst/gstregistryxml.c: (load_feature),
134         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
135         * gst/gstminiobject.c: (gst_mini_object_unref),
136         (gst_mini_object_replace), (gst_value_mini_object_free),
137         (gst_value_mini_object_copy):
138         Use _CAST macros to avoid unneeded type checking.
139         Added some more G_UNLIKELY.
140
141 2006-06-12  Wim Taymans  <wim@fluendo.com>
142
143         * gst/gstbuffer.h:
144         Avoid unneeded type checking.
145         API: GST_BUFFER_IS_DISCONT
146
147         * gst/gstminiobject.h:
148         Avoid type check in flag accessor.
149
150         * gst/gstelementfactory.h:
151         * gst/gstplugin.h:
152         * gst/gstpluginfeature.h:
153         Add _CAST macros.
154         API: GST_ELEMENT_FACTORY_CAST
155         API: GST_PLUGIN_CAST
156         API: GST_PLUGIN_FEATURE_CAST
157
158 2006-06-12  Wim Taymans  <wim@fluendo.com>
159
160         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
161         (gst_object_unref):
162         Add G_UNLIKELY in type registration.
163         Avoid type check in _ref/_unref since that is also
164         done in glib.
165
166 2006-06-12  Wim Taymans  <wim@fluendo.com>
167
168         * gst/gsterror.c: (gst_g_error_get_type):
169         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
170         (gst_static_pad_template_get_type):
171         * gst/gsttaglist.c: (gst_tag_list_get_type):
172         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
173         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
174         * gst/gsturi.c: (gst_uri_handler_get_type):
175         * gst/gstvalue.c: (gst_date_get_type):
176         * gst/gstxml.c: (gst_xml_get_type):
177         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
178         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
179         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
180         Add G_UNLIKELY in type registration.
181
182 2006-06-12  Wim Taymans  <wim@fluendo.com>
183
184         * tools/gst-inspect.c: (print_signal_info):
185         Properly print enum values.
186
187 2006-06-12  Wim Taymans  <wim@fluendo.com>
188
189         * gst/gstinfo.c: (gst_debug_set_active),
190         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
191         * gst/gstinfo.h:
192         Add some G_[UN]LIKELY.
193         Maintain __gst_debug_min to avoid formatting the arguments of
194         debug messages that will be dropped anyway to avoid a lot of 
195         overhead from the debugging system.
196
197 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
198
199         * po/POTFILES.in:
200         * po/POTFILES.skip:
201           add missing files containing translatable strings, tell intltool about
202           one exception
203
204 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
205
206         * tests/check/libs/.cvsignore:
207         add test-binary to ignore list
208
209 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
210
211         * docs/libs/gstreamer-libs-docs.sgml:
212         reorder (put dp into a chapter) and indent
213
214 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
215
216         * configure.ac:
217           back to HEAD
218
219 === release 0.10.8 ===
220
221 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
222
223         * configure.ac:
224           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
225
226 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
227
228         * gst/gst.c: (init_post):
229           move pid declaration to declaration block
230
231 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
232
233         * gst/gst.c: (init_post):
234           use _exit() instead of exit() in our forked child; this ensures
235           that none of the registered exit handlers from whatever is using
236           GStreamer get executed.  This fixes gnome-mixer-applet failing
237           to load, because ORBit would shut down.
238           Spotted by: Edward Hervey  <edward@fluendo.com>
239           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
240           Fixes #344474
241
242 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
243
244         * configure.ac:
245           back to TRUNK
246
247 === release 0.10.7 ===
248
249 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
250
251         * configure.ac:
252           releasing 0.10.7, "Soepeke, ik zie ou"
253
254 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
255
256         * configure.ac:
257         * po/af.po:
258         * po/az.po:
259         * po/bg.po:
260         * po/ca.po:
261         * po/cs.po:
262         * po/de.po:
263         * po/en_GB.po:
264         * po/fr.po:
265         * po/it.po:
266         * po/nb.po:
267         * po/nl.po:
268         * po/ru.po:
269         * po/sq.po:
270         * po/sr.po:
271         * po/sv.po:
272         * po/tr.po:
273         * po/uk.po:
274         * po/vi.po:
275         * po/zh_CN.po:
276         * po/zh_TW.po:
277         * win32/common/config.h:
278           0.10.6.2 prerelease
279
280 2006-06-07  Wim Taymans  <wim@fluendo.com>
281
282         * gst/gstindex.c: (gst_index_gtype_resolver):
283         * tools/gst-xmlinspect.c: (print_plugin_info):
284         Fix leak spotted by coverity checker. Fixes #343827
285         Fix another other leak found by paolo borelli.
286
287 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
288
289         * libs/gst/dataprotocol/dataprotocol.c:
290         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
291         (gst_dp_version_get_type), (gst_dp_init),
292         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
293         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
294         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
295         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
296         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
297         (gst_dp_packetizer_free):
298         * libs/gst/dataprotocol/dataprotocol.h:
299           API: add a GstDPPacketizer object, and create/free functions
300           API: add GstDPVersion enum
301           Add 1.0 event function that uses the string serialization
302           Serialize more useful buffer flags
303           Fixes #343988
304
305 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
306
307         * tests/check/Makefile.am:
308         * tests/check/gst/gstabi.c:
309         * tests/check/gst/struct_ppc64.h:
310         * tests/check/libs/libsabi.c:
311         * tests/check/libs/struct_ppc64.h:
312           add ppc64 structure sizes
313
314 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
315
316         * tests/check/Makefile.am:
317         * tests/check/gst/gstabi.c:
318         * tests/check/gst/struct_x86_64.h:
319         * tests/check/libs/libsabi.c:
320         * tests/check/libs/struct_x86_64.h:
321           generate and add structure size lists for x86_64
322
323 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
324
325         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
326         * libs/gst/check/gstcheck.h:
327           factor out the method from tests that checks size of structures,
328           and add code to generate the header containing these sizes
329         * tests/check/gst/gstabi.c: (GST_START_TEST):
330         * tests/check/gst/struct_i386.h:
331         * tests/check/libs/libsabi.c: (GST_START_TEST):
332         * tests/check/libs/struct_i386.h:
333           use it
334
335 2006-06-06  Michael Smith  <msmith@fluendo.com>
336
337         * gst/gstsegment.h:
338           Don't use c++-style comments, fixes #343929
339
340 2006-06-05  Edward Hervey  <edward@fluendo.com>
341
342         * gst/gst.c:
343         plugin_paths is not used if we build without registry support.
344
345         * gst/gstsegment.c: (gst_segment_copy): 
346         _copy() was always returning NULL...
347
348 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
349
350         * libs/gst/dataprotocol/dataprotocol.c:
351         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
352         (gst_dp_packet_from_event):
353           factor out CRC code
354
355 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
356
357         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
358           make sure we unset caps
359
360 2006-06-02  Michael Smith  <msmith@fluendo.com>
361
362         * libs/gst/check/gstcheck.c: (gst_check_init),
363         (gst_check_chain_func):
364         * libs/gst/check/gstcheck.h:
365           Add a cond/mutex to the check support lib, signal this whenever we
366           add to the buffers list. This will allow tests to not busy-wait on
367           the buffer-list.
368
369 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
370
371         * libs/gst/dataprotocol/dataprotocol.c:
372         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
373         (gst_dp_packet_from_event):
374           factor out some common header init code
375
376 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
377
378         * docs/libs/gstreamer-libs-sections.txt:
379         * docs/libs/tmpl/gstdataprotocol.sgml:
380         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
381         * libs/gst/dataprotocol/dataprotocol.h:
382           API: make gst_dp_crc() public
383
384 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
385
386         * plugins/indexers/gstindexers.c: (plugin_init):
387         conditionally register fileindexer (fixes #343598)
388
389 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
390
391         * gst/gsttagsetter.h:
392         Can't cast ifaces to a class
393
394         * libs/gst/net/gstnetclientclock.h:
395         * libs/gst/net/gstnettimeprovider.h:
396         * plugins/elements/gstfakesink.h:
397         * plugins/elements/gstfakesrc.h:
398         * plugins/elements/gstfdsink.h:
399         * plugins/elements/gstfdsrc.h:
400         * plugins/elements/gstfilesink.h:
401         * plugins/elements/gstfilesrc.h:
402         * plugins/elements/gstidentity.h:
403         * plugins/elements/gstqueue.h:
404         * plugins/elements/gsttee.h:
405         * plugins/indexers/gstfileindex.c:
406         * plugins/indexers/gstmemindex.c:
407         * tests/old/examples/plugins/example.h:
408         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
409
410 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
411
412         * libs/gst/dataprotocol/dataprotocol.c:
413         (gst_dp_header_from_buffer):
414           make sure we zero the whole ABI-compatible area
415
416 2006-06-01  Wim Taymans  <wim@fluendo.com>
417
418         Patch by: Alessandro Decina <alessandro at nnva dot org>
419
420         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
421         Make sure the EOS flag is cleared from pads after a flush
422         or stop. Fixes #343538.
423
424         * tests/check/libs/collectpads.c: (GST_START_TEST),
425         (gst_collect_pads_suite):
426         Added test for collectpads reusage after EOS.
427
428 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
429
430         * gst/gst.c:
431          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
432         * win32/common/libgstbase.def:
433          export gst_collect_pads_set_flushing
434         * win32/common/libgstreamer.def:
435          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
436          gst_value_fraction_multiply
437         * win32/vs6/gst_inspect.dsp:
438          add a link to intl.lib
439
440 2006-05-30  Wim Taymans  <wim@fluendo.com>
441
442         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
443         (gst_collect_pads_chain):
444         Handle the case where a pad is removed from the collection
445         that could cause the other pads to become collectable.
446
447 2006-05-30  Wim Taymans  <wim@fluendo.com>
448
449         * gst/gstelement.c:
450         Clarify the use of _release_request_pad() and
451         _get_request_pad() a bit better.
452
453         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
454         (gst_adapter_take_buffer):
455         Fix some doc and comment typos.
456
457 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
458
459         * docs/gst/gstreamer-sections.txt:
460         * docs/libs/gstreamer-libs-sections.txt:
461           add declared symbols
462
463 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
464
465         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
466         Add debug that can be enabled using a #define at the top of the file,
467         for dumping stats about how late/early we were when waking up from
468         waiting on the clock.
469
470 2006-05-30  Wim Taymans  <wim@fluendo.com>
471
472         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
473         When rebuilding the pad list, don't leak the previous list.
474
475 2006-05-30  Wim Taymans  <wim@fluendo.com>
476
477         Patch by: Lutz Mueller <lutz at topfrose dot de>
478
479         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
480         (gst_base_src_get_query_types), (gst_base_src_update_length):
481         Publish supported query types.
482         Update last_stop field in get_range mode so the position
483         query works. Fixes #342321.
484
485 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
486
487         * docs/gst/gstreamer-sections.txt:
488         * gst/gsttaglist.c: (_gst_tag_initialize):
489         * gst/gsttaglist.h:
490           API: add GST_TAG_PREVIEW_IMAGE (#343341).
491
492 2006-05-30  Wim Taymans  <wim@fluendo.com>
493
494         Patch by: Alessandro Decina <alessandro at nnva dot org>
495
496         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
497         Unlock mutex when removing an unknown pad.
498         Fixes #343334.
499
500         * tests/check/Makefile.am:
501         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
502         (push_event), (setup), (teardown), (GST_START_TEST),
503         (gst_collect_pads_suite), (main):
504         Added collecpads check, disabled for now as check crashes for
505         some reason.
506
507 2006-05-29  Wim Taymans  <wim@fluendo.com>
508
509         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
510         Don't leak pads lists.
511
512 2006-05-29  Wim Taymans  <wim@fluendo.com>
513
514         * docs/libs/gstreamer-libs-sections.txt:
515         * libs/gst/base/gstcollectpads.c:
516         (gst_collect_pads_set_flushing_unlocked),
517         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
518         (gst_collect_pads_stop):
519         * libs/gst/base/gstcollectpads.h:
520         API: gst_collect_pads_set_flushing()
521         Added api to set the pads to flushing, useful for seeking
522         code in elements using collectpads.
523         Clear segment when receiving a flush.
524
525 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
526
527         * gst/gst.c: (add_path_func), (init_post):
528           Don't scan registry paths passed via --gst-plugin-path immediately
529           (will crash, because absolutely nothing is set up and no types are
530           registered etc.); do this later in init_post(). Fixes #343057.
531
532 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
533
534         * gst/gst.c: (init_post):
535           if we have fork, fork while reading/rebuilding the registry
536           so the parent doesn't take the hit of having all plugins loaded
537           in memory.  Fixes #342777.
538         * configure.ac:
539           Check if we have fork()
540         * win32/common/config.h.in:
541           no fork() on win32
542
543 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
544
545         * plugins/elements/gstelements.c:
546         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
547         (gst_file_src_init), (gst_file_src_set_property),
548         (gst_file_src_get_property), (gst_file_src_start):
549         * plugins/elements/gstfilesrc.h:
550           API: GstFileSrc::use-mmap
551
552         Add a use-mmap property to enable easier testing of all code paths.
553         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
554         in the absence of gnomevfssrc. (Closes #340501)
555
556 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
557
558         * tools/gst-inspect.c:
559         Add missing include, removes warning of ngettext not being defined on
560         some arches.
561
562 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
563
564         * gst/gstvalue.c: (gst_value_deserialize_fraction):
565         Handle NULL input and output pointers silently as a failed conversion,
566         rather than g_warnings.
567
568 2006-05-25  Wim Taymans  <wim@fluendo.com>
569
570         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
571         Initialize variable before using. Fixes #342820.
572
573 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
574
575         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
576           Fix off-by-one bug that would only allow peeks of N-1 bytes
577           from the start even if the buffer to typefind on contains
578           in fact N bytes of data (makes vorbis typefinding from a
579           vorbis identification header buffer work).
580
581         * tests/check/Makefile.am:
582         * tests/check/libs/.cvsignore:
583         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
584         (gst_typefindhelper_suite), (main), (foobar_typefind),
585         (plugin_init):
586           Add very basic unit test for gst_type_find_helper_for_buffer()
587           that checks for the problem fixed above.
588
589 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
590
591         * tools/gst-inspect.c: (print_interfaces),
592         (print_element_properties_info), (print_element_list), (main):
593           add more translatable strings
594
595 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
596
597         Patch by: Julien Moutte  <julien at moutte net>
598
599         * docs/gst/gstreamer-sections.txt:
600           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
601           
602         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
603         (gst_fake_sink_preroll):
604         * plugins/elements/gstfakesink.h:
605           API: Add new GstFakeSink::preroll-handoff signal (#337100).
606
607 2006-05-23  Wim Taymans  <wim@fluendo.com>
608
609         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
610         * gst/gstpad.h:
611         Added _CUSTOM error and success GstFlowReturn that can be
612         used be elements internally. 
613         Added macro to check for SUCCESS flowreturns.
614         API: GST_FLOW_CUSTOM_SUCCESS
615         API: GST_FLOW_CUSTOM_ERROR
616         API: GST_FLOW_IS_SUCCESS
617
618         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
619         Added check for GstFlowReturn sanity.
620
621 2006-05-23  Wim Taymans  <wim@fluendo.com>
622
623         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
624
625         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
626         (gst_collect_pads_event):
627         clear/reset segment info in FLUSH_STOP.
628         Fixes #336929.
629
630 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
631
632         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
633         (gst_collect_pads_check_collected):
634         Flush queued buffer on _stop(), fixes playing again (#342454)
635
636 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
637
638         * tests/check/gst/gststructure.c: (GST_START_TEST),
639         (gst_structure_suite):
640           add a test for a complete structure
641
642 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
643
644         * docs/faq/developing.xml:
645         * docs/faq/faq.xml:
646         * docs/faq/troubleshooting.xml:
647         * docs/faq/using.xml:
648           Some minor FAQ updates that won't change the fact that
649           our FAQ is badly structured, full of information hardly
650           anyone new to GStreamer needs to know and lacking lots
651           of information people constantly ask for.
652           
653 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
654
655         * gst/gstpad.c: (gst_pad_set_caps):
656           Short-circuit gst_pad_set_caps if setting the existing
657           caps pointer again, and avoid printing debug and 
658           reffing/unreffing the caps.
659
660         * plugins/elements/gstqueue.c: (gst_queue_push_one):
661           There's actually no need to set the caps before pushing -
662           the acceptcaps method will handle it anyway.
663
664 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
665
666         * docs/gst/gstreamer-sections.txt:
667         * win32/common/libgstreamer.def:
668         * gst/gstutils.c: (gst_element_seek_simple):
669         * gst/gstutils.h:
670           API: add gst_element_seek_simple() (#342238).
671
672 2006-05-18  Edward Hervey  <edward@fluendo.com>
673
674         * gst/gsttypefind.c: (gst_type_find_get_type):
675         * gst/gsttypefind.h:
676         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
677         registered for GstTypeFind pointers. This allows wrapping the structure
678         in bindings (i.e. gst-python).
679
680 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
681
682         * gst/gsttagsetter.c:
683           Docs additions and fixes (see #339918).
684
685 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
686
687         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
688         The caps intersection algorithm can produce multiple copies of the
689         caps. Until that is fixed, we need to simplify the result to be
690         sure whether the allowed caps are fixed or not.
691
692         * plugins/elements/gstqueue.c: (gst_queue_init),
693         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
694         (gst_queue_push_one):
695         Proxied buffer alloc should not set the caps on the source pad.
696         When pushing buffers, we always accept the caps change that triggers.
697         This prevents negotiation errors caused by caps changing mid-stream 
698         and then being refused on our source pad (because upstream is now
699         refusing those caps).
700
701 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
702
703         * tests/examples/helloworld/helloworld.c: (main):
704           Must plug audioconvert and audioresample between decoder
705           and audio sink.
706
707 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
708
709         * gst/gstregistryxml.c: (read_string), (load_pad_template),
710         (load_feature), (load_plugin):
711         Allow empty strings for some of the plugin fields so we don't 
712         drop valid plugin entries that were written out correctly
713         (Fixes #341479)
714
715 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
716         
717         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
718           Use g_remove and g_rename instead of remove and rename that don't 
719           handle utf8 characters. rename was failing for users who had specific
720           characters in their name then the registry was built at each 
721           gstreamer init.
722         * win32/vs6/gst_inspect.dsp:
723         * win32/vs6/gst_launch.dsp:
724         * win32/vs6/libgstbase.dsp:
725         * win32/vs6/libgstcoreelements.dsp:
726         * win32/vs6/libgstreamer.dsp:
727           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
728           build of libgstreamer and clean unused libraries in projects link 
729           settings.
730
731 2006-05-17  Edward Hervey  <edward@fluendo.com>
732
733         * plugins/elements/gstqueue.c: (gst_queue_push_one):
734         The queue is not responsible for pushing an EOS when receiving a fatal
735         flow error. It's up to the real element driving the pipeline to do that.
736
737 2006-05-16  Edward Hervey  <edward@fluendo.com>
738
739         * plugins/elements/gstqueue.c: (gst_queue_push_one):
740         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
741         buffer returned a fatal error. It should just send an EOS and stop
742         its task.
743         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
744         when pushing buffers on the queue and will be able to handle the event.
745
746 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
747
748         * docs/manual/basics-bins.xml:
749         * docs/manual/basics-init.xml:
750           Fix typos and minor errors in sample code (#341856).
751
752 2006-05-16  Wim Taymans  <wim@fluendo.com>
753
754         * docs/design/part-qos.txt:
755         Fix indexes in formulas to make more sense.
756
757 2006-05-15  Wim Taymans  <wim@fluendo.com>
758
759         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
760         Don't report POSITION based on clock time if sync is
761         disabled in a sink.
762
763 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
764
765         * gst/gstobject.h:
766           Add cast to make compiler happy - refcount variable was a gint
767           in GstObject but is a guint in GObject and g_atomic_int_get()
768           wants a gint *.
769
770 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
771
772         * gst/parse/Makefile.am:
773           chain commands using &&, which also makes parallel make work
774
775 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
776
777         * docs/gst/gstreamer-sections.txt:
778         * gst/gstevent.c:
779         * gst/gstevent.h:
780         * gst/gstmessage.h:
781           Minor docs fixes.
782
783 === release 0.10.6 ===
784
785 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
786
787         * configure.ac:
788           releasing 0.10.6, "Take the cannoli"
789
790 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
791
792         * tools/gst-launch.c: (print_tag):
793           Fix use of uninitialized variable in the hypothetical
794           case that some broken plugin creates a GST_TAG_IMAGE
795           tag containing a NULL buffer (#341667).
796
797 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
798
799         * tools/gst-launch.c: (print_tag):
800           Print something more intelligible for image tags when
801           using the -t switch (#341556).
802
803 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
804
805         * Makefile.am:
806           updates for win32
807         * configure.ac:
808           define GST_MAJORMINOR so we have it available in win32/common/config.h
809           Possibly remove it from our Makefile.am files later
810         * win32/common/config.h:
811         * win32/common/config.h.in:
812           added GST_MAJORMINOR
813         * win32/common/gstenumtypes.c: (register_gst_resource_error):
814         * win32/common/gstversion.h:
815           updated
816
817 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
818
819         * win32/MANIFEST:
820           Update win32 files listing.
821         * win32/common/gstversion.h:
822           Add GST_MAJORMINOR definition.
823         * win32/common/libgstreamer.def:
824           Add new exported functions.
825           
826 2006-05-12  Michael Smith  <msmith@fluendo.com>
827
828         * gst/gstplugin.c: (gst_plugin_load_file):
829           If an so file has no plugin entry point, unload the module.
830
831 2006-05-11  Wim Taymans  <wim@fluendo.com>
832
833         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
834         (gst_queue_set_property):
835         Don't forget to signal the _chain or _loop function 
836         when the queue size or thresholds change since that might
837         cause them to make progres again.
838
839 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
840
841         * gst/gstclock.c: (gst_clock_class_init):
842         * gst/gstindex.c: (gst_index_class_init):
843         * gst/gstobject.c: (gst_object_class_init):
844         * gst/gstpad.c: (gst_pad_class_init):
845         * gst/gstpipeline.c: (gst_pipeline_class_init):
846         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
847         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
848         * libs/gst/base/gstbasetransform.c:
849         (gst_base_transform_class_init):
850         * libs/gst/net/gstnetclientclock.c:
851         (gst_net_client_clock_class_init):
852         * libs/gst/net/gstnettimeprovider.c:
853         (gst_net_time_provider_class_init):
854         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
855         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
856         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
857         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
858         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
859         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
860         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
861         * plugins/elements/gstidentity.c: (gst_identity_class_init):
862         * plugins/elements/gsttee.c: (gst_tee_class_init):
863         * tests/old/examples/plugins/example.c: (gst_example_class_init):
864         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
865           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
866
867 2006-05-11  Wim Taymans  <wim@fluendo.com>
868
869         * gst/gstbuffer.c: (_gst_buffer_initialize):
870         Register subbufer along with the buffer type so that
871         it does not accidentally gets registered from N
872         different streaming threads in a non threadsafe way.
873
874 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
875
876         * gst/gstbuffer.h:
877         * gst/gstevent.h:
878         * gst/gstmessage.h:
879           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
880           gst_event_ref() and gst_message_ref() functions again
881           (ugly hack, please do fix if there's a better way besides
882           overrides.txt, which doesn't seem to work).
883
884 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
885
886         * libs/gst/check/gstcheck.h:
887           add an assert for setting state to avoid lots of repetitive code
888           in the future
889
890 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
891
892         * gst/gstvalue.c: (gst_value_serialize_flags):
893           fix a leak if no flags are set
894         * tests/check/gst/gstvalue.c: (GST_START_TEST):
895           fix leak in tests
896
897 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
898
899         * docs/manual/basics-pads.xml:
900           Expand a bit on caps and filtered links and update
901           examples that were still using the no longer existing
902           gst_pad_link_filtered() (#338206).
903
904 2006-05-10  Wim Taymans  <wim@fluendo.com>
905
906         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
907         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
908         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
909         (gst_collect_pads_stop):
910         * libs/gst/base/gstcollectpads.h:
911         No need to call _stop in _finalize.
912         Iterate the main pad list in _finalize.
913         Added some more debug.
914         Free lists and data in the right order.
915         Also free data whem doing _remove_pad when stopped for
916         backward compatibility protect ::started with PAD_LOCK as
917         well.
918
919 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
920
921         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
922         (gst_structure_parse_value):
923           add some comments
924           rename a method so that it actually says what it does better
925
926 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
927
928         * gst/gstevent.c: (_gst_event_initialize):
929         * gst/gstformat.c: (_gst_format_initialize):
930           make sure some essential types used by events are registered
931           as part of gst_init()
932         * gst/gstvalue.c: (gst_value_serialize_flags):
933           if no flags are set, serialize them to a value that represents NONE
934           so that deserializing them works
935         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
936           add tests for serialization and deserialization of flags
937
938 2006-05-10  Wim Taymans  <wim@fluendo.com>
939
940         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
941         (gst_collect_pads_collect_range), (gst_collect_pads_available),
942         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
943         (gst_collect_pads_event), (gst_collect_pads_chain):
944         Update docs.
945         Better debug info.
946         Catch and return errors from the collect function
947         Refuse data on eos pads.
948
949 2006-05-10  Edward Hervey  <edward@fluendo.com>
950
951         * gst/gstinterface.h:
952         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
953         GInterface type checking.
954         They were previously using non-defined macros.
955
956 2006-05-09  Wim Taymans  <wim@fluendo.com>
957
958         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
959         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
960         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
961         (gst_collect_pads_start), (gst_collect_pads_stop),
962         (gst_collect_pads_peek), (gst_collect_pads_pop),
963         (gst_collect_pads_available), (gst_collect_pads_read),
964         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
965         (gst_collect_pads_is_collected), (gst_collect_pads_event),
966         (gst_collect_pads_chain):
967         * libs/gst/base/gstcollectpads.h:
968         Clean up the mess that is collectpads, add comments and
969         FIXMEs where needed.
970         Maintain a separate pad list so we can add pads while
971         collecting the other ones. For this we need a new separate 
972         lock (see comics).
973         Fix memory leak in finalize.
974         Refactor some weird code to set/unset pad flushing flags, mark
975         with comments.
976         Don't crash in _available, _read, _flush when we're EOS.
977
978         * tests/check/libs/.cvsignore:
979         Ignore adapter check binary.
980
981 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
982
983         * gst/gstindex.c: (gst_index_resolver_get_type):
984         * plugins/elements/gstfakesink.c:
985         (gst_fake_sink_state_error_get_type):
986         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
987         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
988         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
989           Const-ify GEnumValue arrays.
990
991 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
992
993         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
994           Add test case for flags + gst_buffer_make_metadata_writable().
995
996 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
997
998         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
999           gst_buffer_make_metadata_writable() should maintain the
1000           buffer flags (those that make sense at least) (see #340859).
1001
1002 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1003
1004         * tools/gst-inspect.c:
1005         * tools/gst-launch.c:
1006         * tools/gst-typefind.c:
1007         * tools/gst-xmlinspect.c:
1008         * tools/tools.h:
1009           Fix up includes: need to include stdlib.h in tools.h for exit().
1010
1011 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1012
1013         * gst/gsttaglist.c: (_gst_tag_initialize):
1014         * gst/gsttaglist.h:
1015           API: add GST_TAG_IMAGE tag (#340721).
1016
1017 2006-05-08  Wim Taymans  <wim@fluendo.com>
1018
1019         * gst/gstquery.c:
1020         Added some docs for the segment query.
1021
1022 2006-05-08  Wim Taymans  <wim@fluendo.com>
1023
1024         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1025         (gst_base_src_loop), (gst_base_src_change_state):
1026         Always push non-flushing serialized events in the streaming 
1027         thread.
1028
1029 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1030
1031         * gst/gsterror.c: (_gst_stream_errors_init):
1032           Add a missing error string.
1033
1034 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
1035
1036         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1037         Add applied_rate to the debug
1038
1039         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1040         Copy applied_rate into the outgoing NEWSEGMENT event
1041
1042 2006-05-08  Wim Taymans  <wim@fluendo.com>
1043
1044         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1045
1046         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1047         (gst_base_sink_change_state):
1048         call ::unlock before taking the PREROLL_LOCK so we can safely
1049         handle elements that lock in ::render.
1050         Fixes #340174.
1051
1052 2006-05-08  Edward Hervey  <edward@fluendo.com>
1053
1054         * autogen.sh: (CONFIGURE_DEF_OPT): 
1055         Darwin's libtoolize is in fact called glibtoolize.
1056         Adding glibtoolize to the list of accepted names for libtoolize.
1057
1058 2006-05-08  Wim Taymans  <wim@fluendo.com>
1059
1060         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1061         Unify error handling, don't post an error message
1062         when a push() returns EOS but perform our normal EOS
1063         handling code. Fixes #340772.
1064
1065 2006-05-08  Wim Taymans  <wim@fluendo.com>
1066
1067         * docs/design/part-overview.txt:
1068         Make upsteam/downstream concepts more clear.
1069         Give an example of serialized/non-serialized events.
1070
1071         * docs/design/part-events.txt:
1072         * docs/design/part-streams.txt:
1073         Mention applied_rate.
1074
1075         * docs/design/part-trickmodes.txt:
1076         Mention applied rate, flesh out some more use cases.
1077
1078         * gst/gstevent.c: (gst_event_new_new_segment),
1079         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1080         (gst_event_parse_new_segment_full), (gst_event_new_tag),
1081         (gst_event_parse_tag), (gst_event_new_buffer_size),
1082         (gst_event_parse_buffer_size), (gst_event_new_qos),
1083         (gst_event_parse_qos), (gst_event_parse_seek),
1084         (gst_event_new_navigation):
1085         * gst/gstevent.h:
1086         Add applied_rate field to NEWSEGMENT event.
1087         API: gst_event_new_new_segment_full()
1088         API: gst_event_parse_new_segment_full()
1089
1090         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1091         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1092         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1093         * gst/gstsegment.h:
1094         Add applied_rate to GstSegment structure.
1095         Make calculation of stream_time and running_time more correct
1096         wrt rate/applied_rate.
1097         Add some more docs.
1098         API: GstSegment::applied_rate field
1099         API: gst_segment_set_newsegment_full();
1100
1101         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1102         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1103         * libs/gst/base/gstbasetransform.c:
1104         (gst_base_transform_sink_eventfunc),
1105         (gst_base_transform_handle_buffer):
1106         Parse and use applied_rate in the GstSegment field.
1107
1108         * tests/check/gst/gstevent.c: (GST_START_TEST):
1109         Add check for applied_rate field.
1110
1111         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1112         (gstsegments_suite):
1113         Add more checks for various GstSegment operations.
1114
1115 2006-05-08  Wim Taymans  <wim@fluendo.com>
1116
1117         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1118         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1119         (gst_base_sink_get_position), (gst_base_sink_change_state):
1120         Store the sync time of the buffer end position separatly in a
1121         new variable eos_rtime so we can properly sync the EOS event.
1122         Fixes #340697.
1123         Fix the docs for gst_base_sink_set_qos_enabled().
1124         Don't set segment start to invalid value when we receive a 
1125         non TIME newsegment.
1126         get closer to handling position reporting for negative rates 
1127         correctly.
1128
1129 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1130
1131         * gst/gstcaps.c:
1132         Docs about how to print caps for debug purposes.
1133
1134         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1135         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1136
1137 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1138
1139         * gst/gstelement.c:
1140           use full enum names and preprend a '%' in docs strings to make recent 
1141           gtk-doc turn that into a link
1142
1143 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1144
1145         * docs/manual/basics-bins.xml:
1146         * docs/manual/basics-bus.xml:
1147         * docs/manual/basics-pads.xml:
1148           Some typo fixes, some additions, some clarifications. 
1149
1150 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1151
1152         * tools/gst-inspect.c: (main):
1153         * tools/gst-launch.c: (main):
1154         * tools/gst-run.c: (main):
1155         * tools/gst-typefind.c: (main):
1156         * tools/gst-xmlinspect.c: (main):
1157           Use the string passed to g_option_context_new() for
1158           what it's intended for - the program name is already
1159           printed elsewhere.
1160
1161 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1162
1163         * tools/Makefile.am:
1164         * tools/gst-inspect.c: (main):
1165         * tools/gst-launch.c: (main):
1166         * tools/gst-xmlinspect.c: (main):
1167         * tools/tools.h:
1168           Add back --version command line option (#340460).
1169
1170         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1171           Add --version option and use GOption for argument parsing; refactor a
1172           bit; accept directories as arguments and recurse into them; lastly,
1173           print a decent error message when things go wrong.
1174
1175 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1176
1177         * docs/manual/basics-bins.xml:
1178         Don't mention GstThread (#340611)
1179         * docs/manual/basics-elements.xml:
1180         Update link to GObject tutorial (#340607)
1181         
1182 2006-05-05  Wim Taymans  <wim@fluendo.com>
1183
1184         * gst/gstbuffer.h:
1185         * gst/gstminiobject.c:
1186         Add note about refcounting and miniobject/buffer writeability
1187         to docs. Fixes #340604
1188
1189         * gst/gstelementfactory.h:
1190         Added some explanation about @klass.
1191
1192 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1193
1194         * docs/manual/intro-motivation.xml:
1195         * docs/manual/manual.xml:
1196         Avoid CORBA & Bonobo references (#340598)
1197
1198 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1199
1200         * docs/manual/basics-bus.xml:
1201         * docs/manual/basics-pads.xml:
1202         Fix up some inaccuracies and omissions (#340609)
1203         
1204 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1205
1206         * gst/gstghostpad.c:
1207           Small typo in docs (#340625)
1208
1209 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1210
1211         * gst/parse/Makefile.am:
1212           Make 'make -j' proof (see #340698).
1213
1214 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1215
1216         * configure.ac:
1217           Require GLib-2.8 here as well.
1218
1219 2006-05-05  Wim Taymans  <wim@fluendo.com>
1220
1221         * gst/glib-compat.c:
1222         * gst/gst.c: (init_pre):
1223         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1224         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1225         (gst_object_dispatch_properties_changed):
1226         * gst/gstobject.h:
1227         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1228         * gst/gststructure.c: (gst_structure_set_valist):
1229         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1230         Remove pre glib2.8 compatibility, fixes #340508
1231
1232 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1233
1234         * gst/gsttaglist.h:
1235           Mention type of tags in doc blurbs.
1236
1237 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
1238
1239         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1240         (gst_pad_configure_src), (gst_pad_push):
1241         Restore acceptcaps checking behaviour now that good plugins have
1242         been released.
1243
1244 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1245
1246         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1247
1248         * gst/gst.c:
1249         * gst/gstbus.c:
1250         * gst/gstclock.c:
1251         * gst/gstevent.c:
1252         * gst/gstformat.c:
1253         * gst/gstmessage.c:
1254         * gst/gstparse.c:
1255         * gst/gstquery.c:
1256         * gst/gstutils.c:
1257         * gst/parse/Makefile.am:
1258         * libs/gst/base/gstadapter.c:
1259         * libs/gst/base/gstbasesrc.c:
1260         * libs/gst/base/gstpushsrc.c:
1261         * libs/gst/base/gsttypefindhelper.c:
1262         * plugins/elements/gstfakesrc.c:
1263         * plugins/elements/gstidentity.c:
1264           Make sure gstprivate.h and/or config.h are
1265           always included first, otherwise some of our
1266           defines (like _FILE_OFFSET_BITS) might be
1267           redefined in the system headers. Fixes build
1268           on opensolaris (#340016).
1269
1270 2006-05-04  Wim Taymans  <wim@fluendo.com>
1271
1272         * docs/libs/gstreamer-libs-sections.txt:
1273         API: addition: gst_adapter_take_buffer()
1274         
1275         * libs/gst/base/gstadapter.c: (gst_adapter_push),
1276         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1277         (gst_adapter_available_fast):
1278         * libs/gst/base/gstadapter.h:
1279         Prepare for optimizing the hell out of this hugely inefficient
1280         piece of code. 
1281         Added gst_adapter_take_buffer() so we can at least start thinking
1282         about subbuffering and merging.
1283         Added some comments.
1284
1285         * tests/check/Makefile.am:
1286         * tests/check/libs/adapter.c: (GST_START_TEST),
1287         (gst_adapter_suite), (main):
1288         Added GstAdapter check.
1289
1290 2006-05-04  Wim Taymans  <wim@fluendo.com>
1291
1292         * docs/design/part-overview.txt:
1293         Fix some typos, add blurb about buffer flags.
1294
1295 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1296
1297         * docs/libs/gstreamer-libs-sections.txt:
1298           make sure GstBaseTransformClass shows up in the docs
1299         * libs/gst/base/gstbasetransform.c:
1300         * libs/gst/base/gstbasetransform.h:
1301           move docs so gtk-doc picks it up now
1302
1303 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1304
1305         * docs/libs/gstreamer-libs-sections.txt:
1306           add missing symbols to docs
1307
1308 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1309
1310         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1311           back out the newsegment handling change, see #340060 for ongoing
1312           discussion
1313
1314 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
1315
1316         * tools/gst-run.c: (get_candidates), (main):
1317           Fix wrong g_file_test() usage (see glib docs for why it doesn't
1318           work); fix typo in error message. Fixes #340079.
1319
1320 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1321
1322         * common/Makefile.am:
1323         * docs/Makefile.am:
1324         * docs/faq/Makefile.am:
1325         * docs/gst/Makefile.am:
1326         * docs/libs/Makefile.am:
1327         * docs/manual/Makefile.am:
1328         * docs/plugins/Makefile.am:
1329         * docs/pwg/Makefile.am:
1330         * docs/slides/Makefile.am:
1331         * docs/upload.mak:
1332         * common/upload.mak:
1333           move upload.mak to common
1334
1335 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1336
1337         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1338           add more asserts on refcounts
1339           do more cleanup at end of tests
1340           fix test leaks showing in FC5
1341
1342 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1343
1344         * plugins/elements/gsttypefindelement.c:
1345         (gst_type_find_element_handle_event):
1346         reverted wrong change and reflowed code to avoid others falling into
1347         this trap
1348
1349 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1350
1351         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1352           fix changelog entry about last collectpads change,
1353           add notes about proper fix
1354
1355 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1356
1357         * gst/gst.c:
1358         * gst/gstregistry.c: (gst_registry_scan_path_level),
1359         (gst_registry_scan_path):
1360         * gst/gstregistry.h:
1361           only write out registry if it has changed, fixes #338339
1362
1363 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1364
1365         * gst/gstbin.c:
1366         * gst/gstpipeline.c:
1367         * plugins/elements/gstcapsfilter.c:
1368         * plugins/elements/gstfakesink.c:
1369         * plugins/elements/gstfakesrc.c:
1370         * plugins/elements/gstfdsink.c:
1371         * plugins/elements/gstfdsrc.c:
1372         * plugins/elements/gstfilesink.c:
1373         * plugins/elements/gstfilesrc.c:
1374         * plugins/elements/gstidentity.c:
1375         * plugins/elements/gstqueue.c:
1376         * plugins/elements/gsttee.c:
1377         * plugins/elements/gsttypefindelement.c:
1378         (gst_type_find_element_handle_event):
1379           make GstElementDetails const
1380
1381 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1382
1383         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1384         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1385         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1386           more detailed debug and formatting cleanup,
1387           forward newsegments to src-pad (so that e.g. adder not eats them)
1388
1389 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1390
1391         * gst/gstutils.c: (gst_element_link_pads):
1392           cleanup double code
1393
1394 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1395
1396         * libs/gst/controller/gstcontroller.c:
1397         (gst_controller_sync_values):
1398           some little tuning
1399         * tests/check/libs/controller.c: (GST_START_TEST),
1400         (gst_controller_suite):
1401           a new test for live value handling
1402
1403 2006-04-28  Wim Taymans  <wim@fluendo.com>
1404
1405         * gst/gstutils.c: (push_and_ref):
1406         Added some more docs.
1407         Fix refcount issue whith gst_element_found_tags() helper 
1408         function. Fixes #338335
1409
1410         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1411         Added testsuite for gst_element_found_tags().
1412
1413 2006-04-28  Michael Smith  <msmith@fluendo.com>
1414
1415         * gst/gstvalue.c: (gst_value_serialize_flags):
1416           Avoid NULL dereference when trying to serialize flags containing
1417           invalid values.
1418
1419 2006-04-28  Michael Smith  <msmith@fluendo.com>
1420
1421         * plugins/elements/gsttypefindelement.c:
1422         (gst_type_find_element_handle_event):
1423           If we get EOS before any data is accumulated, don't use
1424           uninitialised local variables.
1425
1426 2006-04-28  Michael Smith  <msmith@fluendo.com>
1427
1428         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1429         (gst_dp_event_from_packet):
1430           Fixes in reading/writing events over GDP (not currently used?) - 
1431           dereferencing NULL events for unknown/invalid event types, memory
1432           leak, and change g_warning to GST_WARNING.
1433
1434 2006-04-28  Wim Taymans  <wim@fluendo.com>
1435
1436         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1437         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1438         (gst_base_sink_get_position), (gst_base_sink_change_state):
1439         When frame dropping is enabled, we should not ignore frames
1440         without a duration.
1441         Update some documentation.
1442
1443 2006-04-28  Wim Taymans  <wim@fluendo.com>
1444
1445         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1446         (gst_base_src_send_event), (gst_base_src_change_state):
1447         Documentation updates.
1448
1449 2006-04-28  Wim Taymans  <wim@fluendo.com>
1450
1451         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1452         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1453         handle EAGAIN, EINTR and short writes correctly. Also clean
1454         up some error cases, avoid a deadlock on bad file descriptors and
1455         use GST_DEBUG_OBJECT.
1456         Fixes #339843
1457
1458 2006-04-28  Wim Taymans  <wim@fluendo.com>
1459
1460         * gst/gstvalue.c: (gst_value_serialize_buffer),
1461         (gst_value_deserialize_buffer):
1462         Don't try to serialize a GValue with a NULL buffer. 
1463         Fixes #339821.
1464
1465         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1466         Added check for serialisation of NULL buffers.
1467
1468 2006-04-28  Wim Taymans  <wim@fluendo.com>
1469
1470         * gst/gstminiobject.c: (gst_value_take_mini_object):
1471         Taking a NULL miniobject is valid, fix the case where
1472         we try to unref the NULL miniobject.
1473
1474 2006-04-28  Wim Taymans  <wim@fluendo.com>
1475
1476         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1477
1478         * gst/gstbin.c: (gst_bin_handle_message_func):
1479         Update docs.
1480         Don't leak bin refcount when a state recalc is
1481         in progress and we delay another one #339808.
1482
1483 2006-04-28  Wim Taymans  <wim@fluendo.com>
1484
1485         * docs/design/part-TODO.txt:
1486         Mention QoS as an ongoing work item.
1487
1488         * docs/design/part-buffering.txt:
1489         New doc about buffering that needs to be fleshed out
1490         at some point.
1491
1492         * docs/design/part-qos.txt:
1493         More QoS policy for decoders/demuxers/transforms
1494
1495         * docs/design/part-trickmodes.txt:
1496         Small update.
1497
1498 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1499
1500         * configure.ac:
1501           back to HEAD
1502
1503 === release 0.10.5 ===
1504
1505 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1506
1507         * configure.ac:
1508           releasing 0.10.5, "Fogo"
1509
1510 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1511
1512         patch by: Wim Taymans
1513
1514         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1515         (gst_pad_configure_src), (gst_pad_push):
1516         * gst/gstpipeline.c: (gst_pipeline_init):
1517           Fix internal data flow errors.  Fixes #338711.
1518
1519 2006-04-12  Wim Taymans  <wim@fluendo.com>
1520
1521         * tests/check/gst/gstelement.c: (GST_START_TEST):
1522         Don't leak the factory.
1523
1524 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1525
1526         * configure.ac:
1527         * win32/common/config.h:
1528           prerelease
1529
1530 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1531
1532         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1533         (gst_controller_unset_all):
1534           Free allocated GstTimedValues when freeing list nodes.
1535           Should fix leaks 'make check-valgrind' complains about.
1536
1537         * win32/common/libgstcontroller.def:
1538           Add gst_controller_unset_all.
1539
1540 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
1541
1542         * docs/libs/gstreamer-libs-sections.txt:
1543         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1544         (gst_controller_unset_all):
1545         * libs/gst/controller/gstcontroller.h:
1546         API: Added new method gst_controller_unset_all()
1547         fixed gst_controller_unset()
1548         * tests/check/libs/controller.c: (GST_START_TEST),
1549         (gst_controller_suite):
1550         Added two testcases for new and fixed method
1551
1552 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
1553
1554         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1555           MSG_DONTWAIT is not defined on Cygwin, so work
1556           around that (fixes #317048).
1557           
1558 2006-04-11  Wim Taymans  <wim@fluendo.com>
1559
1560         * gst/gstelementfactory.c: (gst_element_register),
1561         (gst_element_factory_create), (gst_element_factory_make):
1562         Some cleanups.
1563         Fixed a FIXME.
1564         Updated docs (Fixes #131079)
1565
1566         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1567         Small cleanups.
1568
1569         * tests/check/gst/gstelement.c: (GST_START_TEST),
1570         (gst_element_suite):
1571         Added testcase for elementfactory class field.
1572
1573 2006-04-10  Wim Taymans  <wim@fluendo.com>
1574
1575         * gst/gstsegment.c:
1576         Added some more docs.
1577
1578         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
1579         (gst_base_sink_reset_qos):
1580         Calculate more accurate rate values.
1581
1582 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
1583
1584         * gst/gst_private.h:
1585           add a new #ifdef to use __declspec(dllimport) only for
1586           other modules and not for gstreamer core
1587         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
1588           use gst_guint64_to_gdouble for conversion
1589         * win32/common/libgstreamer.def:
1590           add new exported functions
1591         * win32/vs6/gst_inspect.dsp:
1592         * win32/vs6/gst_launch.dsp:
1593         * win32/vs6/libgstbase.dsp:
1594         * win32/vs6/libgstcontroller.dsp:
1595         * win32/vs6/libgstcoreelements.dsp:
1596         * win32/vs6/libgstdataprotocol.dsp:
1597         * win32/vs6/libgstnet.dsp:
1598           update project files
1599
1600 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1601
1602         * gst/gstbuffer.c: (gst_subbuffer_class_init):
1603         * gst/gstclock.c: (gst_clock_class_init):
1604         * gst/gstelement.c: (gst_element_class_init):
1605         * gst/gstindex.c: (gst_index_class_init):
1606         * gst/gstindexfactory.c: (gst_index_factory_class_init):
1607         * gst/gstobject.c: (gst_object_class_init),
1608         (gst_signal_object_class_init):
1609         * gst/gstpad.c: (gst_pad_class_init):
1610         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
1611         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
1612         * gst/gstregistry.c: (gst_registry_class_init):
1613         * gst/gstsystemclock.c: (gst_system_clock_class_init):
1614         * gst/gsttask.c: (gst_task_class_init):
1615         * gst/gstxml.c: (gst_xml_class_init):
1616         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1617         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1618         (gst_base_src_loop):
1619         * libs/gst/controller/gstcontroller.c:/
1620         (_gst_controller_class_init):
1621         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1622         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1623         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
1624         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1625         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1626         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
1627
1628 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
1629
1630         * gst/gstpad.c: (gst_pad_link):
1631           Must set peer pads before calling the link function, otherwise
1632           a task started from a link function might get a flow-not-linked
1633           result when trying to push because the other thread where the
1634           linking happens hasn't had a chance to set the peers yet. This
1635           might happen for example when a queue gets linked to a downstream
1636           element, as queue starts a streaming task when its source pad
1637           gets linked. Happens in real life when playing back flac/musepack
1638           files in playbin (#332390).
1639           
1640 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1641
1642         * gst/gstindex.h:
1643         * gst/gstxml.h:
1644         * libs/gst/base/gstadapter.h:
1645         * libs/gst/base/gstbasesink.h:
1646         * libs/gst/base/gstbasesrc.h:
1647         * libs/gst/base/gstbasetransform.h:
1648         * libs/gst/base/gstcollectpads.h:
1649         * libs/gst/base/gstpushsrc.h:
1650         Fix broken GObject macros
1651
1652 2006-04-07  Wim Taymans  <wim@fluendo.com>
1653
1654         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1655         Initialize start and stop times, thanks valgrind.
1656
1657 2006-04-07  Wim Taymans  <wim@fluendo.com>
1658
1659         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1660         Be a bit nicer to badly behaving upstream elements that expect
1661         us to deal with non TIME segments and timestamps (such as fakesrc
1662         in the testsuite).
1663
1664 2006-04-07  Wim Taymans  <wim@fluendo.com>
1665
1666         * gst/gstbus.c:
1667         Small documentation clarification about the signal watch.
1668
1669         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1670         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1671         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1672         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1673         (gst_base_sink_get_position_last),
1674         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
1675         Convert and store timestamps in stream time and running time, the
1676         raw timestamps are not usefull, also document this better.
1677         Use different window sizes for good and bad QoS observations so
1678         we react to badness a little quicker.
1679         Keep track of the amount of rendered and dropped buffers.
1680         Send QoS timestamps in running time.
1681
1682         * libs/gst/base/gstbasetransform.c:
1683         (gst_base_transform_sink_eventfunc),
1684         (gst_base_transform_handle_buffer):
1685         Compare QoS timestamps against running time.
1686
1687 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1688
1689         * gst/gstpad.c:
1690           Typo fixes in docs.
1691
1692 2006-04-06  Michael Smith  <msmith@fluendo.com>
1693
1694         * gst/gstpad.c: (gst_pad_set_property):
1695           Use g_value_get_object() instead of g_value_dup_gst_object(),
1696           to avoid double-reffing the pad template (which we then sink,
1697           so this worked previously if (and only if) the pad template
1698           was floating.
1699
1700         * gst/gstpadtemplate.c: (gst_pad_template_init),
1701         (gst_pad_template_pad_created):
1702           Never return floating references to pad templates, create
1703           them as initially-sunken.
1704
1705           Document an extra function (and make this stop sinking our
1706           pad template, since that is now guaranteed to do nothing,
1707           since we created it sunken).
1708
1709         * gst/gstghostpad.c:
1710           Fix docs typo.
1711
1712 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1713
1714         * gst/gstinfo.c: (__gst_in_valgrind):
1715           Add some newlines.
1716
1717         * plugins/elements/gsttypefindelement.c:
1718         (gst_type_find_element_chain):
1719           Don't leak buffer caps.
1720
1721 2006-04-06  Michael Smith  <msmith@fluendo.com>
1722
1723         * gst/parse/grammar.y:
1724           Fix a leak in parse-launch for any source-or-sink named element 
1725           references used.
1726
1727         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1728           Unref the pipeline if it exists after we've failed parsing.
1729
1730 2006-04-05  Michael Smith  <msmith@fluendo.com>
1731
1732         * gst/gstpipeline.c: (gst_pipeline_init):
1733           When we create a pipeline bus, initially create it in flushing mode.
1734           Fixes leaks in at least one test, and makes a new pipeline work the
1735           same as one that has gone to READY and then back to NULL.
1736
1737         * gst/gstelement.c:
1738           Typo fix in docs.
1739
1740 2006-04-05  Michael Smith  <msmith@fluendo.com>
1741
1742         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1743           Unref a pad we reffed.
1744         * tests/check/gst/gstutils.c: (GST_START_TEST):
1745           Unref bins
1746
1747 2006-04-05  Michael Smith  <msmith@fluendo.com>
1748
1749         * gst/gstquery.c: (gst_query_set_formats),
1750         (gst_query_set_formatsv):
1751           Fix leaking GValues in queries, as shown by valgrind/testsuite.
1752
1753 2006-04-05  Michael Smith  <msmith@fluendo.com>
1754
1755         * tests/check/generic/sinks.c: (GST_START_TEST):
1756           Fix a variety of memleaks in sinks check, which are only sometimes 
1757           shown by running the tests under valgrind (weird?).
1758
1759 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
1760
1761         * docs/version.entities.in:
1762           Fix the substituted entity name after thomas' changes on the
1763           weekend.
1764
1765 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1766
1767         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
1768         VALGRIND_PRINTF
1769         
1770 2006-04-05  Andy Wingo  <wingo@pobox.com>
1771
1772         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
1773
1774         * libs/gst/base/gstbasetransform.c
1775         (gst_base_transform_sink_eventfunc): When resetting our segment on
1776         FLUSH_STOP, also update the flag saying we haven't seen a
1777         newsegment.
1778
1779 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1780
1781         Patch by: Paolo Borelli  <pborelli at katamail dot com>
1782
1783         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1784         (gst_plugin_check_license):
1785           minor clean-ups: G_DEFINE_TYPE already takes care of the
1786           parent_class stuff, no need to do it twice. Mark array of
1787           license strings as constant. (#337103)
1788           
1789 2006-04-04  Michael Smith  <msmith@fluendo.com>
1790
1791         * tools/gst-inspect.c: (print_element_list):
1792           Free the right plugin list; fixes a memory leak.
1793
1794 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1795
1796         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
1797
1798         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1799           Don't error out on empty buffers (#336945).
1800           
1801 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
1802
1803         * docs/libs/gstreamer-libs-sections.txt:
1804         * gst/gsttaglist.c:
1805         * libs/gst/base/gstbasesink.c:
1806         * libs/gst/base/gstbasesink.h:
1807         * libs/gst/base/gstbasesrc.c:
1808         * libs/gst/base/gstbasesrc.h:
1809           Documentation updates. Make BaseSink and BaseSrc docs contain the
1810           class structure so that people can actually see the prototypes for
1811           virtual functions they're supposed to be overriding.
1812
1813 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1814
1815         * plugins/elements/gsttypefindelement.c:
1816         (gst_type_find_element_chain):
1817           More debug info; when skipping typefinding, send cached
1818           events in all cases.
1819
1820 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
1821
1822         * configure.ac:
1823           use new AS_VERSION and AS_NANO macros
1824         * gst/gst-i18n-lib.h:
1825         * gst/gst.c:
1826         * gst/gsterror.c:
1827         * gst/gstversion.h.in:
1828         * win32/common/config.h:
1829         * win32/common/config.h.in:
1830           update accordingly
1831
1832 2006-03-31  Michael Smith  <msmith@fluendo.com>
1833
1834         * plugins/elements/gsttypefindelement.c:
1835         (gst_type_find_element_chain):
1836           Do not typefind content if the buffers already have caps.
1837           Neccesary for icydemux (#333657), and the right thing to do anyway.
1838
1839 2006-03-30  Wim Taymans  <wim@fluendo.com>
1840
1841         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
1842         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
1843         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
1844         (gst_base_sink_record_qos_observation),
1845         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1846         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1847         (gst_base_sink_change_state):
1848         More QoS measurements as described in the design doc.
1849         Get rid of ringbuffer with observations, running average is
1850         more simple and equally good.
1851         Calculates valid proportion now.
1852         Added beginning of flood measurement.
1853
1854 2006-03-29  Wim Taymans  <wim@fluendo.com>
1855
1856         * docs/design/part-qos.txt:
1857         * gst/gstclock.c:
1858         Small documentation updates and additions.
1859
1860 2006-03-29  Wim Taymans  <wim@fluendo.com>
1861
1862         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1863         (gst_base_src_send_event), (gst_base_src_loop),
1864         (gst_base_src_change_state):
1865         Perform the EOS logic when we reach the segment stop position.
1866         Fix compilation on gcc4.1
1867
1868 2006-03-29  Wim Taymans  <wim@fluendo.com>
1869
1870         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
1871
1872         * plugins/elements/gstqueue.c: (gst_queue_init),
1873         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
1874         (gst_queue_set_property):
1875         * plugins/elements/gstqueue.h:
1876         In queue, when EOS is received, if minimum threshold > max_size -
1877         current_level, there is chance that queue blocks forever in conditional
1878         item del wait. This is because the queue is not emptied completely due
1879         to minimum threshold.  Here is another approach. Instead of setting
1880         cur_levels to max in EOS, just zero all minimum threshold levels. This
1881         should make sure that queue gives out all data. When going to READY
1882         (stop) state, just reset the original minimum threshold levels.
1883         Fixes #336336.
1884
1885 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
1886
1887         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
1888         (gst_type_find_element_handle_event),
1889         (gst_type_find_element_send_cached_events),
1890         (gst_type_find_element_change_state):
1891         * plugins/elements/gsttypefindelement.h:
1892           When typefinding is done in push mode, we should cache
1893           events we receive during typefinding instead of just
1894           dropping them (e.g. newsegment, custom events from
1895           dvdreadsrc etc.) and then send them out once we've
1896           determined the type of the stream (and decodebin
1897           has had a chance to plug in a decoder/demuxer).
1898           
1899 2006-03-27  Wim Taymans  <wim@fluendo.com>
1900
1901         * docs/design/part-qos.txt:
1902         First QoS ideas.
1903
1904 2006-03-27  Wim Taymans  <wim@fluendo.com>
1905
1906         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
1907
1908         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
1909         (gst_base_src_send_event), (gst_base_src_change_state):
1910         Handle element seek correctly when we are streaming.
1911         Fixes #326998.
1912
1913 2006-03-24  Michael Smith  <msmith@fluendo.com>
1914
1915         * docs/faq/gst-uninstalled:
1916           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
1917           allow you to correctly run intalled applications built against old 
1918           core, using plugins that require updated core (e.g. running
1919           installed totem against a full uninstalled gstreamer stack)
1920
1921 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1922
1923         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
1924         more debug details
1925
1926 2006-03-24  Wim Taymans  <wim@fluendo.com>
1927
1928         * docs/gst/gstreamer-sections.txt:
1929         Rearrange the order of the methods so that related methods
1930         are grouped together in sections.
1931
1932 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1933
1934         * gst/gstelement.c:
1935           Little clarification in the docs
1936
1937 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
1938
1939         * docs/README:
1940         formatting fix
1941         * plugins/elements/gstidentity.c:
1942         * plugins/elements/gstqueue.c:
1943         * plugins/elements/gsttee.c:
1944         * plugins/elements/gsttypefindelement.c:
1945         GST_ELEMENT_DETAILS formatting
1946
1947 2006-03-24  Wim Taymans  <wim@fluendo.com>
1948
1949         * libs/gst/base/gstbasesink.h:
1950         Only add fields, not insert or we break ABI.
1951
1952 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1953
1954         * win32/common/libgstbase.def:
1955         * win32/common/libgstreamer.def:
1956           Update, add recently added functions.
1957
1958 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
1959
1960         * docs/gst/gstreamer-sections.txt:
1961         * gst/gstutils.c: (gst_pad_query_peer_position),
1962         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
1963         * gst/gstutils.h:
1964           API: add some new utility functions:
1965            - gst_pad_query_peer_position()
1966            - gst_pad_query_peer_duration()
1967            - gst_pad_query_peer_convert()
1968           
1969 2006-03-23  Wim Taymans  <wim@fluendo.com>
1970
1971         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1972         (gst_base_sink_init), (gst_base_sink_finalize),
1973         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
1974         (gst_base_sink_set_property), (gst_base_sink_get_property),
1975         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
1976         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1977         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
1978         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1979         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
1980         (gst_base_sink_preroll_object), (gst_base_sink_event),
1981         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
1982         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
1983         (gst_base_sink_query), (gst_base_sink_change_state):
1984         Decouple max-lateness and the fact that QoS messages are generated
1985         with a new property (qos).
1986         added API: GstBaseSink::async_play()
1987         Add vmethod so subclasses can be notified of ASYNC playing
1988         state changes.
1989         Collect timestamp start and stop to report better current
1990         position in EOS/PLAYING/PAUSED/READY/NULL.
1991         Refactor QoS/frame dropping and other measurements.
1992         API: GstBaseSrc::qos
1993         Fixes #326311
1994
1995         * libs/gst/base/gstbasesink.h:
1996         Added Private struct.
1997         API: gst_base_sink_set_qos_enabled()
1998         API: gst_base_sink_is_qos_enabled()
1999
2000 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2001
2002         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2003           If compiling against GLib-2.8 or newer, try to read the
2004           registry file using GMappedFile first before falling back
2005           to fopen() + fread() (#332151).
2006
2007 2006-03-22  Wim Taymans  <wim@fluendo.com>
2008
2009         * gst/gstinfo.c: (gst_debug_set_active),
2010         (gst_debug_category_set_threshold):
2011         Disable debugging unless explicitly activated.
2012         Fixes #335480.
2013
2014 2006-03-22  Wim Taymans  <wim@fluendo.com>
2015
2016         * gst/gstelement.c: (gst_element_set_locked_state),
2017         (gst_element_dispose):
2018         Cleanup the error case.
2019
2020         * gst/gstobject.c: (gst_object_dispose):
2021         print a critical when some object was disposed with
2022         a parent, also revive the object since it might
2023         crash the parent.
2024
2025 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
2026
2027         * tools/gst-launch.1.in:
2028           Fix another typo.
2029
2030 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2031
2032         * configure.ac:
2033         * tests/check/Makefile.am:
2034           disable some tests when we don't have a registry
2035         * tests/check/gst/gstutils.c: (gst_utils_suite):
2036           don't build the part that needs parsing
2037
2038 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2039
2040         * gst/Makefile.am
2041         * tests/examples/Makefile.am:
2042           fix --disable-parse build
2043
2044 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2045
2046         * tools/gst-feedback.1.in:
2047           Fix typo: s/feeback/feedback/ (#133494).
2048
2049 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2050
2051         * tools/Makefile.am:
2052         * tools/gst-launch.1.in:
2053           Add FILES section and correct entry about GST_REGISTRY_PATH
2054           environment variable (#133495; #133494).
2055
2056 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2057
2058         * tools/Makefile.am:
2059         * tools/gst-md5sum.1.in:
2060         * tools/gst-md5sum.c:
2061           Remove gst-md5sum and man page (the md5sink element
2062           required was removed ages ago)
2063
2064 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2065
2066         * gst/gststructure.c: (gst_structure_id_set_value):
2067           Make sure that string fields in structures/taglists
2068           contain valid UTF-8 - we don't want to pass rubbish to
2069           applications because of a buggy plugin (cp. #334167).
2070
2071 2006-03-21  Edward Hervey  <edward@fluendo.com>
2072
2073         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2074         (gst_bin_handle_message_func):
2075         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2076         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2077         (gst_element_set_bus_func):
2078         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2079         * gst/gstminiobject.c: (gst_value_set_mini_object),
2080         (gst_value_take_mini_object):
2081         * gst/gstpad.c: (gst_pad_set_pad_template):
2082         * gst/gstpipeline.c: (gst_pipeline_dispose),
2083         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2084         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2085         (gst_collect_pads_chain):
2086         * libs/gst/net/gstnettimeprovider.c:
2087         (gst_net_time_provider_set_property):
2088         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2089         It's in fact all issues with gst_*object_replace().
2090
2091 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2092
2093         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2094         
2095         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2096         * pkgconfig/gstreamer-check.pc.in:
2097           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2098
2099 2006-03-21  Edward Hervey  <edward@fluendo.com>
2100
2101         * gst/gstbuffer.h:
2102         * gst/gstevent.h:
2103         * gst/gstmessage.h:
2104         gst_[buffer|event|message]_ref() macros are replaced by a static
2105         inline functions because gcc-4.1 will about if the return value
2106         isn't used.
2107         * tests/check/gst/gstevent.c: (event_probe):
2108         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2109
2110 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2111
2112         * gst/gstutils.h:
2113         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2114         the type' case. (Closes: #335195 for now). In the future, when we
2115         depend on GLib 2.10, we could also intern the type name using
2116         g_intern_static_string()
2117
2118 2006-03-20  Wim Taymans  <wim@fluendo.com>
2119
2120         * gst/gstbin.c: (gst_bin_handle_message_func),
2121         (bin_query_max_init), (bin_query_position_fold),
2122         (bin_query_position_done), (gst_bin_query):
2123         Position query should also take max of all streams.
2124
2125 2006-03-20  Wim Taymans  <wim@fluendo.com>
2126
2127         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2128         (gst_fake_src_finalize):
2129         Fix leaks in fakesrc.
2130
2131         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2132         Fix leaks in the testcase.
2133
2134 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2135
2136         * gst/gst_private.h:
2137           add win32 specific import decoration(__declspec(dllimport)) 
2138           for all extern GstDebugCategory * variables
2139         * win32/common/libgstbase.def:
2140         * win32/common/libgstcontroller.def:
2141         * win32/common/libgstreamer.def:
2142           Add some exports, remove empty lines
2143         * win32/common/libgstdataprotocol.def:
2144         * win32/common/libgstdataprotocol.dsp:
2145         * win32/common/libgstnet.def:
2146         * win32/common/libgstnet.dsp:
2147           new project files and exportation files added
2148         
2149 2006-03-19  Wim Taymans  <wim@fluendo.com>
2150
2151         * tests/check/libs/basesrc.c: (eos_event_counter):
2152         Use proper return value for probe.
2153
2154 2006-03-17  Wim Taymans  <wim@fluendo.com>
2155
2156         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2157         (gst_pad_push):
2158         Don't leak buffers, caps and pads on negotiation errors.
2159
2160 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
2161
2162         * docs/faq/cvs.xml:
2163         * docs/faq/dependencies.xml:
2164         * docs/faq/developing.xml:
2165         * docs/faq/faq.xml:
2166         * docs/faq/general.xml:
2167         * docs/faq/getting.xml:
2168         * docs/faq/legal.xml:
2169         * docs/faq/troubleshooting.xml:
2170         * docs/faq/using.xml:
2171         Faq review and update.
2172
2173 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
2174
2175         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2176         (gst_pad_push):
2177         Don't pound the cpu to pieces by checking get_caps when accept_caps
2178         is called with the same caps as the pad already has.
2179         Use GST_DEBUG_OBJECT when outputting caps change information.
2180
2181 2006-03-15  Wim Taymans  <wim@fluendo.com>
2182
2183         * gst/gstclock.c: (gst_clock_class_init):
2184         Fix docs.
2185
2186 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
2187
2188         * gst/gstbuffer.h:
2189         Documentation fix.
2190
2191         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2192         (gst_pad_accept_caps), (gst_pad_configure_sink),
2193         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2194         Make the default acceptcaps behaviour be to check the requested 
2195         caps against the gst_pad_get_caps output. 
2196
2197         Ensure that gst_pad_accept_caps is used to check caps when a pad
2198         doesn't have a setcaps function, so that pads automatically refuse 
2199         caps that they don't allow in their pad template. (Fixes #332986)
2200
2201         When a buffer with attached caps is pushed, ensure that the source 
2202         pad receives those caps even if the element didn't call
2203         gst_pad_set_caps first.
2204
2205 2006-03-15  Wim Taymans  <wim@fluendo.com>
2206
2207         * libs/gst/base/gstadapter.c:
2208         Add some docs.
2209
2210 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2211
2212         * win32/common/libgstbase.def:
2213         * win32/common/libgstcontroller.def:
2214         * win32/common/libgstreamer.def:
2215           Add a whole bunch of missing functions (#334434).
2216
2217 2006-03-14  Wim Taymans  <wim@fluendo.com>
2218
2219         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2220         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2221         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2222         Better debug info when we receive a segment event.
2223         Reorganize a bit so we can pass the get_times() results around.
2224         Use the segment format when calculating the running time.
2225         Don't do QoS is sync is disabled or we have no clock or the
2226         element does not want us to sync to the clock.
2227         Don't drop buffers if QoS is disabled for now.
2228
2229 2006-03-14  Wim Taymans  <wim@fluendo.com>
2230
2231         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2232         Marked the stats property as unimplemented so people don't get
2233         wild ideas.
2234         Add debug message when regression goes wrong.
2235         Added some more docs.
2236
2237 2006-03-14  Wim Taymans  <wim@fluendo.com>
2238
2239         * gst/gstsegment.c: (gst_segment_to_stream_time):
2240         Return correct return type in case of errors.
2241
2242 2006-03-14  Wim Taymans  <wim@fluendo.com>
2243
2244         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2245           Don't segfault on invalid formats.
2246
2247 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2248
2249         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2250           Can't use gst_segment_to_running_time() when the segment
2251           is not in GST_TIME_FORMAT (like with filesink, for example).
2252           Stops flac encoding pipelines from spewing critical warnings
2253           at EOS (#331248).
2254           
2255 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2256
2257         * gst/gstpipeline.c: (gst_pipeline_class_init):
2258           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2259
2260         * plugins/elements/gsttypefindelement.c:
2261         (gst_type_find_element_handle_event):
2262           Don't try to typefind empty streams.
2263
2264 2006-03-14  Wim Taymans  <wim@fluendo.com>
2265
2266         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2267         (gst_base_sink_do_qos):
2268         Separate QoS calculation.
2269         Only drop buffers when lateness is bigger than the 
2270         duration of the buffer.
2271
2272 2006-03-13  Wim Taymans  <wim@fluendo.com>
2273
2274         * gst/gstpipeline.c: (gst_pipeline_set_property),
2275         (gst_pipeline_get_property), (do_pipeline_seek),
2276         (gst_pipeline_change_state), (gst_pipeline_set_delay),
2277         (gst_pipeline_get_delay):
2278         Don't deadlock when reading properties.
2279
2280 2006-03-13  Wim Taymans  <wim@fluendo.com>
2281
2282         * libs/gst/base/gstbasetransform.c:
2283         (gst_base_transform_class_init), (gst_base_transform_init),
2284         (gst_base_transform_sink_event),
2285         (gst_base_transform_sink_eventfunc),
2286         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2287         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2288         (gst_base_transform_set_property),
2289         (gst_base_transform_get_property),
2290         (gst_base_transform_change_state), (gst_base_transform_update_qos),
2291         (gst_base_transform_set_qos_enabled),
2292         (gst_base_transform_is_qos_enabled):
2293         * libs/gst/base/gstbasetransform.h:
2294         Make basetransform virtual method for src events too.
2295         Handle QOS in basetransform.
2296         API: gst_base_transform_update_qos()
2297         API: gst_base_transform_set_qos_enabled()
2298         API: gst_base_transform_is_qos_enabled()
2299
2300 2006-03-13  Wim Taymans  <wim@fluendo.com>
2301
2302         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2303         (gst_base_sink_do_sync):
2304         Small cleanups.
2305         Use QOS debug category.
2306
2307 2006-03-13  Wim Taymans  <wim@fluendo.com>
2308
2309         * plugins/elements/gstqueue.c:
2310         Very small doc update.
2311
2312 2006-03-13  Wim Taymans  <wim@fluendo.com>
2313
2314         * gst/gst_private.h:
2315         * gst/gstinfo.c: (_gst_debug_init):
2316         Added QOS debug category
2317
2318 2006-03-13  Wim Taymans  <wim@fluendo.com>
2319
2320         * docs/gst/gstreamer-sections.txt:
2321         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2322         * gst/gstbin.h:
2323         * gst/gstbus.c: (gst_bus_class_init):
2324         * gst/gstbus.h:
2325         * gst/gstclock.c:
2326         * gst/gstelement.c: (gst_element_set_locked_state):
2327         * gst/gstsegment.c:
2328         Documentation updates.
2329
2330         * gst/gstpipeline.c: (gst_pipeline_get_type),
2331         (gst_pipeline_class_init), (gst_pipeline_init),
2332         (gst_pipeline_dispose), (gst_pipeline_set_property),
2333         (gst_pipeline_get_property), (do_pipeline_seek),
2334         (gst_pipeline_send_event), (gst_pipeline_change_state),
2335         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2336         (gst_pipeline_get_delay):
2337         * gst/gstpipeline.h:
2338         Added methods for setting the delay.
2339         API: gst_pipeline_set_delay()
2340         API: gst_pipeline_get_delay()
2341         Add pipeline debug category
2342         Various cleanups.
2343         Updated docs.
2344         Don't reset stream time when seek failed.
2345
2346 2006-03-13  Wim Taymans  <wim@fluendo.com>
2347
2348         * docs/design/draft-klass.txt:
2349         * docs/design/part-clocks.txt:
2350         * docs/design/part-events.txt:
2351         * docs/design/part-gstbin.txt:
2352         * docs/design/part-gstpipeline.txt:
2353         * docs/design/part-messages.txt:
2354         * docs/design/part-negotiation.txt:
2355         * docs/design/part-overview.txt:
2356         * docs/design/part-preroll.txt:
2357         * docs/design/part-seeking.txt:
2358         * docs/design/part-states.txt:
2359         * docs/design/part-streams.txt:
2360         Documentation updates.
2361
2362 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2363
2364         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2365         us to leak strings...
2366
2367 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2368
2369         * libs/gst/net/gstnettimeprovider.c:
2370           fix docs
2371         * win32/common/config.h:
2372           update
2373
2374 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2375
2376         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2377
2378         * configure.ac:
2379           Don't check for libgnomeui (leftover from old examples
2380           that aren't built or disted any longer) (#334303).
2381           
2382 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2383
2384         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2385         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2386           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2387           there's no space left on the device.
2388
2389 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2390
2391         * gst/gstclock.h:
2392           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2393           to cast the input to GstClockTime before comparing with
2394           another GstClockTime value.
2395
2396 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2397
2398         * configure.ac:
2399           back to trunk
2400
2401 === release 0.10.4 ===
2402
2403 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2404
2405         * configure.ac:
2406           releasing 0.10.4, "Light"
2407
2408 2006-03-10  Michael Smith  <msmith@fluendo.com>
2409
2410         * libs/gst/dataprotocol/dataprotocol.c:
2411           Fix docs for dataprocotol to not get the return types completely
2412           wrong for a few functions.
2413
2414 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2415
2416         * docs/gst/gstreamer-sections.txt:
2417         * gst/gstpipeline.c: (gst_pipeline_class_init),
2418         (gst_pipeline_init), (gst_pipeline_set_property),
2419         (gst_pipeline_get_property), (gst_pipeline_change_state),
2420         (gst_pipeline_set_auto_flush_bus),
2421         (gst_pipeline_get_auto_flush_bus):
2422         * gst/gstpipeline.h:
2423           Add new API: gst_pipeline_set_auto_flush_bus() and
2424           gst_pipeline_get_auto_flush_bus() to disable automatic
2425           flushing of the pipeline's GstBus when going from READY
2426           to NULL state (#332045).
2427
2428 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2429
2430         * docs/gst/gstreamer-sections.txt:
2431         * gst/gsturi.c: (gst_uri_has_protocol):
2432         * gst/gsturi.h:
2433            Add new API: gst_uri_has_protocol() (#333779).
2434
2435 2006-03-09  Wim Taymans  <wim@fluendo.com>
2436
2437         * gst/gstclock.c: (gst_clock_entry_new),
2438         (gst_clock_id_compare_func), (gst_clock_id_wait),
2439         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2440         (gst_clock_init), (gst_clock_get_internal_time),
2441         (gst_clock_set_master), (do_linear_regression),
2442         (gst_clock_add_observation), (gst_clock_set_property):
2443         * gst/gstclock.h:
2444         Review docs.
2445         Small cleanups.
2446         Fix a possible segfault when the window-size is made smaller.
2447         Calculate jitter before performing the clock wait. Ideally
2448         the clock implementation should calculate jitter but we need
2449         API breakage for that.
2450
2451         * gst/gstsystemclock.c: (gst_system_clock_init):
2452         Docs review.
2453         
2454         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2455         Remove leftover else
2456
2457         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2458         (gst_systemclock_suite):
2459         Added check to test GST_CLOCK_DIFF.
2460
2461 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2462
2463         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2464         (gst_type_find_helper_get_range):
2465           If we are provided with the size, we should implement
2466           GstTypeFind::get_length, so that typefind functions who
2467           want to can actually peek at the middle of a file.
2468
2469 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2470
2471         * docs/manual/advanced-dataaccess.xml:
2472           Add some very very basic error checking.
2473
2474         * docs/pwg/appendix-checklist.xml:
2475           Some updates to the list of things to check when writing an element.
2476
2477 2006-03-08  Wim Taymans  <wim@fluendo.com>
2478
2479         * docs/design/part-element-transform.txt:
2480         Added some docs about the design of tranform elements.
2481
2482         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2483         (gst_base_src_loop), (gst_base_src_change_state):
2484         Mark buffers with the DISCONT flag.
2485
2486 2006-03-08  Michael Smith  <msmith@fluendo.com>
2487
2488         * gst/gstregistry.h:
2489         * gst/gstregistryxml.c: (gst_registry_save),
2490         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2491         (gst_registry_xml_save_pad_template),
2492         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2493         (gst_registry_xml_write_cache):
2494           Rewrite registry-saving to avoid race conditions and check for
2495           failed writes.
2496
2497 2006-03-08  Wim Taymans  <wim@fluendo.com>
2498
2499         * libs/gst/base/gstbasetransform.c:
2500         (gst_base_transform_transform_caps),
2501         (gst_base_transform_transform_size),
2502         (gst_base_transform_prepare_output_buffer),
2503         (gst_base_transform_get_unit_size),
2504         (gst_base_transform_buffer_alloc),
2505         (gst_base_transform_handle_buffer),
2506         (gst_base_transform_change_state):
2507         Cleanups, separate normal flow from errors, add sensible
2508         DEBUG lines.
2509         Don't try to renegotiate when allocating an output buffer.
2510         Also copy DISCONT buffer flag when copying a buffer.
2511         Reset the transform after we finish streaming, not during.
2512
2513 2006-03-08  Wim Taymans  <wim@fluendo.com>
2514
2515         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2516         Use last buffer timestamp in qos message.
2517
2518 2006-03-07  Wim Taymans  <wim@fluendo.com>
2519
2520         Patch by: Christophe Fergeau
2521
2522         * docs/pwg/advanced-tagging.xml:
2523         * docs/pwg/building-pads.xml:
2524           fixes #333416
2525
2526 2006-03-07  Wim Taymans  <wim@fluendo.com>
2527
2528         * docs/libs/gstreamer-libs-sections.txt:
2529         Added basesink new methods.
2530
2531         * gst/gstevent.c:
2532         * gst/gstevent.h:
2533         Docs updates. Flesh out the QoS docs.
2534
2535         * libs/gst/base/gstadapter.c:
2536         Small doc clarification about ownership and flushing.
2537
2538         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2539         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2540         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2541         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2542         * libs/gst/base/gstbasesink.h:
2543         API additions: 
2544         Added new methods to allow subclass to control max-lateness 
2545         and sync.
2546         Generate very basic QoS events based on last sync observation.
2547         Updated docs, fix typo, added some QoS blurb.
2548
2549         * libs/gst/base/gstbasesrc.c:
2550         Remove obsolete _get_state() calls from docs.
2551
2552 2006-03-07  Wim Taymans  <wim@fluendo.com>
2553
2554         * docs/libs/gstreamer-libs-sections.txt:
2555         * libs/gst/base/gstbasetransform.h:
2556         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
2557         Fix docs for GstBaseSrc.
2558
2559 2006-03-07  Wim Taymans  <wim@fluendo.com>
2560
2561         * docs/gst/gstreamer-sections.txt:
2562         * gst/gstbuffer.h:
2563         * gst/gstvalue.c:
2564         * libs/gst/base/gstbasetransform.h:
2565         Small documentation fixes.
2566
2567 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2568
2569         * gst/gstvalue.c:
2570           Document thread-unsafety of gst_value_register_foo_func()
2571           when used at the same time as gst_value_foo() (#322628).
2572
2573 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2574
2575         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
2576         (gst_push_src_check_get_range):
2577           Push sources don't support pull mode by default.
2578
2579 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2580
2581         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2582         (gst_base_src_init), (gst_base_src_pad_check_get_range),
2583         (gst_base_src_default_check_get_range):
2584         * libs/gst/base/gstbasesrc.h:
2585           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
2586           provide default implementation, and rename
2587           gst_base_src_check_get_range() to
2588           gst_base_src_pad_check_get_range() for clarity.
2589
2590 2006-03-06  Wim Taymans  <wim@fluendo.com>
2591
2592         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2593         Make property overridable.
2594
2595 2006-03-06  Wim Taymans  <wim@fluendo.com>
2596
2597         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2598         (gst_base_sink_init), (gst_base_sink_set_property),
2599         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2600         * libs/gst/base/gstbasesink.h:
2601         API addition: Make max-lateness a property.
2602
2603 2006-03-06  Wim Taymans  <wim@fluendo.com>
2604
2605         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
2606         (gst_base_sink_do_sync), (gst_base_sink_render_object):
2607         Don't ever draw a frame that is >10ms late.
2608
2609 2006-03-06  Michael Smith  <msmith@fluendo.com>
2610
2611         * gst/gstmessage.c: (_gst_message_copy):
2612           When copying a message, set the parent_refcount of the enclosed
2613           structure to point at the copy, not the original message.
2614
2615 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2616
2617         Patch by: Christophe Fergeau
2618
2619         * gst/gstutils.h:
2620           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
2621           usable in c++ code (#333417)
2622
2623 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2624
2625         * gst/gstclock.h:
2626           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2627
2628 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
2629
2630         * libs/gst/base/gstbasetransform.c:
2631         (gst_base_transform_transform_caps):
2632           Make sure caps are writable before passing them to
2633           gst_caps_append().
2634
2635 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2636
2637         * gst/gsterror.h:
2638           Fix some minor docs errors.
2639
2640 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2641
2642           Patch by: Ross Burton <ross at burtonini dot com>
2643
2644         * gst/gsterror.c: (_gst_resource_errors_init):
2645         * gst/gsterror.h:
2646           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
2647
2648 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2649
2650         * gst/gst.c:
2651         Add a check and output a g_warning when GStreamer is built
2652         against GLib 2.6 but running against 2.8 or higher, and vice 
2653         versa. (Closes: #323542)
2654
2655 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2656
2657         * gst/parse/parse.l:
2658           Commit patch for parse_launch syntax from #331255. Removes 
2659           support for quoted strings and mimetypes when writing filtered 
2660           caps. See the bug report for more details - I'm pretty sure this
2661           obscure feature is not in use by _anyone_ anywhere.
2662
2663           With this simple change, the size of the gstreamer.so here 
2664           drops from 2193KB to 1565KB.
2665
2666 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2667
2668         * plugins/elements/gsttypefindelement.h:
2669         * plugins/elements/gsttypefindelement.c:
2670         (gst_type_find_element_src_event), (start_typefinding),
2671         (stop_typefinding), (gst_type_find_element_handle_event),
2672         (gst_type_find_element_chain),
2673         (gst_type_find_element_chain_do_typefinding):
2674           Use gst_type_find_helper_for_buffer() for chain-based
2675           typefinding.
2676
2677 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2678
2679         * plugins/elements/gsttypefindelement.c:
2680         (gst_type_find_element_class_init),
2681         (gst_type_find_element_set_property),
2682         (gst_type_find_element_get_property):
2683           Deprecate "maximum" property (not only was it only taken into
2684           account for typefinding in push-mode anyway, it also was never
2685           actually possible to set it in the first place because the
2686           property was registered with the numeric property ID for the
2687           "minimum" property). Register "maximum" property correctly,
2688           for the sake of future copy'n'pasters. Remove some cruft
2689           from property get/set functions.
2690
2691 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2692
2693         * plugins/elements/gsttypefindelement.c:
2694         (gst_type_find_element_activate):
2695           Use gst_type_find_helper_get_range() here, so we
2696           can honour the "minimum" property and also emit
2697           the signal with the correct probability of the found caps.
2698
2699 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
2700
2701         * docs/libs/gstreamer-libs-sections.txt:
2702         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2703         (helper_find_suggest), (gst_type_find_helper_get_range),
2704         (gst_type_find_helper):
2705         * libs/gst/base/gsttypefindhelper.h:
2706           New API: gst_type_find_helper_get_range() (#333042).
2707
2708 2006-03-02  Michael Smith  <msmith@fluendo.com>
2709
2710         * gst/gstregistryxml.c: (load_feature):
2711           Asserting on a failure to read part of the registry is Not Cool.
2712           Just log a warning and return NULL (which is already handled)
2713
2714 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
2715
2716         * win32/common/libgstbase.def:
2717           added export of gst_type_find_helper_for_buffer
2718         * win32/common/libgstbase.def:
2719           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
2720           gst_ghost_pad_get_target
2721
2722 2006-02-28  Wim Taymans  <wim@fluendo.com>
2723
2724         * docs/design/draft-klass.txt:
2725         We use Filter now.
2726         Added Connector to mark elements that are only used to
2727         allow pipeline connections.
2728         Moved Debug to extra feature since most of them are 
2729         functionally something else.
2730
2731 2006-02-28  Wim Taymans  <wim@fluendo.com>
2732
2733         * docs/design/draft-klass.txt:
2734         Some updates and clarifications.
2735
2736 2006-02-28  Wim Taymans  <wim@fluendo.com>
2737
2738         * docs/design/draft-klass.txt:
2739         Proposal for klass field values.
2740
2741         * docs/design/part-streams.txt:
2742         Start of a doc describing stream anatomy.
2743
2744 2006-02-28  Wim Taymans  <wim@fluendo.com>
2745
2746         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
2747         Help the compiler a bit with type registration.
2748         Use existing forward cod path instead of duplicating it when 
2749         handling a message.
2750         
2751         * gst/gstbus.c: (gst_bus_get_type):
2752         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
2753         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
2754         * gst/gstclock.c: (gst_clock_get_type):
2755         * gst/gstelement.c: (gst_element_get_type),
2756         * gst/gstelementfactory.c: (gst_element_factory_get_type):
2757         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2758         * gst/gstminiobject.c: (gst_mini_object_get_type):
2759         * gst/gstpad.c: (gst_pad_get_type):
2760         * gst/gstsegment.c: (gst_segment_get_type):
2761         * gst/gststructure.c: (gst_structure_get_type):
2762         * gst/gstsystemclock.c: (gst_system_clock_get_type):
2763         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
2764         * gst/gstvalue.c:
2765         Help compiler with type registration.
2766
2767         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2768         Small doc update.
2769
2770 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2771
2772         * plugins/elements/gsttypefindelement.c:
2773         (gst_type_find_element_handle_event):
2774           When we get an EOS event and have not found a type yet
2775           (most likely because we had not yet accumulated
2776           TYPE_FIND_MIN_SIZE of data yet), try to determine the
2777           type given the data we have so far. Fixes typefinding
2778           for very short streams again, most notably quicktime
2779           redirections as used on Apple's trailer site (#331701).
2780
2781 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2782
2783         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
2784         (gst_type_find_helper):
2785           Try typefinding factories with the highest rank first.
2786
2787 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2788
2789         * docs/libs/gstreamer-libs-docs.sgml:
2790         * docs/libs/gstreamer-libs-sections.txt:
2791         * libs/gst/base/gsttypefindhelper.c:
2792           Add section for typefind helper and add documentation
2793           for the old and the new function.
2794
2795 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2796
2797         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
2798         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
2799         (gst_type_find_helper_for_buffer):
2800         * libs/gst/base/gsttypefindhelper.h:
2801           New API: gst_type_find_helper_for_buffer() (#332723).
2802           
2803 2006-02-27  Michael Smith  <msmith@fluendo.com>
2804
2805         Patch by: Loïc Minier
2806
2807         * configure.ac:
2808         * docs/Makefile.am:
2809         * docs/slides/Makefile.am:
2810           prevent CVS directories getting disted.
2811
2812 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2813
2814         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
2815           Use the REFCOUNTING category for caps refcounting.
2816           
2817 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2818
2819         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
2820           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
2821
2822 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
2823
2824         * plugins/elements/gsttypefindelement.c:
2825         (gst_type_find_element_activate):
2826           Use gst_pad_check_pull_range() before _activate_pull()
2827           to avoid unnecessary open/close (see #331690).
2828
2829 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2830
2831         * gst/gstutils.c:
2832           Docs enhancement: make it crystal clear what the
2833           gst_pad_add_*_probe() callbacks should look like.
2834
2835 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
2836
2837         * libs/gst/base/gstbasesrc.c:
2838           Document how applications can stop recording from
2839           live sources (see #330996).
2840
2841 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2842
2843         * tests/check/Makefile.am:
2844         * tests/check/libs/basesrc.c: (eos_event_counter),
2845         (basesrc_eos_events_pull), (basesrc_eos_events_push),
2846         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
2847         (gst_basesrc_suite), (main):
2848           ... and add some tests for the base source EOS stuff.
2849
2850 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2851
2852         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
2853           Test case originally showed the problem fixed below,
2854           but was then amended. Add checks back at the place
2855           where they used to be.
2856
2857 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2858
2859         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2860         (gst_base_src_init), (gst_base_src_loop),
2861         (gst_base_src_activate_push), (gst_base_src_activate_pull),
2862         (gst_base_src_change_state):
2863         * libs/gst/base/gstbasesrc.h:
2864           Don't unconditionally send EOS when going from PAUSED to
2865           READY state, esp. make sure we don't send two EOS events
2866           in some cases (e.g. one when reaching EOS and one when
2867           going from PAUSED to READY). Also, we don't want to send
2868           EOS events when operating in pull mode. However, we do
2869           want to send an EOS event when shutting down a live
2870           source explicitly, for example (fixes #330996).
2871           
2872 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
2873
2874         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
2875           Update src->read_position after a seek when not using mmap.
2876           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
2877
2878 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
2879
2880         * gst/Makefile.am:
2881         * gst/gstparse.h:
2882         * gst/gstutils.c:
2883         * gst/gstutils.h:
2884         Make things work with --disable-parse as they do with 
2885         --disable-load-save - the symbols involved disappear, but the
2886         header is still installed and GST_DISABLE_PARSE is included via
2887         gstconfig.h
2888
2889 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2890
2891         * libs/gst/base/gstbasetransform.c:
2892         (gst_base_transform_change_state): Fix a stupid bug. I was 
2893         sure I compiled that.
2894
2895 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2896
2897         * gst/gstpad.c: (gst_pad_set_blocked_async):
2898         * gst/gstutils.c: (gst_pad_add_data_probe),
2899         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
2900         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
2901         (gst_pad_remove_buffer_probe): Make those function act on the
2902         ghostpad target when it's a ghostpad. (Closes #331727)
2903
2904 2006-02-20  Julien MOUTTE  <julien@moutte.net>
2905
2906         * libs/gst/base/gstbasetransform.c:
2907         (gst_base_transform_change_state): Make basetransform reusable.
2908         (Closes #331898)
2909
2910 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
2911
2912         * docs/random/release:
2913         Move the current documentation of how to do a release to the top
2914         of the file.
2915
2916         * gst/gstbin.c: (gst_bin_class_init),
2917         (gst_bin_handle_message_func):
2918         Allow multiple state-recalculation threads. (Closes #328873)
2919
2920 2006-02-19  Julien MOUTTE  <julien@moutte.net>
2921
2922         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
2923         * gst/gstpad.c: (gst_pad_set_event_function),
2924         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2925         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
2926         2 strings. You can't use the STR_NULL macro on that.
2927
2928 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
2929
2930         * gst/gstpad.c: (gst_pad_set_event_function),
2931         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
2932         (gst_pad_set_getcaps_function)
2933         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
2934           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
2935           So now, we can use --gst-debug-level=5 on Windows
2936         * win32/common/libgstcontroller.def:
2937           Added export of gst_controller_init
2938         * win32/vs6/libgstcontroller.dsp:
2939           Fixed Release post build configuration
2940
2941 2006-02-17  Wim Taymans  <wim@fluendo.com>
2942
2943         * tests/check/gst/gstquery.c: (GST_START_TEST):
2944         Added another check.
2945
2946 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
2947
2948         * plugins/elements/gsttypefindelement.c: (find_peek):
2949           We can do peeks at non-zero offsets, as long as they
2950           fall within the buffer we have.
2951
2952 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
2953
2954         * tests/check/Makefile.am:
2955         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
2956         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
2957         (parse_suite), (main):
2958           Add testsuite for parse launch syntax
2959
2960 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
2961
2962         * plugins/elements/gsttypefindelement.c:
2963         (gst_type_find_element_chain):
2964           When typefinding is unsuccessful in the chain function, don't
2965           error out immediately. Only error out with NO_CAPS_FOUND if
2966           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
2967           otherwise simply wait for more data so we can try typefinding
2968           again with more data later. Also, don't attempt to typefind
2969           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
2970           this should improve typefinding from network sources where the
2971           size of the first buffer can be somewhat random.
2972
2973 2006-02-14  Wim Taymans  <wim@fluendo.com>
2974
2975         * docs/gst/gstreamer-sections.txt:
2976         * gst/gstpadtemplate.c:
2977         * gst/gstpadtemplate.h:
2978         Fix padtemplate docs, fixes #328805.
2979
2980 2006-02-14  Wim Taymans  <wim@fluendo.com>
2981
2982         * tools/gst-launch.c: (main):
2983         NO_PREROLL is not an ERROR so don't send confusing messages
2984         to the user.
2985
2986 2006-02-14  Wim Taymans  <wim@fluendo.com>
2987
2988         Patch by: Torsten Schoenfeld
2989
2990         * gst/gstregistry.c: (gst_registry_get_default),
2991         (_gst_registry_cleanup):
2992         Protect default registry with lock and ref/sink it.
2993         Fixes #324818
2994
2995 2006-02-14  Wim Taymans  <wim@fluendo.com>
2996
2997         * gst/gstbuffer.c:
2998         * gst/gstquery.c: (gst_query_list_add_format),
2999         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3000         (gst_query_parse_formats_nth):
3001         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3002         Docs fixes.
3003
3004 2006-02-14  Wim Taymans  <wim@fluendo.com>
3005
3006         * docs/gst/gstreamer-sections.txt:
3007         Reworked query docs.
3008
3009         * gst/gstquery.c: (gst_query_new_formats),
3010         (gst_query_list_add_format), (gst_query_set_formats),
3011         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3012         (gst_query_parse_formats_nth):
3013         * gst/gstquery.h:
3014         Flesh out formats query, added some new methods.
3015         Fix part of #324398.
3016
3017         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3018         Added query creation tests.
3019
3020 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
3021
3022         * gst/gstpad.c: (fixate_value):
3023         Add a default fixation for fraction lists.
3024
3025 2006-02-13  Wim Taymans  <wim@fluendo.com>
3026
3027         * gst/gsttask.c: (gst_task_init), (gst_task_func),
3028         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3029         (gst_task_join):
3030         * gst/gsttask.h:
3031         Detect and warn for obvious deadlocks. fixes #320340
3032         Fix error case where lock was not released.
3033
3034         * tests/check/Makefile.am:
3035         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3036         (task_func), (gst_element_suite), (main):
3037         Add task check.
3038
3039 2006-02-13  Wim Taymans  <wim@fluendo.com>
3040
3041         * docs/gst/gstreamer-sections.txt:
3042         * gst/gstbus.c:
3043         Add new functions to docs.
3044
3045 2006-02-13  Wim Taymans  <wim@fluendo.com>
3046
3047         * docs/design/part-TODO.txt:
3048         Updated TODO list, basesrc supports seeking to non-bytes
3049         formats.
3050
3051         * docs/design/part-element-sink.txt:
3052         Update docs.
3053
3054         * gst/gstbin.c: (bin_replace_message),
3055         (gst_bin_handle_message_func):
3056         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3057         * gst/gstevent.c: (gst_event_finalize):
3058         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3059         (gst_pad_send_event):
3060         Use shiny new _TYPE_NAME macros.
3061
3062         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3063         Move debug statement up.
3064
3065         * gst/gstelement.c: (gst_element_set_locked_state):
3066         Add some debugging.
3067
3068 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
3069
3070         * docs/gst/gstreamer-sections.txt:
3071         * gst/gstmessage.h:
3072         * gst/gstquery.h:
3073           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3074           macros (#330906). Also, document the already existing
3075           GST_QUERY_TYPE macro.
3076
3077 2006-02-13  Wim Taymans  <wim@fluendo.com>
3078
3079         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3080         (event_probe), (GST_START_TEST):
3081         Only events up to the pipeline EOS are counted, there are
3082         some more when going to NULL currently which we don't care
3083         about for now.
3084
3085 2006-02-13  Wim Taymans  <wim@fluendo.com>
3086
3087         * gst/gstpad.c: (gst_pad_send_event):
3088         Correctly check flushing and emit probes. fixes #330125
3089
3090 2006-02-10  Andy Wingo  <wingo@pobox.com>
3091
3092         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3093         structure.
3094         (gst_bus_init): Cache the location of the private data in the
3095         instance structure.
3096         (gst_bus_enable_sync_message_emission) 
3097         (gst_bus_disable_sync_message_emission): Implement new public
3098         functions.
3099         (gst_bus_post): Emit the sync-message signal if the user asked for
3100         it. Fixes #330684.
3101
3102         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3103         location of the bus-private structure.
3104         (gst_bus_enable_sync_message_emission)
3105         (gst_bus_disable_sync_message_emission): API addition
3106
3107 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3108
3109         Patch by: Vincent Torri
3110
3111         * docs/pwg/building-boiler.xml:
3112         PWG patch from #326800
3113
3114 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3115
3116         * configure.ac:
3117         * docs/Makefile.am:
3118         * docs/design/Makefile.am:
3119           Dist design docs.
3120
3121 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3122
3123         * configure.ac:
3124           back to CVS
3125
3126 === release 0.10.3 ===
3127
3128 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3129
3130         * configure.ac:
3131           releasing 0.10.3, "Like a virgin"
3132
3133 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3134
3135         * configure.ac:
3136           2nd prerelease of 0.10.3
3137           Bump libtool versioning.
3138
3139 2006-02-07  Andy Wingo  <wingo@pobox.com>
3140
3141         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3142         update last_stop if we're in TIME format and the timestamp is
3143         valid.
3144
3145         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
3146         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
3147         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3148         If we get a new newsegment with a different format, adapt
3149         accordingly.
3150
3151         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3152         of 0. Not a problem, really.
3153
3154         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3155         warn if sync=true.
3156
3157 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
3158
3159         * configure.ac:
3160           Prelease of 0.10.3
3161
3162 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
3163
3164         * win32/vs7:
3165           project files updated to the default vs7 configuration
3166         * win32/common/libgstbase.def:
3167         * win32/common/libgstreamer.def:
3168           added new symbols,
3169           removed empty lines,
3170           sorted all exported symbols alphabetically
3171         * win32/common/dirent.c:
3172         * win32/common/dirent.h:
3173         * win32/common/gchar.h:
3174           use windows line end.
3175           
3176 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3177
3178         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3179           Send EOS event when stopping.
3180
3181 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3182
3183         * docs/README:
3184           Tell folks what to do if the plugin-foobar.xml file
3185           hasn't been generated for a newly-added plugin.
3186
3187 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3188
3189         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3190         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3191         (gst_collect_pads_start), (gst_collect_pads_stop),
3192         (gst_collect_pads_event): Collectpads now holds a reference
3193         to the GstPad that was added. Indeed we don't want to look
3194         at pads that might just go away with no warning...
3195
3196 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3197
3198         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3199         (gst_collect_pads_start), (gst_collect_pads_stop),
3200         (gst_collect_pads_event), (gst_collect_pads_chain):
3201         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3202         Mark Nauwelaerts's patch on bug #328491.
3203
3204 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3205
3206         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3207         (gst_utils_suite):
3208           Add some simple tests for gst_parse_bin_from_description() and
3209           gst_bin_find_unconnected_pad() (#329069).
3210
3211 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3212
3213         * tools/gst-launch.c: (event_loop), (main):
3214           Catch errors during preroll (#320084).
3215
3216 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
3217
3218         * plugins/elements/gsttypefindelement.c:
3219         (gst_type_find_element_activate):
3220           Post TYPE_NOT_FOUND error message when typefinding
3221           is unsuccessful in the activate function as well.
3222
3223 2006-02-02  Wim Taymans  <wim@fluendo.com>
3224
3225         * docs/design/part-element-sink.txt:
3226         Updated doc.
3227
3228 2006-02-02  Wim Taymans  <wim@fluendo.com>
3229
3230         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3231         (gst_base_sink_render_object),
3232         (gst_base_sink_queue_object_unlocked):
3233         Only keep track of prerollable items when we are 
3234         prerolling.
3235         Before rendering after preroll, always check if we
3236         have queued items.
3237         Added some more debugging.
3238
3239 2006-02-02  Wim Taymans  <wim@fluendo.com>
3240
3241         * gst/gstelement.c: (gst_element_continue_state),
3242         (gst_element_set_state_func), (gst_element_change_state):
3243         Fixed #326576, been running this for quite some time with
3244         no regressions at all.
3245
3246 2006-02-02  Wim Taymans  <wim@fluendo.com>
3247
3248         * common/gst.supp:
3249         Added more suppressions
3250
3251 2006-02-02  Wim Taymans  <wim@fluendo.com>
3252
3253         * docs/design/part-element-sink.txt:
3254         Updated document.
3255
3256         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3257         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3258         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3259         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3260         (gst_base_sink_do_sync), (gst_base_sink_render_object),
3261         (gst_base_sink_preroll_object),
3262         (gst_base_sink_queue_object_unlocked),
3263         (gst_base_sink_queue_object), (gst_base_sink_event),
3264         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3265         (gst_base_sink_loop), (gst_base_sink_activate_pull),
3266         (gst_base_sink_get_position), (gst_base_sink_change_state):
3267         * libs/gst/base/gstbasesink.h:
3268         Totally refactored matching the design doc.
3269         Use two segments, one to clip incomming buffers and another to
3270         perform sync.
3271         Handle queueing correctly, bypass the queue when playing.
3272         Make EOS cancelable.
3273         Handle errors correctly when operating in pull based mode.
3274
3275         * tests/check/elements/fakesink.c: (GST_START_TEST),
3276         (fakesink_suite):
3277         Added new check for sinks.
3278
3279 2006-02-02  Wim Taymans  <wim@fluendo.com>
3280
3281         * gst/gstsegment.c: (gst_segment_clip):
3282         No reason to refuse to clip when start == -1
3283
3284 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
3285
3286         * docs/README:
3287         * docs/manual/intro-basics.xml:
3288         * docs/manual/intro-preface.xml:
3289         * docs/manual/manual.xml:
3290         * docs/pwg/advanced-dparams.xml:
3291         * docs/pwg/intro-basics.xml:
3292         * docs/pwg/intro-preface.xml:
3293         * docs/pwg/pwg.xml:
3294           describe dparams (controller) for plugins
3295           unify docs a little more
3296
3297 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
3298
3299         * docs/gst/gstreamer-sections.txt:
3300         * gst/gstutils.c: (element_find_unconnected_pad),
3301         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3302         * gst/gstutils.h:
3303           Add new API: gst_parse_bin_from_description() and
3304           gst_bin_find_unconnected_pad() (#329069).
3305
3306 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
3307
3308         * docs/manual/README:
3309           uncover a nasty detail of the docs build
3310
3311 2006-01-31  Wim Taymans  <wim@fluendo.com>
3312
3313         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3314         Don't cache duration messages if we're not going to use or
3315         free them.
3316
3317 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
3318
3319         * docs/manual/advanced-dparams.xml:
3320         * docs/pwg/advanced-dparams.xml:
3321           more dparam docs
3322         * gst/gstindex.c:
3323           fix docs
3324         * libs/gst/controller/lib.c: (gst_controller_init):
3325           init just once
3326
3327 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3328
3329         * gst/gstelement.c: (gst_element_message_full):
3330           also show file/line/func if no additional debug was given
3331
3332 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
3333         
3334         * win32/vs7/grammar.vcproj:
3335           activate copy of autogenerated files for Release mode
3336
3337 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3338         
3339         * win32/common/libgstreamer.def:
3340           export gst_value_compare
3341
3342 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3343
3344         * plugins/elements/Makefile.am:
3345         * plugins/elements/gstelements.c:
3346         * plugins/elements/gstfdsink.c: (_do_init),
3347         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3348         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3349         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3350         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3351         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3352         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3353         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3354         * plugins/elements/gstfdsink.h:
3355         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3356
3357 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3358
3359         * docs/manual/advanced-dparams.xml:
3360           describe controller
3361         * docs/manual/advanced-position.xml:
3362         * docs/manual/basics-init.xml:
3363         * docs/manual/manual.xml:
3364         * docs/manual/titlepage.xml:
3365         * docs/pwg/pwg.xml:
3366         * docs/pwg/titlepage.xml:
3367           cleanup xml (more to come)
3368         * libs/gst/controller/gstcontroller.c:
3369           fix typo
3370
3371 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3372         
3373         * win32/vs6/grammar.dsp:
3374           add autogen of gstmarshal.c,h for Release mode
3375                 
3376 2006-01-30  Wim Taymans  <wim@fluendo.com>
3377
3378         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3379         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3380         (gst_base_sink_handle_object), (gst_base_sink_event),
3381         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3382         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3383         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3384         (gst_base_sink_deactivate), (gst_base_sink_activate),
3385         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3386         (gst_base_sink_query), (gst_base_sink_change_state):
3387         Basesink cleanups, remove some old code.
3388         Handle the case where a subclass can preroll in the render
3389         method (mostly audiosinks).
3390         Handle more events.
3391         Remove some locks around variables that are now protected
3392         with the PREROLL_LOCK (clock_id, flushing, ..).
3393         Optimize position query some more, do correct locking.
3394         Remove old code to push queue in state change, this is not
3395         needed anymore since preroll blocks on all prerollable items 
3396         now.
3397         Almost implemented as described in design doc.
3398
3399 2006-01-30  Wim Taymans  <wim@fluendo.com>
3400
3401         * tests/check/gst/gstbin.c: (GST_START_TEST):
3402         Wait for refcount to settle down before checking.
3403
3404 2006-01-30  Wim Taymans  <wim@fluendo.com>
3405
3406         * docs/design/part-element-sink.txt:
3407         Pseudo code overview of desired sink behaviour regarding
3408         preroll.
3409
3410 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3411         * win32/vs6/grammar.dsp:
3412           fix some bugs in Release mode for autogenerated files
3413                 
3414 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3415         * win32/common/libgstbase.def:
3416         * win32/common/libgstreamer.def:
3417           export some new symbols: gst_base_src_set_format,
3418           gst_iterator_next, gst_structure_set_valist
3419
3420 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3421
3422         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3423         Set pad functions unconditionally. Fixes #329105.
3424
3425 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3426         * win32/vs8:
3427           add vs8 project files created by Sergey Scobich
3428
3429 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3430
3431         * gst/gstutils.c: (gst_element_unlink_pads):
3432         Don't leak pad references.
3433
3434         * tests/check/elements/fakesink.c: (GST_START_TEST):
3435         * tests/check/generic/sinks.c: (GST_START_TEST):
3436         * tests/check/generic/states.c: (GST_START_TEST):
3437         * tests/check/gst/gstbin.c: (GST_START_TEST):
3438         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3439         * tests/check/gst/gstelement.c: (GST_START_TEST):
3440         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3441         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3442         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3443         Fix a bunch of leaks. Make generic/sinks.c
3444         use a bit less cpu by slowing the buffer rate
3445         between fakesrc and fakesink.
3446         
3447 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3448         * gst/gstcaps.c:
3449         * gst/gstelement.c: (gst_element_send_event):
3450         * gst/gstevent.c:
3451         * gst/gstinfo.c:
3452         * gst/gstiterator.c:
3453         * gst/gstiterator.h:
3454         * gst/gstpad.c: (gst_pad_send_event):
3455         * gst/gststructure.c:
3456         * gst/gsturi.c:
3457         * gst/gstutils.c:
3458         * gst/gstvalue.c:
3459         * libs/gst/base/gstadapter.c:
3460           doc fixes, to link to function, just write gst_cool_function(), don't
3461           prefix with '#'
3462
3463 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3464
3465         * plugins/elements/gsttee.c: (gst_tee_do_push),
3466         (gst_tee_handle_buffer):
3467         Always prefer an actual return value from a src
3468         pad in place of NOT_LINKED. This means we return
3469         WRONG_STATE when all src pads are WRONG_STATE
3470         instead of NOT_LINKED.
3471
3472         Lock when replacing the last message to prevent
3473         racing with the get_property method.
3474
3475         Add debug output
3476
3477 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3478
3479         * tests/check/Makefile.am:
3480         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3481         (main):
3482         Add a very simple check that should have caught the memleak I fixed
3483         last night (if not for the slice allocator hiding it)
3484
3485 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3486
3487         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3488         (gst_bin_remove_func), (gst_bin_handle_message_func),
3489         (bin_query_duration_fold), (bin_query_generic_fold):
3490         Clean up references to the clock provider when disposed or when
3491         handling a clock-lost message from it.
3492
3493         Unref sinks when performing a query via gst_iterator_fold, as the
3494         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3495
3496         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3497         (gst_clock_set_master):
3498         Drop our reference to the master clock, if any, when we are disposed.
3499
3500         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3501         Chain up in dispose. 
3502
3503 2006-01-26  Wim Taymans  <wim@fluendo.com>
3504
3505         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3506         Add some debugging.
3507
3508 2006-01-26  Julien MOUTTE  <julien@moutte.net>
3509
3510         * plugins/elements/gsttee.c: (gst_tee_do_push),
3511         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3512         handles pad being NOT_LINKED or in WRONG_STATE.
3513
3514 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3515
3516         * win32/MANIFEST:
3517           more updating
3518
3519 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3520
3521         * win32/MANIFEST:
3522           remove obsolete entry
3523
3524 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3525
3526         * docs/gst/gstreamer-sections.txt:
3527         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3528         (gst_bin_iterate_sources), (gst_bin_send_event):
3529         * gst/gstbin.h:
3530         * gst/gstelement.c: (gst_element_send_event):
3531         * gst/gstevent.c:
3532         * gst/gstpad.c: (gst_pad_send_event):
3533           added code for downstream events, reviewed docs in gstevent.c
3534
3535 2006-01-25  Julien MOUTTE  <julien@moutte.net>
3536
3537         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3538         We only query position using the clock in the playing state.
3539         Query peer in the other cases.
3540         * win32/common/config.h: Updates.
3541
3542 2006-01-24  Wim Taymans  <wim@fluendo.com>
3543
3544         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3545         A clock entry that is scheduled for the exact time of the
3546         clock is still in time.
3547
3548         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3549         (gst_base_sink_do_sync):
3550         Add some more debug info.
3551
3552 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3553
3554         * win32/vs7:
3555           Add new vs7 project files and solution.
3556
3557 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3558
3559         * win32/vs7:
3560           all files removed as they were out-dated.
3561
3562 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3563
3564         * docs/random/release:
3565           update notes
3566         * gst/gstbin.c: (gst_bin_init):
3567         * gst/gstbus.c: (gst_bus_new):
3568         * gst/gstbus.h:
3569         * gst/gstpipeline.c: (gst_pipeline_init):
3570           use gst_bus_new(), improve logging, fix docs
3571         * win32/common/config.h:
3572           update for cvs build
3573
3574 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3575
3576         * autogen.sh:
3577           up required version of automake to 1.7
3578
3579 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
3580
3581         * win32/common/libgstreamer.def:
3582           export gst_buffer_is_metadata_writable
3583
3584 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3585
3586         * docs/gst/gstreamer-sections.txt:
3587         * gst/gstevent.h:
3588           Add gst_event_replace() (#327001)
3589
3590 2006-01-20  Wim Taymans  <wim@fluendo.com>
3591
3592         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3593         Make it actually compile too..
3594
3595 2006-01-20  Wim Taymans  <wim@fluendo.com>
3596
3597         * gst/gstcaps.c:
3598         Clarify behaviour of _is_equal() when passing NULL parameters.
3599
3600         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3601         (gst_pad_set_caps):
3602         Cleanups. Don't unref NULL caps.
3603         When setting the same caps, protect caps of the pad with
3604         proper lock.
3605         Use full functionality of _is_equal() when comparing caps.
3606
3607 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3608
3609         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3610         Don't loop infinitely if there are no buffers to present. Partially
3611         fixes #327197, but collectpads is just broken for reusing elements
3612         to do multiple encodes atm.
3613
3614 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3615
3616         * tools/gst-inspect.c: (print_element_features):
3617         * tools/gst-xmlinspect.c: (main):
3618         URL_HANDLER is not a plugin feature we can search for in
3619         the registry.
3620
3621 2006-01-19  Edward Hervey  <edward@fluendo.com>
3622
3623         * gst/gstelement.c: (gst_element_pads_activate): 
3624         When activating, do src pads first, then sink pads.
3625         When de-activating, do sink pads first, then src pads.
3626
3627 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3628
3629         * docs/gst/gstreamer-sections.txt:
3630         Add gst_index_add_associationv to the docs
3631
3632 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3633
3634         * gst/gstevent.c:
3635           Fix docs typo
3636
3637         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
3638         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
3639           Do some refactoring. Doesn't actually change functionality,
3640           but makes landing the DRAIN event easier later.
3641
3642 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
3643
3644         * docs/pwg/advanced-scheduling.xml:
3645           Update from 0.9.x to 0.10 API and make example a bit
3646           clearer.
3647
3648 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3649
3650         * docs/gst/gstreamer-sections.txt:
3651         Add gst_buffer_(is|make)_metadata_writable methods.
3652
3653 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3654
3655         * docs/design/part-sparsestreams.txt:
3656         Update sparse streams doc, hopefully for greater clarity
3657
3658 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
3659
3660         * docs/design/part-events.txt:
3661         Remove mention of FILLER events.
3662         Add DRAIN event.
3663
3664         * docs/design/part-sparsestreams.txt:
3665         Write some things about using NEWSEGMENT to keep sparse streams
3666         flowing.
3667
3668 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3669
3670         * gst/gstbin.c: (gst_bin_dispose):
3671           Guard gst_object_unref call against a NULL object (dispose
3672           can theoretically be called multiple times).
3673           
3674 2006-01-18  Wim Taymans  <wim@fluendo.com>
3675
3676         * gst/gstbin.c: (gst_bin_element_set_state):
3677         * gst/gstclock.c: (gst_clock_id_wait):
3678         Added some more debug info.
3679
3680         * libs/gst/base/gstadapter.c:
3681         Added more docs.
3682
3683         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3684         (gst_base_sink_do_sync), (gst_base_sink_chain):
3685         Added some comments.
3686
3687 2006-01-18  Wim Taymans  <wim@fluendo.com>
3688
3689         * tests/check/Makefile.am:
3690         * tests/check/elements/fakesink.c: (chain_async_buffer),
3691         (chain_async), (chain_async_return), (GST_START_TEST),
3692         (fakesink_suite), (main):
3693         Added fakesink test that checks prerolling and clipping
3694         behaviour.
3695
3696         * tests/check/gst/gstutils.c: (GST_START_TEST):
3697         Make check run faster so that buildbots don't timeout.
3698
3699 2006-01-18  Wim Taymans  <wim@fluendo.com>
3700
3701         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3702         (gst_base_sink_do_sync):
3703         Some cleanups.
3704         When the sink finishes blocking on the preroll buffer, it can
3705         immediatly render it instead of rendering when the next buffer
3706         arrives.
3707
3708 2006-01-18  Wim Taymans  <wim@fluendo.com>
3709
3710         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
3711         (gst_base_sink_get_property), (gst_base_sink_do_sync),
3712         (gst_base_sink_chain):
3713         Small cleanups.
3714         GST_ELEMENT_CLOCK and sync are protected with LOCK.
3715         Don't store _last_stop if the buffer is dropped.
3716
3717 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3718
3719         * plugins/elements/gsttypefindelement.c:
3720         (gst_type_find_element_class_init):
3721           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
3722           object method handler that sets the caps on the pad and we want
3723           that to happen before we emit the signal (fixes e.g. feeding a
3724           plain text file to decodebin).
3725
3726 2006-01-18  Christian Schaller  <Christian@fluendo.com>
3727
3728         * gst/gstplugin.c: Add MPL and Proprietary as license options
3729
3730 2006-01-18  Andy Wingo  <wingo@pobox.com>
3731
3732         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
3733         symbol was exported before, it appears this was just an oversight.
3734         Fixes #168703.
3735         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
3736
3737         * gst/gstindex.c (gst_index_add_associationv): Changed int in
3738         prototype to gint. OK since this prototype was not in the header.
3739
3740 2006-01-17  Andy Wingo  <wingo@pobox.com>
3741
3742         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
3743         registry while we remove plugins.
3744
3745         * tools/gst-inspect.c (print_element_info): Don't unref the
3746         factory arg, that should be the responsibility of whatever code
3747         received the ref. Fixes a double-free when called from
3748         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
3749         (main): Unref the factory if we have one.
3750         (print_element_list): No change -- relies on the
3751         plugin_feature_list_free to free the list of features.
3752
3753 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
3754
3755         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3756         (gst_buffer_make_metadata_writable):
3757         * gst/gstbuffer.h:
3758         * libs/gst/base/gstbasetransform.c:
3759         (gst_base_transform_prepare_output_buf):
3760         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3761         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3762           Replace gst_buffer_(make|is)_metadata_writable patch now
3763           that the release is out.
3764
3765 2006-01-17  Andy Wingo  <wingo@pobox.com>
3766
3767         * gst/gstregistry.c: Reflow design comment. Update so as to speak
3768         in the present tense without reference to versions.
3769
3770         * gst/gstregistry.c (gst_registry_add_plugin)
3771         (gst_registry_remove_plugin, gst_registry_remove_feature)
3772         (gst_registry_find_feature, gst_registry_get_feature_list)
3773         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
3774         (gst_registry_lookup, gst_registry_scan_path)
3775         (_gst_registry_remove_cache_plugins)
3776         (gst_registry_get_feature_list_by_plugin): Add argument
3777         validation.
3778
3779 === release 0.10.2 ===
3780
3781 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
3782
3783         * configure.ac:
3784           releasing 0.10.2, "If man is five"
3785
3786 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3787
3788         * gst/gstbuffer.c:
3789         * gst/gstbuffer.h:
3790         * libs/gst/base/gstbasetransform.c:
3791         (gst_base_transform_prepare_output_buf):
3792         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3793         * tests/check/gst/gstbuffer.c: (gst_test_suite):
3794           Back out patch until after the release.
3795
3796 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3797
3798         * gst/gstminiobject.c:
3799           Spelling fix in docs.
3800         * ChangeLog - remove conflict indicator
3801
3802 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3803
3804         Reviewed By: Andy Wingo
3805
3806         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3807         (gst_buffer_make_metadata_writable):
3808         * gst/gstbuffer.h:
3809           Add gst_buffer_(is|make)_metadata_writable as analogues of
3810           gst_buffer_(is|make)_writable.
3811
3812         * libs/gst/base/gstbasetransform.c:
3813         (gst_base_transform_prepare_output_buf):
3814         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3815           Use name gst_buffer_(is|make)_metadata_writable functions.
3816
3817         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3818           Test gst_buffer_(is|make)_metadata_writable
3819         
3820           (Closes: #324162)
3821
3822 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3823
3824         * docs/manual/Makefile.am:
3825           don't do parallel make
3826         * configure.ac:
3827           AC_SUBST HOST_CPU
3828         * win32/common/config.h.in:
3829           add generations for HOST_CPU and GST_MAJORMINOR
3830         * win32/common/config.h:
3831           commit generated result
3832
3833 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
3834
3835         * docs/manual/appendix-integration.xml:
3836           Update GNOME integration section to use gst_init_get_option_group()
3837           instead of the old popt stuff (#322911). Also, GNOME applications
3838           should  now use gconf*sink and gconf*src instead of the old gconf
3839           helper lib we had.
3840
3841 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
3842
3843
3844         * docs/gst/gstreamer-docs.sgml:
3845         * docs/gst/gstreamer-sections.txt:
3846         * docs/libs/gstreamer-libs-sections.txt:
3847           add new API entries to the docs
3848         * libs/gst/controller/Makefile.am:
3849         * libs/gst/controller/gstcontroller.c:
3850         * libs/gst/controller/gstcontroller.h:
3851         * libs/gst/controller/gstcontrollerprivate.h:
3852         * libs/gst/controller/gsthelper.c:
3853         * libs/gst/controller/gstinterpolation.c:
3854           move private structs to private header
3855         * po/README:
3856           gstreamer-0.7 -> gstreamer-0.10
3857         * tests/check/libs/struct_i386.h:
3858           remove private structs
3859
3860 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3861
3862         * plugins/indexers/Makefile.am:
3863           Fixes as part of #317048
3864
3865 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
3866
3867         * plugins/indexers/Makefile.am:
3868           fix #316086 - compilation when mmap is missing
3869
3870 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
3871
3872         * libs/gst/base/gstbasesink.c:
3873           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
3874           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
3875         * win32/common/config.h:
3876           added some defines GST_MAJORMINOR and HOST_CPU
3877         * win32/common/libgstbase.def:
3878         * win32/common/libgstreamer.def:
3879           added some exported functions.
3880
3881 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3882
3883         * libs/gst/controller/gstcontroller.c:
3884         (gst_controlled_property_set_interpolation_mode),
3885         (gst_controlled_property_new):
3886         * libs/gst/controller/gstcontroller.h:
3887         * libs/gst/controller/gstinterpolation.c:
3888         (interpolate_none_get_string_value_array):
3889           make G_TYPE_STRING controlable
3890
3891 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
3892
3893         * tools/README:
3894         * tools/gst-feedback.1.in:
3895         * tools/gst-inspect.1.in:
3896         * tools/gst-launch.1.in:
3897         * tools/gst-md5sum.1.in:
3898         * tools/gst-typefind.1.in:
3899         * tools/gst-xmlinspect.1.in:
3900         * tools/gst-xmllaunch.1.in:
3901           cleanup man-pages, remove reference to gst-register, document env-vars
3902
3903 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
3904
3905         * gst/gstbuffer.c: (gst_buffer_span):
3906           gst_buffer_span should copy the timestamp of the first buffer
3907           if they were both originally overlapping subbuffers of the 
3908           same parent, using the same logic as the 'slow copy' case.
3909
3910 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
3911
3912         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
3913           Need to awaken ALL the pads when we pop a buffer, otherwise
3914           collectpads only works when there is 2 input streams.
3915
3916 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
3917
3918         * docs/random/ensonic/media-device-daemon.txt:
3919           more ideas (dbus)
3920         * gst/gstbuffer.c:
3921           fix doc example, add clarification
3922         * tools/gst-launch.1.in:
3923           add initial info about GST_PLUGIN_PATH, needs more work
3924
3925 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
3926
3927         * docs/manual/basics-bins.xml:
3928         * docs/manual/basics-elements.xml:
3929         * docs/manual/intro-basics.xml:
3930           Some more minor docs additions and updates.
3931
3932 2006-01-11  Wim Taymans  <wim@fluendo.com>
3933
3934         * docs/manual/basics-bins.xml:
3935         * docs/manual/basics-elements.xml:
3936         Some small fixes as pointed out by Ser-ver on IRC.
3937
3938 2006-01-10  Edward Hervey  <edward@fluendo.com>
3939
3940         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3941         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
3942         the single-segment mode.
3943
3944 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
3945
3946         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
3947
3948         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
3949         (gst_base_src_perform_seek), (gst_base_src_send_event),
3950         (gst_base_src_set_property), (gst_base_src_get_property),
3951         (gst_base_src_loop), (gst_base_src_start),
3952         (gst_base_src_activate_push):
3953         * libs/gst/base/gstbasesrc.h:
3954           Name (private) union; makes Sun's Forte compiler happy (#324900).
3955
3956 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
3957
3958         * README:
3959           gst-register is gone.
3960
3961 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
3962
3963         * gst/gstvalue.c: (_gst_value_initialize):
3964           make the G_TYPE_DATE instantiation work if debug is disabled
3965
3966 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
3967
3968         * gst/gstmessage.c: (gst_message_parse_tag),
3969         (gst_message_parse_error), (gst_message_parse_warning):
3970           Don't crash when return location for error/warning debug
3971           string is NULL; add fact that return locations can be
3972           NULL to docs where appropriate.
3973
3974 2006-01-05  Wim Taymans  <wim@fluendo.com>
3975
3976         * gst/gstplugin.c: (gst_plugin_load_file):
3977         Replace strdup by g_strdup.
3978
3979 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3980
3981         * docs/pwg/advanced-types.xml:
3982           fix doc borkage
3983
3984 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
3985
3986         submitted by: Abel Cheung
3987
3988         * po/LINGUAS:
3989         * po/zh_TW.po:
3990           Added Chinese (traditional) translation
3991
3992 2006-01-04  Wim Taymans  <wim@fluendo.com>
3993
3994         * docs/manual/basics-pads.xml:
3995         * docs/plugins/Makefile.am:
3996         * docs/plugins/gstreamer-plugins-docs.sgml:
3997         * docs/plugins/gstreamer-plugins-sections.txt:
3998         * docs/pwg/advanced-clock.xml:
3999         * docs/pwg/advanced-scheduling.xml:
4000         * docs/pwg/advanced-types.xml:
4001         * plugins/elements/gstfdsink.c:
4002         * plugins/elements/gstfdsrc.c:
4003         * plugins/elements/gstfdsrc.h:
4004         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4005         * plugins/elements/gstidentity.h:
4006         * plugins/elements/gstqueue.h:
4007         * plugins/elements/gsttee.c:
4008         * plugins/elements/gsttee.h:
4009         * plugins/elements/gsttypefindelement.c:
4010         (gst_type_find_element_class_init):
4011         * plugins/elements/gsttypefindelement.h:
4012         Small updates to various docs.
4013         Added core plugins to docs.
4014
4015 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4016
4017         * common/gst.supp:
4018           add a suppression for liboil's uninitialized variable
4019
4020 2006-01-02  James Livingston  <jrl at ids dot org dot au>
4021
4022         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4023
4024         * gst/gstutils.h:
4025           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4026           macro, so that gcc doesn't complain if the -Wmissing-prototypes
4027           compiler switch is being used (#325429).
4028
4029 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
4030
4031         * gst/gstbin.c: (gst_bin_query):
4032           Disable duration query caching in bins until it gets
4033           fixed (see #324807).
4034
4035 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4036
4037         * tools/gst-inspect.c: (print_element_properties_info):
4038           Handle properties of POINTER and BOXED type.
4039
4040 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4041
4042         * gst/gst.c: (init_post):
4043           Init tags stuff and some other things before loading
4044           any static plugins (there may be other static plugins
4045           than just the GStreamer ones, and they may want to
4046           register their own tags or formats or whatever, and
4047           preferably without segfaulting).
4048
4049         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4050           Print at least a warning in the debug logs if we drop a
4051           query just because we don't know how to adjust the value
4052           in the particular format.
4053
4054 2005-12-24  David Schleef  <ds@schleef.org>
4055
4056         * tools/gstreamer-completion:
4057           Replacement for gst-complete written in sh and sed.  Only
4058           completes names of features, but that's 90% of what I want
4059           it for.  Properties are not available in registry.xml.  (Maybe
4060           they should be...)
4061
4062 === release 0.10.1 ===
4063
4064 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
4065
4066         * configure.ac:
4067           releasing 0.10.1, "Nollaig chridheil"
4068
4069 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
4070
4071         * docs/faq/cvs.xml:
4072           Add missing quote, should be make ERROR_CFLAGS="".
4073
4074 2005-12-20  Wim Taymans  <wim@fluendo.com>
4075
4076         * docs/design/part-trickmodes.txt:
4077         More documentation on trickmodes.
4078
4079 2005-12-20  Edward Hervey  <edward@fluendo.com>
4080
4081         * gst/gstcaps.c: (gst_static_caps_get_type):
4082         * gst/gstcaps.h:
4083           API addition: GST_TYPE_STATIC_CAPS
4084         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4085         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4086         * gst/gstpadtemplate.h:
4087           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4088         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4089         bindings.
4090
4091 2005-12-18  Wim Taymans  <wim@fluendo.com>
4092
4093         * libs/gst/base/gstadapter.c:
4094         * libs/gst/base/gstadapter.h:
4095         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4096         (gst_base_sink_get_position):
4097         * libs/gst/base/gstbasesink.h:
4098         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4099         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4100         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4101         (gst_base_src_send_event), (gst_base_src_update_length),
4102         (gst_base_src_get_range), (gst_base_src_loop),
4103         (gst_base_src_start):
4104         * libs/gst/base/gstbasesrc.h:
4105         * libs/gst/base/gstbasetransform.h:
4106         * libs/gst/base/gstcollectpads.h:
4107         * libs/gst/base/gstpushsrc.c:
4108         * libs/gst/base/gstpushsrc.h:
4109         * libs/gst/dataprotocol/dataprotocol.c:
4110         * libs/gst/dataprotocol/dataprotocol.h:
4111         * libs/gst/net/gstnetclientclock.h:
4112         * libs/gst/net/gstnettimeprovider.h:
4113         Documentation updates.
4114
4115 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4116
4117         * docs/manual/basics-helloworld.xml:
4118           Remove superfluous closing bracket in helloworld example.
4119
4120 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4121
4122         * tools/gst-launch.1.in:
4123           Update gst-launch man page; add a section with useful
4124           environment variables. Fixes #323882.
4125
4126 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
4127
4128         * gst/gst.c:
4129         * gst/gst_private.h:
4130           change some char* into char[]
4131
4132 2005-12-16  Wim Taymans  <wim@fluendo.com>
4133
4134         * gst/gstregistryxml.c: (load_feature):
4135         Cleanups.
4136         Don't use g_object_unref on GstObjects so that we avoid
4137         leaks on unsafe glibs.
4138
4139 2005-12-16  Wim Taymans  <wim@fluendo.com>
4140
4141         * gst/gstbin.c: (gst_bin_recalc_state):
4142         Small doc updates.
4143
4144 2005-12-16  Wim Taymans  <wim@fluendo.com>
4145
4146         * common/check.mak:
4147         Added make forever target for check.
4148
4149 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4150
4151         * gst/gst.c: (init_post):
4152           make the registry cache file HOST_CPU-dependent
4153
4154 2005-12-16  Andy Wingo  <wingo@pobox.com>
4155
4156         * plugins/elements/gstbufferstore.c
4157         (gst_buffer_store_cleared_func): Pay attention to g_list_append
4158         return value.
4159
4160         * tests/check/gst/gstobject.c
4161         (test_fake_object_name_threaded_unique): Pay attention to
4162         g_list_sort return value.
4163
4164 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4165
4166         * tools/gst-feedback-m.m:
4167           Update for 0.9/0.10 (fixes #323870).
4168
4169 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
4170
4171         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4172           Fix lcopy for mini objects, the mini object needs to be ref'ed.
4173           
4174         * tests/check/gst/gstminiobject.c: (my_foo_init),
4175         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4176         (test_value_collection), (gst_mini_object_suite):
4177           Add test to ensure refcounts end up as expected when passing
4178           GstMiniObjects through g_object_get() and g_object_set().
4179
4180 2005-12-14  Julien MOUTTE  <julien@moutte.net>
4181
4182         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4183         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4184         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4185         of collectpads. This version removes a lot of races without
4186         touching API/ABI. Yay !
4187
4188 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
4189
4190         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4191           Don't allow activation of a srcpad in pull_range if it has no
4192           getrange function.
4193           Change some debug statements to be a little clearer
4194
4195         * plugins/elements/gsttypefindelement.c:
4196         (gst_type_find_handle_src_query):
4197           Check that we have a peer before executing queries thereupon.
4198
4199         * tests/examples/metadata/read-metadata.c: (message_loop):
4200           Use gst_bus_pop instead of gst_bus_poll when we just want it to
4201           immediately return us any available message with 0 timeout.
4202
4203 2005-12-12  Michael Smith  <msmith@fluendo.com>
4204
4205         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4206           Don't unref factories after calling them.
4207         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4208         * plugins/elements/gsttypefindelement.c:
4209         (gst_type_find_element_chain):
4210           Free lists of factories after using them. Fixing typefinding memory
4211           leaks.
4212
4213 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4214
4215         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4216         (gst_plugin_feature_load):
4217           more meaningful debug output
4218         * configure.ac:
4219         * tests/Makefile.am:
4220         * tests/old/examples/Makefile.am:
4221           make make distcheck happy again
4222
4223 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4224
4225         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4226           Catch the special case where we are operating chain-based,
4227           but the downstream peer pad has no chain function. Emit a
4228           custom error message in this case instead of letting the
4229           core generate one implying that this is some sort of core
4230           bug. It's not, it just means that whatever got plugged
4231           into the pipeline downstream when we announced the type
4232           can only operate pull-based, while our source can only
4233           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4234           Error string has not been marked for translation yet, as
4235           it probably needs some more work first.
4236
4237         (gst_type_find_element_get_best_possibility):
4238           Add helper function to find the best of all available
4239           found possibilities that qualify given the min. threshold.
4240
4241         (gst_type_find_element_handle_event):
4242           Fix the case where we get an EOS while still in TYPEFIND
4243           mode (we want to chose the best of all possible types,
4244           not just the first type that happens to be in our unsorted
4245           list of possible types).
4246
4247         (gst_type_find_element_chain):
4248           Make sure we return GST_FLOW_ERROR when we errored out
4249           in stop_typefinding(); also, don't just find the best of
4250           all found type entries and then use the last examined
4251           type entry, but actually use the best entry.
4252
4253 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4254
4255         * tests/examples/typefind/typefind.c: (type_found):
4256         * tests/examples/xml/runxml.c: (xml_loaded):
4257           More gcc4 fixes and a mem leak fix.
4258
4259 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4260
4261         * tests/examples/xml/createxml.c: (object_saved):
4262           gcc 4 fixes
4263
4264 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4265
4266         * tests/Makefile.am:
4267           enable the examples even more
4268
4269 2005-12-12  Andy Wingo  <wingo@pobox.com>
4270
4271         * libs/gst/net/gstnettimeprovider.c
4272         (gst_net_time_provider_class_init, gst_net_time_provider_init)
4273         (gst_net_time_provider_set_property)
4274         (gst_net_time_provider_get_property):
4275         API addition: Export "active" as a GObject property.
4276         (gst_net_time_provider_thread): Only respond to time queries if
4277         the time provider is active.
4278
4279         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4280         NetTimeProvider, preserving binary compat.
4281
4282 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4283
4284         * tests/examples/controller/audio-example.c: (main):
4285         * tests/examples/launch/Makefile.am:
4286           convert comments again
4287
4288 2005-12-12  Wim Taymans  <wim@fluendo.com>
4289
4290         * libs/gst/base/gstpushsrc.c:
4291         Fix typo.
4292
4293 2005-12-12  Wim Taymans  <wim@fluendo.com>
4294
4295         * docs/libs/gstreamer-libs-sections.txt:
4296         Added new symbol to docs.
4297
4298         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4299         (gst_base_src_init), (gst_base_src_set_format),
4300         (gst_base_src_default_query), (gst_base_src_query),
4301         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4302         (gst_base_src_perform_seek), (gst_base_src_send_event),
4303         (gst_base_src_default_event), (gst_base_src_event_handler),
4304         (gst_base_src_set_property), (gst_base_src_get_property),
4305         (gst_base_src_wait), (gst_base_src_do_sync),
4306         (gst_base_src_update_length), (gst_base_src_get_range),
4307         (gst_base_src_check_get_range), (gst_base_src_loop),
4308         (gst_base_src_default_negotiate), (gst_base_src_start),
4309         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4310         (gst_base_src_change_state):
4311         * libs/gst/base/gstbasesrc.h:
4312         Implement seeking to other formats than _BYTES.
4313         Implement more seeking methods correctly.
4314         Doc updates.
4315         Added query vmethod.
4316         Added do_seek vmethod to make life easier for subclasses
4317         when seeking.
4318         API addition: gst_base_src_set_format()
4319
4320 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4321
4322         * tests/examples/Makefile.am:
4323           added that too
4324
4325 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4326
4327         * configure.ac:
4328         * docs/random/ensonic/media-device-daemon.txt:
4329         * tests/examples/controller/.cvsignore:
4330         * tests/examples/controller/Makefile.am:
4331         * tests/examples/controller/audio-example.c: (main):
4332         * tests/examples/helloworld/.cvsignore:
4333         * tests/examples/helloworld/Makefile.am:
4334         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4335         * tests/examples/launch/.cvsignore:
4336         * tests/examples/launch/Makefile.am:
4337         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4338         * tests/examples/metadata/.cvsignore:
4339         * tests/examples/metadata/Makefile.am:
4340         * tests/examples/metadata/read-metadata.c: (message_loop),
4341         (make_pipeline), (print_tag), (main):
4342         * tests/examples/queue/.cvsignore:
4343         * tests/examples/queue/Makefile.am:
4344         * tests/examples/queue/queue.c: (event_loop), (main):
4345         * tests/examples/typefind/.cvsignore:
4346         * tests/examples/typefind/Makefile.am:
4347         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4348         (main):
4349         * tests/examples/xml/.cvsignore:
4350         * tests/examples/xml/Makefile.am:
4351         * tests/examples/xml/createxml.c: (object_saved), (main):
4352         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4353         * tests/old/examples/Makefile.am:
4354         * tests/old/examples/TODO:
4355         * tests/old/examples/controller/.cvsignore:
4356         * tests/old/examples/controller/Makefile.am:
4357         * tests/old/examples/controller/audio-example.c:
4358         * tests/old/examples/helloworld/.cvsignore:
4359         * tests/old/examples/helloworld/Makefile.am:
4360         * tests/old/examples/helloworld/helloworld.c:
4361         * tests/old/examples/launch/.cvsignore:
4362         * tests/old/examples/launch/Makefile.am:
4363         * tests/old/examples/launch/mp3parselaunch.c:
4364         * tests/old/examples/launch/mp3play:
4365         * tests/old/examples/manual/Makefile.am:
4366         * tests/old/examples/metadata/Makefile.am:
4367         * tests/old/examples/metadata/read-metadata.c:
4368         * tests/old/examples/queue/.cvsignore:
4369         * tests/old/examples/queue/Makefile.am:
4370         * tests/old/examples/queue/queue.c:
4371         * tests/old/examples/typefind/.cvsignore:
4372         * tests/old/examples/typefind/Makefile.am:
4373         * tests/old/examples/typefind/typefind.c:
4374         * tests/old/examples/xml/.cvsignore:
4375         * tests/old/examples/xml/Makefile.am:
4376         * tests/old/examples/xml/createxml.c:
4377         * tests/old/examples/xml/runxml.c:
4378           applied some simple fixing to some examples
4379           re-enabled the working examples
4380
4381 2005-12-12  Wim Taymans  <wim@fluendo.com>
4382
4383         * gst/gstsegment.c: (gst_segment_init),
4384         (gst_segment_set_last_stop), (gst_segment_set_seek),
4385         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4386         (gst_segment_to_running_time):
4387         Added more documentation.
4388         Make sure the last_pos value is updated properly.
4389         Make sure to_stream_time and to_running_time don't
4390         operate on wrong values.
4391
4392         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4393         Update check.
4394
4395 2005-12-12  Michael Smith  <msmith@fluendo.com>
4396
4397         * plugins/elements/gsttypefindelement.c: (free_entry),
4398         (gst_type_find_element_chain):
4399           Now that we're not leaking factories, make sure we keep references
4400           to them while we need them.
4401
4402 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4403
4404         * tests/check/gst/struct_i386.h:
4405           ifdef out the XML structs
4406
4407 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4408
4409         * gst/gstvalue.c: (gst_value_transform_double_fraction):
4410           floor is not needed, F is always positive; this obviates the
4411           need for adding -lm when building without libxml
4412
4413 2005-12-12  Wim Taymans  <wim@fluendo.com>
4414
4415         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4416         Take current playback rate into account when reporting
4417         the position.
4418
4419 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4420
4421         * docs/manual/mime-world.fig:
4422           Let's try this again, this time with a file that is
4423           actually in XFig format.
4424
4425 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4426
4427         * docs/manual/mime-world.fig:
4428           Add audioconvert element to diagram so that it
4429           matches the text and the code (fixes #319526).
4430
4431 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4432
4433         * docs/pwg/building-chainfn.xml:
4434         * docs/pwg/building-pads.xml:
4435         * docs/pwg/building-state.xml:
4436         * docs/pwg/other-source.xml:
4437           Update state change stuff for 0.10 (fixes #322969).
4438
4439 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4440
4441         * docs/manual/advanced-dataaccess.xml:
4442         * docs/manual/appendix-checklist.xml:
4443         * docs/manual/appendix-programs.xml:
4444         * docs/manual/basics-pads.xml:
4445         * docs/manual/highlevel-components.xml:
4446         * docs/manual/manual.xml:
4447           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4448           add converters in front of pipelines; remove curly
4449           brackets for threads stuff, they no longer exist; use
4450           GST_TYPE_FRACTION for framerates; update some pieces of
4451           code to 0.10, but there's plenty more to do.
4452
4453         * docs/manual/appendix-porting.xml:
4454           Expand on asynchroneous state changes; s/0.9/0.10/;
4455           mention disappearance of gst_init_get_popt_table()
4456           (fixes #322916).
4457
4458 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4459
4460         * docs/faq/using.xml:
4461           Spider no longer exists, and neither does gst-launch-ext.
4462           Update examples to use decodebin and playbin and put
4463           converters in front of sinks (fixes #323726).
4464
4465 2005-12-09  Michael Smith  <msmith@fluendo.com>
4466
4467         * plugins/elements/gsttypefindelement.c: (find_peek),
4468         (gst_type_find_element_chain):
4469           Fix leaking element factories in typefinding.
4470           Fix problem where we forgot about a probable type on non-seekable
4471           files, and thus later mis-typefound it.
4472
4473 2005-12-09  Michael Smith  <msmith@fluendo.com>
4474
4475         * common/m4/gst-makecontext.m4:
4476         * common/m4/gst-mcsc.m4:
4477         * configure.ac:
4478         * win32/common/config.h:
4479         * win32/common/config.h.in:
4480           Remove makecontext stuff; not used in 0.10 and causes problems on
4481           HPUX according to bug #322441
4482
4483 2005-12-07  Wim Taymans  <wim@fluendo.com>
4484
4485         * tests/check/Makefile.am:
4486         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4487         (main):
4488         * tests/check/libs/struct_i386.h:
4489         Added ABI check for libs
4490
4491 2005-12-07  Wim Taymans  <wim@fluendo.com>
4492
4493         * tests/check/Makefile.am:
4494         And add the struct_i386.h to dist.
4495
4496 2005-12-07  Wim Taymans  <wim@fluendo.com>
4497
4498         * tests/check/Makefile.am:
4499         * tests/check/gst/.cvsignore:
4500         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4501         (main):
4502         * tests/check/gst/struct_i386.h:
4503         Added check for ABI compatibility.
4504
4505 2005-12-07  Wim Taymans  <wim@fluendo.com>
4506
4507         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4508         (gst_fake_src_get_times), (gst_fake_src_create):
4509         Fix broken sync option, fixes #323259
4510
4511 2005-12-07  Wim Taymans  <wim@fluendo.com>
4512
4513         * gst/gstbuffer.c:
4514         Small docs update.
4515
4516         * gst/gstcaps.c: (gst_caps_is_equal):
4517         Don't assert on NULL <--> X. Fixes #323260
4518
4519         * gst/gstminiobject.c: (gst_mini_object_replace):
4520         If we're doing atomic operations, we might just as well use
4521         the proper way to get an atomic pointer.
4522
4523         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4524         Clean up debugging.
4525
4526 2005-12-07  Michael Smith  <msmith@fluendo.com>
4527
4528         * gst/parse/grammar.y:
4529           Remove handling of { } for threads.
4530
4531 2005-12-06  David Schleef  <ds@schleef.org>
4532
4533         * libs/gst/base/gstbasetransform.c: speling fix.
4534
4535 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4536
4537         * docs/libs/tmpl/gstdataprotocol.sgml:
4538         * docs/random/omega/testing/gstobject.c:
4539         * gst/gst.c:
4540         * gst/gstclock.c:
4541         * gst/gstelement.c:
4542         * gst/gstelementfactory.c:
4543         * gst/gsterror.c:
4544         * gst/gstevent.c:
4545         * gst/gstghostpad.c:
4546         * gst/gstinfo.c:
4547         * gst/gstpadtemplate.c:
4548         * gst/gstregistryxml.c:
4549         * gst/gsttaglist.c:
4550         * gst/gsttagsetter.c:
4551         * gst/gsttypefind.c:
4552         * gst/gstvalue.c:
4553         * libs/gst/base/gstbasesrc.c:
4554         * libs/gst/net/gstnetclientclock.c:
4555         * libs/gst/net/gstnettimeprovider.c:
4556         * plugins/elements/gstfakesrc.c:
4557         * plugins/elements/gstfdsrc.c:
4558         * plugins/elements/gstfilesrc.c:
4559         * plugins/elements/gstidentity.c:
4560         * plugins/elements/gstqueue.c:
4561         * plugins/elements/gsttypefindelement.c:
4562         * plugins/indexers/gstfileindex.c:
4563         * plugins/indexers/gstmemindex.c:
4564         * tests/check/gst/gsttag.c:
4565         * tests/old/examples/cutter/cutter.c:
4566         * tests/old/examples/mixer/mixer.c:
4567         * tests/old/examples/xml/runxml.c: (main):
4568         * tests/old/testsuite/caps/normalisation.c:
4569         * tests/old/testsuite/debug/global.c:
4570         * tests/old/testsuite/parse/parse1.c:
4571         * tools/gst-xmlinspect.c:
4572         * win32/common/dirent.c:
4573           expand tabs
4574
4575 === release 0.10.0 ===
4576
4577 2005-12-05   <thomas (at) apestaart (dot) org>
4578
4579         * configure.ac:
4580           releasing 0.10.0, "Maroilles"
4581
4582 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4583
4584         submitted by: Funda Wang <fundawang@linux.net.cn>
4585
4586         * po/LINGUAS:
4587         * po/zh_CN.po:
4588           added Chinese (Traditional) translation
4589
4590 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4591
4592         * docs/gst/gstreamer-sections.txt:
4593         * docs/libs/tmpl/gstdataprotocol.sgml:
4594         * docs/random/thomasvs/TODO:
4595         * gst/gstutils.c:
4596         * gst/gstutils.h:
4597           fix docs
4598
4599 2005-12-05  Andy Wingo  <wingo@pobox.com>
4600
4601         patch by: Wim Taymans <wim@fluendo.com>
4602
4603         * libs/gst/base/gstbasetransform.c
4604         (gst_base_transform_prepare_output_buf)
4605         (gst_base_transform_buffer_alloc):
4606         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
4607         alloc_buffer_and_set_caps.
4608
4609         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
4610         set_caps on the source pad.
4611         (gst_pad_alloc_buffer_and_set_caps): New function, does what
4612         alloc_buffer used to do. Fixes #322874.
4613
4614         * docs/gst/gstreamer-sections.txt: 
4615         * docs/design/part-negotiation.txt: 
4616         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
4617         changes.
4618
4619 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4620
4621         patch by: Sebastien Moutte
4622
4623         * win32/MANIFEST:
4624         * win32/common/config.h.in:
4625         * win32/vs6/libgstcontroller.dsp:
4626           win32 build fixes
4627
4628 2005-12-05  Wim Taymans  <wim@fluendo.com>
4629
4630         * gst/gstcaps.c: (gst_caps_is_equal):
4631         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4632         (gst_fake_src_create):
4633         Back out previous code changes, leave doc updates, file bugs 
4634         instead. 
4635
4636 2005-12-05  Wim Taymans  <wim@fluendo.com>
4637
4638         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4639         (gst_fake_src_get_times), (gst_fake_src_create):
4640         * plugins/elements/gstfakesrc.h:
4641         Fix broken sync code.
4642
4643 2005-12-05  Wim Taymans  <wim@fluendo.com>
4644
4645         * gst/gstcaps.c: (gst_caps_is_equal):
4646         Comparing NULL against !NULL yields different caps, not a
4647         failure.
4648
4649 2005-12-05  Wim Taymans  <wim@fluendo.com>
4650
4651         * gst/gstpipeline.c:
4652         Fix small typo in docs.
4653
4654 2005-12-05  Andy Wingo  <wingo@pobox.com>
4655
4656         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
4657
4658         * gst/gst.c (init_post): remove hard-coded 0.9 location for
4659         registries/plugins with a MAJORMINOR one.
4660         (plugin_desc): Rename library from gstcoreleements to
4661         staticelements. Fixes #323222.
4662
4663 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
4664
4665         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
4666           Change debug category to 'collectpads' from 'collect_pads'
4667           (fixes #323250).
4668
4669 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4670
4671         patch by: Sebastien Moutte
4672
4673         * libs/gst/controller/gstinterpolation.c:
4674           use convert function for uint64/double
4675         * win32/vs6/libgstcontroller.dsp:
4676           link to GLib
4677
4678 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4679
4680         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
4681         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
4682         * gst/gstutils.h:
4683         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4684           add tests that seem to show that the guint64/gdouble conversions
4685           are correct.
4686
4687 2005-12-02  Wim Taymans  <wim@fluendo.com>
4688
4689         * gst/gstregistry.c: (gst_registry_add_path):
4690         * gst/gstregistry.h:
4691         * gst/gstregistryxml.c:
4692         Fix docs again.
4693
4694 2005-12-02  Wim Taymans  <wim@fluendo.com>
4695
4696         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4697         (gst_util_uint64_scale_int):
4698         Small cleanup.
4699
4700         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4701         Add debug log line.
4702
4703         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
4704         Add FIXME.
4705
4706 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4707
4708         * win32/MANIFEST:
4709         * win32/common/config.h:
4710         * win32/vs6/gstreamer.dsw:
4711         * win32/vs6/libgstcoreelements.dsp:
4712         * win32/vs6/libgstelements.dsp:
4713           renamed core elements plugin
4714
4715 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4716
4717         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
4718         (get_candidates):
4719           do piece-wise major/minor comparison so 0.9 < 0.10
4720           also allow .exe extensions for tools
4721
4722 2005-12-02  Michael Smith  <msmith@fluendo.com>
4723
4724         * gst/gst.c:
4725           Escape a % to make gtkdoc happier; bug 322958.
4726
4727 === release 0.9.7 ===
4728
4729 2005-12-01   <thomas (at) apestaart (dot) org>
4730
4731         * configure.ac:
4732           releasing 0.9.7, "My Dog Has No Nose"
4733
4734 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4735
4736         * common/gst-xmlinspect.py:
4737         * configure.ac:
4738         * docs/libs/tmpl/gstdataprotocol.sgml:
4739         * docs/random/release:
4740         * po/af.po:
4741         * po/az.po:
4742         * po/bg.po:
4743         * po/ca.po:
4744         * po/cs.po:
4745         * po/de.po:
4746         * po/en_GB.po:
4747         * po/fr.po:
4748         * po/it.po:
4749         * po/nb.po:
4750         * po/nl.po:
4751         * po/ru.po:
4752         * po/sq.po:
4753         * po/sr.po:
4754         * po/sv.po:
4755         * po/tr.po:
4756         * po/uk.po:
4757         * po/vi.po:
4758         * win32/common/config.h:
4759         * win32/common/config.h.in:
4760         * win32/vs6/gst_inspect.dsp:
4761         * win32/vs6/gst_launch.dsp:
4762         * win32/vs6/libgstbase.dsp:
4763         * win32/vs6/libgstelements.dsp:
4764         * win32/vs6/libgstreamer.dsp:
4765         * win32/vs7/GStreamer.vcproj:
4766         * win32/vs7/gst-inspect.vcproj:
4767         * win32/vs7/gst-launch.vcproj:
4768         * win32/vs7/libgstbase.vcproj:
4769           bump GST_MAJORMINOR to 0.10
4770           reset libtool version
4771
4772 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4773
4774         * po/LINGUAS:
4775         * po/bg.po:
4776           Added Bulgarian translation by (Alexander Shopov)
4777
4778 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4779
4780         * tests/check/gst/gstplugin.c:
4781           fix test
4782
4783 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4784
4785         * common/gst-xmlinspect.py:
4786         * common/gtk-doc-plugins.mak:
4787         * configure.ac:
4788         * docs/Makefile.am:
4789         * docs/gst/Makefile.am:
4790         * docs/gst/gstreamer-docs.sgml:
4791         * docs/gst/gstreamer-sections.txt:
4792         * docs/gst/gstreamer.types:
4793         * docs/gst/gstreamer.types.in:
4794         * docs/plugins/Makefile.am:
4795         * docs/plugins/gstreamer-plugins-docs.sgml:
4796         * docs/plugins/gstreamer-plugins-sections.txt:
4797         * docs/plugins/gstreamer-plugins.types:
4798         * docs/plugins/inspect.stamp:
4799         * docs/plugins/inspect/plugin-coreelements.xml:
4800         * docs/plugins/inspect/plugin-coreindexers.xml:
4801         * docs/plugins/scanobj-build.stamp:
4802         * gstreamer.spec.in:
4803         * plugins/elements/Makefile.am:
4804         * plugins/elements/gstelements.c:
4805         * plugins/elements/gstfakesink.c:
4806         * plugins/elements/gstfakesrc.c:
4807         * plugins/elements/gstfilesink.c:
4808         * plugins/elements/gstfilesrc.c:
4809         * plugins/elements/gstqueue.c:
4810         * plugins/indexers/Makefile.am:
4811         * plugins/indexers/gstindexers.c:
4812           document core plugins in a separate document just like all the
4813           others
4814           rename these plugins to something starting with core
4815
4816 2005-12-01  Andy Wingo  <wingo@pobox.com>
4817
4818         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
4819         padding here before, but it missed the commit.
4820
4821 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4822
4823         * libs/gst/controller/gstinterpolation.c:
4824           whitespace prices have crashed, we should feel free to use some now
4825           use gst_guint64_to_gdouble
4826
4827 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4828
4829         * libs/gst/controller/gstcontroller.c:
4830         * libs/gst/controller/gsthelper.c:
4831         * libs/gst/controller/gstinterpolation.c:
4832         * libs/gst/controller/lib.c:
4833           wrap config.h include
4834
4835 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4836
4837         * docs/gst/gstreamer-sections.txt:
4838           update docs
4839
4840 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
4841
4842         * plugins/elements/gstelements.c:
4843         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
4844         (gst_fd_sink__class_init), (gst_fd_sink__init),
4845         (gst_fd_sink__chain), (gst_fd_sink__set_property),
4846         (gst_fd_sink__get_property):
4847         * plugins/elements/gstfdsink.h:
4848         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
4849         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
4850         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
4851         (gst_fd_src_unlock), (gst_fd_src_set_property),
4852         (gst_fd_src_get_property), (gst_fd_src_create),
4853         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
4854         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
4855         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
4856         (gst_fd_src_uri_handler_init):
4857         * plugins/elements/gstfdsrc.h:
4858         * plugins/elements/gstqueue.c: (gst_queue_get_type):
4859           more anal cleanup
4860
4861 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4862
4863         * docs/gst/Makefile.am:
4864         * docs/gst/gstreamer.types.in:
4865         * gst/Makefile.am:
4866           fix the docs build
4867
4868 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4869
4870         * configure.ac:
4871         * gst/Makefile.am:
4872         * gst/gst.c:
4873         * gst/gstplugin.h:
4874         * gst/gstregistry.h:
4875         * tests/benchmarks/complexity.c:
4876         * tests/benchmarks/mass-elements.c:
4877         * tests/check/Makefile.am:
4878         * tools/Makefile.am:
4879         * tools/gst-inspect.c:
4880         * tools/gst-xmlinspect.c:
4881           various fixes to make
4882           --disable-nls --disable-registry --disable-loadsave
4883           --disable-parse --disable-gst-debug
4884           work and get the core .so down to 360444 bytes after stripping
4885
4886 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4887
4888         * Makefile.am:
4889         * configure.ac:
4890           descend into tests
4891         * docs/random/thomasvs/TODO:
4892         * tests/Makefile.am:
4893         * tests/README:
4894           add a README
4895
4896 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4897
4898         * win32/GStreamer.vcproj:
4899         * win32/MANIFEST:
4900         * win32/Makefile:
4901         * win32/Makefile.inspect:
4902         * win32/Makefile.launch:
4903         * win32/Makefile.register:
4904         * win32/README.txt:
4905         * win32/gst-inspect.vcproj:
4906         * win32/gst-launch.vcproj:
4907         * win32/gst-register.vcproj:
4908         * win32/gstelements.vcproj:
4909         * win32/gstgetbits.def:
4910         * win32/gstgetbits.vcproj:
4911         * win32/gstreamer-dbg.def:
4912         * win32/gstreamer.def:
4913         * win32/libgstbase.def:
4914         * win32/libgstbase.vcproj:
4915         * win32/link_oldruntime.c:
4916         * win32/mman.c:
4917         * win32/mman.h:
4918         * win32/mman.inl:
4919         * win32/msvc71.sln:
4920           move even more stuff, win32/ is nice and clean now
4921
4922 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4923
4924         * libs/gst/control/.cvsignore:
4925         * win32/MANIFEST:
4926         * win32/config.h:
4927         * win32/dirent.c:
4928         * win32/dirent.h:
4929         * win32/gstbytestream.def:
4930         * win32/gstbytestream.vcproj:
4931         * win32/gstconfig.h:
4932         * win32/gstenumtypes.c:
4933         * win32/gstenumtypes.h:
4934         * win32/gstoptimalscheduler.vcproj:
4935         * win32/gstversion.h:
4936         * win32/gtchar.h:
4937         * win32/testsuite/bins.vcproj:
4938         * win32/testsuite/bytestream.vcproj:
4939         * win32/testsuite/caps.vcproj:
4940         * win32/testsuite/cleanup.vcproj:
4941         * win32/testsuite/clock.vcproj:
4942         * win32/testsuite/debug.vcproj:
4943         * win32/testsuite/dlopen.vcproj:
4944         * win32/testsuite/dynparams.vcproj:
4945         * win32/testsuite/elements.vcproj:
4946         * win32/testsuite/ghostpads.vcproj:
4947         * win32/testsuite/indexers.vcproj:
4948         * win32/testsuite/negotiation.vcproj:
4949         * win32/testsuite/parse.vcproj:
4950         * win32/testsuite/plugin.vcproj:
4951         * win32/testsuite/refcounting.vcproj:
4952         * win32/testsuite/schedulers.vcproj:
4953         * win32/testsuite/states.vcproj:
4954         * win32/testsuite/tags.vcproj:
4955         * win32/testsuite/threads.vcproj:
4956           remove old win32 stuff that isn't maintained and should be
4957           reorganized
4958
4959 2005-11-30  Andy Wingo  <wingo@pobox.com>
4960
4961         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
4962         loading the gst.interfaces python module bork.
4963
4964         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
4965         available since GLib 2.2. Fixes #318031.
4966
4967 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
4968
4969         * Makefile.am:
4970         * check/.cvsignore:
4971         * check/Makefile.am:
4972         * check/elements/.cvsignore:
4973         * check/elements/fakesrc.c:
4974         * check/elements/fdsrc.c:
4975         * check/elements/identity.c:
4976         * check/generic/.cvsignore:
4977         * check/generic/states.c:
4978         * check/gst-libs/.cvsignore:
4979         * check/gst-libs/controller.c:
4980         * check/gst-libs/gdp.c:
4981         * check/gst/.cvsignore:
4982         * check/gst/capslist.h:
4983         * check/gst/gst.c:
4984         * check/gst/gstbin.c:
4985         * check/gst/gstbuffer.c:
4986         * check/gst/gstbus.c:
4987         * check/gst/gstcaps.c:
4988         * check/gst/gstelement.c:
4989         * check/gst/gstevent.c:
4990         * check/gst/gstghostpad.c:
4991         * check/gst/gstiterator.c:
4992         * check/gst/gstmessage.c:
4993         * check/gst/gstminiobject.c:
4994         * check/gst/gstobject.c:
4995         * check/gst/gstpad.c:
4996         * check/gst/gstpipeline.c:
4997         * check/gst/gstplugin.c:
4998         * check/gst/gstsegment.c:
4999         * check/gst/gststructure.c:
5000         * check/gst/gstsystemclock.c:
5001         * check/gst/gsttag.c:
5002         * check/gst/gstutils.c:
5003         * check/gst/gstvalue.c:
5004         * check/net/.cvsignore:
5005         * check/net/gstnetclientclock.c:
5006         * check/net/gstnettimeprovider.c:
5007         * check/pipelines/.cvsignore:
5008         * check/pipelines/cleanup.c:
5009         * check/pipelines/simple_launch_lines.c:
5010         * check/pipelines/stress.c:
5011         * check/states/.cvsignore:
5012         * check/states/sinks.c:
5013         * configure.ac:
5014         * examples/Makefile.am:
5015         * examples/appreader/.cvsignore:
5016         * examples/appreader/Makefile.am:
5017         * examples/appreader/appreader.c:
5018         * examples/controller/.cvsignore:
5019         * examples/controller/Makefile.am:
5020         * examples/controller/audio-example.c:
5021         * examples/cutter/.cvsignore:
5022         * examples/cutter/Makefile.am:
5023         * examples/cutter/cutter.c:
5024         * examples/cutter/cutter.h:
5025         * examples/events/Makefile.am:
5026         * examples/events/seek.c:
5027         * examples/helloworld/.cvsignore:
5028         * examples/helloworld/Makefile.am:
5029         * examples/helloworld/helloworld.c:
5030         * examples/helloworld2/.cvsignore:
5031         * examples/helloworld2/Makefile.am:
5032         * examples/helloworld2/helloworld2.c:
5033         * examples/launch/.cvsignore:
5034         * examples/launch/Makefile.am:
5035         * examples/launch/mp3parselaunch.c:
5036         * examples/launch/mp3play:
5037         * examples/manual/.cvsignore:
5038         * examples/manual/Makefile.am:
5039         * examples/manual/extract.pl:
5040         * examples/metadata/Makefile.am:
5041         * examples/metadata/read-metadata.c:
5042         * examples/mixer/.cvsignore:
5043         * examples/mixer/Makefile.am:
5044         * examples/mixer/mixer.c:
5045         * examples/mixer/mixer.h:
5046         * examples/pingpong/.cvsignore:
5047         * examples/pingpong/Makefile.am:
5048         * examples/pingpong/pingpong.c:
5049         * examples/plugins/.cvsignore:
5050         * examples/plugins/Makefile.am:
5051         * examples/plugins/example.c:
5052         * examples/plugins/example.h:
5053         * examples/pwg/.cvsignore:
5054         * examples/pwg/Makefile.am:
5055         * examples/pwg/extract.pl:
5056         * examples/queue/.cvsignore:
5057         * examples/queue/Makefile.am:
5058         * examples/queue/queue.c:
5059         * examples/queue2/.cvsignore:
5060         * examples/queue2/Makefile.am:
5061         * examples/queue2/queue2.c:
5062         * examples/queue3/.cvsignore:
5063         * examples/queue3/Makefile.am:
5064         * examples/queue3/queue3.c:
5065         * examples/queue4/.cvsignore:
5066         * examples/queue4/Makefile.am:
5067         * examples/queue4/queue4.c:
5068         * examples/retag/.cvsignore:
5069         * examples/retag/Makefile.am:
5070         * examples/retag/retag.c:
5071         * examples/retag/transcode.c:
5072         * examples/thread/.cvsignore:
5073         * examples/thread/Makefile.am:
5074         * examples/thread/thread.c:
5075         * examples/typefind/.cvsignore:
5076         * examples/typefind/Makefile.am:
5077         * examples/typefind/typefind.c:
5078         * examples/xml/.cvsignore:
5079         * examples/xml/Makefile.am:
5080         * examples/xml/createxml.c:
5081         * examples/xml/runxml.c:
5082         * tests/Makefile.am:
5083         * tests/check/Makefile.am:
5084         * testsuite/.cvsignore:
5085         * testsuite/Makefile.am:
5086         * testsuite/Rules:
5087         * testsuite/caps/.cvsignore:
5088         * testsuite/caps/Makefile.am:
5089         * testsuite/caps/app_fixate.c:
5090         * testsuite/caps/audioscale.c:
5091         * testsuite/caps/caps.c:
5092         * testsuite/caps/caps.h:
5093         * testsuite/caps/caps_strings:
5094         * testsuite/caps/compatibility.c:
5095         * testsuite/caps/deserialize.c:
5096         * testsuite/caps/enumcaps.c:
5097         * testsuite/caps/eratosthenes.c:
5098         * testsuite/caps/filtercaps.c:
5099         * testsuite/caps/fixed.c:
5100         * testsuite/caps/fraction-convert.c:
5101         * testsuite/caps/fraction-multiply-and-zero.c:
5102         * testsuite/caps/intersect2.c:
5103         * testsuite/caps/intersection.c:
5104         * testsuite/caps/normalisation.c:
5105         * testsuite/caps/random.c:
5106         * testsuite/caps/renegotiate.c:
5107         * testsuite/caps/sets.c:
5108         * testsuite/caps/simplify.c:
5109         * testsuite/caps/string-conversions.c:
5110         * testsuite/caps/structure.c:
5111         * testsuite/caps/subtract.c:
5112         * testsuite/caps/union.c:
5113         * testsuite/debug/.cvsignore:
5114         * testsuite/debug/Makefile.am:
5115         * testsuite/debug/category.c:
5116         * testsuite/debug/commandline.c:
5117         * testsuite/debug/global.c:
5118         * testsuite/debug/output.c:
5119         * testsuite/debug/printf_extension.c:
5120         * testsuite/dlopen/.cvsignore:
5121         * testsuite/dlopen/Makefile.am:
5122         * testsuite/dlopen/dlopen_gst.c:
5123         * testsuite/dlopen/loadgst.c:
5124         * testsuite/elements/.cvsignore:
5125         * testsuite/elements/Makefile.am:
5126         * testsuite/elements/gst-inspect-check.in:
5127         * testsuite/elements/struct_i386.h:
5128         * testsuite/elements/struct_size.c:
5129         * testsuite/indexers/.cvsignore:
5130         * testsuite/indexers/Makefile.am:
5131         * testsuite/indexers/cache1.c:
5132         * testsuite/indexers/indexdump.c:
5133         * testsuite/parse/.cvsignore:
5134         * testsuite/parse/Makefile.am:
5135         * testsuite/parse/parse1.c:
5136         * testsuite/parse/parse2.c:
5137         * testsuite/plugin/.cvsignore:
5138         * testsuite/plugin/Makefile.am:
5139         * testsuite/plugin/README:
5140         * testsuite/plugin/dynamic.c:
5141         * testsuite/plugin/linked.c:
5142         * testsuite/plugin/loading.c:
5143         * testsuite/plugin/registry.c:
5144         * testsuite/plugin/static.c:
5145         * testsuite/plugin/static2.c:
5146         * testsuite/plugin/testplugin.c:
5147         * testsuite/plugin/testplugin2.c:
5148         * testsuite/plugin/testplugin2_s.c:
5149         * testsuite/plugin/testplugin_s.c:
5150         * testsuite/refcounting/.cvsignore:
5151         * testsuite/refcounting/Makefile.am:
5152         * testsuite/refcounting/bin.c:
5153         * testsuite/refcounting/element.c:
5154         * testsuite/refcounting/element_pad.c:
5155         * testsuite/refcounting/mainloop.c:
5156         * testsuite/refcounting/mem.c:
5157         * testsuite/refcounting/mem.h:
5158         * testsuite/refcounting/object.c:
5159         * testsuite/refcounting/pad.c:
5160         * testsuite/refcounting/sched.c:
5161         * testsuite/refcounting/thread.c:
5162         * testsuite/states/.cvsignore:
5163         * testsuite/states/Makefile.am:
5164         * testsuite/states/bin.c:
5165         * testsuite/states/locked.c:
5166         * testsuite/states/parent.c:
5167         * testsuite/threads/.cvsignore:
5168         * testsuite/threads/159566.c:
5169         * testsuite/threads/159852.c:
5170         * testsuite/threads/Makefile.am:
5171         * testsuite/threads/queue.c:
5172         * testsuite/threads/signals.c:
5173         * testsuite/threads/staticrec.c:
5174         * testsuite/threads/thread.c:
5175         * testsuite/threads/threadb.c:
5176         * testsuite/threads/threadc.c:
5177         * testsuite/threads/threadd.c:
5178         * testsuite/threads/threade.c:
5179         * testsuite/threads/threadf.c:
5180         * testsuite/threads/threadg.c:
5181         * testsuite/threads/threadh.c:
5182         * testsuite/threads/threadi.c:
5183           move all of these under tests
5184
5185 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5186
5187         * configure.ac:
5188         * tests/Makefile.am:
5189           fix distcheck
5190
5191 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5192
5193         * docs/gst/gstreamer-sections.txt:
5194         * tests/sched/.cvsignore:
5195         * tests/sched/Makefile.am:
5196         * tests/sched/cases/(fs-fs).xml:
5197         * tests/sched/cases/(fs-i-fs).xml:
5198         * tests/sched/cases/(fs-i-i-fs).xml:
5199         * tests/sched/cases/(fs-i-q[i-fs]).xml:
5200         * tests/sched/dynamic-pipeline.c:
5201         * tests/sched/interrupt1.c:
5202         * tests/sched/interrupt2.c:
5203         * tests/sched/interrupt3.c:
5204         * tests/sched/runtestcases:
5205         * tests/sched/runxml.c:
5206         * tests/sched/sched-stress.c:
5207         * tests/sched/sort.c:
5208         * tests/sched/testcases:
5209         * tests/sched/testcases1.tc:
5210         * tests/seeking/.cvsignore:
5211         * tests/seeking/Makefile.am:
5212         * tests/seeking/seeking1.c:
5213         * tests/threadstate/.cvsignore:
5214         * tests/threadstate/Makefile.am:
5215         * tests/threadstate/test1.c:
5216         * tests/threadstate/test2.c:
5217         * tests/threadstate/threadstate1.c:
5218         * tests/threadstate/threadstate2.c:
5219         * tests/threadstate/threadstate3.c:
5220         * tests/threadstate/threadstate4.c:
5221         * tests/threadstate/threadstate5.c:
5222           remove obsolete tests
5223         * configure.ac:
5224         * tests/bench-complexity.scm:
5225         * tests/bench-mass_elements.scm:
5226         * tests/complexity.c:
5227         * tests/complexity.gnuplot:
5228         * tests/instantiate/.cvsignore:
5229         * tests/instantiate/Makefile.am:
5230         * tests/instantiate/caps.c:
5231         * tests/mass_elements.c:
5232         * tests/network-clock-utils.scm:
5233         * tests/network-clock.scm:
5234         * tests/plot-data:
5235         First pass at cleaning up tests/ dir before moving the rest
5236         Combined with CVS surgery
5237
5238 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5239
5240         * po/POTFILES.in:
5241           queue has moved, update
5242
5243 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5244
5245         * docs/gst/gstreamer-sections.txt:
5246           remove double entries from the docs
5247         * gst/gst_private.h:
5248         * gst/gstinfo.c: (_gst_debug_init):
5249           remove the THREAD debug category
5250         * gst/Makefile.am:
5251         * gst/gstqueue.c:
5252         * gst/gstqueue.h:
5253         * docs/gst/gstreamer.types:
5254         * plugins/elements/gstqueue.c: (gst_queue_get_type),
5255         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5256           completely move queue and fix up debugging categories
5257
5258 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5259
5260         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5261           make initialization portable, using LL is not
5262
5263 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5264
5265         * win32/common/gstconfig.h:
5266           add large padding
5267
5268 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5269
5270         * win32/common/libgstreamer.def:
5271           rename symbols; sort base section
5272
5273 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5274
5275         * gst/gstclock.c: (do_linear_regression):
5276           remove crack non-portable handrolled DEBUG macro
5277
5278 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5279
5280         * docs/random/release:
5281           update notes
5282         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5283         (gst_object_flags_get_type), (register_gst_bin_flags),
5284         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5285         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5286         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5287         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5288         (gst_caps_flags_get_type), (register_gst_clock_return),
5289         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5290         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5291         (gst_clock_flags_get_type), (register_gst_state),
5292         (gst_state_get_type), (register_gst_state_change_return),
5293         (gst_state_change_return_get_type), (register_gst_state_change),
5294         (gst_state_change_get_type), (register_gst_element_flags),
5295         (gst_element_flags_get_type), (register_gst_core_error),
5296         (gst_core_error_get_type), (register_gst_library_error),
5297         (gst_library_error_get_type), (register_gst_resource_error),
5298         (gst_resource_error_get_type), (register_gst_stream_error),
5299         (gst_stream_error_get_type), (register_gst_event_type_flags),
5300         (gst_event_type_flags_get_type), (register_gst_event_type),
5301         (gst_event_type_get_type), (register_gst_seek_type),
5302         (gst_seek_type_get_type), (register_gst_seek_flags),
5303         (gst_seek_flags_get_type), (register_gst_format),
5304         (gst_format_get_type), (register_gst_index_certainty),
5305         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5306         (gst_index_entry_type_get_type),
5307         (register_gst_index_lookup_method),
5308         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5309         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5310         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5311         (gst_index_flags_get_type), (register_gst_debug_level),
5312         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5313         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5314         (gst_iterator_result_get_type), (register_gst_iterator_item),
5315         (gst_iterator_item_get_type), (register_gst_message_type),
5316         (gst_message_type_get_type), (register_gst_mini_object_flags),
5317         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5318         (gst_pad_link_return_get_type), (register_gst_flow_return),
5319         (gst_flow_return_get_type), (register_gst_activate_mode),
5320         (gst_activate_mode_get_type), (register_gst_pad_direction),
5321         (gst_pad_direction_get_type), (register_gst_pad_flags),
5322         (gst_pad_flags_get_type), (register_gst_pad_presence),
5323         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5324         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5325         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5326         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5327         (gst_plugin_flags_get_type), (register_gst_rank),
5328         (gst_rank_get_type), (register_gst_query_type),
5329         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5330         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5331         (gst_tag_flag_get_type), (register_gst_task_state),
5332         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5333         (gst_alloc_trace_flags_get_type),
5334         (register_gst_type_find_probability),
5335         (gst_type_find_probability_get_type), (register_gst_uri_type),
5336         (gst_uri_type_get_type), (register_gst_parse_error),
5337         (gst_parse_error_get_type):
5338         * win32/common/gstenumtypes.h:
5339         * win32/common/gstversion.h:
5340           update visual studio generated files
5341
5342 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5343
5344         * win32/vs6/libgstbase.dsp:
5345         * win32/vs6/libgstelements.dsp:
5346           update project files for new locations
5347
5348 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5349
5350         * Makefile.am:
5351           remove some files
5352         * README:
5353           reinstate and update
5354         * DEVEL:
5355         * REQUIREMENTS:
5356           removed
5357         * LICENSE:
5358         * docs/random/LICENSE:
5359           moved to random
5360
5361 2005-11-30  Edward Hervey  <edward@fluendo.com>
5362
5363         * gst/gsttypefind.c: (gst_type_find_register):
5364         * gst/gsttypefind.h:
5365         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5366         (gst_type_find_factory_dispose):
5367         * gst/gsttypefindfactory.h:
5368         Fix memory leak in GstTypeFindFactory.
5369
5370 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5371
5372         * gst/gst.c:
5373         * plugins/elements/Makefile.am:
5374         * plugins/elements/gstelements.c:
5375         * plugins/elements/gstqueue.c:
5376           move queue from core to the elements plugin
5377
5378 2005-11-29  Andy Wingo  <wingo@pobox.com>
5379
5380         * libs/gst/base/gstbasetransform.h: 
5381         * libs/gst/base/gstbasesrc.h: 
5382         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5383
5384         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5385         of pointers by which to pad very extensible base classes (like the
5386         ones in libs/gst/base).
5387
5388 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5389
5390         * docs/gst/gstreamer-docs.sgml:
5391         * docs/gst/gstreamer-sections.txt:
5392         * docs/libs/gstreamer-libs-docs.sgml:
5393         * docs/libs/gstreamer-libs-sections.txt:
5394           moving documentation from core to lib
5395
5396 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5397
5398         * check/Makefile.am:
5399         * configure.ac:
5400         * docs/gst/Makefile.am:
5401         * gst/Makefile.am:
5402         * gst/base/.cvsignore:
5403         * gst/base/Makefile.am:
5404         * gst/base/README:
5405         * gst/base/gstadapter.c:
5406         * gst/base/gstadapter.h:
5407         * gst/base/gstbasesink.c:
5408         * gst/base/gstbasesink.h:
5409         * gst/base/gstbasesrc.c:
5410         * gst/base/gstbasesrc.h:
5411         * gst/base/gstbasetransform.c:
5412         * gst/base/gstbasetransform.h:
5413         * gst/base/gstcollectpads.c:
5414         * gst/base/gstcollectpads.h:
5415         * gst/base/gstpushsrc.c:
5416         * gst/base/gstpushsrc.h:
5417         * gst/base/gsttypefindhelper.c:
5418         * gst/base/gsttypefindhelper.h:
5419         * gst/check/Makefile.am:
5420         * gst/check/gstcheck.c:
5421         * gst/check/gstcheck.h:
5422         * gst/net/Makefile.am:
5423         * gst/net/gstnet.h:
5424         * gst/net/gstnetclientclock.c:
5425         * gst/net/gstnetclientclock.h:
5426         * gst/net/gstnettimepacket.c:
5427         * gst/net/gstnettimepacket.h:
5428         * gst/net/gstnettimeprovider.c:
5429         * gst/net/gstnettimeprovider.h:
5430         * libs/gst/Makefile.am:
5431         * libs/gst/base/Makefile.am:
5432         * libs/gst/base/gstbasetransform.c:
5433         * libs/gst/check/Makefile.am:
5434         * plugins/elements/Makefile.am:
5435         * po/POTFILES.in:
5436           CVS surgery + support to move base, check, and net out of gst
5437           and into libs/gst
5438
5439 2005-11-29  Andy Wingo  <wingo@pobox.com>
5440
5441         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5442
5443         * gst/gststructure.h (struct _GstStructure): Only one pointer of
5444         padding.
5445
5446         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5447
5448         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5449
5450         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5451
5452         * gst/gstobject.h: (struct _GstObject): Only one pointer of
5453         padding; reduces object size by about 30%. We don't expect
5454         anything else to go into gstobject.
5455
5456         * gst/gstminiobject.h (struct _GstMiniObject)
5457         (struct _GstMiniObjectClass): Only one pointer of padding; the
5458         payload is only a pointer and two ints anyway. For the class there
5459         are only two methods as well.
5460         
5461         * gst/gstelement.h (struct _GstElementClass): Removed
5462         the state_changed signal callback, it is not used.
5463
5464 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5465
5466         * docs/gst/gstreamer.types:
5467           fix includes, though they are a little dinky
5468
5469 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5470
5471         * check/Makefile.am:
5472           look in the right place for elements, a lot more chance of
5473           success
5474         * gst/Makefile.am:
5475           remove indexers and elements subdirs
5476         * plugins/Makefile.am:
5477           make indexers conditional
5478
5479 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5480
5481         * Makefile.am:
5482         * configure.ac:
5483         * plugins/elements/Makefile.am:
5484         * plugins/elements/gstcapsfilter.c:
5485         * plugins/elements/gstfilesink.c:
5486         * plugins/elements/gstfilesrc.c:
5487         * plugins/elements/gstidentity.c:
5488         * plugins/indexers/Makefile.am:
5489           do CVS surgery and related build fixery to move elements
5490           and indexers in a new gstreamer/plugins directory, out of the
5491           gst/ directory
5492
5493 2005-11-29  Andy Wingo  <wingo@pobox.com>
5494
5495         * check/Makefile.am:
5496         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5497         * pkgconfig/gstreamer-net.pc.in:
5498         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5499         #322257.
5500
5501 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5502
5503         * tools/Makefile.am:
5504         * tools/gst-complete.1.in:
5505         * tools/gst-complete.c:
5506         * tools/gst-compprep.1.in:
5507         * tools/gst-compprep.c:
5508           removing -compprep and -complete
5509
5510 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5511
5512         * gst/gstevent.c: (gst_event_new_new_segment),
5513         (gst_event_parse_new_segment):
5514         * gst/gstevent.h:
5515           fix #320529 - clean up new_segment API and structure.
5516           Let's hope everyone was using the methods, and not the structure.
5517
5518 2005-11-29  Edward Hervey  <edward@fluendo.com>
5519
5520         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5521         (gst_base_sink_event), (gst_base_sink_do_sync),
5522         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5523         Properly handle non GST_FORMAT_TIME segment
5524         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5525         Properly handle non GST_FORMAT_TIME segment
5526         * gst/gstsegment.c:
5527         This function is valid if the accumulator is 0 and the format
5528         is different from the requested format.
5529         
5530 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5531
5532         * docs/gst/gstreamer-sections.txt:
5533         Add gst_query_new_seeking and gst_query_parse_seeking to the
5534         docs.
5535
5536 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5537
5538         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5539           Treat a pad alloc with new caps the same as if we were not
5540           negotiated, in order to allow a changing upstream output
5541           to produce a new format of data.
5542
5543 2005-11-29  Edward Hervey  <edward@fluendo.com>
5544
5545         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5546         (gst_base_transform_event), (gst_base_transform_eventfunc):
5547         The event virtual method is now properly implemented, with a default
5548         handler
5549         Sub classes should call the parent_class event method. They should
5550         return FALSE if they had a problem handling the given event, or don't
5551         want GstBaseTransform to send that even downstream
5552         * gst/elements/gstidentity.c: (gst_identity_class_init),
5553         (gst_identity_init), (gst_identity_event),
5554         (gst_identity_transform_ip), (gst_identity_set_property),
5555         (gst_identity_get_property):
5556         * gst/elements/gstidentity.h:
5557         Added the single-segment boolean property.
5558         If set to TRUE, it will output a single segment of data, starting from
5559         0, will eat up all incoming newsegment, and modify the timestamp of the
5560         buffers accordingly
5561
5562 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
5563
5564         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
5565           Don't ref NULL target pad (#322751). Improve docs.
5566
5567 2005-11-29  Michael Smith  <msmith@fluendo.com>
5568
5569         * gst/gstregistryxml.c: (load_plugin):
5570           Don't crash if we failed to load a feature from a plugin. 
5571
5572 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5573
5574         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5575         (GST_START_TEST):
5576           use more check API and less GLib API
5577
5578 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5579
5580         * Makefile.am:
5581           don't run checks if we don't have check
5582         * common/check.mak:
5583           remove the registry when running make torture
5584         * docs/gst/gstreamer-sections.txt:
5585           remove second multiply
5586         * gst/gstqueue.c: (gst_queue_loop):
5587           fix a compile warning when disabling debug
5588
5589 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5590
5591         * gst/gstinfo.h:
5592         Hey! Let's print the pad name if the pointer != NULL instead
5593         of when it == NULL :-)
5594
5595 2005-11-28  Wim Taymans  <wim@fluendo.com>
5596
5597         * check/gst/gstutils.c: (GST_START_TEST):
5598         Updated check, add some scaling accuracy checking code.
5599
5600         * gst/gstutils.c: (gst_util_div128_64),
5601         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
5602         (gst_util_uint64_scale_int):
5603         Fix 6 times faster division code. Optimize for common 
5604         1/1 and less common X/1 cases.
5605
5606 2005-11-28  Wim Taymans  <wim@fluendo.com>
5607
5608         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5609         More checks.
5610
5611         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
5612         (do_linear_regression), (gst_clock_add_observation):
5613         Cleanups.
5614         Release lock when the clock cannot be slaved.
5615         Catch the case where the regression returned an invalid denominator.
5616
5617         * gst/gstutils.c: (gst_util_div128_64_iterate),
5618         (gst_util_div128_64), (gst_util_uint64_scale_int64),
5619         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5620         Add protentially more performant non-iterative 128/64 divide function
5621         that unfortunatly does not work yet.
5622         Shortcut the trivial 0/X = 0 case.
5623         Remove the warnings on overflow.
5624
5625 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5626
5627         * gst/gstplugin.c: (gst_plugin_register_func):
5628           everything causing a plugin not to load should be at least a WARNING
5629
5630 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
5631
5632         * docs/random/ensonic/dparams.txt:
5633           some TODOs for the next dev cycle
5634         * libs/gst/controller/gstcontroller.c:
5635         (gst_controlled_property_set_interpolation_mode),
5636         (gst_controlled_property_new):
5637         * libs/gst/controller/gstcontroller.h:
5638           use base type to assign acccessor functions
5639
5640 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5641
5642         * check/Makefile.am:
5643         Oops, that should have been top_srcdir
5644
5645 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5646
5647         * check/Makefile.am:
5648         * check/elements/fdsrc.c: (GST_START_TEST):
5649         Use a cmdline define to specify the location of a file to use for
5650         testing, to avoid breaking distcheck.
5651
5652 2005-11-28  Andy Wingo  <wingo@pobox.com>
5653
5654         * gst/gstpad.c (fixate_value): Use array functions for arrays.
5655
5656 2005-11-28  Edward Hervey  <edward@fluendo.com>
5657
5658         * tools/gst-launch.c: (main):
5659         Clarify the output strings, makes it easier to translate.
5660         Fixes #322626
5661
5662 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5663
5664         * gst/Makefile.am:
5665           don't try and build net if we don't even have <sys/socket.h>
5666
5667 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
5668
5669         * check/Makefile.am:
5670         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
5671         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
5672           Add tests for fdsrc seekability
5673
5674         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5675         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
5676         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
5677         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
5678         * gst/elements/gstfdsrc.h:
5679           fdsrc should not be a 'live' source.
5680           Implement seeking on seekable fd's.
5681
5682         * gst/gstquery.c: (gst_query_new_seeking),
5683         (gst_query_parse_seeking):
5684         * gst/gstquery.h:
5685           Implement SEEKING query functions: 
5686             *_new_seeking and *_parse_seeking
5687
5688 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
5689
5690         * gst/gstelement.c: (gst_element_dispose):
5691           don't loop forever
5692
5693         * gst/gstiterator.c:
5694         * gst/gststructure.c:
5695           doc fixes
5696
5697         * libs/gst/controller/gstcontroller.c:
5698         (gst_controlled_property_set_interpolation_mode):
5699         * libs/gst/controller/gstcontroller.h:
5700         * libs/gst/controller/gstinterpolation.c:
5701         (interpolate_none_get_enum_value_array):
5702           support controlling enums
5703
5704 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5705
5706         * gst/gstvalue.c:
5707           Improve documentation for gst_value_union().
5708
5709         * gst/gstvalue.h:
5710           Change return value for union, intersect and subtract functions
5711           from gint to gboolean.
5712
5713 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5714
5715         * gst/gstvalue.c: (gst_value_serialize_any_list),
5716         (gst_value_transform_any_list_string),
5717         (gst_value_deserialize_list), (gst_value_deserialize_array),
5718         (gst_value_set_int_range), (gst_value_deserialize_int_range),
5719         (gst_value_set_double_range), (gst_value_deserialize_double_range),
5720         (gst_value_set_fraction_range_full),
5721         (gst_value_deserialize_fraction_range),
5722         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
5723         (gst_value_deserialize_boolean),
5724         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
5725         (gst_value_serialize_float), (gst_value_deserialize_float),
5726         (gst_string_wrap), (gst_value_deserialize_string),
5727         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
5728         (gst_value_union_int_range_int_range),
5729         (gst_value_intersect_int_range_int_range),
5730         (gst_value_intersect_double_range_double_range),
5731         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
5732         (gst_value_subtract_int_range_int_range),
5733         (gst_value_subtract_double_double_range),
5734         (gst_value_subtract_double_range_double_range),
5735         (gst_value_deserialize_fraction):
5736         * gst/gstvalue.h:
5737           Use gint, gdouble and gchar in our API instead of int, double and
5738           char (and make usage in gstvalue.c more consistent).
5739
5740 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5741
5742         * check/Makefile.am:
5743         * libs/gst/controller/Makefile.am:
5744         * libs/gst/dataprotocol/Makefile.am:
5745           fix up Makefile.am and remove GST_ENABLE_NEW
5746
5747 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5748
5749         * configure.ac:
5750         * gst/Makefile.am:
5751         * gst/base/Makefile.am:
5752         * gst/check/Makefile.am:
5753         * gst/elements/Makefile.am:
5754         * gst/net/Makefile.am:
5755           update LDFLAGS use some more
5756
5757 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5758
5759         * common/m4/gst-doc.m4:
5760           Fixes #312589
5761
5762 2005-11-26  Edward Hervey  <edward@fluendo.com>
5763
5764         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5765         This shouldn't issue a g_warning since it returns NULL if it
5766         couldn't find the plugin, and all functions using this behave
5767         properly on a NULL return. Switching to a GST_WARNING.
5768
5769 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
5770
5771         * gst/gstbin.c: (gst_bin_handle_message_func):
5772         Don't leak clock messages.
5773
5774 2005-11-25  Wim Taymans  <wim@fluendo.com>
5775
5776         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5777         (gst_util_uint64_scale_int):
5778         Optimisations, remove unneeded vars.
5779
5780 2005-11-25  Wim Taymans  <wim@fluendo.com>
5781
5782         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5783         Added more checks for the high precision uint64 cases.
5784
5785         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5786         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5787         Implement high precision (guint64 * guint64) / guint64.
5788
5789 2005-11-24  Wim Taymans  <wim@fluendo.com>
5790
5791         * gst/base/gstbasesrc.c: (gst_base_src_query):
5792         Fix wrong percentage query.
5793
5794         * gst/gstutils.c: (gst_util_uint64_scale),
5795         (gst_util_uint64_scale_int):
5796         Add some more common cases that can be handled 
5797         efficiently to _scale.
5798
5799 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5800
5801         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
5802         (gst_mini_object_suite):
5803           don't use check calls from threads; check probably isn't
5804           threadsafe and using a lock to make it threadsafe would
5805           defeat the purpose of this check
5806         * gst/check/gstcheck.c:
5807         * gst/check/gstcheck.h:
5808           use GST_DEBUG some more
5809
5810 2005-11-24  Wim Taymans  <wim@fluendo.com>
5811
5812         * gst/gstutils.c: (gst_util_uint64_scale),
5813         (gst_util_uint64_scale_int):
5814         Chain trivial case to _scale_int.
5815
5816 2005-11-24  Wim Taymans  <wim@fluendo.com>
5817
5818         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5819         Added test for scaling.
5820
5821         * gst/gstclock.h:
5822         Small doc fix.
5823
5824         * gst/gstutils.c: (gst_util_uint64_scale_int):
5825         Implemented high precision scaling code.
5826
5827 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
5828
5829         * gst/gstinfo.h:
5830           do not crash on pad==NULL
5831
5832 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5833
5834         Patch by: Stefan Kost
5835
5836         * common/gtk-doc.mak:
5837         * docs/gst/Makefile.am:
5838         * docs/libs/Makefile.am:
5839           Fix distcheck issues for the libraries docs build
5840           Closes #319599.
5841
5842 2005-11-24  Michael Smith <msmith@fluendo.com>
5843
5844         * docs/manual/basics-helloworld.xml:
5845           Fix bug #315027: memory leak in example code in docs.
5846
5847 2005-11-24  Michael Smith <msmith@fluendo.com>
5848
5849         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
5850           Unlock the PREROLL_LOCK in a failure case.
5851
5852 2005-11-24  Wim Taymans  <wim@fluendo.com>
5853
5854         * docs/gst/gstreamer-sections.txt:
5855         * gst/base/gstadapter.h:
5856         * gst/base/gstbasesink.h:
5857         * gst/base/gstbasesrc.h:
5858         * gst/base/gstbasetransform.h:
5859         * gst/base/gstpushsrc.h:
5860         * gst/elements/gstfakesink.h:
5861         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
5862         * gst/elements/gstfakesrc.h:
5863         * gst/elements/gstfilesink.h:
5864         * gst/elements/gstfilesrc.h:
5865         * gst/gst.c:
5866         * gst/gstbin.c:
5867         * gst/gstbuffer.c: (_gst_buffer_copy):
5868         * gst/gstbus.h:
5869         * gst/gstcaps.c:
5870         * gst/gstchildproxy.c:
5871         * gst/gstclock.c:
5872         * gst/gstelement.c:
5873         * gst/gstelementfactory.c:
5874         * gst/gstelementfactory.h:
5875         * gst/gstevent.c:
5876         * gst/gstghostpad.h:
5877         * gst/gstindex.h:
5878         * gst/gstinterface.h:
5879         * gst/gstminiobject.c:
5880         * gst/gstminiobject.h:
5881         * gst/gstpad.c:
5882         * gst/gstpad.h:
5883         * gst/gstpadtemplate.h:
5884         * gst/gstpipeline.h:
5885         * gst/gstpluginfeature.h:
5886         * gst/gstquery.h:
5887         * gst/gstqueue.h:
5888         * gst/gsttaglist.c:
5889         * gst/gsttaglist.h:
5890         * gst/gsttagsetter.c:
5891         * gst/gsttagsetter.h:
5892         * gst/gsttrace.c:
5893         * gst/gsttrace.h:
5894         * gst/gsttypefind.h:
5895         * gst/gsturi.h:
5896         * gst/gstvalue.c:
5897         * gst/net/gstnetclientclock.c:
5898         * gst/net/gstnetclientclock.h:
5899         * gst/net/gstnettimepacket.c:
5900         * gst/net/gstnettimeprovider.c:
5901         * gst/net/gstnettimeprovider.h:
5902         Doc fixes.
5903
5904 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5905
5906         * configure.ac: back to HEAD
5907
5908 === release 0.9.6 ===
5909
5910 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
5911
5912         * configure.ac:
5913           releasing 0.9.6, "Always On Time"
5914
5915 2005-11-23  Wim Taymans  <wim@fluendo.com>
5916
5917         * docs/gst/gstreamer-sections.txt:
5918         * gst/glib-compat.c:
5919         * gst/gsttagsetter.c:
5920         * gst/gstvalue.c:
5921         * gst/net/gstnetclientclock.c:
5922         * gst/net/gstnettimepacket.h:
5923         Doc updates.
5924
5925 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
5926
5927         * docs/faq/using.xml:
5928         * docs/libs/tmpl/gstcontrol.sgml:
5929         * docs/manual/advanced-dparams.xml:
5930         * docs/manual/appendix-checklist.xml:
5931         * docs/manual/basics-elements.xml:
5932         * docs/pwg/other-source.xml:
5933         * docs/random/moving-plugins:
5934         * gst/gstpad.c:
5935         * tools/gst-launch.1.in:
5936           remove mentions of sinesrc
5937
5938 2005-11-23  Michael Smith <msmith@fluendo.com>
5939
5940         * docs/gst/gstreamer-sections.txt:
5941           Update for new API and API changes.
5942         * gst/gstobject.h:
5943           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
5944         * gst/gstvalue.c:
5945           Documentation typo fix.
5946         * gst/net/gstnettimepacket.c:
5947           Documentation fixes for arguments.
5948
5949 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
5950
5951         * gst/gststructure.c: (gst_structure_get_fraction),
5952         (gst_structure_parse_value),
5953         (gst_structure_fixate_field_nearest_fraction):
5954         * gst/gststructure.h:
5955         * gst/gstutils.c: (gst_util_uint64_scale_int):
5956         * gst/gstutils.h:
5957         * scripts/update-funcnames:
5958         API Changes. 
5959         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
5960         Make gst_structure_fixate_field_nearest_fraction take a numerator
5961         and denominator argument instead of a GValue
5962         add gst_structure_get_fraction helper function.
5963
5964 2005-11-23  Wim Taymans  <wim@fluendo.com>
5965
5966         * docs/design/part-TODO.txt:
5967         Update TODO.
5968
5969         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
5970         * gst/net/gstnetclientclock.h:
5971         Use parent fields for timeout and window_size.
5972
5973 2005-11-23  Andy Wingo  <wingo@pobox.com>
5974
5975         * check/net/gstnetclientclock.c (test_functioning): Adjust to
5976         rate_num/rate_denom change.
5977
5978         * gst/net/gstnetclientclock.c
5979         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
5980         OBJECT_LOCK. Don't call add_observation with the lock.
5981
5982         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
5983         fraction.
5984         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
5985         rate fraction.
5986         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
5987         deal with rate as a fraction whose numerator and denominator are
5988         GstClockTime values.
5989         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
5990         master; the other fields are protected by the SLAVE_LOCK.
5991         (do_linear_regression): Note that this must be called with the
5992         SLAVE_LOCK.
5993         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
5994         OBJECT_LOCK. Call set_calibration instead of touching the
5995         variables directly.
5996         (gst_clock_set_property, gst_clock_get_property): Protect
5997         master/slave parameters with the SLAVE_LOCK.
5998
5999         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
6000         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
6001         note that all of the instance variables that add_observation and
6002         the set_master functions use are protected by that lock and not
6003         the OBJECT_LOCK.
6004         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
6005
6006         * gst/gstclock.c (gst_clock_add_observation): No longer requires
6007         the caller to take the object lock.
6008
6009 2005-11-23  Wim Taymans  <wim@fluendo.com>
6010
6011         * gst/gsterror.c: (_gst_core_errors_init):
6012         * gst/gsterror.h:
6013         Add error for clock stuff.
6014
6015         * gst/gstpipeline.c: (gst_pipeline_change_state),
6016         (gst_pipeline_set_clock):
6017         Post clock error when clock cannot be used in a pipeline.
6018
6019 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
6020
6021         * docs/gst/gstreamer-sections.txt:
6022           make two symbols from gstinfo private for the docs
6023         * gst/base/gstcollectpads.h:
6024         * gst/gstutils.c:
6025           fix doc typos, update docs
6026
6027 2005-11-22  Wim Taymans  <wim@fluendo.com>
6028
6029         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6030         (gst_base_sink_wait), (gst_base_sink_do_sync),
6031         (gst_base_sink_handle_event):
6032         * gst/base/gstbasesink.h:
6033         No need to store the clock, the parent element class already
6034         has it.
6035
6036         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6037         Updates for clock_set returning a gboolean
6038
6039         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6040         (gst_clock_id_wait_async), (gst_clock_class_init),
6041         (gst_clock_init), (gst_clock_finalize),
6042         (gst_clock_get_internal_time), (gst_clock_get_time),
6043         (gst_clock_slave_callback), (gst_clock_set_master),
6044         (gst_clock_get_master), (do_linear_regression),
6045         (gst_clock_add_observation), (gst_clock_set_property),
6046         (gst_clock_get_property):
6047         * gst/gstclock.h:
6048         Implement master/slave. When setting a clock as a slave, a
6049         periodic timeout is scheduled to sample master and slave times.
6050         Then the slave clock is recalibrated to match offset and rate
6051         of the master clock.
6052         Update logging a bit.
6053         Add flag so that a clock can state that is cannot be slaved to
6054         another clock.
6055
6056         * gst/gstelement.c: (gst_element_set_clock):
6057         * gst/gstelement.h:
6058         The set clock returns a gboolean for when an element cannot
6059         deal with the selected clock in the pipeline. 
6060
6061         * gst/gstpipeline.c: (gst_pipeline_change_state),
6062         (gst_pipeline_set_clock):
6063         * gst/gstpipeline.h:
6064         Handle the case where the selected clock cannot be set on
6065         the pipeline.
6066
6067         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6068         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6069         (gst_net_client_clock_set_property),
6070         (gst_net_client_clock_get_property),
6071         (gst_net_client_clock_observe_times):
6072         * gst/net/gstnetclientclock.h:
6073         Use regression code in GstClock parent, remove duplicated
6074         functionality.
6075
6076 2005-11-22  Michael Smith <msmith@fluendo.com>
6077
6078         * gst/gstutils.c: (gst_util_clock_time_scale):
6079         * gst/gstutils.h:
6080         * docs/gst/gstreamer-sections.txt:
6081           Rename method to have extra underscore.
6082
6083 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6084
6085         * gst/elements/Makefile.am:
6086         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6087         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6088         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6089         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6090         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6091         * gst/elements/gstfakesrc.h:
6092         * gst/gstqueue.c: (queue_leaky_get_type):
6093           correctly fix GEnumValues so that nick is the short lowercase
6094           dashed tag
6095         * tools/gst-inspect.c: (print_element_properties_info):
6096           also show the nick, since it's useful to use from parse_launch
6097           syntax
6098           Fixes #322139
6099
6100 2005-11-22  Michael Smith <msmith@fluendo.com>
6101
6102         * gst/gstutils.c: (gst_util_clocktime_scale):
6103         * gst/gstutils.h:
6104         * docs/gst/gstreamer-sections.txt:
6105           Add util method for scaling a clocktime by a fraction. Useful 
6106           implementation is left as an exercise for the reader.
6107
6108 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6109
6110         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6111         If needed, allocate storage in the destination value during
6112         collection.
6113
6114 2005-11-22  Edward Hervey  <edward@fluendo.com>
6115
6116         * docs/gst/gstreamer-sections.txt:
6117         * gst/Makefile.am:
6118         * gst/gst.h:
6119         * gst/gsturitype.c:
6120         * gst/gsturitype.h:
6121         * gst/gstutils.c: (gst_util_set_object_arg):
6122         * tools/gst-compprep.c: (main):
6123         * tools/gst-inspect.c: (print_element_properties_info):
6124         Removed GstURI, closes bug #321061
6125
6126 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6127
6128         * check/gst/gststructure.c: (GST_START_TEST):
6129         * gst/gststructure.c: (gst_structure_parse_value):
6130           Oops, broke automatic string type parsing.
6131           Add a test to catch it in future.
6132
6133 2005-11-22  Andy Wingo  <wingo@pobox.com>
6134
6135         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
6136         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6137         Actually rename the function implementations. Grr.
6138
6139 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6140
6141         * check/gst/capslist.h:
6142           Comment test cases
6143         * check/gst/gststructure.c: (GST_START_TEST),
6144         (gst_structure_suite):
6145           Test automatic value type detection in gst_structure_from_string.
6146         * gst/gststructure.c: (gst_structure_parse_value):
6147           Add fraction as a type we try and guess automatically in
6148           caps/structure strings.
6149
6150 2005-11-22  Andy Wingo  <wingo@pobox.com>
6151
6152         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6153
6154         * gst/gsttagsetter.h:
6155         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6156         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6157         (gst_tag_setter_add_tag_valist)
6158         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6159         _add_values, _add_valist, and _add_valist_values. Since this is an
6160         interface the function suffixes should be more explicit so
6161         language binding don't end up with element.add_valist ->
6162         gst_tag_setter_add_valist, for example. Fixes #322069.
6163
6164 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6165
6166         * check/gst/gstcaps.c: (GST_START_TEST):
6167           Extend caps string tests to check that a caps to string
6168           conversion is reversible and produces the same caps.
6169
6170         * gst/gststructure.c: (gst_structure_value_get_generic_type):
6171           Output "fraction" as the generic type fraction range, so caps
6172           serialisation and deserialisation works.
6173         * check/gst/capslist.h:
6174         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6175           Support 'MIN' and 'MAX' for deserialising fractions.
6176
6177 2005-11-22  Andy Wingo  <wingo@pobox.com>
6178
6179         * gst/gstevent.h (gst_event_new_new_segment)
6180         (gst_event_parse_new_segment, gst_event_new_buffer_size)
6181         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6182         Renamed from *_newsegment, *_buffersize, *_notarget.
6183
6184         * scripts/update-funcnames: New script, performs the changes
6185         listed above.
6186
6187 2005-11-22  Wim Taymans  <wim@fluendo.com>
6188
6189         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6190         Make sure the GstFlowReturn is returned.
6191
6192         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6193         (gst_bus_add_signal_watch):
6194         * gst/gstbus.h:
6195         add gst_bus_add_signal_watch_full.
6196
6197         * gst/gstplugin.c: (gst_plugin_load_file):
6198         Small style cleanup.
6199
6200 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6201
6202         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6203           Block the fakesrc srcpad when we send an event, to avoid
6204           contention on the stream_lock causing random test failures.
6205
6206 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6207
6208         * check/gst/gstvalue.c: (GST_START_TEST):
6209         * gst/gstvalue.c: (gst_value_fraction_subtract):
6210           Fix subtraction.
6211
6212 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
6213
6214         * gst/gst.h:
6215           include "gstchildproxy.h"
6216         * gst/gstchildproxy.h:
6217         * libs/gst/controller/gstcontroller.h:
6218           use G_GNUC_NULL_TERMINATED
6219
6220 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6221
6222         * check/gst/capslist.h:
6223         * check/gst/gstcaps.c: (GST_START_TEST):
6224         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6225         * gst/gststructure.c: (gst_structure_parse_range),
6226         (gst_structure_fixate_field_nearest_fraction):
6227         * gst/gststructure.h:
6228         * gst/gstvalue.c: (gst_value_init_fraction_range),
6229         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6230         (gst_value_collect_fraction_range),
6231         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6232         (gst_value_set_fraction_range_full),
6233         (gst_value_get_fraction_range_min),
6234         (gst_value_get_fraction_range_max),
6235         (gst_value_serialize_fraction_range),
6236         (gst_value_transform_fraction_range_string),
6237         (gst_value_compare_fraction_range),
6238         (gst_value_deserialize_fraction_range),
6239         (gst_value_intersect_fraction_fraction_range),
6240         (gst_value_intersect_fraction_range_fraction_range),
6241         (gst_value_subtract_fraction_fraction_range),
6242         (gst_value_subtract_fraction_range_fraction),
6243         (gst_value_subtract_fraction_range_fraction_range),
6244         (gst_value_collect_fraction), (gst_value_fraction_multiply),
6245         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6246         (gst_value_transform_string_fraction), (_gst_value_initialize):
6247         * gst/gstvalue.h:
6248           Implement fraction ranges and extend GstFraction to support
6249           arithmetic subtraction, as well as deserialization from integer
6250           strings such as "100"
6251           Add a testsuite as for int and double range set operations
6252
6253 2005-11-21  Andy Wingo  <wingo@pobox.com>
6254
6255         * gst/gsttaglist.h: 
6256         * gst/gstcaps.h: 
6257         * gst/gststructure.h: Add glib-compat.h.
6258
6259 2005-11-21  Wim Taymans  <wim@fluendo.com>
6260
6261         * gst/gstbin.c: (gst_bin_change_state_func):
6262         Fix for #321595
6263
6264 2005-11-21  Wim Taymans  <wim@fluendo.com>
6265
6266         * gst/gstsegment.h:
6267         And add a nice define too.
6268
6269 2005-11-21  Wim Taymans  <wim@fluendo.com>
6270
6271         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6272         (gst_segment_new), (gst_segment_free), (gst_segment_init),
6273         (gst_segment_set_duration), (gst_segment_set_last_stop),
6274         (gst_segment_set_seek), (gst_segment_set_newsegment),
6275         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6276         (gst_segment_clip):
6277         * gst/gstsegment.h:
6278         Make binding friendly.
6279
6280 2005-11-21  Andy Wingo  <wingo@pobox.com>
6281
6282         * gst/gsttagsetter.h: 
6283         * gst/gsttaglist.h: 
6284         * gst/gststructure.h: 
6285         * gst/gstcaps.h: 
6286         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6287         #319940.
6288
6289         * gst/gsterror.c (_gst_core_errors_init):
6290         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6291         category.
6292
6293         * gst/Makefile.am (gst_headers): Add glib-compat.h.
6294         (noinst_HEADERS): noinst the -private.
6295
6296 2005-11-21  Michael Smith <msmith@fluendo.com>
6297
6298         * gst/gstplugin.h:
6299         * gst/gstregistry.h:
6300           Remove unimplemented declarations for which we can see no sensible
6301           use.
6302
6303 2005-11-21  Andy Wingo  <wingo@pobox.com>
6304
6305         * gst/gst.h: Include glib-compat.h.
6306
6307         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6308
6309         * gst/glib-compat.c: Include the public and the private header.
6310
6311         * gst/glib-compat-private.h: Copied here from glib-compat.h.
6312
6313         * gst/gstvalue.c: 
6314         * gst/gstpad.c: 
6315         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6316
6317         * check/gst/gstevent.c (create_custom_events): Check that
6318         FLUSH_STOP is serialized.
6319
6320         * check/elements/identity.c (event_func): 
6321         * check/elements/fakesrc.c (event_func): No stream lock, the core
6322         takes it.
6323
6324         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6325         stream lock taking, yay.
6326
6327         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6328         ensure that core takes the stream lock.
6329
6330         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6331         lock name change.
6332
6333         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6334         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6335         it already. For the flush start we do take it though so we get the
6336         right preroll state change messages.
6337
6338         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6339         the stream lock here, the core does it for us.
6340
6341         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6342         GST_STREAM_GET_LOCK.
6343         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
6344         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
6345         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6346         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6347         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
6348         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6349
6350         * gst/gstpad.c: Update for stream lock name change.
6351
6352         * gst/base/gstbasesink.c: Update for preroll lock name change.
6353
6354 2005-11-21  Wim Taymans  <wim@fluendo.com>
6355
6356         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6357         (gst_clock_get_master):
6358         * gst/gstclock.h:
6359         * gst/gstsystemclock.c: (gst_system_clock_init):
6360         Convert Clock flags to object flags.
6361         Added methods to manage master/slave clocks.
6362
6363 2005-11-21  Wim Taymans  <wim@fluendo.com>
6364
6365         * check/gst/gstsegment.c: (GST_START_TEST):
6366         * docs/design/part-TODO.txt:
6367         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6368         (gst_base_sink_event), (gst_base_sink_do_sync),
6369         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6370         (gst_base_sink_query), (gst_base_sink_change_state):
6371         * gst/base/gstbasesink.h:
6372         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6373         (gst_base_src_default_newsegment),
6374         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6375         (gst_base_src_get_range), (gst_base_src_loop),
6376         (gst_base_src_change_state):
6377         * gst/base/gstbasesrc.h:
6378         * gst/base/gstbasetransform.c:
6379         (gst_base_transform_prepare_output_buf),
6380         (gst_base_transform_event), (gst_base_transform_change_state):
6381         * gst/base/gstbasetransform.h:
6382         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6383         (gst_collect_pads_event):
6384         * gst/base/gstcollectpads.h:
6385         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6386         (gst_fake_src_create):
6387         * gst/elements/gstfakesrc.h:
6388         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6389         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6390         (gst_segment_set_last_stop), (gst_segment_set_seek),
6391         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6392         (gst_segment_to_running_time), (gst_segment_clip):
6393         * gst/gstsegment.h:
6394         More segment updates, replace code in plugins with segment
6395         helper functions.
6396
6397 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6398
6399         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6400         Don't ignore sscanf results
6401
6402 2005-11-21  Andy Wingo  <wingo@pobox.com>
6403
6404         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6405
6406         * *.h:
6407         * *.c: Ran scripts/update-macros. Oh yes.
6408
6409         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6410         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6411         GST_GET_LOCK, etc.
6412
6413         * scripts/update-macros: New script. Run it on your files to
6414         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6415         well.
6416
6417 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6418
6419         * docs/gst/Makefile.am:
6420         * docs/gst/gstreamer-docs.sgml:
6421         * docs/gst/gstreamer-sections.txt:
6422         * docs/gst/gstreamer.types:
6423         * gst/gstinfo.h:
6424           more docs fixes, add new api to the docs
6425
6426 2005-11-21  Andy Wingo  <wingo@pobox.com>
6427
6428         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6429         state_broadcast call.
6430
6431         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6432
6433 2005-11-21  Julien MOUTTE  <julien@moutte.net>
6434
6435         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6436         function calls for arrays.
6437
6438 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6439
6440         * docs/random/ensonic/media-device-daemon.txt:
6441           wild idea, can this be done?
6442         * docs/gst/gstreamer-sections.txt:
6443         * gst/gsterror.h:
6444         * gst/gstfilter.c:
6445         * gst/gstfilter.h:
6446         * gst/gstplugin.h:
6447         * gst/gstpluginfeature.c:
6448         * gst/gsttrace.c:
6449         * gst/gstvalue.c:
6450         * gst/gstvalue.h:
6451           doc fixes and additions
6452
6453 2005-11-21  Andy Wingo  <wingo@pobox.com>
6454
6455         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
6456         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
6457         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
6458         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6459         private to the basesrc implementation.
6460
6461         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6462         behalf of event function if necessary. It should no longer be
6463         necessary to take the stream lock in pad's event functions. Fixes
6464         #320299.
6465
6466 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6467         * docs/gst/gstreamer-sections.txt:
6468         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6469         (gst_structure_fixate_field_nearest_double),
6470         (gst_structure_fixate_field_boolean):
6471         * gst/gststructure.h:
6472         * win32/common/libgstreamer.def:
6473         * win32/gstreamer.def:
6474
6475         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6476         (#322027)
6477
6478 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6479
6480         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6481         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6482         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6483         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6484         (gst_fdsrc_uri_handler_init):
6485         * gst/elements/gstfdsrc.h:
6486           Port fd:// URI handler from 0.8 to fdsrc
6487
6488 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6489
6490         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6491         (gst_value_serialize_fourcc):
6492         * gst/gstvalue.h:
6493           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6494           consistent with our other format defines (#320324).
6495
6496 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6497
6498         * gst/gstvalue.c: (gst_value_is_fixed):
6499           Revert previous commit. Value lists are by definition
6500           not fixed, as they are a list of possible values.
6501
6502 2005-11-21  Andy Wingo  <wingo@pobox.com>
6503
6504         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6505         during the stable series if we need it. Fixes #319178.
6506
6507         * gst/gstevent.c (gst_event_new_filler): Removed.
6508
6509         * check/gst/gstevent.c: Update comment about filler events.
6510
6511 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6512
6513         * gst/gstvalue.c: (gst_value_is_fixed):
6514           Should handle both value arrays and value lists.
6515
6516 2005-11-21  Andy Wingo  <wingo@pobox.com>
6517
6518         patch by: Alessandro Dessina <alessandro nnva org>
6519
6520         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6521         functions to access arrays. Fixes #321962.
6522
6523 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6524
6525         * docs/gst/gstreamer.types:
6526           gst_collectpads_get_type => gst_collect_pads_get_type.
6527           
6528         * gst/base/gstbasetransform.c:
6529           Remove unused SIGNAL_HANDOFF enum.
6530
6531 2005-11-21  Andy Wingo  <wingo@pobox.com>
6532
6533         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6534         the event type (upstream, downstream, serialized). Renamed
6535         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6536         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6537         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6538
6539         * gst/gstevent.c: Update for new CUSTOM event names.
6540
6541         * check/gst/gstevent.c: Update check for new CUSTOM event names.
6542
6543         * gst/gstevent.h:
6544         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
6545         bug #319392.
6546
6547 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6548
6549         * docs/gst/gstreamer-sections.txt:
6550         * win32/common/libgstbase.def:
6551         * win32/libgstbase.def:
6552         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6553         (gst_collect_pads_class_init), (gst_collect_pads_init),
6554         (gst_collect_pads_finalize), (gst_collect_pads_new),
6555         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
6556         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
6557         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
6558         (gst_collect_pads_start), (gst_collect_pads_stop),
6559         (gst_collect_pads_peek), (gst_collect_pads_pop),
6560         (gst_collect_pads_available), (gst_collect_pads_read),
6561         (gst_collect_pads_flush), (gst_collect_pads_event),
6562         (gst_collect_pads_chain):
6563         * gst/base/gstcollectpads.h:
6564           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
6565           unimplemented functions as unimplemented. Add padding to
6566           GstCollectData. (#320766, #320423)
6567
6568 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6569
6570         * gst/gstmessage.c:
6571           Improve docs for DURATION message (usage of duration parameter)
6572           (#320113)
6573
6574 2005-11-20  Wim Taymans  <wim@fluendo.com>
6575
6576         * check/Makefile.am:
6577         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
6578         (main):
6579         * gst/Makefile.am:
6580         * gst/gst.h:
6581         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6582         (gst_segment_set_seek), (gst_segment_set_newsegment),
6583         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6584         (gst_segment_clip):
6585         * gst/gstsegment.h:
6586         Added segment helper structure and methods. Not fully implemented
6587         yet.
6588         Added segment check.
6589
6590 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
6591
6592         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6593           Add a deserialisation test for fractions
6594         * examples/metadata/read-metadata.c: (message_loop),
6595         (make_pipeline), (main):
6596           Fix up metadata reading sample.
6597         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6598           Debug format fix
6599         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6600           Don't try and fixate empty caps
6601         * gst/gst_private.h:
6602           Wrap in G_BEGIN_DECLS/G_END_DECLS
6603         * gst/gstvalue.c: (gst_value_collect_fraction),
6604         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
6605         (gst_value_transform_string_fraction),
6606         (gst_value_compare_fraction):
6607           Add some extra guards to ensure that we don't end up 
6608           with an invalid denominator of 0 in a gstfraction and
6609           that fractions always get reduced.
6610
6611 2005-11-20  Wim Taymans  <wim@fluendo.com>
6612
6613         * docs/gst/gstreamer-sections.txt:
6614         * gst/gstbuffer.h:
6615         * gst/gstelement.c:
6616         * gst/gstformat.c:
6617         * gst/gstformat.h:
6618         * gst/gstindex.h:
6619         * gst/gstquery.c:
6620         * gst/gstquery.h:
6621         * gst/gstvalue.c:
6622         Doc fixes.
6623
6624 2005-11-20  Wim Taymans  <wim@fluendo.com>
6625
6626         * docs/design/part-TODO.txt:
6627         * gst/gstcaps.h:
6628         Make a proper enum of the flag.
6629
6630 2005-11-19  Wim Taymans  <wim@fluendo.com>
6631
6632         * docs/design/part-TODO.txt:
6633         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
6634         (gst_format_to_quark), (gst_format_register):
6635         * gst/gstformat.h:
6636         * gst/gstquery.c: (_gst_query_initialize),
6637         (gst_query_type_get_name), (gst_query_type_to_quark),
6638         (gst_query_type_register):
6639         * gst/gstquery.h:
6640         Add type to quark and type to string conversions.
6641
6642 2005-11-19  Andy Wingo  <wingo@pobox.com>
6643
6644         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
6645         #320097.
6646
6647 2005-11-19  Wim Taymans  <wim@fluendo.com>
6648
6649         * docs/design/part-TODO.txt:
6650         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6651         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
6652         (gst_bin_handle_message_func):
6653         * gst/gstbin.h:
6654         Make message handling overridable.
6655
6656 2005-11-19  Andy Wingo  <wingo@pobox.com>
6657
6658         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
6659
6660         * gst/gstclock.h:
6661         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
6662         be a GstClockTime.
6663         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
6664         is a GstClockTime. Fixes #321710.
6665
6666         * gst/gstclock.h (GstClock): Remove offset property. Add
6667         internal_calibration and external_calibration. Fix padding. Pad
6668         also by GstClockTime so we don't run into problems.
6669
6670         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
6671         (gst_clock_get_rate_offset): Remove.
6672         (gst_clock_set_time_adjust): Remove. Fixes #321712.
6673
6674         * gst/gstutils.h:
6675         * gst/gstutils.c (g_static_rec_cond_wait)
6676         (g_static_rec_cond_timed_wait): Removed, no longer needed.
6677
6678         * gst/gstbin.c: Remove terrible continue_state prototype.
6679
6680         * gst/gstelement.h (gst_element_continue_state): Make public.
6681
6682         * gst/gstelement.h:
6683         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
6684         by continue_state. Fixes #319389.
6685
6686         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
6687         Really fixes #168438. However I don't see anywhere where the
6688         filter function is called... stupid GStreamer...
6689         
6690         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
6691         don't have a dispose function, so it won't get called when the
6692         object is unreffed, but oh well!
6693
6694         * gst/gstindex.c (gst_index_set_filter_full): New API function,
6695         allows a destroy function to be set so user_data can be freed.
6696         Fixes #168438.
6697         (gst_index_set_filter): Call gst_index_set_filter_full.
6698
6699         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
6700
6701         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
6702         string should produce an error, given the lack of a way to
6703         represent NULL strings. Fixes #165650.
6704         
6705         * gst/gstvalue.h: 
6706         * gst/gstvalue.c (gst_value_array_append_value) 
6707         (gst_value_array_prepend_value, gst_value_array_get_size) 
6708         (gst_value_array_get_value): New API, copied from
6709         gst_value_list_*, only operates on arrays.
6710         (gst_value_list_append_value, gst_value_list_prepend_value) 
6711         (gst_value_list_concat, gst_value_list_get_size) 
6712         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
6713
6714         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
6715         init_list, because it works on both.
6716         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
6717         (gst_value_copy_list_or_array): Renamed from copy_list.
6718         (gst_value_free_list_or_array): Renamed from free_list.
6719         (gst_value_collect_list_or_array): Renamed from collect_list.
6720         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
6721         (gst_value_list_or_array_peek_pointer): Renamed from
6722         list_peek_pointer.
6723         (_gst_value_array_value_table, _gst_value_list_value_table):
6724         Update value table functions.
6725         (gst_value_compare_list_or_array): Renamed from compare_list.
6726
6727         * gsttaglist.h: Whoops, foreach function returns void. Also fix
6728         some constness.
6729
6730         * gst/gsttaglist.c:
6731         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
6732         GstTagList*. Fixes #143472.
6733
6734         * gst/gststructure.h: Clarify what the foreach/map functions can
6735         or can't do to their arguments.
6736
6737 2005-11-18  Wim Taymans  <wim@fluendo.com>
6738
6739         * gst/gstclock.c: (gst_clock_set_calibration),
6740         (gst_clock_get_calibration):
6741         Doc and API fixes.
6742         Calibration can be set with internal time equal to current
6743         internal time too.
6744
6745 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6746
6747         * gst/gsterror.c:
6748         * gst/gsterror.h:
6749           document
6750
6751 2005-11-18  Andy Wingo  <wingo@pobox.com>
6752
6753         * configure.ac: 
6754         * pkgconfig/gstreamer-net.pc.in:
6755         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6756         * pkgconfig/Makefile.am: Add net pkgconfig files.
6757
6758 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
6759
6760         * gst/gstcaps.c:
6761         * gst/gstghostpad.c:
6762         * gst/gsttrace.c:
6763         * gst/gstvalue.c:
6764         * gst/gstvalue.h:
6765           docs fixes
6766
6767 2005-11-18  Andy Wingo  <wingo@pobox.com>
6768
6769         * gst/net/gstnetclientclock.c: Turn off debugging.
6770
6771         * check/net/gstnetclientclock.c (test_functioning): Assert that the
6772         times connverge somewhat. Can't make a real test.
6773
6774         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
6775         integer arithmetic. Return the minimum of the domain, which can be
6776         set as "internal" for gst_clock_set_calibration.
6777         (gst_net_client_clock_observe_times): Call _set_calibration.
6778         (gst_net_client_clock_new): Call _set_calibration instead of
6779         rate_offset.
6780
6781         * check/net/gstnetclientclock.c (test_functioning): Use the right
6782         adjustment api.
6783
6784         * gst/gstclock.h:
6785         * gst/gstclock.c (gst_clock_get_calibration) 
6786         (gst_clock_set_calibration): New functions, obsolete the ones I
6787         added yesterday. Doh. Precision issues mean we have to extrapolate
6788         from a point in the more recent past than 1970.
6789         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
6790         obsolete.
6791         (gst_clock_adjust_unlocked): Use the right calibration data.
6792
6793 2005-11-18  Edward Hervey  <edward@fluendo.com>
6794
6795         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
6796         Also reset the ->current_* values in READY->PAUSED
6797
6798 2005-11-18  Andy Wingo  <wingo@pobox.com>
6799
6800         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
6801         Whoops, check the right fd. Also add some debugging.
6802         (gst_net_client_clock_observe_times): Adjust for int64 offset.
6803         (do_linear_regression): Add a crapload of debugging. Subtract off
6804         the minimum values from the input series to discard unneeded bits.
6805         Use only int arithmetic. There is still double arithmetic when
6806         calculating the intercept that needs fixing. Return boolean to
6807         indicate success; FALSE would mean the domain or range is too
6808         great. Still needs fixes.
6809
6810 2005-11-18  Wim Taymans  <wim@fluendo.com>
6811
6812         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
6813         For the current position in stream time, we need to subtract
6814         accumulated time.
6815         
6816         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
6817         Release lock before calling the callback function of async
6818         entries.
6819
6820 2005-11-18  Andy Wingo  <wingo@pobox.com>
6821
6822         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
6823         Port goes all the way to MAXUINT16.
6824
6825         * gst/net/gstnettimeprovider.c: Make the port range the same as
6826         for the kernel: 0 assigns, otherwise ports are less than
6827         MAXUINT16.
6828
6829         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
6830         port change.
6831
6832         * check/net/gstnetclientclock.c (test_functioning): Add the start
6833         of another test. 
6834
6835 2005-11-18  Wim Taymans  <wim@fluendo.com>
6836
6837         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
6838         (gst_bin_remove_func), (bin_bus_handler):
6839         * gst/gstbin.h:
6840         Removing a clock provider from a bin, triggers a clock lost message
6841         so that a new clock will be selected.
6842         Adding a clock to a bin triggers a clock provider message.
6843         Make sure we reselect a clock when we received a clock lost message.
6844         Keep a reference to the element that provided the clock.
6845
6846 2005-11-18  Andy Wingo  <wingo@pobox.com>
6847
6848         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
6849         the clock initially so it produces values around the base time.
6850         (gst_net_client_clock_class_init): Typo fix.
6851         (gst_net_client_clock_thread): Add note on when the socket gets
6852         closed.
6853
6854 2005-11-17  Wim Taymans  <wim@fluendo.com>
6855
6856         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
6857         Free remote and local time arrays.
6858
6859 2005-11-17  Wim Taymans  <wim@fluendo.com>
6860
6861         * gst/net/gstnetclientclock.c: (do_linear_regression),
6862         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
6863         Fix compilation, uninitialized vars and a forgotten continue.
6864
6865 2005-11-17  Andy Wingo  <wingo@pobox.com>
6866
6867         * check/Makefile.am (check_PROGRAMS): 
6868         * check/net/gstnetclientclock.c: Add a most minimal test for the
6869         net client clock. More to come later.
6870
6871         * gst/net/gstnet.h: 
6872         * gst/net/Makefile.am: Add netclientclock.
6873
6874         * gst/net/gstnetclientclock.h:
6875         * gst/net/gstnetclientclock.c: New files, implement an untested
6876         GstClock that takes its time from a network time provider.
6877         Implements the algorithm in network-clock.scm.
6878
6879         * tests/network-clock.scm (*window-size*): Rename from
6880         *queue-length*.
6881         * tests/network-clock.scm (network-time): 
6882         * tests/network-clock-utils.scm (q-push): Update callers.
6883
6884 2005-11-17  Wim Taymans  <wim@fluendo.com>
6885
6886         * gst/gstbin.c: (gst_bin_provide_clock_func),
6887         (gst_bin_sort_iterator_new):
6888         And unref the child too..
6889
6890 2005-11-17  Wim Taymans  <wim@fluendo.com>
6891
6892         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
6893         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
6894         Refactor the sort iterator so it can be used while holding the
6895         LOCK too.
6896         Make clock selection select a clock closest to the source.
6897
6898 2005-11-17  Michael Smith <msmith@fluendo.com>
6899
6900         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
6901         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
6902         * gst/gstclock.h:
6903           Anonymous structs are a gcc (and some other compilers) extension, so
6904           don't use them. Since this is only for ABI-compatibility, and our
6905           API/ABI freeze is over in a few days, this whole thing will only
6906           last a few days, so don't bother trying to think up a meaningful
6907           name for the struct.
6908
6909 2005-11-17  Andy Wingo  <wingo@pobox.com>
6910
6911         * gst/gstclock.h (GstClock): Add rate and offset properties,
6912         preserving ABI stability. Add rate/offset accessors. Will file bug
6913         for the freeze break.
6914
6915         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
6916         and offset, trying to keep precision and avoiding
6917         underflow/overflow.
6918         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
6919         functions. Make gst_clock_set_time_adjust obsolete.
6920         (gst_clock_set_time_adjust): Note that this function is obsolete.
6921         Will file bug soon.
6922
6923         * gst/base/gstbasetransform.h: Make the ABI-stability hack
6924         greppable by using GST_PADDING-1+1.
6925
6926 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
6927
6928         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
6929
6930         * gst/gstmessage.c: (gst_message_parse_clock_lost):
6931           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
6932
6933         * gst/gstpadtemplate.h:
6934         * gst/gstpluginfeature.h:
6935           Don't use c++ style comments in headers (#321638).
6936
6937 2005-11-16  Andy Wingo  <wingo@pobox.com>
6938
6939         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
6940         buffer.
6941
6942         * check/net/gstnettimeprovider.c: Check to see that the time
6943         provider actually provides times. Works, yo!
6944
6945 2005-11-16  Wim Taymans  <wim@fluendo.com>
6946
6947         * check/Makefile.am:
6948         Enable more tests.
6949
6950         * check/elements/fakesrc.c: (GST_START_TEST):
6951         Set element to NULL before disposing it.
6952
6953 2005-11-16  Andy Wingo  <wingo@pobox.com>
6954
6955         * gst/net/Makefile.am:
6956         * gst/net/gstnet.h:
6957         * gst/net/gstnettimeprovider.c: 
6958         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
6959         provider, include it from gstnet.h, and add it to the build.
6960
6961         * gst/net/gstnettimepacket.h: 
6962         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
6963         sending and receiving.
6964
6965 2005-11-16  Wim Taymans  <wim@fluendo.com>
6966
6967         * check/Makefile.am:
6968         Enable valgrind check.
6969
6970         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
6971         (gst_fake_src_alloc_buffer):
6972         Fix memleak.
6973
6974 2005-11-16  Wim Taymans  <wim@fluendo.com>
6975
6976         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
6977         Call parent finalize too.
6978
6979 2005-11-16  Wim Taymans  <wim@fluendo.com>
6980
6981         * check/Makefile.am:
6982         Enable valgrind check that should work fine now.
6983
6984         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
6985         * gst/gstqueue.c: (gst_queue_init):
6986         Fix memleaks in pad allocation.
6987
6988 2005-11-16  Andy Wingo  <wingo@pobox.com>
6989
6990         * gst/net/Makefile.am:
6991         * gst/net/gstnet.h: New part of core to hold network elements and
6992         objects. Put in core because it exposes API that applications want
6993         to use. The library is named libgstnet-tempname right now because
6994         of the existing libgstnet in gst-plugins-base. Solution is
6995         probably to rename the one in plugins-base; will file a bug for
6996         the freeze break.
6997
6998         * gst/net/gstnettimeprovider.c: 
6999         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
7000         get_time call over the network.
7001
7002         * configure.ac: 
7003         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
7004
7005         * check/Makefile.am:
7006         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
7007         get additions shortly.
7008
7009 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7010
7011         * gst/gstpad.c: (gst_pad_new_from_static_template):
7012         * gst/gstpad.h:
7013           add gst_pad_new_from_static_template functions
7014         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
7015         (gst_check_setup_sink_pad):
7016         * gst/elements/gsttee.c: (gst_tee_init):
7017           and use them
7018
7019 2005-11-16  Wim Taymans  <wim@fluendo.com>
7020
7021         * gst/gstpad.c: (gst_pad_pause_task):
7022         Removed warning, it's not really an error either.
7023
7024 2005-11-16  Wim Taymans  <wim@fluendo.com>
7025
7026         * gst/base/gstbasetransform.c:
7027         (gst_base_transform_prepare_output_buf),
7028         (gst_base_transform_event):
7029         Check if the caps are NULL, this can happen if the element
7030         is shutting down and the pad caps are set to NULL.
7031
7032 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7033
7034         * gst/elements/gsttee.c: (gst_tee_init):
7035           fix pad template leak in tee
7036
7037 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7038
7039         * gst/glib-compat.c: (g_value_dup_gst_object):
7040         * gst/glib-compat.h:
7041         * gst/gstpad.c: (gst_pad_set_property):
7042           use gst_object_ref when setting the pad template; this will
7043           trigger the pad template leaks on GLib 2.6 and the slaves
7044
7045 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7046
7047         * gst/glib-compat.c: (gst_flags_get_first_value):
7048         * gst/glib-compat.h:
7049         * gst/gstregistryxml.c:
7050           remove functions copied from GLib 2.6
7051
7052 2005-11-16  Michael Smith <msmith@fluendo.com>
7053
7054         * gst/Makefile.am:
7055           Don't link against VALGRIND_LIBS. That was always the wrong thing to
7056           do, but only breaks with newer valgrind versions. We're not a
7057           valgrind tool, we have no link-time dependencies on libcoregrind.
7058
7059 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7060
7061         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7062           some debug changes
7063         * gst/gstmessage.h:
7064           typo fixes
7065
7066 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7067
7068         * gst/base/gstbasesrc.c: (gst_base_src_init):
7069         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7070         * gst/gstqueue.c: (gst_queue_init):
7071         * gst/gstregistryxml.c: (load_feature):
7072           Revert all these unrefs, they don't even pass make check !
7073
7074 2005-11-15  Johan Dahlin  <johan@gnome.org>
7075
7076         * gst/base/gstbasesrc.c: (gst_base_src_init):
7077         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7078         * gst/gstqueue.c: (gst_queue_init): 
7079         Free pad templates, fixes a couple of leaks.
7080
7081 2005-11-15  Daniel Fischer  <dan at f3c dot com>
7082
7083         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7084
7085         * gst/gstpad.c: (gst_pad_get_property):
7086           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7087           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7088           (#321452)
7089
7090 2005-11-15  Wim Taymans  <wim@fluendo.com>
7091
7092         * gst/gstevent.c:
7093         Small doc update.
7094
7095 2005-11-15  Andy Wingo  <wingo@pobox.com>
7096
7097         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7098
7099         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7100         using GST_CLOCK_TIME_NONE to disable base time management.
7101         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7102         time if it was NONE before.
7103         (gst_pipeline_change_state): Only munge the base time if
7104         stream_time != GST_CLOCK_TIME_NONE.
7105
7106         * check/gst/gstpipeline.c (test_base_time): Punt around the
7107         problem of the probe not being called, because that's not the
7108         issue I'm looking at. Add a check that setting stream_time to NONE
7109         disables base time management.
7110         
7111 2005-11-15  Wim Taymans  <wim@fluendo.com>
7112
7113         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7114         segment_stop == -1 at startup.
7115
7116         * gst/base/gstbasetransform.c: (gst_base_transform_event),
7117         (gst_base_transform_change_state):
7118         Init segment values at start.
7119
7120 2005-11-15  Wim Taymans  <wim@fluendo.com>
7121
7122         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7123         0 segment values are 0 in any format.
7124
7125         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7126         * gst/base/gstbasetransform.h:
7127         Parse newsegment correctly in basetransform
7128
7129         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7130         Sync to clock using updated segment values.
7131
7132 2005-11-15  Andy Wingo  <wingo@pobox.com>
7133
7134         * check/gst/gstpipeline.c (test_base_time): Add check that the
7135         base time and stream time are reset correctly.
7136
7137 2005-11-15  Wim Taymans  <wim@fluendo.com>
7138
7139         * docs/design/part-TODO.txt:
7140         Some more TODO items.
7141
7142 2005-11-15  Andy Wingo  <wingo@pobox.com>
7143
7144         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7145         error if the user selected "no clock" as the clocking method.
7146
7147         * check/gst/gstpipeline.c (test_base_time): New test for buffer
7148         timestamps with live capture.
7149
7150         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7151         is 0 but we are a live source, timestamp the buffers using the
7152         element's clock.
7153
7154 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
7155
7156         * docs/gst/gstreamer-sections.txt:
7157         * gst/gsterror.c:
7158         * gst/gstghostpad.c:
7159         * gst/gstobject.h:
7160         * gst/gstxml.c:
7161           more section docs
7162
7163 2005-11-14  Wim Taymans  <wim@fluendo.com>
7164
7165         * common/gst.supp:
7166           add suppressions from Wim's Debian machine
7167
7168 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7169
7170         * common/gst.supp:
7171           add suppressions from Andy's AMD64 Ubuntu machine
7172
7173 2005-11-14  Andy Wingo  <wingo@pobox.com>
7174
7175         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7176         STATE_LOCK not necessary. Fixes #311489.
7177
7178         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7179         #305291.
7180
7181         * gst/gstindex.c (gst_index_add_object): Note in the docs that
7182         this function is not implemented.
7183
7184 2005-11-14  Julien MOUTTE  <julien@moutte.net>
7185
7186         * gst/base/gstbasetransform.c:
7187         (gst_base_transform_prepare_output_buf):
7188         Ref the source pad caps while we need them.
7189         Fixes (#321386)
7190
7191 2005-11-11  Wim Taymans  <wim@fluendo.com>
7192
7193         * docs/gst/gstreamer-sections.txt:
7194         Added some docs for GstCollectData.
7195
7196         * gst/base/gstadapter.c:
7197         Some small code example fix.
7198
7199         * gst/base/gstcollectpads.c:
7200         * gst/base/gstcollectpads.h:
7201         Document some more.
7202
7203 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7204
7205         * configure.ac: back to HEAD
7206
7207 === release 0.9.5 ===
7208
7209 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
7210
7211         * configure.ac:
7212           releasing 0.9.5, "Bike Lunch Day"
7213
7214 2005-11-11  Wim Taymans  <wim@fluendo.com>
7215
7216         * gst/gstbuffer.c: (_gst_buffer_copy):
7217         Copy more flags.
7218
7219         * gst/gstcaps.c: (gst_caps_is_equal):
7220         Fix some docs.
7221         Make _is_equal fast in the trivial cases.
7222
7223         * gst/gstminiobject.c:
7224         * gst/gstminiobject.h:
7225         More docs. Spifify .h file.
7226
7227         * gst/gstutils.c:
7228         Small doc update.
7229
7230 2005-11-11  Wim Taymans  <wim@fluendo.com>
7231
7232         * gst/base/gstbasetransform.c:
7233         (gst_base_transform_prepare_output_buf),
7234         (gst_base_transform_handle_buffer):
7235         Small cleanups.
7236         If we're processing a buffer and need to allocate an output
7237         buffer, we cannot accept a format change. If we did get a 
7238         format change, we have to alloc a buffer ourselves of the 
7239         right size.
7240
7241 2005-11-11  Wim Taymans  <wim@fluendo.com>
7242
7243         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7244         While checking the flag for reentrancy in the gstcaps function
7245         is nice to detect recursive invocations, it also makes it 
7246         impossible to call getcaps from multiple threads, which must be
7247         possible. So, checking for recursive calls has to go.
7248
7249 2005-11-11  Michael Smith <msmith@fluendo.com>
7250
7251         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7252           Don't sync on buffers that fall partially outside our current
7253           segment. Prevents an assertion failure/abort playing some files.
7254
7255 2005-11-10  Andy Wingo  <wingo@pobox.com>
7256
7257         * check/gst/gstbin.c (test_message_state_changed_children): Style
7258         fix..
7259
7260         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7261         gst_bus_poll with the signal watch. Ensures that poll and a signal
7262         watch see the same messages.
7263
7264         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7265         a poll and a watch at the same time get the same messages.
7266
7267 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7268
7269         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7270         * gst/gstcaps.c: (gst_caps_intersect):
7271           Don't call gst_caps_do_simplify - it doesn't respect order of caps
7272           and it's not needed.
7273
7274 2005-11-10  Wim Taymans  <wim@fluendo.com>
7275
7276         * docs/design/part-TODO.txt:
7277         Updated todo.
7278
7279 2005-11-10  Wim Taymans  <wim@fluendo.com>
7280
7281         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7282         * gst/base/gstbasesrc.c: (gst_base_src_wait),
7283         (gst_base_src_do_sync), (gst_base_src_get_range):
7284         Implement clock sync in base class.
7285
7286 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7287
7288         patch by: Tim-Philipp Müller <tim at centricular dot net>
7289
7290         * gst/gststructure.c: (gst_structure_parse_field),
7291         (gst_structure_from_string):
7292           Forward-port a 0.8 patch to handle escaped spaces in structure string,
7293           so that gst_parse_launch() can deal with spaces in filtered link
7294           caps (fixes #164479)
7295         * check/gst/capslist.h:
7296         * check/gst/gststructure.c: (GST_START_TEST):
7297           add unit tests for this change
7298
7299 2005-11-10  Wim Taymans  <wim@fluendo.com>
7300
7301         * docs/gst/gstreamer-sections.txt:
7302         * gst/gstelement.c:
7303         * gst/gstelement.h:
7304         Fix docs, move some STATE macros to private.
7305
7306 2005-11-10  Wim Taymans  <wim@fluendo.com>
7307
7308         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7309         Added check for bug #317341
7310
7311         * gst/gstbuffer.c:
7312         * gst/gstbuffer.h:
7313         Some more spiffifying.
7314
7315         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7316         Call peer linkfunction if we are a source pad. Totally fixes
7317         #317341
7318
7319         * gst/gstpad.c:
7320         Update docs, source pads should call the peer linkfunction
7321         so they can atomically perform the pad link.
7322
7323 2005-11-09  Wim Taymans  <wim@fluendo.com>
7324
7325         * gst/gstbuffer.c:
7326         * gst/gstbuffer.h:
7327         Uber-spiffy-spiffify some more.
7328
7329 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
7330
7331         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7332         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7333         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7334         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7335         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7336         * gst/gstpad.c: (gst_pad_init):
7337           Use GST_DEBUG_FUNCPTR() more extensively.
7338
7339 2005-11-09  Wim Taymans  <wim@fluendo.com>
7340
7341         * gst/gstobject.c: (gst_object_class_init):
7342         * gst/gstobject.h:
7343         Documentation fixes.
7344
7345 2005-11-09  Edward Hervey  <edward@fluendo.com>
7346
7347         * gst/gsttypefindfactory.c:
7348         Fix docs.
7349         
7350 2005-11-09  Edward Hervey  <edward@fluendo.com>
7351
7352         * gst/base/gsttypefindhelper.c:
7353         * gst/gsttypefind.c:
7354         * gst/gsttypefind.h:
7355         Fix docs.
7356
7357 2005-11-09  Wim Taymans  <wim@fluendo.com>
7358
7359         * gst/gstiterator.c:
7360         Fix revision data.
7361
7362         * gst/gsttask.c:
7363         * gst/gsttask.h:
7364         Fix docs.
7365
7366 2005-11-09  Wim Taymans  <wim@fluendo.com>
7367
7368         * gst/gstevent.h:
7369         * gst/gsturi.h:
7370         Fix docs.
7371
7372 2005-11-09  Wim Taymans  <wim@fluendo.com>
7373
7374         * docs/gst/gstreamer-sections.txt:
7375         Moved the message async delivery private lock and cond
7376         to the private section.
7377
7378         * gst/gstmessage.c:
7379         * gst/gstmessage.h:
7380         Fixed docs.
7381
7382 2005-11-09  Edward Hervey  <edward@fluendo.com>
7383
7384         * docs/gst/gstreamer-sections.txt:
7385         * gst/gsturi.c:
7386         * gst/gsturi.h:
7387         Document GstURIHandler
7388
7389 2005-11-09  Wim Taymans  <wim@fluendo.com>
7390
7391         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7392         (gst_iterator_find_custom):
7393         * gst/gstiterator.h:
7394         Fix iterator docs.
7395
7396 2005-11-09  Wim Taymans  <wim@fluendo.com>
7397
7398         * gst/gstbin.h:
7399         Document another field.
7400
7401         * gst/gststructure.c:
7402         * gst/gststructure.h:
7403         Document.
7404
7405 2005-11-09  Wim Taymans  <wim@fluendo.com>
7406
7407         * gst/gstbin.h:
7408         Documented structs.
7409
7410 2005-11-09  Wim Taymans  <wim@fluendo.com>
7411
7412         * docs/gst/gstreamer-sections.txt:
7413         Added some new macros.
7414
7415         * gst/gstclock.c:
7416         * gst/gstclock.h:
7417         * gst/gstobject.h:
7418         Docs updates.
7419
7420 2005-11-09  Wim Taymans  <wim@fluendo.com>
7421
7422         * docs/design/part-TODO.txt:
7423         Some more items for the TODO
7424
7425         * gst/gstcaps.c:
7426         * gst/gstcaps.h:
7427         Document GstCaps.
7428
7429 2005-11-09  Andy Wingo  <wingo@pobox.com>
7430
7431         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7432         to work on something else now tho...
7433
7434         * gst/base/gstadapter.c: More adapter docs.
7435
7436         * gst/elements/gstfilesink.c (gst_file_sink_start) 
7437         (gst_file_sink_stop): New functions, replace the state change
7438         handler.
7439         (gst_file_sink_class_init): Hook up the start and stop functions.
7440         (gst_file_sink_base_init): Don't set the state change handler any
7441         more. It was a bit ugly too, being set from here...
7442         (gst_file_sink_get_property, gst_file_sink_set_property):
7443         Cleanups...
7444         (gst_file_sink_set_location): More robust check that doesn't call
7445         GST_STATE. Ugggggg.
7446
7447 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7448
7449         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7450           Hold STREAM_LOCK while pushing newsegment or tag events as well.
7451
7452 2005-11-08  Wim Taymans  <wim@fluendo.com>
7453
7454         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7455         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7456         (gst_base_sink_chain), (gst_base_sink_change_state):
7457         * gst/base/gstbasesink.h:
7458         * gst/base/gstbasesrc.h:
7459         * gst/gstelement.h:
7460         * gst/gstevent.h:
7461         Avoid excessive typechecking in macros.
7462
7463         * gst/gstminiobject.c: (gst_mini_object_get_type),
7464         (gst_mini_object_init), (gst_mini_object_new),
7465         (gst_mini_object_free):
7466         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7467         (gst_object_finalize):
7468         Remove cruft code, optimize alloc_trace.
7469
7470 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7471
7472         * docs/faq/gst-uninstalled:
7473           fix up PS1 for systems that try to reset it
7474
7475 2005-11-07  Wim Taymans  <wim@fluendo.com>
7476
7477         * gst/base/gstbasesrc.c: (gst_base_src_init),
7478         (gst_base_src_get_range):
7479         Set the segment_end to -1 initially. Fixed typefind.
7480
7481 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7482
7483         * gst/base/gstadapter.c:
7484           Debug category should be 'adapter', not 'GstAdapter'.
7485           
7486         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7487         (gst_collectpads_class_init), (gst_collectpads_init),
7488         (gst_collectpads_peek), (gst_collectpads_pop),
7489         (gst_collectpads_event), (gst_collectpads_chain):
7490           Add debug category and some debugging output. Use boilerplate
7491           macros. Remove some extraneous words from docs.
7492
7493 2005-11-05  Andy Wingo  <wingo@pobox.com>
7494
7495         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7496         macro.
7497
7498 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7499
7500         * docs/gst/gstreamer-sections.txt:
7501         * gst/gstcaps.h:
7502         * gst/gstinfo.c:
7503         * gst/gstminiobject.h:
7504         * gst/gstobject.h:
7505         * gst/gstutils.h:
7506           more docs added
7507
7508 2005-11-04  Wim Taymans  <wim@fluendo.com>
7509
7510         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7511         Small update to stop at the configured segment_end
7512         position.
7513
7514 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7515
7516         * gst/gstregistry.c:
7517         * gst/gstregistry.h:
7518           added missing docs
7519
7520 2005-11-04  Edward Hervey  <edward@fluendo.com>
7521
7522         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7523         Check if we are doing a segment seek and have arrived at the
7524         end of that segment.
7525
7526 2005-11-04  Wim Taymans  <wim@fluendo.com>
7527
7528         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7529         Don't leak a mutex unlock in case of an error.
7530
7531         * gst/gstbus.h:
7532         Doc fixes.
7533
7534 2005-11-04  Wim Taymans  <wim@fluendo.com>
7535
7536         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7537         (gst_bus_post):
7538         Get the context to wake up only once.
7539
7540 2005-11-03  Wim Taymans  <wim@fluendo.com>
7541
7542         * check/states/sinks.c: (GST_START_TEST):
7543         Uncomment fixed check.
7544
7545         * docs/design/part-TODO.txt:
7546         Updated TODO.
7547
7548         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7549         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7550         (gst_base_sink_get_position):
7551         If we are going to PLAYING, post the right pending state
7552         when we post the intermediate paused message.
7553
7554         * gst/gstelement.c: (gst_element_continue_state),
7555         (gst_element_set_state_func), (gst_element_change_state):
7556         Don't post state changes that were between the same state
7557         and were not ASYNC.
7558
7559 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7560
7561         * docs/gst/gstreamer-sections.txt:
7562         * gst/gstcaps.h:
7563         * gst/gstinfo.c:
7564         * gst/gstminiobject.h:
7565         * gst/gstobject.h:
7566         * gst/gstutils.h:
7567           more docs and doc style fixes
7568
7569 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7570
7571         * docs/gst/gstreamer-sections.txt:
7572         * gst/gstelement.c:
7573         * gst/gstminiobject.c:
7574         doc fixes
7575
7576 2005-11-03  Andy Wingo  <wingo@pobox.com>
7577
7578         * check/states/sinks.c (test_livesrc_sink): Add checks that the
7579         state-changed messages actually have the right order and the right
7580         values.
7581
7582 2005-11-03  Wim Taymans  <wim@fluendo.com>
7583
7584         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7585         Added some more checks. Specifically the case where NO_PREROLL
7586         elements are in the pipeline.
7587
7588         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7589         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7590         (gst_base_sink_get_position):
7591         Post READY->PAUSED state change messages too.
7592         Fix bug where VOID was posted as pending state...
7593
7594         * gst/gstbin.c: (gst_bin_recalc_state):
7595         use _element_continue_state() to continue the state change.
7596
7597         * gst/gstelement.c: (gst_element_continue_state),
7598         (gst_element_commit_state), (gst_element_set_state_func),
7599         (gst_element_change_state), (gst_element_change_state_func):
7600         Lots of state change cleanups, assign the STATE_RETURN in
7601         a new continue_state() function that also propagates the
7602         last return value from a state change to the app.
7603         Update some debug statements with proper category.
7604
7605 2005-11-03  Wim Taymans  <wim@fluendo.com>
7606
7607         * docs/design/part-events.txt:
7608         * docs/design/part-gstpipeline.txt:
7609         * docs/design/part-messages.txt:
7610         * docs/design/part-overview.txt:
7611         * docs/design/part-seeking.txt:
7612         * docs/design/part-states.txt:
7613         * docs/design/part-trickmodes.txt:
7614         * docs/manual/advanced-position.xml:
7615         Small docs updates.
7616
7617         * gst/gstobject.h:
7618         People think !! is ugly, this looks better.
7619
7620         * gst/gstpad.c: (gst_pad_set_blocked_async):
7621         Remove !! since it's fixed elsewhere now.
7622
7623 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7624
7625         * gst/gstminiobject.h:
7626         * gst/gstobject.h:
7627           Add !! to _FLAG_IS_SET macros to make the result boolean.
7628
7629 2005-11-03  Edward Hervey  <edward@fluendo.com>
7630
7631         * gst/gstpad.c: (gst_pad_set_blocked_async):
7632         comparing a flag and a gboolean rarely returns coherent results...
7633         Added two characters (!!) to make that work correctly.
7634         
7635 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7636
7637         * gst/gstbus.c: (gst_bus_class_init):
7638           Fix some typos.
7639           
7640         * gst/gstqueue.c: (gst_queue_loop):
7641           Don't assume a miniobject that isn't a buffer is an
7642           event (it could be that there is a refcounting
7643           problem somewhere and the pointer is stale and
7644           refers to an already destroyed miniobject).
7645
7646 2005-11-03  Julien MOUTTE  <julien@moutte.net>
7647
7648         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
7649
7650 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7651
7652         * docs/manual/advanced-position.xml:
7653           Update seek example and explanations to current 0.9 API.
7654
7655         * gst/elements/gsttypefindelement.c:
7656         (gst_type_find_element_activate):
7657           Remove FIXME comment now that the found caps
7658           are unreffed.
7659
7660 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7661
7662         * gst/gstregistryxml.c: (load_feature):
7663           Add another GST_STR_NULL instance
7664
7665 2005-11-02  Edward Hervey  <edward@fluendo.com>
7666
7667         * gst/gstpad.c: (handle_pad_block):
7668         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
7669         
7670 2005-11-02  Wim Taymans  <wim@fluendo.com>
7671
7672         * gst/gstbin.c:
7673         Fix typo in docs.
7674
7675         * gst/gstelement.c: (gst_element_commit_state):
7676         Remove unused value.
7677
7678         * gst/gstiterator.c:
7679         Mention that the returned element is reffed in the docs.
7680
7681 2005-11-02  Wim Taymans  <wim@fluendo.com>
7682
7683         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
7684         (gst_pad_push), (gst_pad_push_event):
7685         Unlock blocked pads when they are flushed.
7686
7687 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7688
7689         * docs/README:
7690         * docs/gst/gstreamer-sections.txt:
7691         * gst/gstbin.c:
7692           doc updates
7693         * gst/gstregistry.c: (gst_registry_scan_path_level):
7694           fix for a nasty little missed situation where an installed plug-in
7695           which was in the cache did not get overridden by an uninstalled one
7696           which was earlier in the plugin path because the newly created plugin
7697           for the uninstalled one (not in the registry) didn't get its
7698           ->registered set to TRUE
7699
7700 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7701
7702         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
7703         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
7704         (gst_collectpads_is_active), (gst_collectpads_collect),
7705         (gst_collectpads_collect_range), (gst_collectpads_start),
7706         (gst_collectpads_stop), (gst_collectpads_peek),
7707         (gst_collectpads_pop), (gst_collectpads_available),
7708         (gst_collectpads_read), (gst_collectpads_flush):
7709           Guard public API with assertions.
7710         
7711         * gst/gstpad.c:
7712           Fix docs for gst_pad_set_link_function().
7713
7714 2005-11-02  Johan Dahlin  <johan@gnome.org>
7715
7716         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
7717         Unref found_caps after we used it.
7718
7719 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7720
7721         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
7722           Don't try to ref NULL.
7723
7724 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7725
7726         * win32/common/config.h.in:
7727           provide a GST_FUNCTION that just gives a string for now
7728
7729 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7730
7731         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7732         (gst_object_flags_get_type), (register_gst_bin_flags),
7733         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7734         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7735         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7736         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
7737         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7738         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7739         (gst_clock_flags_get_type), (register_gst_state),
7740         (gst_state_get_type), (register_gst_state_change_return),
7741         (gst_state_change_return_get_type), (register_gst_state_change),
7742         (gst_state_change_get_type), (register_gst_element_flags),
7743         (gst_element_flags_get_type), (register_gst_core_error),
7744         (gst_core_error_get_type), (register_gst_library_error),
7745         (gst_library_error_get_type), (register_gst_resource_error),
7746         (gst_resource_error_get_type), (register_gst_stream_error),
7747         (gst_stream_error_get_type), (register_gst_event_type),
7748         (gst_event_type_get_type), (register_gst_seek_type),
7749         (gst_seek_type_get_type), (register_gst_seek_flags),
7750         (gst_seek_flags_get_type), (register_gst_format),
7751         (gst_format_get_type), (register_gst_index_certainty),
7752         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7753         (gst_index_entry_type_get_type),
7754         (register_gst_index_lookup_method),
7755         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7756         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7757         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7758         (gst_index_flags_get_type), (register_gst_debug_level),
7759         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7760         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7761         (gst_iterator_result_get_type), (register_gst_iterator_item),
7762         (gst_iterator_item_get_type), (register_gst_message_type),
7763         (gst_message_type_get_type), (register_gst_mini_object_flags),
7764         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7765         (gst_pad_link_return_get_type), (register_gst_flow_return),
7766         (gst_flow_return_get_type), (register_gst_activate_mode),
7767         (gst_activate_mode_get_type), (register_gst_pad_direction),
7768         (gst_pad_direction_get_type), (register_gst_pad_flags),
7769         (gst_pad_flags_get_type), (register_gst_pad_presence),
7770         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7771         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7772         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7773         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7774         (gst_plugin_flags_get_type), (register_gst_rank),
7775         (gst_rank_get_type), (register_gst_query_type),
7776         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7777         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7778         (gst_tag_flag_get_type), (register_gst_task_state),
7779         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7780         (gst_alloc_trace_flags_get_type),
7781         (register_gst_type_find_probability),
7782         (gst_type_find_probability_get_type), (register_gst_uri_type),
7783         (gst_uri_type_get_type), (register_gst_parse_error),
7784         (gst_parse_error_get_type):
7785         * win32/common/gstversion.h:
7786           update win32 copies
7787
7788 2005-11-01  Luca Ognibene  <luogni@tin.it>
7789
7790         * gst/gst.c:
7791           fix docs. popt is dead, long live GOption.
7792
7793 2005-10-31  Wim Taymans  <wim@fluendo.com>
7794
7795         * gst/gstbuffer.h:
7796         Small doc fix.
7797
7798 2005-10-31  Andy Wingo  <wingo@pobox.com>
7799
7800         * Boo!
7801
7802         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
7803
7804         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
7805         need to serialize property notifications on GLib 2.8. GLib 2.6 has
7806         the possibility of deadlocks here if code calling notify() or
7807         set() has a lock that can be taken in another notify handler (ABBA
7808         with class lock and e.g. python GIL state lock).
7809
7810 2005-10-28  Julien MOUTTE  <julien@moutte.net>
7811
7812         * gst/gstbus.c: Doc updates.
7813
7814 2005-10-28  Wim Taymans  <wim@fluendo.com>
7815
7816         * docs/design/part-TODO.txt:
7817         * gst/gstiterator.c:
7818         * gst/gstsystemclock.c:
7819         * gst/gstsystemclock.h:
7820         Doc updates.
7821
7822 2005-10-28  Edward Hervey  <edward@fluendo.com>
7823
7824         * docs/gst/gstreamer-docs.sgml:
7825         * docs/gst/gstreamer-sections.txt:
7826         the GstURIType documentation page is private, it only defines GstURIType
7827         which should be defined in the GstURIHandler page
7828         
7829 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7830
7831         * gst/gstbin.c: (gst_bin_class_init):
7832         * gst/gstbin.h:
7833         * gst/gstutils.c:
7834         Documentation updates.
7835
7836 2005-10-28  Wim Taymans  <wim@fluendo.com>
7837
7838         * docs/gst/gstreamer-sections.txt:
7839         * gst/gstclock.c:
7840         * gst/gstclock.h:
7841         Documented the clocks.
7842
7843 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
7844
7845         * docs/gst/gstreamer-sections.txt:
7846           move some macros to private sections
7847         * gst/gstminiobject.c:
7848         * gst/gstminiobject.h:
7849           add descriptions provided by ds and some more
7850         * gst/gstpad.h:
7851           mark macro as to be removed
7852
7853 2005-10-28  Wim Taymans  <wim@fluendo.com>
7854
7855         * docs/design/part-TODO.txt:
7856         Add an item to TODO.
7857
7858         * gst/gstiterator.c: (gst_iterator_fold),
7859         (gst_iterator_find_custom):
7860         * gst/gstiterator.h:
7861         Add iterator docs.
7862
7863 2005-10-28  Wim Taymans  <wim@fluendo.com>
7864
7865         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
7866         (gst_base_transform_init):
7867         Don't leak class.
7868
7869         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
7870         An EOS event marks the queue as completely filled.
7871
7872 2005-10-27  Wim Taymans  <wim@fluendo.com>
7873
7874         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7875         (gst_base_sink_do_sync), (gst_base_sink_get_position):
7876         Some more debugging.
7877
7878         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
7879         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
7880         (gst_base_transform_event), (gst_base_transform_getrange),
7881         (gst_base_transform_chain):
7882         * gst/base/gstbasetransform.h:
7883         Fix debugging,
7884         Protect transform and concurrent buffer alloc with a new lock.
7885         Try not to break ABI/API.
7886
7887 2005-10-27  Wim Taymans  <wim@fluendo.com>
7888
7889         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
7890         (gst_base_src_init), (gst_base_src_query),
7891         (gst_base_src_default_newsegment),
7892         (gst_base_src_configure_segment), (gst_base_src_do_seek),
7893         (gst_base_src_send_event), (gst_base_src_event_handler),
7894         (gst_base_src_pad_get_range), (gst_base_src_loop),
7895         (gst_base_src_unlock), (gst_base_src_default_negotiate),
7896         (gst_base_src_start), (gst_base_src_deactivate),
7897         (gst_base_src_activate_push), (gst_base_src_change_state):
7898         Move some stuff around and cleanup things.
7899
7900 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
7901
7902         * gst/base/gstbasesrc.c: (gst_base_src_query):
7903           Add missing break statements.
7904
7905 2005-10-27  Wim Taymans  <wim@fluendo.com>
7906
7907         * check/gst/gstbin.c: (GST_START_TEST):
7908         An extra refcount is taken in basesrc.
7909
7910         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
7911         (gst_base_src_get_range), (gst_base_src_pad_get_range),
7912         (gst_base_src_loop):
7913         Small cleanups, check for flushing after being unlocked from the 
7914         LIVE_LOCK. take refcounts correctly (not yet everywhere).
7915         Don't send out EOS when going to READY.
7916
7917 2005-10-27  Wim Taymans  <wim@fluendo.com>
7918
7919         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
7920         (gst_base_sink_get_position):
7921         Some more debug.
7922
7923         * gst/gstbin.c: (message_check), (bin_replace_message),
7924         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7925         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7926         (bin_query_duration_init), (bin_query_duration_fold),
7927         (bin_query_duration_done), (bin_query_generic_fold),
7928         (gst_bin_query):
7929         * tools/gst-launch.c: (main):
7930         Remove old option.
7931
7932 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
7933
7934         * examples/controller/audio-example.c: (main):
7935         * examples/queue/queue.c: (event_loop):
7936         * gst/base/gstbasetransform.h:
7937         * gst/gstelement.c: (gst_element_send_event):
7938         * gst/gstevent.h:
7939         * gst/gstpad.c: (gst_pad_send_event):
7940           fixing examples
7941           fixing docs typos
7942           changing log priority in error situations
7943
7944 2005-10-25  Wim Taymans  <wim@fluendo.com>
7945
7946         * gst/gstbin.c: (message_check), (bin_replace_message),
7947         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7948         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7949         (bin_query_duration_init), (bin_query_duration_fold),
7950         (bin_query_duration_done), (bin_query_generic_fold),
7951         (gst_bin_query):
7952         Some doc and debug updates.
7953         Cache previously requested query DURATION for speed. invalidate
7954         cached duration if element posts a DURATION message.
7955
7956 2005-10-25  Wim Taymans  <wim@fluendo.com>
7957
7958         * docs/design/part-TODO.txt:
7959         Update TODO.
7960
7961         * gst/gstbin.c: (message_check), (bin_replace_message),
7962         (bin_remove_messages), (is_eos), (gst_bin_add_func),
7963         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
7964         (bin_query_duration_init), (bin_query_duration_fold),
7965         (bin_query_duration_done), (bin_query_generic_fold),
7966         (gst_bin_query):
7967         Handle SEGMENT_START/DONE messages correctly.
7968         More evolved query algorithm that handles duration queries
7969         correctly.
7970
7971         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
7972         (gst_element_get_state_func), (gst_element_abort_state),
7973         (gst_element_commit_state), (gst_element_lost_state):
7974         Some more debugging.
7975
7976         * gst/gstmessage.h:
7977         Added doc.
7978
7979 2005-10-25  Wim Taymans  <wim@fluendo.com>
7980
7981         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7982         Don't use invalid stream_time.
7983
7984         * gst/gstevent.c: (gst_event_new_newsegment):
7985         stream_time in newsegment cannot be undefined.
7986
7987 2005-10-24  Wim Taymans  <wim@fluendo.com>
7988
7989         * gst/gstbus.c:
7990         Doc fix.
7991
7992         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
7993         (gst_queue_loop):
7994         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
7995
7996 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
7997
7998         * docs/libs/tmpl/gstdparam.sgml:
7999         * docs/libs/tmpl/gstdplinint.sgml:
8000         * docs/libs/tmpl/gstdpman.sgml:
8001         * docs/libs/tmpl/gstdpsmooth.sgml:
8002         * docs/libs/tmpl/gstunitconvert.sgml:
8003           these are obsolete
8004
8005 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8006
8007         * configure.ac:
8008           back to HEAD
8009
8010 === release 0.9.4 ===
8011
8012 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8013
8014         * configure.ac:
8015           releasing 0.9.4, "Tyrannosaurus Rex"
8016
8017 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
8018
8019         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8020         (gst_file_sink_get_current_offset):
8021           Use fseeko() and ftello() if available. When falling back on
8022           lseek() to get the current offset, fflush() first to make sure
8023           everything is up-to-date and we get the right offset.
8024
8025 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8026
8027         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8028         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8029         * gst/gsterror.c: (_gst_stream_errors_init):
8030         * gst/gsterror.h:
8031         * gst/gstqueue.c: (gst_queue_loop):
8032         * po/POTFILES.in:
8033           remove prematurely added error category and clean up the instances
8034
8035 2005-10-21  Wim Taymans  <wim@fluendo.com>
8036
8037         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8038         (gst_base_sink_get_position), (gst_base_sink_query),
8039         (gst_base_sink_change_state):
8040         Simply set the right flag when going to playing, that's all
8041         we need to do instead of calling a function inside the object
8042         lock (that could take the lock as well and deadlock)
8043
8044 2005-10-21  Wim Taymans  <wim@fluendo.com>
8045
8046         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8047         (gst_base_src_loop):
8048         Don't warn, the peer element knows what to do best when
8049         the seek failed, it might try something else.
8050
8051 2005-10-21  Wim Taymans  <wim@fluendo.com>
8052
8053         * gst/base/gstbasesrc.c: (gst_base_src_init),
8054         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8055         Fix seeking.
8056
8057 2005-10-21  Wim Taymans  <wim@fluendo.com>
8058
8059         * docs/design/part-segments.txt:
8060         More docs.
8061
8062         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8063         Correctly set caps, even on the subbufer.
8064
8065 2005-10-21  Wim Taymans  <wim@fluendo.com>
8066
8067         * docs/gst/gstreamer-docs.sgml:
8068         * docs/gst/gstreamer-sections.txt:
8069         * gst/gstelement.h:
8070         * gst/gstevent.c:
8071         * gst/gstevent.h:
8072         * gst/gstmessage.h:
8073         * gst/gstpad.h:
8074         * gst/gstparse.h:
8075         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8076         * gst/gsttask.h:
8077         * gst/gstutils.c:
8078         * gst/gstutils.h:
8079         And 2% more doc coverage.
8080
8081 2005-10-21  Andy Wingo  <wingo@pobox.com>
8082
8083         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8084         position reporting.
8085
8086 2005-10-20  Wim Taymans  <wim@fluendo.com>
8087
8088         * gst/gsterror.c: (gst_error_get_message):
8089         * gst/gstparse.h:
8090         * gst/gstquery.h:
8091         * gst/gststructure.c:
8092         * gst/gsttrace.c:
8093         * gst/gstutils.c:
8094         More docs.
8095
8096 2005-10-20  Wim Taymans  <wim@fluendo.com>
8097
8098         * gst/gstbuffer.h:
8099         * gst/gstpad.c:
8100         * gst/gstparse.c:
8101         Another 1% more coverage.
8102
8103 2005-10-20  Wim Taymans  <wim@fluendo.com>
8104
8105         * docs/gst/gstreamer-sections.txt:
8106         * gst/gstelement.c: (gst_element_get_state_func),
8107         (gst_element_abort_state), (gst_element_commit_state),
8108         (gst_element_lost_state):
8109         * gst/gstevent.h:
8110         * gst/gstquery.c: (gst_query_set_position),
8111         (gst_query_parse_position), (gst_query_set_duration),
8112         (gst_query_parse_duration), (gst_query_new_convert):
8113         * gst/gstutils.c:
8114         Yay! 1% more docs coverage.
8115
8116 2005-10-20  Wim Taymans  <wim@fluendo.com>
8117
8118         * gst/gstpad.h:
8119         * gst/gstquery.c: (gst_query_set_position),
8120         (gst_query_parse_position), (gst_query_set_duration),
8121         (gst_query_parse_duration), (gst_query_new_convert):
8122         * gst/gstquery.h:
8123         * gst/gstutils.c: (gst_element_query_convert):
8124         * gst/gstutils.h:
8125         Docs and consistency fixes.
8126
8127 2005-10-20  Wim Taymans  <wim@fluendo.com>
8128
8129         * gst/gsttask.c:
8130         * gst/gsttask.h:
8131         More docs.
8132
8133 2005-10-20  Wim Taymans  <wim@fluendo.com>
8134
8135         * gst/gstbin.c: (message_check), (bin_replace_message),
8136         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8137         (update_degree), (gst_bin_sort_iterator_next),
8138         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8139         Reworked the message handling a bit, cache the messages instead of
8140         only the senders. alows us to do more in the future.
8141
8142 2005-10-20  Wim Taymans  <wim@fluendo.com>
8143
8144         * docs/design/part-TODO.txt:
8145         Update TODO
8146
8147         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8148         (gst_base_sink_query):
8149         Don't use clock time to report position when in EOS.
8150
8151 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
8152
8153         * tools/gst-inspect.c: (print_interfaces),
8154         (print_element_properties_info), (print_element_info):
8155           Fix interface output with gst-inspect -a; don't print
8156           newlines after double/float properties.
8157
8158 2005-10-20  Wim Taymans  <wim@fluendo.com>
8159
8160         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8161         (gst_base_sink_query):
8162         Speed up current position calculation.
8163
8164         * gst/base/gstbasesrc.c: (gst_base_src_query),
8165         (gst_base_src_default_newsegment):
8166         Correctly set stream position in newsegment.
8167
8168         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8169         (update_degree), (gst_bin_sort_iterator_next),
8170         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8171         * gst/gstmessage.c: (gst_message_new_custom):
8172         Clean up debugging info
8173
8174         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8175         (gst_queue_loop), (gst_queue_handle_src_query):
8176         Pause task faster.
8177
8178 2005-10-19  Wim Taymans  <wim@fluendo.com>
8179
8180         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8181         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8182         Fix query handling again.
8183
8184 2005-10-19  Wim Taymans  <wim@fluendo.com>
8185
8186         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8187         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8188         * gst/base/gstbasesrc.c: (gst_base_src_query):
8189         * gst/elements/gstfilesink.c: (gst_file_sink_query):
8190         * gst/elements/gsttypefindelement.c:
8191         (gst_type_find_handle_src_query), (find_element_get_length),
8192         (gst_type_find_element_activate):
8193         API change fix.
8194
8195         * gst/gstquery.c: (gst_query_new_position),
8196         (gst_query_set_position), (gst_query_parse_position),
8197         (gst_query_new_duration), (gst_query_set_duration),
8198         (gst_query_parse_duration), (gst_query_set_segment),
8199         (gst_query_parse_segment):
8200         * gst/gstquery.h:
8201         Bundling query position/duration is not a good idea since duration
8202         does not change much and we don't want to recalculate it for every
8203         position query, so they are separated again..
8204         Base value in segment query is not needed.
8205
8206         * gst/gstqueue.c: (gst_queue_handle_src_query):
8207         * gst/gstutils.c: (gst_element_query_position),
8208         (gst_element_query_duration), (gst_pad_query_position),
8209         (gst_pad_query_duration):
8210         * gst/gstutils.h:
8211         Updates for query API change.
8212         Added some docs here and there.
8213
8214 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8215
8216         * check/gst/gstbin.c: (GST_START_TEST):
8217         * check/gst/gstghostpad.c: (GST_START_TEST):
8218         * check/pipelines/cleanup.c: (GST_START_TEST):
8219           wait on thread to die so we can check refcount correctly
8220
8221 2005-10-18  Wim Taymans  <wim@fluendo.com>
8222
8223         * check/pipelines/stress.c: (GST_START_TEST):
8224         Make check a little more time consuming.
8225
8226 2005-10-18  Wim Taymans  <wim@fluendo.com>
8227
8228         * check/Makefile.am:
8229         * check/pipelines/stress.c: (GST_START_TEST),
8230         (simple_launch_lines_suite), (main):
8231         Small state change torture test.
8232
8233         * docs/design/part-states.txt:
8234         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8235         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8236         (gst_base_sink_change_state):
8237         Never take state lock from streaming thread, clean up ugly
8238         hacks. Unfortunatly core does not yet support nice ways to
8239         async commit state.
8240         
8241         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8242         (bin_bus_handler):
8243         Start state recalc if a STATE_DIRTY message is posted, but only
8244         on the toplevel bin.
8245
8246         * gst/gstelement.c: (gst_element_sync_state_with_parent),
8247         (gst_element_get_state_func), (gst_element_abort_state),
8248         (gst_element_commit_state), (gst_element_lost_state),
8249         (gst_element_set_state_func), (gst_element_change_state):
8250         * gst/gstelement.h:
8251         State variables are now protected with the LOCK, the state
8252         lock is only used to serialize _set_state().
8253
8254 2005-10-18  Wim Taymans  <wim@fluendo.com>
8255
8256         * check/gst/gstbin.c: (GST_START_TEST):
8257         * check/gst/gstmessage.c: (GST_START_TEST):
8258         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8259         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8260         (bin_bus_handler):
8261         * gst/gstelement.c: (gst_element_abort_state),
8262         (gst_element_commit_state), (gst_element_lost_state):
8263         * gst/gstmessage.c: (gst_message_new_state_changed),
8264         (gst_message_new_state_dirty), (gst_message_new_segment_start),
8265         (gst_message_new_segment_done), (gst_message_new_duration),
8266         (gst_message_parse_state_changed),
8267         (gst_message_parse_segment_start),
8268         (gst_message_parse_segment_done), (gst_message_parse_duration):
8269         * gst/gstmessage.h:
8270         * tools/gst-launch.c: (event_loop):
8271         Seriously, this is better than a previous commit as we only need
8272         to notify the fact that an element changed state in a streaming
8273         thread, marking the state of the parents dirty, hence the 
8274         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8275         message.
8276
8277 2005-10-18  Wim Taymans  <wim@fluendo.com>
8278
8279         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8280         (gst_bin_recalc_func):
8281         * gst/gstelement.c: (gst_element_set_clock),
8282         (gst_element_abort_state), (gst_element_lost_state):
8283         Cleanups, prepare for state change fixes.
8284
8285 2005-10-18  Wim Taymans  <wim@fluendo.com>
8286
8287         * gst/gstbin.h:
8288         * gst/gstelement.c: (gst_element_class_init),
8289         (gst_element_set_state), (gst_element_set_state_func):
8290         * gst/gstelement.h:
8291         Pending ABI changes.
8292         GThreadPool in GstBinClass to monitor async state changes.
8293         state_cookie in GstElement to detect concurrent gst/set state.
8294         set_state is now virtual too in case a very complicated element
8295         has to be constructed.
8296
8297 2005-10-18  Wim Taymans  <wim@fluendo.com>
8298
8299         * check/gst/gstbin.c: (GST_START_TEST):
8300         * check/gst/gstmessage.c: (GST_START_TEST):
8301         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8302         * gst/gstbin.c: (bin_bus_handler):
8303         * gst/gstelement.c: (gst_element_commit_state),
8304         (gst_element_lost_state):
8305         * gst/gstmessage.c: (gst_message_new_state_changed),
8306         (gst_message_new_segment_start), (gst_message_new_segment_done),
8307         (gst_message_new_duration), (gst_message_parse_state_changed),
8308         (gst_message_parse_segment_start),
8309         (gst_message_parse_segment_done), (gst_message_parse_duration):
8310         * gst/gstmessage.h:
8311         * tools/gst-launch.c: (event_loop):
8312         Make messages future proof.
8313         state-change gets a flag if it was a message comming from the
8314         streaming thread.
8315         segment-start/stop can also be specified in other formats.
8316         A message to notify an app that a pipeline changed playback 
8317         duration.
8318         Also fix a GstMessage leak in -launch
8319
8320 2005-10-18  Andy Wingo  <wingo@pobox.com>
8321
8322         * gst/gstelement.c (gst_element_dispose): More helpful message.
8323
8324 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8325
8326         reviewed by: <delete if not using a buddy>
8327
8328         * common/gtk-doc.mak:
8329
8330 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8331
8332         * gst/gstregistry.c: (gst_registry_scan_path_level):
8333           unref a plug-in we get that was already initialized
8334
8335 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
8336
8337         * docs/gst/gstreamer-sections.txt:
8338         * docs/libs/gstreamer-libs-sections.txt:
8339         * gst/gstelement.h:
8340           add new api entries
8341           hide internal macro
8342
8343 2005-10-17  Andy Wingo  <wingo@pobox.com>
8344
8345         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8346         cleanup.
8347
8348         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8349
8350         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8351
8352         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8353         (gst_element_get_state_func): Better debug message.
8354         (gst_element_commit_state): s/INFO/DEBUG/.
8355         (gst_element_lost_state, gst_element_change_state): 
8356
8357         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8358         (gst_message_new_custom): s/INFO/LOG/.
8359
8360 2005-10-17  Michael Smith <msmith@fluendo.com>
8361
8362         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8363           Check if end time is valid using end time, not start time.
8364
8365 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
8366
8367         * check/gst-libs/controller.c: (GST_START_TEST),
8368         (gst_controller_suite):
8369         * libs/gst/controller/gstcontroller.c:
8370         (gst_controlled_property_set_interpolation_mode):
8371         * libs/gst/controller/gstcontroller.h:
8372         * libs/gst/controller/gstinterpolation.c:
8373         * testsuite/controller/.cvsignore:
8374         * testsuite/controller/Makefile.am:
8375         * testsuite/controller/interpolator.c:
8376           merge controller testsuites
8377           fix broken tests
8378           remove mem-chunk from docs
8379
8380 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8381
8382         * gst/gstmemchunk.c:
8383         * gst/gstmemchunk.h:
8384         * gst/gsttrashstack.c:
8385         * gst/gsttrashstack.h:
8386           out.  get out.  you're fired.  to the Attic !
8387
8388 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8389
8390         * gst/gstcaps.c: (gst_caps_intersect):
8391           fix signedness issues in a (hopefully) correct way
8392         * gst/gstelement.c: (gst_element_pads_activate):
8393           some debugging
8394         * gst/gstobject.c: (gst_object_set_parent):
8395           some debugging
8396
8397 2005-10-17  Julien MOUTTE  <julien@moutte.net>
8398
8399         * gst/gstvalue.h: Fix prototypes.
8400
8401 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8402
8403         * docs/gst/gstreamer-sections.txt:
8404         * gst/gst.c: (gst_version_string):
8405         * gst/gst.h:
8406         * gst/gstversion.h.in:
8407         * win32/common/libgstreamer.def:
8408           add gst_version_string ()
8409
8410 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8411
8412         * configure.ac:
8413           clean up further
8414         * gst/gst.c: (init_post):
8415         * win32/common/config.h.in:
8416           it's PLUGINDIR now
8417         * gst/gstcaps.c: (gst_caps_intersect):
8418           use gint64, the range could be bigger than a guint
8419
8420 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8421
8422         * gst/gstclock.h:
8423           document potential problem in 2038
8424
8425 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8426
8427         * gst/gstcaps.c: (gst_caps_intersect):
8428           Fix guint j diving under 0
8429
8430 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8431
8432         * configure.ac:
8433         * win32/common/config.h:
8434         * win32/common/config.h.in:
8435           check for process.h, declares getpid() on Windows
8436         * gst/gstinfo.c:
8437           include process.h if we have it
8438         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8439         * gst/gstmemchunk.h:
8440           fix signedness issues
8441         * win32/common/libgstreamer.def:
8442           fix get_type's
8443
8444 2005-10-16  Julien MOUTTE  <julien@moutte.net>
8445
8446         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8447         fix. Because of unsigned ints, caps intersection was going nuts and
8448         trying to access structures with G_MAXUINT index. That fixes
8449         videotestsrc ! ffmpegcolorspace ! fakesink
8450         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8451         consistency.
8452
8453 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8454
8455         * configure.ac:
8456           use the gettext macro
8457         * gst/elements/gstelements.c:
8458         * gst/gst.c:
8459         * gst/indexers/gstindexers.c:
8460           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8461         * win32/common/config.h:
8462           updated config.h
8463         * win32/common/config.h.in:
8464           add the template to generate config.h
8465         * win32/common/gstenumtypes.c:
8466         * win32/common/gstversion.h:
8467           updated copies
8468
8469 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8470
8471         * gst/gst.c: (gst_version):
8472         * gst/gstversion.h.in:
8473           add the nano
8474
8475 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8476
8477         * gst/gstevent.h:
8478           Oops, add missing closing bracket.
8479
8480 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8481
8482         * configure.ac:
8483           use common m4's for argument checking
8484
8485 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8486
8487         * docs/gst/gstreamer-sections.txt:
8488         * gst/gstevent.h:
8489           Add GST_EVENT_TYPE_NAME() macro.
8490
8491 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8492
8493         * gst/gstinfo.c:
8494         * gst/gstpluginfeature.c:
8495         * gst/gsttask.c:
8496           privatize more symbols
8497
8498 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8499
8500         * configure.ac:
8501           add srcdir, builddir includes to GST_ALL_CFLAGS, since
8502           everything that uses GStreamer API should have the includes
8503
8504 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8505
8506         * docs/gst/gstreamer-sections.txt:
8507         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8508         * gst/gstvalue.h:
8509           give each value a _get_type, removes the DATA exports
8510
8511 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8512
8513         * gst/gst.c:
8514         * gst/gst.h:
8515           remove _gst_registry_auto_load, not used anymore
8516         * gst/gstbin.c: (gst_bin_get_type):
8517         * gst/gstbin.h:
8518         * gst/gstelement.c: (gst_element_get_type):
8519         * gst/gstelement.h:
8520         * gst/gstobject.c: (gst_object_get_type):
8521         * gst/gstobject.h:
8522         * gst/gstpad.c: (gst_pad_get_type):
8523         * gst/gstpad.h:
8524           make _get_type functions similar, fixes data export from library
8525
8526 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8527
8528         * configure.ac:
8529           correctly make conditionals
8530         * gst/elements/Makefile.am:
8531         * gst/elements/gstelements.c:
8532           fix typo causing fdsrc not to build
8533
8534 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8535
8536         * testsuite/Makefile.am:
8537         * testsuite/bytestream/.cvsignore:
8538         * testsuite/bytestream/Makefile.am:
8539         * testsuite/bytestream/filepadsink.c:
8540         * testsuite/bytestream/gstbstest.c:
8541         * testsuite/bytestream/test1.c:
8542         * testsuite/bytestream/testfile1:
8543         * testsuite/caps/normalisation.c:
8544         * testsuite/caps/random.c: (main):
8545         * testsuite/cleanup/.cvsignore:
8546         * testsuite/cleanup/Makefile.am:
8547         * testsuite/cleanup/cleanup1.c:
8548         * testsuite/cleanup/cleanup2.c:
8549         * testsuite/cleanup/cleanup3.c:
8550         * testsuite/cleanup/cleanup4.c:
8551         * testsuite/cleanup/cleanup5.c:
8552         * testsuite/controller/interpolator.c:
8553         * testsuite/debug/printf_extension.c: (main):
8554         * testsuite/elements/tee.c:
8555         * testsuite/negotiation/.cvsignore:
8556         * testsuite/negotiation/Makefile.am:
8557         * testsuite/negotiation/pad_link.c:
8558         * testsuite/pad/Makefile.am:
8559         * testsuite/pad/chainnopull.c:
8560         * testsuite/pad/getnopush.c:
8561         * testsuite/pad/link.c:
8562         * testsuite/refcounting/sched.c: (create_pipeline):
8563         * testsuite/registry/Makefile.am:
8564         * testsuite/registry/gst-print-formats.c:
8565         * testsuite/schedulers/.cvsignore:
8566         * testsuite/schedulers/142183-2.c:
8567         * testsuite/schedulers/142183.c:
8568         * testsuite/schedulers/143777-2.c:
8569         * testsuite/schedulers/143777.c:
8570         * testsuite/schedulers/147713.c:
8571         * testsuite/schedulers/147819.c:
8572         * testsuite/schedulers/147894-2.c:
8573         * testsuite/schedulers/147894.c:
8574         * testsuite/schedulers/Makefile.am:
8575         * testsuite/schedulers/group_link.c:
8576         * testsuite/schedulers/queue_link.c:
8577         * testsuite/schedulers/relink.c:
8578         * testsuite/schedulers/unlink.c:
8579         * testsuite/schedulers/unref.c:
8580         * testsuite/schedulers/useless_iteration.c:
8581         * testsuite/states/bin.c:
8582           clean out/remove some stuff from the testsuite directories
8583
8584 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8585
8586         * configure.ac:
8587           check for some headers
8588         * gst/elements/Makefile.am:
8589         * gst/elements/gstelements.c:
8590           don't compile fdsrc without sys/socket.h
8591         * gst/indexers/Makefile.am:
8592         * gst/indexers/gstindexers.c: (plugin_init):
8593           don't compile fileindex without mmap
8594
8595 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8596
8597         * configure.ac:
8598           reorganize
8599           clean up
8600           document more
8601           remove cruft
8602         * check/Makefile.am:
8603         * docs/gst/Makefile.am:
8604         * examples/helloworld/Makefile.am:
8605         * gst/Makefile.am:
8606         * gst/base/Makefile.am:
8607         * gst/check/Makefile.am:
8608         * gst/elements/Makefile.am:
8609         * gst/indexers/Makefile.am:
8610         * gst/parse/Makefile.am:
8611         * libs/gst/controller/Makefile.am:
8612         * libs/gst/dataprotocol/Makefile.am:
8613         * examples/helloworld/helloworld.c: (event_loop):
8614           compile fixes, though it's not being compiled currently
8615
8616 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8617
8618         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
8619           Add some simple tests for the new taglist date API.
8620
8621 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8622
8623         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
8624         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
8625           Beautify 'last-message' output: print 'none' for buffer timestamps
8626           and durations if none is set; improve alignment with next messages.
8627
8628 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8629
8630         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
8631         * gst/gstpluginfeature.h:
8632         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
8633         * gst/gstregistry.h:
8634         * docs/gst/gstreamer-sections.txt:
8635           Add new API to check plugin feature version requirements.
8636
8637         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
8638           Some basic tests for the above.         
8639
8640 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8641
8642         * gst/gststructure.c: (gst_structure_to_string):
8643           guard against NULL printf - happens when for example
8644           a message structure with GstClock gets serialized
8645
8646 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8647
8648         * gst/base/gstcollectpads.c: (gst_collectpads_event):
8649           Fix presumable copy'n'pasto.
8650
8651 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8652
8653         * gst/elements/gstfakesrc.h:
8654         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
8655         * gst/elements/gsttypefindelement.c:
8656           fix some signedness
8657         * gst/elements/gstfilesink.c: (gst_file_sink_render):
8658           I wonder if this could actually write +2GB files before
8659
8660 2005-10-13  Andy Wingo  <wingo@pobox.com>
8661
8662         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
8663         Fix Timmeke Waymans bug.
8664         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
8665         string of the proper length to gst_caps_from_string. There's a
8666         potential for, before this fix, that this could cause someone
8667         connecting over the network to cause a segfault if the payload is
8668         not NUL-terminated.
8669
8670 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8671
8672         * docs/design/draft-push-pull.txt:
8673         * docs/design/part-overview.txt:
8674         * docs/random/TODO-pre-0.9:
8675         * docs/random/old/ChangeLog.gstreamer:
8676         * gst/base/gstpushsrc.c:
8677         * gst/gstclock.c:
8678           fixed typos
8679
8680 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8681
8682         * gst/glib-compat.c: (gst_flags_get_first_value):
8683         * gst/glib-compat.h:
8684         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
8685         (gst_value_compare_double), (gst_value_serialize_flags):
8686           GLib 2.6 g_flags_get_first_value has a bug that triggers an
8687           infinite loop
8688
8689 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8690
8691         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8692         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8693           fix up debugging
8694         * tools/gst-launch.c: (event_loop):
8695           print out clock nicely
8696
8697 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8698
8699         * docs/gst/gstreamer-sections.txt:
8700         * gst/gsttaglist.h:
8701         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
8702         (gst_tag_list_get_date_index):
8703           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
8704           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
8705
8706 2005-10-13  Julien MOUTTE  <julien@moutte.net>
8707
8708         * gst/base/gstcollectpads.c: (gst_collectpads_event),
8709         (gst_collectpads_chain):
8710         * gst/base/gstcollectpads.h: Handle newsegment and store informations
8711         in CollectData.
8712
8713 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8714
8715         * docs/gst/gstreamer-sections.txt:
8716         * gst/gst.c:
8717         * gst/gsterror.h:
8718         * tools/gst-inspect.c: (main):
8719         * tools/gst-launch.c: (main):
8720         * tools/gst-run.c: (main):
8721         * tools/gst-xmlinspect.c: (main):
8722           fix GOption context leaks
8723           doc fixes
8724
8725 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8726
8727         * gst/gstbus.c:
8728           use HAVE_UNISTD_H
8729         * win32/common/config.h:
8730           update config
8731         * win32/vs6/grammar.dsp:
8732         * win32/vs6/libgstelements.dsp:
8733         * win32/vs6/libgstreamer.dsp:
8734           update vs6 files
8735
8736 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8737
8738         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8739         * gst/base/gstbasesrc.c: (gst_base_src_query):
8740           fix more guint64<->gdouble conversions
8741
8742 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8743
8744         * Makefile.am:
8745           add win32-update target
8746         * win32/common/gstconfig.h:
8747         * win32/common/gstenumtypes.c:
8748         * win32/common/gstenumtypes.h:
8749         * win32/common/gstversion.h:
8750           add files that visual studio can't generate
8751
8752 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8753
8754         * Makefile.am:
8755           add a win32-update target
8756         * configure.ac:
8757
8758 2005-10-12  Wim Taymans  <wim@fluendo.com>
8759
8760         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8761         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
8762         * gst/gstelement.c: (gst_element_commit_state),
8763         (gst_element_set_state):
8764         Protect flags with proper lock.
8765         unref provided cached clock in dispose.
8766
8767 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8768
8769         * gst/gst.c:
8770         * gst/gstminiobject.h:
8771         * gst/gstpad.h:
8772         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
8773           removed unused flags from miniobject
8774           doc fixes
8775
8776 2005-10-12  Wim Taymans  <wim@fluendo.com>
8777
8778         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8779         (gst_file_sink_event), (gst_file_sink_render):
8780         Flush before seeking.
8781
8782 2005-10-12  Andy Wingo  <wingo@pobox.com>
8783
8784         * gst/gst.c (gst_init_check): Ignore unknown options, as has
8785         always been the case.
8786
8787 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8788
8789         * check/gst/gstbin.c: (GST_START_TEST):
8790         * docs/gst/gstreamer-sections.txt:
8791         * gst/base/gstbasesink.c: (gst_base_sink_init):
8792         * gst/base/gstbasesrc.c: (gst_base_src_init),
8793         (gst_base_src_get_range), (gst_base_src_check_get_range),
8794         (gst_base_src_start), (gst_base_src_stop):
8795         * gst/base/gstbasesrc.h:
8796         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
8797         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8798         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
8799         (bin_bus_handler):
8800         * gst/gstbin.h:
8801         * gst/gstbuffer.h:
8802         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
8803         * gst/gstbus.h:
8804         * gst/gstelement.c: (gst_element_is_locked_state),
8805         (gst_element_set_locked_state), (gst_element_commit_state),
8806         (gst_element_set_state):
8807         * gst/gstelement.h:
8808         * gst/gstindex.c: (gst_index_init):
8809         * gst/gstindex.h:
8810         * gst/gstminiobject.h:
8811         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
8812         (gst_object_set_parent):
8813         * gst/gstobject.h:
8814         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
8815         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
8816         * gst/gstpad.h:
8817         * gst/gstpadtemplate.h:
8818         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
8819         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
8820         * gst/gstpipeline.h:
8821         * gst/indexers/gstfileindex.c: (gst_file_index_load),
8822         (gst_file_index_commit):
8823         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
8824         * testsuite/pad/link.c: (gst_test_src_init),
8825         (gst_test_filter_init), (gst_test_sink_init):
8826         * testsuite/states/locked.c: (main):
8827           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
8828           moved bitshift from macro to enum definition
8829
8830 2005-10-12  Wim Taymans  <wim@fluendo.com>
8831
8832         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
8833         * gst/elements/gstfilesink.c: (gst_file_sink_event),
8834         (gst_file_sink_render):
8835         Some more debugging info.
8836
8837 2005-10-12  Wim Taymans  <wim@fluendo.com>
8838
8839         * docs/design/part-states.txt:
8840         * tools/gst-launch.c: (main):
8841         Some doc updates.
8842         Revert non-intentional change.
8843
8844 2005-10-12  Wim Taymans  <wim@fluendo.com>
8845
8846         * check/gst/gstbin.c: (GST_START_TEST):
8847         * check/gst/gstelement.c: (GST_START_TEST):
8848         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
8849         * check/gst/gstghostpad.c: (GST_START_TEST):
8850         * check/gst/gstpipeline.c: (GST_START_TEST):
8851         * check/pipelines/simple_launch_lines.c: (run_pipeline):
8852         * check/states/sinks.c: (GST_START_TEST):
8853         * gst/elements/gsttypefindelement.c: (stop_typefinding):
8854         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8855         (gst_bin_remove_func), (gst_bin_get_state_func),
8856         (gst_bin_recalc_state), (gst_bin_change_state_func),
8857         (bin_bus_handler):
8858         * gst/gstelement.c: (gst_element_get_state_func),
8859         (gst_element_get_state), (gst_element_abort_state),
8860         (gst_element_commit_state), (gst_element_set_state),
8861         (gst_element_change_state), (gst_element_change_state_func):
8862         * gst/gstelement.h:
8863         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
8864         (gst_pipeline_provide_clock_func):
8865         * gst/gstutils.c: (gst_element_link_pads_filtered):
8866         * tools/gst-launch.c: (main):
8867         * tools/gst-typefind.c: (main):
8868         Use GstClockTime in _get_state() instead of GTimeVal.
8869         Remove old code in gstutils.c
8870
8871 2005-10-12  Andy Wingo  <wingo@pobox.com>
8872
8873         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
8874         removed.
8875
8876         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
8877         there is no task. Shouldn't affect any code, as nothing in our
8878         plugins checks this return value.
8879         (gst_pad_stop_task): Also take the stream lock if the pad has no
8880         task. Docs updated.
8881
8882 2005-10-12  Wim Taymans  <wim@fluendo.com>
8883
8884         * gst/gstpad.c: (pre_activate), (post_activate),
8885         (gst_pad_activate_pull), (gst_pad_activate_push):
8886         Cleanup activation code. Reset old state if
8887         activation failed.
8888
8889 2005-10-12  Wim Taymans  <wim@fluendo.com>
8890
8891         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8892         (gst_base_sink_change_state):
8893         No need to prerol after receiving EOS.
8894
8895         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
8896         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
8897         * gst/elements/gstidentity.c: (gst_identity_event):
8898         Print events more verbosely.
8899
8900 2005-10-12  Wim Taymans  <wim@fluendo.com>
8901
8902         * check/Makefile.am:
8903         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
8904         * check/states/sinks2.c:
8905         Moved sinks2 testcode in sinks check.
8906
8907         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
8908         (gst_bin_remove_func), (gst_bin_recalc_state),
8909         (gst_bin_change_state_func), (bin_bus_handler):
8910         Fix potential race condition when _get_state() iterated over an
8911         ASYNC element right before it posted a state completion.
8912
8913         * gst/gstclock.h:
8914         Do proper cast here.
8915
8916         * gst/gstevent.c: (gst_event_new_newsegment),
8917         (gst_event_parse_newsegment):
8918         A playback rate of 0.0 is not allowed.
8919
8920 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8921
8922         * win32/common/config.h:
8923         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
8924         (_trewinddir), (_ttelldir), (_tseekdir):
8925         * win32/common/dirent.h:
8926         * win32/common/gtchar.h:
8927         * win32/common/libgstbase.def:
8928         * win32/common/libgstreamer.def:
8929         * win32/vs6/grammar.dsp:
8930         * win32/vs6/gst_inspect.dsp:
8931         * win32/vs6/gst_launch.dsp:
8932         * win32/vs6/gstreamer.dsw:
8933         * win32/vs6/libgstbase.dsp:
8934         * win32/vs6/libgstelements.dsp:
8935         * win32/vs6/libgstreamer.dsp:
8936           Visual Studio 6 project files, and a new common directory.
8937           Phear.
8938
8939 2005-10-11  Wim Taymans  <wim@fluendo.com>
8940
8941         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8942         (gst_base_sink_do_sync), (gst_base_sink_query),
8943         (gst_base_sink_change_state):
8944         * gst/base/gstbasesink.h:
8945         Correctly parse newsegment info.
8946
8947 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8948
8949         * gst/gst.c: (init_post):
8950           split plugin paths correctly
8951
8952 2005-10-11  Wim Taymans  <wim@fluendo.com>
8953
8954         * check/gst/gstevent.c: (GST_START_TEST):
8955         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8956         (gst_base_sink_change_state):
8957         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
8958         * gst/base/gstbasetransform.c: (gst_base_transform_event):
8959         * gst/elements/gstfilesink.c: (gst_file_sink_event):
8960         * gst/gstevent.c: (gst_event_new_newsegment),
8961         (gst_event_parse_newsegment):
8962         * gst/gstevent.h:
8963         Added extra flag to newsegment for future API freeze.
8964         Updated check and base elements.
8965
8966 2005-10-11  Julien MOUTTE  <julien@moutte.net>
8967
8968         * gst/base/gstcollectpads.c: (gst_collectpads_init),
8969         (gst_collectpads_add_pad), (gst_collectpads_pop),
8970         (gst_collectpads_event), (gst_collectpads_chain):
8971         * gst/base/gstcollectpads.h: Handle EOS correctly.
8972
8973 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8974
8975         * tools/gst-launch.c: (main):
8976           more null protecting
8977
8978 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8979
8980         * gst/gst-i18n-lib.h:
8981           check for ENABLE_NLS, not GETTEXT_PACKAGE
8982         * gst/gstregistry.c: (gst_registry_add_plugin),
8983         (gst_registry_scan_path_level),
8984         (_gst_registry_remove_cache_plugins):
8985           protect possibly NULL strings
8986         * gst/parse/types.h:
8987           config.h already included before
8988         * tools/gst-inspect.c: (main):
8989           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
8990           check for ENABLE_NLS, not GETTEXT_PACKAGE
8991         * tools/gst-launch.c: (main):
8992           check for ENABLE_NLS, not GETTEXT_PACKAGE
8993
8994 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
8995
8996         * configure.ac:
8997           if we don't have glib, fail before testing 2.8
8998         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
8999           fix a leak, should fix plugins-base testsuite
9000
9001 2005-10-11  Andy Wingo  <wingo@pobox.com>
9002
9003         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
9004         take the mode we're going to as an arg. Go head and set the mode
9005         and flushing flags now, so that if the activate function starts a
9006         thread all the flags will be in the right state.
9007         (post_activate): Renamed also. Just handle making sure streaming
9008         finishes for the deactivation case, and setting the deactivated
9009         mode.
9010         (gst_pad_set_active): Complain loudly if deactivation fails.
9011         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
9012         (gst_pad_activate_push): Adapt to pre/post_activate changes,
9013         remove the terrible hack.
9014
9015 2005-10-11  Wim Taymans  <wim@fluendo.com>
9016
9017         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9018         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9019         (gst_bin_recalc_state), (gst_bin_change_state_func),
9020         (gst_bin_dispose), (bin_bus_handler):
9021         * gst/gstbin.h:
9022         Prepare to make current EOS message queue more generic.
9023         Fix some typos.
9024
9025         * gst/gstevent.c: (gst_event_new_newsegment),
9026         (gst_event_parse_newsegment):
9027         * gst/gstevent.h:
9028         Rename base to stream_time.
9029
9030         * gst/gstmessage.h:
9031         Fix typo in docs.
9032
9033 2005-10-11  Wim Taymans  <wim@fluendo.com>
9034
9035         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9036         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9037         (gst_bin_change_state_func), (bin_bus_handler):
9038         * gst/gstbin.h:
9039         Work on proper clock selection.
9040
9041 2005-10-11  Edward Hervey  <edward@fluendo.com>
9042
9043         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
9044         * libs/gst/controller/gstcontroller.h:
9045         Added GList* version of _remove_properties() in order to be able to wrap
9046         it in bindings.
9047
9048 2005-10-11  Wim Taymans  <wim@fluendo.com>
9049
9050         * docs/design/part-states.txt:
9051         Some more docs.
9052
9053         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9054         (gst_bin_change_state_func), (bin_bus_handler):
9055         Doc updates. Don't distribute the same clock over and over again.
9056
9057         * gst/gstclock.c:
9058         * gst/gstclock.h:
9059         Doc updates.
9060
9061         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9062         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9063         (gst_pad_send_event):
9064         * gst/gstpad.h:
9065         Make probe emission threadsafe again.
9066         Register quarks and move _get_name() from utils.
9067         Doc updates.
9068
9069         * gst/gstpipeline.c: (gst_pipeline_class_init),
9070         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9071         Only redistribute the clock of it changed.
9072
9073         * gst/gstsystemclock.h:
9074         Doc updates. 
9075
9076         * gst/gstutils.c:
9077         * gst/gstutils.h:
9078         Moved the _flow_get_name() to GstPad.
9079
9080 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9081
9082         * check/gst-libs/gdp.c: (GST_START_TEST):
9083         * check/gst/gstcaps.c: (GST_START_TEST):
9084         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9085         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9086         (gst_dp_packet_from_caps):
9087           fix more valgrind warnings before turning up the heat
9088
9089 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9090
9091         * gst/parse/grammar.y:
9092           some cleanup before the hacking
9093
9094 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9095
9096         * gst/base/gstbasesrc.c: (gst_base_src_query):
9097           use conversions
9098         * gst/gstutils.c: (gst_guint64_to_gdouble),
9099         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9100         * gst/gstutils.h:
9101           externalize, basesrc uses it
9102           obviously the implementation needs testing
9103
9104 2005-10-10  Wim Taymans  <wim@fluendo.com>
9105
9106         * tests/sched/Makefile.am:
9107         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9108         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9109
9110 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9111
9112         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9113           apparently converting from guint64 to double is not implemented
9114           on MSVC
9115
9116 2005-10-10  Wim Taymans  <wim@fluendo.com>
9117
9118         * check/Makefile.am:
9119         * check/generic/states.c: (GST_START_TEST):
9120         * check/gst/gstbin.c: (GST_START_TEST):
9121         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9122         * check/states/sinks.c: (GST_START_TEST):
9123         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9124         (main):
9125         Check fixes, use API as stated in design docs, remove hacks.
9126
9127         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9128         (gst_base_sink_change_state):
9129         Catch stopping our task while we're shutting down.
9130
9131         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9132         (gst_bin_remove_func), (gst_bin_get_state_func),
9133         (gst_bin_recalc_state), (gst_bin_change_state_func),
9134         (bin_bus_handler):
9135         * gst/gstbin.h:
9136         * gst/gstelement.c: (gst_element_init),
9137         (gst_element_get_state_func), (gst_element_abort_state),
9138         (gst_element_commit_state), (gst_element_lost_state),
9139         (gst_element_set_state), (gst_element_change_state),
9140         (gst_element_change_state_func):
9141         * gst/gstelement.h:
9142         New state change algorithm (see #318116)
9143
9144         * gst/gstpipeline.c: (gst_pipeline_class_init),
9145         (gst_pipeline_init), (gst_pipeline_set_property),
9146         (gst_pipeline_get_property), (do_pipeline_seek),
9147         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9148         * gst/gstpipeline.h:
9149         Remove crude state change hacks.
9150
9151         * gst/gstutils.h:
9152         Remove crude hacks.
9153
9154         * tools/gst-launch.c: (main):
9155         Fixes for state change. Needs some more work to fully use the
9156         new stuff.
9157
9158 2005-10-10  Andy Wingo  <wingo@pobox.com>
9159
9160         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9161
9162         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9163         this flag, but it's not even in GLib 2.6. Odd. Hack around the
9164         issue.
9165
9166 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9167
9168         * gst/gstiterator.c: (gst_iterator_new):
9169           Fix my previous commit: GTypes passed to gst_iterator_new()
9170           can be fundamental types.
9171
9172 2005-10-10  Wim Taymans  <wim@fluendo.com>
9173
9174         * gst/gstelement.c: (gst_element_iterate_pad_list),
9175         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9176         (gst_element_iterate_sink_pads):
9177         Use src/sink pads lists for the respective iterators instead
9178         of filtering.
9179
9180 2005-10-10  Andy Wingo  <wingo@pobox.com>
9181
9182         Merged in popt removal + GOption addition patch from Ronald, bug
9183         #169772.
9184
9185         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9186         GstElement macros around, remove popt-related symbols, add goption
9187         stuff.
9188
9189         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9190         
9191         * docs/gst/Makefile.am:
9192         * docs/libs/Makefile.am: No POPT_CFLAGS.
9193         
9194         * examples/manual/Makefile.am:
9195         * docs/manual/basics-init.xml: Doc updates with an example.
9196         
9197         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9198         (gst_init), (parse_one_option), (parse_goption_arg):
9199         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9200         bit of hand merging and debugging to get the GOption stuff working
9201         tho.
9202         
9203         * tests/Makefile.am:
9204         * tools/Makefile.am:
9205         * tools/gst-inspect.c: (main):
9206         * tools/gst-launch.c: (main):
9207         * tools/gst-run.c: (main):
9208         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9209
9210 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9211
9212         * gst/gstiterator.c: (gst_iterator_new):
9213           Add assertions to make sure passed GType is likely to really
9214           be a GType (as the compiler won't catch it if the size and
9215           GType arguments get mixed up, see #318447).
9216
9217 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
9218
9219         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9220
9221         * gst/gstbin.c: (gst_bin_iterate_sorted):
9222           Pass GType and size arguments to gst_iterator_new() in the right
9223           order (maybe we should make _new() take the GType as first argument
9224           just like _new_list()?) (#318447).
9225           
9226
9227 2005-10-10  Wim Taymans  <wim@fluendo.com>
9228
9229         * gst/gstelement.c: (gst_element_finalize):
9230         And free the GStaticRecMutex too
9231
9232 2005-10-10  Andy Wingo  <wingo@pobox.com>
9233
9234         * gst/gstelement.c (gst_element_init, gst_element_finalize):
9235         Allocate and free the mutex properly.
9236
9237         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9238         New macros.
9239         (GstElement): The state_lock is now recursive. Rebuild your
9240         plugins, suckers. Old macros adapted.
9241
9242         * docs/gst/gstreamer-sections.txt: Doc updates.
9243
9244         * gst/gstutils.h:
9245         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
9246         (g_static_rec_cond_wait): Ported from state changes patch, while
9247         we wait on bug #317802 to be solved in a well-distributed GLib.
9248
9249         * gst/gstelement.c (gst_element_change_state_func): Renamed from
9250         gst_element_change_state, variable name changes.
9251         (gst_element_change_state): Split out of gst_element_set_state in
9252         preparation for the state change merge. Doesn't pay attention to
9253         the 'transition' argument.
9254         (gst_element_set_state): Updates, hopefully purely cosmetic.
9255         (gst_element_sync_state_with_parent): MT-safety. Ported from the
9256         state change patch.
9257         (gst_element_get_state_func): Renamed from get_state, cosmetic
9258         changes.
9259
9260 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9261
9262         * gst/elements/gstelements.c:
9263         * win32/GStreamer.vcproj:
9264         * win32/config.h:
9265         * win32/dirent.c: (_tseekdir):
9266         * win32/gst-inspect.vcproj:
9267         * win32/gst-launch.vcproj:
9268         * win32/gstconfig.h:
9269         * win32/gstelements.vcproj:
9270         * win32/gstenumtypes.c: (gst_object_flags_get_type):
9271         * win32/gstreamer.def:
9272         * win32/msvc71.sln:
9273           updates for the win32 build (patch from Sebastien Moutte)
9274
9275 2005-10-10  Andy Wingo  <wingo@pobox.com>
9276
9277         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9278         gst_bin_get_state, cleaned up (but no logic changes).
9279         (bin_element_is_sink): Comment updates.
9280         (sink_iterator_filter): Remove needless cast.
9281         (gst_bin_iterate_sinks): Doc update.
9282         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9283         cleaned up (but no logic changes).
9284
9285         * check/states/sinks.c (test_src_sink): Cleanups from the state
9286         change patch.
9287         (test_livesrc_sink): Sync on the state.
9288
9289         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9290         the state change patch.
9291
9292         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9293         change patch.
9294
9295         * check/gst/gstbin.c: Merge in some style fixes and additional
9296         checks from Wim's state change patch.
9297
9298 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9299
9300         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9301         (gst_type_find_helper):
9302           Check whether we have the requested data already in our list of
9303           cached buffers before pulling a new buffer; also make the buffer
9304           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9305
9306 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9307
9308         * gst/gstcaps.c:
9309         * gst/gstevent.c:
9310           doc updates
9311         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9312           don't use long long, it's not portable.  Replacing with
9313           gint64 seems to work; let's hope no skeletons fall out of the closet.
9314
9315 2005-10-10  Andy Wingo  <wingo@pobox.com>
9316
9317         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9318
9319 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
9320
9321         * docs/gst/gstreamer-sections.txt:
9322         * gst/gstevent.c:
9323         * gst/gstevent.h:
9324         * gst/gstinfo.c:
9325         * gst/gstinfo.h:
9326         * gst/gstmessage.c: (gst_message_parse_state_changed):
9327         * gst/gstpad.c:
9328         * gst/gstpad.h:
9329           more docs, fix compilation
9330
9331 2005-10-09  Philippe Khalaf <burger@speedy.org>
9332         * gst/gstmessage.c:
9333           Fixed a few forgotten variables on previous commit
9334
9335 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9336
9337         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9338           Fix evil typefind crasher: getrange() might return a short
9339           buffer at the end of a file, but gst_type_find_peek() must
9340           either return the full data as requested or NULL, but
9341           never a short buffer.
9342
9343 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9344
9345         * gst/gstmessage.c: (gst_message_new_state_changed),
9346         (gst_message_parse_state_changed):
9347         * gst/gstmessage.h:
9348           don't use "new", it's a C++ keyword
9349
9350 2005-10-08  Wim Taymans  <wim@fluendo.com>
9351
9352         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9353         * gst/gstelement.c: (gst_element_post_message):
9354         * gst/gstpipeline.c: (gst_pipeline_change_state):
9355         Small docs and debug updates.
9356
9357 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9358
9359         * docs/gst/gstreamer-sections.txt:
9360         * gst/gstelementfactory.c:
9361         * gst/gstevent.c:
9362         * gst/gsttaglist.c:
9363           more docs
9364
9365 2005-10-08  Wim Taymans  <wim@fluendo.com>
9366
9367         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9368         (gst_bin_dispose), (bin_bus_handler):
9369         Fix typos, add comments.
9370         Clear EOS list when going to PAUSED from any direction and do it
9371         in a threadsafe way.
9372         Get base time in a threadsafe way too.
9373         Fix confusing debug in the change_state function.
9374         Various other small cleanups.
9375         
9376         * gst/gstelement.c: (gst_element_post_message):
9377         Fix very verbose bus posting code.
9378
9379         * gst/gstpipeline.c: (gst_pipeline_class_init),
9380         (gst_pipeline_set_property), (gst_pipeline_get_property),
9381         (gst_pipeline_change_state):
9382         Small ARG_ -> PROP_ cleanup
9383
9384 2005-10-08  Wim Taymans  <wim@fluendo.com>
9385
9386         * gst/gstbin.c: (is_eos), (bin_bus_handler):
9387         Do a less CPU demanding EOS check because we can.
9388
9389 2005-10-08  Wim Taymans  <wim@fluendo.com>
9390
9391         * libs/gst/dataprotocol/dataprotocol.c:
9392         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9393         (gst_dp_packet_from_event):
9394         * libs/gst/dataprotocol/dataprotocol.h:
9395         * libs/gst/dataprotocol/dp-private.h:
9396         It's about time we bump the version number.
9397         Since event types don't fit in the guint8 anymore describing
9398         the payload type, make payload type 16 bits wide.
9399
9400 2005-10-08  Wim Taymans  <wim@fluendo.com>
9401
9402         * docs/design/part-TODO.txt:
9403         * docs/design/part-clocks.txt:
9404         * docs/design/part-events.txt:
9405         * docs/design/part-gstbin.txt:
9406         * docs/design/part-gstelement.txt:
9407         * docs/design/part-gstpipeline.txt:
9408         * docs/design/part-live-source.txt:
9409         * docs/design/part-messages.txt:
9410         * docs/design/part-overview.txt:
9411         * docs/design/part-states.txt:
9412         Many doc updates.
9413
9414 2005-10-08  Wim Taymans  <wim@fluendo.com>
9415
9416         * gst/gstevent.c:
9417         * gst/gstevent.h:
9418         Fix event quark registration.
9419         Add some space between events so we can insert them in the
9420         right groups.
9421
9422 2005-10-08  Wim Taymans  <wim@fluendo.com>
9423
9424         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9425         (gst_base_sink_handle_buffer):
9426         Better log message.
9427
9428         * gst/gstbus.h:
9429         * gst/gstelement.h:
9430         More docs.
9431
9432         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9433         (gst_queue_set_property), (gst_queue_get_property):
9434         * gst/gstqueue.h:
9435         Remove old unused properties.
9436
9437 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9438         * docs/gst/gstreamer-sections.txt:
9439         * gst/gstmessage.c:
9440         * gst/gstmessage.h:
9441         * gst/gstminiobject.c:
9442         * gst/gstminiobject.h:
9443         * gst/gstobject.h:
9444         * gst/gstpad.h:
9445         * gst/gstutils.h:
9446           lots of new docs and doc fixes
9447
9448 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9449
9450         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9451         * gst/gstplugin.h:
9452         * gst/gstregistry.c: (gst_registry_lookup_locked),
9453         (gst_registry_scan_path_level):
9454         * gst/gstregistryxml.c: (load_plugin):
9455           Only ever load one plugin for a given plugin basename.
9456           This ensures correct overriding of GST_PLUGIN_PATH over
9457           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9458           system installed plugins.
9459
9460 2005-10-08  Wim Taymans  <wim@fluendo.com>
9461
9462         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9463         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9464         Prepare for doing QOS.
9465
9466 2005-10-08  Wim Taymans  <wim@fluendo.com>
9467
9468         * check/gst/gstbin.c: (GST_START_TEST):
9469         * check/pipelines/cleanup.c: (GST_START_TEST):
9470         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9471         Allow new clock message too.
9472
9473 2005-10-08  Wim Taymans  <wim@fluendo.com>
9474
9475         * gst/gstmessage.c: (gst_message_new_error),
9476         (gst_message_new_warning), (gst_message_new_tag),
9477         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9478         (gst_message_new_clock_lost), (gst_message_new_new_clock),
9479         (gst_message_new_segment_start), (gst_message_new_segment_done),
9480         (gst_message_parse_state_changed),
9481         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9482         (gst_message_parse_new_clock):
9483         * gst/gstmessage.h:
9484         Also carry the clock in question.
9485
9486 2005-10-08  Wim Taymans  <wim@fluendo.com>
9487
9488         * gst/gstmessage.c: (gst_message_new_custom),
9489         (gst_message_new_eos), (gst_message_new_error),
9490         (gst_message_new_warning), (gst_message_new_tag),
9491         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9492         (gst_message_new_new_clock), (gst_message_new_segment_start),
9493         (gst_message_new_segment_done), (gst_message_parse_state_changed),
9494         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9495         * gst/gstmessage.h:
9496         Clean up.
9497         Added clock related messages.
9498
9499         * gst/gstpipeline.c: (gst_pipeline_change_state):
9500         Post message when the clock changed.
9501
9502         * tools/gst-launch.c: (event_loop):
9503         Print new clock.
9504
9505 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9506
9507         * tools/gst-inspect.c: (print_element_properties_info):
9508           Can't pass NULL strings to g_print() on windows.
9509
9510 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9511
9512         * docs/Makefile.am:
9513         * docs/gst/Makefile.am:
9514         * docs/gst/gstreamer-docs.sgml:
9515         * docs/gst/running.xml:
9516         * docs/version.entities.in:
9517           add a chapter on running GStreamer.
9518           document GST_DEBUG and GST_PLUGIN* env vars
9519
9520 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9521
9522         * Makefile.am:
9523           remove include dir
9524         * configure.ac:
9525           remove PLUGINS_BUILDDIR stuff
9526         * gst/gst.c: (init_post):
9527           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9528         * idiottest.mak:
9529           remove, it was condescending and not needed
9530
9531 2005-10-08  Wim Taymans  <wim@fluendo.com>
9532
9533         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9534         (gst_base_sink_handle_object), (gst_base_sink_event),
9535         (gst_base_sink_wait), (gst_base_sink_handle_event),
9536         (gst_base_sink_change_state):
9537         * gst/base/gstbasesink.h:
9538         Repost EOS message while going to PLAYING if still EOS.
9539         Make sure that when receiving a FLUSH_START we don't attempt
9540         to sync on the clock anymore.
9541
9542 2005-10-08  Wim Taymans  <wim@fluendo.com>
9543
9544         * tools/gst-launch.c: (event_loop):
9545         Better message printout.
9546
9547 2005-10-08  Wim Taymans  <wim@fluendo.com>
9548
9549         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
9550         (gst_bin_child_proxy_get_children_count):
9551         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9552         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
9553         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
9554         (gst_child_proxy_set_valist):
9555         * gst/parse/grammar.y:
9556         Make ChildProxy threadsafe and fix mem leaks.
9557
9558 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9559
9560         * gst/gst.c: (init_post):
9561           debug the GST_PLUGIN_ env vars
9562
9563 2005-10-08  Wim Taymans  <wim@fluendo.com>
9564
9565         * check/gst/gstbin.c: (GST_START_TEST):
9566         * check/gst/gstmessage.c: (GST_START_TEST):
9567         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9568         * gst/gstelement.c: (gst_element_commit_state),
9569         (gst_element_lost_state):
9570         * gst/gstmessage.c: (gst_message_new_state_changed),
9571         (gst_message_parse_state_changed):
9572         * gst/gstmessage.h:
9573         * tools/gst-launch.c: (event_loop):
9574         Added extra field to STATE_CHANGE message with the pending
9575         state, which will be different from the new state soon.
9576
9577 2005-10-08  Wim Taymans  <wim@fluendo.com>
9578
9579         * gst/gstbus.c: (gst_bus_pop):
9580         * gst/gstclock.c:
9581         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9582         Small cleanups and doc updates.
9583
9584 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9585
9586         * gst/gst.c: (init_pre):
9587         * gst/gstbin.c: (gst_bin_add_func):
9588           log distributing clocks and base time
9589         * gst/gstregistry.c: (gst_registry_add_plugin),
9590         (gst_registry_scan_path_level), (gst_registry_scan_path):
9591           clean up the debugging output a little
9592         * gst/gstutils.c: (gst_element_state_get_name):
9593           warn about a memleak (I've actually seen this be used, though
9594           it was probably a bug)
9595
9596 2005-10-07  Wim Taymans  <wim@fluendo.com>
9597
9598         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9599         (gst_base_src_init), (gst_base_src_default_newsegment),
9600         (gst_base_src_newsegment), (gst_base_src_do_seek),
9601         (gst_base_src_loop), (gst_base_src_start):
9602         * gst/base/gstbasesrc.h:
9603         Make the newsegment event customizable by subclasses.
9604
9605 2005-10-07  Wim Taymans  <wim@fluendo.com>
9606
9607         * gst/gstevent.c: (gst_event_new_buffersize),
9608         (gst_event_parse_buffersize):
9609         * gst/gstevent.h:
9610         New event for future idea.
9611
9612 2005-10-07  Andy Wingo  <wingo@pobox.com>
9613
9614         * gst/gstelement.c (gst_element_post_message): Doc update.
9615
9616         * docs/gst/gstreamer-sections.txt: Update.
9617
9618         * gst/gstmessage.c (gst_message_new_application): Made into a
9619         function like honest API calls.
9620         (gst_message_new_element): New message type.
9621
9622         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
9623
9624         * check/elements/fakesrc.c (test_no_preroll): New check, checks
9625         that setting a live fakesrc to PAUSED returns NO_PREROLL both
9626         times.
9627
9628         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
9629         NO_PREROLL from gst_element_change_state to fall through.
9630
9631 2005-10-07  Wim Taymans  <wim@fluendo.com>
9632
9633         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
9634         (gst_ghost_pad_do_activate_push):
9635         Activating a ghostpad with no internal pad in push mode
9636         is ok.
9637
9638 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9639
9640         * gst/gstobject.h:
9641           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
9642           Fixes compilation on Windows.
9643
9644 2005-10-07  Michael Smith <msmith@fluendo.com>
9645
9646         * tools/gst-inspect.c:
9647           Print out feature and plugin count at the end when printing out
9648           all features.
9649
9650 2005-10-04  Michael Smith <msmith@fluendo.com>
9651
9652         * gst/gsterror.c: (_gst_stream_errors_init):
9653           Add another error string used in a few existing plugins.
9654
9655         * gst/gstplugin.c:
9656         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9657         * tools/gst-inspect.c: (print_element_info):
9658           When a feature disappears from a plugin (and the feature exists in
9659           the cached registry file), things went horribly wrong. This isn't a
9660           complete fix, we should actually be removing the 'missing' features
9661           from the features list when we load the actual plugin. That's not
9662           yet implemented. 
9663
9664 2005-10-04  Johan Dahlin  <johan@gnome.org>
9665
9666         * check/gst/gstiterator.c: (GST_START_TEST):
9667         * gst/gstbin.c: (gst_bin_iterate_elements),
9668         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
9669         * gst/gstelement.c: (gst_element_iterate_pads):
9670         * gst/gstformat.c: (gst_format_iterate_definitions):
9671         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9672         (gst_iterator_new_list), (gst_iterator_filter):
9673         * gst/gstiterator.h:
9674         * gst/gstquery.c: (gst_query_type_iterate_definitions):
9675         Add a GType to GstIterator, update callsites and tests.
9676
9677 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9678
9679         * gst/gstpad.c: (gst_pad_event_default_dispatch):
9680           give events a chance to be handled by event probes when the pad
9681           is not linked
9682
9683 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9684
9685         * gst/gstevent.c: (gst_event_type_get_name),
9686         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
9687         * gst/gstevent.h:
9688           add string representations for event types
9689
9690 2005-10-06  Wim Taymans  <wim@fluendo.com>
9691
9692         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
9693         Don't use NULL pointers.
9694
9695 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9696
9697         * gst/gst_private.h:
9698         * gst/gstbus.c:
9699         * gst/gstelement.c:
9700         * gst/gstinfo.c:
9701         * gst/gstpluginfeature.c:
9702           widen the debug category in output to fit the biggest one we have
9703           add a bus category and use it
9704           play with the colors
9705           fix up some categories
9706
9707 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9708
9709         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
9710           add push activation of sink ghost pads.
9711           Andye, please verify
9712
9713 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9714
9715         * gst/gstutils.c: (gst_element_link_pads):
9716           fix a bug in the case where neither element has a pad
9717         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9718           add a test for that case
9719
9720 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9721
9722         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
9723           emit have-data before checking for peers.  This allows
9724           for probe handlers to connect elements.  This helps autopluggers.
9725         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
9726         (gst_pad_suite):
9727           add six checks, linked/unlinked with no/true/false probe
9728
9729 2005-10-04  Wim Taymans  <wim@fluendo.com>
9730
9731         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
9732         (gst_fake_sink_event), (gst_fake_sink_preroll),
9733         (gst_fake_sink_render), (gst_fake_sink_change_state):
9734         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
9735         (gst_fake_src_get_property), (gst_fake_src_create),
9736         (gst_fake_src_stop):
9737         * gst/elements/gstidentity.c: (gst_identity_stop):
9738         Protect last_message with lock.
9739
9740 2005-10-04  Edward Hervey  <edward@fluendo.com>
9741
9742         * gst/gstformat.h: 
9743         Added precision in the comments for GST_FORMAT_DEFAULT
9744
9745 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
9746
9747         * tools/gst-launch.c: (main):
9748           Don't try to run erroneous pipelines.
9749
9750 2005-10-04  Julien MOUTTE  <julien@moutte.net>
9751
9752         * gst/gstbus.c: We don't need this header.
9753
9754 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9755
9756         * configure.ac:
9757           back to development
9758
9759 === release 0.9.3 ===
9760
9761 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9762
9763         * README:
9764         * configure.ac:
9765           Releasing 0.9.3, "Unregistered"
9766
9767 2005-10-03  Andy Wingo  <wingo@pobox.com>
9768
9769         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
9770         whereby calling a pad's activatepush() function can start a thread
9771         that starts to push or pull before the pad gets the FLUSHING flag
9772         unset. Hack around it by holding the stream lock until the flag is
9773         set. Need to replace this with a proper solution. Together with
9774         the ghost pad fixes, this fixes mp3 playing/tagreading.
9775
9776         * docs/design/part-gstghostpad.txt: Add a note about activation of
9777         proxy pads outside of ghost pads.
9778
9779         * gst/gstghostpad.c: Implement the ghost pad activation design.
9780
9781 2005-10-02  Andy Wingo  <wingo@pobox.com>
9782
9783         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
9784         It is volatile, after all.
9785
9786         * docs/design/part-gstghostpad.txt: Flesh out activation with
9787         ghost pads.
9788
9789         * gst/base/gstbasesrc.c (gst_base_src_init): Use
9790         GST_DEBUG_FUNCPTR.
9791
9792 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9793
9794         * configure.ac:
9795           Fix (unused) AM_CONDITIONAL tests.
9796
9797 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
9798
9799         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9800
9801         * gst/gstutils.c: (gst_pad_query_convert):
9802           Add assertion that makes sure src_val is >=0, just like
9803           gst_query_new_convert() has. (#315895)
9804
9805 2005-09-30  Edward Hervey  <edward@fluendo.com>
9806
9807         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
9808         Let's not iterate pads we're not interested in, it avoids getting 
9809         sky-high refcounts on sinkpad.
9810
9811 2005-09-30  Wim Taymans  <wim@fluendo.com>
9812
9813         * gst/gstelement.c: (gst_element_set_state),
9814         (gst_element_change_state):
9815         Small tweak, element in ASYNC remains ASYNC.
9816
9817 2005-09-30  Wim Taymans  <wim@fluendo.com>
9818
9819         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
9820         Only error is an error.
9821
9822         * gst/gstbin.c: (gst_bin_change_state):
9823         Better debugging.
9824
9825         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
9826         Also call pad_block in pad alloc.
9827
9828         * gst/gstutils.c: (gst_flow_get_name):
9829         Better debugging.
9830
9831 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9832
9833         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9834         (gst_base_src_get_range):
9835           Fix documentation typos. Add some more debug info.
9836
9837 2005-09-29  David Schleef  <ds@schleef.org>
9838
9839         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
9840           more end-user friendly.
9841         * tools/gst-inspect.c: (main): Check if command-line argument is
9842           a file and attempt to load that file as a plugin.
9843
9844 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9845
9846         * check/gst/gstbin.c:
9847         * check/states/sinks.c:
9848           fix tests for the new warning
9849         * check/gst/gstpipeline.c:
9850           add a test for pipeline and bus interaction
9851         * gst/gstelement.c:
9852           elements should be NULL if they get disposed; add a warning if not
9853
9854 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9855
9856         * gst/gstobject.c:
9857           for 2.6 refcounting, make debug log more correct by printing
9858           the actual refcounts at the time of swap (Wim)
9859
9860 2005-09-29  Andy Wingo  <wingo@pobox.com>
9861
9862         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
9863         removes signal watches previously added via
9864         gst_bus_add_signal_watch.
9865         (gst_bus_add_signal_watch): Don't return the source id, just store
9866         it on the bus if there wasn't an id already.
9867
9868         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
9869         add_signal_watch and remove_signal_watch.
9870
9871 2005-09-29  Edward Hervey  <edward@fluendo.com>
9872
9873         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
9874         Better if we actually iterate the list :)
9875
9876 2005-09-29  Wim Taymans  <wim@fluendo.com>
9877
9878         * check/gst/gstbin.c: (GST_START_TEST):
9879         Change for new bus API.
9880
9881         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
9882         (send_messages), (GST_START_TEST), (gstbus_suite):
9883         Change for new bus signal API.
9884
9885         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
9886         (gst_bus_source_prepare), (gst_bus_source_check),
9887         (gst_bus_create_watch), (gst_bus_add_watch_full),
9888         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
9889         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
9890         * gst/gstbus.h:
9891         Remove support for multiple GSources operating on different
9892         message types as it is too complex and unneeded when using
9893         signals.
9894         Added support for receiving signals from the bus.
9895
9896 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
9897
9898         * docs/libs/tmpl/gstdataprotocol.sgml:
9899         * docs/manual/advanced-dataaccess.xml:
9900         * gst/elements/gstcapsfilter.c:
9901         * gst/gstutils.c:
9902           rename filter-caps to caps property
9903
9904 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9905
9906         * gst/gstvalue.c: (gst_value_deserialize_fraction):
9907           More robust fraction string parsing.
9908
9909         * docs/pwg/appendix-porting.xml:
9910           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
9911
9912 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
9913
9914         * gst/gstcaps.c: (gst_caps_do_simplify):
9915           Thou shalt not free a structure and then continue using it
9916           in the next loop iteration.
9917
9918         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
9919         (gst_caps_suite):
9920           Add test case for caps simplification.
9921
9922 2005-09-29  Wim Taymans  <wim@fluendo.com>
9923
9924         * check/gst/gstbin.c: (GST_START_TEST):
9925         Oops.
9926
9927 2005-09-29  Wim Taymans  <wim@fluendo.com>
9928
9929         * check/gst/gstbin.c: (GST_START_TEST):
9930         Add bus to bin.
9931
9932         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
9933         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
9934         (find_element), (gst_bin_sort_iterator_next),
9935         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
9936         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
9937         (gst_bin_change_state), (gst_bin_dispose):
9938         A bin does not have a bus, it gets the bus from the parent.
9939
9940         * gst/gstelement.c: (gst_element_requires_clock),
9941         (gst_element_provides_clock), (gst_element_is_indexable),
9942         (gst_element_is_locked_state), (gst_element_change_state),
9943         (gst_element_set_bus_func):
9944         Small cleanups.
9945
9946         * gst/gstpipeline.c: (gst_pipeline_class_init),
9947         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
9948         The pipeline provides a bus.
9949
9950 2005-09-28  Johan Dahlin  <johan@gnome.org>
9951
9952         * gst/gstmessage.c (gst_message_parse_state_changed): Use
9953         gst_structure_get_enum instead of gst_structure_get_int
9954
9955         * gst/gststructure.c (gst_structure_get_enum): Impl.
9956
9957         * gst/gststructure.h (gst_structure_get_enum): Add
9958
9959         * docs/gst/gstreamer-sections.txt: Ditto
9960
9961         * gst/gstmessage.c (gst_message_new_state_changed): Use
9962         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
9963         which does introspection.
9964         Reviewed by Christian Schaller
9965
9966 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9967
9968         * gst/gstinfo.c: (gst_debug_log_default):
9969           don't do dummy g_strdup()s
9970         * libs/gst/controller/gstcontroller.c:
9971         (on_object_controlled_property_changed),
9972         (gst_controlled_property_new), (gst_controller_new_valist),
9973         (gst_controller_new_list),
9974         (gst_controller_remove_properties_valist), (gst_controller_set),
9975         (gst_controller_get), (gst_controller_sync_values),
9976         (gst_controller_get_value_array), (_gst_controller_class_init),
9977         (gst_controller_get_type):
9978         * libs/gst/controller/gstcontroller.h:
9979         * libs/gst/controller/gstinterpolation.c:
9980         (gst_controlled_property_find_timed_value_node):
9981           convert // to /**/ comments
9982
9983 2005-09-28  Wim Taymans  <wim@fluendo.com>
9984
9985         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
9986         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
9987         (gst_bus_sync_signal_handler):
9988         * gst/gstbus.h:
9989         Added async-message and sync-message signals to the bus.
9990         Added helper BusFunc to emit signals for all posted messages.
9991
9992         * gst/gstmessage.c: (gst_message_type_get_name),
9993         (gst_message_type_to_quark), (gst_message_get_type):
9994         * gst/gstmessage.h:
9995         Register quarks for message names.
9996
9997 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
9998
9999         * docs/libs/gstreamer-libs-sections.txt:
10000         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10001         (gst_controller_new_list):
10002         * libs/gst/controller/gstcontroller.h:
10003           added another constructor for language bindings
10004
10005 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10006
10007         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10008           add another check
10009         * gst/gstbus.c:
10010           add some doc
10011         * gst/gstinfo.c: (_gst_debug_init):
10012           slightly more readable color for refcount debugging
10013
10014 2005-09-28  Wim Taymans  <wim@fluendo.com>
10015
10016         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10017         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10018         (find_element), (gst_bin_sort_iterator_next),
10019         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10020         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10021         (gst_bin_change_state), (gst_bin_dispose):
10022         Small doc fixes. get_clock -> provide_clock.
10023
10024         * gst/gstelement.c: (gst_element_class_init),
10025         (gst_element_provides_clock), (gst_element_provide_clock),
10026         (gst_element_get_clock), (gst_element_commit_state),
10027         (gst_element_lost_state):
10028         * gst/gstelement.h:
10029         Make get/set_clock() symetric. Add provide_clock vmethod since
10030         that is actually what this function does.
10031
10032         * gst/gstpipeline.c: (gst_pipeline_class_init),
10033         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10034         (gst_pipeline_get_clock):
10035         get_clock -> provide_clock.
10036
10037 2005-09-28  Andy Wingo  <wingo@pobox.com>
10038
10039         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10040         lieu of real docs...
10041
10042         * gst/elements/gstfdsrc.c: Cleaned up a bit.
10043
10044 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
10045
10046         * gst/elements/gstcapsfilter.c:
10047         * gst/elements/gstfakesink.c:
10048         * gst/elements/gstfakesrc.c:
10049         * gst/elements/gstfdsink.c:
10050         * gst/elements/gstfdsrc.c:
10051         * gst/elements/gstfilesink.c:
10052         * gst/elements/gstfilesrc.c:
10053         * gst/elements/gstidentity.c:
10054         * gst/elements/gsttee.c:
10055         * gst/elements/gsttypefindelement.c:
10056           Make element details static.
10057
10058 2005-09-28  Wim Taymans  <wim@fluendo.com>
10059
10060         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10061         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10062         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10063         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10064         (gst_bin_change_state), (gst_bin_dispose):
10065         Some documentation updates.
10066         Clean up dispose handlers.
10067
10068         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10069         * gst/gstpad.c: (gst_pad_dispose):
10070         Clean up dispose handler.
10071
10072         * gst/gstpipeline.c: (gst_pipeline_change_state):
10073         Removed spurious UNLOCK.
10074
10075 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
10076
10077         * docs/gst/gstreamer-sections.txt:
10078         * gst/base/gstbasesrc.h:
10079         * gst/gstelement.h:
10080         * gst/gstevent.h:
10081         * gst/gstobject.h:
10082         * gst/gstpad.h:
10083         * gst/gstpipeline.c:
10084         * gst/gstpipeline.h:
10085         * gst/gstutils.h:
10086         * gst/gstxml.h:
10087           added two new functions to the docs
10088                 documents all undocumented GstXXXFlags
10089                 completed some incomplete docs 
10090
10091 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10092
10093         * gst/gstbin.c: (gst_bin_dispose):
10094         * gst/gstelement.c: (gst_element_dispose):
10095           remove now useless and leaky resurrection code in dispose
10096         * gst/base/gstbasesrc.c: (gst_base_src_init):
10097         * gst/gstelementfactory.c: (gst_element_factory_create):
10098         * gst/gstobject.c: (gst_object_set_parent):
10099           add some debugging
10100
10101 2005-09-27  Wim Taymans  <wim@fluendo.com>
10102
10103         * docs/design/part-TODO.txt:
10104         Update TODO.
10105
10106         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10107         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10108         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10109         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10110         (gst_bin_change_state):
10111         * gst/gstelement.h:
10112         Remove element variable, we keep element info in the iterator now.
10113
10114 2005-09-27  Andy Wingo  <wingo@pobox.com>
10115
10116         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10117         values.
10118
10119 2005-09-27  Wim Taymans  <wim@fluendo.com>
10120
10121         * check/gst/gstbin.c: (GST_START_TEST):
10122         Enable check that works now.
10123
10124         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10125         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10126         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10127         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10128         (gst_bin_change_state):
10129         * gst/gstbin.h:
10130         Redid the state change algorithm using a topological sort algo.
10131         Handles all cases correctly.
10132         Exposed iterator for state change order.
10133
10134         * gst/gstelement.h:
10135         Temp storage for state changes. Need to get rid of this soon.
10136
10137 2005-09-27  Wim Taymans  <wim@fluendo.com>
10138
10139         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10140         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10141         (link_fold_func), (gst_pad_proxy_setcaps):
10142         Leak fixes, the fold functions need to unref the passed object and
10143         _get_parent_*() returns ref to parent.
10144
10145 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10146
10147         * check/gst/gstbuffer.c: (test_make_writable):
10148           Plug leak in test case and fix 'make check-valgrind'
10149
10150 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10151
10152         * gst/gstbuffer.c: (gst_subbuffer_init):
10153           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10154           works correctly in all circumstances (we could have just copied
10155           the parent buffer's readonly flag, but conceptually it seems
10156           cleaner to mark all subbuffers as read-only). (based on patch
10157           by Alessandro Decina, #314710).
10158         
10159         * check/gst/gstbuffer.c: (create_read_only_buffer),
10160         (test_make_writable), (test_subbuffer_make_writable),
10161         (gst_test_suite):
10162           Add some tests for gst_buffer_make_writable().
10163
10164 2005-09-27  Wim Taymans  <wim@fluendo.com>
10165
10166         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10167         use gst_object_has_ancestor().
10168
10169         * gst/gstobject.c: (gst_object_has_ancestor):
10170         * gst/gstobject.h:
10171         gst_object_has_ancestor() copied from gstbin.c as it is a
10172         usefull function.
10173
10174         * tests/instantiate/create.c: (create_all_elements):
10175         * tests/lat.c: (handoff_src), (handoff_sink):
10176         * tests/sched/runxml.c: (main):
10177         * tests/seeking/seeking1.c: (main):
10178         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10179         (main):
10180         Fix compilation of some tests.
10181
10182 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10183
10184         * gst/gsterror.h:
10185           Remove comment. GST_TYPE_G_ERROR is here to stay,
10186           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10187           (#316961, #300610).
10188
10189 2005-09-26  Wim Taymans  <wim@fluendo.com>
10190
10191         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10192         Added check that shows error in state change order.
10193
10194 2005-09-26  Wim Taymans  <wim@fluendo.com>
10195
10196         * gst/gstbin.c: (gst_bin_change_state):
10197         Make state change function use 3 queues again, we were
10198         adding elements in the wrong order.
10199
10200         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10201         Some debug info,
10202
10203         * gst/gstpad.c: (gst_pad_dispose):
10204         Added some debug info first.
10205
10206 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
10207
10208         * docs/design/draft-push-pull.txt:
10209         * docs/design/part-events.txt:
10210         * docs/design/part-overview.txt:
10211         * docs/design/part-scheduling.txt:
10212           Replace all _pull_region() with _pull_range()
10213           
10214 2005-09-26  Andy Wingo  <wingo@pobox.com>
10215
10216         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10217
10218         * check/gst-libs/controller.c: Update for controller api change.
10219
10220         * configure.ac: 
10221         * tests/Makefile.am:
10222         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10223         over by GLib bug 118439.
10224         
10225         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10226         routines to a function.
10227
10228         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10229
10230         * libs/gst/controller/gsthelper.c:
10231         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10232         (gst_object_sync_values): Renamed from sink_values. Ugh.
10233
10234         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10235
10236         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10237         Renamed from controller_key, as it is exported.
10238
10239         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10240
10241 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10242
10243         * gst/Makefile.am:
10244         * gst/gst.h:
10245         * gst/gstpad.h:
10246         * gst/gstpadtemplate.h:
10247         * gst/gstquery.c:
10248         * gst/gstquery.h:
10249         * gst/gstqueryutils.c:
10250         * gst/gstqueryutils.h:
10251           remove queryutils headers after moving the two used functions
10252           to gstquery.  also fixes build problem for gstsiddec
10253
10254 2005-09-26  Michael Smith <msmith@fluendo.com>
10255
10256         * tools/gst-launch.1.in:
10257         Correct documentation in manpage of debug syntax
10258
10259 2005-09-26  Wim Taymans  <wim@fluendo.com>
10260
10261         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10262         (gst_base_src_is_seekable), (gst_base_src_change_state):
10263         Some more debugging info.
10264
10265 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10266
10267         * docs/gst/gstreamer-sections.txt:
10268         * gst/base/gstbasetransform.h:
10269         * gst/gstindex.h:
10270           added more docs
10271
10272 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10273
10274         * docs/gst/.cvsignore:
10275         * docs/gst/tmpl/.cvsignore:
10276         * docs/gst/tmpl/gstpipeline.sgml:
10277         * docs/gst/tmpl/gstplugin.sgml:
10278         * gst/gstpipeline.c:
10279         * gst/gstplugin.c:
10280         * gst/gstplugin.h:
10281           inlined the last two docs files
10282           removed the tmpl directory from cvs (no more conflicts here!)
10283
10284 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10285
10286         * docs/gst/gstreamer-sections.txt:
10287         * docs/gst/tmpl/.cvsignore:
10288         * docs/gst/tmpl/gstpad.sgml:
10289         * docs/gst/tmpl/gstpadtemplate.sgml:
10290         * gst/Makefile.am:
10291         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10292         (gst_pad_finalize), (gst_pad_set_pad_template):
10293         * gst/gstpad.h:
10294         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10295         (gst_pad_template_class_init), (gst_pad_template_init),
10296         (gst_pad_template_dispose), (name_is_valid),
10297         (gst_static_pad_template_get), (gst_pad_template_new),
10298         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10299         (gst_pad_template_pad_created):
10300         * gst/gstpadtemplate.h:
10301           inlined two more docs
10302           factored gstpadtemplate out of gstpad
10303
10304 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
10305
10306         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10307         (test_children_state_change_order_semi_sink):
10308           Fix test case: we can't rely on a fixed state change order when
10309           going from READY => PAUSED because the sink might commit its 
10310           new state first when the first buffer created by the source 
10311           reaches the sink before the source has finished its change state.
10312           (Test case still fails at times, see #316856, comment 5 onwards)
10313
10314 2005-09-24  Wim Taymans  <wim@fluendo.com>
10315
10316         * docs/design/part-events.txt:
10317         * docs/design/part-gstbus.txt:
10318         * docs/design/part-gstpipeline.txt:
10319         * docs/design/part-messages.txt:
10320         * docs/design/part-overview.txt:
10321         * docs/design/part-segments.txt:
10322         * gst/gstbin.c:
10323         * gst/gstbuffer.c:
10324         * gst/gstclock.c:
10325         * gst/gstelement.c:
10326         * gst/gstevent.c:
10327         * gst/gstfilter.c:
10328         * gst/gstiterator.c:
10329         Various documentation updates.
10330
10331 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10332
10333         * gst/gstclock.h:
10334           Well, that's embarassing.  Luckily we weren't using
10335           GST_CLOCK_DIFF anywhere.
10336
10337 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10338
10339         * common/gtk-doc.mak:
10340           don't fail on building XML, FC4 slave shows a bunch of doc
10341           missing bits that I don't get
10342         * gst/gstpad.c:
10343         * gst/gstpipeline.c:
10344         * gst/gststructure.c:
10345           some doc updates
10346
10347 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10348
10349         * docs/design/part-gstbin.txt:
10350         * docs/design/part-gstbus.txt:
10351         * gst/gstbus.c:
10352           Add blurb about how the bus goes into flushing mode and
10353           drops all messages when its bin goes from READY into NULL 
10354           state.
10355
10356 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10357
10358         * docs/gst/gstreamer-sections.txt:
10359         * gst/gststructure.c: (gst_structure_get_clock_time):
10360         * gst/gststructure.h:
10361           add a method to get a GstClockTime out of a structure
10362
10363 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10364
10365         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10366         (test_children_state_change_order_semi_sink), (gst_bin_suite):
10367           Added test to check state change order in bins (can still be made
10368           to fail here under heavy disk load; bails out with 'Push on pad
10369           fakesink:sink0, but it was not activated in push mode').
10370
10371         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10372           Fix state change order when there is only a semi sink (#316856)
10373
10374         * gst/gstbus.c: (gst_bus_class_init):
10375           Use _class_peek_parent(), not _class_ref(); fix docs to say
10376           'default main context' instead of 'mainloop' where that is
10377           what's meant.
10378
10379         * gst/gstelement.c: (gst_element_commit_state),
10380         (gst_element_set_state):
10381           Fix typos in debug messages
10382
10383 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10384
10385         * docs/README:
10386         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10387         * gst/gstpluginfeature.c:
10388         * gst/gstutils.c:
10389           various doc updates
10390         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10391           change an assert into an error until it gets fixed properly
10392
10393 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10394
10395         * docs/gst/gstreamer-sections.txt:
10396         * docs/gst/tmpl/.cvsignore:
10397         * docs/gst/tmpl/gstelement.sgml:
10398         * docs/gst/tmpl/gstinfo.sgml:
10399         * docs/gst/tmpl/gstobject.sgml:
10400         * gst/gstelement.c:
10401         * gst/gstelement.h:
10402         * gst/gstinfo.c:
10403         * gst/gstinfo.h:
10404         * gst/gstobject.c: (gst_object_class_init):
10405         * gst/gstobject.h:
10406           inlined 3 more biiiig doc files and added some missing docs on the fly
10407
10408 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10409
10410         * check/gst/.cvsignore:
10411         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10412         * gst/gstregistryxml.c: (load_plugin),
10413         (gst_registry_xml_save_plugin):
10414           put back source in registry.  add checks for find_plugin.
10415         * testsuite/states/bin.c: (assert_state), (empty_bin),
10416         (test_adding_one_element), (main):
10417         * testsuite/states/locked.c: (main):
10418           some compile/run fixes
10419
10420 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10421
10422         * check/gst/gstvalue.c: (GST_START_TEST):
10423           fix leaks in the test itself
10424
10425 2005-09-22  Wim Taymans  <wim@fluendo.com>
10426
10427         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10428         (gst_base_sink_send_event), (gst_base_sink_peer_query),
10429         (gst_base_sink_query):
10430         Prepare for more accurate position reporting and query
10431         handling.
10432
10433         * gst/gstelement.c: (gst_element_send_event),
10434         (gst_element_set_state):
10435         Add some comment.
10436
10437 2005-09-22  Wim Taymans  <wim@fluendo.com>
10438
10439         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10440         (gst_query_parse_segment):
10441         * gst/gstquery.h:
10442         More documentation.
10443         Add segment query for future use.
10444
10445 2005-09-22  Wim Taymans  <wim@fluendo.com>
10446
10447         * gst/gstbin.c: (gst_bin_add_func):
10448         Some more debug info.
10449
10450         * gst/gstelement.c: (gst_element_send_event):
10451         Simplify send_event
10452
10453         * gst/gstelement.h:
10454         Don't know how flags got broken.
10455
10456         * gst/gstquery.h:
10457         Added new query.
10458
10459 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10460
10461         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10462           Add simplistic test suite for GST_TYPE_DATE serialisation and
10463           deserialisation.
10464
10465 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10466
10467         * docs/gst/gstreamer-sections.txt:
10468         * gst/gststructure.c: (gst_structure_set_valist),
10469         (gst_structure_get_date):
10470         * gst/gststructure.h:
10471         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10472         (gst_date_copy), (gst_value_compare_date),
10473         (gst_value_serialize_date), (gst_value_deserialize_date),
10474         (gst_value_transform_date_string),
10475         (gst_value_transform_string_date), (_gst_value_initialize):
10476         * gst/gstvalue.h:
10477           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10478           bunch of utility functions along with a hack that checks that
10479           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10480           is required. Part of the grand scheme in #170777.
10481
10482 2005-09-22  Andy Wingo  <wingo@pobox.com>
10483
10484         * gst/gstconfig.h.in: Psych out gtk-doc.
10485
10486         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10487
10488         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10489
10490         * tools/gst-inspect.c (print_element_list): Plug some
10491         inconsequential leaks.
10492
10493         * gst/gstregistry.c (gst_registry_get_default): Doc.
10494
10495         * check/gst/gstplugin.c: 
10496         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10497         * gst/gstelementfactory.c (gst_element_factory_create): 
10498         * gst/gstindexfactory.c (gst_index_factory_create): Update for
10499         refcount changes.
10500
10501         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10502         (gst_plugin_feature_load): Doc, don't eat refs.
10503
10504         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10505         (gst_plugin_list_free): Doc.
10506         (gst_plugin_load_file): Doc updates.
10507
10508         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10509         accessors returning refcounted objects, return a ref.
10510
10511         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10512         accessor for caps. IDEMPOTENCE. Oh yes.
10513
10514 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
10515
10516         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10517
10518         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10519         (_gst_debug_register_funcptr):
10520           Add mutex to serialise access to the hash table with
10521           the function pointer => function name string mapping;
10522           make that hash table static scope (#316809).
10523
10524         * gst/registries/.cvsignore:
10525           Remove left-over file.
10526
10527 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10528
10529         * docs/pwg/appendix-porting.xml:
10530           And something about newsegment events and caps-on-buffers to
10531           the porting guide (feel free to improve).
10532
10533 2005-09-21  Andy Wingo  <wingo@pobox.com>
10534
10535         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10536         data and event probes on the same pad.
10537         (test_buffer_probe_once): Test that removing probes from within
10538         the probe functions works.
10539
10540 2005-09-21  Andy Wingo  <wingo@pobox.com>
10541
10542         * check/gst/gstutils.c: New file.
10543         (test_buffer_probe_n_times): A simple buffer probe test. More to
10544         come, foolios.
10545
10546         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
10547         have-data::buffer, not have-data.
10548         (gst_pad_add_event_probe): Likewise for have-data::event.
10549         (gst_pad_add_data_probe): More docs. The part about 'resolving the
10550         peer' isn't quite right yet though.
10551         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
10552         (gst_pad_remove_data_probe): Change to take the guint handler_id
10553         as their arg, not the function+data, which is more glib-like.
10554
10555         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
10556         the signal emission to indicate if the data is a buffer or an
10557         event.
10558         (gst_pad_get_type): Initialize buffer and event quarks.
10559         (gst_pad_class_init): have-data is now a detailed signal, yes it
10560         is.
10561
10562 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10563
10564         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10565         * gst/gstutils.c: (gst_util_set_value_from_string),
10566         (gst_util_set_object_arg):
10567           Don't put functional code in g_return_if_fail() or
10568           g_return_val_if_fail() statements, otherwise things will 
10569           break when G_DISABLE_CHECKS is defined during compilation.
10570
10571 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10572
10573         * docs/gst/tmpl/.cvsignore:
10574         * docs/gst/tmpl/gstvalue.sgml:
10575         * gst/gstvalue.c:
10576         * gst/gstvalue.h:
10577           inlied another one and added  some obvious docs
10578
10579 2005-09-21  Wim Taymans  <wim@fluendo.com>
10580
10581         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10582         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
10583         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
10584         (gst_fdsrc_get_property), (gst_fdsrc_create):
10585         * gst/elements/gstfdsrc.h:
10586         Properly implement fdsrc. Removed signal and timeout,
10587         better implemented somewhere else.
10588
10589 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10590
10591         * docs/gst/tmpl/.cvsignore:
10592         * docs/gst/tmpl/gstimplementsinterface.sgml:
10593         * gst/gstinterface.c:
10594           inlined more docs
10595
10596 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10597
10598         * docs/gst/gstreamer-sections.txt:
10599         * docs/gst/tmpl/.cvsignore:
10600         * docs/gst/tmpl/gstenumtypes.sgml:
10601           remove obsolete doc file
10602
10603 2005-09-21  David Schleef  <ds@schleef.org>
10604
10605         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
10606         little beer, fix a little leak.
10607
10608 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10609
10610         * docs/gst/gstreamer-docs.sgml:
10611         * docs/gst/gstreamer-sections.txt:
10612         * docs/gst/tmpl/.cvsignore:
10613         * gst/Makefile.am:
10614         * gst/gst.h:
10615         * gst/gstbin.c:
10616         * gst/gstelement.h:
10617         * gst/gstindex.c: (gst_index_class_init):
10618         * gst/gstindex.h:
10619         * gst/gstindexfactory.c: (gst_index_factory_get_type),
10620         (gst_index_factory_class_init), (gst_index_factory_init),
10621         (gst_index_factory_finalize), (gst_index_factory_new),
10622         (gst_index_factory_destroy), (gst_index_factory_find),
10623         (gst_index_factory_create), (gst_index_factory_make):
10624         * gst/gstindexfactory.h:
10625         * gst/gstpluginfeature.c:
10626         * gst/gstpluginfeature.h:
10627         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10628           more docs inlined, splitted gstindex.{c,h}
10629
10630 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10631
10632         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10633           fix a leak
10634
10635 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10636
10637         * gst/elements/gstfilesink.c: (gst_file_sink_init):
10638           Set sync to FALSE by default.
10639
10640 2005-09-20  Wim Taymans  <wim@fluendo.com>
10641
10642         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10643         (gst_base_sink_init):
10644         Make sync property settable from subclass.
10645
10646         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10647         (gst_fake_sink_change_state):
10648         Set sync to FALSE by default.
10649
10650 2005-09-20  Wim Taymans  <wim@fluendo.com>
10651
10652         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
10653         * tools/gst-launch.c: (main):
10654         The timeout handler should have lower priority than the source
10655         so we don't timeout before popping a message with 0 timeout.
10656         Dump error messages after failed state change.
10657
10658 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10659
10660         * tools/gst-inspect.c: (print_element_properties_info):
10661           Fix two typos.
10662
10663 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10664
10665         * check/gst/gstevent.c:
10666         * gst/elements/gstfakesink.c:
10667         * gst/elements/gstfakesink.h:
10668           remove the sync property from fakesink.
10669           has the side effect of setting sync TRUE
10670           for fakesink, which is a change.  Anyone who knows how
10671           to fix this nicely in a GObject-y way, feel free.
10672
10673 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10674
10675         * docs/gst/gstreamer-docs.sgml:
10676           remove probe refsection
10677
10678 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10679
10680         * check/Makefile.am:
10681           disable valgrinding the controller test again
10682         * docs/gst/gstreamer-sections.txt:
10683           update for api-changes
10684
10685 2005-09-20  Wim Taymans  <wim@fluendo.com>
10686
10687         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10688         (gst_base_sink_set_property), (gst_base_sink_get_property),
10689         (gst_base_sink_do_sync):
10690         * gst/base/gstbasesink.h:
10691         Added sync property to basesink to disable clock sync.
10692
10693 2005-09-20  Andy Wingo  <wingo@pobox.com>
10694
10695         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
10696         eating the caller's refcount.
10697
10698         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
10699         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
10700         refcount.
10701
10702         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
10703         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
10704         of GLib 2.8 public, so we can know which refcount to check in
10705         tests.
10706
10707         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
10708         (gst_object_init): Only set the gst refcount if we're going ahead
10709         with the refcount hack.
10710
10711 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10712
10713         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10714         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10715           more leaks plumbed, added more debug-logging
10716         * gst/gstmacros.h:
10717           whitespace fix
10718
10719 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10720
10721         * gst/gstmessage.c:
10722           remove include of gstmemchunk.h
10723
10724 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10725
10726         * gst/gstclock.c: (_gst_clock_id_free):
10727           Commit from the Political Party For More Atomic CVS Commits,
10728           so that people don't waste too much of their day fishing
10729           out obvious leaks out of massive commits.
10730           Oh, and fix a pretty damn obvious leak in the memchunk
10731           removal code.
10732
10733 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10734
10735         * check/Makefile.am:
10736         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10737           plug mem-leak, re-add to valgrindable tests
10738
10739 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10740
10741         * gst/gstplugin.h:
10742           unbreak the build for those who have chronic arthritis
10743           and typing "make check" is just too taxing on the hands
10744
10745 2005-09-20  Andy Wingo  <wingo@pobox.com>
10746
10747         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
10748         really want it out, you should fix plugins at the same time.
10749
10750 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
10751
10752         * configure.ac:
10753         * docs/gst/gstreamer-sections.txt:
10754         * gst/gstobject.c:
10755           added missing symbols to api docs
10756           disable ref-count hack if we have glib >= 2.8
10757
10758 2005-09-19  David Schleef  <ds@schleef.org>
10759
10760         * docs/gst/Makefile.am: Ignore a few more internal headers
10761         * docs/gst/gstreamer-docs.sgml: Remove old sections
10762         * docs/gst/gstreamer-sections.txt: Remove old sections
10763         * docs/gst/tmpl/gstobject.sgml: update
10764         * docs/gst/tmpl/gstplugin.sgml: update
10765         * docs/gst/tmpl/gstpluginfeature.sgml: update
10766         * docs/random/ds/0.9-suggested-changes: update.
10767         * gst/Makefile.am: remove memchunk and trashstack, since they're
10768           not used.
10769         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
10770         * gst/gst.h: don't include some headers
10771         * gst/gstchildproxy.c: add gstmarshal.h
10772         * gst/gstclock.c: Don't use memchunks
10773         * gst/gstminiobject.c: Add some docs
10774         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
10775         * gst/gstobject.h: same
10776         * gst/gstplugin.c: include gstmacros.h
10777         * gst/gstplugin.h: don't include gstmacros.h, since it's private
10778         * gst/gstquery.c: don't use memchunks
10779         * gst/gstregistry.c: rename gst_registry_deinit()
10780         * gst/gstregistry.h: same
10781
10782 2005-09-19  David Schleef  <ds@schleef.org>
10783
10784         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
10785         * docs/libs/gstreamer-libs-sections.txt:
10786         * docs/libs/tmpl/gstgetbits.sgml:
10787         * docs/libs/tmpl/gstputbits.sgml:
10788
10789 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
10790
10791         * win32/gstenumtypes.c:
10792         * win32/gstenumtypes.h:
10793           Update.
10794
10795 2005-09-19  Wim Taymans  <wim@fluendo.com>
10796
10797         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
10798         Automatically PAUSE and RESUME a pipeline when a flushing seek
10799         is performed.
10800
10801 2005-09-19  Andy Wingo  <wingo@pobox.com>
10802
10803         * gst/gstregistry.h: Spacing fixen.
10804
10805 2005-09-19  Wim Taymans  <wim@fluendo.com>
10806
10807         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
10808         Handle state change failure more correctly.
10809
10810 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10811
10812         * check/Makefile.am:
10813         * check/pipelines/cleanup.c: (run_pipeline):
10814         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10815         (GST_START_TEST):
10816           enable cleanup again after fixing the leak
10817         * docs/README:
10818           some more info on docs
10819
10820 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10821
10822         * check/Makefile.am:
10823           re-enable tests now that leaks are plugged
10824         * check/gst/gst.c:
10825         * check/gst/gstbin.c:
10826         * check/gst/gstpipeline.c:
10827           add some more tests while fixing leaks
10828         * common/check.mak:
10829           make sure binaries are uptodate when valgrinding/gdbing
10830         * gst/gst.c:
10831         * gst/gstelementfactory.c:
10832           remove a ref too many, and add a FIXME for when we get
10833           round to disposing of classes
10834         * gst/gstplugin.c:
10835           fix the refcounting when loading a plugin from a file and
10836           the code pretends that the pointer is the same even though
10837           of course it can change
10838         * gst/gstpluginfeature.c:
10839           unref plugins marked cached (a bit confusing as a name)
10840           as the docs state should be done
10841           various doc additions to explain refcounting
10842         * gst/gstregistry.c:
10843         * gst/gstregistryxml.c:
10844           debugging
10845
10846 2005-09-19  Wim Taymans  <wim@fluendo.com>
10847
10848         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
10849         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10850         (send_messages), (GST_START_TEST), (gstbus_suite):
10851         * check/gst/gstpipeline.c: (GST_START_TEST):
10852         * check/pipelines/cleanup.c: (run_pipeline):
10853         * check/pipelines/simple_launch_lines.c: (run_pipeline),
10854         (GST_START_TEST):
10855         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
10856         (gst_bus_source_check), (gst_bus_source_dispatch),
10857         (gst_bus_create_watch), (gst_bus_add_watch_full),
10858         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
10859         * gst/gstbus.h:
10860         * tools/gst-launch.c: (event_loop):
10861         * tools/gst-md5sum.c: (event_loop):
10862         GstBusHandler -> GstBusFunc, return value has the same meaning as
10863         any other GSource (FALSE == remove source).
10864         _add_watch() and _add_watch_full() now take a MessageType mask to
10865         only handle specific types of messages.
10866         _poll() returns the GstMessage instead of the message type to avoid
10867         race conditions.
10868         _have_pending() takes a MessageType mask now too.
10869         Added testsuite for multiple bus watches.
10870         Fix testsuites and applications for new bus API.
10871
10872 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
10873
10874         * check/Makefile.am:
10875           mark a bunch of the tests as to fix until we fix them
10876
10877 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10878
10879         * common/check.mak:
10880           use GST_PLUGIN settings for valgrind tests as well, so we're
10881           valgrinding the correct thing
10882         * gst/gst.c: (init_post):
10883           plug another leak
10884
10885 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10886
10887         * gst/gst.c: (init_post), (gst_deinit):
10888         * gst/gstelementfactory.c: (gst_element_factory_class_init),
10889         (gst_element_factory_finalize), (gst_element_factory_cleanup):
10890         * gst/gstindex.c: (gst_index_factory_class_init),
10891         (gst_index_factory_finalize):
10892         * gst/gstobject.c: (gst_object_dispose):
10893         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
10894         (gst_plugin_load_file), (gst_plugin_desc_free):
10895         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
10896         (gst_plugin_feature_finalize):
10897         * gst/gstregistry.c: (gst_registry_class_init),
10898         (gst_registry_init), (gst_registry_finalize),
10899         (gst_registry_get_default), (gst_registry_deinit):
10900         * gst/gstregistry.h:
10901         * gst/gstregistryxml.c: (load_feature), (load_plugin):
10902           various cleanups and memleak plugging.  make valgrind is happy now.
10903
10904 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
10905
10906         * common/check.mak:
10907           add a check-valgrind target
10908
10909 2005-09-18  David Schleef  <ds@schleef.org>
10910
10911         * tools/gst-inspect.c: Revert the GOption code.
10912
10913 2005-09-17  David Schleef  <ds@schleef.org>
10914
10915         * check/Makefile.am: Fix environment variables.
10916         * check/gst/gstplugin.c: Fix for API changes.
10917         * tools/gst-inspect.c: Fix for API changes.
10918         * tools/gst-xmlinspect.c: Fix for API changes.
10919         * gst/gstelementfactory.c:
10920         * gst/gstplugin.c:
10921         * gst/gstplugin.h:
10922         * gst/gstpluginfeature.c:
10923         * gst/gstpluginfeature.h:
10924         * gst/gstregistry.c:
10925         * gst/gstregistry.h:
10926         * gst/gstregistryxml.c:
10927         * gst/gsttypefind.c:
10928         * gst/gsttypefindfactory.c:
10929         * gst/indexers/gstfileindex.c:
10930         * gst/indexers/gstmemindex.c:
10931         * gst/schedulers/Makefile.am:
10932           Change registry to keep track of both plugins and features,
10933           removing the feature tracking from plugins themselves.
10934
10935 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
10936
10937         * check/Makefile.am:
10938         * tools/gst-register.1.in:
10939           remove gst-register
10940
10941 2005-09-15  David Schleef  <ds@schleef.org>
10942
10943         * check/gst/gstplugin.c:
10944         * gst/gstelementfactory.c:
10945         * gst/gstplugin.c:
10946         * gst/gstpluginfeature.c:
10947         * gst/gstregistry.c:
10948           Getting tired of debugging.  Disabled all the unreffing of
10949           plugins and features, which fixes the segfaults, but of
10950           course leaks like crazy.  At least playbin works.
10951
10952 2005-09-15  David Schleef  <ds@schleef.org>
10953
10954         * check/gst/gstplugin.c: (register_check_elements),
10955         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
10956         More testing
10957         * gst/elements/gsttypefindelement.c: Fix refcounting.
10958         * gst/gsttypefind.c:
10959         * gst/gsttypefindfactory.c:
10960         * gst/gsttypefindfactory.h:
10961
10962 2005-09-15  David Schleef  <ds@schleef.org>
10963
10964         * gst/gstindex.c: get refcounting correct.
10965         * gst/gstregistry.c: Handle the case where a feature/plugin is
10966           not found.
10967
10968 2005-09-15  David Schleef  <ds@schleef.org>
10969
10970         * check/Makefile.am:
10971         * check/gst/gstplugin.c: Add test
10972         * gst/gstplugin.c: Fix problems noticed by testsuite
10973         * gst/gstplugin.h:
10974         * gst/gstregistry.c: 
10975         * gst/gstregistry.h:
10976
10977 2005-09-15  David Schleef  <ds@schleef.org>
10978
10979         * gst/gstplugin.c: Implement semi-decent recounting and locking
10980           in plugins and plugin features.
10981         * gst/gstplugin.h:
10982         * gst/gstpluginfeature.c:
10983         * gst/gstpluginfeature.h:
10984         * gst/gstregistry.c:
10985
10986 2005-09-15  Michael Smith <msmith@fluendo.com>
10987
10988         * gst/gstregistry.c: (gst_registry_get_feature_list):
10989           Implement this. Makes oggdemux work; decodebin still broken.
10990
10991 2005-09-14  David Schleef  <ds@schleef.org>
10992
10993         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
10994           #316076)
10995         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
10996         * gst/check/Makefile.am:
10997         * libs/gst/controller/Makefile.am:
10998         * libs/gst/dataprotocol/Makefile.am:
10999
11000 2005-09-14  David Schleef  <ds@schleef.org>
11001
11002         * configure.ac: Remove getbits library.  Nothing uses it, and
11003           it should be in something like liboil if someone did want
11004           to use it.
11005         * libs/gst/Makefile.am:
11006         * libs/gst/getbits/Makefile.am:
11007         * libs/gst/getbits/gbtest.c:
11008         * libs/gst/getbits/getbits.c:
11009         * libs/gst/getbits/getbits.h:
11010         * libs/gst/getbits/gstgetbits_generic.c:
11011         * libs/gst/getbits/gstgetbits_i386.s:
11012         * libs/gst/getbits/gstgetbits_inl.h:
11013
11014 2005-09-14  David Schleef  <ds@schleef.org>
11015
11016         * gst/Makefile.am: Dist glib-compat.h
11017
11018 2005-09-14  David Schleef  <ds@schleef.org>
11019
11020         * configure.ac: Remove gst/registries, since it's no longer used.
11021         * gst/registries/Makefile.am:
11022         * gst/registries/gstlibxmlregistry.c:
11023         * gst/registries/gstlibxmlregistry.h:
11024         * gst/registries/gstxmlregistry.c:
11025         * gst/registries/gstxmlregistry.h:
11026         * gst/registries/registrytest.c:
11027
11028 2005-09-14  David Schleef  <ds@schleef.org>
11029
11030         * gst/glib-compat.h:
11031         * gst/gstregistryxml.c:
11032           Convergence is near.  Seriously.
11033
11034 2005-09-14  David Schleef  <ds@schleef.org>
11035
11036         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11037         * gst/glib-compat.h:
11038           Attempt #4 to appease the buildbots.
11039
11040 2005-09-14  David Schleef  <ds@schleef.org>
11041
11042         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11043           Attempt #3.
11044
11045 2005-09-14  David Schleef  <ds@schleef.org>
11046
11047         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11048         Attempt #2.
11049
11050 2005-09-14  David Schleef  <ds@schleef.org>
11051
11052         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11053           the new functions.
11054
11055 2005-09-14  David Schleef  <ds@schleef.org>
11056
11057         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11058         * gst/glib-compat.h: Add some functions that are in newer versions
11059           of glib than we care to require.
11060         * gst/gstregistryxml.c: Use them.
11061
11062 2005-09-14  David Schleef  <ds@schleef.org>
11063
11064         * po/POTFILES.in: remove gst-register.c
11065
11066 2005-09-14  David Schleef  <ds@schleef.org>
11067
11068         * docs/gst/gstreamer-docs.sgml:
11069         * docs/gst/gstreamer-sections.txt:
11070         * docs/gst/gstreamer.types:
11071         * docs/gst/tmpl/gstelement.sgml:
11072         * docs/gst/tmpl/gstplugin.sgml:
11073         * docs/gst/tmpl/gstpluginfeature.sgml:
11074           Documentation updates for registry changes.
11075
11076 2005-09-14  David Schleef  <ds@schleef.org>
11077
11078         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11079           because we don't require glib-2.8.
11080
11081 2005-09-14  David Schleef  <ds@schleef.org>
11082
11083         * gst/gstregistryxml.c: Added.  Essentially moved out of the
11084           registries directory.
11085
11086 2005-09-14  David Schleef  <ds@schleef.org>
11087
11088         * check/Makefile.am:
11089         * check/generic/states.c:
11090         * gst/Makefile.am:
11091         * gst/gst.c:
11092         * gst/gst.h:
11093         * gst/gst_private.h:
11094         * gst/gstelementfactory.c:
11095         * gst/gstindex.c:
11096         * gst/gstinfo.c:
11097         * gst/gstplugin.c:
11098         * gst/gstplugin.h:
11099         * gst/gstpluginfeature.c:
11100         * gst/gstpluginfeature.h:
11101         * gst/gstregistry.c:
11102         * gst/gstregistry.h:
11103         * gst/gstregistrypool.c: remove
11104         * gst/gstregistrypool.h: remove
11105         * gst/gsttypefind.c:
11106         * gst/gsttypefindfactory.c:
11107         * gst/gsturi.c:
11108         * tools/Makefile.am:
11109         * tools/gst-compprep.c:
11110         * tools/gst-inspect.c:
11111         * tools/gst-register.c: remove
11112         * tools/gst-xmlinspect.c:
11113           Registry rewrite.  Changes registry from being a file created
11114           by a tool into a simple cache file created automatically by 
11115           libgstreamer.  Removed gst-register (because it's no longer
11116           needed).  Remove registry pools, because we only have one
11117           registry implementation (XML).  Fix up other subsystems as
11118           necessary.
11119
11120 2005-09-13  Michael Smith <msmith@fluendo.com>
11121
11122         * gst/gstconfig.h.in:
11123           Don't Use windows linking attributes for MinGW. Fixes #316157
11124
11125 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11126
11127         * gst/gstutils.c: (set_state_async_thread_func),
11128         (gst_element_set_state_async):
11129           Apparently people think it's better if this function doesn't
11130           try to set the state to whatever state was asked for on the first
11131           call to this function for any object.  Seriously.
11132
11133 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11134
11135         * check/gst/gstpipeline.c: (GST_START_TEST):
11136         * docs/gst/gstreamer-sections.txt:
11137         * gst/gstutils.c: (set_state_async_thread_func),
11138         (gst_element_set_state_async):
11139         * gst/gstutils.h:
11140           add a "gst_element_set_state_async" method that
11141           sets the state and starts a thread to make sure the state
11142           change completes as best as it can
11143
11144 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11145
11146         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11147           codify design+behaviour in testsuite after discussion
11148
11149 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11150
11151         * docs/gst/tmpl/gstelement.sgml:
11152         * docs/manual/appendix-quotes.xml:
11153           add a quote
11154         * gst/gstelement.c: (gst_element_set_state):
11155           add some debug
11156
11157 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
11158
11159         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11160         (gst_base_transform_prepare_output_buf),
11161         (gst_base_transform_handle_buffer):
11162         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11163         (gst_capsfilter_prepare_buf):
11164           Remove the requirement for sub-classes to call the parent
11165           implementation of prepare_output_buffer with a wrapper function.
11166           
11167         * gst/gsttaglist.h:
11168         * gst/gsttagsetter.h:
11169           Fix #define wrapper
11170
11171 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
11172
11173         * docs/gst/gstreamer-sections.txt:
11174           more doc cleanups
11175
11176 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11177
11178         * docs/gst/gstreamer-sections.txt:
11179         * docs/gst/tmpl/gstelement.sgml:
11180         * docs/gst/tmpl/gstplugin.sgml:
11181         * gst/gstminiobject.c:
11182         * gst/gstvalue.h:
11183           docs now stop throwing warnings
11184
11185 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11186
11187         * docs/gst/gstreamer-sections.txt:
11188         * docs/gst/gstreamer.types:
11189         * docs/gst/tmpl/gstpad.sgml:
11190         * docs/gst/tmpl/gsttypes.sgml:
11191         * gst/base/gstadapter.h:
11192         * gst/base/gstbasesink.h:
11193         * gst/base/gstbasesrc.h:
11194         * gst/gstbin.h:
11195         * gst/gstbuffer.h:
11196         * gst/gstbus.h:
11197         * gst/gstcaps.h:
11198         * gst/gstclock.h:
11199         * gst/gstelement.h:
11200         * gst/gstevent.h:
11201         * gst/gstmessage.h:
11202         * gst/gstpad.h:
11203         * gst/gststructure.c:
11204         * gst/registries/gstlibxmlregistry.h:
11205           various documentation fixes
11206
11207 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11208
11209         * docs/gst/gstreamer-sections.txt:
11210         * docs/gst/tmpl/gstvalue.sgml:
11211           rearrange gstvalue section
11212         * gst/gstutils.c: (gst_element_state_get_name):
11213           NONE -> VOID
11214         * gst/gstvalue.c: (_gst_value_initialize):
11215         * gst/gstvalue.h:
11216           doc updates
11217
11218 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
11219
11220         * check/gst-libs/controller.c:
11221           Header include fix.
11222         * gst/base/gstbasetransform.c:
11223         (gst_base_transform_default_prepare_buf),
11224         (gst_base_transform_handle_buffer):
11225         * gst/base/gstbasetransform.h:
11226           Some more basetransform changes and fixes to enable sub-classes
11227           that modify buffer metadata only.
11228         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11229         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11230         (gst_capsfilter_prepare_buf):
11231           If the output pad has fixed allowed caps and input buffers 
11232           don't have any, set the fixed caps on outgoing buffers.
11233
11234 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
11235         * check/elements/identity.c: (GST_START_TEST):
11236           Make the error a little clearer when the test fails because
11237           identity made a copy of the buffer.
11238         * docs/gst/gstreamer-sections.txt:
11239           New symbols in gstbasetransform.h
11240         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11241         (gst_base_transform_init), (gst_base_transform_transform_size),
11242         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11243         (gst_base_transform_default_prepare_buf),
11244         (gst_base_transform_get_unit_size),
11245         (gst_base_transform_buffer_alloc),
11246         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11247         (gst_base_transform_change_state),
11248         (gst_base_transform_set_passthrough),
11249         (gst_base_transform_set_in_place),
11250         (gst_base_transform_is_in_place):
11251         * gst/base/gstbasetransform.h:
11252           Change BaseTransform to separate in_place operate from same_caps
11253           output. in_place implies that the element can perform the transform
11254           on incoming buffers in-place, even if the caps on the output are
11255           different.
11256           Sub-class elements can now implement special buffer allocation
11257           methods for outgoing buffers if they wish to.
11258           Big documentation addition.
11259         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11260         * gst/elements/gstelements.c:
11261           Changes for basetransform modifications.
11262         * gst/elements/Makefile.am:
11263         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11264           Compile fix. Extra debug output.
11265
11266 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11267
11268         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11269         (gst_pad_suite):
11270           add tests for valid pad naming
11271         * gst/check/gstcheck.c: (gst_check_log_message_func),
11272         (gst_check_log_critical_func):
11273           add ASSERT_WARNING
11274           remove printing of code, it is fragile when the code contains
11275           % and the line number is enough info
11276         * gst/check/gstcheck.h:
11277         * gst/gstpad.c: (gst_pad_template_new):
11278           fix memleaks
11279
11280 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11281
11282         * configure.ac:
11283           say what CHECK flags we use
11284         * docs/libs/gstreamer-libs.types:
11285         * libs/gst/controller/Makefile.am:
11286         * libs/gst/controller/gst-controller.c:
11287         * libs/gst/controller/gst-controller.h:
11288         * libs/gst/controller/gst-helper.c:
11289         * libs/gst/controller/gst-interpolation.c:
11290         * libs/gst/controller/gstcontroller.c:
11291         * libs/gst/controller/gsthelper.c:
11292         * libs/gst/controller/gstinterpolation.c:
11293         * tools/gst-inspect.c: (print_plugin_info):
11294           we don't use dashes in header names
11295
11296 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11297
11298         * check/Makefile.am:
11299         * check/gst/.cvsignore:
11300         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11301         (gst_pipeline_suite), (main):
11302           adding a test for pipelines and state changes
11303         * gst/gstutils.c: (get_state_func):
11304           add some debugging
11305         * gstreamer.spec.in:
11306           fix up spec file
11307
11308 2005-09-08  Michael Smith <msmith@fluendo.com>
11309
11310         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11311         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11312         (gst_file_src_is_seekable), (gst_file_src_get_size),
11313         (gst_file_src_start):
11314         * gst/elements/gstfilesrc.h:
11315           Various fixes for unseekable, unmmapable, and non-normal files, so
11316           that fallback to read() rather than mmap() works.
11317         * gst/gstevent.c: (gst_event_new_newsegment):
11318           Allow newsegment events with segment_start == segment_end, as will
11319           correctly happen if you use filesrc on a zero-size file, for
11320           example.
11321
11322 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11323
11324         * gst/gstplugin.c: (gst_plugin_load_file):
11325           Call g_module_close when we don't load the module
11326
11327         * gst/registries/gstlibxmlregistry.c:
11328         (gst_xml_registry_get_property):
11329           Port leak fix from 0.8
11330
11331 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11332
11333         * docs/gst/gstreamer-docs.sgml:
11334         * docs/gst/tmpl/.cvsignore:
11335         * docs/gst/tmpl/gsttrace.sgml:
11336         * docs/gst/tmpl/gsttrashstack.sgml:
11337         * gst/Makefile.am:
11338         * gst/gst.h:
11339         * gst/gstelement.h:
11340         * gst/gstevent.h:
11341         * gst/gstmessage.c:
11342         * gst/gstmessage.h:
11343         * gst/gsttag.c:
11344         * gst/gsttag.h:
11345         * gst/gsttaginterface.c:
11346         * gst/gsttaginterface.h:
11347         * gst/gsttaglist.c:
11348         * gst/gsttaglist.h:
11349         * gst/gsttagsetter.c:
11350         * gst/gsttagsetter.h:
11351         * gst/gsttrace.c:
11352         * gst/gsttrace.h:
11353         * gst/gsttrashstack.c:
11354           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11355           inlined docs for gsttrace, gsttrashstack
11356
11357 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11358
11359         * gst/Makefile.am:
11360         * gst/elements/gstbufferstore.h:
11361         * gst/elements/gsttypefindelement.c:
11362         * gst/elements/gsttypefindelement.h:
11363         * gst/gst.h:
11364         * gst/gsttypefind.c:
11365         * gst/gsttypefind.h:
11366         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11367         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11368         (gst_type_find_factory_dispose),
11369         (gst_type_find_factory_unload_thyself),
11370         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11371         (gst_type_find_factory_get_caps),
11372         (gst_type_find_factory_get_extensions),
11373         (gst_type_find_factory_call_function):
11374         * gst/gsttypefindfactory.h:
11375         * gst/registries/gstlibxmlregistry.c:
11376         * gst/registries/gstxmlregistry.c:
11377           splitted gsttypefind into gsttypefind, gsttypefindfactory
11378
11379 2005-09-07  Andy Wingo  <wingo@pobox.com>
11380
11381         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11382         condition whereby the pad's task function is entered before the
11383         pad_mode variable was set.
11384
11385 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11386
11387         * gst/gstpad.c: (gst_pad_alloc_buffer):
11388           Catch misbehaving pad_alloc functions that don't
11389           set up caps and do it for them.
11390
11391 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11392
11393         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11394           test for pipe!=NULL
11395         * docs/gst/tmpl/.cvsignore:
11396         * docs/gst/tmpl/gstmemchunk.sgml:
11397         * docs/gst/tmpl/gstparse.sgml:
11398         * docs/gst/tmpl/gsttaglist.sgml:
11399         * docs/gst/tmpl/gsttagsetter.sgml:
11400         * docs/gst/tmpl/gsttypefind.sgml:
11401         * docs/gst/tmpl/gsttypefindfactory.sgml:
11402         * gst/gstmemchunk.c:
11403         * gst/gstparse.c:
11404         * gst/gsttag.c:
11405         * gst/gsttaginterface.c:
11406         * gst/gsttypefind.c:
11407         * gst/gsttypefind.h:
11408           inlined more docs
11409
11410 === release 0.9.2 ===
11411
11412 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11413
11414         * NEWS:
11415         * RELEASE:
11416         * configure.ac:
11417           releasing 0.9.2, "South"
11418
11419 2005-09-05  Andy Wingo  <wingo@pobox.com>
11420
11421         * gst/registries/gstxmlregistry.h:
11422         * gst/registries/gstxmlregistry.c: Um... resurrect...
11423         
11424         * gst/registries/gstxmlregistry.h:
11425         * gst/registries/gstxmlregistry.c: and update to newer API.
11426         Incidentally they should be a bit faster now that they don't have
11427         to parse the caps.
11428         
11429 2005-09-05  Andy Wingo  <wingo@pobox.com>
11430
11431         * gst/registries/gstxmlregistry.h:
11432         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11433         replaced by the libxml registry a while back
11434
11435 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11436
11437         * docs/gst/tmpl/gstplugin.sgml:
11438         * gst/elements/gstelements.c:
11439         * gst/gst.c:
11440         * gst/gstplugin.c: (gst_plugin_register_func),
11441         (gst_plugin_desc_copy), (gst_plugin_desc_free),
11442         (gst_plugin_get_source):
11443         * gst/gstplugin.h:
11444         * gst/registries/gstlibxmlregistry.c: (load_plugin),
11445         (gst_xml_registry_save_plugin):
11446         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11447         (gst_xml_registry_save_plugin):
11448         * tools/gst-inspect.c: (print_plugin_info):
11449           add a "source" plugin description field, to represent the source
11450           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
11451           will set it to PACKAGE, which is automake's idea of the name of
11452           the source project.
11453
11454 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11455
11456         * Makefile.am:
11457         * autogen.sh:
11458         * configure.ac:
11459         * docs/Makefile.am:
11460         * docs/faq/Makefile.am:
11461         * docs/gst/tmpl/gstelement.sgml:
11462         * docs/gst/tmpl/gsttypes.sgml:
11463         * docs/htmlinstall.mak:
11464         * docs/manual/Makefile.am:
11465         * docs/pwg/Makefile.am:
11466           reorganize doc build a little
11467           split out docbook and gtk-doc stuff
11468           have two separate --enable's and enable them through autogen
11469           but disable by default in configure (to be similar to other
11470           projects)
11471         * gstreamer.spec.in:
11472           clean up docs install
11473         * po/af.po:
11474         * po/az.po:
11475         * po/ca.po:
11476         * po/cs.po:
11477         * po/de.po:
11478         * po/en_GB.po:
11479         * po/fr.po:
11480         * po/it.po:
11481         * po/nb.po:
11482         * po/nl.po:
11483         * po/ru.po:
11484         * po/sq.po:
11485         * po/sr.po:
11486         * po/sv.po:
11487         * po/tr.po:
11488         * po/uk.po:
11489         * po/vi.po:
11490           translation updates
11491
11492 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11493
11494         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11495           Add comment.
11496           
11497         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11498         (gst_fake_sink_change_state):
11499           Make state change function thread-safe.
11500           
11501         * gst/gstpad.c: (gst_pad_alloc_buffer):
11502           Set offset on generic buffer allocated by fallback.
11503
11504 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
11505
11506         * docs/gst/gstreamer-sections.txt:
11507         * docs/gst/tmpl/gstelement.sgml:
11508         * gst/gstpad.c:
11509         * libs/gst/controller/gst-controller.c:
11510         (gst_controlled_property_set_interpolation_mode),
11511         (gst_controlled_property_new),
11512         (gst_controller_find_controlled_property):
11513          run the wingo-magic script against the docs
11514
11515 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11516
11517         * docs/gst/gstreamer-docs.sgml:
11518         * docs/gst/gstreamer-sections.txt:
11519         * docs/gst/tmpl/.cvsignore:
11520         * docs/gst/tmpl/gstelementdetails.sgml:
11521         * docs/gst/tmpl/gstelementfactory.sgml:
11522         * gst/gst.c:
11523         * gst/gstbus.c:
11524         * gst/gstelementfactory.c:
11525         * gst/gstelementfactory.h:
11526           merged elementdetails docs into elementfactory docs
11527           inlined both
11528
11529 2005-09-02  Andy Wingo  <wingo@pobox.com>
11530
11531         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11532         consider this enum an enum and not a flags.
11533
11534 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11535
11536         * docs/gst/gstreamer-docs.sgml:
11537         * docs/gst/tmpl/.cvsignore:
11538         * docs/gst/tmpl/gstghostpad.sgml:
11539         * docs/gst/tmpl/gstiterator.sgml:
11540         * docs/gst/tmpl/gstmacros.sgml:
11541         * docs/gst/tmpl/gstrealpad.sgml:
11542         * docs/gst/tmpl/gstregistry.sgml:
11543         * docs/gst/tmpl/gstregistrypool.sgml:
11544         * docs/gst/tmpl/gststructure.sgml:
11545         * docs/gst/tmpl/gstsystemclock.sgml:
11546         * docs/gst/tmpl/gsttrace.sgml:
11547         * gst/gstghostpad.c:
11548         * gst/gstmacros.h:
11549         * gst/gstmemchunk.c:
11550         * gst/gstmemchunk.h:
11551         * gst/gstqueue.c:
11552         * gst/gstregistry.c:
11553         * gst/gstregistrypool.c:
11554         * gst/gststructure.c:
11555         * gst/gstsystemclock.c:
11556           more docs inlined
11557
11558 2005-09-02  Andy Wingo  <wingo@pobox.com>
11559
11560         * gst/gstelement.h (GstState): Renamed from GstElementState,
11561         changed to be a normal enum instead of flags.
11562         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
11563         munged to be GST_STATE_CHANGE_*.
11564         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
11565         work with the new state representation.
11566         (GstStateChange): New enumeration of possible state transitions.
11567         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
11568         (GstElementClass::change_state): Pass the GstStateChange along as
11569         an argument. Helps language bindings, so they don't have to use
11570         tricky lock-needing macros like GST_STATE_CHANGE ().
11571
11572         * scripts/update-states (file): New script. Run it on a file to
11573         update it for state naming and API changes. Updates files in
11574         place.
11575
11576         * All files updated for the new API.
11577
11578 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11579
11580         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
11581         * gst/gstutils.c: (gst_util_set_value_from_string),
11582         (gst_util_set_object_arg):
11583           fix a bunch of unchecked return values
11584         * tools/gst-complete.c: (main):
11585         * gstreamer.spec.in:
11586           clean up a little
11587
11588 2005-09-01  Wim Taymans  <wim@fluendo.com>
11589
11590         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11591         (gst_base_sink_event), (gst_base_sink_do_sync),
11592         (gst_base_sink_handle_event):
11593         * gst/base/gstbasesink.h:
11594         Handle newsegments more correctly.
11595
11596         * gst/gstbus.c:
11597         Fix docs.
11598
11599         * gst/gstevent.c: (gst_event_new_newsegment):
11600         A newsegment cannot have a start_time of -1
11601
11602 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11603
11604         * win32/gstenumtypes.c:
11605         * win32/gstenumtypes.h:
11606           Update
11607
11608 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11609
11610         * libs/gst/controller/gst-controller.c:
11611         (gst_controlled_property_set_interpolation_mode),
11612         (gst_controlled_property_new):
11613          fixed boolean again
11614
11615 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11616
11617         * docs/faq/gst-uninstalled:
11618           add -good
11619         * gst/gstevent.c:
11620         * gst/gstevent.h:
11621           remove wrong docs
11622         * gst/gstutils.c: (gst_element_link_filtered):
11623         * gst/gstutils.h:
11624           add gst_element_link_filtered
11625
11626 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11627
11628         * docs/gst/gstreamer-docs.sgml:
11629         * docs/gst/gstreamer-sections.txt:
11630         * docs/gst/tmpl/.cvsignore:
11631         * docs/gst/tmpl/gsterror.sgml:
11632         * docs/gst/tmpl/gstfilter.sgml:
11633         * docs/gst/tmpl/gsturihandler.sgml:
11634         * docs/gst/tmpl/gsturitype.sgml:
11635         * docs/gst/tmpl/gstutils.sgml:
11636         * docs/gst/tmpl/gstxml.sgml:
11637         * gst/gsterror.c:
11638         * gst/gsterror.h:
11639         * gst/gstfilter.c:
11640         * gst/gsturi.c:
11641         * gst/gsturitype.c:
11642         * gst/gstutils.c:
11643         * gst/gstxml.c:
11644           inlined more docs, fixed double id-ref
11645
11646 2005-08-31  Wim Taymans  <wim@fluendo.com>
11647
11648         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11649         (gst_base_transform_handle_buffer):
11650         Passthrough elements don't need the caps as they don't care.
11651
11652 2005-08-31  Wim Taymans  <wim@fluendo.com>
11653
11654         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11655         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
11656         Don't leak refcounts on buffers.
11657
11658 2005-08-31  Wim Taymans  <wim@fluendo.com>
11659
11660         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
11661         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11662         (gst_base_transform_chain), (gst_base_transform_change_state):
11663         * gst/base/gstbasetransform.h:
11664         Handle the case where we are not negotiated more gracefully.
11665
11666 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
11667
11668         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
11669         (gst_file_src_map_region):
11670           Set READONLY flag on mmap'ed buffers, otherwise
11671           gst_buffer_make_writable() won't work properly (#314708).
11672
11673 2005-08-31  Wim Taymans  <wim@fluendo.com>
11674
11675         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
11676         passthrough elements can even do inplace on non writable
11677         buffers (as they don't touch them).
11678
11679 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11680
11681         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11682         (gst_test_mono_source_set_property),
11683         (gst_test_mono_source_class_init), (GST_START_TEST),
11684         (gst_controller_suite):
11685           more tests (hehe I have the most)
11686         * gst/gstbus.c:
11687           describe popping messages whenusing mulltiple sources
11688         * libs/gst/controller/gst-controller.c:
11689         (gst_controlled_property_set_interpolation_mode),
11690         (gst_controlled_property_new):
11691         * libs/gst/controller/gst-controller.h:
11692         * libs/gst/controller/gst-interpolation.c:
11693           implement boolean properties
11694
11695 2005-08-31  Wim Taymans  <wim@fluendo.com>
11696
11697         * gst/gstminiobject.c: (gst_mini_object_ref):
11698         Cannot assert that the refcount has to be positive
11699         since a disposed object can be resurrected.
11700
11701 2005-08-31  Wim Taymans  <wim@fluendo.com>
11702
11703         * gst/gstpad.c: (gst_pad_init):
11704         Revert change, need to first fix badly behaving 
11705         apps.
11706
11707 2005-08-30  Wim Taymans  <wim@fluendo.com>
11708
11709         * check/elements/fakesrc.c: (setup_fakesrc):
11710         * check/elements/identity.c: (setup_identity):
11711         Activate pads before using them.
11712
11713 2005-08-30  Wim Taymans  <wim@fluendo.com>
11714
11715         * gst/base/gstadapter.c: (gst_adapter_flush):
11716         Flushing out 0 bytes is ok for this function.
11717
11718         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11719         no newsegment gives a warning and sets the start/stop to 
11720         invalid.
11721
11722         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
11723         (gst_base_transform_set_passthrough):
11724         Some debug info.
11725
11726         * gst/gstminiobject.c: (gst_mini_object_ref):
11727         Check refcount here too.
11728
11729         * gst/gstpad.c: (gst_pad_init):
11730         Pads are initially flushing and refusing data.
11731
11732         * gst/gstutils.c: (gst_element_link_pads_filtered):
11733         When adding a capsfilter element make sure it has the
11734         same state as the parent bin.
11735
11736 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11737
11738         * docs/gst/tmpl/.cvsignore:
11739         * docs/gst/tmpl/gstformat.sgml:
11740         * docs/gst/tmpl/gstversion.sgml:
11741         * gst/gstbus.h:
11742         * gst/gstformat.c:
11743         * gst/gstformat.h:
11744         * gst/gstversion.h.in:
11745           more docs and two more inlined
11746
11747 2005-08-30  Wim Taymans  <wim@fluendo.com>
11748
11749         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
11750         Don't sync to clock.
11751
11752 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11753
11754         * docs/gst/gstreamer-sections.txt:
11755           ultral33t func10ns deserve to appear in the docs actually
11756         * docs/gst/tmpl/.cvsignore:
11757         * docs/gst/tmpl/gstcompat.sgml:
11758         * docs/gst/tmpl/gstconfig.sgml:
11759         * gst/check/gstcheck.c:
11760         * gst/gstcompat.h:
11761         * gst/gstconfig.h.in:
11762           inlined more docs
11763
11764 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11765
11766         * docs/gst/tmpl/.cvsignore:
11767         * docs/gst/tmpl/gstquery.sgml:
11768         * docs/gst/tmpl/gstutils.sgml:
11769         * gst/gstquery.c:
11770         * gst/gstquery.h:
11771           inlined and extended docs
11772
11773 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11774
11775         * check/gst-libs/controller.c: (GST_START_TEST),
11776         (gst_controller_suite):
11777           more tests
11778         * docs/gst/tmpl/gstutils.sgml:
11779         * docs/libs/gstreamer-libs-sections.txt:
11780         * docs/libs/tmpl/gstdataprotocol.sgml:
11781           include path fixes
11782         * examples/controller/audio-example.c: (main):
11783           controller example works now
11784         * gst/gstclock.h:
11785           doc fixes
11786         * tools/gst-inspect.c: (print_element_properties_info):
11787           show param spec flags
11788
11789 2005-08-29  Andy Wingo  <wingo@pobox.com>
11790
11791         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
11792
11793 2005-08-28  Andy Wingo  <wingo@pobox.com>
11794
11795         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
11796         as having two arguments instead of just one. Allows superclasses
11797         to access information on subclasses -- see the terrible for() loop
11798         in gtype.c:g_type_create_instance for the reason why. All callers
11799         changed.
11800
11801 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11802
11803         * docs/design/part-messages.txt:
11804           update info
11805         * docs/gst/tmpl/.cvsignore:
11806         * docs/gst/tmpl/gstcaps.sgml:
11807         * docs/gst/tmpl/gstclock.sgml:
11808         * gst/gstbus.c:
11809         * gst/gstcaps.c:
11810         * gst/gstcaps.h:
11811         * gst/gstclock.c:
11812         * gst/gstclock.h:
11813         * gst/gstmessage.c:
11814           added descriptions for bus and message
11815           inline caps and clock docs
11816
11817 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11818
11819         * gst/gstmessage.c:
11820         * gst/gstmessage.h:
11821           doc fixes
11822
11823 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11824
11825         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
11826           fix div-by-zero
11827
11828 2005-08-26  Andy Wingo  <wingo@pobox.com>
11829
11830         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
11831         element_set_state's return val.
11832         (test_2_elements): Add test that's been disabled for months.
11833
11834         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
11835         can-activate-pull properties.
11836
11837         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
11838         can-activate-pull properties. Implement is_seekable so fakesrc can
11839         operate in pull mode.
11840
11841         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
11842         properties.
11843         (gst_base_sink_activate, gst_base_sink_activate_pull)
11844         (gst_base_sink_activate_push): Make activation mode choosing work.
11845         Cleanups.
11846         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
11847         is right. Make pull mode work. Post an eos before pausing in pull
11848         mode.
11849         (gst_base_sink_change_state): Pay attention to the core's
11850         change_state() return val.
11851         
11852         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
11853         has-getrange properties. Cleanups.
11854         
11855         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
11856         has_getrange and replace with can_activate_pull and
11857         can_activate_push.
11858
11859         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
11860         locking comments. Remove has_loop, has_chain and replace with
11861         can_activate_pull and can_activate_push.
11862
11863 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
11864
11865         * configure.ac:
11866         * examples/Makefile.am:
11867         * examples/metadata/Makefile.am:
11868         * examples/metadata/read-metadata.c: (message_loop),
11869         (have_pad_handler), (make_pipeline), (print_tag), (main):
11870           Add metadata reading example that loops over a list of filenames,
11871           dumping any tags found.
11872
11873         * gst/gstbus.c: (gst_bus_dispose):
11874         * gst/gstelement.c: (gst_element_dispose):
11875           Release a few potentially-held references in dispose.
11876
11877 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11878
11879         * docs/gst/tmpl/gstminiobject.sgml:
11880           do *not* add tmpl/*.sgml files to CVS!
11881
11882 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11883
11884         * libs/gst/bytestream/.cvsignore:
11885         * libs/gst/bytestream/Makefile.am:
11886         * libs/gst/bytestream/adapter.c:
11887         * libs/gst/bytestream/adapter.h:
11888         * libs/gst/bytestream/bytestream.c:
11889         * libs/gst/bytestream/bytestream.h:
11890         * libs/gst/bytestream/filepad.c:
11891         * libs/gst/bytestream/filepad.h:
11892           removing obsolete files
11893
11894 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11895
11896         * docs/gst/gstreamer-docs.sgml:
11897         * docs/libs/gstreamer-libs-docs.sgml:
11898           disabed additional index entries again, as this makes docs-gen just
11899           slow and they aren't useful yet
11900         * docs/libs/gstreamer-libs-sections.txt:
11901           little -section.txt cleanup for libs
11902
11903 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
11904
11905         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11906         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
11907           fix up some debugging
11908         (gst_base_transform_get_unit_size),
11909         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
11910         (gst_base_transform_handle_buffer):
11911         * gst/base/gstbasetransform.h:
11912           handle and store timed NEWSEGMENT events so that subclasses that
11913           calculate time by counting samples have a segment_start time they
11914           need to add to their timestamps - see audioresample
11915
11916 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
11917
11918         * gst/gstbin.h:
11919           removed ';' from the end of macro defs
11920         * docs/gst/gstreamer-docs.sgml:
11921         * docs/gst/gstreamer-sections.txt:
11922         * docs/gst/tmpl/.cvsignore:
11923         * gst/gstbus.h:
11924         * gst/gstelement.c: (gst_element_class_init),
11925         (gst_element_set_state), (activate_pads),
11926         (gst_element_save_thyself):
11927         * gst/gstevent.c: (gst_event_new_newsegment):
11928         * gst/gstevent.h:
11929         * gst/gstiterator.c:
11930         * gst/gstiterator.h:
11931         * gst/gstpad.c:
11932         * gst/gstprobe.h:
11933         * gst/gstutils.c: (gst_pad_query_convert):
11934         * gst/gstutils.h:
11935           fixed parameter name mismatches between source, header and docs
11936           added some more docs, resolved the last batch of unused elements in
11937           docs (now someone needs to doc them)
11938
11939 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11940
11941         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
11942         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
11943           don't walk through the plugins backwards.  Where is all this
11944           reversed logic coming from ?
11945
11946 2005-08-25  Wim Taymans  <wim@fluendo.com>
11947
11948         * gst/base/gstbasetransform.c: (gst_base_transform_init),
11949         (gst_base_transform_transform_size),
11950         (gst_base_transform_configure_caps),
11951         (gst_base_transform_get_unit_size),
11952         (gst_base_transform_buffer_alloc),
11953         (gst_base_transform_change_state):
11954         * gst/base/gstbasetransform.h:
11955         Cache caps unit_size.
11956         Make sure we cannot negotiate up and downstream at the
11957         same time.
11958
11959 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11960
11961         * gst/gst.c: (init_pre), (init_post):
11962           register the installed plugin path after the env var
11963         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
11964         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
11965           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
11966           directories, so the tests can prefer uninstalled over installed
11967
11968 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
11969
11970         * gst/base/gstbasetransform.h:
11971           comment
11972         * gst/gstpad.c:
11973           add to docs
11974
11975 2005-08-25  Wim Taymans  <wim@fluendo.com>
11976
11977         * gst/gstbin.c: (bin_bus_handler):
11978         Be a bit more conservative about the posted message.
11979         
11980         * gst/gstbus.c: (gst_bus_post):
11981         Some cleanups, warn wrong return values.
11982
11983 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
11984
11985         * check/gst/gstbin.c: (GST_START_TEST):
11986         * gst/gstbin.c: (bin_bus_handler):
11987         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
11988         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
11989         (gst_message_new_warning), (gst_message_new_tag),
11990         (gst_message_new_state_changed), (gst_message_new_segment_start),
11991         (gst_message_new_segment_done), (gst_message_new_custom):
11992         * gst/gstmessage.h:
11993         * tools/gst-launch.c: (event_loop):
11994         * tools/gst-md5sum.c: (event_loop):
11995           Revert unpopular change for GST_MESSAGE_SRC to GObject.
11996
11997 2005-08-25  Wim Taymans  <wim@fluendo.com>
11998
11999         * check/generic/states.c: (GST_START_TEST):
12000         Cleanup can be done at the end.
12001
12002         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
12003         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12004         (gst_task_get_state), (gst_task_start), (gst_task_pause):
12005         Oh boy.. Thanks for finding this, Thomas. 
12006
12007 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12008
12009         * docs/gst/gstreamer.types:
12010           added missing types
12011
12012 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12013
12014         * docs/gst/gstreamer-docs.sgml:
12015         * docs/gst/gstreamer-sections.txt:
12016         * docs/gst/tmpl/.cvsignore:
12017         * gst/gstbin.c:
12018         * gst/gstiterator.c:
12019         * gst/gstutils.c:
12020         * gst/registries/gstxmlregistry.h:
12021           added missing classes and symbols (123 more to go)
12022           removed removed symbols from section file
12023           fixed many doc-comments
12024
12025 2005-08-24  Wim Taymans  <wim@fluendo.com>
12026
12027         * check/generic/states.c: (GST_START_TEST):
12028         Make sure all tasks are stopped.
12029
12030         * check/gst/gstbin.c: (GST_START_TEST):
12031         Unref after usage for proper valgrinding.
12032
12033         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12034         Really wait for the task to stop before destroying the
12035         mutex.
12036
12037         * gst/gstqueue.c: (gst_queue_sink_activate_push),
12038         (gst_queue_src_activate_push):
12039         Small cleanups. Don't stop the task when we did not start
12040         it.
12041
12042         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12043         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12044         (gst_task_get_state), (gst_task_start), (gst_task_pause),
12045         (gst_task_join):
12046         * gst/gsttask.h:
12047         Protect the stream lock with the object lock.
12048         Disallow setting the stream lock when running.
12049         Add cleanup_all to wait for the threadpool to finish.
12050         Remove code to autoallocate a mutex if none was provided.
12051         Add _join() to wait for a task to stop.
12052         Protect the thread pool with a global lock.
12053
12054 2005-08-24  Wim Taymans  <wim@fluendo.com>
12055
12056         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12057         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12058         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12059         * gst/base/gstbasesink.h:
12060         Handle newsegment events correctly.
12061         Drop buffers out of the segment range.
12062
12063 2005-08-22  Andy Wingo  <wingo@pobox.com>
12064
12065         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12066         macro, implements an interface and gstimplementsinterface for a
12067         new type.
12068
12069 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12070
12071         * check/Makefile.am:
12072         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12073           add a test that does a bunch of state changes on elements
12074           needs some fixing for valgrind
12075         * check/states/sinks.c: (gst_object_suite):
12076           whitespace
12077         * gst/gstcaps.h:
12078           add prototype for gst_caps_is_equal_fixed
12079         * gst/gstplugin.c:
12080         * gst/gstregistrypool.c:
12081           doc fixes
12082
12083 2005-08-24  Andy Wingo  <wingo@pobox.com>
12084
12085         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12086         convert a negative value. Doesn't make much sense. Mostly this is
12087         here to force callers to ensure -1 maps to -1.
12088
12089 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12090
12091         * docs/pwg/advanced-types.xml:
12092           Well done to Michael for catching my deliberate introduction
12093           of this spelling mistake. 
12094         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12095         * gst/gstelement.h:
12096           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12097           unlink pads before removing the element from the bin.
12098
12099 2005-08-24  Andy Wingo  <wingo@pobox.com>
12100
12101         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12102         the same thing as GST_DEBUG=*:4.
12103         (parse_debug_level, parse_debug_category): New helper parsers.
12104
12105 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12106
12107         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12108         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12109         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12110         (gst_base_transform_buffer_alloc),
12111         (gst_base_transform_handle_buffer):
12112           use gboolean return values and pointers to size so we can use the
12113           full GST_BUFFER_SIZE range (guint) for buffer sizes
12114           use GstPadDirection for transform_caps
12115         * gst/base/gstbasetransform.h:
12116           rename get_size to get_unit_size since that's what it is
12117         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12118           use GstPadDirection for transform_caps
12119         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12120         * gst/gstutils.h:
12121           cleanup and debugging
12122
12123 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12124
12125         * gst/gstelement.c: (gst_element_class_init),
12126         (gst_element_set_state), (activate_pads),
12127         (gst_element_save_thyself):
12128         * tools/gst-compprep.c: (main):
12129         * tools/gst-inspect.c: (print_element_properties_info):
12130         * tools/gst-xmlinspect.c: (print_element_properties):
12131           Fixed long standing mem-leak
12132
12133 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12134
12135         * check/gst/gstbin.c: (GST_START_TEST):
12136         * gst/gstbin.c: (bin_bus_handler):
12137         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12138         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12139         (gst_message_new_warning), (gst_message_new_tag),
12140         (gst_message_new_state_changed), (gst_message_new_segment_start),
12141         (gst_message_new_segment_done), (gst_message_new_custom):
12142         * gst/gstmessage.h:
12143         * tools/gst-launch.c: (event_loop):
12144         * tools/gst-md5sum.c: (event_loop):
12145           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12146           that applications can sensibly post custom messages with references
12147           to their own objects.
12148
12149 2005-08-24  Andy Wingo  <wingo@pobox.com>
12150
12151         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12152         already.
12153
12154 2005-08-24  Wim Taymans  <wim@fluendo.com>
12155
12156         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12157         (gst_base_transform_transform_caps),
12158         (gst_base_transform_transform_size),
12159         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12160         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12161         (gst_base_transform_handle_buffer):
12162         * gst/base/gstbasetransform.h:
12163         Many fixes and new features added by Thomas. Can now also do
12164         transforms with variable sizes and a custom fixate_caps function.
12165
12166 2005-08-24  Wim Taymans  <wim@fluendo.com>
12167
12168         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12169         Some debugging.
12170
12171         * gst/gstclock.h:
12172         Cast to ClockTime before formatting to time.
12173
12174         * gst/gstutils.h:
12175         Cleanups.
12176
12177 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12178
12179         * check/gst-libs/controller.c: (GST_START_TEST),
12180         (gst_controller_suite):
12181         * docs/gst/tmpl/gstcaps.sgml:
12182         * docs/gst/tmpl/gstghostpad.sgml:
12183         * docs/gst/tmpl/gstquery.sgml:
12184         * docs/gst/tmpl/gstutils.sgml:
12185         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12186         (gst_object_sink_values), (gst_object_get_value_arrays),
12187         (gst_object_get_value_array):
12188           gracefully handle helper method calls to objects that are not beeing
12189           controlled, added test case for that          
12190
12191 2005-08-23  Wim Taymans  <wim@fluendo.com>
12192
12193         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12194         (gst_event_new_newsegment), (gst_event_parse_newsegment),
12195         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12196         (gst_event_parse_qos), (gst_event_new_seek),
12197         (gst_event_parse_seek):
12198         * gst/gstevent.h:
12199         Some more debugging output and doc cleanups.
12200
12201         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12202         Fix possible deadlock.
12203
12204 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12205
12206         * docs/gst/gstreamer-docs.sgml:
12207         * docs/gst/gstreamer-sections.txt:
12208         * docs/gst/gstreamer.types:
12209         * docs/gst/tmpl/.cvsignore:
12210         * gst/gstbin.h:
12211         * gst/gstbus.c:
12212         * gst/gstelement.c:
12213         * gst/gstevent.h:
12214           added 100 symbols from gstreamer-unused.txt to the right sections
12215           fixed more broken comments
12216           added GstBus to docs
12217
12218 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12219
12220         * docs/gst/gstreamer-sections.txt:
12221         * docs/gst/tmpl/.cvsignore:
12222         * docs/gst/tmpl/gstbin.sgml:
12223         * docs/gst/tmpl/gstbuffer.sgml:
12224         * gst/base/gstbasesrc.c:
12225         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12226         * gst/gstbuffer.c:
12227         * gst/gstbuffer.h:
12228         * tools/gst-launch.1.in:
12229           inlined more doc comments, added missing comments and fixed comments
12230           fixed typos
12231
12232 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12233
12234         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12235           some debugging
12236         * gst/gstcaps.h:
12237           whitespace fixes
12238         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12239           more debugging
12240         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12241         * gst/gststructure.h:
12242           add a fixate function for booleans; add a FIXME that these func
12243           names should probably be gst_structure_fixate_*
12244
12245 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12246
12247         * docs/gst/gstreamer-docs.sgml:
12248         * docs/gst/gstreamer-sections.txt:
12249         * gst/Makefile.am:
12250         * gst/gstbin.c: (gst_bin_get_type),
12251         (gst_bin_child_proxy_get_child_by_index),
12252         (gst_bin_child_proxy_get_children_count),
12253         (gst_bin_child_proxy_init):
12254         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12255         (gst_child_proxy_get_child_by_index),
12256         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12257         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12258         (gst_child_proxy_get), (gst_child_proxy_set_property),
12259         (gst_child_proxy_set_valist), (gst_child_proxy_set),
12260         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12261         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12262         * gst/gstchildproxy.h:
12263         * gst/parse/grammar.y:
12264         * tools/gst-inspect.c: (print_interfaces),
12265         (print_element_properties_info), (print_element_info):
12266           ported gstchildproxy over from 0.8
12267           ported gst-inspect fixes and enhancements over from 0.8
12268
12269 2005-08-22  Wim Taymans  <wim@fluendo.com>
12270
12271         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12272         (gst_base_transform_handle_buffer):
12273         Also call the transform function if we have ANY caps.
12274
12275         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12276         Fix debug info.
12277
12278 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12279
12280         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12281           Don't pretend to handle seek events if the source is not seekable
12282
12283 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12284
12285         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12286           Remove extra parameter to debug output
12287
12288         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12289         (gst_base_src_do_seek), (gst_base_src_activate_push):
12290           Fix seek event handling.
12291
12292         * gst/gstpipeline.c: (gst_pipeline_change_state):
12293         * gst/gstqueue.c: (gst_queue_handle_sink_event),
12294         (gst_queue_src_activate_push):
12295           Don't start the src pad task on FLUSH_STOP if the pad
12296           isn't linked.
12297           Debug changes.
12298
12299 2005-08-22  Wim Taymans  <wim@fluendo.com>
12300
12301         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12302         Added check for gst_static_caps_get() refcounting.
12303
12304 2005-08-22  Wim Taymans  <wim@fluendo.com>
12305
12306         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12307         Make _static_caps_get() refcounting sane.
12308         
12309         * gst/gstelement.c: (gst_element_set_state):
12310         Add g_return_val_if_fail() to protect against segfaults.
12311
12312 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
12313
12314         * docs/gst/tmpl/gstevent.sgml:
12315         * gst/gstevent.c:
12316         * gst/gstevent.h:
12317           inlined remaining docs, added missing doc comments
12318
12319 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12320
12321         * check/gst/gstbin.c: (GST_START_TEST):
12322           since we don't know when preroll is done, use refcount range
12323           check for the sink
12324         * gst/check/gstcheck.h:
12325           add macro for checking refcount range
12326
12327 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12328
12329         * check/Makefile.am:
12330           clean up environment for when registry gets built versus
12331           when actual tests are run; valgrind seems to not report
12332           leaks if GST_PLUGIN_PATH is set to some specific values
12333         * check/gst/gstbin.c: (GST_START_TEST):
12334           add more refcounting checks; maybe this exposes a
12335           preroll lock bug ?
12336         * common/check.mak:
12337         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12338         * gst/check/gstcheck.h:
12339         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12340         (gst_bin_change_state):
12341         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12342           add/fix debugging/whitespace
12343
12344 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12345
12346         * check/gst/gstevent.c: (event_probe), (test_event),
12347         (GST_START_TEST):
12348          Er, don't call gst_bin_watch_for_state_change you idiot.
12349
12350 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12351
12352         * check/Makefile.am:
12353           Use CHECK_CFLAGS and CHECK_LIBS
12354         * check/gst/gstevent.c: (event_probe), (test_event),
12355         (GST_START_TEST):
12356           Don't leak events.
12357         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12358         (gst_base_src_start), (gst_base_src_stop),
12359         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12360         (gst_base_src_change_state):
12361           Sprinkle gst_base_src_stop liberally around error paths to fix
12362           problems reusing a source after failed state changes.
12363         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12364         (helper_find_suggest), (gst_type_find_helper):
12365           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12366         * gst/gstevent.h:
12367         * docs/gst/tmpl/gstevent.sgml:
12368           Migrate part of the docs from the SGML file. Wait for ensonic to
12369           tell me how I did it wrong ;)
12370         * tools/gst-typefind.c: (main):
12371           Extra robustness to state changes between files.
12372
12373 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12374
12375         * check/Makefile.am:
12376           don't valgrind the controller test - it's leaking - Stefan, HELP
12377         * gst/check/gstcheck.c: (gst_check_message_error),
12378         (gst_check_chain_func), (gst_check_setup_element),
12379         (gst_check_teardown_element), (gst_check_setup_src_pad),
12380         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12381         (gst_check_teardown_sink_pad):
12382         * gst/check/gstcheck.h:
12383           add a bunch of methods to set up elements, and src and sink pads
12384         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12385         * check/elements/identity.c: (setup_identity), (cleanup_identity),
12386         (GST_START_TEST):
12387           use them
12388         * gst/gstmessage.c:
12389         * gst/gsttag.h:
12390           whitespace/doc fixes
12391
12392 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12393
12394         * gst/gstelement.h:
12395           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12396           be handled by the application and not always printed as well
12397
12398 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12399
12400         * check/Makefile.am:
12401           set GST_TOOLS_DIR
12402         * gst/check/gstcheck.c: (gst_check_message_error):
12403         * gst/check/gstcheck.h:
12404           add a fail_unless_equals_int
12405           add fail_unless for error messages
12406
12407 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12408
12409         * check/Makefile.am:
12410         * check/gst.supp:
12411         * common/Makefile.am:
12412         * common/check.mak:
12413         * common/gst.supp:
12414           factor out some of the common stuff so we can use it
12415
12416 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12417
12418         * check/Makefile.am:
12419         * check/gst/gstiterator.c: (GST_START_TEST):
12420         * check/gst/gstsystemclock.c: (GST_START_TEST),
12421         (gst_systemclock_suite):
12422         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12423         * gst/gstclock.c:
12424           valgrind more tests
12425
12426 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12427
12428         * check/elements/.cvsignore:
12429         * check/elements/gstfakesrc.c:
12430           rename to name of element
12431         * check/elements/identity.c: (chain_func), (event_func),
12432         (setup_identity), (cleanup_identity), (GST_START_TEST),
12433         (identity_suite), (main):
12434           add a test for identity
12435         * check/Makefile.am:
12436         * pkgconfig/Makefile.am:
12437         * pkgconfig/gstreamer-check.pc.in:
12438         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12439         * gst/check:
12440         * gst/Makefile.am:
12441         * configure.ac:
12442           move the check stuff to a library that gets installed
12443         * check/gst-libs/controller.c: (GST_START_TEST):
12444         * check/gst-libs/gdp.c:
12445         * check/gst/gst.c: (GST_START_TEST):
12446         * check/gst/gstbin.c:
12447         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12448         * check/gst/gstbus.c:
12449         * check/gst/gstcaps.c: (GST_START_TEST):
12450         * check/gst/gstelement.c:
12451         * check/gst/gstghostpad.c:
12452         * check/gst/gstiterator.c:
12453         * check/gst/gstmessage.c:
12454         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12455         * check/gst/gstobject.c:
12456         * check/gst/gstpad.c: (GST_START_TEST):
12457         * check/gst/gststructure.c: (GST_START_TEST):
12458         * check/gst/gstsystemclock.c: (GST_START_TEST),
12459         (gst_systemclock_suite):
12460         * check/gst/gsttag.c: (gst_tag_suite):
12461         * check/gst/gstvalue.c:
12462         * check/pipelines/cleanup.c:
12463         * check/pipelines/simple_launch_lines.c:
12464         * check/states/sinks.c:
12465           change include statement
12466
12467         * docs/gst/gstreamer-sections.txt:
12468         * docs/gst/tmpl/gstpad.sgml:
12469           document more pad stuff
12470         * gst/gstminiobject.c: (gst_mini_object_ref),
12471         (gst_mini_object_unref):
12472           debug refcounting
12473
12474 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
12475
12476         * docs/gst/tmpl/gst.sgml:
12477         * gst/gst.c:
12478           eliminate another tmpl file, fix spelling in the long-description
12479
12480 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12481
12482         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12483         (test_event), (timediff), (gstevents_suite):
12484           Should fix build on 64-bit arch's
12485
12486 2005-08-18  Andy Wingo  <wingo@pobox.com>
12487
12488         Make sure that when a pipeline goes to PLAYING, that data has
12489         actually hit the sink.
12490
12491         * check/states/sinks.c (test_sink): A sink that doesn't get any
12492         data shouldn't return SUCCESS for going to either PLAYING or
12493         PAUSED. Test also the return values on the way back down.
12494
12495         * gst/gstelement.c (gst_element_set_state): When changing the
12496         state of an element currently changing state asynchronously, go to
12497         lost-state after commiting the pending state. Makes future calls
12498         to get_state continue to return ASYNC.
12499
12500         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12501         ASYNC when going to PLAYING if we still don't have preroll, as can
12502         happen with live sources.
12503
12504 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12505
12506         * docs/pwg/advanced-types.xml:
12507           Hack long paragraph into 2 chunks as a workaround for buggy
12508           jadetex version in sid and breezy that loops infinitely and
12509           eats all RAM.
12510
12511 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12512
12513         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12514         (test_event), (timediff), (gstevents_suite):
12515           Provide more error margin in clock measurements to allow for 
12516           g_get_current_time inaccuracies.
12517
12518 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12519
12520         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12521         (test_event), (timediff), (gstevents_suite):
12522            Fix error message output so I might be able to tell why the
12523            test works here but fails on the build farm.
12524
12525 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12526
12527         * check/Makefile.am:
12528         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12529         (test_event), (timediff), (gstevents_suite), (main):
12530           I wrote a test!
12531
12532         * docs/design/part-seeking.txt:
12533           Spelling correction
12534
12535         * docs/gst/tmpl/gstevent.sgml:
12536         * docs/gst/tmpl/gstfakesrc.sgml:
12537           Docs updates.
12538
12539         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12540           Treat a buffer-without-newsegment the same as a receiving 
12541           a newsegment not in time format, and disable syncing to the clock
12542           with a warning.
12543
12544         * gst/gstbus.c: (gst_bus_set_sync_handler):
12545           Assert if anyone tries to replace the existing sync_handler for bus, 
12546           as only the owner should be setting it.
12547
12548         * gst/gstevent.h:
12549           Have a fixed set of custom event enums with events identified by
12550           their structure name (as in 0.8), rather than a free-for-all
12551           allowing collisions between enum values from different plugins.
12552
12553         * gst/gstpad.c: (gst_pad_class_init):
12554           Docs change.
12555           
12556         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12557           Handle out-of-band downstream events from the sending thread.
12558
12559 2005-08-17  Andy Wingo  <wingo@pobox.com>
12560
12561         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
12562         play-timeout==0 to mean no timeout at all. In that case, don't
12563         bother with a get_state or a warning, just return directly, even
12564         if it's ASYNC.
12565
12566         * gst/base/gstbasetransform.c: Debug changes.
12567
12568         * gst/gstutils.h:
12569         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
12570         ensure bins post state change messages. A bit of a hack but I can't
12571         think of a way to avoid it.
12572
12573         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
12574
12575 2005-08-16  Andy Wingo  <wingo@pobox.com>
12576
12577         * gst/base/gstadapter.h:
12578         * gst/base/gstadapter.c (gst_adapter_take): New function, like
12579         peek() but you own the data. Not terribly efficient atm.
12580
12581 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12582
12583         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
12584         (gst_element_found_tags):
12585         * gst/gstutils.h:
12586           Add two utility functions for tag handling.
12587
12588 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12589
12590         * docs/manual/advanced-dataaccess.xml:
12591         * docs/manual/basics-helloworld.xml:
12592           Fix docs to use _bin_add() before _link(), which fixes the examples
12593           with recent core versions (reported by Madhan Raj M
12594           <raj_madan@rediffmail.com>, #313199).
12595
12596 2005-08-16  Wim Taymans  <wim@fluendo.com>
12597
12598         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12599         Added subtract checks.
12600
12601         * docs/design/part-events.txt:
12602         Some more docs about newsegment
12603
12604         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12605         Fix FIXME
12606
12607         * gst/gstcaps.c: (gst_caps_to_string):
12608         Add comments, cleanups.
12609         
12610         * gst/gstelement.c: (gst_element_save_thyself):
12611         cleanups
12612         
12613         * gst/gstvalue.c: (gst_value_collect_int_range),
12614         (gst_string_unwrap), (gst_value_union_int_int_range),
12615         (gst_value_union_int_range_int_range),
12616         (gst_value_intersect_int_int_range),
12617         (gst_value_intersect_int_range_int_range),
12618         (gst_value_intersect_double_double_range),
12619         (gst_value_intersect_double_range_double_range),
12620         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
12621         (gst_value_subtract_int_range_int),
12622         (gst_value_subtract_double_range_double),
12623         (gst_value_subtract_double_range_double_range),
12624         (gst_value_subtract_from_list), (gst_value_subtract_list),
12625         (gst_value_can_compare), (gst_value_compare_fraction):
12626         Cleanups, add comments, remove unneeded asserts.
12627
12628 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12629
12630         * tools/gst-launch.c: (event_loop):
12631           don't convert NULL structures to strings
12632
12633 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
12634
12635         * docs/gst/gstreamer-sections.txt:
12636           made some defines private
12637         * docs/gst/tmpl/gstconfig.sgml:
12638         * docs/gst/tmpl/gstqueue.sgml:
12639         * docs/gst/tmpl/gsttaglist.sgml:
12640         * docs/gst/tmpl/gsttypes.sgml:
12641         * docs/gst/tmpl/gstutils.sgml:
12642         * docs/pwg/appendix-porting.xml:
12643         * gst/base/gstbasesink.h:
12644         * gst/base/gstbasesrc.c:
12645         * gst/base/gstbasesrc.h:
12646         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
12647         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
12648         * gst/gstelement.c: (gst_element_class_init):
12649         * gst/gstpad.c: (gst_pad_class_init):
12650         * gst/gstqueue.c: (gst_queue_class_init):
12651         * gst/gstxml.c: (gst_xml_class_init):
12652           documented all undocumented signal inline
12653         * libs/gst/controller/gst-controller.h:
12654           added padding
12655
12656 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12657
12658         * docs/pwg/appendix-porting.xml:
12659           Document _set_link_function -> _set_setcaps_function.
12660
12661 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12662
12663         * check/Makefile.am:
12664           add a .check target for running the check
12665         * check/gst-libs/controller.c: (GST_START_TEST):
12666           cosmetic fixups
12667         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12668           complete checks for gstbuffer; would be nice if I could get the
12669           gcov stuff to work so I can see if I actually completed gstbuffer.c
12670         * check/gstcheck.h:
12671           add ASSERT_BUFFER_REFCOUNT
12672
12673 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
12674
12675         * docs/gst/gstreamer-sections.txt:
12676         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12677         * gst/gsttag.h:
12678           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
12679           spew out a warning if a tag that is already registered
12680           is re-registered, unless it is re-registered with a 
12681           different type (#308438).
12682
12683 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
12684
12685         * docs/pwg/appendix-porting.xml:
12686         * docs/pwg/building-state.xml:
12687           Add some paragraphs about state changes in 0.9 to the PWG
12688           and the porting guide, in particular about the new meaning
12689           of GST_STATE_PAUSED and how to write state change functions
12690           with concurrent access by multiple threads in mind.
12691
12692 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
12693
12694         * docs/gst/gstreamer-docs.sgml:
12695         * docs/libs/gstreamer-libs-docs.sgml:
12696           added deprecation and since indexes
12697         * libs/gst/controller/gst-controller.c:
12698         * libs/gst/controller/gst-helper.c:
12699           added since tags
12700
12701
12702 2005-08-11  Wim Taymans  <wim@fluendo.com>
12703
12704         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
12705         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
12706         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
12707         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
12708         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
12709         (gst_ghost_pad_set_target):
12710         Actually implement (re)setting the target on a ghostpad
12711         as described in the docs.
12712
12713 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12714
12715         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
12716           Check whether GST_DEBUG_NO_COLOR environment variable is
12717           set and disable coloured debug output if that is the case.
12718
12719 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12720
12721         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12722         (gst_type_find_helper):
12723           The memory returned by gst_type_find_peek() needs to
12724           stay valid until the end of a typefind function, and
12725           typefind functions may keep results from different 
12726           offsets around, so we can't just unref the buffer from
12727           the previous _peek(), but have to save all buffers 
12728           returned by _peek() until typefinding is done and only
12729           free them then.
12730
12731 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12732
12733         * docs/gst/gstreamer-sections.txt:
12734         * gst/gstutils.h:
12735           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
12736
12737 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12738
12739         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12740           Fix a pretty good memleak.
12741
12742 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12743
12744         * gst/gstiterator.h:
12745           Fix wrong include and 'make distcheck'.
12746
12747 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12748
12749         * gst/gstbin.c: (bin_bus_handler):
12750           Use gst_element_post_message() instead.
12751
12752 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12753
12754         * gst/base/gstadapter.h:
12755         * gst/base/gstbasesink.h:
12756         * gst/base/gstbasesrc.h:
12757         * gst/base/gstbasetransform.h:
12758         * gst/base/gstcollectpads.h:
12759         * gst/base/gstpushsrc.h:
12760         * gst/gstiterator.h:
12761           Add padding to our base elements' class and instance structs and
12762           to GstIterator (you will need to rebuild all plugins and apps!)
12763
12764 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12765
12766         * gst/gstbin.c: (bin_bus_handler):
12767           Make default message forwarding from child->bus to bin->bus
12768           threadsafe and make it not emit warnings if the parent has no bus.
12769
12770 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12771
12772         * gst/gstelement.c: (activate_pads):
12773           On paused->ready, set pad->caps to NULL, as is the documented
12774           behaviour in this state change. Fixes playback of series of
12775           media files when visualization is enabled in Totem.
12776
12777 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12778
12779         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12780           Allow NULL as filter-caps (which means "any").
12781
12782 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12783
12784         * docs/libs/gstreamer-libs-sections.txt:
12785         * libs/gst/controller/gst-controller.c:
12786         * libs/gst/controller/gst-controller.h:
12787         * libs/gst/controller/gst-helper.c:
12788           adding more entries to the docs and fix small doc-bugs
12789
12790 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12791
12792         * docs/gst/gstreamer-docs.sgml:
12793         * docs/gst/gstreamer-sections.txt:
12794         * docs/gst/gstreamer.types:
12795         * docs/gst/tmpl/gstbasesink.sgml:
12796         * docs/gst/tmpl/gstbasesrc.sgml:
12797         * docs/gst/tmpl/gstbasetransform.sgml:
12798         * docs/gst/tmpl/gstfakesrc.sgml:
12799         * gst/base/gstcollectpads.c:
12800         * gst/base/gstcollectpads.h:
12801         * libs/gst/controller/gst-controller.c:
12802         * libs/gst/controller/gst-controller.h:
12803         * libs/gst/controller/gst-helper.c:
12804         * libs/gst/controller/gst-interpolation.c:
12805         * libs/gst/controller/lib.c:
12806           added long/short desc for controller docs
12807           added collectpads base class docs
12808           added correct includes to base-class docs
12809
12810 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12811
12812         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
12813         (gst_test_mono_source_set_property),
12814         (gst_test_mono_source_class_init), (GST_START_TEST),
12815         (gst_controller_suite):
12816         * docs/gst/gstreamer-docs.sgml:
12817         * docs/gst/gstreamer-sections.txt:
12818         * docs/gst/gstreamer.types:
12819         * docs/libs/gstreamer-libs-docs.sgml:
12820         * docs/libs/gstreamer-libs-sections.txt:
12821         * gst/base/gstadapter.c:
12822         * libs/gst/controller/gst-controller.c:
12823         (gst_controlled_property_new), (gst_controlled_property_free),
12824         (gst_controller_new_valist),
12825         (gst_controller_remove_properties_valist),
12826         (gst_controller_sink_values), (_gst_controller_finalize):
12827         * libs/gst/controller/gst-controller.h:
12828         * libs/gst/controller/gst-helper.c:
12829         (gst_object_control_properties), (gst_object_uncontrol_properties),
12830         (gst_object_get_controller), (gst_object_set_controller),
12831         (gst_object_sink_values), (gst_object_get_value_arrays),
12832         (gst_object_get_value_array):
12833           more tests (and fixes) for the controller
12834           more docs for the controller
12835           integrated companies docs for the adapter 
12836
12837 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
12838
12839         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
12840         (GST_START_TEST), (fakesrc_suite):
12841           add tests for sizetype
12842
12843 2005-08-04  Andy Wingo  <wingo@pobox.com>
12844
12845         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
12846         fixes buffer_alloc proxying among other things.
12847
12848         * gst/base/gstbasetransform.c:
12849         * gst/base/gstbasetransform.h:
12850         Revert patch to gstbasetransform from 7-28 removing
12851         delay_configure.
12852
12853         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
12854         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
12855         Semantics changed, should return not the size of the output buffer
12856         but the byte size of a buffer with a given caps.
12857
12858         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
12859         debug object.
12860         (gst_base_transform_configure_caps): Don't set out_size here: (in,
12861         out) are not the pad caps until setcaps finishes.
12862         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
12863         not-in-place case as well. Deal with changing from in-place to
12864         not-in-place within calling pad_alloc_buffer. Still a bit
12865         concerned about the overhead here...
12866
12867 2005-08-03  Andy Wingo  <wingo@pobox.com>
12868
12869         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
12870         fixating is an error.
12871
12872 2005-08-04  Edward Hervey  <edward@fluendo.com>
12873
12874         * gst/base/gstadapter.h: 
12875         Added gst_adapter_get_type() to the header
12876
12877 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12878
12879         * check/Makefile.am:
12880         * check/gst-libs/controller.c:
12881         * libs/gst/controller/gst-controller.c:
12882         (gst_controller_new_valist):
12883           added check test suite for the controller
12884         * gst/base/gstpushsrc.c:
12885           fixed a doc typo
12886
12887 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12888
12889         * docs/gst/Makefile.am:
12890         * docs/gst/gstreamer-docs.sgml:
12891         * docs/gst/gstreamer-sections.txt:
12892         * docs/gst/gstreamer.types:
12893         * docs/gst/tmpl/gstfakesrc.sgml:
12894         * gst/base/README:
12895         * gst/base/gstbasesink.c:
12896         * gst/base/gstbasesink.h:
12897         * gst/base/gstbasesrc.c:
12898         * gst/base/gstbasesrc.h:
12899         * gst/base/gstbasetransform.c:
12900         * gst/base/gstpushsrc.c:
12901         * gst/base/gstpushsrc.h:
12902           add short/long description docs to base classes
12903           add pushsrc to the docs
12904           remove consolidated doc fragments
12905
12906 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
12907
12908         * configure.ac:
12909         * docs/libs/Makefile.am:
12910         * docs/libs/gstreamer-libs-docs.sgml:
12911         * docs/libs/gstreamer-libs-sections.txt:
12912         * docs/libs/gstreamer-libs.types:
12913         * examples/Makefile.am:
12914         * examples/controller/.cvsignore:
12915         * examples/controller/Makefile.am:
12916         * examples/controller/audio-example.c: (main):
12917         * libs/gst/Makefile.am:
12918         * libs/gst/controller/.cvsignore:
12919         * libs/gst/controller/Makefile.am:
12920         * libs/gst/controller/gst-controller.c:
12921         (on_object_controlled_property_changed), (gst_timed_value_compare),
12922         (gst_timed_value_find),
12923         (gst_controlled_property_set_interpolation_mode),
12924         (gst_controlled_property_new), (gst_controlled_property_free),
12925         (gst_controller_find_controlled_property),
12926         (gst_controller_new_valist), (gst_controller_new),
12927         (gst_controller_remove_properties_valist),
12928         (gst_controller_remove_properties), (gst_controller_set),
12929         (gst_controller_set_from_list), (gst_controller_unset),
12930         (gst_controller_get), (gst_controller_get_all),
12931         (gst_controller_sink_values), (gst_controller_get_value_arrays),
12932         (gst_controller_get_value_array),
12933         (gst_controller_set_interpolation_mode),
12934         (_gst_controller_finalize), (_gst_controller_init),
12935         (_gst_controller_class_init), (gst_controller_get_type):
12936         * libs/gst/controller/gst-controller.h:
12937         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
12938         (g_object_uncontrol_properties), (g_object_get_controller),
12939         (g_object_set_controller), (g_object_sink_values),
12940         (g_object_get_value_arrays), (g_object_get_value_array):
12941         * libs/gst/controller/gst-interpolation.c:
12942         (gst_controlled_property_find_timed_value_node),
12943         (interpolate_none_get), (interpolate_trigger_get),
12944         (interpolate_trigger_get_value_array):
12945         * libs/gst/controller/lib.c: (gst_controller_init):
12946         * pkgconfig/Makefile.am:
12947         * pkgconfig/gstreamer-control-uninstalled.pc.in:
12948         * pkgconfig/gstreamer-control.pc.in:
12949         * testsuite/Makefile.am:
12950         * testsuite/controller/.cvsignore:
12951         * testsuite/controller/Makefile.am:
12952         * testsuite/controller/interpolator.c: (main):
12953           added controller code
12954           removed dparam pc files
12955
12956 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12957         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
12958         (gst_collectpads_stop):
12959           Broadcast the condition when shutting down, to make sure we wake all
12960           threads up. Shut down pads on finalize, for safety.
12961
12962 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
12963         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12964         (gst_base_transform_handle_buffer),
12965         (gst_base_transform_change_state):
12966           Handle PAUSED->READY->PAUSED transition after negotiation
12967           occurred already.
12968         * gst/gstmessage.c: (gst_message_init):
12969           Extra piece of debug for new messages.
12970
12971 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
12972
12973         * configure.ac:
12974         * docs/gst/tmpl/gstbasesrc.sgml:
12975         * docs/gst/tmpl/gstelement.sgml:
12976         * docs/gst/tmpl/gstevent.sgml:
12977         * docs/gst/tmpl/gstfakesrc.sgml:
12978         * docs/gst/tmpl/gstformat.sgml:
12979         * docs/gst/tmpl/gstghostpad.sgml:
12980         * docs/gst/tmpl/gstpad.sgml:
12981         * docs/gst/tmpl/gstquery.sgml:
12982         * docs/gst/tmpl/gststructure.sgml:
12983         * docs/gst/tmpl/gsttaglist.sgml:
12984         * docs/gst/tmpl/gstvalue.sgml:
12985         * docs/libs/gstreamer-libs-docs.sgml:
12986         * docs/libs/gstreamer-libs-sections.txt:
12987         * docs/libs/gstreamer-libs.types:
12988         * libs/gst/Makefile.am:
12989         * libs/gst/control/.cvsignore:
12990         * libs/gst/control/Makefile.am:
12991         * libs/gst/control/control.c:
12992         * libs/gst/control/control.h:
12993         * libs/gst/control/dparam.c:
12994         * libs/gst/control/dparam.h:
12995         * libs/gst/control/dparam_smooth.c:
12996         * libs/gst/control/dparam_smooth.h:
12997         * libs/gst/control/dparamcommon.h:
12998         * libs/gst/control/dparammanager.c:
12999         * libs/gst/control/dparammanager.h:
13000         * libs/gst/control/dplinearinterp.c:
13001         * libs/gst/control/dplinearinterp.h:
13002         * libs/gst/control/unitconvert.c:
13003         * libs/gst/control/unitconvert.h:
13004         * testsuite/Makefile.am:
13005         * testsuite/dynparams/.cvsignore:
13006         * testsuite/dynparams/Makefile.am:
13007         * testsuite/dynparams/dparamstest.c:
13008         * tools/Makefile.am:
13009         * tools/gst-inspect.c: (print_element_info), (main):
13010         * tools/gst-xmlinspect.c: (print_element_info), (main):
13011           deactivate and remove dparams (libgstcontrol)
13012
13013 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13014
13015         * gst/elements/gsttypefindelement.c:
13016         (gst_type_find_element_have_type), (gst_type_find_element_init),
13017         (stop_typefinding), (gst_type_find_element_handle_event),
13018         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13019         * gst/elements/gsttypefindelement.h:
13020           Set caps on all outgoing buffers, not just the first one.
13021
13022 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13023
13024         * gst/elements/gsttypefindelement.c:
13025         (gst_type_find_element_have_type),
13026         (gst_type_find_element_check_set_buffer_caps),
13027         (gst_type_find_element_init), (stop_typefinding),
13028         (gst_type_find_element_handle_event),
13029         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13030         * gst/elements/gsttypefindelement.h:
13031           Set caps on first outgoing buffer when we've found the type.
13032
13033 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13034
13035         * docs/gst/gstreamer-docs.sgml:
13036         * docs/gst/gstreamer-sections.txt:
13037         * docs/gst/tmpl/gstscheduler.sgml:
13038         * docs/gst/tmpl/gstschedulerfactory.sgml:
13039           Remove some old cruft from docs.
13040
13041 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
13042
13043         * gst/gstpad.h:
13044           Fix inline docs for GstPadLinkReturn.
13045           
13046         * gst/gststructure.c: (gst_structure_has_name):
13047         * gst/gststructure.h:
13048         * docs/gst/gstreamer-sections.txt:
13049           New API: gst_structure_has_name().
13050
13051 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
13052
13053         * configure.ac:
13054           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13055           and _LARGEFILE_SOURCE in config.h as required. Do not 
13056           export those flags in our .pc files any longer (#142209).
13057
13058           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13059
13060         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13061         (gst_file_sink_do_seek), (gst_file_sink_event),
13062         (gst_file_sink_get_current_offset), (gst_file_sink_render):
13063           Redo seek/tell calls with large file support in mind; add some
13064           debugging messages; add log message that tells us when large
13065           file support is unavailable or not enabled for some reason.
13066
13067         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13068           Add log message that tells us when large file support 
13069           is unavailable or not enabled for some reason.
13070
13071 2005-07-29  Wim Taymans  <wim@fluendo.com>
13072
13073         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13074         Added test for removing an element with ghostpad from a bin.
13075         Fixed test as current implementation does the right thing.
13076
13077         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13078         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13079         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13080         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13081         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13082         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13083         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13084         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13085         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13086         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13087         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13088         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13089         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13090         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13091         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13092         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13093         * gst/gstghostpad.h:
13094         Clean up ghostpads, remove properties for internal stuff.
13095         Make threadsafe.
13096         Fix refcounting.
13097         Prepare for switching targets, not all use cases work yet.
13098
13099 2005-07-29  Wim Taymans  <wim@fluendo.com>
13100
13101         * docs/design/part-gstghostpad.txt:
13102         Small update.
13103
13104         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13105         (gst_bin_remove_func):
13106         Unlinking pads while holding the bin LOCK is not a good
13107         idea.
13108
13109         * gst/gstpad.c: (gst_pad_class_init),
13110         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13111         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13112         No prob setting template after creating the pad.
13113
13114 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
13115
13116         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13117         (gst_bus_peek), (gst_bus_source_dispatch),
13118         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13119         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13120           gst_bus_poll may be called from other threads. Handle
13121           this nicely by not making poll_data disappear off the
13122           stack once gst_bus_poll returns.
13123           gst_bus_peek now increments the refcount on the returned
13124           message.
13125
13126 2005-07-29  Wim Taymans  <wim@fluendo.com>
13127
13128         * docs/design/part-gstghostpad.txt:
13129         Overview of current GhostPad datastructures and use
13130         cases for changing the target.
13131
13132 2005-07-28  Wim Taymans  <wim@fluendo.com>
13133
13134         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13135         Added checks for hierarchy consistency whan adding linked
13136         elements to bins.
13137
13138         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13139         Added check to test element scheduling without bin/pipeline.
13140
13141         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13142         First add elements to bin, then link.
13143         
13144         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13145         (gst_bin_remove_func):
13146         Unlink pads from elements added/removed from bin to maintain
13147         hierarchy consistency.
13148
13149 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13150
13151         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13152         (gst_base_transform_handle_buffer):
13153         * gst/base/gstbasetransform.h:
13154           Remove broken delay_configure (fixes renegotiation of software
13155           scaling pipelines); remove some leftover printf()s.
13156
13157 2005-07-28  Wim Taymans  <wim@fluendo.com>
13158
13159         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13160         Added some more tests for wrong hierarchy
13161
13162         * docs/design/part-overview.txt:
13163         Some updates.
13164
13165         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13166         Cleanups.
13167
13168         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13169         (gst_element_dispose):
13170         Some more cleanups.
13171
13172         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13173         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13174         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13175         (gst_pad_set_caps), (gst_pad_send_event):
13176         Check for correct hierarchy when linking pads. Moving to
13177         strict requirement for ghostpads when linking elements in
13178         different bins.
13179
13180         * gst/gstpad.h:
13181         Clean ups. Added WRONG_HIERARCHY return value.
13182
13183 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13184
13185         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13186           Better debug if no transform is possible.
13187
13188 2005-07-27  Wim Taymans  <wim@fluendo.com>
13189
13190         * docs/random/wtay/network-transp:
13191         Some old doc I had.
13192
13193 2005-07-27  Wim Taymans  <wim@fluendo.com>
13194
13195         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13196         (gst_dp_event_from_packet):
13197         Fix serialization of seek events.
13198
13199 2005-07-27  Wim Taymans  <wim@fluendo.com>
13200
13201         * check/gst-libs/gdp.c: (GST_START_TEST):
13202         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13203         Fix compilation and fix event serialization.
13204
13205 2005-07-27  Wim Taymans  <wim@fluendo.com>
13206
13207         * CHANGES-0.9:
13208         * docs/design/part-TODO.txt:
13209         * docs/design/part-events.txt:
13210         Some docs updates
13211
13212         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13213         (gst_base_sink_event), (gst_base_sink_do_sync),
13214         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13215         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13216         (gst_base_src_do_seek), (gst_base_src_event_handler),
13217         (gst_base_src_loop):
13218         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13219         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13220         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13221         (gst_base_transform_event), (gst_base_transform_handle_buffer),
13222         (gst_base_transform_set_passthrough),
13223         (gst_base_transform_is_passthrough):
13224         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13225         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13226         Event updates.
13227
13228         * gst/gstbuffer.h:
13229         Use faster casts.
13230
13231         * gst/gstelement.c: (gst_element_seek):
13232         * gst/gstelement.h:
13233         Update gst_element_seek.
13234
13235         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13236         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13237         (gst_event_new_flush_start), (gst_event_new_flush_stop),
13238         (gst_event_new_eos), (gst_event_new_newsegment),
13239         (gst_event_parse_newsegment), (gst_event_new_tag),
13240         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13241         (gst_event_parse_qos), (gst_event_new_seek),
13242         (gst_event_parse_seek), (gst_event_new_navigation):
13243         * gst/gstevent.h:
13244         Make GstEvent use GstStructure. Add parsing code, make sure the
13245         API is sufficiently generic.
13246         Mark possible directions of events and serialization.
13247
13248         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13249         (_gst_message_copy), (gst_message_new_segment_start),
13250         (gst_message_new_segment_done), (gst_message_new_custom),
13251         (gst_message_parse_segment_start),
13252         (gst_message_parse_segment_done):
13253         Small cleanups.
13254
13255         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13256         (gst_pad_set_caps), (gst_pad_send_event):
13257         Update for new events. 
13258         Catch events sent in wrong directions.
13259
13260         * gst/gstqueue.c: (gst_queue_link_src),
13261         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13262         (gst_queue_handle_src_query):
13263         Event updates.
13264
13265         * gst/gsttag.c:
13266         * gst/gsttag.h:
13267         Remove event code from this file.
13268
13269         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13270         (gst_dp_event_from_packet):
13271         Event updates.
13272
13273 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13274
13275         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13276         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13277         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13278           Make debugging actually useful.
13279
13280 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13281
13282         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13283         (gst_pad_fixate_caps):
13284           Implement default fixation once again, so that gst_pad_fixate()
13285           actually does anything at all. This probably needs to be some
13286           sort of a last resort, and use profile-based fixation first, but
13287           since that doesn't exist yet, this is the best we have. Fixes
13288           visualization in Totem.
13289
13290 2005-07-22  Wim Taymans  <wim@fluendo.com>
13291
13292         * docs/design/part-events.txt:
13293         Small update.
13294
13295         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13296         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13297         (gst_base_sink_activate_pull):
13298         Some more comments.
13299
13300         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13301         (gst_fake_src_create):
13302         Fix handoff marshall.
13303
13304         * gst/elements/gstidentity.c: (gst_identity_class_init),
13305         (gst_identity_transform_ip):
13306         We're a real inplace element.
13307
13308         * gst/gstbus.c: (gst_bus_post):
13309         Added some comments.
13310
13311         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13312         * tests/muxing/case1.c: (main):
13313         * tests/sched/dynamic-pipeline.c: (main):
13314         * tests/sched/interrupt1.c: (main):
13315         * tests/sched/interrupt2.c: (main):
13316         * tests/sched/interrupt3.c: (main):
13317         * tests/sched/runxml.c: (main):
13318         * tests/sched/sched-stress.c: (main):
13319         * tests/seeking/seeking1.c: (event_received), (main):
13320         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13321         (main):
13322         * tests/threadstate/threadstate3.c: (main):
13323         * tests/threadstate/threadstate4.c: (main):
13324         * tests/threadstate/threadstate5.c: (main):
13325         Fix the tests.
13326
13327 2005-07-21  Wim Taymans  <wim@fluendo.com>
13328
13329         * docs/design/part-seeking.txt:
13330         Some small additions.
13331
13332         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13333         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13334         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13335         * gst/base/gstbasesink.h:
13336         discont values are gint64, handle the math correctly.
13337
13338         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13339         Make the basesrc report error if the source pad is not linked.
13340
13341         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13342         (gst_queue_loop), (gst_queue_handle_src_query),
13343         (gst_queue_src_activate_push):
13344         Make queue collect data even if the srcpad is not linked.
13345         Start pushing out data as soon as it is linked.
13346
13347         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13348         * gst/gstutils.h:
13349         Added gst_flow_get_name() to ease error reporting.
13350
13351 2005-07-20  Wim Taymans  <wim@fluendo.com>
13352
13353         * gst/gstmessage.c: (gst_message_new_segment_start),
13354         (gst_message_new_segment_done), (gst_message_parse_segment_start),
13355         (gst_message_parse_segment_done):
13356         * gst/gstmessage.h:
13357         Added a bunch of messages for advanced seeking.
13358
13359         * gst/parse/grammar.y:
13360         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13361         (gst_dpman_state_changed):
13362         Fix some new-pad -> pad-added signals
13363
13364 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13365
13366         * docs/manual/appendix-porting.xml:
13367         * docs/pwg/appendix-porting.xml:
13368           Document new-pad/state-change signal renames and the FixedList
13369           type rename.
13370
13371 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13372
13373         * docs/manual/advanced-autoplugging.xml:
13374         * docs/manual/basics-helloworld.xml:
13375         * docs/manual/basics-pads.xml:
13376         * docs/random/ds/0.9-suggested-changes:
13377         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13378         * gst/gstelement.h:
13379         * gst/gstevent.h:
13380         * gst/gstformat.h:
13381         * gst/gstquery.h:
13382         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13383         (gst_structure_parse_array), (gst_structure_parse_value):
13384         * gst/gstvalue.c: (gst_type_is_fixed),
13385         (gst_value_list_prepend_value), (gst_value_list_append_value),
13386         (gst_value_list_get_size), (gst_value_list_get_value),
13387         (gst_value_transform_array_string), (gst_value_serialize_array),
13388         (gst_value_deserialize_array), (gst_value_intersect_array),
13389         (gst_value_is_fixed), (_gst_value_initialize):
13390         * gst/gstvalue.h:
13391           GstElement::new-pad -> pad-added, GstElement::state-change ->
13392           state-changed, GstValueFixedList -> GstValueArray, add format and
13393           flags as their own arguments in gst_element_seek() (should improve
13394           "bindeability"), remove function generators since they don't work
13395           under a whole bunch of compilers (they were deprecated already
13396           anyway).
13397
13398 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13399
13400         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13401         (_gst_debug_register_funcptr):
13402         * gst/gstinfo.h:
13403           Fix illegal cast on some platforms (#309253).
13404
13405 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13406
13407         * gst/gstmessage.c: (gst_message_new_custom):
13408         * gst/gstmessage.h:
13409           Add _new_custom, make _new_application a macro to _new_custom.
13410
13411 2005-07-20  Wim Taymans  <wim@fluendo.com>
13412
13413         * gst/base/gstbasesrc.c: (gst_base_src_init),
13414         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13415         * gst/base/gstbasesrc.h:
13416         Add a gboolean to decide when to push out a discont.
13417
13418         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13419         (gst_queue_loop), (gst_queue_handle_src_query),
13420         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13421         (gst_queue_set_property), (gst_queue_get_property):
13422         Some cleanups.
13423
13424         * tests/threadstate/threadstate1.c: (main):
13425         Make a thread test compile and run... very silly..
13426
13427
13428 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13429
13430         * docs/manual/appendix-porting.xml:
13431           Mention removal of libgstgconf-0.9.la and existence of gconf
13432           elements.
13433
13434 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13435
13436         * docs/pwg/advanced-clock.xml:
13437         * docs/pwg/appendix-porting.xml:
13438         * docs/pwg/intro-preface.xml:
13439         * docs/pwg/other-base.xml:
13440         * docs/pwg/other-manager.xml:
13441         * docs/pwg/other-nton.xml:
13442         * docs/pwg/other-ntoone.xml:
13443         * docs/pwg/other-oneton.xml:
13444         * docs/pwg/pwg.xml:
13445           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13446           demuxer), remove n-to-n (was never written), fix some code examples
13447           and links and update the porting section to include all this.
13448
13449 2005-07-19  Wim Taymans  <wim@fluendo.com>
13450
13451         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13452         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13453         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13454         (gst_queue_src_activate_push), (gst_queue_change_state),
13455         (gst_queue_get_property):
13456         * gst/gstqueue.h:
13457         Propagate GstFlowReturn more intelligently upstream and output
13458         an ERROR/EOS when streaming stopped due to fatal error.
13459
13460 2005-07-19  Wim Taymans  <wim@fluendo.com>
13461
13462         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13463         Don't block forever for the state change to complete, the
13464         pipeline already did with a sensible timeout.
13465
13466 2005-07-19  Wim Taymans  <wim@fluendo.com>
13467
13468         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13469         Make sure we never call the create function is we
13470         got deactivated.
13471
13472 2005-07-19  Andy Wingo  <wingo@pobox.com>
13473
13474         * gst/parse/parse.l: Attempt to solve bug #172815.
13475
13476 2005-07-19  Wim Taymans  <wim@fluendo.com>
13477
13478         * docs/design/part-clocks.txt:
13479         * docs/design/part-events.txt:
13480         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13481         Small docs updates.
13482         Only update the seeking values when we are not
13483         busy streaming.
13484
13485 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13486
13487         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13488           Oops, ignore the result of gst_pad_push_event here.
13489
13490 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13491
13492         * gst/base/gstbasesrc.c: (gst_base_src_loop),
13493         (gst_base_src_activate_push):
13494           Send discont event from the loop function, as pads
13495           aren't activated yet in the activate_push handler.
13496
13497         * gst/gstbin.c: (bin_bus_handler):
13498           Don't leak element name.
13499
13500 2005-07-18  Andy Wingo  <wingo@pobox.com>
13501
13502         * configure.ac: Use AS_LIBTOOL_TAGS.
13503
13504 2005-07-18  Wim Taymans  <wim@fluendo.com>
13505
13506         * docs/gst/gstreamer.types:
13507         Remove deleted types.
13508
13509 2005-07-18  Wim Taymans  <wim@fluendo.com>
13510
13511         * check/elements/gstfakesrc.c: (GST_START_TEST):
13512         * configure.ac:
13513         * gst/Makefile.am:
13514         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13515         (init_popt_callback):
13516         * gst/gst.h:
13517         * gst/gst_private.h:
13518         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13519         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13520         * gst/gstbin.h:
13521         * gst/gstbus.h:
13522         * gst/gstconfig.h.in:
13523         * gst/gstelement.c: (gst_element_class_init),
13524         (gst_element_set_base_time), (gst_element_get_base_time),
13525         (iterator_fold_with_resync), (gst_element_change_state),
13526         (gst_element_dispose), (gst_element_get_bus):
13527         * gst/gstelement.h:
13528         * gst/gstelementfactory.h:
13529         * gst/gsterror.c: (_gst_core_errors_init):
13530         * gst/gsterror.h:
13531         * gst/gstevent.h:
13532         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13533         * gst/gstindex.c:
13534         * gst/gstinfo.c: (_gst_debug_init):
13535         * gst/gstmessage.c: (_gst_message_copy):
13536         * gst/gstmessage.h:
13537         * gst/gstminiobject.h:
13538         * gst/gstobject.c:
13539         * gst/gstobject.h:
13540         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13541         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13542         * gst/gstpad.h:
13543         * gst/gstparse.h:
13544         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13545         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13546         (gst_pipeline_get_last_stream_time):
13547         * gst/gstpipeline.h:
13548         * gst/gstpluginfeature.h:
13549         * gst/gstquery.h:
13550         * gst/gstscheduler.c:
13551         * gst/gstscheduler.h:
13552         * gst/gststructure.h:
13553         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13554         (gst_task_finalize), (gst_task_func), (gst_task_create),
13555         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
13556         (gst_task_stop), (gst_task_pause):
13557         * gst/gsttask.h:
13558         * gst/gsttypefind.h:
13559         * gst/gsttypes.h:
13560         * gst/registries/gstlibxmlregistry.c: (load_feature),
13561         (gst_xml_registry_load), (gst_xml_registry_save_feature):
13562         * gst/registries/gstxmlregistry.c:
13563         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
13564         * gst/schedulers/threadscheduler.c:
13565         * libs/gst/control/dparammanager.h:
13566         * tools/gst-inspect.c: (print_element_list),
13567         (print_plugin_features), (print_element_features):
13568         * tools/gst-xmlinspect.c: (print_element_list),
13569         (print_plugin_info), (main):
13570         Removed plugable schedulers.
13571         Removed Scheduler/Manager from elements.
13572         Removed gsttypes.h, rearranged includes.
13573         Removed dependency pad<->element, element<>pipeline, and
13574         various others,  fix includes.
13575         implement gst_pad_get_parent() with gst_object_get_parent()
13576         Make GstTask sefcontained.
13577         Fix _get_state() on GstBin, it did not return ASYNC with a 0
13578         timeout.
13579         Fix endless loop in iterator_fold_with_resync.
13580
13581
13582 2005-07-18  Wim Taymans  <wim@fluendo.com>
13583
13584         * gst/Makefile.am:
13585         * gst/gstarch.h:
13586         Remove old file.
13587
13588 2005-07-18  Wim Taymans  <wim@fluendo.com>
13589
13590         * gst/Makefile.am:
13591         No more cothreads.h
13592
13593 2005-07-18  Wim Taymans  <wim@fluendo.com>
13594
13595         * gst/cothreads.c:
13596         * gst/cothreads.h:
13597         Let's remove these.
13598
13599 2005-07-18  Wim Taymans  <wim@fluendo.com>
13600
13601         * docs/design/part-dynamic.txt:
13602         * docs/design/part-events.txt:
13603         * docs/design/part-seeking.txt:
13604         Some more docs in the works.
13605
13606         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13607         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
13608         (gst_base_transform_setcaps), (gst_base_transform_get_size),
13609         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13610         (gst_base_transform_handle_buffer),
13611         (gst_base_transform_sink_activate_push),
13612         (gst_base_transform_src_activate_pull),
13613         (gst_base_transform_set_passthrough),
13614         (gst_base_transform_is_passthrough):
13615         Refcounting fixes.
13616
13617         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
13618         Cleanups.
13619
13620         * gst/gstevent.c: (gst_event_finalize):
13621         Set SRC to NULL.
13622
13623         * gst/gstutils.c: (gst_element_unlink),
13624         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
13625         (gst_pad_proxy_setcaps):
13626         * gst/gstutils.h:
13627         Add _get_parent_element() to get a pads parent as an element.
13628
13629 2005-07-18  Wim Taymans  <wim@fluendo.com>
13630
13631         * check/gst/gstbin.c: (GST_START_TEST):
13632         Remove bogus test.
13633
13634 2005-07-18  Wim Taymans  <wim@fluendo.com>
13635
13636         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13637         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13638         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13639         (gst_base_sink_event), (gst_base_sink_do_sync),
13640         (gst_base_sink_chain), (gst_base_sink_loop),
13641         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
13642         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13643         Refcounting fixes.
13644         Fix logic for returning ASYNC when not prerolled.
13645
13646 2005-07-18  Wim Taymans  <wim@fluendo.com>
13647
13648         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13649         Fix nasty refcount bug.
13650
13651 2005-07-16 Philippe Khalaf <burger@speedy.org>
13652
13653         * gst/elements/gstfdsrc.c:
13654         * gst/elements/gstfdsrc.h:
13655         * gst/elements/gstelements.c:
13656         * gst/elements/Makefile.am:
13657         Ported fdsrc to 0.9.
13658
13659 2005-07-16  Wim Taymans  <wim@fluendo.com>
13660
13661         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13662         (gst_base_sink_do_sync):
13663         Fix compile error.
13664
13665 2005-07-16  Wim Taymans  <wim@fluendo.com>
13666
13667         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13668         (gst_base_sink_event), (gst_base_sink_get_times),
13669         (gst_base_sink_do_sync), (gst_base_sink_change_state):
13670         * gst/base/gstbasesink.h:
13671         Store and use discont values when syncing buffers as described
13672         in design docs.
13673         
13674         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13675         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
13676         (gst_base_src_activate_push):
13677         Push discont event when starting.
13678
13679         * gst/elements/gstidentity.c: (gst_identity_transform):
13680         Small cleanups.
13681
13682         * gst/gstbin.c: (gst_bin_change_state):
13683         Small cleanups in base_time  distribution.
13684
13685         * gst/gstelement.c: (gst_element_set_base_time),
13686         (gst_element_get_base_time), (gst_element_change_state):
13687         * gst/gstelement.h:
13688         Added methods for the base_time of the element.
13689         Some MT fixes.
13690
13691         * gst/gstpipeline.c: (gst_pipeline_send_event),
13692         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13693         (gst_pipeline_get_last_stream_time):
13694         * gst/gstpipeline.h:
13695         MT fixes.
13696         Handle seeking as described in design doc, remove stream_time
13697         hack.
13698         Cleanups clock and stream_time selection code. Added accessors
13699         for the stream_time.
13700         
13701
13702 2005-07-16  Andy Wingo  <wingo@pobox.com>
13703
13704         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
13705         (#305291).
13706
13707 2005-07-16  Wim Taymans  <wim@fluendo.com>
13708
13709         * check/gst/gstbin.c: (GST_START_TEST):
13710         Make elements silent as the deep_notify refs the
13711         parent, which might make the test fail.
13712
13713         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13714         Don't hold the lock for too long.
13715
13716 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
13717
13718         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13719           Don't unref the caps we passed to gst_caps_make_writable() after
13720           passing them. gst_caps_make_writable() will do that for us.
13721
13722 2005-07-15  Andy Wingo  <wingo@pobox.com>
13723
13724         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
13725         (#157311).
13726
13727         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
13728         own marshalling function for the handoff signal. Properly type the
13729         buffer as a buffer. Fixes some warnings. Should do a more general
13730         solution.
13731         (gst_identity_class_init): Plug into the right marshaller.
13732
13733 2005-07-15  Wim Taymans  <wim@fluendo.com>
13734
13735         * docs/design/part-TODO.txt:
13736         * docs/design/part-clocks.txt:
13737         * docs/design/part-element-sink.txt:
13738         * docs/design/part-events.txt:
13739         * docs/design/part-gstpipeline.txt:
13740         Updated docs, mostly DISCONT related.
13741
13742 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
13743
13744         * docs/pwg/building-pads.xml:
13745           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
13746
13747 2005-07-15  Andy Wingo  <wingo@pobox.com>
13748
13749         * tools/gst-typefind.c: Update, add copyright block.
13750
13751         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
13752         Normalize and truncate caps before fixation.
13753
13754         * gst/gstcaps.h:
13755         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
13756         discards all but the first structure from its argument.
13757
13758 2005-07-15  Wim Taymans  <wim@fluendo.com>
13759
13760         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13761         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
13762         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13763         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13764         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
13765         (gst_base_transform_chain), (gst_base_transform_change_state),
13766         (gst_base_transform_set_passthrough),
13767         (gst_base_transform_is_passthrough):
13768         * gst/base/gstbasetransform.h:
13769         Make passthrough work using the bufferpools.
13770         Changed API a bit, subclasses have to write into a buffer
13771         provided by the base class.
13772         More debug info in nego functions.
13773         
13774         * gst/elements/gstidentity.c: (gst_identity_init),
13775         (gst_identity_transform):
13776         Port to new base class.
13777
13778 2005-07-15  Wim Taymans  <wim@fluendo.com>
13779
13780         * gst/gstmessage.c: (gst_message_new_state_changed):
13781         * tools/gst-launch.c: (event_loop), (main):
13782         Totally dump messages in -launch with the -m option.
13783         Fix message name for State messages,
13784
13785 2005-07-14  Wim Taymans  <wim@fluendo.com>
13786
13787         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13788         Post error messages on errors.
13789
13790 2005-07-14  Wim Taymans  <wim@fluendo.com>
13791
13792         * gst/gstcaps.c: (gst_caps_do_simplify):
13793         Remove debug info.
13794
13795         * gst/gsterror.h:
13796         Define error for stream stopped.
13797
13798         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13799         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
13800         Do proper return values.
13801
13802         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13803         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
13804         (gst_pad_get_range):
13805         Better return values.
13806
13807         * gst/gstpad.h:
13808         Reorganise return values, add macro to check for fatal errors.
13809
13810         * gst/gstqueue.c: (gst_queue_chain):
13811         Return proper GstFlowReturn values,
13812
13813 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
13814
13815         * docs/gst/gstreamer-sections.txt:
13816         * docs/gst/gstreamer.types:
13817         * docs/gst/tmpl/gst.sgml:
13818         * docs/gst/tmpl/gstbasesink.sgml:
13819         * docs/gst/tmpl/gstbasesrc.sgml:
13820         * docs/gst/tmpl/gstbasetransform.sgml:
13821         * docs/gst/tmpl/gstbin.sgml:
13822         * docs/gst/tmpl/gstbuffer.sgml:
13823         * docs/gst/tmpl/gstcaps.sgml:
13824         * docs/gst/tmpl/gstclock.sgml:
13825         * docs/gst/tmpl/gstcompat.sgml:
13826         * docs/gst/tmpl/gstconfig.sgml:
13827         * docs/gst/tmpl/gstelement.sgml:
13828         * docs/gst/tmpl/gstelementdetails.sgml:
13829         * docs/gst/tmpl/gstelementfactory.sgml:
13830         * docs/gst/tmpl/gstenumtypes.sgml:
13831         * docs/gst/tmpl/gsterror.sgml:
13832         * docs/gst/tmpl/gstevent.sgml:
13833         * docs/gst/tmpl/gstfakesink.sgml:
13834         * docs/gst/tmpl/gstfakesrc.sgml:
13835         * docs/gst/tmpl/gstfilesink.sgml:
13836         * docs/gst/tmpl/gstfilesrc.sgml:
13837         * docs/gst/tmpl/gstfilter.sgml:
13838         * docs/gst/tmpl/gstformat.sgml:
13839         * docs/gst/tmpl/gstghostpad.sgml:
13840         * docs/gst/tmpl/gstimplementsinterface.sgml:
13841         * docs/gst/tmpl/gstindex.sgml:
13842         * docs/gst/tmpl/gstindexfactory.sgml:
13843         * docs/gst/tmpl/gstinfo.sgml:
13844         * docs/gst/tmpl/gstiterator.sgml:
13845         * docs/gst/tmpl/gstmacros.sgml:
13846         * docs/gst/tmpl/gstmemchunk.sgml:
13847         * docs/gst/tmpl/gstminiobject.sgml:
13848         * docs/gst/tmpl/gstobject.sgml:
13849         * docs/gst/tmpl/gstpad.sgml:
13850         * docs/gst/tmpl/gstpadtemplate.sgml:
13851         * docs/gst/tmpl/gstparse.sgml:
13852         * docs/gst/tmpl/gstpipeline.sgml:
13853         * docs/gst/tmpl/gstplugin.sgml:
13854         * docs/gst/tmpl/gstpluginfeature.sgml:
13855         * docs/gst/tmpl/gstquery.sgml:
13856         * docs/gst/tmpl/gstqueue.sgml:
13857         * docs/gst/tmpl/gstregistry.sgml:
13858         * docs/gst/tmpl/gstregistrypool.sgml:
13859         * docs/gst/tmpl/gstscheduler.sgml:
13860         * docs/gst/tmpl/gstschedulerfactory.sgml:
13861         * docs/gst/tmpl/gststructure.sgml:
13862         * docs/gst/tmpl/gstsystemclock.sgml:
13863         * docs/gst/tmpl/gsttaglist.sgml:
13864         * docs/gst/tmpl/gsttagsetter.sgml:
13865         * docs/gst/tmpl/gsttrace.sgml:
13866         * docs/gst/tmpl/gsttrashstack.sgml:
13867         * docs/gst/tmpl/gsttypefind.sgml:
13868         * docs/gst/tmpl/gsttypefindfactory.sgml:
13869         * docs/gst/tmpl/gsttypes.sgml:
13870         * docs/gst/tmpl/gsturihandler.sgml:
13871         * docs/gst/tmpl/gsturitype.sgml:
13872         * docs/gst/tmpl/gstutils.sgml:
13873         * docs/gst/tmpl/gstvalue.sgml:
13874         * docs/gst/tmpl/gstversion.sgml:
13875         * docs/gst/tmpl/gstxml.sgml:
13876         * docs/libs/tmpl/gstcontrol.sgml:
13877         * docs/libs/tmpl/gstdataprotocol.sgml:
13878         * docs/libs/tmpl/gstdparam.sgml:
13879         * docs/libs/tmpl/gstdplinint.sgml:
13880         * docs/libs/tmpl/gstdpman.sgml:
13881         * docs/libs/tmpl/gstdpsmooth.sgml:
13882         * docs/libs/tmpl/gstgetbits.sgml:
13883         * docs/libs/tmpl/gstunitconvert.sgml:
13884         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
13885         (gst_push_src_base_init), (gst_push_src_class_init),
13886         (gst_push_src_init), (gst_push_src_create):
13887         * gst/base/gstpushsrc.h:
13888         * gst/elements/gstelements.c:
13889         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
13890         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
13891         (gst_fake_sink_init), (gst_fake_sink_set_property),
13892         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
13893         (gst_fake_sink_event), (gst_fake_sink_preroll),
13894         (gst_fake_sink_render), (gst_fake_sink_change_state):
13895         * gst/elements/gstfakesink.h:
13896         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
13897         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
13898         (gst_fake_src_base_init), (gst_fake_src_class_init),
13899         (gst_fake_src_init), (gst_fake_src_event_handler),
13900         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
13901         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
13902         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
13903         (gst_fake_src_create_buffer), (gst_fake_src_create),
13904         (gst_fake_src_start), (gst_fake_src_stop):
13905         * gst/elements/gstfakesrc.h:
13906         * gst/elements/gstfilesink.c: (_do_init),
13907         (gst_file_sink_base_init), (gst_file_sink_class_init),
13908         (gst_file_sink_init), (gst_file_sink_dispose),
13909         (gst_file_sink_set_location), (gst_file_sink_set_property),
13910         (gst_file_sink_get_property), (gst_file_sink_open_file),
13911         (gst_file_sink_close_file), (gst_file_sink_query),
13912         (gst_file_sink_event), (gst_file_sink_render),
13913         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
13914         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
13915         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
13916         * gst/elements/gstfilesink.h:
13917         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
13918         (gst_file_src_class_init), (gst_file_src_init),
13919         (gst_file_src_finalize), (gst_file_src_set_location),
13920         (gst_file_src_set_property), (gst_file_src_get_property),
13921         (gst_file_src_map_region), (gst_file_src_map_small_region),
13922         (gst_file_src_create_mmap), (gst_file_src_create_read),
13923         (gst_file_src_create), (gst_file_src_is_seekable),
13924         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
13925         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
13926         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
13927         (gst_file_src_uri_handler_init):
13928         * gst/elements/gstfilesrc.h:
13929           more autistic cleanliness in functions/names/defines
13930
13931 2005-07-13  Andy Wingo  <wingo@pobox.com>
13932
13933         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
13934         source couldn't negotiate.
13935
13936         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
13937         connections again.
13938
13939         * gst/gstutils.h:
13940         * gst/gstutils.c (gst_element_link_pads_filtered): New old
13941         function. I am channeling Hades. Put your boots on suckers!!!
13942
13943 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13944
13945         * testsuite/caps/Makefile.am:
13946         * testsuite/caps/value_compare.c:
13947         * testsuite/caps/value_intersect.c:
13948         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
13949           move two testsuite apps over to the check dir
13950
13951 2005-07-12  Wim Taymans  <wim@fluendo.com>
13952
13953         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13954         Added more debug info in the negotiate process.
13955
13956         * gst/gstmessage.h:
13957         Prepare for segment playback.
13958
13959         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
13960         Better debugging.
13961
13962         * gst/gstutils.c:
13963         Some more docs.
13964
13965         * tools/gst-launch.c: (main):
13966         NULL pipeline on errors.
13967
13968 2005-07-12  Andy Wingo  <wingo@pobox.com>
13969
13970         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
13971         not it comes from a malloc region. Make sure our copy gets freed.
13972
13973 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13974
13975         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13976         * check/gst/gstmessage.c: (GST_START_TEST):
13977         * check/gst/gststructure.c: (GST_START_TEST),
13978         (gst_structure_suite), (main):
13979           more testing
13980         * gst/gstelement.c: (gst_element_message_full):
13981           clean up GError and debug string now that they get copied
13982         * gst/gstmessage.c: (gst_message_new_error),
13983         (gst_message_new_warning), (gst_message_parse_error),
13984         (gst_message_parse_warning):
13985           use GST_TYPE_G_ERROR for structure_new, and take copies of
13986           arguments, so that we don't mess up refcounting
13987
13988 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13989
13990         * check/Makefile.am:
13991           add per-test valgrind targets
13992         * check/gst-libs/gdp.c: (GST_START_TEST),
13993         (gst_data_protocol_suite), (main):
13994           clean up
13995
13996 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
13997
13998         * check/Makefile.am:
13999           instate more valgrindable tests
14000         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14001         (GST_START_TEST), (fakesrc_suite):
14002         * check/gst/gstpad.c: (GST_START_TEST):
14003         * check/gst/gststructure.c: (GST_START_TEST):
14004           fix test leaks
14005         * docs/gst/tmpl/gstminiobject.sgml:
14006         * gst/gstpad.c: (gst_pad_finalize):
14007           fix the static mutex leak
14008
14009 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14010
14011         * check/Makefile.am:
14012           add two more tests for valgrinding
14013         * check/gst/gstvalue.c: (GST_START_TEST):
14014           test refcount of deserialized buffer, found a leak
14015         * docs/gst/gstreamer-docs.sgml:
14016         * docs/gst/gstreamer-sections.txt:
14017         * docs/gst/gstreamer.types:
14018         * docs/gst/tmpl/gstminiobject.sgml:
14019           add miniobject to docs
14020         * gst/gstminiobject.c:
14021           add some docs
14022         * gst/gstvalue.c: (gst_value_deserialize_buffer),
14023         (gst_string_unwrap):
14024           fix a hard-to-find invalid write for one of the tests
14025           fix a leak for deserialized buffers
14026
14027 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14028
14029         * docs/pwg/advanced-events.xml:
14030         * docs/pwg/advanced-request.xml:
14031         * docs/pwg/advanced-scheduling.xml:
14032         * docs/pwg/appendix-porting.xml:
14033         * docs/pwg/building-boiler.xml:
14034         * docs/pwg/intro-preface.xml:
14035         * docs/pwg/other-ntoone.xml:
14036           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14037           of example code and explanation for pad activation, loop() and
14038           getrange() functions and a bit more. Remove old comments pointing
14039           to loop-functions.
14040         * examples/pwg/Makefile.am:
14041           Add loop/getrange examples.
14042
14043 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14044
14045         * configure.ac:
14046           check for valgrind binary + some fixes
14047         * check/gst.supp:
14048           valgrind suppressions for the tests
14049         * check/Makefile.am:
14050           add a valgrind: target that valgrinds the unit tests
14051         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14052         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14053         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14054         * check/gst/gstghostpad.c:
14055           added some cleanup
14056         * check/gst/gstdata.c:
14057           removed
14058         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14059         (thread_unref), (gst_mini_object_suite), (main):
14060           added
14061         * gst/gst.c: (gst_deinit):
14062         * gst/gst.h:
14063           add a method to clean up.
14064         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14065         (gst_system_clock_obtain):
14066           allow for disposing the system clock.
14067         * tools/gst-launch.c: (main):
14068           deinit
14069
14070 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14071
14072         * docs/gst/tmpl/gstbasesrc.sgml:
14073         * docs/gst/tmpl/gstfakesrc.sgml:
14074         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14075         (gst_base_src_init), (gst_base_src_set_property),
14076         (gst_base_src_get_property), (gst_base_src_get_range),
14077         (gst_base_src_start):
14078         * gst/base/gstbasesrc.h:
14079           add num-buffers property
14080         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14081         (gst_fakesrc_init), (gst_fakesrc_set_property),
14082         (gst_fakesrc_get_property), (gst_fakesrc_create),
14083         (gst_fakesrc_start):
14084           remove num-buffers property
14085
14086 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14087
14088         * docs/gst/gstreamer-sections.txt:
14089         * docs/gst/tmpl/gstbasesink.sgml:
14090         * docs/gst/tmpl/gstbasesrc.sgml:
14091         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14092         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14093         (gst_base_sink_finalize), (gst_base_sink_set_clock),
14094         (gst_base_sink_set_property), (gst_base_sink_get_property),
14095         (gst_base_sink_handle_object), (gst_base_sink_event),
14096         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14097         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14098         (gst_base_sink_loop), (gst_base_sink_deactivate),
14099         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14100         (gst_base_sink_change_state):
14101         * gst/base/gstbasesink.h:
14102         * gst/base/gstbasesrc.h:
14103         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14104         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14105         (gst_filesink_init):
14106           more macro splitting
14107
14108 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14109
14110         * gst/gstelement.c: (gst_element_get_bus):
14111           add debug
14112         * tools/gst-launch.c: (check_intr), (event_loop):
14113           fix bus leaks
14114
14115 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14116
14117         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14118           fix a caps leak
14119
14120 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14121
14122         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14123         (gst_base_src_finalize):
14124           add finalize method and clean up properly
14125         * gst/gstpipeline.c: (gst_pipeline_dispose):
14126           add debug
14127
14128 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14129
14130         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14131         (gst_bin_suite):
14132           add more things to check
14133         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14134         * gst/gstelement.c:
14135           more debug
14136
14137 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14138
14139         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14140         (GST_START_TEST), (fakesrc_suite):
14141         * check/gst-libs/gdp.c: (GST_START_TEST):
14142         * check/gst/gst.c: (GST_START_TEST):
14143         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14144         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14145         * check/gst/gstbus.c: (GST_START_TEST):
14146         * check/gst/gstcaps.c: (GST_START_TEST):
14147         * check/gst/gstdata.c: (GST_START_TEST):
14148         * check/gst/gstelement.c: (GST_START_TEST):
14149         * check/gst/gstghostpad.c: (GST_START_TEST):
14150         * check/gst/gstiterator.c: (GST_START_TEST):
14151         * check/gst/gstmessage.c: (GST_START_TEST):
14152         * check/gst/gstobject.c: (GST_START_TEST):
14153         * check/gst/gstpad.c: (GST_START_TEST):
14154         * check/gst/gststructure.c: (GST_START_TEST):
14155         * check/gst/gstsystemclock.c: (GST_START_TEST),
14156         (gst_systemclock_suite):
14157         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14158         * check/gst/gstvalue.c: (GST_START_TEST):
14159         * check/pipelines/cleanup.c: (GST_START_TEST):
14160         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14161         * check/states/sinks.c: (GST_START_TEST):
14162         * check/gstcheck.c: (gst_check_init):
14163         * check/gstcheck.h:
14164           add debugging category
14165           use GST_START_TEST now, so we add a debug line
14166
14167 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14168
14169         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14170           add test for state change message on a bin
14171         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14172           add another test
14173         * gst/gstbin.c: (gst_bin_init):
14174         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14175         * gst/gstelement.c: (gst_element_post_message),
14176         (gst_element_set_state):
14177         * gst/gstelementfactory.c: (gst_element_factory_create):
14178         * gst/gstmessage.c: (gst_message_new):
14179         * gst/gstscheduler.c:
14180           various debugging additions and cleanups
14181
14182 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14183
14184         * check/Makefile.am:
14185         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14186         (main):
14187           adding tests for elements
14188         * gst/gstelement.c: (gst_element_dispose):
14189
14190 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14191
14192         * gst/registries/gstlibxmlregistry.c: (load_feature):
14193           plug more leaks.  A simple gst_init() now is leakfree, yay.
14194
14195 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14196
14197         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14198         (gst_xml_registry_load):
14199           plug another memleak
14200
14201 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14202
14203         * configure.ac:
14204           use GST_SET_ERROR_CFLAGS
14205         * docs/faq/cvs.xml:
14206           change to ERROR_CFLAGS
14207
14208 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14209
14210         * configure.ac:
14211           make GST_ERROR_CFLAGS overridable and re-enable Werror
14212         * docs/faq/cvs.xml:
14213           add a note about error CFLAGS
14214         * docs/gst/tmpl/gstfakesrc.sgml:
14215         * gst/elements/gstfakesrc.c:
14216           comment out some unused code
14217         * gst/gst.c: (split_and_iterate):
14218         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14219         (load_feature):
14220           plug some memleaks
14221
14222 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14223
14224         * common/Makefile.am:
14225         * common/gtk-doc.mak:
14226         * docs/gst/Makefile.am:
14227           factor out gtk-doc.mak
14228
14229 2005-07-07  Wim Taymans  <wim@fluendo.com>
14230
14231         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14232         (gst_thread_scheduler_dispose):
14233         Unlock the STREAM_LOCK completely.
14234
14235 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14236
14237         * check/Makefile.am:
14238         * check/elements/.cvsignore:
14239         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14240         (START_TEST), (fakesrc_suite), (main):
14241         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14242         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14243         (gst_fakesrc_create), (gst_fakesrc_start):
14244         * gst/elements/gstfakesrc.h:
14245           adding a first element test
14246
14247 2005-07-07  Andy Wingo  <wingo@pobox.com>
14248
14249         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14250         debug message.
14251
14252 2005-07-07  Wim Taymans  <wim@fluendo.com>
14253
14254         * gst/gstquery.c:
14255         * gst/gstquery.h:
14256         Remove old types
14257
14258 2005-07-07  Wim Taymans  <wim@fluendo.com>
14259
14260         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14261         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14262         Allow subclasses to implement their own negotiation.
14263
14264 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14265
14266         * docs/design/part-gstbin.txt:
14267         * docs/design/part-gstpipeline.txt:
14268           Update design notes to reflect the movement of
14269           responsibility for bus handling from GstPipeline to
14270           GstBin
14271
14272 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14273
14274         * configure.ac:
14275           Remove unnecessary queue2/3/4 examples.
14276
14277 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14278
14279         * examples/Makefile.am:
14280         * examples/helloworld/helloworld.c: (event_loop), (main):
14281         * examples/queue/queue.c: (event_loop), (main):
14282         * examples/queue2/queue2.c: (main):
14283           Update a couple of the examples to work again.
14284
14285         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14286         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14287          Spelling corrections and extra debug.
14288         
14289         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14290         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14291         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14292         * gst/gstbin.h:
14293         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14294         (gst_pipeline_change_state):
14295         * gst/gstpipeline.h:
14296           Move the bus handler for children to the GstBin, and create a
14297           separate bus for receiving messages from children to the one the
14298           bus sends 'upwards' on.
14299
14300 2005-07-06  Wim Taymans  <wim@fluendo.com>
14301
14302         * gst/base/README:
14303         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14304         (gst_base_sink_handle_object), (gst_base_sink_loop),
14305         (gst_base_sink_change_state):
14306         * gst/base/gstbasesink.h:
14307         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14308         (gst_base_src_init), (gst_base_src_setcaps),
14309         (gst_base_src_getcaps), (gst_base_src_loop),
14310         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14311         (gst_base_src_start), (gst_base_src_change_state):
14312         * gst/base/gstbasesrc.h:
14313         Make basesrc negotiate.
14314         Handle the case where preroll fails in basesink.
14315         Update README.
14316
14317 2005-07-06  Wim Taymans  <wim@fluendo.com>
14318
14319         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14320         Implement the fixate function.
14321         Clean up acceptcaps.
14322
14323 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14324
14325         * docs/pwg/building-filterfactory.xml:
14326         * docs/pwg/pwg.xml:
14327           Remove never-written filter-factory chapter; I'll add the various
14328           base classes to part 4 ("other element types") later on.
14329
14330 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14331
14332         * docs/pwg/advanced-negotiation.xml:
14333         * docs/pwg/building-boiler.xml:
14334         * docs/pwg/building-pads.xml:
14335         * docs/pwg/pwg.xml:
14336         * examples/pwg/Makefile.am:
14337           Add a chapter on caps negotiation, simplify the original code
14338           samples a bit w.r.t. caps negotiation, add link to the advanced
14339           section. Add a bunch of examples showing different use cases of
14340           different types of caps negotiation. Upstream renegotiation isn't
14341           fully documented yet since nobody knows how that works.
14342
14343 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14344
14345         * check/gst/gstpad.c:
14346         * check/gstcheck.c:
14347         * gst/gstpad.c: (gst_pad_get_internal_links_default):
14348           if pad has no parent, return NULL as list of internal links
14349
14350 2005-07-05  Andy Wingo  <wingo@pobox.com>
14351
14352         * gst/elements/gstfilesrc.c:
14353         * gst/elements/gstfakesrc.c: 
14354         * gst/base/gstpushsrc.c:
14355         * gst/base/gstbasesrc.h: 
14356         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14357         
14358 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
14359
14360         * Makefile.am:
14361           better report generation target (lcov needs a patch)
14362
14363 2005-07-05  Andy Wingo  <wingo@pobox.com>
14364
14365         * gst/elements, testsuite: Null if we got it...
14366
14367 2005-07-05  Wim Taymans  <wim@fluendo.com>
14368
14369         * configure.ac:
14370         * libs/gst/dataprotocol/Makefile.am:
14371         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14372         * libs/gst/dataprotocol/dataprotocol.h:
14373         * pkgconfig/Makefile.am:
14374         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14375         * pkgconfig/gstreamer-dataprotocol.pc.in:
14376         Ported dataprotol to 0.9. 
14377         Added pkgconfig files.
14378
14379 2005-07-05  Andy Wingo  <wingo@pobox.com>
14380
14381         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14382         Default to returning TRUE for the case when tranform_caps returns
14383         a fixed caps, like for identity or volume.
14384
14385         * check/gst/gstbus.c (pound_bus_with_messages): 
14386         * check/gst/gstmessage.c (START_TEST): 
14387         * check/pipelines/simple_launch_lines.c (got_handoff): Application
14388         message API change.
14389
14390         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14391         logic weaks here: always run transform_caps, trying passthrough
14392         operation only if the original caps intersects with the transform.
14393
14394         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14395         source and sink caps.
14396
14397         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14398         Intersect the peer caps with the pad template before going into
14399         transform_caps.
14400         (gst_base_transform_transform_caps): More debugging.
14401
14402         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14403         src argument.
14404
14405 2005-07-04  Edward Hervey  <edward@fluendo.com>
14406
14407         * gst/gstutils.c:
14408         * gst/gstutils.h:
14409         (gst_pad_add_*_probe): now returns the signal id for better wrapping
14410         in bindings.
14411
14412 2005-07-04  Andy Wingo  <wingo@pobox.com>
14413
14414         * check/gst/gstpad.c: Only set explicit caps on pads.
14415
14416 2005-07-01  Andy Wingo  <wingo@pobox.com>
14417
14418         * tests/network-clock.scm: Commentary update.
14419
14420         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14421         Didn't really make sense, not implementable with basetransform,
14422         etc.
14423         (gst_identity_transform): Unref inbuf via make_writable. Feeble
14424         attempt at implementing the sync property, needs an unlock method.
14425
14426         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14427         New func, by default returns the same caps (the identity
14428         transformation).
14429         (gst_base_transform_getcaps): Uses transform_caps to return
14430         something sensible.
14431         (gst_base_transform_setcaps): Complicated logic to get caps on
14432         both pads, even if they are different, and to call set_caps once
14433         for every time both pads get their caps set.
14434         (gst_base_transform_handle_buffer): Give the ref to the transform
14435         function. Allows in-place modification of the buffer.
14436
14437         * gst/base/gstbasetransform.h (transform_caps): New class method.
14438         Given caps on one side, what can I do on the other.
14439         (set_caps): Take two caps, one for each side of the element.
14440
14441         * gst/gstpad.h:
14442         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14443         caps in place. This is safe because we can check the mutability of
14444         the caps, and a good idea because fixate functions are just called
14445         as a matter of last resort. (Not actually implemented.)
14446         (gst_pad_set_caps): If the caps we're setting is actually the same
14447         as the existing pad caps, just update the pointer without calling
14448         setcaps. Assert that caps is either NULL or fixed, as per the
14449         docs.
14450
14451         * gst/gstghostpad.c: Update for fixate changes.
14452
14453 2005-07-02  Andy Wingo  <wingo@pobox.com>
14454
14455         * gst/gstcaps.c:
14456         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14457         two refcounts makes it immutable, which is enough. Doc more.
14458
14459 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
14460
14461         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14462           Put the mini_object into GValue as a mini_object,
14463           not a gpointer, since that's how we declared
14464           the signal.
14465
14466 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14467
14468         * examples/pwg/Makefile.am:
14469           Fix buildbot again.
14470
14471 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14472
14473         * docs/pwg/building-testapp.xml:
14474           Add extra check.
14475         * examples/pwg/Makefile.am:
14476           Fix buildbot.
14477
14478 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14479
14480         * configure.ac:
14481         * examples/Makefile.am:
14482         * examples/pwg/Makefile.am:
14483         * examples/pwg/extract.pl:
14484           Enable building the PWG examples.
14485         * docs/pwg/advanced-interfaces.xml:
14486           Add URI interface stub.
14487         * docs/pwg/advanced-types.xml:
14488         * docs/pwg/other-autoplugger.xml:
14489         * docs/pwg/appendix-porting.xml:
14490         * docs/pwg/pwg.xml:
14491           Add porting guide (mostly stubs), remove autoplugging (see ADM).
14492         * docs/pwg/building-boiler.xml:
14493         * docs/pwg/building-chainfn.xml:
14494         * docs/pwg/building-pads.xml:
14495         * docs/pwg/building-props.xml:
14496         * docs/pwg/building-state.xml:
14497         * docs/pwg/building-testapp.xml:
14498           Update the building-*.xml parts for 0.9 changes. All examples
14499           code blocks compile in examples/pwg/*.
14500
14501 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14502
14503         * docs/manual/advanced-autoplugging.xml:
14504         * docs/manual/appendix-checklist.xml:
14505         * docs/manual/appendix-integration.xml:
14506         * docs/manual/highlevel-components.xml:
14507           Fix playbin/decodebin examples, update docs a bit, mention bus
14508           instead of signals in various places, mention kmplayer and
14509           kaffeine since they have a working GStreamer backend in the KDE
14510           section.
14511
14512 2005-06-30  Wim Taymans  <wim@fluendo.com>
14513
14514         * CHANGES-0.9:
14515         * docs/design/draft-ghostpads.txt:
14516         * docs/design/draft-push-pull.txt:
14517         * docs/design/draft-query.txt:
14518         * docs/design/part-TODO.txt:
14519         * docs/design/part-query.txt:
14520         Added CHANGES-0.9 doc, updated status of other docs.
14521         
14522         * gst/gstquery.h:
14523         Remove "hmm" macro
14524
14525 2005-06-30  Wim Taymans  <wim@fluendo.com>
14526
14527         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14528         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14529         (gst_base_sink_change_state):
14530         * gst/base/gstbasesink.h:
14531         Some tweaks, only EOS and a buffer complete a preroll.
14532
14533 2005-06-30  Andy Wingo  <wingo@pobox.com>
14534
14535         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14536         activate_push down to the internal pad as well.
14537
14538 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
14539
14540         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14541
14542         * gst/gsttaginterface.c:
14543           Some documentation fixes (#307394 and #307397).
14544
14545 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
14546
14547         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14548
14549         * gst/gstvalue.c: (gst_value_intersect_list):
14550           Fix memleak (#309125).
14551
14552 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14553
14554         * docs/manual/advanced-dataaccess.xml:
14555           Fix fakesrc example to compile; doesn't work, bug somewhere...?
14556         * docs/manual/basics-pads.xml:
14557           Add reference for filtered caps to above chapter.
14558
14559 2005-06-30  Wim Taymans  <wim@fluendo.com>
14560
14561         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
14562         (gst_bin_change_state):
14563         Probes are gone.
14564         Lame attempt at making the state change function a bit
14565         more readable.
14566
14567 2005-06-30  Wim Taymans  <wim@fluendo.com>
14568
14569         * docs/design/part-clocks.txt:
14570         * docs/design/part-element-sink.txt:
14571         * docs/design/part-events.txt:
14572         * docs/design/part-preroll.txt:
14573         * docs/design/part-states.txt:
14574         Some more tweeks and additions to the docs.
14575
14576 2005-06-30  Wim Taymans  <wim@fluendo.com>
14577
14578         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14579         (default_have_data), (gst_pad_class_init), (gst_pad_init),
14580         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14581         (gst_pad_check_pull_range), (gst_pad_get_range),
14582         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
14583         * gst/gstpad.h:
14584         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
14585         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14586         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14587         (gst_pad_remove_buffer_probe):
14588         Removed atomic operations, use existing LOCK.
14589         Move exception handling out of main code path.
14590
14591 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14592
14593         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14594         (silly_return_true_function), (gst_pad_class_init),
14595         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14596         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
14597         (gst_pad_send_event):
14598           Fix accumulator, add default value by using _emitv() instead
14599           of _emit() for signal emission.
14600
14601 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14602
14603         * docs/manual/advanced-dataaccess.xml:
14604         * examples/manual/Makefile.am:
14605           Add probe example.
14606         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
14607           Make work (??).
14608
14609 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
14610
14611         * gst/elements/gstfilesink.c: (gst_filesink_render):
14612           Simplify code so that we don't have to handle short
14613           writes and return GST_FLOW_ERROR if an error occured.
14614
14615 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14616
14617         * docs/gst/gstreamer-docs.sgml:
14618           Remove probes more.
14619
14620 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14621
14622         * docs/gst/gstreamer-sections.txt:
14623         * docs/gst/tmpl/gstpad.sgml:
14624         * docs/gst/tmpl/gstprobe.sgml:
14625         * gst/Makefile.am:
14626         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14627         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
14628         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14629         (gst_pad_push_event), (gst_pad_send_event):
14630         * gst/gstpad.h:
14631         * gst/gstutils.c: (gst_pad_add_data_probe),
14632         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14633         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14634         (gst_pad_remove_buffer_probe):
14635         * gst/gstutils.h:
14636           Remove old probes, add new g-signal-based probes and some utility
14637           functions.
14638
14639 2005-06-29  Edward Hervey  <edward@fluendo.com>
14640
14641         * gst/gstelementfactory.c:
14642         * gst/gstutils.h:
14643         * gst/gstutils.c:
14644         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
14645         the definition to the header file.
14646
14647 2005-06-29  Andy Wingo  <wingo@pobox.com>
14648
14649         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
14650         plugins from the source directory.
14651
14652 2005-06-29  Wim Taymans  <wim@fluendo.com>
14653
14654         * docs/gst/tmpl/gstbuffer.sgml:
14655         * docs/gst/tmpl/gstclock.sgml:
14656         Some fixings for blantently wrong text.
14657
14658 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14659
14660         * check/Makefile.am:
14661         * gst/gst.c: (add_path_func), (init_pre):
14662         * gst/gstregistry.c: (gst_registry_add_path):
14663           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
14664           only scan the GST_PLUGIN_PATH locations, and not add
14665           system locations
14666
14667 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14668
14669         * docs/gst/gstreamer-sections.txt:
14670         * docs/gst/tmpl/gstbasesrc.sgml:
14671         * gst/gstelement.c:
14672         * gst/gstelement.h:
14673         * gst/gstevent.c:
14674         * gst/gstutils.c:
14675           doc fixes
14676
14677 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14678
14679         * docs/manual/advanced-autoplugging.xml:
14680           Fix autoplugging example.
14681
14682 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14683
14684         * docs/manual/advanced-autoplugging.xml:
14685         * docs/manual/mime-world.fig:
14686           Try to get autoplugging working, fix type detection. Fix text
14687           in hello-world image.
14688
14689 2005-06-29  Wim Taymans  <wim@fluendo.com>
14690
14691         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14692         (gst_base_sink_change_state):
14693         Small debug line.
14694
14695         * gst/gstclock.h:
14696         map SIGNAL and BROADCAST to the right function.
14697
14698         * gst/gstobject.h:
14699         Remove redundant braces.
14700
14701         * gst/gstpad.c: (gst_pad_set_caps):
14702         Don't call setcaps function when reseting caps to NULL.
14703
14704         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14705         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
14706         (gst_system_clock_id_unschedule):
14707         Use BROADCAST as this is what we do.
14708
14709 2005-06-29  Wim Taymans  <wim@fluendo.com>
14710
14711         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14712         We are actually prerolling before commiting the state
14713         change. 
14714
14715 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14716
14717         * docs/manual/advanced-clocks.xml:
14718         * docs/manual/advanced-interfaces.xml:
14719         * docs/manual/advanced-metadata.xml:
14720         * docs/manual/advanced-position.xml:
14721         * docs/manual/advanced-schedulers.xml:
14722         * docs/manual/advanced-threads.xml:
14723         * docs/manual/appendix-porting.xml:
14724         * docs/manual/basics-bins.xml:
14725         * docs/manual/basics-bus.xml:
14726         * docs/manual/basics-elements.xml:
14727         * docs/manual/basics-helloworld.xml:
14728         * docs/manual/basics-pads.xml:
14729         * docs/manual/highlevel-components.xml:
14730         * docs/manual/manual.xml:
14731         * docs/manual/thread.fig:
14732           Update (until threads/scheduling) Application Development Manual;
14733           remove GstThread, add GstBus, add simple porting checklist, add
14734           documentation for tag writing, clocks, make all examples until this
14735           part compile and run.
14736         * examples/manual/Makefile.am:
14737           Update from changes to Application Development Manual; add bus
14738           example, remove thread example.
14739
14740 2005-06-28  Wim Taymans  <wim@fluendo.com>
14741
14742         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
14743         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
14744         (gst_bus_source_dispatch):
14745         Add debugging messages.
14746         Make internal methods static.
14747         Handle the case where the bus is flushed in the handler.
14748         
14749         * gst/gstelement.c: (gst_element_get_bus):
14750         Fix refcount in _get_bus();
14751
14752         * gst/gstpipeline.c: (gst_pipeline_change_state),
14753         (gst_pipeline_get_clock_func):
14754         Clock refcounting fixes.
14755         Handle the case where preroll timed out more gracefully.
14756         
14757         * gst/gstsystemclock.c: (gst_system_clock_dispose):
14758         Clean up the internal thread in dispose. This is needed
14759         for subclasses that actually get disposed.
14760         
14761         * gst/schedulers/threadscheduler.c:
14762         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14763         (gst_thread_scheduler_dispose):
14764         Free thread pool in dispose.
14765
14766 2005-06-28  Andy Wingo  <wingo@pobox.com>
14767
14768         * tests/network-clock-utils.scm (debug, print-event): New utils.
14769
14770         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
14771         (*packet-loss*): Unified loss probability.
14772         (network-time): Report out-of-band events.
14773
14774         * tests/plot-data: Add support for out-of-band events. Hack it
14775         into this script instead of passing it down the pipe; should fix
14776         this later.
14777
14778 2005-06-28  Wim Taymans  <wim@fluendo.com>
14779
14780         * docs/gst/gstreamer.types:
14781         * docs/gst/tmpl/gstbasesrc.sgml:
14782         * docs/gst/tmpl/gstpad.sgml:
14783         Docs fixes.
14784
14785 2005-06-28  Wim Taymans  <wim@fluendo.com>
14786
14787         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14788         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
14789         (gst_proxy_pad_do_fixatecaps):
14790         Correctly proxy the check_pull_range function.
14791
14792 2005-06-28  Andy Wingo  <wingo@pobox.com>
14793
14794         * tests/network-clock.scm: Removed need for slib.
14795         
14796 2005-06-28  Wim Taymans  <wim@fluendo.com>
14797
14798         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
14799         (gst_basesink_preroll_queue_flush):
14800         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
14801         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
14802         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14803         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14804         (gst_proxy_pad_set_property):
14805         * gst/gstpad.c:
14806         * gst/gstpad.h:
14807         * gst/gstqueue.c: (gst_queue_init):
14808         The deprecated pad loop function is removed now.
14809
14810 2005-06-28  Andy Wingo  <wingo@pobox.com>
14811
14812         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
14813         New parameters, simulate network packet loss.
14814
14815         * tests/network-clock-utils.scm: Initialize the RNG.
14816
14817 2005-06-28  Wim Taymans  <wim@fluendo.com>
14818
14819         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
14820         (gst_basesink_event), (gst_basesink_deactivate):
14821         Flushing the preroll queue always needs to unlock the waiters.
14822
14823 2005-06-28  Edward Hervey  <edward@fluendo.com>
14824
14825         * gst/gstpipeline.c: (gst_pipeline_send_event): 
14826         Wheen a seek was successful on a pipeline, set the stream_time to the
14827         seek offset in order to have a synchronized stream_time.
14828
14829 2005-06-28  Wim Taymans  <wim@fluendo.com>
14830
14831         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14832         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
14833         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
14834         (gst_proxy_pad_do_fixatecaps):
14835         Call wrapper function instead of just calling the function
14836         pointers. This takes care of any locking and whatmore.
14837
14838 2005-06-28  Wim Taymans  <wim@fluendo.com>
14839
14840         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
14841         (gst_pad_pull_range):
14842         * gst/gstpad.h:
14843         CONNECTED -> LINKED.
14844
14845 2005-06-28  Andy Wingo  <wingo@pobox.com>
14846
14847         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
14848         source-munging commit!!!
14849
14850         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
14851         (gst_object_sink): Take gpointer arguments, not GstObject --
14852         avoids casts. Like GLib.
14853
14854         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
14855         activate.
14856
14857 2005-06-27  Andy Wingo  <wingo@pobox.com>
14858
14859         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
14860         remaining buffer.
14861
14862         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
14863         returns a sorted copy of the trace list.
14864         (gst_alloc_trace_print_live): New API, only prints traces with
14865         live objects. Sort the list.
14866         (gst_alloc_trace_print_all): Sort the list.
14867         (gst_alloc_trace_print): Align columns.
14868
14869         * gst/elements/gstttypefindelement.c:
14870         * gst/elements/gsttee.c:
14871         * gst/base/gstbasesrc.c:
14872         * gst/base/gstbasesink.c:
14873         * gst/base/gstbasetransform.c:
14874         * gst/gstqueue.c: Adapt for pad activation changes.
14875
14876         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
14877         sched.
14878         (gst_pipeline_dispose): Drop ref on sched.
14879
14880         * gst/gstpad.c (gst_pad_init): Set the default activate func.
14881         (gst_pad_activate_default): Push mode by default.
14882         (pre_activate_switch, post_activate_switch): New stubs, things to
14883         do before and after switching activation modes on pads.
14884         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
14885         the pad's activate function to choose which mode to activate.
14886         Shortcut on deactivation and call the right function directly.
14887         (gst_pad_activate_pull): New API, (de)activates a pad in pull
14888         mode.
14889         (gst_pad_activate_push): New API, same for push mode.
14890         (gst_pad_set_activate_function) 
14891         (gst_pad_set_activatepull_function) 
14892         (gst_pad_set_activatepush_function): Setters for new API.
14893
14894         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
14895         Trace all miniobjects.
14896         (gst_mini_object_make_writable): Unref the arg if we copy, like
14897         gst_caps_make_writable.
14898
14899         * gst/gstmessage.c (_gst_message_initialize): No trace init.
14900
14901         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
14902         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
14903         Adapt for new pad API.
14904
14905         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
14906
14907         * gst/gstelement.h:
14908         * gst/gstelement.c (gst_element_iterate_src_pads) 
14909         (gst_element_iterate_sink_pads): New API functions.
14910         
14911         * gst/gstelement.c (iterator_fold_with_resync): New utility,
14912         should fold into gstiterator.c in some form.
14913         (gst_element_pads_activate): Simplified via use of fold and
14914         delegation of decisions to gstpad->activate.
14915
14916         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
14917         help in debugging.
14918
14919         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
14920         class once in init, like gstmessage. Didn't run into this issue
14921         but it seems correct. Don't initialize a trace, gstminiobject does
14922         that.
14923
14924         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
14925         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
14926         to the bus.
14927         (assert_live_count): New util function, uses alloc traces to check
14928         cleanup.
14929
14930         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
14931         To be modified when unlink drops the internal pad.
14932
14933 2005-06-27  Wim Taymans  <wim@fluendo.com>
14934
14935         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
14936         (gst_bin_change_state):
14937         Cleanup the get_state() function a little, make sure it
14938         iterates the same set of elements.
14939         Added stub iterate_state_order().
14940
14941 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
14942
14943         * docs/gst/gstreamer-docs.sgml:
14944         * docs/gst/gstreamer-sections.txt:
14945         * docs/gst/gstreamer.types:
14946         * docs/gst/tmpl/gstbasesink.sgml:
14947         * docs/gst/tmpl/gstbasesrc.sgml:
14948         * docs/gst/tmpl/gstbasetransform.sgml:
14949         * docs/gst/tmpl/gstelement.sgml:
14950         * docs/gst/tmpl/gstiterator.sgml:
14951         * gst/base/gstbasesrc.c:
14952         * gst/base/gstbasesrc.h:
14953         * gst/base/gstbasetransform.h:
14954         * gst/gstelement.c:
14955         * gst/gstiterator.h:
14956           adding basetransform and iterator docs
14957
14958 2005-06-27  Andy Wingo  <wingo@pobox.com>
14959
14960         * docs/design/part-activation.txt: Notes on how activation should
14961         work -- not quite implemented yet.
14962
14963 2005-06-25  Wim Taymans  <wim@fluendo.com>
14964
14965         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
14966         At least get the chain function correct, needs more
14967         fixing.
14968
14969 2005-06-25  Wim Taymans  <wim@fluendo.com>
14970
14971         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14972         (gst_basesink_handle_object), (gst_basesink_event),
14973         (gst_basesink_do_sync), (gst_basesink_handle_event),
14974         (gst_basesink_change_state):
14975         * gst/gsttask.h:
14976         Right, two problems here: ghostpads don't take locks and
14977         glib _rec_mutex_lock_full() with depth==0 still locks.
14978         Catch illegal locking and g_warn them.
14979
14980 2005-06-25  Wim Taymans  <wim@fluendo.com>
14981
14982         * check/states/sinks.c: (START_TEST), (gst_object_suite):
14983         Have to check for completion now...
14984
14985 2005-06-25  Wim Taymans  <wim@fluendo.com>
14986
14987         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
14988         (gst_basesink_handle_object), (gst_basesink_event),
14989         (gst_basesink_do_sync), (gst_basesink_handle_event),
14990         (gst_basesink_change_state):
14991         * gst/gstpad.h:
14992         Unlock STREAM_LOCK whatever the recursion was.
14993
14994 2005-06-25  Wim Taymans  <wim@fluendo.com>
14995
14996         * gst/base/gstbasesink.c: (gst_basesink_set_property),
14997         (gst_basesink_preroll_queue_empty),
14998         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
14999         (gst_basesink_event), (gst_basesink_do_sync),
15000         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
15001         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
15002         (gst_basesink_change_state):
15003         Reworked the base sink, handle event and buffer serialisation
15004         correctly and removed possible deadlock.
15005         Handle EOS correctly.
15006
15007 2005-06-25  Wim Taymans  <wim@fluendo.com>
15008
15009         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
15010         (gst_pipeline_change_state):
15011         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15012         Allow elements to post EOS in the state change function.
15013         Fix up -launch, make it exit the poll loop when the
15014         pipeline actually changed state.
15015         Fix up warning parsing in -launch.
15016
15017 2005-06-25  Wim Taymans  <wim@fluendo.com>
15018
15019         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15020         (gst_tee_sink_activate):
15021         Core takes STREAM_LOCK for us now.
15022
15023 2005-06-25  Wim Taymans  <wim@fluendo.com>
15024
15025         * gst/gstelement.c: (gst_element_get_state_func),
15026         (gst_element_set_state):
15027         * gst/gstelement.h:
15028         * gst/gstmessage.c: (gst_message_parse_error),
15029         (gst_message_parse_warning):
15030         Keep track of current target state while performing a state
15031         change so that subclasses can do something interesting.
15032         Fix parsing of warning/error messages when GError is NULL.
15033
15034 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15035
15036         * docs/gst/Makefile.am:
15037         * docs/gst/gstreamer-docs.sgml:
15038         * docs/gst/gstreamer-sections.txt:
15039         * docs/gst/gstreamer.types:
15040         * docs/gst/tmpl/gstbasesink.sgml:
15041         * docs/gst/tmpl/gstbasesrc.sgml:
15042         * docs/gst/tmpl/gstbin.sgml:
15043         * docs/gst/tmpl/gstcompat.sgml:
15044         * docs/gst/tmpl/gstfakesink.sgml:
15045         * docs/gst/tmpl/gstfakesrc.sgml:
15046         * docs/gst/tmpl/gstfilesink.sgml:
15047         * docs/gst/tmpl/gstfilesrc.sgml:
15048         * docs/gst/tmpl/gstindex.sgml:
15049         * docs/manual/appendix-quotes.xml:
15050         * gst/base/gstbasesrc.h:
15051         * gst/elements/gstfakesrc.h:
15052         * gst/gstmessage.h:
15053           start pulling in base classes and elements in our docs
15054
15055 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
15056
15057         * docs/gst/Makefile.am:
15058         * docs/libs/Makefile.am:
15059           fixed make distcheck with gtk-doc 1.3
15060
15061 2005-06-23  Wim Taymans  <wim@fluendo.com>
15062
15063         * gst/gstelement.c: (gst_element_get_state_func),
15064         (gst_element_set_state), (gst_element_change_state):
15065         When the state did not change, also report NO_PREROLL
15066         when it matters.
15067
15068 2005-06-23  Wim Taymans  <wim@fluendo.com>
15069
15070         * gst/gstpad.c: (gst_pad_event_default):
15071         * gst/gstqueue.c: (gst_queue_loop):
15072         No unsafe task pausing please.
15073
15074 2005-06-23  Wim Taymans  <wim@fluendo.com>
15075
15076         * gst/schedulers/threadscheduler.c:
15077         (gst_thread_scheduler_task_start),
15078         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15079         Ref the task before pushing it on the threadpool. This
15080         makes sure that we have a ref when the threadfunction is
15081         actually called.
15082
15083 2005-06-23  Andy Wingo  <wingo@pobox.com>
15084
15085         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15086         offset is greater than the file's size.
15087
15088         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
15089         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15090         * gst/gstobject.c (gst_object_class_init): Make the class lock
15091         recursive. Wim won't let me drop deep_notify. Decodebin works
15092         again, whoopdy doo.
15093
15094         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15095         internal pad, and hacks accordingly. Doesn't do it on the target
15096         pad because we change its caps. Probably catches all cases of
15097         interest tho.
15098         (gst_ghost_pad_set_property): Connect to notify::caps as
15099         appropritate.
15100
15101         * tests/network-clock.scm (plot-simulation): Pipe data to the
15102         elite python skript.
15103
15104         * tests/network-clock-utils.scm (define-parameter): New macro,
15105         defines a parameter that can be set via the command line.
15106         (set-parameter!, parse-parameter-arguments): Command line args
15107         parser.
15108
15109         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15110         stdin.
15111
15112 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15113
15114         * gst/elements/gsttypefindelement.c:
15115         (gst_type_find_element_handle_event):
15116           Don't restart typefinding on a discont.
15117         * gst/gstelement.c: (gst_element_set_state):
15118           Debug spelling fix.
15119         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15120           Allow changing mode of an active pad.
15121           Debug output fixes.
15122         * gst/registries/gstlibxmlregistry.c: (load_feature):
15123           Don't cast a static pad template to a normal pad template.
15124
15125 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15126
15127         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15128         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15129           remove gst_strtoll completely, since it didn't actually do
15130           anything more than what g_ascii_strtoull already does.
15131           check for range errors when deserializing
15132           do a cast for the unsigned cases; but further fixing needs
15133           a decision on what the interpretation of "(int)" and
15134           deserialization should be for values that fall outside the
15135           type's boundaries (ie, refuse, or interpret as casting)
15136
15137 2005-06-23  Wim Taymans  <wim@fluendo.com>
15138
15139         * check/Makefile.am:
15140         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15141         * docs/design/part-live-source.txt:
15142         * docs/design/part-states.txt:
15143         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15144         (gst_basesrc_set_live), (gst_basesrc_is_live),
15145         (gst_basesrc_get_range), (gst_basesrc_activate),
15146         (gst_basesrc_change_state):
15147         * gst/base/gstbasesrc.h:
15148         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15149         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15150         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15151         * gst/gstelement.c: (gst_element_get_state_func),
15152         (gst_element_set_state):
15153         * gst/gstelement.h:
15154         * gst/gsttypes.h:
15155         * tools/gst-launch.c: (event_loop), (main):
15156         Added support for live sources and other elements that
15157         cannot do preroll.
15158         Updated design docs, added live-source design doc.
15159         Implemented live source functionality in basesrc
15160         Fix error condition in _bin_get_state()
15161         Implement live source handling in -launch.
15162         Added check for live sources.
15163         Fixed case in GstBin where elements were changed state
15164         multiple times.
15165
15166
15167 2005-06-23  Andy Wingo  <wingo@pobox.com>
15168
15169         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15170         borken refcounting.
15171
15172         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15173         gst_caps_replace takes care of this for us.
15174
15175         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15176         gst_pad_set_caps on the target, not just its setcaps() function.
15177
15178         * tests/network-clock.scm: 
15179         * tests/network-clock-utils.scm: A network clock simulator.
15180         Something of an algorithmic testbed before doing something in C.
15181
15182 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15183
15184         * check/Makefile.am:
15185         * check/gst/capslist.h:
15186           copy over from 0.8, and add two with bitmasks specified with
15187           (int) 0xFF...
15188         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15189           add test to parse everything from capslist.h
15190         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15191         (main):
15192           add test for structure deserialization
15193         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15194           add tests for deserialization of strings to int types
15195         * gst/gststructure.c: (gst_structure_nth_field_name):
15196         * gst/gststructure.h:
15197           add a way to get the name of a field referenced by index
15198         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15199           instead of checking if the resulting long long lies between
15200           min and max, we check if the long long would fit into
15201           a number of bytes for the final type.
15202           This fixes cases where a string represents 2^32 - 1, which
15203           when cast to int would be the (valid) -1, but is bigger than
15204           G_MAXINT
15205
15206 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15207
15208         * gst/parse/grammar.y:
15209           add a log line for type deserialization
15210
15211 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15212
15213         * check/gst/gstvalue.c: (START_TEST):
15214         * gst/gstvalue.c: (gst_value_deserialize):
15215           return long long, not int, so gint64 deserialization actually
15216           works.  Is there any flag that makes the compiler check this ?
15217           Fixes #308559
15218
15219 2005-06-22  Wim Taymans  <wim@fluendo.com>
15220
15221         * gst/gstbuffer.h:
15222         Added convenience macros for setting buffers in GValue.
15223
15224 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15225
15226         * check/gst/.cvsignore:
15227         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15228           add a test deserializing int64, and comment part out because
15229           it fails, yay !
15230
15231 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15232
15233         * check/Makefile.am:
15234         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15235         * testsuite/Makefile.am:
15236         * testsuite/caps/Makefile.am:
15237         * testsuite/caps/value_serialize.c:
15238         * testsuite/test_gst_init.c:
15239           move a value_serialize test over
15240
15241 2005-06-20  Wim Taymans  <wim@fluendo.com>
15242
15243         * gst/gstpad.c:
15244         Small doc updates.
15245         
15246         * gst/gstvalue.c: (gst_value_compare_buffer),
15247         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15248         (gst_value_compare_flags), (gst_value_serialize_flags),
15249         (gst_value_deserialize_flags), (_gst_value_initialize):
15250         Fix serialisation of buffers, they are not boxed types anymore
15251
15252 2005-06-20  Wim Taymans  <wim@fluendo.com>
15253
15254         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15255         Testcase to show error in buffer-on-caps serialisation.
15256
15257 2005-06-20  Andy Wingo  <wingo@pobox.com>
15258
15259         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15260         will be adding to later.
15261
15262         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15263         if its socks fill with rocks.
15264         (gst_system_clock_obtain): Set the name on object construction.
15265         Avoid double-checked locking.
15266
15267 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
15268
15269         * gst/gsturi.c: (gst_element_make_from_uri):
15270           Fix potential endless loop.
15271
15272 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15273
15274         * check/Makefile.am:
15275           add gsttag
15276         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15277         (main):
15278           move over from testsuite dir and clean up
15279         * configure.ac:
15280         * gst/gsttag.c:
15281         * testsuite/Makefile.am:
15282         * testsuite/tags/.cvsignore:
15283         * testsuite/tags/Makefile.am:
15284         * testsuite/tags/merge.c:
15285           remove testsuite/tags
15286
15287 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15288
15289         * docs/gst/gstreamer-sections.txt:
15290         * docs/gst/tmpl/gstenumtypes.sgml:
15291         * win32/gstenumtypes.c:
15292           clean up documentation build a little
15293
15294 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15295
15296         * check/gstcheck.h:
15297           add macros for checking refcounts on objects and caps
15298         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15299           add some more unit tests
15300         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15301         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15302           fix leaked refcounts (I hope :)) so unittest works
15303         * gst/gstpad.h:
15304           whitespace removal
15305
15306 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15307
15308         * configure.ac: back to HEAD
15309
15310 === release 0.9.1 ===
15311
15312 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15313
15314         * NEWS:
15315         * RELEASE:
15316           updated
15317
15318 2005-06-17  Andy Wingo  <wingo@pobox.com>
15319
15320         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15321         assert; it's always possible that the pad gets deactivated in
15322         between the checks in gstpad.c and the implementation. Rely on
15323         finish_preroll() to return a FLUSHING or similar instead of on the
15324         assert.
15325         
15326         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15327         clock and post an EOS message if we come out of finish_preroll in
15328         the playing state.
15329
15330 2005-06-16  David Schleef  <ds@schleef.org>
15331
15332         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15333         (gst_capsfilter_set_property): Allow NULL as possible value
15334         for filter_caps property, indicating GST_CAPS_ANY.
15335
15336 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15337
15338         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15339           fix debug output
15340         * gst/schedulers/Makefile.am:
15341           use libgst prefix
15342         * gstreamer.spec.in:
15343           fix spec for it
15344
15345 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15346
15347         * gstreamer.spec.in:
15348           clean up
15349
15350 2005-06-08  Andy Wingo  <wingo@pobox.com>
15351
15352         * gst/gstutils.c: RPAD fixes all around.
15353         (gst_element_link_pads): Refcounting fixes.
15354
15355         * tools/gst-inspect.c:
15356         * tools/gst-xmlinspect.c:
15357         * parse/grammar.y:
15358         * gst/base/gsttypefindhelper.c:
15359         * gst/base/gstbasesink.c:
15360         * gst/gstqueue.c: RPAD fixes.
15361
15362         * gst/gstghostpad.h:
15363         * gst/gstghostpad.c: New ghost pad implementation as full proxy
15364         pads. The tricky thing is they provide both source and sink
15365         interfaces, since they proxy the internal pad for the external
15366         pad, and vice versa. Implement with lower-level ProxyPad objects,
15367         with the interior proxy pad as a child of the exterior ghost pad.
15368         Should write a doc on this.
15369         
15370         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15371         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15372         gst_object API.
15373         
15374         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15375         pads are real pads. No ghost pads in this file. Not documenting
15376         the myriad s/RPAD/PAD/ and REALIZE fixes.
15377         (gst_pad_class_init): Add properties for "direction" and
15378         "template". Both are construct-only, so they can't change during
15379         the life of the pad. Fixes properly deriving from GstPad.
15380         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15381         derived objects, just set properties when creating the objects via
15382         g_object_new.
15383         (gst_pad_get_parent): Implement as a function, return NULL if the
15384         parent is not an element.
15385         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15386         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15387         
15388         * gst/gstobject.c (gst_object_class_init): Make name a construct
15389         property. Don't set it in the object init.
15390
15391         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15392         with UNKNOWN direction.
15393         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15394         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15395         (gst_element_remove_pad): Remove ghost-pad special cases.
15396         (gst_element_pads_activate): Remove rpad cruft.
15397
15398         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15399         catch the pad's-parent-not-an-element case.
15400
15401         * gst/gst.h: Include gstghostpad.h.
15402
15403         * gst/gst.c (init_post): No more real, ghost pads.
15404
15405         * gst/Makefile.am: Add gstghostpad.[ch].
15406
15407         * check/Makefile.am:
15408         * check/gst/gstbin.c:
15409         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15410         into a bin creates ghost pads, and that the refcounts are right.
15411         Partly moved from gstbin.c.
15412
15413 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15414
15415         * check/gst-libs/.cvsignore:
15416         * check/gst/.cvsignore:
15417         * check/pipelines/.cvsignore:
15418           ignore more
15419         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15420         (START_TEST), (cleanup_suite), (main):
15421           add some tests related to cleanup after running pipelines
15422
15423 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15424
15425         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15426           add a testsuite for GstBuffer
15427
15428 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15429
15430         * gst/gstminiobject.h:
15431           add defines for accessing the refcount
15432
15433 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
15434
15435         * Makefile.am: added support for html unit test coverage reports
15436
15437 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
15438
15439         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15440           Free existing caps if the capsfilter changes. Add a FIXME about
15441           setting those caps on the pads.
15442
15443         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15444           Before adding a ghost pad to a parent bin, check that there isn't
15445           already one for the element on the bin. Prevents infinite recursion
15446           when using decodebin in parse pipelines. Andy says he'll rewrite the
15447           way this works anyway, so ignore the hack.
15448
15449 2005-06-02  Andy Wingo  <wingo@pobox.com>
15450
15451         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15452         file size, pass it on to the type find helper.
15453
15454         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15455         segment_start and segment_end properly according to the seek
15456         method. Segment_end is still a bit flaky because offset can be
15457         negative for CUR and END cases, but it takes -1 as an "unset"
15458         value.
15459
15460 2005-06-02  Wim Taymans  <wim@fluendo.com>
15461
15462         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15463         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15464         (gst_basesink_activate):
15465         * gst/base/gstbasesink.h:
15466         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15467         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15468         (gst_pad_query), (gst_pad_start_task):
15469         * gst/gstpad.h:
15470         * gst/gstqueue.c: (gst_queue_bufferalloc),
15471         (gst_queue_handle_sink_event), (gst_queue_chain):
15472         Bufferalloc: return GstFlowReturn to more accuratly report
15473         why allocation failed.
15474
15475 2005-06-02  Wim Taymans  <wim@fluendo.com>
15476
15477         * gst/gstpipeline.c: (gst_pipeline_send_event):
15478         Take snapshot of state without blocking.
15479
15480 2005-06-02  Wim Taymans  <wim@fluendo.com>
15481
15482         * docs/design/part-TODO.txt:
15483         * docs/design/part-caps.txt:
15484         * docs/design/part-clocks.txt:
15485         * docs/design/part-negotiation.txt:
15486         * docs/design/part-preroll.txt:
15487         Small doc updates 
15488
15489 2005-05-30  Wim Taymans  <wim@fluendo.com>
15490
15491         * gst/elements/gstidentity.c: (gst_identity_event),
15492         (gst_identity_transform), (gst_identity_get_property):
15493         Protect last_message property as it is accessed from
15494         multiple threads.
15495
15496 2005-05-30  Wim Taymans  <wim@fluendo.com>
15497
15498         * gst/gstelement.c: (gst_element_init),
15499         (gst_element_pads_activate), (gst_element_change_state):
15500         Slicker pad activation code.
15501
15502 2005-05-30  Wim Taymans  <wim@fluendo.com>
15503
15504         * gst/Makefile.am:
15505         * gst/gstelement.h:
15506         * gst/gstelementfactory.h:
15507         * gst/gsttypes.h:
15508         Move elementfactory methods to separate .h file.
15509
15510 2005-05-30  Wim Taymans  <wim@fluendo.com>
15511
15512         * docs/design/part-overview.txt:
15513         * gst/gstsystemclock.h:
15514         Small typo fixes, doc updates.
15515
15516 2005-05-30  Wim Taymans  <wim@fluendo.com>
15517
15518         * gst/gst.c: (gst_init_get_popt_table), (init_post),
15519         (init_popt_callback):
15520         Remove cpu-opt flag.
15521
15522 2005-05-30  Wim Taymans  <wim@fluendo.com>
15523
15524         * gst/gstbuffer.c: (gst_subbuffer_finalize),
15525         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15526         * gst/gstbuffer.h:
15527         Avoid typechecking in places where not needed.
15528         Added accessor for malloc_data.
15529
15530 2005-05-30  Wim Taymans  <wim@fluendo.com>
15531
15532         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15533         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15534         (gst_pad_configure_sink), (gst_pad_configure_src),
15535         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15536         (gst_pad_start_task):
15537         Propagate errors from _set_caps() in configure_src/sink
15538         functions instead of returning TRUE.
15539         FLUSH events can travel up and downstream
15540
15541
15542 2005-05-30  Wim Taymans  <wim@fluendo.com>
15543
15544         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15545         (gst_basesink_activate):
15546         Handle EOS in preroll.
15547
15548 2005-05-30  Wim Taymans  <wim@fluendo.com>
15549
15550         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15551         (gst_queue_loop), (gst_queue_handle_src_event):
15552         Remove old pieces of code
15553         Flushing the queue in an upstream event is a very bad idea.
15554
15555 2005-05-26  Andy Wingo  <wingo@pobox.com>
15556
15557         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
15558         gst_value_set_mini_object so as to add a ref on the object (which
15559         will be removed when the value is unset).
15560
15561         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
15562         arg type in ::handoff.
15563
15564         * gst/gstelement.c (gst_element_change_state): Also deactivate
15565         pads in READY->NULL, just in case the element didn't make it to
15566         PAUSED. Wingo tested, Wim approved.
15567
15568 2005-05-26  Wim Taymans  <wim@fluendo.com>
15569
15570         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15571         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15572         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
15573         A flushing pad cannot be used to alloc_buffer from.
15574
15575 2005-05-26  Wim Taymans  <wim@fluendo.com>
15576
15577         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
15578         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
15579         (gst_bus_source_dispatch), (gst_bus_source_finalize),
15580         (gst_bus_create_watch), (gst_bus_add_watch_full):
15581         * gst/gstbus.h:
15582         Implement a real GSource and use g_main_context_wakeup() to
15583         signal new messages instead of the socketpair.
15584
15585 2005-05-25  Wim Taymans  <wim@fluendo.com>
15586
15587         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
15588         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
15589         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15590         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15591         (gst_pad_send_event), (gst_pad_start_task):
15592         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
15593         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15594         (gst_queue_sink_activate), (gst_queue_src_activate),
15595         (gst_queue_change_state):
15596         * gst/gstqueue.h:
15597         Fix state changes for non sinks. We now change sinks, then elements
15598         with unconnected srcpads, then the rest.
15599         More efficient queue unlocking in flush and state changes.
15600         Set the pad activate mode even if it does not have an activate
15601         function.
15602
15603 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15604
15605         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
15606           Don't go in pull mode for non-seekable sources.
15607         * gst/elements/gsttypefindelement.h:
15608         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15609         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
15610         (free_entry), (stop_typefinding),
15611         (gst_type_find_element_handle_event), (find_peek),
15612         (gst_type_find_element_chain), (do_pull_typefind),
15613         (gst_type_find_element_change_state):
15614           Allow typefinding (w/o seeking) in push-mode, simplified version
15615           of what was in 0.8.
15616         * gst/gstutils.c: (gst_buffer_join):
15617         * gst/gstutils.h:
15618           gst_buffer_join() from 0.8.
15619
15620 2005-05-25  Wim Taymans  <wim@fluendo.com>
15621
15622         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15623         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15624         (gst_pad_send_event), (gst_pad_start_task):
15625         Disable attempt at mode switching until it is figured out.
15626
15627 2005-05-25  Wim Taymans  <wim@fluendo.com>
15628
15629         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
15630         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15631         (gst_basesink_finish_preroll), (gst_basesink_chain),
15632         (gst_basesink_loop), (gst_basesink_activate),
15633         (gst_basesink_change_state):
15634         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
15635         (gst_basesrc_get_range), (gst_basesrc_loop),
15636         (gst_basesrc_activate):
15637         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15638         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15639         (gst_real_pad_init), (gst_real_pad_set_property),
15640         (gst_real_pad_get_property), (gst_pad_set_active),
15641         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
15642         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
15643         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
15644         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
15645         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15646         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
15647         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
15648         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15649         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
15650         (gst_pad_stop_task):
15651         * gst/gstpad.h:
15652         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15653         (gst_queue_loop), (gst_queue_src_activate):
15654         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
15655         (gst_task_get_state):
15656         * gst/gsttask.h:
15657         * gst/schedulers/threadscheduler.c:
15658         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
15659         Implement gst_pad_pause/start/stop_task(), take STREAM lock
15660         in task function.
15661         Remove ACTIVE pad flag, use FLUSHING everywhere
15662         Added _pad_chain(), _pad_get_range() to call chain/getrange 
15663         functions.
15664         Add locks around IS_FLUSHING when reading.
15665         Take STREAM lock in chain(), get_range() functions so plugins
15666         don't need to take it anymore.
15667         
15668
15669
15670 2005-05-25  Wim Taymans  <wim@fluendo.com>
15671
15672         * tools/gst-launch.c: (event_loop):
15673         Unref message after using its contents instead of
15674         before.
15675
15676 2005-05-24  Wim Taymans  <wim@fluendo.com>
15677
15678         * docs/design/draft-ghostpads.txt:
15679         * docs/design/draft-push-pull.txt:
15680         * docs/design/draft-query.txt:
15681         * docs/design/part-overview.txt:
15682         Docs updates, added general overview doc.
15683
15684 2005-05-21  David Schleef  <ds@schleef.org>
15685
15686         * docs/gst/tmpl/old/GstBin.sgml:
15687         * docs/gst/tmpl/old/GstBuffer.sgml:
15688         * docs/gst/tmpl/old/GstCaps.sgml:
15689         * docs/gst/tmpl/old/GstClock.sgml:
15690         * docs/gst/tmpl/old/GstCompat.sgml:
15691         * docs/gst/tmpl/old/GstData.sgml:
15692         * docs/gst/tmpl/old/GstElement.sgml:
15693         * docs/gst/tmpl/old/GstEvent.sgml:
15694         * docs/gst/tmpl/old/GstIndex.sgml:
15695         * docs/gst/tmpl/old/GstStructure.sgml:
15696         * docs/gst/tmpl/old/GstTag.sgml:
15697         * docs/gst/tmpl/old/cothreads.sgml:
15698         * docs/gst/tmpl/old/cothreads_compat.sgml:
15699         * docs/gst/tmpl/old/gettext.sgml:
15700         * docs/gst/tmpl/old/gobject2gtk.sgml:
15701         * docs/gst/tmpl/old/grammar.tab.sgml:
15702         * docs/gst/tmpl/old/gst-i18n-app.sgml:
15703         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
15704         * docs/gst/tmpl/old/gst_private.sgml:
15705         * docs/gst/tmpl/old/gstaggregator.sgml:
15706         * docs/gst/tmpl/old/gstarch.sgml:
15707         * docs/gst/tmpl/old/gstatomic_impl.sgml:
15708         * docs/gst/tmpl/old/gstbufferstore.sgml:
15709         * docs/gst/tmpl/old/gstdata_private.sgml:
15710         * docs/gst/tmpl/old/gstdisksink.sgml:
15711         * docs/gst/tmpl/old/gstdisksrc.sgml:
15712         * docs/gst/tmpl/old/gstelementfactory.sgml:
15713         * docs/gst/tmpl/old/gstextratypes.sgml:
15714         * docs/gst/tmpl/old/gstfakesink.sgml:
15715         * docs/gst/tmpl/old/gstfakesrc.sgml:
15716         * docs/gst/tmpl/old/gstfdsink.sgml:
15717         * docs/gst/tmpl/old/gstfdsrc.sgml:
15718         * docs/gst/tmpl/old/gstfilesink.sgml:
15719         * docs/gst/tmpl/old/gstfilesrc.sgml:
15720         * docs/gst/tmpl/old/gsthttpsrc.sgml:
15721         * docs/gst/tmpl/old/gstidentity.sgml:
15722         * docs/gst/tmpl/old/gstindexfactory.sgml:
15723         * docs/gst/tmpl/old/gstmarshal.sgml:
15724         * docs/gst/tmpl/old/gstmd5sink.sgml:
15725         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
15726         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
15727         * docs/gst/tmpl/old/gstpadtemplate.sgml:
15728         * docs/gst/tmpl/old/gstpipefilter.sgml:
15729         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
15730         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
15731         * docs/gst/tmpl/old/gstshaper.sgml:
15732         * docs/gst/tmpl/old/gstspider.sgml:
15733         * docs/gst/tmpl/old/gstspideridentity.sgml:
15734         * docs/gst/tmpl/old/gststatistics.sgml:
15735         * docs/gst/tmpl/old/gsttee.sgml:
15736         * docs/gst/tmpl/old/gsttimecache.sgml:
15737         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
15738         * docs/gst/tmpl/old/gstxmlregistry.sgml:
15739         * docs/gst/tmpl/old/gthread-cothreads.sgml:
15740         * docs/gst/tmpl/old/types.sgml:
15741           I didn't intend to add these or check them in.
15742
15743 2005-05-19  David Schleef  <ds@schleef.org>
15744
15745         * configure.ac: Use -no-common everywhere.  In a sane world, it
15746           would be the default in libtool, because without it, you can't
15747           build DLLs on Windows.
15748         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
15749         * docs/gst/gstreamer-sections.txt:
15750         * docs/gst/tmpl/gstcpu.sgml:
15751         * docs/gst/tmpl/gstdata.sgml:
15752         * docs/gst/tmpl/gstthread.sgml:
15753
15754 2005-05-19  David Schleef  <ds@schleef.org>
15755
15756         * gst/gstminiobject.c: (gst_value_set_mini_object),
15757         (gst_value_take_mini_object), (gst_value_get_mini_object):
15758         * gst/gstminiobject.h: Add GValue set/get functions.
15759
15760 2005-05-19  Wim Taymans  <wim@fluendo.com>
15761
15762         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
15763         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
15764         (gst_subbuffer_init), (gst_buffer_is_span_fast):
15765         * gst/gstbuffer.h:
15766         * gst/gstbus.c: (gst_bus_post):
15767         * gst/gstelement.c: (gst_element_get_random_pad):
15768         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
15769         Make subbufer unref the parent in finalize.
15770         some more debugging info.
15771
15772
15773 2005-05-19  Wim Taymans  <wim@fluendo.com>
15774
15775         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15776         (gst_basesink_init), (gst_basesink_finalize),
15777         (gst_basesink_activate), (gst_basesink_change_state):
15778         Don't free preroll queue too early.
15779
15780 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15781
15782         * gst/Makefile.am:
15783         * gst/ROADMAP:
15784           Hi, I'm outdated. Please shoot me.
15785
15786 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15787
15788         * gst/gstpipeline.c: (gst_pipeline_send_event):
15789           Do not access variables after they have been deleted.
15790
15791 2005-05-19  Wim Taymans  <wim@fluendo.com>
15792
15793         * tools/gst-inspect.c: (print_plugin_features):
15794         A plugin feature does unfortunatly not use the
15795         object name yet...
15796
15797 2005-05-18  Wim Taymans  <wim@fluendo.com>
15798
15799         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
15800         Port _span() functions to new subbuffers.
15801
15802 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15803
15804         * gst/gstbin.c: (gst_bin_add_func):
15805           Fix clock settery in bins when adding kids after the clock has
15806           been selected.
15807
15808 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15809
15810         * gst/elements/gstidentity.c: (gst_identity_class_init):
15811           Workaround until signals support GstMiniObject.
15812
15813 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
15814
15815         * gst/gstbuffer.c:
15816         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
15817
15818 2005-05-18  Wim Taymans  <wim@fluendo.com>
15819
15820         * gst/base/Makefile.am:
15821         * gst/base/gstadapter.c: (gst_adapter_base_init),
15822         (gst_adapter_class_init), (gst_adapter_init),
15823         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
15824         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
15825         (gst_adapter_flush), (gst_adapter_available),
15826         (gst_adapter_available_fast):
15827         * gst/base/gstadapter.h:
15828         Ported and added adapter to the base classes.
15829
15830 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
15831
15832         * gst/gst.c:
15833         * gst/gstmessage.c:
15834           Make sure the class is reffed/unreffed once before threads can be
15835           used.  Fixes #304551.
15836
15837 2005-05-17  Wim Taymans  <wim@fluendo.com>
15838
15839         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
15840         (gst_basesink_chain_unlocked), (gst_basesink_activate):
15841         * gst/gstminiobject.c: (gst_mini_object_get_type),
15842         (gst_mini_object_free):
15843         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
15844         (gst_pad_push), (gst_pad_push_event):
15845         * gst/gstqueue.c: (gst_queue_change_state):
15846         Don't queue buffers in basesink when we are flushing.
15847         Unref buffer when flushing in basesink.
15848         Flush queue when going to READY
15849         Unref buffer when _push() returns an error.
15850         Don't free MiniObject instance when refcount is incremented
15851         in _finalize() so that we can recover objects.
15852
15853 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15854
15855         * docs/manual/advanced-schedulers.xml:
15856         * docs/manual/appendix-checklist.xml:
15857         * docs/pwg/advanced-clock.xml:
15858         * docs/pwg/advanced-interfaces.xml:
15859         * docs/pwg/advanced-request.xml:
15860         * docs/pwg/advanced-types.xml:
15861         * docs/pwg/intro-preface.xml:
15862         * examples/plugins/example.c: (gst_example_get_type),
15863         (gst_example_class_init), (gst_example_chain),
15864         (gst_example_set_property), (gst_example_get_property),
15865         (gst_example_change_state), (plugin_init):
15866         * examples/plugins/example.h:
15867           small doc fixes
15868
15869 2005-05-17  Wim Taymans  <wim@fluendo.com>
15870
15871         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
15872         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
15873         * gst/gstqueue.c: (gst_queue_change_state):
15874         Clear queue when going to READY.
15875         Remove IN_SETCAPS flag too.
15876
15877 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
15878
15879         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
15880           Remove implicit cast from gboolean to GstElementStateReturn;
15881           make sure we still return failure in paused => ready case if
15882           the parent class fails to change state and our own stop 
15883           vfunc succeeds.
15884
15885 2005-05-17  Wim Taymans  <wim@fluendo.com>
15886
15887         * tools/gst-launch.c: (event_loop):
15888         Message was unreffed too soon.
15889
15890 2005-05-16  Andy Wingo  <wingo@pobox.com>
15891
15892         * gst/gstbin.c (sink_iterator_filter): Err... um...
15893
15894         * check/gst/gstbin.c (test_ghost_pads): New test for the
15895         ghosting-if-elements-not-in-same-bin behavior.
15896
15897 2005-05-16  David Schleef  <ds@schleef.org>
15898
15899         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
15900         accessing refcount directly.
15901
15902 2005-05-15  David Schleef  <ds@schleef.org>
15903
15904         * check/Makefile.am: remove GstData checks
15905         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
15906         * gst/Makefile.am: add miniobject, remove data
15907         * gst/gst.h: add miniobject, remove data
15908         * gst/gstdata.c: remove
15909         * gst/gstdata.h: remove
15910         * gst/gstdata_private.h: remove
15911         * gst/gsttypes.h: remove GstEvent and GstMessage
15912         * gst/gstelement.c: (gst_element_post_message): fix for API changes
15913         * gst/gstmarshal.list: change BOXED -> OBJECT
15914
15915         Implement GstMiniObject.
15916         * gst/gstminiobject.c:
15917         * gst/gstminiobject.h:
15918
15919         Modify to be subclasses of GstMiniObject.
15920         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
15921         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
15922         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
15923         (gst_subbuffer_get_type), (gst_subbuffer_init),
15924         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
15925         (gst_buffer_span):
15926         * gst/gstbuffer.h:
15927         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
15928         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
15929         (_gst_event_copy), (gst_event_new):
15930         * gst/gstevent.h:
15931         * gst/gstmessage.c: (_gst_message_initialize),
15932         (gst_message_get_type), (gst_message_class_init),
15933         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
15934         (gst_message_new), (gst_message_new_error),
15935         (gst_message_new_warning), (gst_message_new_tag),
15936         (gst_message_new_state_changed), (gst_message_new_application):
15937         * gst/gstmessage.h:
15938         * gst/gstprobe.c: (gst_probe_perform),
15939         (gst_probe_dispatcher_dispatch):
15940         * gst/gstprobe.h:
15941         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
15942         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
15943         (_gst_query_copy), (gst_query_new):
15944
15945         Update elements for GstData -> GstMiniObject changes
15946         * gst/gstquery.h:
15947         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
15948         (gst_queue_chain), (gst_queue_loop):
15949         * gst/elements/gstbufferstore.c:
15950         (gst_buffer_store_add_buffer_func),
15951         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
15952         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
15953         (gst_fakesink_render):
15954         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
15955         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
15956         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
15957         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
15958         (gst_filesrc_create_read):
15959         * gst/elements/gstidentity.c: (gst_identity_class_init):
15960         * gst/elements/gsttypefindelement.c:
15961         (gst_type_find_element_src_event), (free_entry_buffers),
15962         (gst_type_find_element_handle_event):
15963         * libs/gst/dataprotocol/dataprotocol.c:
15964         (gst_dp_header_from_buffer):
15965         * libs/gst/dataprotocol/dataprotocol.h:
15966         * libs/gst/dataprotocol/dp-private.h:
15967
15968 2005-05-15  David Schleef  <ds@schleef.org>
15969
15970         * gst/elements/gstelements.c: Don't include headers that were
15971         just removed.
15972
15973 2005-05-15  David Schleef  <ds@schleef.org>
15974
15975         * gst/elements/Makefile.am: Remove some elements that don't
15976         need to be in the core (or even exist at all).
15977         * gst/elements/gstaggregator.c:
15978         * gst/elements/gstaggregator.h:
15979         * gst/elements/gstmd5sink.c:
15980         * gst/elements/gstmd5sink.h:
15981         * gst/elements/gstmultifilesrc.c:
15982         * gst/elements/gstmultifilesrc.h:
15983         * gst/elements/gstpipefilter.c:
15984         * gst/elements/gstpipefilter.h:
15985         * gst/elements/gstshaper.c:
15986         * gst/elements/gstshaper.h:
15987         * gst/elements/gststatistics.c:
15988         * gst/elements/gststatistics.h:
15989         * po/POTFILES.in: Remove above files.
15990
15991 2005-05-14  Andy Wingo  <wingo@pobox.com>
15992
15993         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
15994         so as to get the refs right.
15995         (sink_iterator_filter): New function, wraps bin_element_is_sink,
15996         unreffing objects that don't pass the filter.
15997
15998         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
15999         gst_element_set_bus.
16000         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
16001         normal cases, this will destroy the bus.
16002
16003         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
16004         object.
16005
16006         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
16007         has no sinks.
16008
16009 2005-05-13  Andy Wingo  <wingo@pobox.com>
16010
16011         * gst/gstutils.c (gst_element_link_pads): Instead of calling
16012         gst_pad_link, call pad_link_maybe_ghosting,
16013         (pad_link_maybe_ghosting): Links pads, making sure that the
16014         elements being linked are in the same bin.
16015         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16016         Helpers for pad_link_maybe_ghosting.
16017
16018 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16019
16020         * configure.ac:
16021           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16022
16023 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16024
16025         * docs/design/part-element-source.txt:
16026           Mention GstPushSrc
16027
16028 2005-05-12  Wim Taymans  <wim@fluendo.com>
16029
16030         * gst/base/gstbasesink.c: (gst_basesink_init),
16031         (gst_basesink_activate):
16032         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16033         (gst_basesrc_is_seekable):
16034         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16035         (bin_element_is_sink), (gst_bin_change_state):
16036         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16037         * gst/gstelement.h:
16038         Identify sinks by their flag to avoid overly complicated
16039         checks (fow now).
16040         Do state changes even for elements not reachable from the
16041         sinks.
16042         BaseSink is a sink now :)
16043         Some more debugging info in the basesrc.
16044
16045
16046 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16047
16048         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16049           Implement _query on a bin, similar to _send_event.
16050
16051 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
16052
16053         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16054           Discont event offset format should be GST_FORMAT_BYTES,
16055           not GST_FORMAT_TIME.
16056
16057 2005-05-12  Wim Taymans  <wim@fluendo.com>
16058
16059         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16060         Same fix as Ronald's but without the signal. 
16061
16062 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16063
16064         * gst/gstutils.c: (gst_element_query_position):
16065           No, an element is not a pad.
16066
16067 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16068
16069         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16070         (gst_bin_get_state):
16071           If a child is removed from a bin while we remove the child from
16072           the bin and while we're retrieving its state, signal this to the
16073           get_state function so we abort the wait (instead of waiting for
16074           a timeout) and can immediately re-iterate over all other elements.
16075
16076 2005-05-12  Wim Taymans  <wim@fluendo.com>
16077
16078         * gst/base/Makefile.am:
16079         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16080         (gst_basesrc_start):
16081         * gst/base/gstbasesrc.h:
16082         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16083         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16084         (gst_pushsrc_init), (gst_pushsrc_create):
16085         * gst/base/gstpushsrc.h:
16086         Added is_seekable to BaseSrc
16087         Added simple PushSrc.
16088
16089 2005-05-11  Wim Taymans  <wim@fluendo.com>
16090
16091         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16092         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16093         (gst_element_link_pads), (gst_element_query_position),
16094         (gst_element_query_convert), (intersect_caps_func),
16095         (gst_pad_query_position), (gst_pad_query_convert):
16096         Fix refcounting in utils function.
16097         No point in trying to activate a pad when it's added, it could
16098         be added from the state change function and then we deadlock, the
16099         element has to decide what to do.
16100
16101 2005-05-10  Andy Wingo  <wingo@pobox.com>
16102
16103         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16104         *all* the arguments.
16105
16106         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16107         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16108         lock (according to the docs -- if this is wrong change the docs).
16109
16110         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16111         flush messages in the NULL state.
16112
16113         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16114         message immediately and return.
16115         (gst_bus_set_flushing): New function. If a bus is flushing, it
16116         flushes out any queued messages and immediately unrefs new
16117         messages. This is so when an element goes to NULL, all of the
16118         unhandled messages coming from it can be freed, and their
16119         references to the element dropped. In other words: message source
16120         ref considered harmful :P
16121
16122         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16123         we're finished with it.
16124
16125         * gst/gstmessage.c (gst_message_new_state_changed): 
16126
16127 2005-05-10  Wim Taymans  <wim@fluendo.com>
16128
16129         * gst/gstvalue.c: (gst_value_compare_flags),
16130         (gst_value_serialize_flags), (gst_value_deserialize_flags),
16131         (_gst_value_initialize):
16132         Added flags serialize/deserialize/compare code.
16133
16134 2005-05-09  Andy Wingo  <wingo@pobox.com>
16135
16136         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16137         Intersect the peer's caps with our caps.
16138
16139 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16140
16141         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16142         * gst/elements/gsttypefindelement.c: (find_peek):
16143           Handle negative offsets better. Fixes decodebin.
16144
16145 2005-05-09  Wim Taymans  <wim@fluendo.com>
16146
16147         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16148         (gst_base_transform_event):
16149         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16150         Implement accept_caps.
16151         Fix silly lock/unlock mismatch in base class.
16152
16153 2005-05-09  Wim Taymans  <wim@fluendo.com>
16154
16155         * docs/design/draft-push-pull.txt:
16156         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16157         * gst/elements/gstfilesink.c: (gst_filesink_init),
16158         (gst_filesink_query):
16159         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16160         (gst_type_find_handle_src_query), (find_element_get_length):
16161         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16162         * gst/gstelement.h:
16163         * gst/gstmessage.c:
16164         * gst/gstmessage.h:
16165         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16166         (gst_real_pad_get_caps_unlocked),
16167         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16168         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16169         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16170         (gst_real_pad_dispose), (gst_real_pad_finalize),
16171         (gst_pad_load_and_link), (gst_pad_save_thyself),
16172         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16173         (gst_pad_check_pull_range), (gst_pad_pull_range),
16174         (gst_pad_template_get_type), (gst_pad_template_class_init),
16175         (gst_pad_template_init), (gst_pad_template_dispose),
16176         (name_is_valid), (gst_static_pad_template_get),
16177         (gst_pad_template_new), (gst_static_pad_template_get_caps),
16178         (gst_pad_template_get_caps), (gst_pad_set_element_private),
16179         (gst_pad_get_element_private), (gst_pad_start_task),
16180         (gst_pad_pause_task), (gst_pad_stop_task),
16181         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16182         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16183         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16184         (gst_ghost_pad_new):
16185         * gst/gstpad.h:
16186         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16187         (gst_query_new_position), (gst_query_set_position),
16188         (gst_query_parse_position), (gst_query_new_convert),
16189         (gst_query_set_convert), (gst_query_parse_convert):
16190         * gst/gstquery.h:
16191         * gst/gstqueryutils.c:
16192         * gst/gstqueryutils.h:
16193         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16194         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16195         (gst_queue_handle_src_query):
16196         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16197         (gst_element_query_position), (gst_element_query_convert),
16198         (intersect_caps_func), (gst_pad_query_position),
16199         (gst_pad_query_convert):
16200         * gst/gstutils.h:
16201         * tools/gst-inspect.c: (print_pad_info):
16202         * tools/gst-xmlinspect.c: (print_element_info):
16203         Remove old query functions. Ported old code.
16204         Added position/convert helper functions to gstutils.
16205         Reordered gstpad.c code, grouping relevant things.
16206         Remove gst_message_new(), always need to speficy a specific
16207         message.
16208
16209
16210 2005-05-09  Andy Wingo  <wingo@pobox.com>
16211
16212         * gst/gstiterator.h: Add some includes.
16213
16214         * gst/gstqueryutils.h: Include more headers.
16215
16216         * gst/gstpad.h:
16217         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16218         some uses of gst_pad_query.
16219
16220         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16221         NULL out parameters.
16222         (gst_query_new_position): New proc, allocates a new position
16223         query.
16224
16225         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16226         gstqueryutils.c to the build.
16227
16228         * gst/gststructure.c (gst_structure_set_valist): Implement with
16229         the generic G_VALUE_COLLECT.
16230         
16231 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
16232
16233         * gst/Makefile.am: (gst_headers):
16234         Added gstqueryutils.h to the list of headers to install, that was
16235         a 'nachty' move wingo :)
16236
16237 2005-05-06  Andy Wingo  <wingo@pobox.com>
16238
16239         * gst/gstquery.h
16240         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16241         GstData, init a memchunk.
16242         (standard_definitions): Add a few query types, deprecate a few.
16243         (gst_query_get_type): New proc.
16244         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16245         implementation.
16246         (gst_query_new_application, gst_query_get_structure): New public
16247         procs.
16248
16249         * docs/design/draft-query.txt: Removed LINKS from the query types,
16250         because all the rest can be dispatched to other pads -- seemed
16251         ugly to have a query that couldn't be dispatched. internal_links
16252         is fine as a pad method.
16253
16254         * gst/gstpad.h: Add query2 as a pad method, add the new functions
16255         in gstpad.c, but maintain binary compatibility for the moment.
16256         Will fix before 0.9 is out.
16257
16258         * gst/gstqueryutils.c: 
16259         * gst/gstqueryutils.h: New files, implement 3 methods for each
16260         query type: parse_query, parse_response, and set. Probably need an
16261         allocator as well.
16262
16263         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16264
16265         * gst/elements/gstfilesink.c (gst_filesink_query2):
16266         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16267         query_types, and formats methods.
16268
16269         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16270         (gst_pad_set_query2_function): New functions.
16271         (gst_real_pad_init): Set query2_default as the default query2
16272         function. Basically just dispatches to internally linked pads.
16273
16274         Needs review!
16275         
16276         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16277         without using the atomic operations. Only one thread can possibly
16278         be accessing the data at this point. Changed so as to avoid
16279         gst_atomic operations.
16280
16281 2005-05-06  Wim Taymans  <wim@fluendo.com>
16282
16283         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16284         Also set caps if we use the fallback buffer alloc.
16285
16286 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
16287
16288         * docs/gst/Makefile.am:
16289         * docs/gst/gstreamer-docs.sgml:
16290         * docs/gst/gstreamer-sections.txt:
16291         * docs/gst/tmpl/gstatomic.sgml:
16292         * docs/gst/tmpl/gstmemchunk.sgml:
16293         * testsuite/elements/struct_i386.h:
16294         * win32/GStreamer.vcproj:
16295         * win32/Makefile:
16296           Purge GstAtomic stuff from docs and win32 makefiles as well
16297
16298 2005-05-06  Wim Taymans  <wim@fluendo.com>
16299
16300         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16301         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16302         * gst/gstpad.c: (gst_pad_peer_get_caps):
16303         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16304         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16305         (gst_queue_src_activate), (gst_queue_change_state):
16306         * gst/gstqueue.h:
16307         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16308         (intersect_caps_func):
16309         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16310         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16311         Some fixes for the peer_get_caps() change.
16312
16313 2005-05-06  Wim Taymans  <wim@fluendo.com>
16314
16315         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16316         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16317         (gst_basesink_activate):
16318         Actually do something with error codes returned from the push
16319         functions.
16320
16321 2005-05-06  Wim Taymans  <wim@fluendo.com>
16322
16323         * docs/design/part-element-sink.txt:
16324         * docs/design/part-element-source.txt:
16325         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16326         (gst_basesink_event), (gst_basesink_activate):
16327         * gst/base/gstbasesink.h:
16328         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16329         (gst_basesrc_activate):
16330         * gst/base/gstbasesrc.h:
16331         * gst/gstelement.c: (gst_element_pads_activate):
16332         Some more documentation.
16333         Fixed scheduling decision in _pads_activate().
16334
16335 2005-05-05  Andy Wingo  <wingo@pobox.com>
16336
16337         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16338         the test suite.
16339
16340 2005-05-05  Wim Taymans  <wim@fluendo.com>
16341
16342         * gst/base/Makefile.am:
16343         * gst/base/gstbasesink.h:
16344         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16345         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16346         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16347         (gst_collectpads_class_init), (gst_collectpads_init),
16348         (gst_collectpads_finalize), (gst_collectpads_new),
16349         (gst_collectpads_set_function), (gst_collectpads_add_pad),
16350         (find_pad), (gst_collectpads_remove_pad),
16351         (gst_collectpads_is_active), (gst_collectpads_collect),
16352         (gst_collectpads_collect_range), (gst_collectpads_start),
16353         (gst_collectpads_stop), (gst_collectpads_peek),
16354         (gst_collectpads_pop), (gst_collectpads_available),
16355         (gst_collectpads_read), (gst_collectpads_flush),
16356         (gst_collectpads_chain):
16357         * gst/base/gstcollectpads.h:
16358         * gst/elements/Makefile.am:
16359         * gst/elements/gstelements.c:
16360         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16361         (gst_fakesink_get_times), (gst_fakesink_event),
16362         (gst_fakesink_preroll), (gst_fakesink_render):
16363         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16364         (gst_filesink_init), (gst_filesink_set_location),
16365         (gst_filesink_open_file), (gst_filesink_close_file),
16366         (gst_filesink_pad_query), (gst_filesink_event),
16367         (gst_filesink_render), (gst_filesink_change_state):
16368         * gst/elements/gstfilesink.h:
16369         Added object to help in making collect pad based elements.
16370         Ported filesink.
16371         Make event function in sink baseclass return gboolean.
16372
16373 2005-05-05  Wim Taymans  <wim@fluendo.com>
16374
16375         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16376         (gst_bin_get_by_name):
16377         * gst/gstbuffer.h:
16378         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16379         (gst_clock_finalize):
16380         * gst/gstdata.c: (gst_data_replace):
16381         * gst/gstdata.h:
16382         * gst/gstelement.c: (gst_element_request_pad),
16383         (gst_element_pads_activate):
16384         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16385         (gst_object_unref):
16386         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16387         (gst_pad_set_checkgetrange_function),
16388         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16389         (gst_pad_check_pull_range), (gst_pad_pull_range),
16390         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16391         (gst_pad_pause_task), (gst_pad_stop_task):
16392         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16393         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16394         Fix name lookup in GstBin.
16395         Added _data_replace() function and _buffer_replace()
16396         Use finalize method to clean up clock.
16397         Fix refcounting on request pads.
16398         Fix pad schedule mode error.
16399         Some more object refcounting debug info,
16400
16401
16402 2005-05-04  Andy Wingo <wingo@pobox.com>
16403
16404         * check/Makefile.am:
16405         * docs/gst/tmpl/gstatomic.sgml:
16406         * docs/gst/tmpl/gstplugin.sgml:
16407         * gst/base/gstbasesink.c: (gst_basesink_activate):
16408         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16409         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16410         (gst_basesrc_query), (gst_basesrc_set_property),
16411         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16412         (gst_basesrc_activate):
16413         * gst/base/gstbasesrc.h:
16414         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16415         (gst_base_transform_src_activate):
16416         * gst/elements/gstelements.c:
16417         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16418         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16419         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16420         * gst/elements/gsttypefindelement.c: (find_element_get_length),
16421         (gst_type_find_element_checkgetrange),
16422         (gst_type_find_element_activate):
16423         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16424         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16425         (gst_caps_load_thyself):
16426         * gst/gstelement.c: (gst_element_pads_activate),
16427         (gst_element_save_thyself), (gst_element_restore_thyself):
16428         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16429         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16430         * gst/gstpad.h:
16431         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16432         (gst_xml_parse_file), (gst_xml_parse_memory),
16433         (gst_xml_get_element), (gst_xml_make_element):
16434         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16435         (_file_index_id_save_xml), (gst_file_index_commit):
16436         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16437         (read_enum), (load_pad_template), (load_feature), (load_plugin),
16438         (load_paths):
16439         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16440         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16441         * tools/gst-complete.c: (main):
16442         * tools/gst-compprep.c: (main):
16443         * tools/gst-inspect.c: (print_element_properties_info):
16444         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16445         * tools/gst-xmlinspect.c: (print_element_properties):
16446         GCC 4 fixen.
16447         
16448 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16449
16450         * gst/gstplugin.c: (gst_plugin_check_module),
16451         (gst_plugin_check_file), (gst_plugin_load_file):
16452             apply patch from #172526 to make register work on MacOSX
16453
16454 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16455
16456         * docs/gst/tmpl/gstconfig.sgml:
16457         * gst/gstconfig.h.in:
16458           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
16459         * testsuite/debug/printf_extension.c: (main):
16460           Do not use GST_PTR_FORMAT on pointers to types with
16461           sizeof < sizeof(gpointer).  Fixes test on 64-bit
16462         * testsuite/elements/property.h:
16463           use correct printf format
16464
16465 2005-05-02  Wim Taymans  <wim@fluendo.com>
16466
16467         * docs/design/draft-push-pull.txt:
16468         * docs/design/draft-query.txt:
16469         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16470         (gst_basesrc_start):
16471         Added draft for new query API.
16472         Added draft for better selecting scheduling methods.
16473         Make basesrc ignore length if the subclass does not support
16474         it.
16475
16476 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16477
16478         * gst/Makefile.am:
16479           possible fixes for automake-1.5 - _LIBADD is reserved
16480
16481 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16482
16483         * docs/faq/Makefile.am:
16484         * docs/manual/Makefile.am:
16485         * docs/manuals.mak:
16486         * docs/pwg/Makefile.am:
16487         * gst/Makefile.am:
16488           possible fixes for automake-1.5
16489
16490 2005-04-28  Wim Taymans  <wim@fluendo.com>
16491
16492         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16493         (gst_basesink_pad_getcaps), (gst_basesink_init),
16494         (gst_basesink_do_sync):
16495         * gst/gstclock.c: (gst_clock_entry_new):
16496         * gst/gstevent.c: (gst_event_discont_get_value):
16497         * gst/gstpipeline.c: (pipeline_bus_handler),
16498         (gst_pipeline_change_state):
16499         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16500         Better debugging of clocking info.
16501         Allow NULL values when getting discont values.
16502
16503 2005-04-27  Wim Taymans  <wim@fluendo.com>
16504
16505         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16506         * check/gst/gstpad.c: (gst_pad_suite):
16507         Increase timeout for checks.
16508
16509 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16510
16511         * check/Makefile.am:
16512           fix the broken rule for cleanup.  Apparently this rule is
16513           only needed on FC2, so maybe this warrants further autotool
16514           inspection.
16515
16516 2005-04-26  Wim Taymans  <wim@fluendo.com>
16517
16518         * gst/gsttrashstack.h:
16519         Ooohh. a nasty one! After having a failed pop() from the stack,
16520         it's possible that the stack is empty. In that case, don't
16521         follow the NULL pointer.
16522
16523 2005-04-25  Wim Taymans  <wim@fluendo.com>
16524
16525         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16526         (gst_pad_set_checkgetrange_function),
16527         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16528         (gst_pad_check_pull_range), (gst_pad_pull_range),
16529         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16530         (gst_pad_pause_task), (gst_pad_stop_task):
16531         * gst/gstplugin.c: (gst_plugin_load):
16532         * gst/gstplugin.h:
16533         Remove gst_library_load as it does more harm than good with
16534         the new g_module flags.
16535         Revert bogus caps template check in pad linking, pad caps
16536         are important when linking not the template, which is more
16537         general than the current caps.
16538
16539 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16540
16541         * gst/autoplug/.cvsignore:
16542         * gst/autoplug/Makefile.am:
16543         * gst/autoplug/gstsearchfuncs.c:
16544         * gst/autoplug/gstsearchfuncs.h:
16545         * gst/autoplug/gstspider.c:
16546         * gst/autoplug/gstspider.h:
16547         * gst/autoplug/gstspideridentity.c:
16548         * gst/autoplug/gstspideridentity.h:
16549         * gst/autoplug/spidertest.c:
16550           Die, spider, die.
16551
16552 2005-04-25  Wim Taymans  <wim@fluendo.com>
16553
16554         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16555         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16556         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
16557         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
16558         * gst/gstpad.h:
16559         Added stubs for unimplemented functions. 
16560
16561 2005-04-24  David Schleef  <ds@schleef.org>
16562
16563         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
16564         please fix.
16565
16566 2005-04-24  David Schleef  <ds@schleef.org>
16567
16568         Convert everything from GstAtomicInt to g_atomic_int_*, and
16569         remove gstatomic.
16570         * gst/Makefile.am:
16571         * gst/gstatomic.c:
16572         * gst/gstatomic.h:
16573         * gst/gstatomic_impl.h:
16574         * gst/gstbuffer.c:
16575         * gst/gstcaps.c:
16576         * gst/gstcaps.h:
16577         * gst/gstclock.c:
16578         * gst/gstclock.h:
16579         * gst/gstdata.c:
16580         * gst/gstdata.h:
16581         * gst/gstdata_private.h:
16582         * gst/gstevent.c:
16583         * gst/gstinfo.c:
16584         * gst/gstinfo.h:
16585         * gst/gstmessage.c:
16586         * gst/gstobject.c:
16587         * gst/gstobject.h:
16588         * gst/gststructure.c:
16589         * gst/gststructure.h:
16590         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
16591         * gst/gstutils.h:
16592
16593 2005-04-24  David Schleef  <ds@schleef.org>
16594
16595         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
16596         make the regressions tests work.  Remove some code that is no
16597         longer true.
16598         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
16599         Disable warning for pads without templates.
16600
16601 2005-04-24  David Schleef  <ds@schleef.org>
16602
16603         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
16604         functions that handle filtered links.
16605         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
16606         removed functions.
16607         * gst/gstutils.c: Fix/remove utility functions that handle
16608         filtered caps.
16609         * gst/gstutils.h:
16610         * gst/gstvalue.c: Add serialization/deserialization of caps
16611         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
16612         requires fixing so that the filter caps notation creates
16613         a capsfilter element and sets the filter_caps property.  I
16614         think everyone probably wants to keep the shorthand notation.
16615         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
16616         * docs/gst/tmpl/gstpad.sgml:
16617
16618         * gst/elements/gstelements.c: Register capsfilter element.
16619         * gst/Makefile.am: fix spacing
16620         * docs/random/ds/0.9-suggested-changes: random
16621
16622 2005-04-23  David Schleef  <ds@schleef.org>
16623
16624         * gst/elements/Makefile.am:
16625         * gst/elements/gstcapsfilter.c: New element that acts like an
16626         identity, but filters caps.  Will eventually replace filtered
16627         caps in pad linking.
16628         * gst/gstutils.c: (gst_element_create_all_pads): New function
16629         to create all the ALWAYS pads that are registered with an
16630         element class.  This functionality should eventually be
16631         merged in with GstElement initialization.
16632         * gst/gstutils.h:
16633         * testsuite/trigger/README: part of trigger test code that should
16634         have been checked in a long time ago.
16635
16636 2005-04-23  David Schleef  <ds@schleef.org>
16637
16638         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
16639         needed with new versions of libtool (nobody will confirm this),
16640         and hard to carry around.
16641         * gst/autoplug/Makefile.am:
16642         * gst/base/Makefile.am:
16643         * gst/elements/Makefile.am:
16644         * gst/indexers/Makefile.am:
16645         * gst/schedulers/Makefile.am:
16646         * libs/gst/bytestream/Makefile.am:
16647         * libs/gst/control/Makefile.am:
16648         * libs/gst/dataprotocol/Makefile.am:
16649         * libs/gst/getbits/Makefile.am:
16650
16651 2005-04-21  Wim Taymans  <wim@fluendo.com>
16652
16653         * docs/design/draft-push-pull.txt:
16654         * docs/design/part-MT-refcounting.txt:
16655         * docs/design/part-TODO.txt:
16656         * docs/design/part-caps.txt:
16657         * docs/design/part-events.txt:
16658         * docs/design/part-gstbus.txt:
16659         * docs/design/part-gstpipeline.txt:
16660         * docs/design/part-messages.txt:
16661         * docs/design/part-push-pull.txt:
16662         * docs/design/part-query.txt:
16663         Some more docs.
16664
16665 2005-04-21  Wim Taymans  <wim@fluendo.com>
16666
16667         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
16668         (gst_message_new), (gst_message_new_error),
16669         (gst_message_new_warning), (gst_message_new_tag),
16670         (gst_message_new_state_changed), (gst_message_new_application),
16671         (gst_message_get_structure):
16672         * gst/gstmessage.h:
16673         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16674         (gst_structure_copy_conditional):
16675         Use parent refcount in GstMessage to ensure GstStructure
16676         consistency.
16677         Cleaned up headers a bit.
16678         
16679
16680 2005-04-20  Wim Taymans  <wim@fluendo.com>
16681
16682         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16683         (gst_basesink_pad_getcaps), (gst_basesink_init),
16684         (gst_basesink_chain_unlocked):
16685         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
16686         (gst_type_find_helper):
16687         * gst/elements/gsttypefindelement.c:
16688         (gst_type_find_element_have_type), (gst_type_find_element_init),
16689         (stop_typefinding), (gst_type_find_element_handle_event),
16690         (find_suggest), (gst_type_find_element_chain),
16691         (gst_type_find_element_checkgetrange),
16692         (gst_type_find_element_getrange), (do_typefind),
16693         (gst_type_find_element_activate):
16694         * gst/gstbuffer.c: (_gst_buffer_sub_free),
16695         (gst_buffer_default_free), (gst_buffer_default_copy),
16696         (gst_buffer_set_caps):
16697         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
16698         (gst_caps_replace):
16699         * gst/gstmessage.c: (gst_message_new),
16700         (gst_message_new_state_changed):
16701         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16702         (gst_pad_set_checkgetrange_function),
16703         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
16704         (gst_pad_set_caps), (gst_pad_check_pull_range),
16705         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
16706         * gst/gstpad.h:
16707         * gst/gsttypefind.c: (gst_type_find_register):
16708         Make gst_caps_replace() work like other _replace() functions.
16709         Use _caps_replace() where possible.
16710         Make sure _message_new() initialises its field.
16711         Add gst_static_pad_template_get_caps()
16712
16713
16714 2005-04-18  Andy Wingo  <wingo@pobox.com>
16715
16716         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
16717         on the peer, not the pad. I think that was a typo. Pass an extra
16718         arg to see if random access is possible. Activate the pads as
16719         PULL_RANGE if possible.
16720
16721         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
16722
16723         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
16724         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
16725         to PROP_....
16726
16727 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16728
16729         * docs/faq/using.xml:
16730           Add note on gstreamer-properties (#154996).
16731
16732 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16733
16734         * docs/random/bbb/optional-properties:
16735           Some analysis on optional properties.
16736
16737 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16738
16739         * docs/gst/tmpl/gstelementfactory.sgml:
16740         * gst/gstelement.h:
16741         * gst/gstelementfactory.c: (gst_element_factory_init),
16742         (gst_element_factory_cleanup), (gst_element_register),
16743         (__gst_element_factory_add_static_pad_template),
16744         (gst_element_factory_get_static_pad_templates),
16745         (gst_element_factory_can_src_caps),
16746         (gst_element_factory_can_sink_caps):
16747         * gst/registries/Makefile.am:
16748         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
16749         (gst_xml_registry_class_init), (gst_xml_registry_init),
16750         (gst_xml_registry_new), (gst_xml_registry_set_property),
16751         (gst_xml_registry_get_property), (get_time), (make_dir),
16752         (gst_xml_registry_get_perms_func),
16753         (plugin_times_older_than_recurse), (plugin_times_older_than),
16754         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
16755         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
16756         (add_to_char_array), (read_string), (read_uint), (read_enum),
16757         (load_pad_template), (load_feature), (load_plugin), (load_paths),
16758         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
16759         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
16760         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
16761         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
16762         (gst_xml_registry_rebuild):
16763         * gst/registries/gstlibxmlregistry.h:
16764         * tools/gst-compprep.c: (main):
16765         * tools/gst-inspect.c: (print_pad_templates_info):
16766         * tools/gst-xmlinspect.c: (print_element_info):
16767           Use libxml2 for registry parsing, use staticpadtemplates in
16768           elementfactories. Makes gst_init() +/- 10x faster.
16769
16770 2005-04-12  Wim Taymans  <wim@fluendo.com>
16771
16772         * gst/base/Makefile.am:
16773         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16774         (gst_basesink_pad_getcaps), (gst_basesink_init),
16775         (gst_basesink_event), (gst_basesink_change_state):
16776         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16777         (gst_basesrc_init), (gst_basesrc_query),
16778         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16779         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16780         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16781         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16782         (gst_basesrc_stop), (gst_basesrc_activate),
16783         (gst_basesrc_change_state):
16784         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16785         (helper_find_suggest), (gst_type_find_helper):
16786         * gst/base/gsttypefindhelper.h:
16787         * gst/elements/Makefile.am:
16788         * gst/elements/gstelements.c:
16789         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16790         (gst_fakesink_get_times), (gst_fakesink_event),
16791         (gst_fakesink_preroll), (gst_fakesink_render):
16792         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16793         (gst_fakesrc_init), (gst_fakesrc_event_handler),
16794         (gst_fakesrc_get_property), (gst_fakesrc_create),
16795         (gst_fakesrc_start), (gst_fakesrc_stop):
16796         * gst/elements/gstfakesrc.h:
16797         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
16798         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16799         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16800         (gst_filesrc_create_read), (gst_filesrc_create),
16801         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
16802         (gst_filesrc_start):
16803         * gst/elements/gsttypefindelement.c:
16804         (gst_type_find_element_have_type), (gst_type_find_element_init),
16805         (start_typefinding), (stop_typefinding), (push_buffer_store),
16806         (gst_type_find_element_handle_event),
16807         (gst_type_find_element_chain),
16808         (gst_type_find_element_checkgetrange),
16809         (gst_type_find_element_getrange), (do_typefind),
16810         (gst_type_find_element_activate),
16811         (gst_type_find_element_change_state):
16812         * gst/elements/gsttypefindelement.h:
16813         * gst/gstpipeline.c: (pipeline_bus_handler):
16814         Added typefind helper.
16815         Small preroll fix in the base sink.
16816         Disable typefind code in basesrc.
16817         Crude port of typefindelement.
16818         Fakesrc cleanups.
16819
16820
16821 2005-04-11  Wim Taymans  <wim@fluendo.com>
16822
16823         * check/gst/gstbus.c: (gstbus_suite):
16824         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
16825         * check/gstcheck.h:
16826           Fix up the timeout so that the test does not fail.
16827
16828 2005-04-06  Wim Taymans  <wim@fluendo.com>
16829
16830         * gst/base/README:
16831         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16832         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
16833         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16834         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16835         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16836         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16837         (gst_basesrc_stop), (gst_basesrc_activate),
16838         (gst_basesrc_change_state), (basesrc_find_peek),
16839         (basesrc_find_suggest), (gst_basesrc_type_find):
16840         * gst/base/gstbasesrc.h:
16841         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
16842         (gst_filesrc_class_init), (gst_filesrc_init),
16843         (gst_filesrc_finalize), (gst_filesrc_set_location),
16844         (gst_filesrc_set_property), (gst_filesrc_get_property),
16845         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16846         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16847         (gst_filesrc_create_read), (gst_filesrc_create),
16848         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
16849         * gst/elements/gstfilesrc.h:
16850         * gst/gstelement.c: (gst_element_get_state_func),
16851         (gst_element_lost_state), (gst_element_pads_activate):
16852         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16853         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16854         (gst_pad_pull_range):
16855         * gst/gstpad.h:
16856         More work on the generic source base class, implement seeking,
16857         query.
16858         Make filesrc extend the base source class.
16859         Added gst_pad_set_checkgetrange_function to GstPad.
16860
16861 2005-04-06  Andy Wingo  <wingo@pobox.com>
16862
16863         * pkgconfig/gstreamer-base.pc.in:
16864         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
16865
16866         * pkgconfig/Makefile.am:
16867         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
16868
16869 2005-04-04  Wim Taymans  <wim@fluendo.com>
16870
16871         * gst/base/Makefile.am:
16872         * gst/base/README:
16873         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16874         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
16875         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
16876         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
16877         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16878         (gst_basesrc_base_init), (gst_basesrc_class_init),
16879         (gst_basesrc_init), (gst_basesrc_get_formats),
16880         (gst_basesrc_get_query_types), (gst_basesrc_query),
16881         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
16882         (gst_basesrc_set_property), (gst_basesrc_get_property),
16883         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
16884         (gst_basesrc_loop), (gst_basesrc_activate),
16885         (gst_basesrc_change_state):
16886         * gst/base/gstbasesrc.h:
16887         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
16888         (gst_fakesrc_class_init), (gst_fakesrc_init),
16889         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
16890         (gst_fakesrc_get_property), (gst_fakesrc_create):
16891         * gst/elements/gstfakesrc.h:
16892         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
16893         (gst_filesrc_open_file), (gst_filesrc_loop),
16894         (gst_filesrc_activate), (filesrc_find_peek),
16895         (gst_filesrc_type_find):
16896         Made base source class, make fakesrc extend it.
16897         Add comments to basesink class.
16898         Some filesrc cleanup.
16899
16900 2005-03-31  David Schleef  <ds@schleef.org>
16901
16902         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
16903         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
16904         expected to link against libgstreamer.
16905         * gst/base/Makefile.am: link against libgstreamer
16906         * gst/elements/Makefile.am: same
16907
16908 2005-03-31  Andy Wingo  <wingo@pobox.com>
16909
16910         * tests/instantiate/Makefile.am:
16911         * tests/instantiate/caps.c: Add test to test speed of caps copy
16912         and free.
16913
16914         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
16915         GMemChunk to be fair.
16916
16917         * gst/gsttrashstack.h: Remove warning about using the fallback
16918         trash stack implementation, it's still faster than malloc.
16919
16920 2005-03-30  Andy Wingo  <wingo@pobox.com>
16921
16922         * tests/complexity.c: Add a copyright.
16923
16924 2005-03-31  Wim Taymans  <wim@fluendo.com>
16925
16926         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
16927         (gst_base_transform_class_init), (gst_base_transform_init),
16928         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16929         (gst_base_transform_get_property),
16930         (gst_base_transform_sink_activate),
16931         (gst_base_transform_src_activate),
16932         (gst_base_transform_change_state):
16933         * gst/base/gstbasetransform.h:
16934         * gst/elements/gstidentity.c: (gst_identity_class_init),
16935         (gst_identity_event), (gst_identity_check_perfect),
16936         (gst_identity_transform), (gst_identity_start),
16937         (gst_identity_stop):
16938         Added start/stop methods to transform base class so subclasses 
16939         don't need to deal with state changes even.
16940
16941 2005-03-31  Wim Taymans  <wim@fluendo.com>
16942
16943         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
16944         (gst_event_new_discontinuous), (gst_event_discont_get_value):
16945         * gst/gstevent.h:
16946         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16947         (gst_pad_pull_range):
16948         Added rate to the discont event to prepare for variable speed
16949         and reverse playback.
16950
16951 2005-03-29  David Schleef  <ds@schleef.org>
16952
16953         * configure.ac:
16954         * testsuite/trigger/Makefile.am:
16955         * testsuite/trigger/trigger.c: A little example program to show
16956         how trigger-based elements can work.
16957
16958 2005-03-29  Wim Taymans  <wim@fluendo.com>
16959
16960         * gst/base/Makefile.am:
16961         * gst/base/README:
16962         * gst/base/gstbasesink.c: (gst_basesink_get_type),
16963         (gst_basesink_base_init), (gst_basesink_class_init),
16964         (gst_basesink_pad_getcaps), (gst_basesink_init),
16965         (gst_basesink_activate), (gst_basesink_change_state):
16966         * gst/base/gstbasesink.h:
16967         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
16968         (gst_base_transform_base_init), (gst_base_transform_finalize),
16969         (gst_base_transform_class_init), (gst_base_transform_init),
16970         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
16971         (gst_base_transform_event), (gst_base_transform_getrange),
16972         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
16973         (gst_base_transform_set_property),
16974         (gst_base_transform_get_property),
16975         (gst_base_transform_sink_activate),
16976         (gst_base_transform_src_activate),
16977         (gst_base_transform_change_state):
16978         * gst/base/gstbasetransform.h:
16979         * gst/elements/gstidentity.c: (gst_identity_finalize),
16980         (gst_identity_class_init), (gst_identity_init),
16981         (gst_identity_event), (gst_identity_check_perfect),
16982         (gst_identity_transform), (gst_identity_set_property),
16983         (gst_identity_get_property), (gst_identity_change_state):
16984         * gst/elements/gstidentity.h:
16985         * gst/gstelement.c: (gst_element_get_state_func),
16986         (gst_element_lost_state), (gst_element_pads_activate):
16987         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16988         (gst_pad_check_pull_range), (gst_pad_pull_range):
16989         * gst/gstpad.h:
16990         Simplify pad activation.
16991         Added function to check if pull_range can be performed.
16992         Error out when pulling inactive or flushing pads.
16993         Removed const from refcounted types as it does not make sense.
16994         Simplify pad templates in basesink
16995         Added base class for simple 1-to-1 transforms.
16996         Make identity subclass the base transform.
16997
16998 2005-03-29  Andy Wingo  <wingo@pobox.com>
16999
17000         * docs/libs/gstreamer-libs-overrides.txt: 
17001         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
17002         really don't understand what's going on, but like whatever. I want
17003         green buildbot!
17004
17005         * docs/gst/Makefile.am:
17006         * docs/libs/Makefile.am: Dist the overrides files.
17007
17008         * check/Makefile.am (clean-local): Remove .libs directories.
17009
17010         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
17011         elements to EXTRA_DIST, so po/ files are happy.
17012
17013         * po/POTFILES.in: Er, remove it here.
17014
17015         * po/POTFILES: Remove gstspider.c.
17016
17017         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17018
17019         * docs/libs/gstreamer-libs-docs.sgml: 
17020         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17021         bytestream.
17022
17023         * tests/complexity.c (main): Set the length of the preroll queue
17024         on the sinks to prevent a lockup.
17025
17026         * libs/gst/dataprotocol/Makefile.am: 
17027         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17028         the same as the one in check/gst-libs/gdp.c.
17029
17030         * po/, docs/gst/: Commit automatic changes to docs and po files.
17031
17032         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17033         the versioned libgstbase.
17034
17035         * check/Makefile.am: Depend on an unversioned gst-register, seems
17036         to make autoconf happier.
17037
17038         * gst/base/Makefile.am: Make libgstbase a versioned lib.
17039
17040 2005-03-28  Wim Taymans  <wim@fluendo.com>
17041
17042         * configure.ac:
17043         * docs/design/part-gstelement.txt:
17044         * docs/design/part-negotiation.txt:
17045         * docs/design/part-preroll.txt:
17046         * docs/design/part-scheduling.txt:
17047         * docs/design/part-states.txt:
17048         * gst/Makefile.am:
17049         * gst/base/Makefile.am:
17050         * gst/base/README:
17051         * gst/base/gstbasesink.c: (gst_basesink_get_template),
17052         (gst_basesink_base_init), (gst_basesink_class_init),
17053         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17054         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17055         (gst_basesink_set_pad_functions),
17056         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17057         (gst_basesink_set_property), (gst_basesink_get_property),
17058         (gst_base_sink_get_template), (gst_base_sink_get_caps),
17059         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17060         (gst_basesink_preroll_queue_push),
17061         (gst_basesink_preroll_queue_empty),
17062         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17063         (gst_basesink_event), (gst_basesink_get_times),
17064         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17065         (gst_basesink_chain_unlocked), (gst_basesink_chain),
17066         (gst_basesink_loop), (gst_basesink_activate),
17067         (gst_basesink_change_state):
17068         * gst/base/gstbasesink.h:
17069         * gst/elements/Makefile.am:
17070         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17071         (gst_fakesink_class_init), (gst_fakesink_init),
17072         (gst_fakesink_set_property), (gst_fakesink_get_property),
17073         (gst_fakesink_get_times), (gst_fakesink_event),
17074         (gst_fakesink_preroll), (gst_fakesink_render),
17075         (gst_fakesink_change_state):
17076         * gst/elements/gstfakesink.h:
17077         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17078         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17079         * gst/gstelement.c: (gst_element_add_pad),
17080         (gst_element_get_state_func), (gst_element_abort_state),
17081         (gst_element_commit_state), (gst_element_lost_state),
17082         (gst_element_set_state), (gst_element_pads_activate):
17083         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17084         * gst/gstpipeline.c: (gst_pipeline_send_event),
17085         (gst_pipeline_change_state):
17086         Added state change code.
17087         Added/updated docs.
17088         Added sink base class, make fakesink extend the base class.
17089         Small cleanups in GstPipeline.
17090
17091 2005-03-26  David Schleef  <ds@schleef.org>
17092
17093         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
17094         is broken and should be implemented in a different library.
17095         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17096         * gst/gst.h: remove gstcpu.h
17097         * gst/gstcpu.c: remove
17098         * gst/gstcpu.h: remove
17099         * gst/Makefile.am.future: Remove this file.  It's ancient.
17100
17101 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17102
17103         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17104         (gst_bin_send_event):
17105           Add default event/set_manager handlers. The set_manager handler
17106           takes care that the manager is distributed over kids that were
17107           already in the bin before the manager was set. The event handler
17108           is a utility virtual function that sends the event over all sinks,
17109           so that gst_element_send_event (bin, event); has the expected
17110           behaviour.
17111         * gst/gstpad.c: (gst_pad_event_default):
17112           Re-install default event handling for discontinuities, so that
17113           seeking works without requiring hacks in applications or extra
17114           code in sinks.
17115         * gst/gstpipeline.c: (gst_pipeline_class_init),
17116         (gst_pipeline_send_event):
17117           Half hack, half utility: set a pipeline to PAUSED for seek events,
17118           since that is the only way we can guarantee a/v sync. Means that
17119           you can do gst_element_seek (pipeline, method, pos); on a pipeline
17120           and it "just works".
17121
17122 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17123
17124         * gst/gstpipeline.c: (gst_pipeline_use_clock):
17125           Lock/unlock mismatch.
17126
17127 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17128
17129         * docs/faq/gst-uninstalled:
17130           add gst-plugins-base
17131         * docs/gst/Makefile.am:
17132           don't error out until docs are fixed
17133         * docs/gst/gstreamer.types:
17134           remove thread
17135
17136 2005-03-22  Wim Taymans  <wim@fluendo.com>
17137
17138         * check/Makefile.am:
17139         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17140         * gst/gststructure.c: (gst_structure_set_valist),
17141         (gst_structure_copy_conditional):
17142         Activated more tests.
17143         Added message test.
17144         Added G_TYPE_POINTER to GstStructure.
17145         
17146
17147 2005-03-22  Wim Taymans  <wim@fluendo.com>
17148
17149         * docs/design/part-TODO.txt:
17150         * docs/design/part-events.txt:
17151         * docs/design/part-gstbin.txt:
17152         * docs/design/part-gstbus.txt:
17153         * docs/design/part-gstpipeline.txt:
17154         * docs/design/part-messages.txt:
17155         * gst/gstbus.c:
17156         * gst/gstmessage.c:
17157         Docs updates
17158
17159 2005-03-21  Wim Taymans  <wim@fluendo.com>
17160
17161         * gst/gstbus.c: (gst_bus_post):
17162         Fix copy-and-paste error.
17163
17164 2005-03-21  Wim Taymans  <wim@fluendo.com>
17165
17166         * check/Makefile.am:
17167         * gst/Makefile.am:
17168         * gst/elements/Makefile.am:
17169         * gst/elements/gstelements.c:
17170         * gst/elements/gstfakesink.c: (gst_fakesink_init),
17171         (gst_fakesink_event), (gst_fakesink_chain):
17172         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17173         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17174         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17175         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17176         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17177         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17178         (gst_fakesrc_loop), (gst_fakesrc_activate),
17179         (gst_fakesrc_change_state):
17180         * gst/elements/gstfakesrc.h:
17181         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17182         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17183         (gst_filesrc_open_file), (gst_filesrc_loop),
17184         (gst_filesrc_activate), (gst_filesrc_change_state),
17185         (filesrc_find_peek), (filesrc_find_suggest),
17186         (gst_filesrc_type_find):
17187         * gst/elements/gstidentity.c: (gst_identity_finalize),
17188         (gst_identity_class_init), (gst_identity_init),
17189         (gst_identity_proxy_getcaps), (identity_queue_push),
17190         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17191         (gst_identity_getrange), (gst_identity_chain),
17192         (gst_identity_sink_loop), (gst_identity_src_loop),
17193         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17194         (gst_identity_set_property), (gst_identity_get_property),
17195         (gst_identity_change_state):
17196         * gst/elements/gstidentity.h:
17197         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17198         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17199         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17200         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17201         (gst_tee_sink_activate):
17202         * gst/elements/gsttee.h:
17203         * gst/gst.c: (gst_register_core_elements), (init_post):
17204         * gst/gst.h:
17205         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17206         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17207         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17208         (gst_bin_change_state):
17209         * gst/gstbin.h:
17210         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17211         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17212         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17213         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17214         (gst_bus_set_sync_handler), (gst_bus_create_watch),
17215         (bus_watch_callback), (bus_watch_destroy),
17216         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17217         (poll_timeout), (gst_bus_poll):
17218         * gst/gstbus.h:
17219         * gst/gstcaps.h:
17220         * gst/gstdata.h:
17221         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17222         (gst_element_post_message), (gst_element_message_full),
17223         (gst_element_get_state_func), (gst_element_get_state),
17224         (gst_element_abort_state), (gst_element_commit_state),
17225         (gst_element_lost_state), (gst_element_set_state),
17226         (gst_element_pads_activate), (gst_element_change_state),
17227         (gst_element_dispose), (gst_element_set_manager_func),
17228         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17229         (gst_element_set_manager), (gst_element_get_manager),
17230         (gst_element_set_bus), (gst_element_get_bus),
17231         (gst_element_set_scheduler), (gst_element_get_scheduler):
17232         * gst/gstelement.h:
17233         * gst/gstevent.c: (gst_event_new_segment_seek),
17234         (gst_event_new_flush):
17235         * gst/gstevent.h:
17236         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17237         (_gst_message_free), (gst_message_get_type), (gst_message_new),
17238         (gst_message_new_eos), (gst_message_new_error),
17239         (gst_message_new_warning), (gst_message_new_tag),
17240         (gst_message_new_state_changed), (gst_message_new_application),
17241         (gst_message_get_structure), (gst_message_parse_tag),
17242         (gst_message_parse_state_changed), (gst_message_parse_error),
17243         (gst_message_parse_warning):
17244         * gst/gstmessage.h:
17245         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17246         (gst_real_pad_set_property), (gst_pad_set_active),
17247         (gst_pad_is_active), (gst_pad_set_blocked_async),
17248         (gst_pad_set_blocked), (gst_pad_is_blocked),
17249         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17250         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17251         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17252         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17253         (gst_pad_link_filtered), (gst_pad_relink_filtered),
17254         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17255         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17256         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17257         (gst_pad_set_caps), (gst_pad_configure_sink),
17258         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17259         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17260         (gst_real_pad_dispose), (gst_real_pad_finalize),
17261         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17262         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17263         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17264         * gst/gstpad.h:
17265         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17266         (pipeline_bus_handler), (gst_pipeline_change_state),
17267         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17268         * gst/gstpipeline.h:
17269         * gst/gstprobe.h:
17270         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17271         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17272         (gst_queue_link_src), (gst_queue_bufferalloc),
17273         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17274         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17275         (gst_queue_loop), (gst_queue_handle_src_event),
17276         (gst_queue_handle_src_query), (gst_queue_src_activate),
17277         (gst_queue_change_state):
17278         * gst/gstqueue.h:
17279         * gst/gstscheduler.c: (gst_scheduler_init),
17280         (gst_scheduler_dispose), (gst_scheduler_create_task),
17281         (gst_scheduler_factory_create):
17282         * gst/gstscheduler.h:
17283         * gst/gststructure.c: (gst_structure_get_type),
17284         (gst_structure_copy_conditional):
17285         * gst/gststructure.h:
17286         * gst/gsttaginterface.h:
17287         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17288         (gst_task_init), (gst_task_dispose), (gst_task_create),
17289         (gst_task_get_state), (gst_task_start), (gst_task_stop),
17290         (gst_task_pause):
17291         * gst/gsttask.h:
17292         * gst/gstthread.c:
17293         * gst/gstthread.h:
17294         * gst/gsttypes.h:
17295         * gst/schedulers/Makefile.am:
17296         * gst/schedulers/cothreads_compat.h:
17297         * gst/schedulers/entryscheduler.c:
17298         * gst/schedulers/faircothreads.c:
17299         * gst/schedulers/faircothreads.h:
17300         * gst/schedulers/fairscheduler.c:
17301         * gst/schedulers/gstbasicscheduler.c:
17302         * gst/schedulers/gstoptimalscheduler.c:
17303         * gst/schedulers/gthread-cothreads.h:
17304         * gst/schedulers/threadscheduler.c:
17305         (gst_thread_scheduler_task_get_type),
17306         (gst_thread_scheduler_task_class_init),
17307         (gst_thread_scheduler_task_init),
17308         (gst_thread_scheduler_task_start),
17309         (gst_thread_scheduler_task_stop),
17310         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17311         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17312         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17313         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17314         (plugin_init):
17315         * libs/gst/Makefile.am:
17316         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17317         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17318         (gst_file_pad_parent_set):
17319         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17320         (gst_dp_event_from_packet):
17321         * tests/complexity.c: (main):
17322         * tests/mass_elements.c: (main):
17323         * testsuite/states/locked.c: (message_received), (main):
17324         * testsuite/states/parent.c: (main):
17325         * tools/gst-inspect.c: (print_element_flag_info),
17326         (print_implementation_info), (print_pad_info):
17327         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17328         (main):
17329         * tools/gst-md5sum.c: (event_loop), (main):
17330         * tools/gst-typefind.c: (main):
17331         * tools/gst-xmlinspect.c: (print_element_info):
17332         Next big merge.
17333         Added GstBus for mainloop integration.
17334         Added GstMessage for sending notifications on the bus.
17335         Added GstTask as an abstraction for pipeline entry points.
17336         Removed GstThread.
17337         Removed Schedulers.
17338         Simplified GstQueue for multithreaded core.
17339         Made _link threadsafe, removed old capsnego.
17340         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17341         Added pad blocking functions.
17342         Reworked scheduling functions in GstPad to prepare for
17343         scheduling updates soon.
17344         Moved events out of data stream.
17345         Simplified GstEvent types.
17346         Added return values to push/pull.
17347         Removed clocking from GstElement.
17348         Added prototypes for state change function for next merge.
17349         Removed iterate from bins and state change management.
17350         Fixed some elements, disabled others for now.
17351         Fixed -inspect and -launch.
17352         Added check for GstBus.
17353
17354 2005-03-10  Wim Taymans  <wim@fluendo.com>
17355
17356         * docs/design/part-MT-refcounting.txt:
17357         * docs/design/part-clocks.txt:
17358         * docs/design/part-gstelement.txt:
17359         * docs/design/part-gstobject.txt:
17360         * docs/design/part-standards.txt:
17361         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17362         (gst_bin_remove_func), (gst_bin_remove):
17363         * gst/gstbin.h:
17364         * gst/gstbuffer.c:
17365         * gst/gstcaps.h:
17366         * testsuite/clock/clock1.c: (main):
17367         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17368         (main):
17369         * testsuite/dlopen/loadgst.c: (do_test):
17370         * testsuite/refcounting/bin.c: (add_remove_test1),
17371         (add_remove_test2), (main):
17372         * testsuite/refcounting/element.c: (main):
17373         * testsuite/refcounting/element_pad.c: (main):
17374         * testsuite/refcounting/pad.c: (main):
17375         * tools/gst-launch.c: (sigint_handler_sighandler):
17376         * tools/gst-typefind.c: (main):
17377         Doc updates.
17378         Added doc about clock.
17379         removed gst_bin_iterate_recurse_up(), marked methods
17380         for removal.
17381         Fix more testsuites.
17382
17383 2005-03-09  Wim Taymans  <wim@fluendo.com>
17384
17385         * gst/gstpad.c: (gst_pad_get_direction),
17386         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17387         (gst_pad_collect_valist):
17388         * testsuite/bins/interface.c: (main):
17389         * testsuite/caps/audioscale.c: (test_caps):
17390         * testsuite/caps/caps.c: (test1), (test2), (test3):
17391         * testsuite/caps/deserialize.c: (main):
17392         * testsuite/caps/enumcaps.c: (main):
17393         * testsuite/caps/filtercaps.c: (main):
17394         * testsuite/caps/intersect2.c: (main):
17395         * testsuite/caps/random.c: (main):
17396         * testsuite/caps/renegotiate.c: (my_fixate), (main):
17397         * testsuite/caps/sets.c: (check_caps):
17398         * testsuite/caps/simplify.c: (check_caps), (main):
17399         * testsuite/caps/subtract.c: (check_caps):
17400         Fix _pad_get_direction wrt ghostpads.
17401         Fix caps testsuite.
17402
17403 2005-03-09  Wim Taymans  <wim@fluendo.com>
17404
17405         * check/Makefile.am:
17406         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17407         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17408         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17409         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17410         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17411         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17412         (gst_bin_remove), (gst_bin_iterate_recurse_up),
17413         (bin_element_is_sink), (gst_bin_iterate_sinks),
17414         (gst_bin_iterate_all_by_interface):
17415         * gst/gstbin.h:
17416         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17417         (gst_element_change_state), (gst_element_dispose),
17418         (gst_element_finalize), (gst_element_set_loop_function):
17419         * gst/gstelement.h:
17420         * gst/gstiterator.c: (find_custom_fold_func):
17421         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17422         (gst_pad_collectv), (gst_pad_collect_valist),
17423         (gst_pad_template_new):
17424         * gst/gstpipeline.c: (gst_pipeline_class_init),
17425         (gst_pipeline_dispose), (gst_pipeline_set_property),
17426         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17427         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17428         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17429         * gst/gstutils.h:
17430         * gst/schedulers/entryscheduler.c:
17431         * gst/schedulers/gstbasicscheduler.c:
17432         (gst_basic_scheduler_cothreaded_chain),
17433         (gst_basic_scheduler_chain_add_element):
17434         * testsuite/bins/interface.c: (main):
17435         Added GstBin test.
17436         Added GstSystemClock test.
17437         Implemented clock distribution code in GstBin.
17438         Implemented iterate sinks method for future use.
17439         Rearranged gstelement.h
17440         Fix GstIterator comparison bug.
17441         Moved some code to GstPipeline, mostly clocking related.
17442
17443 2005-03-09  Wim Taymans  <wim@fluendo.com>
17444
17445         * configure.ac:
17446         * gst/gst_private.h:
17447         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17448         (gst_bin_remove_func), (gst_bin_remove),
17449         (gst_bin_get_by_name_recurse_up):
17450         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17451         (gst_clock_id_compare_func), (gst_clock_id_wait),
17452         (gst_clock_id_wait_async), (gst_clock_init),
17453         (gst_clock_adjust_unlocked), (gst_clock_get_time):
17454         * gst/gstelement.h:
17455         * gst/gstinfo.c: (_gst_debug_init):
17456         * gst/gstobject.h:
17457         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17458         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17459         * gst/gstpad.h:
17460         Bump version number, we're now 0.9.0
17461         Add future debugging category.
17462         Fix NULL _unref() in _get_by_name_recurse_up
17463         Rearrange gstpad.h.
17464         Update some docs.
17465
17466 2005-03-08  Wim Taymans  <wim@fluendo.com>
17467
17468         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17469         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17470         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17471         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17472         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17473         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17474         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17475         * gst/elements/gstidentity.c: (gst_identity_class_init):
17476         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17477         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17478         * gst/elements/gstshaper.c: (gst_shaper_class_init):
17479         * gst/elements/gststatistics.c: (gst_statistics_class_init):
17480         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17481         (gst_tee_link):
17482         * gst/gstelement.c: (gst_element_class_init),
17483         (gst_element_base_class_init), (gst_element_init),
17484         (gst_element_get_random_pad), (gst_element_wait_state_change),
17485         (gst_element_change_state), (gst_element_dispose),
17486         (gst_element_finalize), (gst_element_set_loop_function):
17487         * gst/gstelement.h:
17488         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17489         * gst/gstthread.c: (gst_thread_class_init),
17490         (gst_thread_release_children_locks), (gst_thread_change_state):
17491         * gst/schedulers/gstbasicscheduler.c:
17492         (gst_basic_scheduler_loopfunc_wrapper),
17493         (gst_basic_scheduler_chain_wrapper),
17494         (gst_basic_scheduler_src_wrapper),
17495         (gst_basic_scheduler_remove_element):
17496         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17497         Remove threadsafe properties. Fix elements because GObject
17498         complains when installing a property before declaring a
17499         set/get_property handler.
17500         Rearrange gstelement.h file, use STATE macros for state locks.
17501         Free mutexes in the finalize method instead of dispose.
17502
17503 2005-03-08  Wim Taymans  <wim@fluendo.com>
17504
17505         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17506         * gst/gstthread.c: (gst_thread_release_children_locks):
17507         Added parentage check.
17508         Fix build og GstThread again.
17509
17510 2005-03-08  Wim Taymans  <wim@fluendo.com>
17511
17512         * docs/design/part-MT-refcounting.txt:
17513         * docs/design/part-conventions.txt:
17514         * docs/design/part-gstobject.txt:
17515         * docs/design/part-relations.txt:
17516         * docs/design/part-standards.txt:
17517         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17518         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17519         (gst_bin_get_by_name), (gst_bin_get_by_interface),
17520         (gst_bin_iterate_all_by_interface):
17521         * gst/gstbuffer.h:
17522         * gst/gstclock.h:
17523         * gst/gstelement.c: (gst_element_class_init),
17524         (gst_element_change_state), (gst_element_set_loop_function):
17525         * gst/gstelement.h:
17526         * gst/gstiterator.c:
17527         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17528         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17529         (gst_object_dispatch_properties_changed), (gst_object_set_name),
17530         (gst_object_set_parent), (gst_object_unparent),
17531         (gst_object_check_uniqueness):
17532         * gst/gstobject.h:
17533         Docs updates, clean up some headers.
17534
17535 2005-03-07  Wim Taymans  <wim@fluendo.com>
17536
17537         * check/.cvsignore:
17538         * check/Makefile.am:
17539         * check/gst-libs/.cvsignore:
17540         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17541         * check/gst/.cvsignore:
17542         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
17543         (START_TEST), (gstbus_suite), (main):
17544         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
17545         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
17546         (gst_data_suite), (main):
17547         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
17548         (add_fold_func), (gstiterator_suite), (main):
17549         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
17550         (thread_name_object), (thread_name_object_default),
17551         (gst_object_name_compare), (gst_object_suite), (main):
17552         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
17553         (gst_pad_suite), (main):
17554         * check/gstcheck.c: (gst_check_log_message_func),
17555         (gst_check_log_critical_func), (gst_check_init):
17556         * check/gstcheck.h:
17557         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17558         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
17559         Added checks.
17560
17561 2005-03-07  Wim Taymans  <wim@fluendo.com>
17562
17563         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17564         (gst_list_iterator_next), (gst_list_iterator_resync),
17565         (gst_list_iterator_free), (gst_iterator_new_list),
17566         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
17567         (gst_iterator_free), (gst_iterator_push), (filter_next),
17568         (filter_resync), (filter_uninit), (filter_free),
17569         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
17570         (gst_iterator_foreach), (find_custom_fold_func),
17571         (gst_iterator_find_custom):
17572         * gst/gstiterator.h:
17573         Added missing files.
17574
17575 2005-03-07  Wim Taymans  <wim@fluendo.com>
17576
17577         * Makefile.am:
17578         * configure.ac:
17579         * docs/design/part-MT-refcounting.txt:
17580         * docs/design/part-conventions.txt:
17581         * docs/design/part-gstobject.txt:
17582         * docs/design/part-relations.txt:
17583         * examples/mixer/mixer.c: (main):
17584         * examples/thread/thread.c: (eos), (main):
17585         * gst/Makefile.am:
17586         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
17587         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
17588         (gst_spider_plug_from_srcpad):
17589         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
17590         (gst_spider_identity_change_state),
17591         (gst_spider_identity_sink_loop_type_finding):
17592         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
17593         * gst/elements/gstidentity.c: (gst_identity_init):
17594         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
17595         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
17596         * gst/elements/gsttypefindelement.c: (free_entry):
17597         * gst/gst.c:
17598         * gst/gst.h:
17599         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
17600         (gst_bin_set_clock_func), (gst_bin_auto_clock),
17601         (gst_bin_set_index), (gst_bin_set_element_sched),
17602         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
17603         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
17604         (gst_bin_iterate_elements), (iterate_child_recurse),
17605         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
17606         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
17607         (compare_interface), (gst_bin_get_by_interface),
17608         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
17609         * gst/gstbin.h:
17610         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
17611         (gst_buffer_default_free), (gst_buffer_default_copy),
17612         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
17613         (gst_buffer_create_sub):
17614         * gst/gstbuffer.h:
17615         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
17616         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
17617         (gst_caps_unref), (gst_static_caps_get),
17618         (gst_caps_remove_and_get_structure), (gst_caps_append),
17619         (gst_caps_append_structure), (gst_caps_remove_structure),
17620         (gst_caps_copy_nth), (gst_caps_set_simple),
17621         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
17622         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
17623         (gst_caps_structure_intersect_field), (gst_caps_intersect),
17624         (gst_caps_structure_subtract_field), (gst_caps_subtract),
17625         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
17626         (gst_caps_structure_figure_out_union),
17627         (gst_caps_switch_structures), (gst_caps_do_simplify),
17628         (gst_caps_replace), (gst_caps_from_string),
17629         (gst_caps_copy_conditional):
17630         * gst/gstcaps.h:
17631         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
17632         (_gst_clock_id_free), (gst_clock_id_unref),
17633         (gst_clock_id_compare_func), (gst_clock_id_wait),
17634         (gst_clock_id_wait_async), (gst_clock_class_init),
17635         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
17636         (gst_clock_get_time), (gst_clock_set_time_adjust),
17637         (gst_clock_set_property), (gst_clock_get_property):
17638         * gst/gstclock.h:
17639         * gst/gstcompat.h:
17640         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
17641         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
17642         * gst/gstdata.h:
17643         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17644         (gst_element_requires_clock), (gst_element_provides_clock),
17645         (gst_element_set_clock), (gst_element_clock_wait),
17646         (gst_element_wait), (gst_element_set_time_delay),
17647         (gst_element_is_indexable), (gst_element_add_pad),
17648         (gst_element_add_ghost_pad), (gst_element_remove_pad),
17649         (pad_compare_name), (gst_element_get_static_pad),
17650         (gst_element_request_pad), (gst_element_get_request_pad),
17651         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
17652         (gst_element_class_get_pad_template_list),
17653         (gst_element_class_get_pad_template), (gst_element_error_func),
17654         (gst_element_get_random_pad), (gst_element_get_event_masks),
17655         (gst_element_send_event), (gst_element_seek),
17656         (gst_element_get_query_types), (gst_element_query),
17657         (gst_element_get_formats), (gst_element_convert),
17658         (gst_element_is_locked_state), (gst_element_set_locked_state),
17659         (gst_element_sync_state_with_parent), (gst_element_change_state),
17660         (gst_element_finalize), (gst_element_yield),
17661         (gst_element_interrupt), (gst_element_set_scheduler),
17662         (gst_element_get_scheduler), (gst_element_set_loop_function):
17663         * gst/gstelement.h:
17664         * gst/gstevent.h:
17665         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
17666         (gst_format_get_by_nick), (gst_format_get_details),
17667         (gst_format_iterate_definitions):
17668         * gst/gstformat.h:
17669         * gst/gstindex.c: (gst_index_gtype_resolver):
17670         * gst/gstinfo.c:
17671         * gst/gstinfo.h:
17672         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
17673         (gst_mem_chunk_free):
17674         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17675         (gst_object_ref), (gst_object_unref), (gst_object_sink),
17676         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
17677         (gst_object_dispatch_properties_changed),
17678         (gst_object_set_name_default), (gst_object_set_name),
17679         (gst_object_get_name), (gst_object_set_name_prefix),
17680         (gst_object_get_name_prefix), (gst_object_set_parent),
17681         (gst_object_get_parent), (gst_object_unparent),
17682         (gst_object_check_uniqueness), (gst_object_save_thyself),
17683         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
17684         (gst_object_set_property), (gst_object_get_property),
17685         (gst_object_get_path_string):
17686         * gst/gstobject.h:
17687         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17688         (gst_real_pad_init), (gst_real_pad_get_property),
17689         (gst_pad_custom_new), (gst_pad_get_direction),
17690         (gst_pad_set_active), (gst_pad_is_active),
17691         (gst_pad_set_event_function), (gst_pad_is_linked),
17692         (gst_pad_link_free), (gst_pad_link_intersect),
17693         (gst_pad_link_fixate), (gst_pad_set_caps),
17694         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
17695         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
17696         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
17697         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
17698         (gst_pad_get_caps), (gst_pad_peer_get_caps),
17699         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
17700         (gst_pad_realize), (gst_pad_get_allowed_caps),
17701         (gst_real_pad_dispose), (gst_real_pad_finalize),
17702         (gst_pad_collectv), (gst_pad_collect_valist),
17703         (gst_pad_template_dispose), (gst_pad_template_new),
17704         (gst_pad_get_internal_links):
17705         * gst/gstpad.h:
17706         * gst/gstpipeline.c: (gst_pipeline_dispose),
17707         (gst_pipeline_change_state):
17708         * gst/gstpipeline.h:
17709         * gst/gstplugin.c:
17710         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
17711         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
17712         * gst/gstpluginfeature.h:
17713         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
17714         * gst/gstquery.c: (_gst_query_type_initialize),
17715         (gst_query_type_register), (gst_query_type_get_by_nick),
17716         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
17717         * gst/gstquery.h:
17718         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
17719         * gst/gstscheduler.c: (gst_scheduler_add_element),
17720         (gst_scheduler_factory_create):
17721         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17722         (gst_structure_free), (gst_structure_set_name),
17723         (gst_structure_id_set_value), (gst_structure_set_value),
17724         (gst_structure_set_valist), (gst_structure_remove_field),
17725         (gst_structure_remove_fields),
17726         (gst_structure_remove_fields_valist),
17727         (gst_structure_remove_all_fields), (gst_structure_foreach),
17728         (gst_structure_map_in_place),
17729         (gst_caps_structure_fixate_field_nearest_int),
17730         (gst_caps_structure_fixate_field_nearest_double):
17731         * gst/gststructure.h:
17732         * gst/gstsystemclock.c: (gst_system_clock_class_init),
17733         (gst_system_clock_init), (gst_system_clock_dispose),
17734         (gst_system_clock_async_thread),
17735         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
17736         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
17737         * gst/gstsystemclock.h:
17738         * gst/gsttag.c: (gst_tag_list_add_value_internal),
17739         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
17740         * gst/gsttaginterface.c:
17741         * gst/gstthread.c: (gst_thread_dispose),
17742         (gst_thread_release_children_locks), (gst_thread_change_state),
17743         (gst_thread_main_loop):
17744         * gst/gsttrashstack.h:
17745         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
17746         * gst/gsttypes.h:
17747         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17748         (gst_element_request_pad), (gst_element_get_pad_from_template),
17749         (gst_element_request_compatible_pad),
17750         (gst_element_get_compatible_pad_filtered),
17751         (gst_element_get_compatible_pad), (gst_element_state_get_name),
17752         (gst_element_link_pads_filtered), (gst_element_link_filtered),
17753         (gst_element_link_many), (gst_element_link),
17754         (gst_element_link_pads), (gst_element_unlink_pads),
17755         (gst_element_unlink_many), (gst_element_unlink),
17756         (gst_pad_can_link_filtered), (gst_pad_can_link),
17757         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
17758         (gst_object_default_error), (gst_bin_add_many),
17759         (gst_bin_remove_many), (gst_element_populate_std_props),
17760         (gst_element_class_install_std_props), (gst_buffer_merge),
17761         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
17762         (link_fold_func), (gst_pad_proxy_setcaps):
17763         * gst/gstutils.h:
17764         * gst/gstvalue.c: (gst_value_deserialize_string):
17765         * gst/parse/grammar.y:
17766         * gst/schedulers/gstbasicscheduler.c:
17767         (gst_basic_scheduler_cothreaded_chain),
17768         (gst_basic_scheduler_chain_recursive_add),
17769         (gst_basic_scheduler_pad_link):
17770         * gst/schedulers/gstoptimalscheduler.c:
17771         (get_group_schedule_function),
17772         (gst_opt_scheduler_state_transition),
17773         (gst_opt_scheduler_add_element), (element_get_reachables_func):
17774         * libs/gst/bytestream/bytestream.c:
17775         * libs/gst/dataprotocol/dataprotocol.c:
17776         (gst_dp_header_from_buffer):
17777         * po/nb.po:
17778         * po/ru.po:
17779         * tests/threadstate/threadstate2.c: (eos):
17780         * tools/gst-compprep.c: (main):
17781         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
17782         (print_pad_info), (print_children_info):
17783         * tools/gst-launch.c: (idle_func), (main):
17784         * tools/gst-md5sum.c: (idle_func), (main):
17785         * tools/gst-xmlinspect.c: (print_element_info):
17786         First THREADED backport attempt, focusing on adding locks and
17787         making sure the API is threadsafe. Needs more work. More docs
17788         follow this week.
17789
17790 2005-02-24  Andy Wingo  <wingo@pobox.com>
17791
17792         * tests/bench-complexity.scm:
17793         * tests/complexity.gnuplot: New files, good for running complexity
17794         benchmarks.
17795
17796         * tests/Makefile.am:
17797         * tests/complexity.c: New test, sets up N elements, at each level
17798         teeing into M streams per element. Eeeenteresting.
17799
17800         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
17801         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
17802         running bench-mass_elements.scm.
17803
17804         * tests/bench-mass_elements.scm: New script, runs mass_elements
17805         for various numbers of identities, outputting the results to a
17806         file. Requires guile 1.6. Just for testing.
17807
17808 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17809
17810         * gst/schedulers/fairscheduler.c:
17811           compile with debug disabled
17812
17813 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17814
17815         * configure.ac:
17816           hunting season on 0.9 is now OPEN