tests/check/: use the new macro
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * tests/check/elements/fakesink.c:
4         * tests/check/elements/fakesrc.c:
5         * tests/check/elements/fdsrc.c:
6         * tests/check/elements/identity.c:
7         * tests/check/generic/sinks.c: (gst_sinks_suite):
8         * tests/check/generic/states.c:
9         * tests/check/gst/gst.c:
10         * tests/check/gst/gstabi.c:
11         * tests/check/gst/gstbin.c:
12         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
13         * tests/check/gst/gstbus.c: (gst_bus_suite):
14         * tests/check/gst/gstcaps.c: (GST_START_TEST):
15         * tests/check/gst/gstelement.c:
16         * tests/check/gst/gstevent.c: (gst_event_suite):
17         * tests/check/gst/gstghostpad.c:
18         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
19         * tests/check/gst/gstmessage.c: (gst_message_suite):
20         * tests/check/gst/gstminiobject.c:
21         * tests/check/gst/gstobject.c:
22         * tests/check/gst/gstpad.c:
23         * tests/check/gst/gstpipeline.c:
24         * tests/check/gst/gstplugin.c:
25         * tests/check/gst/gstquery.c: (gst_query_suite):
26         * tests/check/gst/gstsegment.c: (gst_segment_suite):
27         * tests/check/gst/gststructure.c:
28         * tests/check/gst/gstsystemclock.c:
29         * tests/check/gst/gsttag.c:
30         * tests/check/gst/gsttask.c: (gst_task_suite):
31         * tests/check/gst/gstutils.c:
32         * tests/check/gst/gstvalue.c:
33         * tests/check/libs/adapter.c:
34         * tests/check/libs/basesrc.c:
35         * tests/check/libs/collectpads.c:
36         * tests/check/libs/controller.c:
37         * tests/check/libs/gdp.c: (gst_dp_suite):
38         * tests/check/libs/gstnetclientclock.c:
39         * tests/check/libs/gstnettimeprovider.c:
40         * tests/check/libs/libsabi.c: (libsabi_suite):
41         * tests/check/libs/typefindhelper.c:
42         * tests/check/pipelines/cleanup.c:
43         * tests/check/pipelines/parse-launch.c:
44         * tests/check/pipelines/simple-launch-lines.c:
45         * tests/check/pipelines/stress.c: (stress_suite):
46           use the new macro
47
48 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
49
50         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
51         * libs/gst/check/gstcheck.h:
52           create a macro and function so that the simple unit test
53           case can be just one macro to create main()
54
55 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
56
57         * gst/gstbin.c: (gst_bin_restore_thyself):
58         * gst/gstxml.c: (gst_xml_make_element):
59           Fix deserialisation from XML. Set parent manually
60           instead of using gst_bin_add(), since gst_bin_add()
61           will unlink all pads of the element being added.
62           Fixes #341667.
63
64 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
65
66         Patch by: Peter Kjellerstedt <pkj at axis com>
67
68         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
69           Fix missing g_strdup() and double free when using the
70           --gst-plugin-load command line option (#346097).
71
72 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
73
74         * gst/gstinfo.c:
75           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
76
77         * libs/gst/net/gstnetclientclock.c:
78         * libs/gst/net/gstnettimeprovider.c:
79           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
80
81 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
82
83         * docs/manual/advanced-dataaccess.xml:
84           Fix buffer probe example compilation in
85           ADM (#345708).
86         
87 2006-06-22  Edward Hervey  <edward@fluendo.com>
88
89         * gst/gstelement.c: (gst_element_pads_activate):
90         We need to deactivate src pads first and then sink pads.
91         The reason is the src pads might be blocking while holding the streaming
92         lock, so we need to deactivate them first so that deactivating the sink
93         pads doesn't block (since it will require the streaming lock).
94
95 2006-06-22  Wim Taymans  <wim@fluendo.com>
96
97         * libs/gst/base/gstbasetransform.c:
98         (gst_base_transform_buffer_alloc):
99         Forgot to remove two unneeded unrefs.
100         Simplify a check _is_equal allready checks the obvious case.
101
102 2006-06-22  Wim Taymans  <wim@fluendo.com>
103
104         * docs/design/part-block.txt:
105         Some docs about what pad_block should do.
106
107 2006-06-22  Wim Taymans  <wim@fluendo.com>
108
109         * gst/gstcaps.c: (gst_caps_replace):
110         Fix crasher when passed NULL. Doc clarification.
111         Optimize for the trivial case.
112
113         * gst/gstpipeline.c: (gst_pipeline_change_state):
114         Small cleanups.
115
116         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
117         Small documentation cleanup.
118
119         * libs/gst/base/gstbasetransform.c:
120         (gst_base_transform_buffer_alloc):
121         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
122         is what we need and it avoids a whole lot of redundant 
123         refcount operations.
124
125 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
126
127         Patch by: Philip Jägenstedt  <philip at lysator liu se>
128
129         * docs/manual/advanced-dataaccess.xml:
130           Fix 'Embedding static elements' section to use
131           GST_PLUGIN_DEFINE_STATIC (#345607).
132
133 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
134
135         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
136           Attempt to 'fix' spuriously failing test case: it seems like the
137           timeout of half a second is simply too small when the system is under
138           load otherwise, and the timeout doesn't really seem to serve any
139           particular purpose here. Give the pipeline a few seconds to preroll
140           first, and then give it another half a second to go from PAUSED to
141           PLAYING and marshal the message into the main thread.
142
143 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
144
145         * tools/gst-feedback-m.m:
146           Don't only use unversioned tools, try versioned tools as well
147           (#345086).
148
149 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
150
151         * gst/gstbus.c: (gst_bus_class_init):
152           Fix some typos, make docs more explicit.
153
154 2006-06-20  Wim Taymans  <wim@fluendo.com>
155
156         * tests/check/gst/gstghostpad.c: (block_callback),
157         (GST_START_TEST), (gst_ghost_pad_suite):
158         Added some more ghostpad tests, mainly blocking
159         and probes.
160
161 2006-06-16  Wim Taymans  <wim@fluendo.com>
162
163         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
164         (gst_file_sink_close_file), (gst_file_sink_do_seek),
165         (gst_file_sink_event), (gst_file_sink_render):
166         * plugins/elements/gstfilesink.h:
167         Check if we can seek in the file instead of assuming
168         we always can. Post an error when we are asked to seek in a
169         non-seekable file (like a fifo). Fixes #343312.
170         Some cleanups.
171
172 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
173
174         * tools/gst-launch.1.in:
175           Un-garble (fourcc) bit in filtered caps section.
176
177 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
178
179         * docs/manual/advanced-autoplugging.xml:
180         * docs/manual/basics-helloworld.xml:
181         * docs/manual/highlevel-components.xml:
182           Don't leak bus reference in sample code.
183
184 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
185
186         * autogen.sh:
187           Add default for new --enable-plugin-docs switch.
188
189         * configure.ac:
190           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
191           Fixes #344039.
192
193         * docs/Makefile.am:
194           Use new ENABLE_PLUGIN_DOCS conditional.
195
196 2006-06-14  Wim Taymans  <wim@fluendo.com>
197
198         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
199         Make it clear with a FIXME and a real define what the #if 0
200         previously disabled.
201
202 2006-06-14  Wim Taymans  <wim@fluendo.com>
203
204         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
205         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
206         * libs/gst/base/gstbasetransform.c:
207         (gst_base_transform_sink_eventfunc):
208         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
209         Don't randomly and silently reset a segment when the format 
210         changes as this is a bug somewhere upstream. Fixes #330379.
211
212 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
213
214         Patch by: Wouter Paesen  <wouter at kangaroot net>
215
216         * libs/gst/controller/gstcontroller.c:
217         (gst_controlled_property_new):
218           Fix controlling of float properties (#344849).
219
220         * tests/check/libs/controller.c:
221         (gst_test_mono_source_get_property),
222         (gst_test_mono_source_set_property),
223         (gst_test_mono_source_class_init), (GST_START_TEST):
224           While we're at it, add some float stuff to unit test.
225
226 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
227
228         * docs/README:
229         * docs/images/gdp-header.svg:
230           add a gdp image
231         * docs/libs/Makefile.am:
232         * docs/libs/gdp-header.png:
233         * libs/gst/dataprotocol/dataprotocol.c:
234           add it to the API docs
235         * docs/manual/intro-motivation.xml:
236           fix typo
237
238 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
239
240         * gst/gst.c: (scan_and_update_registry), (init_post):
241           If the fork()'ed child process can't write the updated registry cache
242           file to disk for some reason, make it exit with a failure exit code,
243           so that the parent can then re-scan the plugins itself and update the
244           registry structures in memory and work with that (rather than failing
245           when creating elements because seemingly no plugins are available).
246           Refactor registry scanning code into separate function for this and
247           also separate fork() and non-fork() code paths. Fixes #344748.
248
249 2006-06-13  Wim Taymans  <wim@fluendo.com>
250
251         * docs/manual/advanced-dataaccess.xml:
252         Fix wrong PluginDesc. Fixes #344755.
253
254 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
255
256         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
257           Fix silly bug that prevented us from creating
258           ~/.gstreamer-0.10 and writing the registry in one
259           go (the first call to g_mkstemp() would overwrite the
260           placeholder in the template string, so the second call
261           to g_mkstemp() after creating the missing directory
262           would then error out with 'invalid argument').
263
264 2006-06-13  Edward Hervey  <edward@fluendo.com>
265
266         * gst/gst.c: (init_post):
267         Free string.
268
269 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
270
271         * gst/glib-compat-private.h:
272         * gst/glib-compat.c:
273         * gst/glib-compat.h:
274         * gst/gstvalue.c: (gst_value_serialize_flags):
275           remove GLib 2.6 compatibility code
276
277 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
278
279         * gst/parse/Makefile.am:
280           Fix build with 'make -j N' even more (#340016).
281
282 2006-06-12  Wim Taymans  <wim@fluendo.com>
283
284         * docs/gst/gstreamer-sections.txt:
285         Fix docs.
286
287 2006-06-12  Wim Taymans  <wim@fluendo.com>
288
289         * gst/gstsegment.c: (gst_segment_set_duration),
290         (gst_segment_set_last_stop), (gst_segment_set_seek),
291         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
292         (gst_segment_to_running_time), (gst_segment_clip):
293         Use G_UNLIKELY to help the compiler a bit.
294
295 2006-06-12  Wim Taymans  <wim@fluendo.com>
296
297         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
298
299         * gst/gstevent.c: (gst_event_get_type):
300         * gst/gstmessage.c:
301         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
302         (gst_pad_push):
303         constify quark registration strings. Fixes #344115
304         Avoid unneeded type checking is _pad_push() by internally
305         calling gst_pad_chain_unchecked().
306
307 2006-06-12  Wim Taymans  <wim@fluendo.com>
308
309         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
310         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
311         (gst_subbuffer_finalize), (gst_buffer_create_sub),
312         (gst_buffer_is_span_fast), (gst_buffer_span):
313         Init _type for consistency.
314         Use _FLAGS macro to avoid type check.
315         Avoid unneeded type checks in subbufer code.
316
317 2006-06-12  Wim Taymans  <wim@fluendo.com>
318
319         * gst/gst.c: (gst_debug_help):
320         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
321         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
322         (gst_plugin_feature_list_free):
323         * gst/gstregistry.c: (gst_registry_add_plugin),
324         (gst_registry_add_feature), (gst_registry_plugin_filter),
325         (gst_registry_feature_filter), (gst_registry_find_plugin),
326         (gst_registry_find_feature), (gst_registry_get_plugin_list),
327         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
328         * gst/gstregistryxml.c: (load_feature),
329         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
330         * gst/gstminiobject.c: (gst_mini_object_unref),
331         (gst_mini_object_replace), (gst_value_mini_object_free),
332         (gst_value_mini_object_copy):
333         Use _CAST macros to avoid unneeded type checking.
334         Added some more G_UNLIKELY.
335
336 2006-06-12  Wim Taymans  <wim@fluendo.com>
337
338         * gst/gstbuffer.h:
339         Avoid unneeded type checking.
340         API: GST_BUFFER_IS_DISCONT
341
342         * gst/gstminiobject.h:
343         Avoid type check in flag accessor.
344
345         * gst/gstelementfactory.h:
346         * gst/gstplugin.h:
347         * gst/gstpluginfeature.h:
348         Add _CAST macros.
349         API: GST_ELEMENT_FACTORY_CAST
350         API: GST_PLUGIN_CAST
351         API: GST_PLUGIN_FEATURE_CAST
352
353 2006-06-12  Wim Taymans  <wim@fluendo.com>
354
355         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
356         (gst_object_unref):
357         Add G_UNLIKELY in type registration.
358         Avoid type check in _ref/_unref since that is also
359         done in glib.
360
361 2006-06-12  Wim Taymans  <wim@fluendo.com>
362
363         * gst/gsterror.c: (gst_g_error_get_type):
364         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
365         (gst_static_pad_template_get_type):
366         * gst/gsttaglist.c: (gst_tag_list_get_type):
367         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
368         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
369         * gst/gsturi.c: (gst_uri_handler_get_type):
370         * gst/gstvalue.c: (gst_date_get_type):
371         * gst/gstxml.c: (gst_xml_get_type):
372         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
373         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
374         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
375         Add G_UNLIKELY in type registration.
376
377 2006-06-12  Wim Taymans  <wim@fluendo.com>
378
379         * tools/gst-inspect.c: (print_signal_info):
380         Properly print enum values.
381
382 2006-06-12  Wim Taymans  <wim@fluendo.com>
383
384         * gst/gstinfo.c: (gst_debug_set_active),
385         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
386         * gst/gstinfo.h:
387         Add some G_[UN]LIKELY.
388         Maintain __gst_debug_min to avoid formatting the arguments of
389         debug messages that will be dropped anyway to avoid a lot of 
390         overhead from the debugging system.
391
392 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
393
394         * po/POTFILES.in:
395         * po/POTFILES.skip:
396           add missing files containing translatable strings, tell intltool about
397           one exception
398
399 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
400
401         * tests/check/libs/.cvsignore:
402         add test-binary to ignore list
403
404 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
405
406         * docs/libs/gstreamer-libs-docs.sgml:
407         reorder (put dp into a chapter) and indent
408
409 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
410
411         * configure.ac:
412           back to HEAD
413
414 === release 0.10.8 ===
415
416 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
417
418         * configure.ac:
419           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
420
421 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
422
423         * gst/gst.c: (init_post):
424           move pid declaration to declaration block
425
426 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
427
428         * gst/gst.c: (init_post):
429           use _exit() instead of exit() in our forked child; this ensures
430           that none of the registered exit handlers from whatever is using
431           GStreamer get executed.  This fixes gnome-mixer-applet failing
432           to load, because ORBit would shut down.
433           Spotted by: Edward Hervey  <edward@fluendo.com>
434           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
435           Fixes #344474
436
437 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
438
439         * configure.ac:
440           back to TRUNK
441
442 === release 0.10.7 ===
443
444 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
445
446         * configure.ac:
447           releasing 0.10.7, "Soepeke, ik zie ou"
448
449 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
450
451         * configure.ac:
452         * po/af.po:
453         * po/az.po:
454         * po/bg.po:
455         * po/ca.po:
456         * po/cs.po:
457         * po/de.po:
458         * po/en_GB.po:
459         * po/fr.po:
460         * po/it.po:
461         * po/nb.po:
462         * po/nl.po:
463         * po/ru.po:
464         * po/sq.po:
465         * po/sr.po:
466         * po/sv.po:
467         * po/tr.po:
468         * po/uk.po:
469         * po/vi.po:
470         * po/zh_CN.po:
471         * po/zh_TW.po:
472         * win32/common/config.h:
473           0.10.6.2 prerelease
474
475 2006-06-07  Wim Taymans  <wim@fluendo.com>
476
477         * gst/gstindex.c: (gst_index_gtype_resolver):
478         * tools/gst-xmlinspect.c: (print_plugin_info):
479         Fix leak spotted by coverity checker. Fixes #343827
480         Fix another other leak found by paolo borelli.
481
482 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
483
484         * libs/gst/dataprotocol/dataprotocol.c:
485         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
486         (gst_dp_version_get_type), (gst_dp_init),
487         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
488         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
489         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
490         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
491         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
492         (gst_dp_packetizer_free):
493         * libs/gst/dataprotocol/dataprotocol.h:
494           API: add a GstDPPacketizer object, and create/free functions
495           API: add GstDPVersion enum
496           Add 1.0 event function that uses the string serialization
497           Serialize more useful buffer flags
498           Fixes #343988
499
500 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
501
502         * tests/check/Makefile.am:
503         * tests/check/gst/gstabi.c:
504         * tests/check/gst/struct_ppc64.h:
505         * tests/check/libs/libsabi.c:
506         * tests/check/libs/struct_ppc64.h:
507           add ppc64 structure sizes
508
509 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
510
511         * tests/check/Makefile.am:
512         * tests/check/gst/gstabi.c:
513         * tests/check/gst/struct_x86_64.h:
514         * tests/check/libs/libsabi.c:
515         * tests/check/libs/struct_x86_64.h:
516           generate and add structure size lists for x86_64
517
518 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
519
520         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
521         * libs/gst/check/gstcheck.h:
522           factor out the method from tests that checks size of structures,
523           and add code to generate the header containing these sizes
524         * tests/check/gst/gstabi.c: (GST_START_TEST):
525         * tests/check/gst/struct_i386.h:
526         * tests/check/libs/libsabi.c: (GST_START_TEST):
527         * tests/check/libs/struct_i386.h:
528           use it
529
530 2006-06-06  Michael Smith  <msmith@fluendo.com>
531
532         * gst/gstsegment.h:
533           Don't use c++-style comments, fixes #343929
534
535 2006-06-05  Edward Hervey  <edward@fluendo.com>
536
537         * gst/gst.c:
538         plugin_paths is not used if we build without registry support.
539
540         * gst/gstsegment.c: (gst_segment_copy): 
541         _copy() was always returning NULL...
542
543 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
544
545         * libs/gst/dataprotocol/dataprotocol.c:
546         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
547         (gst_dp_packet_from_event):
548           factor out CRC code
549
550 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
551
552         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
553           make sure we unset caps
554
555 2006-06-02  Michael Smith  <msmith@fluendo.com>
556
557         * libs/gst/check/gstcheck.c: (gst_check_init),
558         (gst_check_chain_func):
559         * libs/gst/check/gstcheck.h:
560           Add a cond/mutex to the check support lib, signal this whenever we
561           add to the buffers list. This will allow tests to not busy-wait on
562           the buffer-list.
563
564 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
565
566         * libs/gst/dataprotocol/dataprotocol.c:
567         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
568         (gst_dp_packet_from_event):
569           factor out some common header init code
570
571 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
572
573         * docs/libs/gstreamer-libs-sections.txt:
574         * docs/libs/tmpl/gstdataprotocol.sgml:
575         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
576         * libs/gst/dataprotocol/dataprotocol.h:
577           API: make gst_dp_crc() public
578
579 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
580
581         * plugins/indexers/gstindexers.c: (plugin_init):
582         conditionally register fileindexer (fixes #343598)
583
584 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
585
586         * gst/gsttagsetter.h:
587         Can't cast ifaces to a class
588
589         * libs/gst/net/gstnetclientclock.h:
590         * libs/gst/net/gstnettimeprovider.h:
591         * plugins/elements/gstfakesink.h:
592         * plugins/elements/gstfakesrc.h:
593         * plugins/elements/gstfdsink.h:
594         * plugins/elements/gstfdsrc.h:
595         * plugins/elements/gstfilesink.h:
596         * plugins/elements/gstfilesrc.h:
597         * plugins/elements/gstidentity.h:
598         * plugins/elements/gstqueue.h:
599         * plugins/elements/gsttee.h:
600         * plugins/indexers/gstfileindex.c:
601         * plugins/indexers/gstmemindex.c:
602         * tests/old/examples/plugins/example.h:
603         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
604
605 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
606
607         * libs/gst/dataprotocol/dataprotocol.c:
608         (gst_dp_header_from_buffer):
609           make sure we zero the whole ABI-compatible area
610
611 2006-06-01  Wim Taymans  <wim@fluendo.com>
612
613         Patch by: Alessandro Decina <alessandro at nnva dot org>
614
615         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
616         Make sure the EOS flag is cleared from pads after a flush
617         or stop. Fixes #343538.
618
619         * tests/check/libs/collectpads.c: (GST_START_TEST),
620         (gst_collect_pads_suite):
621         Added test for collectpads reusage after EOS.
622
623 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
624
625         * gst/gst.c:
626          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
627         * win32/common/libgstbase.def:
628          export gst_collect_pads_set_flushing
629         * win32/common/libgstreamer.def:
630          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
631          gst_value_fraction_multiply
632         * win32/vs6/gst_inspect.dsp:
633          add a link to intl.lib
634
635 2006-05-30  Wim Taymans  <wim@fluendo.com>
636
637         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
638         (gst_collect_pads_chain):
639         Handle the case where a pad is removed from the collection
640         that could cause the other pads to become collectable.
641
642 2006-05-30  Wim Taymans  <wim@fluendo.com>
643
644         * gst/gstelement.c:
645         Clarify the use of _release_request_pad() and
646         _get_request_pad() a bit better.
647
648         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
649         (gst_adapter_take_buffer):
650         Fix some doc and comment typos.
651
652 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
653
654         * docs/gst/gstreamer-sections.txt:
655         * docs/libs/gstreamer-libs-sections.txt:
656           add declared symbols
657
658 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
659
660         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
661         Add debug that can be enabled using a #define at the top of the file,
662         for dumping stats about how late/early we were when waking up from
663         waiting on the clock.
664
665 2006-05-30  Wim Taymans  <wim@fluendo.com>
666
667         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
668         When rebuilding the pad list, don't leak the previous list.
669
670 2006-05-30  Wim Taymans  <wim@fluendo.com>
671
672         Patch by: Lutz Mueller <lutz at topfrose dot de>
673
674         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
675         (gst_base_src_get_query_types), (gst_base_src_update_length):
676         Publish supported query types.
677         Update last_stop field in get_range mode so the position
678         query works. Fixes #342321.
679
680 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
681
682         * docs/gst/gstreamer-sections.txt:
683         * gst/gsttaglist.c: (_gst_tag_initialize):
684         * gst/gsttaglist.h:
685           API: add GST_TAG_PREVIEW_IMAGE (#343341).
686
687 2006-05-30  Wim Taymans  <wim@fluendo.com>
688
689         Patch by: Alessandro Decina <alessandro at nnva dot org>
690
691         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
692         Unlock mutex when removing an unknown pad.
693         Fixes #343334.
694
695         * tests/check/Makefile.am:
696         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
697         (push_event), (setup), (teardown), (GST_START_TEST),
698         (gst_collect_pads_suite), (main):
699         Added collecpads check, disabled for now as check crashes for
700         some reason.
701
702 2006-05-29  Wim Taymans  <wim@fluendo.com>
703
704         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
705         Don't leak pads lists.
706
707 2006-05-29  Wim Taymans  <wim@fluendo.com>
708
709         * docs/libs/gstreamer-libs-sections.txt:
710         * libs/gst/base/gstcollectpads.c:
711         (gst_collect_pads_set_flushing_unlocked),
712         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
713         (gst_collect_pads_stop):
714         * libs/gst/base/gstcollectpads.h:
715         API: gst_collect_pads_set_flushing()
716         Added api to set the pads to flushing, useful for seeking
717         code in elements using collectpads.
718         Clear segment when receiving a flush.
719
720 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
721
722         * gst/gst.c: (add_path_func), (init_post):
723           Don't scan registry paths passed via --gst-plugin-path immediately
724           (will crash, because absolutely nothing is set up and no types are
725           registered etc.); do this later in init_post(). Fixes #343057.
726
727 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
728
729         * gst/gst.c: (init_post):
730           if we have fork, fork while reading/rebuilding the registry
731           so the parent doesn't take the hit of having all plugins loaded
732           in memory.  Fixes #342777.
733         * configure.ac:
734           Check if we have fork()
735         * win32/common/config.h.in:
736           no fork() on win32
737
738 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
739
740         * plugins/elements/gstelements.c:
741         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
742         (gst_file_src_init), (gst_file_src_set_property),
743         (gst_file_src_get_property), (gst_file_src_start):
744         * plugins/elements/gstfilesrc.h:
745           API: GstFileSrc::use-mmap
746
747         Add a use-mmap property to enable easier testing of all code paths.
748         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
749         in the absence of gnomevfssrc. (Closes #340501)
750
751 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
752
753         * tools/gst-inspect.c:
754         Add missing include, removes warning of ngettext not being defined on
755         some arches.
756
757 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
758
759         * gst/gstvalue.c: (gst_value_deserialize_fraction):
760         Handle NULL input and output pointers silently as a failed conversion,
761         rather than g_warnings.
762
763 2006-05-25  Wim Taymans  <wim@fluendo.com>
764
765         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
766         Initialize variable before using. Fixes #342820.
767
768 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
769
770         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
771           Fix off-by-one bug that would only allow peeks of N-1 bytes
772           from the start even if the buffer to typefind on contains
773           in fact N bytes of data (makes vorbis typefinding from a
774           vorbis identification header buffer work).
775
776         * tests/check/Makefile.am:
777         * tests/check/libs/.cvsignore:
778         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
779         (gst_typefindhelper_suite), (main), (foobar_typefind),
780         (plugin_init):
781           Add very basic unit test for gst_type_find_helper_for_buffer()
782           that checks for the problem fixed above.
783
784 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
785
786         * tools/gst-inspect.c: (print_interfaces),
787         (print_element_properties_info), (print_element_list), (main):
788           add more translatable strings
789
790 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
791
792         Patch by: Julien Moutte  <julien at moutte net>
793
794         * docs/gst/gstreamer-sections.txt:
795           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
796           
797         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
798         (gst_fake_sink_preroll):
799         * plugins/elements/gstfakesink.h:
800           API: Add new GstFakeSink::preroll-handoff signal (#337100).
801
802 2006-05-23  Wim Taymans  <wim@fluendo.com>
803
804         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
805         * gst/gstpad.h:
806         Added _CUSTOM error and success GstFlowReturn that can be
807         used be elements internally. 
808         Added macro to check for SUCCESS flowreturns.
809         API: GST_FLOW_CUSTOM_SUCCESS
810         API: GST_FLOW_CUSTOM_ERROR
811         API: GST_FLOW_IS_SUCCESS
812
813         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
814         Added check for GstFlowReturn sanity.
815
816 2006-05-23  Wim Taymans  <wim@fluendo.com>
817
818         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
819
820         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
821         (gst_collect_pads_event):
822         clear/reset segment info in FLUSH_STOP.
823         Fixes #336929.
824
825 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
826
827         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
828         (gst_collect_pads_check_collected):
829         Flush queued buffer on _stop(), fixes playing again (#342454)
830
831 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
832
833         * tests/check/gst/gststructure.c: (GST_START_TEST),
834         (gst_structure_suite):
835           add a test for a complete structure
836
837 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
838
839         * docs/faq/developing.xml:
840         * docs/faq/faq.xml:
841         * docs/faq/troubleshooting.xml:
842         * docs/faq/using.xml:
843           Some minor FAQ updates that won't change the fact that
844           our FAQ is badly structured, full of information hardly
845           anyone new to GStreamer needs to know and lacking lots
846           of information people constantly ask for.
847           
848 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
849
850         * gst/gstpad.c: (gst_pad_set_caps):
851           Short-circuit gst_pad_set_caps if setting the existing
852           caps pointer again, and avoid printing debug and 
853           reffing/unreffing the caps.
854
855         * plugins/elements/gstqueue.c: (gst_queue_push_one):
856           There's actually no need to set the caps before pushing -
857           the acceptcaps method will handle it anyway.
858
859 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
860
861         * docs/gst/gstreamer-sections.txt:
862         * win32/common/libgstreamer.def:
863         * gst/gstutils.c: (gst_element_seek_simple):
864         * gst/gstutils.h:
865           API: add gst_element_seek_simple() (#342238).
866
867 2006-05-18  Edward Hervey  <edward@fluendo.com>
868
869         * gst/gsttypefind.c: (gst_type_find_get_type):
870         * gst/gsttypefind.h:
871         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
872         registered for GstTypeFind pointers. This allows wrapping the structure
873         in bindings (i.e. gst-python).
874
875 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
876
877         * gst/gsttagsetter.c:
878           Docs additions and fixes (see #339918).
879
880 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
881
882         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
883         The caps intersection algorithm can produce multiple copies of the
884         caps. Until that is fixed, we need to simplify the result to be
885         sure whether the allowed caps are fixed or not.
886
887         * plugins/elements/gstqueue.c: (gst_queue_init),
888         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
889         (gst_queue_push_one):
890         Proxied buffer alloc should not set the caps on the source pad.
891         When pushing buffers, we always accept the caps change that triggers.
892         This prevents negotiation errors caused by caps changing mid-stream 
893         and then being refused on our source pad (because upstream is now
894         refusing those caps).
895
896 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
897
898         * tests/examples/helloworld/helloworld.c: (main):
899           Must plug audioconvert and audioresample between decoder
900           and audio sink.
901
902 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
903
904         * gst/gstregistryxml.c: (read_string), (load_pad_template),
905         (load_feature), (load_plugin):
906         Allow empty strings for some of the plugin fields so we don't 
907         drop valid plugin entries that were written out correctly
908         (Fixes #341479)
909
910 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
911         
912         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
913           Use g_remove and g_rename instead of remove and rename that don't 
914           handle utf8 characters. rename was failing for users who had specific
915           characters in their name then the registry was built at each 
916           gstreamer init.
917         * win32/vs6/gst_inspect.dsp:
918         * win32/vs6/gst_launch.dsp:
919         * win32/vs6/libgstbase.dsp:
920         * win32/vs6/libgstcoreelements.dsp:
921         * win32/vs6/libgstreamer.dsp:
922           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
923           build of libgstreamer and clean unused libraries in projects link 
924           settings.
925
926 2006-05-17  Edward Hervey  <edward@fluendo.com>
927
928         * plugins/elements/gstqueue.c: (gst_queue_push_one):
929         The queue is not responsible for pushing an EOS when receiving a fatal
930         flow error. It's up to the real element driving the pipeline to do that.
931
932 2006-05-16  Edward Hervey  <edward@fluendo.com>
933
934         * plugins/elements/gstqueue.c: (gst_queue_push_one):
935         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
936         buffer returned a fatal error. It should just send an EOS and stop
937         its task.
938         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
939         when pushing buffers on the queue and will be able to handle the event.
940
941 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
942
943         * docs/manual/basics-bins.xml:
944         * docs/manual/basics-init.xml:
945           Fix typos and minor errors in sample code (#341856).
946
947 2006-05-16  Wim Taymans  <wim@fluendo.com>
948
949         * docs/design/part-qos.txt:
950         Fix indexes in formulas to make more sense.
951
952 2006-05-15  Wim Taymans  <wim@fluendo.com>
953
954         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
955         Don't report POSITION based on clock time if sync is
956         disabled in a sink.
957
958 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
959
960         * gst/gstobject.h:
961           Add cast to make compiler happy - refcount variable was a gint
962           in GstObject but is a guint in GObject and g_atomic_int_get()
963           wants a gint *.
964
965 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
966
967         * gst/parse/Makefile.am:
968           chain commands using &&, which also makes parallel make work
969
970 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
971
972         * docs/gst/gstreamer-sections.txt:
973         * gst/gstevent.c:
974         * gst/gstevent.h:
975         * gst/gstmessage.h:
976           Minor docs fixes.
977
978 === release 0.10.6 ===
979
980 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
981
982         * configure.ac:
983           releasing 0.10.6, "Take the cannoli"
984
985 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
986
987         * tools/gst-launch.c: (print_tag):
988           Fix use of uninitialized variable in the hypothetical
989           case that some broken plugin creates a GST_TAG_IMAGE
990           tag containing a NULL buffer (#341667).
991
992 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
993
994         * tools/gst-launch.c: (print_tag):
995           Print something more intelligible for image tags when
996           using the -t switch (#341556).
997
998 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
999
1000         * Makefile.am:
1001           updates for win32
1002         * configure.ac:
1003           define GST_MAJORMINOR so we have it available in win32/common/config.h
1004           Possibly remove it from our Makefile.am files later
1005         * win32/common/config.h:
1006         * win32/common/config.h.in:
1007           added GST_MAJORMINOR
1008         * win32/common/gstenumtypes.c: (register_gst_resource_error):
1009         * win32/common/gstversion.h:
1010           updated
1011
1012 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
1013
1014         * win32/MANIFEST:
1015           Update win32 files listing.
1016         * win32/common/gstversion.h:
1017           Add GST_MAJORMINOR definition.
1018         * win32/common/libgstreamer.def:
1019           Add new exported functions.
1020           
1021 2006-05-12  Michael Smith  <msmith@fluendo.com>
1022
1023         * gst/gstplugin.c: (gst_plugin_load_file):
1024           If an so file has no plugin entry point, unload the module.
1025
1026 2006-05-11  Wim Taymans  <wim@fluendo.com>
1027
1028         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
1029         (gst_queue_set_property):
1030         Don't forget to signal the _chain or _loop function 
1031         when the queue size or thresholds change since that might
1032         cause them to make progres again.
1033
1034 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
1035
1036         * gst/gstclock.c: (gst_clock_class_init):
1037         * gst/gstindex.c: (gst_index_class_init):
1038         * gst/gstobject.c: (gst_object_class_init):
1039         * gst/gstpad.c: (gst_pad_class_init):
1040         * gst/gstpipeline.c: (gst_pipeline_class_init):
1041         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1042         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1043         * libs/gst/base/gstbasetransform.c:
1044         (gst_base_transform_class_init):
1045         * libs/gst/net/gstnetclientclock.c:
1046         (gst_net_client_clock_class_init):
1047         * libs/gst/net/gstnettimeprovider.c:
1048         (gst_net_time_provider_class_init):
1049         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1050         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1051         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1052         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1053         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1054         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1055         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1056         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1057         * plugins/elements/gsttee.c: (gst_tee_class_init):
1058         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1059         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1060           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
1061
1062 2006-05-11  Wim Taymans  <wim@fluendo.com>
1063
1064         * gst/gstbuffer.c: (_gst_buffer_initialize):
1065         Register subbufer along with the buffer type so that
1066         it does not accidentally gets registered from N
1067         different streaming threads in a non threadsafe way.
1068
1069 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1070
1071         * gst/gstbuffer.h:
1072         * gst/gstevent.h:
1073         * gst/gstmessage.h:
1074           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
1075           gst_event_ref() and gst_message_ref() functions again
1076           (ugly hack, please do fix if there's a better way besides
1077           overrides.txt, which doesn't seem to work).
1078
1079 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1080
1081         * libs/gst/check/gstcheck.h:
1082           add an assert for setting state to avoid lots of repetitive code
1083           in the future
1084
1085 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1086
1087         * gst/gstvalue.c: (gst_value_serialize_flags):
1088           fix a leak if no flags are set
1089         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1090           fix leak in tests
1091
1092 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1093
1094         * docs/manual/basics-pads.xml:
1095           Expand a bit on caps and filtered links and update
1096           examples that were still using the no longer existing
1097           gst_pad_link_filtered() (#338206).
1098
1099 2006-05-10  Wim Taymans  <wim@fluendo.com>
1100
1101         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1102         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1103         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1104         (gst_collect_pads_stop):
1105         * libs/gst/base/gstcollectpads.h:
1106         No need to call _stop in _finalize.
1107         Iterate the main pad list in _finalize.
1108         Added some more debug.
1109         Free lists and data in the right order.
1110         Also free data whem doing _remove_pad when stopped for
1111         backward compatibility protect ::started with PAD_LOCK as
1112         well.
1113
1114 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1115
1116         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
1117         (gst_structure_parse_value):
1118           add some comments
1119           rename a method so that it actually says what it does better
1120
1121 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1122
1123         * gst/gstevent.c: (_gst_event_initialize):
1124         * gst/gstformat.c: (_gst_format_initialize):
1125           make sure some essential types used by events are registered
1126           as part of gst_init()
1127         * gst/gstvalue.c: (gst_value_serialize_flags):
1128           if no flags are set, serialize them to a value that represents NONE
1129           so that deserializing them works
1130         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1131           add tests for serialization and deserialization of flags
1132
1133 2006-05-10  Wim Taymans  <wim@fluendo.com>
1134
1135         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
1136         (gst_collect_pads_collect_range), (gst_collect_pads_available),
1137         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
1138         (gst_collect_pads_event), (gst_collect_pads_chain):
1139         Update docs.
1140         Better debug info.
1141         Catch and return errors from the collect function
1142         Refuse data on eos pads.
1143
1144 2006-05-10  Edward Hervey  <edward@fluendo.com>
1145
1146         * gst/gstinterface.h:
1147         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
1148         GInterface type checking.
1149         They were previously using non-defined macros.
1150
1151 2006-05-09  Wim Taymans  <wim@fluendo.com>
1152
1153         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
1154         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
1155         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
1156         (gst_collect_pads_start), (gst_collect_pads_stop),
1157         (gst_collect_pads_peek), (gst_collect_pads_pop),
1158         (gst_collect_pads_available), (gst_collect_pads_read),
1159         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
1160         (gst_collect_pads_is_collected), (gst_collect_pads_event),
1161         (gst_collect_pads_chain):
1162         * libs/gst/base/gstcollectpads.h:
1163         Clean up the mess that is collectpads, add comments and
1164         FIXMEs where needed.
1165         Maintain a separate pad list so we can add pads while
1166         collecting the other ones. For this we need a new separate 
1167         lock (see comics).
1168         Fix memory leak in finalize.
1169         Refactor some weird code to set/unset pad flushing flags, mark
1170         with comments.
1171         Don't crash in _available, _read, _flush when we're EOS.
1172
1173         * tests/check/libs/.cvsignore:
1174         Ignore adapter check binary.
1175
1176 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1177
1178         * gst/gstindex.c: (gst_index_resolver_get_type):
1179         * plugins/elements/gstfakesink.c:
1180         (gst_fake_sink_state_error_get_type):
1181         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1182         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
1183         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1184           Const-ify GEnumValue arrays.
1185
1186 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1187
1188         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1189           Add test case for flags + gst_buffer_make_metadata_writable().
1190
1191 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1192
1193         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
1194           gst_buffer_make_metadata_writable() should maintain the
1195           buffer flags (those that make sense at least) (see #340859).
1196
1197 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1198
1199         * tools/gst-inspect.c:
1200         * tools/gst-launch.c:
1201         * tools/gst-typefind.c:
1202         * tools/gst-xmlinspect.c:
1203         * tools/tools.h:
1204           Fix up includes: need to include stdlib.h in tools.h for exit().
1205
1206 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1207
1208         * gst/gsttaglist.c: (_gst_tag_initialize):
1209         * gst/gsttaglist.h:
1210           API: add GST_TAG_IMAGE tag (#340721).
1211
1212 2006-05-08  Wim Taymans  <wim@fluendo.com>
1213
1214         * gst/gstquery.c:
1215         Added some docs for the segment query.
1216
1217 2006-05-08  Wim Taymans  <wim@fluendo.com>
1218
1219         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1220         (gst_base_src_loop), (gst_base_src_change_state):
1221         Always push non-flushing serialized events in the streaming 
1222         thread.
1223
1224 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1225
1226         * gst/gsterror.c: (_gst_stream_errors_init):
1227           Add a missing error string.
1228
1229 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
1230
1231         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1232         Add applied_rate to the debug
1233
1234         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1235         Copy applied_rate into the outgoing NEWSEGMENT event
1236
1237 2006-05-08  Wim Taymans  <wim@fluendo.com>
1238
1239         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1240
1241         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1242         (gst_base_sink_change_state):
1243         call ::unlock before taking the PREROLL_LOCK so we can safely
1244         handle elements that lock in ::render.
1245         Fixes #340174.
1246
1247 2006-05-08  Edward Hervey  <edward@fluendo.com>
1248
1249         * autogen.sh: (CONFIGURE_DEF_OPT): 
1250         Darwin's libtoolize is in fact called glibtoolize.
1251         Adding glibtoolize to the list of accepted names for libtoolize.
1252
1253 2006-05-08  Wim Taymans  <wim@fluendo.com>
1254
1255         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1256         Unify error handling, don't post an error message
1257         when a push() returns EOS but perform our normal EOS
1258         handling code. Fixes #340772.
1259
1260 2006-05-08  Wim Taymans  <wim@fluendo.com>
1261
1262         * docs/design/part-overview.txt:
1263         Make upsteam/downstream concepts more clear.
1264         Give an example of serialized/non-serialized events.
1265
1266         * docs/design/part-events.txt:
1267         * docs/design/part-streams.txt:
1268         Mention applied_rate.
1269
1270         * docs/design/part-trickmodes.txt:
1271         Mention applied rate, flesh out some more use cases.
1272
1273         * gst/gstevent.c: (gst_event_new_new_segment),
1274         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1275         (gst_event_parse_new_segment_full), (gst_event_new_tag),
1276         (gst_event_parse_tag), (gst_event_new_buffer_size),
1277         (gst_event_parse_buffer_size), (gst_event_new_qos),
1278         (gst_event_parse_qos), (gst_event_parse_seek),
1279         (gst_event_new_navigation):
1280         * gst/gstevent.h:
1281         Add applied_rate field to NEWSEGMENT event.
1282         API: gst_event_new_new_segment_full()
1283         API: gst_event_parse_new_segment_full()
1284
1285         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1286         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1287         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1288         * gst/gstsegment.h:
1289         Add applied_rate to GstSegment structure.
1290         Make calculation of stream_time and running_time more correct
1291         wrt rate/applied_rate.
1292         Add some more docs.
1293         API: GstSegment::applied_rate field
1294         API: gst_segment_set_newsegment_full();
1295
1296         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1297         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1298         * libs/gst/base/gstbasetransform.c:
1299         (gst_base_transform_sink_eventfunc),
1300         (gst_base_transform_handle_buffer):
1301         Parse and use applied_rate in the GstSegment field.
1302
1303         * tests/check/gst/gstevent.c: (GST_START_TEST):
1304         Add check for applied_rate field.
1305
1306         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1307         (gstsegments_suite):
1308         Add more checks for various GstSegment operations.
1309
1310 2006-05-08  Wim Taymans  <wim@fluendo.com>
1311
1312         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1313         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1314         (gst_base_sink_get_position), (gst_base_sink_change_state):
1315         Store the sync time of the buffer end position separatly in a
1316         new variable eos_rtime so we can properly sync the EOS event.
1317         Fixes #340697.
1318         Fix the docs for gst_base_sink_set_qos_enabled().
1319         Don't set segment start to invalid value when we receive a 
1320         non TIME newsegment.
1321         get closer to handling position reporting for negative rates 
1322         correctly.
1323
1324 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1325
1326         * gst/gstcaps.c:
1327         Docs about how to print caps for debug purposes.
1328
1329         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1330         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1331
1332 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1333
1334         * gst/gstelement.c:
1335           use full enum names and preprend a '%' in docs strings to make recent 
1336           gtk-doc turn that into a link
1337
1338 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1339
1340         * docs/manual/basics-bins.xml:
1341         * docs/manual/basics-bus.xml:
1342         * docs/manual/basics-pads.xml:
1343           Some typo fixes, some additions, some clarifications. 
1344
1345 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1346
1347         * tools/gst-inspect.c: (main):
1348         * tools/gst-launch.c: (main):
1349         * tools/gst-run.c: (main):
1350         * tools/gst-typefind.c: (main):
1351         * tools/gst-xmlinspect.c: (main):
1352           Use the string passed to g_option_context_new() for
1353           what it's intended for - the program name is already
1354           printed elsewhere.
1355
1356 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1357
1358         * tools/Makefile.am:
1359         * tools/gst-inspect.c: (main):
1360         * tools/gst-launch.c: (main):
1361         * tools/gst-xmlinspect.c: (main):
1362         * tools/tools.h:
1363           Add back --version command line option (#340460).
1364
1365         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1366           Add --version option and use GOption for argument parsing; refactor a
1367           bit; accept directories as arguments and recurse into them; lastly,
1368           print a decent error message when things go wrong.
1369
1370 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1371
1372         * docs/manual/basics-bins.xml:
1373         Don't mention GstThread (#340611)
1374         * docs/manual/basics-elements.xml:
1375         Update link to GObject tutorial (#340607)
1376         
1377 2006-05-05  Wim Taymans  <wim@fluendo.com>
1378
1379         * gst/gstbuffer.h:
1380         * gst/gstminiobject.c:
1381         Add note about refcounting and miniobject/buffer writeability
1382         to docs. Fixes #340604
1383
1384         * gst/gstelementfactory.h:
1385         Added some explanation about @klass.
1386
1387 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1388
1389         * docs/manual/intro-motivation.xml:
1390         * docs/manual/manual.xml:
1391         Avoid CORBA & Bonobo references (#340598)
1392
1393 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1394
1395         * docs/manual/basics-bus.xml:
1396         * docs/manual/basics-pads.xml:
1397         Fix up some inaccuracies and omissions (#340609)
1398         
1399 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1400
1401         * gst/gstghostpad.c:
1402           Small typo in docs (#340625)
1403
1404 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1405
1406         * gst/parse/Makefile.am:
1407           Make 'make -j' proof (see #340698).
1408
1409 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1410
1411         * configure.ac:
1412           Require GLib-2.8 here as well.
1413
1414 2006-05-05  Wim Taymans  <wim@fluendo.com>
1415
1416         * gst/glib-compat.c:
1417         * gst/gst.c: (init_pre):
1418         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1419         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1420         (gst_object_dispatch_properties_changed):
1421         * gst/gstobject.h:
1422         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1423         * gst/gststructure.c: (gst_structure_set_valist):
1424         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1425         Remove pre glib2.8 compatibility, fixes #340508
1426
1427 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1428
1429         * gst/gsttaglist.h:
1430           Mention type of tags in doc blurbs.
1431
1432 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
1433
1434         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1435         (gst_pad_configure_src), (gst_pad_push):
1436         Restore acceptcaps checking behaviour now that good plugins have
1437         been released.
1438
1439 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1440
1441         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1442
1443         * gst/gst.c:
1444         * gst/gstbus.c:
1445         * gst/gstclock.c:
1446         * gst/gstevent.c:
1447         * gst/gstformat.c:
1448         * gst/gstmessage.c:
1449         * gst/gstparse.c:
1450         * gst/gstquery.c:
1451         * gst/gstutils.c:
1452         * gst/parse/Makefile.am:
1453         * libs/gst/base/gstadapter.c:
1454         * libs/gst/base/gstbasesrc.c:
1455         * libs/gst/base/gstpushsrc.c:
1456         * libs/gst/base/gsttypefindhelper.c:
1457         * plugins/elements/gstfakesrc.c:
1458         * plugins/elements/gstidentity.c:
1459           Make sure gstprivate.h and/or config.h are
1460           always included first, otherwise some of our
1461           defines (like _FILE_OFFSET_BITS) might be
1462           redefined in the system headers. Fixes build
1463           on opensolaris (#340016).
1464
1465 2006-05-04  Wim Taymans  <wim@fluendo.com>
1466
1467         * docs/libs/gstreamer-libs-sections.txt:
1468         API: addition: gst_adapter_take_buffer()
1469         
1470         * libs/gst/base/gstadapter.c: (gst_adapter_push),
1471         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1472         (gst_adapter_available_fast):
1473         * libs/gst/base/gstadapter.h:
1474         Prepare for optimizing the hell out of this hugely inefficient
1475         piece of code. 
1476         Added gst_adapter_take_buffer() so we can at least start thinking
1477         about subbuffering and merging.
1478         Added some comments.
1479
1480         * tests/check/Makefile.am:
1481         * tests/check/libs/adapter.c: (GST_START_TEST),
1482         (gst_adapter_suite), (main):
1483         Added GstAdapter check.
1484
1485 2006-05-04  Wim Taymans  <wim@fluendo.com>
1486
1487         * docs/design/part-overview.txt:
1488         Fix some typos, add blurb about buffer flags.
1489
1490 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1491
1492         * docs/libs/gstreamer-libs-sections.txt:
1493           make sure GstBaseTransformClass shows up in the docs
1494         * libs/gst/base/gstbasetransform.c:
1495         * libs/gst/base/gstbasetransform.h:
1496           move docs so gtk-doc picks it up now
1497
1498 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1499
1500         * docs/libs/gstreamer-libs-sections.txt:
1501           add missing symbols to docs
1502
1503 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1504
1505         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1506           back out the newsegment handling change, see #340060 for ongoing
1507           discussion
1508
1509 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
1510
1511         * tools/gst-run.c: (get_candidates), (main):
1512           Fix wrong g_file_test() usage (see glib docs for why it doesn't
1513           work); fix typo in error message. Fixes #340079.
1514
1515 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1516
1517         * common/Makefile.am:
1518         * docs/Makefile.am:
1519         * docs/faq/Makefile.am:
1520         * docs/gst/Makefile.am:
1521         * docs/libs/Makefile.am:
1522         * docs/manual/Makefile.am:
1523         * docs/plugins/Makefile.am:
1524         * docs/pwg/Makefile.am:
1525         * docs/slides/Makefile.am:
1526         * docs/upload.mak:
1527         * common/upload.mak:
1528           move upload.mak to common
1529
1530 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1531
1532         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1533           add more asserts on refcounts
1534           do more cleanup at end of tests
1535           fix test leaks showing in FC5
1536
1537 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1538
1539         * plugins/elements/gsttypefindelement.c:
1540         (gst_type_find_element_handle_event):
1541         reverted wrong change and reflowed code to avoid others falling into
1542         this trap
1543
1544 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1545
1546         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1547           fix changelog entry about last collectpads change,
1548           add notes about proper fix
1549
1550 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1551
1552         * gst/gst.c:
1553         * gst/gstregistry.c: (gst_registry_scan_path_level),
1554         (gst_registry_scan_path):
1555         * gst/gstregistry.h:
1556           only write out registry if it has changed, fixes #338339
1557
1558 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1559
1560         * gst/gstbin.c:
1561         * gst/gstpipeline.c:
1562         * plugins/elements/gstcapsfilter.c:
1563         * plugins/elements/gstfakesink.c:
1564         * plugins/elements/gstfakesrc.c:
1565         * plugins/elements/gstfdsink.c:
1566         * plugins/elements/gstfdsrc.c:
1567         * plugins/elements/gstfilesink.c:
1568         * plugins/elements/gstfilesrc.c:
1569         * plugins/elements/gstidentity.c:
1570         * plugins/elements/gstqueue.c:
1571         * plugins/elements/gsttee.c:
1572         * plugins/elements/gsttypefindelement.c:
1573         (gst_type_find_element_handle_event):
1574           make GstElementDetails const
1575
1576 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1577
1578         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1579         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1580         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1581           more detailed debug and formatting cleanup,
1582           forward newsegments to src-pad (so that e.g. adder not eats them)
1583
1584 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1585
1586         * gst/gstutils.c: (gst_element_link_pads):
1587           cleanup double code
1588
1589 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1590
1591         * libs/gst/controller/gstcontroller.c:
1592         (gst_controller_sync_values):
1593           some little tuning
1594         * tests/check/libs/controller.c: (GST_START_TEST),
1595         (gst_controller_suite):
1596           a new test for live value handling
1597
1598 2006-04-28  Wim Taymans  <wim@fluendo.com>
1599
1600         * gst/gstutils.c: (push_and_ref):
1601         Added some more docs.
1602         Fix refcount issue whith gst_element_found_tags() helper 
1603         function. Fixes #338335
1604
1605         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1606         Added testsuite for gst_element_found_tags().
1607
1608 2006-04-28  Michael Smith  <msmith@fluendo.com>
1609
1610         * gst/gstvalue.c: (gst_value_serialize_flags):
1611           Avoid NULL dereference when trying to serialize flags containing
1612           invalid values.
1613
1614 2006-04-28  Michael Smith  <msmith@fluendo.com>
1615
1616         * plugins/elements/gsttypefindelement.c:
1617         (gst_type_find_element_handle_event):
1618           If we get EOS before any data is accumulated, don't use
1619           uninitialised local variables.
1620
1621 2006-04-28  Michael Smith  <msmith@fluendo.com>
1622
1623         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1624         (gst_dp_event_from_packet):
1625           Fixes in reading/writing events over GDP (not currently used?) - 
1626           dereferencing NULL events for unknown/invalid event types, memory
1627           leak, and change g_warning to GST_WARNING.
1628
1629 2006-04-28  Wim Taymans  <wim@fluendo.com>
1630
1631         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1632         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1633         (gst_base_sink_get_position), (gst_base_sink_change_state):
1634         When frame dropping is enabled, we should not ignore frames
1635         without a duration.
1636         Update some documentation.
1637
1638 2006-04-28  Wim Taymans  <wim@fluendo.com>
1639
1640         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1641         (gst_base_src_send_event), (gst_base_src_change_state):
1642         Documentation updates.
1643
1644 2006-04-28  Wim Taymans  <wim@fluendo.com>
1645
1646         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1647         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1648         handle EAGAIN, EINTR and short writes correctly. Also clean
1649         up some error cases, avoid a deadlock on bad file descriptors and
1650         use GST_DEBUG_OBJECT.
1651         Fixes #339843
1652
1653 2006-04-28  Wim Taymans  <wim@fluendo.com>
1654
1655         * gst/gstvalue.c: (gst_value_serialize_buffer),
1656         (gst_value_deserialize_buffer):
1657         Don't try to serialize a GValue with a NULL buffer. 
1658         Fixes #339821.
1659
1660         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1661         Added check for serialisation of NULL buffers.
1662
1663 2006-04-28  Wim Taymans  <wim@fluendo.com>
1664
1665         * gst/gstminiobject.c: (gst_value_take_mini_object):
1666         Taking a NULL miniobject is valid, fix the case where
1667         we try to unref the NULL miniobject.
1668
1669 2006-04-28  Wim Taymans  <wim@fluendo.com>
1670
1671         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1672
1673         * gst/gstbin.c: (gst_bin_handle_message_func):
1674         Update docs.
1675         Don't leak bin refcount when a state recalc is
1676         in progress and we delay another one #339808.
1677
1678 2006-04-28  Wim Taymans  <wim@fluendo.com>
1679
1680         * docs/design/part-TODO.txt:
1681         Mention QoS as an ongoing work item.
1682
1683         * docs/design/part-buffering.txt:
1684         New doc about buffering that needs to be fleshed out
1685         at some point.
1686
1687         * docs/design/part-qos.txt:
1688         More QoS policy for decoders/demuxers/transforms
1689
1690         * docs/design/part-trickmodes.txt:
1691         Small update.
1692
1693 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1694
1695         * configure.ac:
1696           back to HEAD
1697
1698 === release 0.10.5 ===
1699
1700 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1701
1702         * configure.ac:
1703           releasing 0.10.5, "Fogo"
1704
1705 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1706
1707         patch by: Wim Taymans
1708
1709         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1710         (gst_pad_configure_src), (gst_pad_push):
1711         * gst/gstpipeline.c: (gst_pipeline_init):
1712           Fix internal data flow errors.  Fixes #338711.
1713
1714 2006-04-12  Wim Taymans  <wim@fluendo.com>
1715
1716         * tests/check/gst/gstelement.c: (GST_START_TEST):
1717         Don't leak the factory.
1718
1719 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1720
1721         * configure.ac:
1722         * win32/common/config.h:
1723           prerelease
1724
1725 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1726
1727         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1728         (gst_controller_unset_all):
1729           Free allocated GstTimedValues when freeing list nodes.
1730           Should fix leaks 'make check-valgrind' complains about.
1731
1732         * win32/common/libgstcontroller.def:
1733           Add gst_controller_unset_all.
1734
1735 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
1736
1737         * docs/libs/gstreamer-libs-sections.txt:
1738         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1739         (gst_controller_unset_all):
1740         * libs/gst/controller/gstcontroller.h:
1741         API: Added new method gst_controller_unset_all()
1742         fixed gst_controller_unset()
1743         * tests/check/libs/controller.c: (GST_START_TEST),
1744         (gst_controller_suite):
1745         Added two testcases for new and fixed method
1746
1747 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
1748
1749         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1750           MSG_DONTWAIT is not defined on Cygwin, so work
1751           around that (fixes #317048).
1752           
1753 2006-04-11  Wim Taymans  <wim@fluendo.com>
1754
1755         * gst/gstelementfactory.c: (gst_element_register),
1756         (gst_element_factory_create), (gst_element_factory_make):
1757         Some cleanups.
1758         Fixed a FIXME.
1759         Updated docs (Fixes #131079)
1760
1761         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1762         Small cleanups.
1763
1764         * tests/check/gst/gstelement.c: (GST_START_TEST),
1765         (gst_element_suite):
1766         Added testcase for elementfactory class field.
1767
1768 2006-04-10  Wim Taymans  <wim@fluendo.com>
1769
1770         * gst/gstsegment.c:
1771         Added some more docs.
1772
1773         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
1774         (gst_base_sink_reset_qos):
1775         Calculate more accurate rate values.
1776
1777 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
1778
1779         * gst/gst_private.h:
1780           add a new #ifdef to use __declspec(dllimport) only for
1781           other modules and not for gstreamer core
1782         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
1783           use gst_guint64_to_gdouble for conversion
1784         * win32/common/libgstreamer.def:
1785           add new exported functions
1786         * win32/vs6/gst_inspect.dsp:
1787         * win32/vs6/gst_launch.dsp:
1788         * win32/vs6/libgstbase.dsp:
1789         * win32/vs6/libgstcontroller.dsp:
1790         * win32/vs6/libgstcoreelements.dsp:
1791         * win32/vs6/libgstdataprotocol.dsp:
1792         * win32/vs6/libgstnet.dsp:
1793           update project files
1794
1795 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1796
1797         * gst/gstbuffer.c: (gst_subbuffer_class_init):
1798         * gst/gstclock.c: (gst_clock_class_init):
1799         * gst/gstelement.c: (gst_element_class_init):
1800         * gst/gstindex.c: (gst_index_class_init):
1801         * gst/gstindexfactory.c: (gst_index_factory_class_init):
1802         * gst/gstobject.c: (gst_object_class_init),
1803         (gst_signal_object_class_init):
1804         * gst/gstpad.c: (gst_pad_class_init):
1805         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
1806         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
1807         * gst/gstregistry.c: (gst_registry_class_init):
1808         * gst/gstsystemclock.c: (gst_system_clock_class_init):
1809         * gst/gsttask.c: (gst_task_class_init):
1810         * gst/gstxml.c: (gst_xml_class_init):
1811         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1812         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1813         (gst_base_src_loop):
1814         * libs/gst/controller/gstcontroller.c:/
1815         (_gst_controller_class_init):
1816         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1817         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1818         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
1819         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1820         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1821         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
1822
1823 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
1824
1825         * gst/gstpad.c: (gst_pad_link):
1826           Must set peer pads before calling the link function, otherwise
1827           a task started from a link function might get a flow-not-linked
1828           result when trying to push because the other thread where the
1829           linking happens hasn't had a chance to set the peers yet. This
1830           might happen for example when a queue gets linked to a downstream
1831           element, as queue starts a streaming task when its source pad
1832           gets linked. Happens in real life when playing back flac/musepack
1833           files in playbin (#332390).
1834           
1835 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1836
1837         * gst/gstindex.h:
1838         * gst/gstxml.h:
1839         * libs/gst/base/gstadapter.h:
1840         * libs/gst/base/gstbasesink.h:
1841         * libs/gst/base/gstbasesrc.h:
1842         * libs/gst/base/gstbasetransform.h:
1843         * libs/gst/base/gstcollectpads.h:
1844         * libs/gst/base/gstpushsrc.h:
1845         Fix broken GObject macros
1846
1847 2006-04-07  Wim Taymans  <wim@fluendo.com>
1848
1849         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1850         Initialize start and stop times, thanks valgrind.
1851
1852 2006-04-07  Wim Taymans  <wim@fluendo.com>
1853
1854         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1855         Be a bit nicer to badly behaving upstream elements that expect
1856         us to deal with non TIME segments and timestamps (such as fakesrc
1857         in the testsuite).
1858
1859 2006-04-07  Wim Taymans  <wim@fluendo.com>
1860
1861         * gst/gstbus.c:
1862         Small documentation clarification about the signal watch.
1863
1864         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1865         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1866         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1867         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1868         (gst_base_sink_get_position_last),
1869         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
1870         Convert and store timestamps in stream time and running time, the
1871         raw timestamps are not usefull, also document this better.
1872         Use different window sizes for good and bad QoS observations so
1873         we react to badness a little quicker.
1874         Keep track of the amount of rendered and dropped buffers.
1875         Send QoS timestamps in running time.
1876
1877         * libs/gst/base/gstbasetransform.c:
1878         (gst_base_transform_sink_eventfunc),
1879         (gst_base_transform_handle_buffer):
1880         Compare QoS timestamps against running time.
1881
1882 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1883
1884         * gst/gstpad.c:
1885           Typo fixes in docs.
1886
1887 2006-04-06  Michael Smith  <msmith@fluendo.com>
1888
1889         * gst/gstpad.c: (gst_pad_set_property):
1890           Use g_value_get_object() instead of g_value_dup_gst_object(),
1891           to avoid double-reffing the pad template (which we then sink,
1892           so this worked previously if (and only if) the pad template
1893           was floating.
1894
1895         * gst/gstpadtemplate.c: (gst_pad_template_init),
1896         (gst_pad_template_pad_created):
1897           Never return floating references to pad templates, create
1898           them as initially-sunken.
1899
1900           Document an extra function (and make this stop sinking our
1901           pad template, since that is now guaranteed to do nothing,
1902           since we created it sunken).
1903
1904         * gst/gstghostpad.c:
1905           Fix docs typo.
1906
1907 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1908
1909         * gst/gstinfo.c: (__gst_in_valgrind):
1910           Add some newlines.
1911
1912         * plugins/elements/gsttypefindelement.c:
1913         (gst_type_find_element_chain):
1914           Don't leak buffer caps.
1915
1916 2006-04-06  Michael Smith  <msmith@fluendo.com>
1917
1918         * gst/parse/grammar.y:
1919           Fix a leak in parse-launch for any source-or-sink named element 
1920           references used.
1921
1922         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1923           Unref the pipeline if it exists after we've failed parsing.
1924
1925 2006-04-05  Michael Smith  <msmith@fluendo.com>
1926
1927         * gst/gstpipeline.c: (gst_pipeline_init):
1928           When we create a pipeline bus, initially create it in flushing mode.
1929           Fixes leaks in at least one test, and makes a new pipeline work the
1930           same as one that has gone to READY and then back to NULL.
1931
1932         * gst/gstelement.c:
1933           Typo fix in docs.
1934
1935 2006-04-05  Michael Smith  <msmith@fluendo.com>
1936
1937         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1938           Unref a pad we reffed.
1939         * tests/check/gst/gstutils.c: (GST_START_TEST):
1940           Unref bins
1941
1942 2006-04-05  Michael Smith  <msmith@fluendo.com>
1943
1944         * gst/gstquery.c: (gst_query_set_formats),
1945         (gst_query_set_formatsv):
1946           Fix leaking GValues in queries, as shown by valgrind/testsuite.
1947
1948 2006-04-05  Michael Smith  <msmith@fluendo.com>
1949
1950         * tests/check/generic/sinks.c: (GST_START_TEST):
1951           Fix a variety of memleaks in sinks check, which are only sometimes 
1952           shown by running the tests under valgrind (weird?).
1953
1954 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
1955
1956         * docs/version.entities.in:
1957           Fix the substituted entity name after thomas' changes on the
1958           weekend.
1959
1960 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1961
1962         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
1963         VALGRIND_PRINTF
1964         
1965 2006-04-05  Andy Wingo  <wingo@pobox.com>
1966
1967         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
1968
1969         * libs/gst/base/gstbasetransform.c
1970         (gst_base_transform_sink_eventfunc): When resetting our segment on
1971         FLUSH_STOP, also update the flag saying we haven't seen a
1972         newsegment.
1973
1974 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1975
1976         Patch by: Paolo Borelli  <pborelli at katamail dot com>
1977
1978         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1979         (gst_plugin_check_license):
1980           minor clean-ups: G_DEFINE_TYPE already takes care of the
1981           parent_class stuff, no need to do it twice. Mark array of
1982           license strings as constant. (#337103)
1983           
1984 2006-04-04  Michael Smith  <msmith@fluendo.com>
1985
1986         * tools/gst-inspect.c: (print_element_list):
1987           Free the right plugin list; fixes a memory leak.
1988
1989 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1990
1991         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
1992
1993         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
1994           Don't error out on empty buffers (#336945).
1995           
1996 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
1997
1998         * docs/libs/gstreamer-libs-sections.txt:
1999         * gst/gsttaglist.c:
2000         * libs/gst/base/gstbasesink.c:
2001         * libs/gst/base/gstbasesink.h:
2002         * libs/gst/base/gstbasesrc.c:
2003         * libs/gst/base/gstbasesrc.h:
2004           Documentation updates. Make BaseSink and BaseSrc docs contain the
2005           class structure so that people can actually see the prototypes for
2006           virtual functions they're supposed to be overriding.
2007
2008 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2009
2010         * plugins/elements/gsttypefindelement.c:
2011         (gst_type_find_element_chain):
2012           More debug info; when skipping typefinding, send cached
2013           events in all cases.
2014
2015 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2016
2017         * configure.ac:
2018           use new AS_VERSION and AS_NANO macros
2019         * gst/gst-i18n-lib.h:
2020         * gst/gst.c:
2021         * gst/gsterror.c:
2022         * gst/gstversion.h.in:
2023         * win32/common/config.h:
2024         * win32/common/config.h.in:
2025           update accordingly
2026
2027 2006-03-31  Michael Smith  <msmith@fluendo.com>
2028
2029         * plugins/elements/gsttypefindelement.c:
2030         (gst_type_find_element_chain):
2031           Do not typefind content if the buffers already have caps.
2032           Neccesary for icydemux (#333657), and the right thing to do anyway.
2033
2034 2006-03-30  Wim Taymans  <wim@fluendo.com>
2035
2036         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2037         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
2038         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
2039         (gst_base_sink_record_qos_observation),
2040         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2041         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2042         (gst_base_sink_change_state):
2043         More QoS measurements as described in the design doc.
2044         Get rid of ringbuffer with observations, running average is
2045         more simple and equally good.
2046         Calculates valid proportion now.
2047         Added beginning of flood measurement.
2048
2049 2006-03-29  Wim Taymans  <wim@fluendo.com>
2050
2051         * docs/design/part-qos.txt:
2052         * gst/gstclock.c:
2053         Small documentation updates and additions.
2054
2055 2006-03-29  Wim Taymans  <wim@fluendo.com>
2056
2057         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2058         (gst_base_src_send_event), (gst_base_src_loop),
2059         (gst_base_src_change_state):
2060         Perform the EOS logic when we reach the segment stop position.
2061         Fix compilation on gcc4.1
2062
2063 2006-03-29  Wim Taymans  <wim@fluendo.com>
2064
2065         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
2066
2067         * plugins/elements/gstqueue.c: (gst_queue_init),
2068         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2069         (gst_queue_set_property):
2070         * plugins/elements/gstqueue.h:
2071         In queue, when EOS is received, if minimum threshold > max_size -
2072         current_level, there is chance that queue blocks forever in conditional
2073         item del wait. This is because the queue is not emptied completely due
2074         to minimum threshold.  Here is another approach. Instead of setting
2075         cur_levels to max in EOS, just zero all minimum threshold levels. This
2076         should make sure that queue gives out all data. When going to READY
2077         (stop) state, just reset the original minimum threshold levels.
2078         Fixes #336336.
2079
2080 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
2081
2082         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
2083         (gst_type_find_element_handle_event),
2084         (gst_type_find_element_send_cached_events),
2085         (gst_type_find_element_change_state):
2086         * plugins/elements/gsttypefindelement.h:
2087           When typefinding is done in push mode, we should cache
2088           events we receive during typefinding instead of just
2089           dropping them (e.g. newsegment, custom events from
2090           dvdreadsrc etc.) and then send them out once we've
2091           determined the type of the stream (and decodebin
2092           has had a chance to plug in a decoder/demuxer).
2093           
2094 2006-03-27  Wim Taymans  <wim@fluendo.com>
2095
2096         * docs/design/part-qos.txt:
2097         First QoS ideas.
2098
2099 2006-03-27  Wim Taymans  <wim@fluendo.com>
2100
2101         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
2102
2103         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2104         (gst_base_src_send_event), (gst_base_src_change_state):
2105         Handle element seek correctly when we are streaming.
2106         Fixes #326998.
2107
2108 2006-03-24  Michael Smith  <msmith@fluendo.com>
2109
2110         * docs/faq/gst-uninstalled:
2111           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
2112           allow you to correctly run intalled applications built against old 
2113           core, using plugins that require updated core (e.g. running
2114           installed totem against a full uninstalled gstreamer stack)
2115
2116 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2117
2118         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2119         more debug details
2120
2121 2006-03-24  Wim Taymans  <wim@fluendo.com>
2122
2123         * docs/gst/gstreamer-sections.txt:
2124         Rearrange the order of the methods so that related methods
2125         are grouped together in sections.
2126
2127 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2128
2129         * gst/gstelement.c:
2130           Little clarification in the docs
2131
2132 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2133
2134         * docs/README:
2135         formatting fix
2136         * plugins/elements/gstidentity.c:
2137         * plugins/elements/gstqueue.c:
2138         * plugins/elements/gsttee.c:
2139         * plugins/elements/gsttypefindelement.c:
2140         GST_ELEMENT_DETAILS formatting
2141
2142 2006-03-24  Wim Taymans  <wim@fluendo.com>
2143
2144         * libs/gst/base/gstbasesink.h:
2145         Only add fields, not insert or we break ABI.
2146
2147 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2148
2149         * win32/common/libgstbase.def:
2150         * win32/common/libgstreamer.def:
2151           Update, add recently added functions.
2152
2153 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2154
2155         * docs/gst/gstreamer-sections.txt:
2156         * gst/gstutils.c: (gst_pad_query_peer_position),
2157         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
2158         * gst/gstutils.h:
2159           API: add some new utility functions:
2160            - gst_pad_query_peer_position()
2161            - gst_pad_query_peer_duration()
2162            - gst_pad_query_peer_convert()
2163           
2164 2006-03-23  Wim Taymans  <wim@fluendo.com>
2165
2166         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2167         (gst_base_sink_init), (gst_base_sink_finalize),
2168         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
2169         (gst_base_sink_set_property), (gst_base_sink_get_property),
2170         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
2171         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2172         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
2173         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2174         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2175         (gst_base_sink_preroll_object), (gst_base_sink_event),
2176         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
2177         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2178         (gst_base_sink_query), (gst_base_sink_change_state):
2179         Decouple max-lateness and the fact that QoS messages are generated
2180         with a new property (qos).
2181         added API: GstBaseSink::async_play()
2182         Add vmethod so subclasses can be notified of ASYNC playing
2183         state changes.
2184         Collect timestamp start and stop to report better current
2185         position in EOS/PLAYING/PAUSED/READY/NULL.
2186         Refactor QoS/frame dropping and other measurements.
2187         API: GstBaseSrc::qos
2188         Fixes #326311
2189
2190         * libs/gst/base/gstbasesink.h:
2191         Added Private struct.
2192         API: gst_base_sink_set_qos_enabled()
2193         API: gst_base_sink_is_qos_enabled()
2194
2195 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2196
2197         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2198           If compiling against GLib-2.8 or newer, try to read the
2199           registry file using GMappedFile first before falling back
2200           to fopen() + fread() (#332151).
2201
2202 2006-03-22  Wim Taymans  <wim@fluendo.com>
2203
2204         * gst/gstinfo.c: (gst_debug_set_active),
2205         (gst_debug_category_set_threshold):
2206         Disable debugging unless explicitly activated.
2207         Fixes #335480.
2208
2209 2006-03-22  Wim Taymans  <wim@fluendo.com>
2210
2211         * gst/gstelement.c: (gst_element_set_locked_state),
2212         (gst_element_dispose):
2213         Cleanup the error case.
2214
2215         * gst/gstobject.c: (gst_object_dispose):
2216         print a critical when some object was disposed with
2217         a parent, also revive the object since it might
2218         crash the parent.
2219
2220 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
2221
2222         * tools/gst-launch.1.in:
2223           Fix another typo.
2224
2225 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2226
2227         * configure.ac:
2228         * tests/check/Makefile.am:
2229           disable some tests when we don't have a registry
2230         * tests/check/gst/gstutils.c: (gst_utils_suite):
2231           don't build the part that needs parsing
2232
2233 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2234
2235         * gst/Makefile.am
2236         * tests/examples/Makefile.am:
2237           fix --disable-parse build
2238
2239 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2240
2241         * tools/gst-feedback.1.in:
2242           Fix typo: s/feeback/feedback/ (#133494).
2243
2244 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2245
2246         * tools/Makefile.am:
2247         * tools/gst-launch.1.in:
2248           Add FILES section and correct entry about GST_REGISTRY_PATH
2249           environment variable (#133495; #133494).
2250
2251 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2252
2253         * tools/Makefile.am:
2254         * tools/gst-md5sum.1.in:
2255         * tools/gst-md5sum.c:
2256           Remove gst-md5sum and man page (the md5sink element
2257           required was removed ages ago)
2258
2259 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2260
2261         * gst/gststructure.c: (gst_structure_id_set_value):
2262           Make sure that string fields in structures/taglists
2263           contain valid UTF-8 - we don't want to pass rubbish to
2264           applications because of a buggy plugin (cp. #334167).
2265
2266 2006-03-21  Edward Hervey  <edward@fluendo.com>
2267
2268         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2269         (gst_bin_handle_message_func):
2270         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2271         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2272         (gst_element_set_bus_func):
2273         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2274         * gst/gstminiobject.c: (gst_value_set_mini_object),
2275         (gst_value_take_mini_object):
2276         * gst/gstpad.c: (gst_pad_set_pad_template):
2277         * gst/gstpipeline.c: (gst_pipeline_dispose),
2278         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2279         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2280         (gst_collect_pads_chain):
2281         * libs/gst/net/gstnettimeprovider.c:
2282         (gst_net_time_provider_set_property):
2283         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2284         It's in fact all issues with gst_*object_replace().
2285
2286 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2287
2288         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2289         
2290         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2291         * pkgconfig/gstreamer-check.pc.in:
2292           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2293
2294 2006-03-21  Edward Hervey  <edward@fluendo.com>
2295
2296         * gst/gstbuffer.h:
2297         * gst/gstevent.h:
2298         * gst/gstmessage.h:
2299         gst_[buffer|event|message]_ref() macros are replaced by a static
2300         inline functions because gcc-4.1 will about if the return value
2301         isn't used.
2302         * tests/check/gst/gstevent.c: (event_probe):
2303         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2304
2305 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2306
2307         * gst/gstutils.h:
2308         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2309         the type' case. (Closes: #335195 for now). In the future, when we
2310         depend on GLib 2.10, we could also intern the type name using
2311         g_intern_static_string()
2312
2313 2006-03-20  Wim Taymans  <wim@fluendo.com>
2314
2315         * gst/gstbin.c: (gst_bin_handle_message_func),
2316         (bin_query_max_init), (bin_query_position_fold),
2317         (bin_query_position_done), (gst_bin_query):
2318         Position query should also take max of all streams.
2319
2320 2006-03-20  Wim Taymans  <wim@fluendo.com>
2321
2322         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2323         (gst_fake_src_finalize):
2324         Fix leaks in fakesrc.
2325
2326         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2327         Fix leaks in the testcase.
2328
2329 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2330
2331         * gst/gst_private.h:
2332           add win32 specific import decoration(__declspec(dllimport)) 
2333           for all extern GstDebugCategory * variables
2334         * win32/common/libgstbase.def:
2335         * win32/common/libgstcontroller.def:
2336         * win32/common/libgstreamer.def:
2337           Add some exports, remove empty lines
2338         * win32/common/libgstdataprotocol.def:
2339         * win32/common/libgstdataprotocol.dsp:
2340         * win32/common/libgstnet.def:
2341         * win32/common/libgstnet.dsp:
2342           new project files and exportation files added
2343         
2344 2006-03-19  Wim Taymans  <wim@fluendo.com>
2345
2346         * tests/check/libs/basesrc.c: (eos_event_counter):
2347         Use proper return value for probe.
2348
2349 2006-03-17  Wim Taymans  <wim@fluendo.com>
2350
2351         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2352         (gst_pad_push):
2353         Don't leak buffers, caps and pads on negotiation errors.
2354
2355 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
2356
2357         * docs/faq/cvs.xml:
2358         * docs/faq/dependencies.xml:
2359         * docs/faq/developing.xml:
2360         * docs/faq/faq.xml:
2361         * docs/faq/general.xml:
2362         * docs/faq/getting.xml:
2363         * docs/faq/legal.xml:
2364         * docs/faq/troubleshooting.xml:
2365         * docs/faq/using.xml:
2366         Faq review and update.
2367
2368 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
2369
2370         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2371         (gst_pad_push):
2372         Don't pound the cpu to pieces by checking get_caps when accept_caps
2373         is called with the same caps as the pad already has.
2374         Use GST_DEBUG_OBJECT when outputting caps change information.
2375
2376 2006-03-15  Wim Taymans  <wim@fluendo.com>
2377
2378         * gst/gstclock.c: (gst_clock_class_init):
2379         Fix docs.
2380
2381 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
2382
2383         * gst/gstbuffer.h:
2384         Documentation fix.
2385
2386         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2387         (gst_pad_accept_caps), (gst_pad_configure_sink),
2388         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2389         Make the default acceptcaps behaviour be to check the requested 
2390         caps against the gst_pad_get_caps output. 
2391
2392         Ensure that gst_pad_accept_caps is used to check caps when a pad
2393         doesn't have a setcaps function, so that pads automatically refuse 
2394         caps that they don't allow in their pad template. (Fixes #332986)
2395
2396         When a buffer with attached caps is pushed, ensure that the source 
2397         pad receives those caps even if the element didn't call
2398         gst_pad_set_caps first.
2399
2400 2006-03-15  Wim Taymans  <wim@fluendo.com>
2401
2402         * libs/gst/base/gstadapter.c:
2403         Add some docs.
2404
2405 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2406
2407         * win32/common/libgstbase.def:
2408         * win32/common/libgstcontroller.def:
2409         * win32/common/libgstreamer.def:
2410           Add a whole bunch of missing functions (#334434).
2411
2412 2006-03-14  Wim Taymans  <wim@fluendo.com>
2413
2414         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2415         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2416         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2417         Better debug info when we receive a segment event.
2418         Reorganize a bit so we can pass the get_times() results around.
2419         Use the segment format when calculating the running time.
2420         Don't do QoS is sync is disabled or we have no clock or the
2421         element does not want us to sync to the clock.
2422         Don't drop buffers if QoS is disabled for now.
2423
2424 2006-03-14  Wim Taymans  <wim@fluendo.com>
2425
2426         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2427         Marked the stats property as unimplemented so people don't get
2428         wild ideas.
2429         Add debug message when regression goes wrong.
2430         Added some more docs.
2431
2432 2006-03-14  Wim Taymans  <wim@fluendo.com>
2433
2434         * gst/gstsegment.c: (gst_segment_to_stream_time):
2435         Return correct return type in case of errors.
2436
2437 2006-03-14  Wim Taymans  <wim@fluendo.com>
2438
2439         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2440           Don't segfault on invalid formats.
2441
2442 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2443
2444         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2445           Can't use gst_segment_to_running_time() when the segment
2446           is not in GST_TIME_FORMAT (like with filesink, for example).
2447           Stops flac encoding pipelines from spewing critical warnings
2448           at EOS (#331248).
2449           
2450 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2451
2452         * gst/gstpipeline.c: (gst_pipeline_class_init):
2453           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2454
2455         * plugins/elements/gsttypefindelement.c:
2456         (gst_type_find_element_handle_event):
2457           Don't try to typefind empty streams.
2458
2459 2006-03-14  Wim Taymans  <wim@fluendo.com>
2460
2461         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2462         (gst_base_sink_do_qos):
2463         Separate QoS calculation.
2464         Only drop buffers when lateness is bigger than the 
2465         duration of the buffer.
2466
2467 2006-03-13  Wim Taymans  <wim@fluendo.com>
2468
2469         * gst/gstpipeline.c: (gst_pipeline_set_property),
2470         (gst_pipeline_get_property), (do_pipeline_seek),
2471         (gst_pipeline_change_state), (gst_pipeline_set_delay),
2472         (gst_pipeline_get_delay):
2473         Don't deadlock when reading properties.
2474
2475 2006-03-13  Wim Taymans  <wim@fluendo.com>
2476
2477         * libs/gst/base/gstbasetransform.c:
2478         (gst_base_transform_class_init), (gst_base_transform_init),
2479         (gst_base_transform_sink_event),
2480         (gst_base_transform_sink_eventfunc),
2481         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2482         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2483         (gst_base_transform_set_property),
2484         (gst_base_transform_get_property),
2485         (gst_base_transform_change_state), (gst_base_transform_update_qos),
2486         (gst_base_transform_set_qos_enabled),
2487         (gst_base_transform_is_qos_enabled):
2488         * libs/gst/base/gstbasetransform.h:
2489         Make basetransform virtual method for src events too.
2490         Handle QOS in basetransform.
2491         API: gst_base_transform_update_qos()
2492         API: gst_base_transform_set_qos_enabled()
2493         API: gst_base_transform_is_qos_enabled()
2494
2495 2006-03-13  Wim Taymans  <wim@fluendo.com>
2496
2497         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2498         (gst_base_sink_do_sync):
2499         Small cleanups.
2500         Use QOS debug category.
2501
2502 2006-03-13  Wim Taymans  <wim@fluendo.com>
2503
2504         * plugins/elements/gstqueue.c:
2505         Very small doc update.
2506
2507 2006-03-13  Wim Taymans  <wim@fluendo.com>
2508
2509         * gst/gst_private.h:
2510         * gst/gstinfo.c: (_gst_debug_init):
2511         Added QOS debug category
2512
2513 2006-03-13  Wim Taymans  <wim@fluendo.com>
2514
2515         * docs/gst/gstreamer-sections.txt:
2516         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2517         * gst/gstbin.h:
2518         * gst/gstbus.c: (gst_bus_class_init):
2519         * gst/gstbus.h:
2520         * gst/gstclock.c:
2521         * gst/gstelement.c: (gst_element_set_locked_state):
2522         * gst/gstsegment.c:
2523         Documentation updates.
2524
2525         * gst/gstpipeline.c: (gst_pipeline_get_type),
2526         (gst_pipeline_class_init), (gst_pipeline_init),
2527         (gst_pipeline_dispose), (gst_pipeline_set_property),
2528         (gst_pipeline_get_property), (do_pipeline_seek),
2529         (gst_pipeline_send_event), (gst_pipeline_change_state),
2530         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2531         (gst_pipeline_get_delay):
2532         * gst/gstpipeline.h:
2533         Added methods for setting the delay.
2534         API: gst_pipeline_set_delay()
2535         API: gst_pipeline_get_delay()
2536         Add pipeline debug category
2537         Various cleanups.
2538         Updated docs.
2539         Don't reset stream time when seek failed.
2540
2541 2006-03-13  Wim Taymans  <wim@fluendo.com>
2542
2543         * docs/design/draft-klass.txt:
2544         * docs/design/part-clocks.txt:
2545         * docs/design/part-events.txt:
2546         * docs/design/part-gstbin.txt:
2547         * docs/design/part-gstpipeline.txt:
2548         * docs/design/part-messages.txt:
2549         * docs/design/part-negotiation.txt:
2550         * docs/design/part-overview.txt:
2551         * docs/design/part-preroll.txt:
2552         * docs/design/part-seeking.txt:
2553         * docs/design/part-states.txt:
2554         * docs/design/part-streams.txt:
2555         Documentation updates.
2556
2557 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2558
2559         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2560         us to leak strings...
2561
2562 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2563
2564         * libs/gst/net/gstnettimeprovider.c:
2565           fix docs
2566         * win32/common/config.h:
2567           update
2568
2569 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2570
2571         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2572
2573         * configure.ac:
2574           Don't check for libgnomeui (leftover from old examples
2575           that aren't built or disted any longer) (#334303).
2576           
2577 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2578
2579         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2580         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2581           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2582           there's no space left on the device.
2583
2584 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2585
2586         * gst/gstclock.h:
2587           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2588           to cast the input to GstClockTime before comparing with
2589           another GstClockTime value.
2590
2591 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2592
2593         * configure.ac:
2594           back to trunk
2595
2596 === release 0.10.4 ===
2597
2598 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2599
2600         * configure.ac:
2601           releasing 0.10.4, "Light"
2602
2603 2006-03-10  Michael Smith  <msmith@fluendo.com>
2604
2605         * libs/gst/dataprotocol/dataprotocol.c:
2606           Fix docs for dataprocotol to not get the return types completely
2607           wrong for a few functions.
2608
2609 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2610
2611         * docs/gst/gstreamer-sections.txt:
2612         * gst/gstpipeline.c: (gst_pipeline_class_init),
2613         (gst_pipeline_init), (gst_pipeline_set_property),
2614         (gst_pipeline_get_property), (gst_pipeline_change_state),
2615         (gst_pipeline_set_auto_flush_bus),
2616         (gst_pipeline_get_auto_flush_bus):
2617         * gst/gstpipeline.h:
2618           Add new API: gst_pipeline_set_auto_flush_bus() and
2619           gst_pipeline_get_auto_flush_bus() to disable automatic
2620           flushing of the pipeline's GstBus when going from READY
2621           to NULL state (#332045).
2622
2623 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2624
2625         * docs/gst/gstreamer-sections.txt:
2626         * gst/gsturi.c: (gst_uri_has_protocol):
2627         * gst/gsturi.h:
2628            Add new API: gst_uri_has_protocol() (#333779).
2629
2630 2006-03-09  Wim Taymans  <wim@fluendo.com>
2631
2632         * gst/gstclock.c: (gst_clock_entry_new),
2633         (gst_clock_id_compare_func), (gst_clock_id_wait),
2634         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2635         (gst_clock_init), (gst_clock_get_internal_time),
2636         (gst_clock_set_master), (do_linear_regression),
2637         (gst_clock_add_observation), (gst_clock_set_property):
2638         * gst/gstclock.h:
2639         Review docs.
2640         Small cleanups.
2641         Fix a possible segfault when the window-size is made smaller.
2642         Calculate jitter before performing the clock wait. Ideally
2643         the clock implementation should calculate jitter but we need
2644         API breakage for that.
2645
2646         * gst/gstsystemclock.c: (gst_system_clock_init):
2647         Docs review.
2648         
2649         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2650         Remove leftover else
2651
2652         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2653         (gst_systemclock_suite):
2654         Added check to test GST_CLOCK_DIFF.
2655
2656 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2657
2658         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2659         (gst_type_find_helper_get_range):
2660           If we are provided with the size, we should implement
2661           GstTypeFind::get_length, so that typefind functions who
2662           want to can actually peek at the middle of a file.
2663
2664 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2665
2666         * docs/manual/advanced-dataaccess.xml:
2667           Add some very very basic error checking.
2668
2669         * docs/pwg/appendix-checklist.xml:
2670           Some updates to the list of things to check when writing an element.
2671
2672 2006-03-08  Wim Taymans  <wim@fluendo.com>
2673
2674         * docs/design/part-element-transform.txt:
2675         Added some docs about the design of tranform elements.
2676
2677         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2678         (gst_base_src_loop), (gst_base_src_change_state):
2679         Mark buffers with the DISCONT flag.
2680
2681 2006-03-08  Michael Smith  <msmith@fluendo.com>
2682
2683         * gst/gstregistry.h:
2684         * gst/gstregistryxml.c: (gst_registry_save),
2685         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2686         (gst_registry_xml_save_pad_template),
2687         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2688         (gst_registry_xml_write_cache):
2689           Rewrite registry-saving to avoid race conditions and check for
2690           failed writes.
2691
2692 2006-03-08  Wim Taymans  <wim@fluendo.com>
2693
2694         * libs/gst/base/gstbasetransform.c:
2695         (gst_base_transform_transform_caps),
2696         (gst_base_transform_transform_size),
2697         (gst_base_transform_prepare_output_buffer),
2698         (gst_base_transform_get_unit_size),
2699         (gst_base_transform_buffer_alloc),
2700         (gst_base_transform_handle_buffer),
2701         (gst_base_transform_change_state):
2702         Cleanups, separate normal flow from errors, add sensible
2703         DEBUG lines.
2704         Don't try to renegotiate when allocating an output buffer.
2705         Also copy DISCONT buffer flag when copying a buffer.
2706         Reset the transform after we finish streaming, not during.
2707
2708 2006-03-08  Wim Taymans  <wim@fluendo.com>
2709
2710         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2711         Use last buffer timestamp in qos message.
2712
2713 2006-03-07  Wim Taymans  <wim@fluendo.com>
2714
2715         Patch by: Christophe Fergeau
2716
2717         * docs/pwg/advanced-tagging.xml:
2718         * docs/pwg/building-pads.xml:
2719           fixes #333416
2720
2721 2006-03-07  Wim Taymans  <wim@fluendo.com>
2722
2723         * docs/libs/gstreamer-libs-sections.txt:
2724         Added basesink new methods.
2725
2726         * gst/gstevent.c:
2727         * gst/gstevent.h:
2728         Docs updates. Flesh out the QoS docs.
2729
2730         * libs/gst/base/gstadapter.c:
2731         Small doc clarification about ownership and flushing.
2732
2733         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2734         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2735         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2736         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2737         * libs/gst/base/gstbasesink.h:
2738         API additions: 
2739         Added new methods to allow subclass to control max-lateness 
2740         and sync.
2741         Generate very basic QoS events based on last sync observation.
2742         Updated docs, fix typo, added some QoS blurb.
2743
2744         * libs/gst/base/gstbasesrc.c:
2745         Remove obsolete _get_state() calls from docs.
2746
2747 2006-03-07  Wim Taymans  <wim@fluendo.com>
2748
2749         * docs/libs/gstreamer-libs-sections.txt:
2750         * libs/gst/base/gstbasetransform.h:
2751         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
2752         Fix docs for GstBaseSrc.
2753
2754 2006-03-07  Wim Taymans  <wim@fluendo.com>
2755
2756         * docs/gst/gstreamer-sections.txt:
2757         * gst/gstbuffer.h:
2758         * gst/gstvalue.c:
2759         * libs/gst/base/gstbasetransform.h:
2760         Small documentation fixes.
2761
2762 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2763
2764         * gst/gstvalue.c:
2765           Document thread-unsafety of gst_value_register_foo_func()
2766           when used at the same time as gst_value_foo() (#322628).
2767
2768 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2769
2770         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
2771         (gst_push_src_check_get_range):
2772           Push sources don't support pull mode by default.
2773
2774 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2775
2776         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2777         (gst_base_src_init), (gst_base_src_pad_check_get_range),
2778         (gst_base_src_default_check_get_range):
2779         * libs/gst/base/gstbasesrc.h:
2780           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
2781           provide default implementation, and rename
2782           gst_base_src_check_get_range() to
2783           gst_base_src_pad_check_get_range() for clarity.
2784
2785 2006-03-06  Wim Taymans  <wim@fluendo.com>
2786
2787         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2788         Make property overridable.
2789
2790 2006-03-06  Wim Taymans  <wim@fluendo.com>
2791
2792         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2793         (gst_base_sink_init), (gst_base_sink_set_property),
2794         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2795         * libs/gst/base/gstbasesink.h:
2796         API addition: Make max-lateness a property.
2797
2798 2006-03-06  Wim Taymans  <wim@fluendo.com>
2799
2800         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
2801         (gst_base_sink_do_sync), (gst_base_sink_render_object):
2802         Don't ever draw a frame that is >10ms late.
2803
2804 2006-03-06  Michael Smith  <msmith@fluendo.com>
2805
2806         * gst/gstmessage.c: (_gst_message_copy):
2807           When copying a message, set the parent_refcount of the enclosed
2808           structure to point at the copy, not the original message.
2809
2810 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2811
2812         Patch by: Christophe Fergeau
2813
2814         * gst/gstutils.h:
2815           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
2816           usable in c++ code (#333417)
2817
2818 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2819
2820         * gst/gstclock.h:
2821           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2822
2823 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
2824
2825         * libs/gst/base/gstbasetransform.c:
2826         (gst_base_transform_transform_caps):
2827           Make sure caps are writable before passing them to
2828           gst_caps_append().
2829
2830 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2831
2832         * gst/gsterror.h:
2833           Fix some minor docs errors.
2834
2835 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2836
2837           Patch by: Ross Burton <ross at burtonini dot com>
2838
2839         * gst/gsterror.c: (_gst_resource_errors_init):
2840         * gst/gsterror.h:
2841           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
2842
2843 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2844
2845         * gst/gst.c:
2846         Add a check and output a g_warning when GStreamer is built
2847         against GLib 2.6 but running against 2.8 or higher, and vice 
2848         versa. (Closes: #323542)
2849
2850 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2851
2852         * gst/parse/parse.l:
2853           Commit patch for parse_launch syntax from #331255. Removes 
2854           support for quoted strings and mimetypes when writing filtered 
2855           caps. See the bug report for more details - I'm pretty sure this
2856           obscure feature is not in use by _anyone_ anywhere.
2857
2858           With this simple change, the size of the gstreamer.so here 
2859           drops from 2193KB to 1565KB.
2860
2861 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2862
2863         * plugins/elements/gsttypefindelement.h:
2864         * plugins/elements/gsttypefindelement.c:
2865         (gst_type_find_element_src_event), (start_typefinding),
2866         (stop_typefinding), (gst_type_find_element_handle_event),
2867         (gst_type_find_element_chain),
2868         (gst_type_find_element_chain_do_typefinding):
2869           Use gst_type_find_helper_for_buffer() for chain-based
2870           typefinding.
2871
2872 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2873
2874         * plugins/elements/gsttypefindelement.c:
2875         (gst_type_find_element_class_init),
2876         (gst_type_find_element_set_property),
2877         (gst_type_find_element_get_property):
2878           Deprecate "maximum" property (not only was it only taken into
2879           account for typefinding in push-mode anyway, it also was never
2880           actually possible to set it in the first place because the
2881           property was registered with the numeric property ID for the
2882           "minimum" property). Register "maximum" property correctly,
2883           for the sake of future copy'n'pasters. Remove some cruft
2884           from property get/set functions.
2885
2886 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2887
2888         * plugins/elements/gsttypefindelement.c:
2889         (gst_type_find_element_activate):
2890           Use gst_type_find_helper_get_range() here, so we
2891           can honour the "minimum" property and also emit
2892           the signal with the correct probability of the found caps.
2893
2894 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
2895
2896         * docs/libs/gstreamer-libs-sections.txt:
2897         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2898         (helper_find_suggest), (gst_type_find_helper_get_range),
2899         (gst_type_find_helper):
2900         * libs/gst/base/gsttypefindhelper.h:
2901           New API: gst_type_find_helper_get_range() (#333042).
2902
2903 2006-03-02  Michael Smith  <msmith@fluendo.com>
2904
2905         * gst/gstregistryxml.c: (load_feature):
2906           Asserting on a failure to read part of the registry is Not Cool.
2907           Just log a warning and return NULL (which is already handled)
2908
2909 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
2910
2911         * win32/common/libgstbase.def:
2912           added export of gst_type_find_helper_for_buffer
2913         * win32/common/libgstbase.def:
2914           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
2915           gst_ghost_pad_get_target
2916
2917 2006-02-28  Wim Taymans  <wim@fluendo.com>
2918
2919         * docs/design/draft-klass.txt:
2920         We use Filter now.
2921         Added Connector to mark elements that are only used to
2922         allow pipeline connections.
2923         Moved Debug to extra feature since most of them are 
2924         functionally something else.
2925
2926 2006-02-28  Wim Taymans  <wim@fluendo.com>
2927
2928         * docs/design/draft-klass.txt:
2929         Some updates and clarifications.
2930
2931 2006-02-28  Wim Taymans  <wim@fluendo.com>
2932
2933         * docs/design/draft-klass.txt:
2934         Proposal for klass field values.
2935
2936         * docs/design/part-streams.txt:
2937         Start of a doc describing stream anatomy.
2938
2939 2006-02-28  Wim Taymans  <wim@fluendo.com>
2940
2941         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
2942         Help the compiler a bit with type registration.
2943         Use existing forward cod path instead of duplicating it when 
2944         handling a message.
2945         
2946         * gst/gstbus.c: (gst_bus_get_type):
2947         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
2948         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
2949         * gst/gstclock.c: (gst_clock_get_type):
2950         * gst/gstelement.c: (gst_element_get_type),
2951         * gst/gstelementfactory.c: (gst_element_factory_get_type):
2952         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2953         * gst/gstminiobject.c: (gst_mini_object_get_type):
2954         * gst/gstpad.c: (gst_pad_get_type):
2955         * gst/gstsegment.c: (gst_segment_get_type):
2956         * gst/gststructure.c: (gst_structure_get_type):
2957         * gst/gstsystemclock.c: (gst_system_clock_get_type):
2958         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
2959         * gst/gstvalue.c:
2960         Help compiler with type registration.
2961
2962         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2963         Small doc update.
2964
2965 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2966
2967         * plugins/elements/gsttypefindelement.c:
2968         (gst_type_find_element_handle_event):
2969           When we get an EOS event and have not found a type yet
2970           (most likely because we had not yet accumulated
2971           TYPE_FIND_MIN_SIZE of data yet), try to determine the
2972           type given the data we have so far. Fixes typefinding
2973           for very short streams again, most notably quicktime
2974           redirections as used on Apple's trailer site (#331701).
2975
2976 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2977
2978         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
2979         (gst_type_find_helper):
2980           Try typefinding factories with the highest rank first.
2981
2982 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2983
2984         * docs/libs/gstreamer-libs-docs.sgml:
2985         * docs/libs/gstreamer-libs-sections.txt:
2986         * libs/gst/base/gsttypefindhelper.c:
2987           Add section for typefind helper and add documentation
2988           for the old and the new function.
2989
2990 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2991
2992         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
2993         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
2994         (gst_type_find_helper_for_buffer):
2995         * libs/gst/base/gsttypefindhelper.h:
2996           New API: gst_type_find_helper_for_buffer() (#332723).
2997           
2998 2006-02-27  Michael Smith  <msmith@fluendo.com>
2999
3000         Patch by: Loïc Minier
3001
3002         * configure.ac:
3003         * docs/Makefile.am:
3004         * docs/slides/Makefile.am:
3005           prevent CVS directories getting disted.
3006
3007 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3008
3009         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
3010           Use the REFCOUNTING category for caps refcounting.
3011           
3012 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3013
3014         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3015           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
3016
3017 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3018
3019         * plugins/elements/gsttypefindelement.c:
3020         (gst_type_find_element_activate):
3021           Use gst_pad_check_pull_range() before _activate_pull()
3022           to avoid unnecessary open/close (see #331690).
3023
3024 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3025
3026         * gst/gstutils.c:
3027           Docs enhancement: make it crystal clear what the
3028           gst_pad_add_*_probe() callbacks should look like.
3029
3030 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3031
3032         * libs/gst/base/gstbasesrc.c:
3033           Document how applications can stop recording from
3034           live sources (see #330996).
3035
3036 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3037
3038         * tests/check/Makefile.am:
3039         * tests/check/libs/basesrc.c: (eos_event_counter),
3040         (basesrc_eos_events_pull), (basesrc_eos_events_push),
3041         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
3042         (gst_basesrc_suite), (main):
3043           ... and add some tests for the base source EOS stuff.
3044
3045 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3046
3047         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
3048           Test case originally showed the problem fixed below,
3049           but was then amended. Add checks back at the place
3050           where they used to be.
3051
3052 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3053
3054         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3055         (gst_base_src_init), (gst_base_src_loop),
3056         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3057         (gst_base_src_change_state):
3058         * libs/gst/base/gstbasesrc.h:
3059           Don't unconditionally send EOS when going from PAUSED to
3060           READY state, esp. make sure we don't send two EOS events
3061           in some cases (e.g. one when reaching EOS and one when
3062           going from PAUSED to READY). Also, we don't want to send
3063           EOS events when operating in pull mode. However, we do
3064           want to send an EOS event when shutting down a live
3065           source explicitly, for example (fixes #330996).
3066           
3067 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3068
3069         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3070           Update src->read_position after a seek when not using mmap.
3071           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
3072
3073 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
3074
3075         * gst/Makefile.am:
3076         * gst/gstparse.h:
3077         * gst/gstutils.c:
3078         * gst/gstutils.h:
3079         Make things work with --disable-parse as they do with 
3080         --disable-load-save - the symbols involved disappear, but the
3081         header is still installed and GST_DISABLE_PARSE is included via
3082         gstconfig.h
3083
3084 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3085
3086         * libs/gst/base/gstbasetransform.c:
3087         (gst_base_transform_change_state): Fix a stupid bug. I was 
3088         sure I compiled that.
3089
3090 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3091
3092         * gst/gstpad.c: (gst_pad_set_blocked_async):
3093         * gst/gstutils.c: (gst_pad_add_data_probe),
3094         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
3095         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
3096         (gst_pad_remove_buffer_probe): Make those function act on the
3097         ghostpad target when it's a ghostpad. (Closes #331727)
3098
3099 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3100
3101         * libs/gst/base/gstbasetransform.c:
3102         (gst_base_transform_change_state): Make basetransform reusable.
3103         (Closes #331898)
3104
3105 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
3106
3107         * docs/random/release:
3108         Move the current documentation of how to do a release to the top
3109         of the file.
3110
3111         * gst/gstbin.c: (gst_bin_class_init),
3112         (gst_bin_handle_message_func):
3113         Allow multiple state-recalculation threads. (Closes #328873)
3114
3115 2006-02-19  Julien MOUTTE  <julien@moutte.net>
3116
3117         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
3118         * gst/gstpad.c: (gst_pad_set_event_function),
3119         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3120         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
3121         2 strings. You can't use the STR_NULL macro on that.
3122
3123 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
3124
3125         * gst/gstpad.c: (gst_pad_set_event_function),
3126         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3127         (gst_pad_set_getcaps_function)
3128         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
3129           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
3130           So now, we can use --gst-debug-level=5 on Windows
3131         * win32/common/libgstcontroller.def:
3132           Added export of gst_controller_init
3133         * win32/vs6/libgstcontroller.dsp:
3134           Fixed Release post build configuration
3135
3136 2006-02-17  Wim Taymans  <wim@fluendo.com>
3137
3138         * tests/check/gst/gstquery.c: (GST_START_TEST):
3139         Added another check.
3140
3141 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
3142
3143         * plugins/elements/gsttypefindelement.c: (find_peek):
3144           We can do peeks at non-zero offsets, as long as they
3145           fall within the buffer we have.
3146
3147 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
3148
3149         * tests/check/Makefile.am:
3150         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
3151         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
3152         (parse_suite), (main):
3153           Add testsuite for parse launch syntax
3154
3155 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
3156
3157         * plugins/elements/gsttypefindelement.c:
3158         (gst_type_find_element_chain):
3159           When typefinding is unsuccessful in the chain function, don't
3160           error out immediately. Only error out with NO_CAPS_FOUND if
3161           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
3162           otherwise simply wait for more data so we can try typefinding
3163           again with more data later. Also, don't attempt to typefind
3164           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
3165           this should improve typefinding from network sources where the
3166           size of the first buffer can be somewhat random.
3167
3168 2006-02-14  Wim Taymans  <wim@fluendo.com>
3169
3170         * docs/gst/gstreamer-sections.txt:
3171         * gst/gstpadtemplate.c:
3172         * gst/gstpadtemplate.h:
3173         Fix padtemplate docs, fixes #328805.
3174
3175 2006-02-14  Wim Taymans  <wim@fluendo.com>
3176
3177         * tools/gst-launch.c: (main):
3178         NO_PREROLL is not an ERROR so don't send confusing messages
3179         to the user.
3180
3181 2006-02-14  Wim Taymans  <wim@fluendo.com>
3182
3183         Patch by: Torsten Schoenfeld
3184
3185         * gst/gstregistry.c: (gst_registry_get_default),
3186         (_gst_registry_cleanup):
3187         Protect default registry with lock and ref/sink it.
3188         Fixes #324818
3189
3190 2006-02-14  Wim Taymans  <wim@fluendo.com>
3191
3192         * gst/gstbuffer.c:
3193         * gst/gstquery.c: (gst_query_list_add_format),
3194         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3195         (gst_query_parse_formats_nth):
3196         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3197         Docs fixes.
3198
3199 2006-02-14  Wim Taymans  <wim@fluendo.com>
3200
3201         * docs/gst/gstreamer-sections.txt:
3202         Reworked query docs.
3203
3204         * gst/gstquery.c: (gst_query_new_formats),
3205         (gst_query_list_add_format), (gst_query_set_formats),
3206         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3207         (gst_query_parse_formats_nth):
3208         * gst/gstquery.h:
3209         Flesh out formats query, added some new methods.
3210         Fix part of #324398.
3211
3212         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3213         Added query creation tests.
3214
3215 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
3216
3217         * gst/gstpad.c: (fixate_value):
3218         Add a default fixation for fraction lists.
3219
3220 2006-02-13  Wim Taymans  <wim@fluendo.com>
3221
3222         * gst/gsttask.c: (gst_task_init), (gst_task_func),
3223         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3224         (gst_task_join):
3225         * gst/gsttask.h:
3226         Detect and warn for obvious deadlocks. fixes #320340
3227         Fix error case where lock was not released.
3228
3229         * tests/check/Makefile.am:
3230         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3231         (task_func), (gst_element_suite), (main):
3232         Add task check.
3233
3234 2006-02-13  Wim Taymans  <wim@fluendo.com>
3235
3236         * docs/gst/gstreamer-sections.txt:
3237         * gst/gstbus.c:
3238         Add new functions to docs.
3239
3240 2006-02-13  Wim Taymans  <wim@fluendo.com>
3241
3242         * docs/design/part-TODO.txt:
3243         Updated TODO list, basesrc supports seeking to non-bytes
3244         formats.
3245
3246         * docs/design/part-element-sink.txt:
3247         Update docs.
3248
3249         * gst/gstbin.c: (bin_replace_message),
3250         (gst_bin_handle_message_func):
3251         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3252         * gst/gstevent.c: (gst_event_finalize):
3253         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3254         (gst_pad_send_event):
3255         Use shiny new _TYPE_NAME macros.
3256
3257         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3258         Move debug statement up.
3259
3260         * gst/gstelement.c: (gst_element_set_locked_state):
3261         Add some debugging.
3262
3263 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
3264
3265         * docs/gst/gstreamer-sections.txt:
3266         * gst/gstmessage.h:
3267         * gst/gstquery.h:
3268           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3269           macros (#330906). Also, document the already existing
3270           GST_QUERY_TYPE macro.
3271
3272 2006-02-13  Wim Taymans  <wim@fluendo.com>
3273
3274         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3275         (event_probe), (GST_START_TEST):
3276         Only events up to the pipeline EOS are counted, there are
3277         some more when going to NULL currently which we don't care
3278         about for now.
3279
3280 2006-02-13  Wim Taymans  <wim@fluendo.com>
3281
3282         * gst/gstpad.c: (gst_pad_send_event):
3283         Correctly check flushing and emit probes. fixes #330125
3284
3285 2006-02-10  Andy Wingo  <wingo@pobox.com>
3286
3287         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3288         structure.
3289         (gst_bus_init): Cache the location of the private data in the
3290         instance structure.
3291         (gst_bus_enable_sync_message_emission) 
3292         (gst_bus_disable_sync_message_emission): Implement new public
3293         functions.
3294         (gst_bus_post): Emit the sync-message signal if the user asked for
3295         it. Fixes #330684.
3296
3297         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3298         location of the bus-private structure.
3299         (gst_bus_enable_sync_message_emission)
3300         (gst_bus_disable_sync_message_emission): API addition
3301
3302 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3303
3304         Patch by: Vincent Torri
3305
3306         * docs/pwg/building-boiler.xml:
3307         PWG patch from #326800
3308
3309 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3310
3311         * configure.ac:
3312         * docs/Makefile.am:
3313         * docs/design/Makefile.am:
3314           Dist design docs.
3315
3316 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3317
3318         * configure.ac:
3319           back to CVS
3320
3321 === release 0.10.3 ===
3322
3323 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3324
3325         * configure.ac:
3326           releasing 0.10.3, "Like a virgin"
3327
3328 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3329
3330         * configure.ac:
3331           2nd prerelease of 0.10.3
3332           Bump libtool versioning.
3333
3334 2006-02-07  Andy Wingo  <wingo@pobox.com>
3335
3336         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3337         update last_stop if we're in TIME format and the timestamp is
3338         valid.
3339
3340         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
3341         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
3342         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3343         If we get a new newsegment with a different format, adapt
3344         accordingly.
3345
3346         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3347         of 0. Not a problem, really.
3348
3349         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3350         warn if sync=true.
3351
3352 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
3353
3354         * configure.ac:
3355           Prelease of 0.10.3
3356
3357 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
3358
3359         * win32/vs7:
3360           project files updated to the default vs7 configuration
3361         * win32/common/libgstbase.def:
3362         * win32/common/libgstreamer.def:
3363           added new symbols,
3364           removed empty lines,
3365           sorted all exported symbols alphabetically
3366         * win32/common/dirent.c:
3367         * win32/common/dirent.h:
3368         * win32/common/gchar.h:
3369           use windows line end.
3370           
3371 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3372
3373         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3374           Send EOS event when stopping.
3375
3376 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3377
3378         * docs/README:
3379           Tell folks what to do if the plugin-foobar.xml file
3380           hasn't been generated for a newly-added plugin.
3381
3382 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3383
3384         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3385         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3386         (gst_collect_pads_start), (gst_collect_pads_stop),
3387         (gst_collect_pads_event): Collectpads now holds a reference
3388         to the GstPad that was added. Indeed we don't want to look
3389         at pads that might just go away with no warning...
3390
3391 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3392
3393         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3394         (gst_collect_pads_start), (gst_collect_pads_stop),
3395         (gst_collect_pads_event), (gst_collect_pads_chain):
3396         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3397         Mark Nauwelaerts's patch on bug #328491.
3398
3399 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3400
3401         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3402         (gst_utils_suite):
3403           Add some simple tests for gst_parse_bin_from_description() and
3404           gst_bin_find_unconnected_pad() (#329069).
3405
3406 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3407
3408         * tools/gst-launch.c: (event_loop), (main):
3409           Catch errors during preroll (#320084).
3410
3411 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
3412
3413         * plugins/elements/gsttypefindelement.c:
3414         (gst_type_find_element_activate):
3415           Post TYPE_NOT_FOUND error message when typefinding
3416           is unsuccessful in the activate function as well.
3417
3418 2006-02-02  Wim Taymans  <wim@fluendo.com>
3419
3420         * docs/design/part-element-sink.txt:
3421         Updated doc.
3422
3423 2006-02-02  Wim Taymans  <wim@fluendo.com>
3424
3425         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3426         (gst_base_sink_render_object),
3427         (gst_base_sink_queue_object_unlocked):
3428         Only keep track of prerollable items when we are 
3429         prerolling.
3430         Before rendering after preroll, always check if we
3431         have queued items.
3432         Added some more debugging.
3433
3434 2006-02-02  Wim Taymans  <wim@fluendo.com>
3435
3436         * gst/gstelement.c: (gst_element_continue_state),
3437         (gst_element_set_state_func), (gst_element_change_state):
3438         Fixed #326576, been running this for quite some time with
3439         no regressions at all.
3440
3441 2006-02-02  Wim Taymans  <wim@fluendo.com>
3442
3443         * common/gst.supp:
3444         Added more suppressions
3445
3446 2006-02-02  Wim Taymans  <wim@fluendo.com>
3447
3448         * docs/design/part-element-sink.txt:
3449         Updated document.
3450
3451         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3452         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3453         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3454         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3455         (gst_base_sink_do_sync), (gst_base_sink_render_object),
3456         (gst_base_sink_preroll_object),
3457         (gst_base_sink_queue_object_unlocked),
3458         (gst_base_sink_queue_object), (gst_base_sink_event),
3459         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3460         (gst_base_sink_loop), (gst_base_sink_activate_pull),
3461         (gst_base_sink_get_position), (gst_base_sink_change_state):
3462         * libs/gst/base/gstbasesink.h:
3463         Totally refactored matching the design doc.
3464         Use two segments, one to clip incomming buffers and another to
3465         perform sync.
3466         Handle queueing correctly, bypass the queue when playing.
3467         Make EOS cancelable.
3468         Handle errors correctly when operating in pull based mode.
3469
3470         * tests/check/elements/fakesink.c: (GST_START_TEST),
3471         (fakesink_suite):
3472         Added new check for sinks.
3473
3474 2006-02-02  Wim Taymans  <wim@fluendo.com>
3475
3476         * gst/gstsegment.c: (gst_segment_clip):
3477         No reason to refuse to clip when start == -1
3478
3479 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
3480
3481         * docs/README:
3482         * docs/manual/intro-basics.xml:
3483         * docs/manual/intro-preface.xml:
3484         * docs/manual/manual.xml:
3485         * docs/pwg/advanced-dparams.xml:
3486         * docs/pwg/intro-basics.xml:
3487         * docs/pwg/intro-preface.xml:
3488         * docs/pwg/pwg.xml:
3489           describe dparams (controller) for plugins
3490           unify docs a little more
3491
3492 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
3493
3494         * docs/gst/gstreamer-sections.txt:
3495         * gst/gstutils.c: (element_find_unconnected_pad),
3496         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3497         * gst/gstutils.h:
3498           Add new API: gst_parse_bin_from_description() and
3499           gst_bin_find_unconnected_pad() (#329069).
3500
3501 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
3502
3503         * docs/manual/README:
3504           uncover a nasty detail of the docs build
3505
3506 2006-01-31  Wim Taymans  <wim@fluendo.com>
3507
3508         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3509         Don't cache duration messages if we're not going to use or
3510         free them.
3511
3512 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
3513
3514         * docs/manual/advanced-dparams.xml:
3515         * docs/pwg/advanced-dparams.xml:
3516           more dparam docs
3517         * gst/gstindex.c:
3518           fix docs
3519         * libs/gst/controller/lib.c: (gst_controller_init):
3520           init just once
3521
3522 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3523
3524         * gst/gstelement.c: (gst_element_message_full):
3525           also show file/line/func if no additional debug was given
3526
3527 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
3528         
3529         * win32/vs7/grammar.vcproj:
3530           activate copy of autogenerated files for Release mode
3531
3532 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3533         
3534         * win32/common/libgstreamer.def:
3535           export gst_value_compare
3536
3537 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3538
3539         * plugins/elements/Makefile.am:
3540         * plugins/elements/gstelements.c:
3541         * plugins/elements/gstfdsink.c: (_do_init),
3542         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3543         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3544         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3545         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3546         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3547         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3548         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3549         * plugins/elements/gstfdsink.h:
3550         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3551
3552 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3553
3554         * docs/manual/advanced-dparams.xml:
3555           describe controller
3556         * docs/manual/advanced-position.xml:
3557         * docs/manual/basics-init.xml:
3558         * docs/manual/manual.xml:
3559         * docs/manual/titlepage.xml:
3560         * docs/pwg/pwg.xml:
3561         * docs/pwg/titlepage.xml:
3562           cleanup xml (more to come)
3563         * libs/gst/controller/gstcontroller.c:
3564           fix typo
3565
3566 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3567         
3568         * win32/vs6/grammar.dsp:
3569           add autogen of gstmarshal.c,h for Release mode
3570                 
3571 2006-01-30  Wim Taymans  <wim@fluendo.com>
3572
3573         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3574         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3575         (gst_base_sink_handle_object), (gst_base_sink_event),
3576         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3577         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3578         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3579         (gst_base_sink_deactivate), (gst_base_sink_activate),
3580         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3581         (gst_base_sink_query), (gst_base_sink_change_state):
3582         Basesink cleanups, remove some old code.
3583         Handle the case where a subclass can preroll in the render
3584         method (mostly audiosinks).
3585         Handle more events.
3586         Remove some locks around variables that are now protected
3587         with the PREROLL_LOCK (clock_id, flushing, ..).
3588         Optimize position query some more, do correct locking.
3589         Remove old code to push queue in state change, this is not
3590         needed anymore since preroll blocks on all prerollable items 
3591         now.
3592         Almost implemented as described in design doc.
3593
3594 2006-01-30  Wim Taymans  <wim@fluendo.com>
3595
3596         * tests/check/gst/gstbin.c: (GST_START_TEST):
3597         Wait for refcount to settle down before checking.
3598
3599 2006-01-30  Wim Taymans  <wim@fluendo.com>
3600
3601         * docs/design/part-element-sink.txt:
3602         Pseudo code overview of desired sink behaviour regarding
3603         preroll.
3604
3605 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3606         * win32/vs6/grammar.dsp:
3607           fix some bugs in Release mode for autogenerated files
3608                 
3609 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3610         * win32/common/libgstbase.def:
3611         * win32/common/libgstreamer.def:
3612           export some new symbols: gst_base_src_set_format,
3613           gst_iterator_next, gst_structure_set_valist
3614
3615 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3616
3617         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3618         Set pad functions unconditionally. Fixes #329105.
3619
3620 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3621         * win32/vs8:
3622           add vs8 project files created by Sergey Scobich
3623
3624 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3625
3626         * gst/gstutils.c: (gst_element_unlink_pads):
3627         Don't leak pad references.
3628
3629         * tests/check/elements/fakesink.c: (GST_START_TEST):
3630         * tests/check/generic/sinks.c: (GST_START_TEST):
3631         * tests/check/generic/states.c: (GST_START_TEST):
3632         * tests/check/gst/gstbin.c: (GST_START_TEST):
3633         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3634         * tests/check/gst/gstelement.c: (GST_START_TEST):
3635         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3636         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3637         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3638         Fix a bunch of leaks. Make generic/sinks.c
3639         use a bit less cpu by slowing the buffer rate
3640         between fakesrc and fakesink.
3641         
3642 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3643         * gst/gstcaps.c:
3644         * gst/gstelement.c: (gst_element_send_event):
3645         * gst/gstevent.c:
3646         * gst/gstinfo.c:
3647         * gst/gstiterator.c:
3648         * gst/gstiterator.h:
3649         * gst/gstpad.c: (gst_pad_send_event):
3650         * gst/gststructure.c:
3651         * gst/gsturi.c:
3652         * gst/gstutils.c:
3653         * gst/gstvalue.c:
3654         * libs/gst/base/gstadapter.c:
3655           doc fixes, to link to function, just write gst_cool_function(), don't
3656           prefix with '#'
3657
3658 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3659
3660         * plugins/elements/gsttee.c: (gst_tee_do_push),
3661         (gst_tee_handle_buffer):
3662         Always prefer an actual return value from a src
3663         pad in place of NOT_LINKED. This means we return
3664         WRONG_STATE when all src pads are WRONG_STATE
3665         instead of NOT_LINKED.
3666
3667         Lock when replacing the last message to prevent
3668         racing with the get_property method.
3669
3670         Add debug output
3671
3672 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3673
3674         * tests/check/Makefile.am:
3675         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3676         (main):
3677         Add a very simple check that should have caught the memleak I fixed
3678         last night (if not for the slice allocator hiding it)
3679
3680 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3681
3682         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3683         (gst_bin_remove_func), (gst_bin_handle_message_func),
3684         (bin_query_duration_fold), (bin_query_generic_fold):
3685         Clean up references to the clock provider when disposed or when
3686         handling a clock-lost message from it.
3687
3688         Unref sinks when performing a query via gst_iterator_fold, as the
3689         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3690
3691         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3692         (gst_clock_set_master):
3693         Drop our reference to the master clock, if any, when we are disposed.
3694
3695         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3696         Chain up in dispose. 
3697
3698 2006-01-26  Wim Taymans  <wim@fluendo.com>
3699
3700         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3701         Add some debugging.
3702
3703 2006-01-26  Julien MOUTTE  <julien@moutte.net>
3704
3705         * plugins/elements/gsttee.c: (gst_tee_do_push),
3706         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3707         handles pad being NOT_LINKED or in WRONG_STATE.
3708
3709 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3710
3711         * win32/MANIFEST:
3712           more updating
3713
3714 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3715
3716         * win32/MANIFEST:
3717           remove obsolete entry
3718
3719 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3720
3721         * docs/gst/gstreamer-sections.txt:
3722         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3723         (gst_bin_iterate_sources), (gst_bin_send_event):
3724         * gst/gstbin.h:
3725         * gst/gstelement.c: (gst_element_send_event):
3726         * gst/gstevent.c:
3727         * gst/gstpad.c: (gst_pad_send_event):
3728           added code for downstream events, reviewed docs in gstevent.c
3729
3730 2006-01-25  Julien MOUTTE  <julien@moutte.net>
3731
3732         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3733         We only query position using the clock in the playing state.
3734         Query peer in the other cases.
3735         * win32/common/config.h: Updates.
3736
3737 2006-01-24  Wim Taymans  <wim@fluendo.com>
3738
3739         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3740         A clock entry that is scheduled for the exact time of the
3741         clock is still in time.
3742
3743         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3744         (gst_base_sink_do_sync):
3745         Add some more debug info.
3746
3747 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3748
3749         * win32/vs7:
3750           Add new vs7 project files and solution.
3751
3752 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3753
3754         * win32/vs7:
3755           all files removed as they were out-dated.
3756
3757 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3758
3759         * docs/random/release:
3760           update notes
3761         * gst/gstbin.c: (gst_bin_init):
3762         * gst/gstbus.c: (gst_bus_new):
3763         * gst/gstbus.h:
3764         * gst/gstpipeline.c: (gst_pipeline_init):
3765           use gst_bus_new(), improve logging, fix docs
3766         * win32/common/config.h:
3767           update for cvs build
3768
3769 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3770
3771         * autogen.sh:
3772           up required version of automake to 1.7
3773
3774 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
3775
3776         * win32/common/libgstreamer.def:
3777           export gst_buffer_is_metadata_writable
3778
3779 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3780
3781         * docs/gst/gstreamer-sections.txt:
3782         * gst/gstevent.h:
3783           Add gst_event_replace() (#327001)
3784
3785 2006-01-20  Wim Taymans  <wim@fluendo.com>
3786
3787         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3788         Make it actually compile too..
3789
3790 2006-01-20  Wim Taymans  <wim@fluendo.com>
3791
3792         * gst/gstcaps.c:
3793         Clarify behaviour of _is_equal() when passing NULL parameters.
3794
3795         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3796         (gst_pad_set_caps):
3797         Cleanups. Don't unref NULL caps.
3798         When setting the same caps, protect caps of the pad with
3799         proper lock.
3800         Use full functionality of _is_equal() when comparing caps.
3801
3802 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3803
3804         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3805         Don't loop infinitely if there are no buffers to present. Partially
3806         fixes #327197, but collectpads is just broken for reusing elements
3807         to do multiple encodes atm.
3808
3809 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3810
3811         * tools/gst-inspect.c: (print_element_features):
3812         * tools/gst-xmlinspect.c: (main):
3813         URL_HANDLER is not a plugin feature we can search for in
3814         the registry.
3815
3816 2006-01-19  Edward Hervey  <edward@fluendo.com>
3817
3818         * gst/gstelement.c: (gst_element_pads_activate): 
3819         When activating, do src pads first, then sink pads.
3820         When de-activating, do sink pads first, then src pads.
3821
3822 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3823
3824         * docs/gst/gstreamer-sections.txt:
3825         Add gst_index_add_associationv to the docs
3826
3827 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3828
3829         * gst/gstevent.c:
3830           Fix docs typo
3831
3832         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
3833         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
3834           Do some refactoring. Doesn't actually change functionality,
3835           but makes landing the DRAIN event easier later.
3836
3837 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
3838
3839         * docs/pwg/advanced-scheduling.xml:
3840           Update from 0.9.x to 0.10 API and make example a bit
3841           clearer.
3842
3843 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3844
3845         * docs/gst/gstreamer-sections.txt:
3846         Add gst_buffer_(is|make)_metadata_writable methods.
3847
3848 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3849
3850         * docs/design/part-sparsestreams.txt:
3851         Update sparse streams doc, hopefully for greater clarity
3852
3853 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
3854
3855         * docs/design/part-events.txt:
3856         Remove mention of FILLER events.
3857         Add DRAIN event.
3858
3859         * docs/design/part-sparsestreams.txt:
3860         Write some things about using NEWSEGMENT to keep sparse streams
3861         flowing.
3862
3863 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3864
3865         * gst/gstbin.c: (gst_bin_dispose):
3866           Guard gst_object_unref call against a NULL object (dispose
3867           can theoretically be called multiple times).
3868           
3869 2006-01-18  Wim Taymans  <wim@fluendo.com>
3870
3871         * gst/gstbin.c: (gst_bin_element_set_state):
3872         * gst/gstclock.c: (gst_clock_id_wait):
3873         Added some more debug info.
3874
3875         * libs/gst/base/gstadapter.c:
3876         Added more docs.
3877
3878         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3879         (gst_base_sink_do_sync), (gst_base_sink_chain):
3880         Added some comments.
3881
3882 2006-01-18  Wim Taymans  <wim@fluendo.com>
3883
3884         * tests/check/Makefile.am:
3885         * tests/check/elements/fakesink.c: (chain_async_buffer),
3886         (chain_async), (chain_async_return), (GST_START_TEST),
3887         (fakesink_suite), (main):
3888         Added fakesink test that checks prerolling and clipping
3889         behaviour.
3890
3891         * tests/check/gst/gstutils.c: (GST_START_TEST):
3892         Make check run faster so that buildbots don't timeout.
3893
3894 2006-01-18  Wim Taymans  <wim@fluendo.com>
3895
3896         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3897         (gst_base_sink_do_sync):
3898         Some cleanups.
3899         When the sink finishes blocking on the preroll buffer, it can
3900         immediatly render it instead of rendering when the next buffer
3901         arrives.
3902
3903 2006-01-18  Wim Taymans  <wim@fluendo.com>
3904
3905         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
3906         (gst_base_sink_get_property), (gst_base_sink_do_sync),
3907         (gst_base_sink_chain):
3908         Small cleanups.
3909         GST_ELEMENT_CLOCK and sync are protected with LOCK.
3910         Don't store _last_stop if the buffer is dropped.
3911
3912 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3913
3914         * plugins/elements/gsttypefindelement.c:
3915         (gst_type_find_element_class_init):
3916           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
3917           object method handler that sets the caps on the pad and we want
3918           that to happen before we emit the signal (fixes e.g. feeding a
3919           plain text file to decodebin).
3920
3921 2006-01-18  Christian Schaller  <Christian@fluendo.com>
3922
3923         * gst/gstplugin.c: Add MPL and Proprietary as license options
3924
3925 2006-01-18  Andy Wingo  <wingo@pobox.com>
3926
3927         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
3928         symbol was exported before, it appears this was just an oversight.
3929         Fixes #168703.
3930         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
3931
3932         * gst/gstindex.c (gst_index_add_associationv): Changed int in
3933         prototype to gint. OK since this prototype was not in the header.
3934
3935 2006-01-17  Andy Wingo  <wingo@pobox.com>
3936
3937         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
3938         registry while we remove plugins.
3939
3940         * tools/gst-inspect.c (print_element_info): Don't unref the
3941         factory arg, that should be the responsibility of whatever code
3942         received the ref. Fixes a double-free when called from
3943         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
3944         (main): Unref the factory if we have one.
3945         (print_element_list): No change -- relies on the
3946         plugin_feature_list_free to free the list of features.
3947
3948 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
3949
3950         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3951         (gst_buffer_make_metadata_writable):
3952         * gst/gstbuffer.h:
3953         * libs/gst/base/gstbasetransform.c:
3954         (gst_base_transform_prepare_output_buf):
3955         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3956         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3957           Replace gst_buffer_(make|is)_metadata_writable patch now
3958           that the release is out.
3959
3960 2006-01-17  Andy Wingo  <wingo@pobox.com>
3961
3962         * gst/gstregistry.c: Reflow design comment. Update so as to speak
3963         in the present tense without reference to versions.
3964
3965         * gst/gstregistry.c (gst_registry_add_plugin)
3966         (gst_registry_remove_plugin, gst_registry_remove_feature)
3967         (gst_registry_find_feature, gst_registry_get_feature_list)
3968         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
3969         (gst_registry_lookup, gst_registry_scan_path)
3970         (_gst_registry_remove_cache_plugins)
3971         (gst_registry_get_feature_list_by_plugin): Add argument
3972         validation.
3973
3974 === release 0.10.2 ===
3975
3976 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
3977
3978         * configure.ac:
3979           releasing 0.10.2, "If man is five"
3980
3981 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3982
3983         * gst/gstbuffer.c:
3984         * gst/gstbuffer.h:
3985         * libs/gst/base/gstbasetransform.c:
3986         (gst_base_transform_prepare_output_buf):
3987         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3988         * tests/check/gst/gstbuffer.c: (gst_test_suite):
3989           Back out patch until after the release.
3990
3991 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3992
3993         * gst/gstminiobject.c:
3994           Spelling fix in docs.
3995         * ChangeLog - remove conflict indicator
3996
3997 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
3998
3999         Reviewed By: Andy Wingo
4000
4001         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4002         (gst_buffer_make_metadata_writable):
4003         * gst/gstbuffer.h:
4004           Add gst_buffer_(is|make)_metadata_writable as analogues of
4005           gst_buffer_(is|make)_writable.
4006
4007         * libs/gst/base/gstbasetransform.c:
4008         (gst_base_transform_prepare_output_buf):
4009         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4010           Use name gst_buffer_(is|make)_metadata_writable functions.
4011
4012         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4013           Test gst_buffer_(is|make)_metadata_writable
4014         
4015           (Closes: #324162)
4016
4017 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4018
4019         * docs/manual/Makefile.am:
4020           don't do parallel make
4021         * configure.ac:
4022           AC_SUBST HOST_CPU
4023         * win32/common/config.h.in:
4024           add generations for HOST_CPU and GST_MAJORMINOR
4025         * win32/common/config.h:
4026           commit generated result
4027
4028 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
4029
4030         * docs/manual/appendix-integration.xml:
4031           Update GNOME integration section to use gst_init_get_option_group()
4032           instead of the old popt stuff (#322911). Also, GNOME applications
4033           should  now use gconf*sink and gconf*src instead of the old gconf
4034           helper lib we had.
4035
4036 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
4037
4038
4039         * docs/gst/gstreamer-docs.sgml:
4040         * docs/gst/gstreamer-sections.txt:
4041         * docs/libs/gstreamer-libs-sections.txt:
4042           add new API entries to the docs
4043         * libs/gst/controller/Makefile.am:
4044         * libs/gst/controller/gstcontroller.c:
4045         * libs/gst/controller/gstcontroller.h:
4046         * libs/gst/controller/gstcontrollerprivate.h:
4047         * libs/gst/controller/gsthelper.c:
4048         * libs/gst/controller/gstinterpolation.c:
4049           move private structs to private header
4050         * po/README:
4051           gstreamer-0.7 -> gstreamer-0.10
4052         * tests/check/libs/struct_i386.h:
4053           remove private structs
4054
4055 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4056
4057         * plugins/indexers/Makefile.am:
4058           Fixes as part of #317048
4059
4060 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4061
4062         * plugins/indexers/Makefile.am:
4063           fix #316086 - compilation when mmap is missing
4064
4065 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
4066
4067         * libs/gst/base/gstbasesink.c:
4068           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
4069           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
4070         * win32/common/config.h:
4071           added some defines GST_MAJORMINOR and HOST_CPU
4072         * win32/common/libgstbase.def:
4073         * win32/common/libgstreamer.def:
4074           added some exported functions.
4075
4076 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4077
4078         * libs/gst/controller/gstcontroller.c:
4079         (gst_controlled_property_set_interpolation_mode),
4080         (gst_controlled_property_new):
4081         * libs/gst/controller/gstcontroller.h:
4082         * libs/gst/controller/gstinterpolation.c:
4083         (interpolate_none_get_string_value_array):
4084           make G_TYPE_STRING controlable
4085
4086 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4087
4088         * tools/README:
4089         * tools/gst-feedback.1.in:
4090         * tools/gst-inspect.1.in:
4091         * tools/gst-launch.1.in:
4092         * tools/gst-md5sum.1.in:
4093         * tools/gst-typefind.1.in:
4094         * tools/gst-xmlinspect.1.in:
4095         * tools/gst-xmllaunch.1.in:
4096           cleanup man-pages, remove reference to gst-register, document env-vars
4097
4098 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
4099
4100         * gst/gstbuffer.c: (gst_buffer_span):
4101           gst_buffer_span should copy the timestamp of the first buffer
4102           if they were both originally overlapping subbuffers of the 
4103           same parent, using the same logic as the 'slow copy' case.
4104
4105 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
4106
4107         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
4108           Need to awaken ALL the pads when we pop a buffer, otherwise
4109           collectpads only works when there is 2 input streams.
4110
4111 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
4112
4113         * docs/random/ensonic/media-device-daemon.txt:
4114           more ideas (dbus)
4115         * gst/gstbuffer.c:
4116           fix doc example, add clarification
4117         * tools/gst-launch.1.in:
4118           add initial info about GST_PLUGIN_PATH, needs more work
4119
4120 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4121
4122         * docs/manual/basics-bins.xml:
4123         * docs/manual/basics-elements.xml:
4124         * docs/manual/intro-basics.xml:
4125           Some more minor docs additions and updates.
4126
4127 2006-01-11  Wim Taymans  <wim@fluendo.com>
4128
4129         * docs/manual/basics-bins.xml:
4130         * docs/manual/basics-elements.xml:
4131         Some small fixes as pointed out by Ser-ver on IRC.
4132
4133 2006-01-10  Edward Hervey  <edward@fluendo.com>
4134
4135         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4136         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
4137         the single-segment mode.
4138
4139 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
4140
4141         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4142
4143         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
4144         (gst_base_src_perform_seek), (gst_base_src_send_event),
4145         (gst_base_src_set_property), (gst_base_src_get_property),
4146         (gst_base_src_loop), (gst_base_src_start),
4147         (gst_base_src_activate_push):
4148         * libs/gst/base/gstbasesrc.h:
4149           Name (private) union; makes Sun's Forte compiler happy (#324900).
4150
4151 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4152
4153         * README:
4154           gst-register is gone.
4155
4156 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4157
4158         * gst/gstvalue.c: (_gst_value_initialize):
4159           make the G_TYPE_DATE instantiation work if debug is disabled
4160
4161 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
4162
4163         * gst/gstmessage.c: (gst_message_parse_tag),
4164         (gst_message_parse_error), (gst_message_parse_warning):
4165           Don't crash when return location for error/warning debug
4166           string is NULL; add fact that return locations can be
4167           NULL to docs where appropriate.
4168
4169 2006-01-05  Wim Taymans  <wim@fluendo.com>
4170
4171         * gst/gstplugin.c: (gst_plugin_load_file):
4172         Replace strdup by g_strdup.
4173
4174 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4175
4176         * docs/pwg/advanced-types.xml:
4177           fix doc borkage
4178
4179 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4180
4181         submitted by: Abel Cheung
4182
4183         * po/LINGUAS:
4184         * po/zh_TW.po:
4185           Added Chinese (traditional) translation
4186
4187 2006-01-04  Wim Taymans  <wim@fluendo.com>
4188
4189         * docs/manual/basics-pads.xml:
4190         * docs/plugins/Makefile.am:
4191         * docs/plugins/gstreamer-plugins-docs.sgml:
4192         * docs/plugins/gstreamer-plugins-sections.txt:
4193         * docs/pwg/advanced-clock.xml:
4194         * docs/pwg/advanced-scheduling.xml:
4195         * docs/pwg/advanced-types.xml:
4196         * plugins/elements/gstfdsink.c:
4197         * plugins/elements/gstfdsrc.c:
4198         * plugins/elements/gstfdsrc.h:
4199         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4200         * plugins/elements/gstidentity.h:
4201         * plugins/elements/gstqueue.h:
4202         * plugins/elements/gsttee.c:
4203         * plugins/elements/gsttee.h:
4204         * plugins/elements/gsttypefindelement.c:
4205         (gst_type_find_element_class_init):
4206         * plugins/elements/gsttypefindelement.h:
4207         Small updates to various docs.
4208         Added core plugins to docs.
4209
4210 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4211
4212         * common/gst.supp:
4213           add a suppression for liboil's uninitialized variable
4214
4215 2006-01-02  James Livingston  <jrl at ids dot org dot au>
4216
4217         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4218
4219         * gst/gstutils.h:
4220           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4221           macro, so that gcc doesn't complain if the -Wmissing-prototypes
4222           compiler switch is being used (#325429).
4223
4224 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
4225
4226         * gst/gstbin.c: (gst_bin_query):
4227           Disable duration query caching in bins until it gets
4228           fixed (see #324807).
4229
4230 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4231
4232         * tools/gst-inspect.c: (print_element_properties_info):
4233           Handle properties of POINTER and BOXED type.
4234
4235 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4236
4237         * gst/gst.c: (init_post):
4238           Init tags stuff and some other things before loading
4239           any static plugins (there may be other static plugins
4240           than just the GStreamer ones, and they may want to
4241           register their own tags or formats or whatever, and
4242           preferably without segfaulting).
4243
4244         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4245           Print at least a warning in the debug logs if we drop a
4246           query just because we don't know how to adjust the value
4247           in the particular format.
4248
4249 2005-12-24  David Schleef  <ds@schleef.org>
4250
4251         * tools/gstreamer-completion:
4252           Replacement for gst-complete written in sh and sed.  Only
4253           completes names of features, but that's 90% of what I want
4254           it for.  Properties are not available in registry.xml.  (Maybe
4255           they should be...)
4256
4257 === release 0.10.1 ===
4258
4259 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
4260
4261         * configure.ac:
4262           releasing 0.10.1, "Nollaig chridheil"
4263
4264 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
4265
4266         * docs/faq/cvs.xml:
4267           Add missing quote, should be make ERROR_CFLAGS="".
4268
4269 2005-12-20  Wim Taymans  <wim@fluendo.com>
4270
4271         * docs/design/part-trickmodes.txt:
4272         More documentation on trickmodes.
4273
4274 2005-12-20  Edward Hervey  <edward@fluendo.com>
4275
4276         * gst/gstcaps.c: (gst_static_caps_get_type):
4277         * gst/gstcaps.h:
4278           API addition: GST_TYPE_STATIC_CAPS
4279         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4280         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4281         * gst/gstpadtemplate.h:
4282           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4283         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4284         bindings.
4285
4286 2005-12-18  Wim Taymans  <wim@fluendo.com>
4287
4288         * libs/gst/base/gstadapter.c:
4289         * libs/gst/base/gstadapter.h:
4290         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4291         (gst_base_sink_get_position):
4292         * libs/gst/base/gstbasesink.h:
4293         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4294         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4295         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4296         (gst_base_src_send_event), (gst_base_src_update_length),
4297         (gst_base_src_get_range), (gst_base_src_loop),
4298         (gst_base_src_start):
4299         * libs/gst/base/gstbasesrc.h:
4300         * libs/gst/base/gstbasetransform.h:
4301         * libs/gst/base/gstcollectpads.h:
4302         * libs/gst/base/gstpushsrc.c:
4303         * libs/gst/base/gstpushsrc.h:
4304         * libs/gst/dataprotocol/dataprotocol.c:
4305         * libs/gst/dataprotocol/dataprotocol.h:
4306         * libs/gst/net/gstnetclientclock.h:
4307         * libs/gst/net/gstnettimeprovider.h:
4308         Documentation updates.
4309
4310 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4311
4312         * docs/manual/basics-helloworld.xml:
4313           Remove superfluous closing bracket in helloworld example.
4314
4315 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4316
4317         * tools/gst-launch.1.in:
4318           Update gst-launch man page; add a section with useful
4319           environment variables. Fixes #323882.
4320
4321 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
4322
4323         * gst/gst.c:
4324         * gst/gst_private.h:
4325           change some char* into char[]
4326
4327 2005-12-16  Wim Taymans  <wim@fluendo.com>
4328
4329         * gst/gstregistryxml.c: (load_feature):
4330         Cleanups.
4331         Don't use g_object_unref on GstObjects so that we avoid
4332         leaks on unsafe glibs.
4333
4334 2005-12-16  Wim Taymans  <wim@fluendo.com>
4335
4336         * gst/gstbin.c: (gst_bin_recalc_state):
4337         Small doc updates.
4338
4339 2005-12-16  Wim Taymans  <wim@fluendo.com>
4340
4341         * common/check.mak:
4342         Added make forever target for check.
4343
4344 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4345
4346         * gst/gst.c: (init_post):
4347           make the registry cache file HOST_CPU-dependent
4348
4349 2005-12-16  Andy Wingo  <wingo@pobox.com>
4350
4351         * plugins/elements/gstbufferstore.c
4352         (gst_buffer_store_cleared_func): Pay attention to g_list_append
4353         return value.
4354
4355         * tests/check/gst/gstobject.c
4356         (test_fake_object_name_threaded_unique): Pay attention to
4357         g_list_sort return value.
4358
4359 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4360
4361         * tools/gst-feedback-m.m:
4362           Update for 0.9/0.10 (fixes #323870).
4363
4364 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
4365
4366         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4367           Fix lcopy for mini objects, the mini object needs to be ref'ed.
4368           
4369         * tests/check/gst/gstminiobject.c: (my_foo_init),
4370         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4371         (test_value_collection), (gst_mini_object_suite):
4372           Add test to ensure refcounts end up as expected when passing
4373           GstMiniObjects through g_object_get() and g_object_set().
4374
4375 2005-12-14  Julien MOUTTE  <julien@moutte.net>
4376
4377         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4378         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4379         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4380         of collectpads. This version removes a lot of races without
4381         touching API/ABI. Yay !
4382
4383 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
4384
4385         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4386           Don't allow activation of a srcpad in pull_range if it has no
4387           getrange function.
4388           Change some debug statements to be a little clearer
4389
4390         * plugins/elements/gsttypefindelement.c:
4391         (gst_type_find_handle_src_query):
4392           Check that we have a peer before executing queries thereupon.
4393
4394         * tests/examples/metadata/read-metadata.c: (message_loop):
4395           Use gst_bus_pop instead of gst_bus_poll when we just want it to
4396           immediately return us any available message with 0 timeout.
4397
4398 2005-12-12  Michael Smith  <msmith@fluendo.com>
4399
4400         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4401           Don't unref factories after calling them.
4402         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4403         * plugins/elements/gsttypefindelement.c:
4404         (gst_type_find_element_chain):
4405           Free lists of factories after using them. Fixing typefinding memory
4406           leaks.
4407
4408 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4409
4410         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4411         (gst_plugin_feature_load):
4412           more meaningful debug output
4413         * configure.ac:
4414         * tests/Makefile.am:
4415         * tests/old/examples/Makefile.am:
4416           make make distcheck happy again
4417
4418 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4419
4420         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4421           Catch the special case where we are operating chain-based,
4422           but the downstream peer pad has no chain function. Emit a
4423           custom error message in this case instead of letting the
4424           core generate one implying that this is some sort of core
4425           bug. It's not, it just means that whatever got plugged
4426           into the pipeline downstream when we announced the type
4427           can only operate pull-based, while our source can only
4428           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4429           Error string has not been marked for translation yet, as
4430           it probably needs some more work first.
4431
4432         (gst_type_find_element_get_best_possibility):
4433           Add helper function to find the best of all available
4434           found possibilities that qualify given the min. threshold.
4435
4436         (gst_type_find_element_handle_event):
4437           Fix the case where we get an EOS while still in TYPEFIND
4438           mode (we want to chose the best of all possible types,
4439           not just the first type that happens to be in our unsorted
4440           list of possible types).
4441
4442         (gst_type_find_element_chain):
4443           Make sure we return GST_FLOW_ERROR when we errored out
4444           in stop_typefinding(); also, don't just find the best of
4445           all found type entries and then use the last examined
4446           type entry, but actually use the best entry.
4447
4448 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4449
4450         * tests/examples/typefind/typefind.c: (type_found):
4451         * tests/examples/xml/runxml.c: (xml_loaded):
4452           More gcc4 fixes and a mem leak fix.
4453
4454 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4455
4456         * tests/examples/xml/createxml.c: (object_saved):
4457           gcc 4 fixes
4458
4459 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4460
4461         * tests/Makefile.am:
4462           enable the examples even more
4463
4464 2005-12-12  Andy Wingo  <wingo@pobox.com>
4465
4466         * libs/gst/net/gstnettimeprovider.c
4467         (gst_net_time_provider_class_init, gst_net_time_provider_init)
4468         (gst_net_time_provider_set_property)
4469         (gst_net_time_provider_get_property):
4470         API addition: Export "active" as a GObject property.
4471         (gst_net_time_provider_thread): Only respond to time queries if
4472         the time provider is active.
4473
4474         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4475         NetTimeProvider, preserving binary compat.
4476
4477 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4478
4479         * tests/examples/controller/audio-example.c: (main):
4480         * tests/examples/launch/Makefile.am:
4481           convert comments again
4482
4483 2005-12-12  Wim Taymans  <wim@fluendo.com>
4484
4485         * libs/gst/base/gstpushsrc.c:
4486         Fix typo.
4487
4488 2005-12-12  Wim Taymans  <wim@fluendo.com>
4489
4490         * docs/libs/gstreamer-libs-sections.txt:
4491         Added new symbol to docs.
4492
4493         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4494         (gst_base_src_init), (gst_base_src_set_format),
4495         (gst_base_src_default_query), (gst_base_src_query),
4496         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4497         (gst_base_src_perform_seek), (gst_base_src_send_event),
4498         (gst_base_src_default_event), (gst_base_src_event_handler),
4499         (gst_base_src_set_property), (gst_base_src_get_property),
4500         (gst_base_src_wait), (gst_base_src_do_sync),
4501         (gst_base_src_update_length), (gst_base_src_get_range),
4502         (gst_base_src_check_get_range), (gst_base_src_loop),
4503         (gst_base_src_default_negotiate), (gst_base_src_start),
4504         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4505         (gst_base_src_change_state):
4506         * libs/gst/base/gstbasesrc.h:
4507         Implement seeking to other formats than _BYTES.
4508         Implement more seeking methods correctly.
4509         Doc updates.
4510         Added query vmethod.
4511         Added do_seek vmethod to make life easier for subclasses
4512         when seeking.
4513         API addition: gst_base_src_set_format()
4514
4515 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4516
4517         * tests/examples/Makefile.am:
4518           added that too
4519
4520 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4521
4522         * configure.ac:
4523         * docs/random/ensonic/media-device-daemon.txt:
4524         * tests/examples/controller/.cvsignore:
4525         * tests/examples/controller/Makefile.am:
4526         * tests/examples/controller/audio-example.c: (main):
4527         * tests/examples/helloworld/.cvsignore:
4528         * tests/examples/helloworld/Makefile.am:
4529         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4530         * tests/examples/launch/.cvsignore:
4531         * tests/examples/launch/Makefile.am:
4532         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4533         * tests/examples/metadata/.cvsignore:
4534         * tests/examples/metadata/Makefile.am:
4535         * tests/examples/metadata/read-metadata.c: (message_loop),
4536         (make_pipeline), (print_tag), (main):
4537         * tests/examples/queue/.cvsignore:
4538         * tests/examples/queue/Makefile.am:
4539         * tests/examples/queue/queue.c: (event_loop), (main):
4540         * tests/examples/typefind/.cvsignore:
4541         * tests/examples/typefind/Makefile.am:
4542         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4543         (main):
4544         * tests/examples/xml/.cvsignore:
4545         * tests/examples/xml/Makefile.am:
4546         * tests/examples/xml/createxml.c: (object_saved), (main):
4547         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4548         * tests/old/examples/Makefile.am:
4549         * tests/old/examples/TODO:
4550         * tests/old/examples/controller/.cvsignore:
4551         * tests/old/examples/controller/Makefile.am:
4552         * tests/old/examples/controller/audio-example.c:
4553         * tests/old/examples/helloworld/.cvsignore:
4554         * tests/old/examples/helloworld/Makefile.am:
4555         * tests/old/examples/helloworld/helloworld.c:
4556         * tests/old/examples/launch/.cvsignore:
4557         * tests/old/examples/launch/Makefile.am:
4558         * tests/old/examples/launch/mp3parselaunch.c:
4559         * tests/old/examples/launch/mp3play:
4560         * tests/old/examples/manual/Makefile.am:
4561         * tests/old/examples/metadata/Makefile.am:
4562         * tests/old/examples/metadata/read-metadata.c:
4563         * tests/old/examples/queue/.cvsignore:
4564         * tests/old/examples/queue/Makefile.am:
4565         * tests/old/examples/queue/queue.c:
4566         * tests/old/examples/typefind/.cvsignore:
4567         * tests/old/examples/typefind/Makefile.am:
4568         * tests/old/examples/typefind/typefind.c:
4569         * tests/old/examples/xml/.cvsignore:
4570         * tests/old/examples/xml/Makefile.am:
4571         * tests/old/examples/xml/createxml.c:
4572         * tests/old/examples/xml/runxml.c:
4573           applied some simple fixing to some examples
4574           re-enabled the working examples
4575
4576 2005-12-12  Wim Taymans  <wim@fluendo.com>
4577
4578         * gst/gstsegment.c: (gst_segment_init),
4579         (gst_segment_set_last_stop), (gst_segment_set_seek),
4580         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4581         (gst_segment_to_running_time):
4582         Added more documentation.
4583         Make sure the last_pos value is updated properly.
4584         Make sure to_stream_time and to_running_time don't
4585         operate on wrong values.
4586
4587         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4588         Update check.
4589
4590 2005-12-12  Michael Smith  <msmith@fluendo.com>
4591
4592         * plugins/elements/gsttypefindelement.c: (free_entry),
4593         (gst_type_find_element_chain):
4594           Now that we're not leaking factories, make sure we keep references
4595           to them while we need them.
4596
4597 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4598
4599         * tests/check/gst/struct_i386.h:
4600           ifdef out the XML structs
4601
4602 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4603
4604         * gst/gstvalue.c: (gst_value_transform_double_fraction):
4605           floor is not needed, F is always positive; this obviates the
4606           need for adding -lm when building without libxml
4607
4608 2005-12-12  Wim Taymans  <wim@fluendo.com>
4609
4610         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4611         Take current playback rate into account when reporting
4612         the position.
4613
4614 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4615
4616         * docs/manual/mime-world.fig:
4617           Let's try this again, this time with a file that is
4618           actually in XFig format.
4619
4620 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4621
4622         * docs/manual/mime-world.fig:
4623           Add audioconvert element to diagram so that it
4624           matches the text and the code (fixes #319526).
4625
4626 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4627
4628         * docs/pwg/building-chainfn.xml:
4629         * docs/pwg/building-pads.xml:
4630         * docs/pwg/building-state.xml:
4631         * docs/pwg/other-source.xml:
4632           Update state change stuff for 0.10 (fixes #322969).
4633
4634 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4635
4636         * docs/manual/advanced-dataaccess.xml:
4637         * docs/manual/appendix-checklist.xml:
4638         * docs/manual/appendix-programs.xml:
4639         * docs/manual/basics-pads.xml:
4640         * docs/manual/highlevel-components.xml:
4641         * docs/manual/manual.xml:
4642           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4643           add converters in front of pipelines; remove curly
4644           brackets for threads stuff, they no longer exist; use
4645           GST_TYPE_FRACTION for framerates; update some pieces of
4646           code to 0.10, but there's plenty more to do.
4647
4648         * docs/manual/appendix-porting.xml:
4649           Expand on asynchroneous state changes; s/0.9/0.10/;
4650           mention disappearance of gst_init_get_popt_table()
4651           (fixes #322916).
4652
4653 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4654
4655         * docs/faq/using.xml:
4656           Spider no longer exists, and neither does gst-launch-ext.
4657           Update examples to use decodebin and playbin and put
4658           converters in front of sinks (fixes #323726).
4659
4660 2005-12-09  Michael Smith  <msmith@fluendo.com>
4661
4662         * plugins/elements/gsttypefindelement.c: (find_peek),
4663         (gst_type_find_element_chain):
4664           Fix leaking element factories in typefinding.
4665           Fix problem where we forgot about a probable type on non-seekable
4666           files, and thus later mis-typefound it.
4667
4668 2005-12-09  Michael Smith  <msmith@fluendo.com>
4669
4670         * common/m4/gst-makecontext.m4:
4671         * common/m4/gst-mcsc.m4:
4672         * configure.ac:
4673         * win32/common/config.h:
4674         * win32/common/config.h.in:
4675           Remove makecontext stuff; not used in 0.10 and causes problems on
4676           HPUX according to bug #322441
4677
4678 2005-12-07  Wim Taymans  <wim@fluendo.com>
4679
4680         * tests/check/Makefile.am:
4681         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4682         (main):
4683         * tests/check/libs/struct_i386.h:
4684         Added ABI check for libs
4685
4686 2005-12-07  Wim Taymans  <wim@fluendo.com>
4687
4688         * tests/check/Makefile.am:
4689         And add the struct_i386.h to dist.
4690
4691 2005-12-07  Wim Taymans  <wim@fluendo.com>
4692
4693         * tests/check/Makefile.am:
4694         * tests/check/gst/.cvsignore:
4695         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4696         (main):
4697         * tests/check/gst/struct_i386.h:
4698         Added check for ABI compatibility.
4699
4700 2005-12-07  Wim Taymans  <wim@fluendo.com>
4701
4702         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4703         (gst_fake_src_get_times), (gst_fake_src_create):
4704         Fix broken sync option, fixes #323259
4705
4706 2005-12-07  Wim Taymans  <wim@fluendo.com>
4707
4708         * gst/gstbuffer.c:
4709         Small docs update.
4710
4711         * gst/gstcaps.c: (gst_caps_is_equal):
4712         Don't assert on NULL <--> X. Fixes #323260
4713
4714         * gst/gstminiobject.c: (gst_mini_object_replace):
4715         If we're doing atomic operations, we might just as well use
4716         the proper way to get an atomic pointer.
4717
4718         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4719         Clean up debugging.
4720
4721 2005-12-07  Michael Smith  <msmith@fluendo.com>
4722
4723         * gst/parse/grammar.y:
4724           Remove handling of { } for threads.
4725
4726 2005-12-06  David Schleef  <ds@schleef.org>
4727
4728         * libs/gst/base/gstbasetransform.c: speling fix.
4729
4730 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4731
4732         * docs/libs/tmpl/gstdataprotocol.sgml:
4733         * docs/random/omega/testing/gstobject.c:
4734         * gst/gst.c:
4735         * gst/gstclock.c:
4736         * gst/gstelement.c:
4737         * gst/gstelementfactory.c:
4738         * gst/gsterror.c:
4739         * gst/gstevent.c:
4740         * gst/gstghostpad.c:
4741         * gst/gstinfo.c:
4742         * gst/gstpadtemplate.c:
4743         * gst/gstregistryxml.c:
4744         * gst/gsttaglist.c:
4745         * gst/gsttagsetter.c:
4746         * gst/gsttypefind.c:
4747         * gst/gstvalue.c:
4748         * libs/gst/base/gstbasesrc.c:
4749         * libs/gst/net/gstnetclientclock.c:
4750         * libs/gst/net/gstnettimeprovider.c:
4751         * plugins/elements/gstfakesrc.c:
4752         * plugins/elements/gstfdsrc.c:
4753         * plugins/elements/gstfilesrc.c:
4754         * plugins/elements/gstidentity.c:
4755         * plugins/elements/gstqueue.c:
4756         * plugins/elements/gsttypefindelement.c:
4757         * plugins/indexers/gstfileindex.c:
4758         * plugins/indexers/gstmemindex.c:
4759         * tests/check/gst/gsttag.c:
4760         * tests/old/examples/cutter/cutter.c:
4761         * tests/old/examples/mixer/mixer.c:
4762         * tests/old/examples/xml/runxml.c: (main):
4763         * tests/old/testsuite/caps/normalisation.c:
4764         * tests/old/testsuite/debug/global.c:
4765         * tests/old/testsuite/parse/parse1.c:
4766         * tools/gst-xmlinspect.c:
4767         * win32/common/dirent.c:
4768           expand tabs
4769
4770 === release 0.10.0 ===
4771
4772 2005-12-05   <thomas (at) apestaart (dot) org>
4773
4774         * configure.ac:
4775           releasing 0.10.0, "Maroilles"
4776
4777 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4778
4779         submitted by: Funda Wang <fundawang@linux.net.cn>
4780
4781         * po/LINGUAS:
4782         * po/zh_CN.po:
4783           added Chinese (Traditional) translation
4784
4785 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4786
4787         * docs/gst/gstreamer-sections.txt:
4788         * docs/libs/tmpl/gstdataprotocol.sgml:
4789         * docs/random/thomasvs/TODO:
4790         * gst/gstutils.c:
4791         * gst/gstutils.h:
4792           fix docs
4793
4794 2005-12-05  Andy Wingo  <wingo@pobox.com>
4795
4796         patch by: Wim Taymans <wim@fluendo.com>
4797
4798         * libs/gst/base/gstbasetransform.c
4799         (gst_base_transform_prepare_output_buf)
4800         (gst_base_transform_buffer_alloc):
4801         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
4802         alloc_buffer_and_set_caps.
4803
4804         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
4805         set_caps on the source pad.
4806         (gst_pad_alloc_buffer_and_set_caps): New function, does what
4807         alloc_buffer used to do. Fixes #322874.
4808
4809         * docs/gst/gstreamer-sections.txt: 
4810         * docs/design/part-negotiation.txt: 
4811         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
4812         changes.
4813
4814 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4815
4816         patch by: Sebastien Moutte
4817
4818         * win32/MANIFEST:
4819         * win32/common/config.h.in:
4820         * win32/vs6/libgstcontroller.dsp:
4821           win32 build fixes
4822
4823 2005-12-05  Wim Taymans  <wim@fluendo.com>
4824
4825         * gst/gstcaps.c: (gst_caps_is_equal):
4826         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4827         (gst_fake_src_create):
4828         Back out previous code changes, leave doc updates, file bugs 
4829         instead. 
4830
4831 2005-12-05  Wim Taymans  <wim@fluendo.com>
4832
4833         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4834         (gst_fake_src_get_times), (gst_fake_src_create):
4835         * plugins/elements/gstfakesrc.h:
4836         Fix broken sync code.
4837
4838 2005-12-05  Wim Taymans  <wim@fluendo.com>
4839
4840         * gst/gstcaps.c: (gst_caps_is_equal):
4841         Comparing NULL against !NULL yields different caps, not a
4842         failure.
4843
4844 2005-12-05  Wim Taymans  <wim@fluendo.com>
4845
4846         * gst/gstpipeline.c:
4847         Fix small typo in docs.
4848
4849 2005-12-05  Andy Wingo  <wingo@pobox.com>
4850
4851         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
4852
4853         * gst/gst.c (init_post): remove hard-coded 0.9 location for
4854         registries/plugins with a MAJORMINOR one.
4855         (plugin_desc): Rename library from gstcoreleements to
4856         staticelements. Fixes #323222.
4857
4858 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
4859
4860         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
4861           Change debug category to 'collectpads' from 'collect_pads'
4862           (fixes #323250).
4863
4864 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4865
4866         patch by: Sebastien Moutte
4867
4868         * libs/gst/controller/gstinterpolation.c:
4869           use convert function for uint64/double
4870         * win32/vs6/libgstcontroller.dsp:
4871           link to GLib
4872
4873 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4874
4875         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
4876         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
4877         * gst/gstutils.h:
4878         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4879           add tests that seem to show that the guint64/gdouble conversions
4880           are correct.
4881
4882 2005-12-02  Wim Taymans  <wim@fluendo.com>
4883
4884         * gst/gstregistry.c: (gst_registry_add_path):
4885         * gst/gstregistry.h:
4886         * gst/gstregistryxml.c:
4887         Fix docs again.
4888
4889 2005-12-02  Wim Taymans  <wim@fluendo.com>
4890
4891         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4892         (gst_util_uint64_scale_int):
4893         Small cleanup.
4894
4895         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4896         Add debug log line.
4897
4898         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
4899         Add FIXME.
4900
4901 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4902
4903         * win32/MANIFEST:
4904         * win32/common/config.h:
4905         * win32/vs6/gstreamer.dsw:
4906         * win32/vs6/libgstcoreelements.dsp:
4907         * win32/vs6/libgstelements.dsp:
4908           renamed core elements plugin
4909
4910 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4911
4912         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
4913         (get_candidates):
4914           do piece-wise major/minor comparison so 0.9 < 0.10
4915           also allow .exe extensions for tools
4916
4917 2005-12-02  Michael Smith  <msmith@fluendo.com>
4918
4919         * gst/gst.c:
4920           Escape a % to make gtkdoc happier; bug 322958.
4921
4922 === release 0.9.7 ===
4923
4924 2005-12-01   <thomas (at) apestaart (dot) org>
4925
4926         * configure.ac:
4927           releasing 0.9.7, "My Dog Has No Nose"
4928
4929 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4930
4931         * common/gst-xmlinspect.py:
4932         * configure.ac:
4933         * docs/libs/tmpl/gstdataprotocol.sgml:
4934         * docs/random/release:
4935         * po/af.po:
4936         * po/az.po:
4937         * po/bg.po:
4938         * po/ca.po:
4939         * po/cs.po:
4940         * po/de.po:
4941         * po/en_GB.po:
4942         * po/fr.po:
4943         * po/it.po:
4944         * po/nb.po:
4945         * po/nl.po:
4946         * po/ru.po:
4947         * po/sq.po:
4948         * po/sr.po:
4949         * po/sv.po:
4950         * po/tr.po:
4951         * po/uk.po:
4952         * po/vi.po:
4953         * win32/common/config.h:
4954         * win32/common/config.h.in:
4955         * win32/vs6/gst_inspect.dsp:
4956         * win32/vs6/gst_launch.dsp:
4957         * win32/vs6/libgstbase.dsp:
4958         * win32/vs6/libgstelements.dsp:
4959         * win32/vs6/libgstreamer.dsp:
4960         * win32/vs7/GStreamer.vcproj:
4961         * win32/vs7/gst-inspect.vcproj:
4962         * win32/vs7/gst-launch.vcproj:
4963         * win32/vs7/libgstbase.vcproj:
4964           bump GST_MAJORMINOR to 0.10
4965           reset libtool version
4966
4967 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4968
4969         * po/LINGUAS:
4970         * po/bg.po:
4971           Added Bulgarian translation by (Alexander Shopov)
4972
4973 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4974
4975         * tests/check/gst/gstplugin.c:
4976           fix test
4977
4978 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4979
4980         * common/gst-xmlinspect.py:
4981         * common/gtk-doc-plugins.mak:
4982         * configure.ac:
4983         * docs/Makefile.am:
4984         * docs/gst/Makefile.am:
4985         * docs/gst/gstreamer-docs.sgml:
4986         * docs/gst/gstreamer-sections.txt:
4987         * docs/gst/gstreamer.types:
4988         * docs/gst/gstreamer.types.in:
4989         * docs/plugins/Makefile.am:
4990         * docs/plugins/gstreamer-plugins-docs.sgml:
4991         * docs/plugins/gstreamer-plugins-sections.txt:
4992         * docs/plugins/gstreamer-plugins.types:
4993         * docs/plugins/inspect.stamp:
4994         * docs/plugins/inspect/plugin-coreelements.xml:
4995         * docs/plugins/inspect/plugin-coreindexers.xml:
4996         * docs/plugins/scanobj-build.stamp:
4997         * gstreamer.spec.in:
4998         * plugins/elements/Makefile.am:
4999         * plugins/elements/gstelements.c:
5000         * plugins/elements/gstfakesink.c:
5001         * plugins/elements/gstfakesrc.c:
5002         * plugins/elements/gstfilesink.c:
5003         * plugins/elements/gstfilesrc.c:
5004         * plugins/elements/gstqueue.c:
5005         * plugins/indexers/Makefile.am:
5006         * plugins/indexers/gstindexers.c:
5007           document core plugins in a separate document just like all the
5008           others
5009           rename these plugins to something starting with core
5010
5011 2005-12-01  Andy Wingo  <wingo@pobox.com>
5012
5013         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
5014         padding here before, but it missed the commit.
5015
5016 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5017
5018         * libs/gst/controller/gstinterpolation.c:
5019           whitespace prices have crashed, we should feel free to use some now
5020           use gst_guint64_to_gdouble
5021
5022 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5023
5024         * libs/gst/controller/gstcontroller.c:
5025         * libs/gst/controller/gsthelper.c:
5026         * libs/gst/controller/gstinterpolation.c:
5027         * libs/gst/controller/lib.c:
5028           wrap config.h include
5029
5030 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5031
5032         * docs/gst/gstreamer-sections.txt:
5033           update docs
5034
5035 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5036
5037         * plugins/elements/gstelements.c:
5038         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
5039         (gst_fd_sink__class_init), (gst_fd_sink__init),
5040         (gst_fd_sink__chain), (gst_fd_sink__set_property),
5041         (gst_fd_sink__get_property):
5042         * plugins/elements/gstfdsink.h:
5043         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
5044         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
5045         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
5046         (gst_fd_src_unlock), (gst_fd_src_set_property),
5047         (gst_fd_src_get_property), (gst_fd_src_create),
5048         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
5049         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
5050         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
5051         (gst_fd_src_uri_handler_init):
5052         * plugins/elements/gstfdsrc.h:
5053         * plugins/elements/gstqueue.c: (gst_queue_get_type):
5054           more anal cleanup
5055
5056 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5057
5058         * docs/gst/Makefile.am:
5059         * docs/gst/gstreamer.types.in:
5060         * gst/Makefile.am:
5061           fix the docs build
5062
5063 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5064
5065         * configure.ac:
5066         * gst/Makefile.am:
5067         * gst/gst.c:
5068         * gst/gstplugin.h:
5069         * gst/gstregistry.h:
5070         * tests/benchmarks/complexity.c:
5071         * tests/benchmarks/mass-elements.c:
5072         * tests/check/Makefile.am:
5073         * tools/Makefile.am:
5074         * tools/gst-inspect.c:
5075         * tools/gst-xmlinspect.c:
5076           various fixes to make
5077           --disable-nls --disable-registry --disable-loadsave
5078           --disable-parse --disable-gst-debug
5079           work and get the core .so down to 360444 bytes after stripping
5080
5081 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5082
5083         * Makefile.am:
5084         * configure.ac:
5085           descend into tests
5086         * docs/random/thomasvs/TODO:
5087         * tests/Makefile.am:
5088         * tests/README:
5089           add a README
5090
5091 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5092
5093         * win32/GStreamer.vcproj:
5094         * win32/MANIFEST:
5095         * win32/Makefile:
5096         * win32/Makefile.inspect:
5097         * win32/Makefile.launch:
5098         * win32/Makefile.register:
5099         * win32/README.txt:
5100         * win32/gst-inspect.vcproj:
5101         * win32/gst-launch.vcproj:
5102         * win32/gst-register.vcproj:
5103         * win32/gstelements.vcproj:
5104         * win32/gstgetbits.def:
5105         * win32/gstgetbits.vcproj:
5106         * win32/gstreamer-dbg.def:
5107         * win32/gstreamer.def:
5108         * win32/libgstbase.def:
5109         * win32/libgstbase.vcproj:
5110         * win32/link_oldruntime.c:
5111         * win32/mman.c:
5112         * win32/mman.h:
5113         * win32/mman.inl:
5114         * win32/msvc71.sln:
5115           move even more stuff, win32/ is nice and clean now
5116
5117 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5118
5119         * libs/gst/control/.cvsignore:
5120         * win32/MANIFEST:
5121         * win32/config.h:
5122         * win32/dirent.c:
5123         * win32/dirent.h:
5124         * win32/gstbytestream.def:
5125         * win32/gstbytestream.vcproj:
5126         * win32/gstconfig.h:
5127         * win32/gstenumtypes.c:
5128         * win32/gstenumtypes.h:
5129         * win32/gstoptimalscheduler.vcproj:
5130         * win32/gstversion.h:
5131         * win32/gtchar.h:
5132         * win32/testsuite/bins.vcproj:
5133         * win32/testsuite/bytestream.vcproj:
5134         * win32/testsuite/caps.vcproj:
5135         * win32/testsuite/cleanup.vcproj:
5136         * win32/testsuite/clock.vcproj:
5137         * win32/testsuite/debug.vcproj:
5138         * win32/testsuite/dlopen.vcproj:
5139         * win32/testsuite/dynparams.vcproj:
5140         * win32/testsuite/elements.vcproj:
5141         * win32/testsuite/ghostpads.vcproj:
5142         * win32/testsuite/indexers.vcproj:
5143         * win32/testsuite/negotiation.vcproj:
5144         * win32/testsuite/parse.vcproj:
5145         * win32/testsuite/plugin.vcproj:
5146         * win32/testsuite/refcounting.vcproj:
5147         * win32/testsuite/schedulers.vcproj:
5148         * win32/testsuite/states.vcproj:
5149         * win32/testsuite/tags.vcproj:
5150         * win32/testsuite/threads.vcproj:
5151           remove old win32 stuff that isn't maintained and should be
5152           reorganized
5153
5154 2005-11-30  Andy Wingo  <wingo@pobox.com>
5155
5156         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
5157         loading the gst.interfaces python module bork.
5158
5159         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
5160         available since GLib 2.2. Fixes #318031.
5161
5162 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5163
5164         * Makefile.am:
5165         * check/.cvsignore:
5166         * check/Makefile.am:
5167         * check/elements/.cvsignore:
5168         * check/elements/fakesrc.c:
5169         * check/elements/fdsrc.c:
5170         * check/elements/identity.c:
5171         * check/generic/.cvsignore:
5172         * check/generic/states.c:
5173         * check/gst-libs/.cvsignore:
5174         * check/gst-libs/controller.c:
5175         * check/gst-libs/gdp.c:
5176         * check/gst/.cvsignore:
5177         * check/gst/capslist.h:
5178         * check/gst/gst.c:
5179         * check/gst/gstbin.c:
5180         * check/gst/gstbuffer.c:
5181         * check/gst/gstbus.c:
5182         * check/gst/gstcaps.c:
5183         * check/gst/gstelement.c:
5184         * check/gst/gstevent.c:
5185         * check/gst/gstghostpad.c:
5186         * check/gst/gstiterator.c:
5187         * check/gst/gstmessage.c:
5188         * check/gst/gstminiobject.c:
5189         * check/gst/gstobject.c:
5190         * check/gst/gstpad.c:
5191         * check/gst/gstpipeline.c:
5192         * check/gst/gstplugin.c:
5193         * check/gst/gstsegment.c:
5194         * check/gst/gststructure.c:
5195         * check/gst/gstsystemclock.c:
5196         * check/gst/gsttag.c:
5197         * check/gst/gstutils.c:
5198         * check/gst/gstvalue.c:
5199         * check/net/.cvsignore:
5200         * check/net/gstnetclientclock.c:
5201         * check/net/gstnettimeprovider.c:
5202         * check/pipelines/.cvsignore:
5203         * check/pipelines/cleanup.c:
5204         * check/pipelines/simple_launch_lines.c:
5205         * check/pipelines/stress.c:
5206         * check/states/.cvsignore:
5207         * check/states/sinks.c:
5208         * configure.ac:
5209         * examples/Makefile.am:
5210         * examples/appreader/.cvsignore:
5211         * examples/appreader/Makefile.am:
5212         * examples/appreader/appreader.c:
5213         * examples/controller/.cvsignore:
5214         * examples/controller/Makefile.am:
5215         * examples/controller/audio-example.c:
5216         * examples/cutter/.cvsignore:
5217         * examples/cutter/Makefile.am:
5218         * examples/cutter/cutter.c:
5219         * examples/cutter/cutter.h:
5220         * examples/events/Makefile.am:
5221         * examples/events/seek.c:
5222         * examples/helloworld/.cvsignore:
5223         * examples/helloworld/Makefile.am:
5224         * examples/helloworld/helloworld.c:
5225         * examples/helloworld2/.cvsignore:
5226         * examples/helloworld2/Makefile.am:
5227         * examples/helloworld2/helloworld2.c:
5228         * examples/launch/.cvsignore:
5229         * examples/launch/Makefile.am:
5230         * examples/launch/mp3parselaunch.c:
5231         * examples/launch/mp3play:
5232         * examples/manual/.cvsignore:
5233         * examples/manual/Makefile.am:
5234         * examples/manual/extract.pl:
5235         * examples/metadata/Makefile.am:
5236         * examples/metadata/read-metadata.c:
5237         * examples/mixer/.cvsignore:
5238         * examples/mixer/Makefile.am:
5239         * examples/mixer/mixer.c:
5240         * examples/mixer/mixer.h:
5241         * examples/pingpong/.cvsignore:
5242         * examples/pingpong/Makefile.am:
5243         * examples/pingpong/pingpong.c:
5244         * examples/plugins/.cvsignore:
5245         * examples/plugins/Makefile.am:
5246         * examples/plugins/example.c:
5247         * examples/plugins/example.h:
5248         * examples/pwg/.cvsignore:
5249         * examples/pwg/Makefile.am:
5250         * examples/pwg/extract.pl:
5251         * examples/queue/.cvsignore:
5252         * examples/queue/Makefile.am:
5253         * examples/queue/queue.c:
5254         * examples/queue2/.cvsignore:
5255         * examples/queue2/Makefile.am:
5256         * examples/queue2/queue2.c:
5257         * examples/queue3/.cvsignore:
5258         * examples/queue3/Makefile.am:
5259         * examples/queue3/queue3.c:
5260         * examples/queue4/.cvsignore:
5261         * examples/queue4/Makefile.am:
5262         * examples/queue4/queue4.c:
5263         * examples/retag/.cvsignore:
5264         * examples/retag/Makefile.am:
5265         * examples/retag/retag.c:
5266         * examples/retag/transcode.c:
5267         * examples/thread/.cvsignore:
5268         * examples/thread/Makefile.am:
5269         * examples/thread/thread.c:
5270         * examples/typefind/.cvsignore:
5271         * examples/typefind/Makefile.am:
5272         * examples/typefind/typefind.c:
5273         * examples/xml/.cvsignore:
5274         * examples/xml/Makefile.am:
5275         * examples/xml/createxml.c:
5276         * examples/xml/runxml.c:
5277         * tests/Makefile.am:
5278         * tests/check/Makefile.am:
5279         * testsuite/.cvsignore:
5280         * testsuite/Makefile.am:
5281         * testsuite/Rules:
5282         * testsuite/caps/.cvsignore:
5283         * testsuite/caps/Makefile.am:
5284         * testsuite/caps/app_fixate.c:
5285         * testsuite/caps/audioscale.c:
5286         * testsuite/caps/caps.c:
5287         * testsuite/caps/caps.h:
5288         * testsuite/caps/caps_strings:
5289         * testsuite/caps/compatibility.c:
5290         * testsuite/caps/deserialize.c:
5291         * testsuite/caps/enumcaps.c:
5292         * testsuite/caps/eratosthenes.c:
5293         * testsuite/caps/filtercaps.c:
5294         * testsuite/caps/fixed.c:
5295         * testsuite/caps/fraction-convert.c:
5296         * testsuite/caps/fraction-multiply-and-zero.c:
5297         * testsuite/caps/intersect2.c:
5298         * testsuite/caps/intersection.c:
5299         * testsuite/caps/normalisation.c:
5300         * testsuite/caps/random.c:
5301         * testsuite/caps/renegotiate.c:
5302         * testsuite/caps/sets.c:
5303         * testsuite/caps/simplify.c:
5304         * testsuite/caps/string-conversions.c:
5305         * testsuite/caps/structure.c:
5306         * testsuite/caps/subtract.c:
5307         * testsuite/caps/union.c:
5308         * testsuite/debug/.cvsignore:
5309         * testsuite/debug/Makefile.am:
5310         * testsuite/debug/category.c:
5311         * testsuite/debug/commandline.c:
5312         * testsuite/debug/global.c:
5313         * testsuite/debug/output.c:
5314         * testsuite/debug/printf_extension.c:
5315         * testsuite/dlopen/.cvsignore:
5316         * testsuite/dlopen/Makefile.am:
5317         * testsuite/dlopen/dlopen_gst.c:
5318         * testsuite/dlopen/loadgst.c:
5319         * testsuite/elements/.cvsignore:
5320         * testsuite/elements/Makefile.am:
5321         * testsuite/elements/gst-inspect-check.in:
5322         * testsuite/elements/struct_i386.h:
5323         * testsuite/elements/struct_size.c:
5324         * testsuite/indexers/.cvsignore:
5325         * testsuite/indexers/Makefile.am:
5326         * testsuite/indexers/cache1.c:
5327         * testsuite/indexers/indexdump.c:
5328         * testsuite/parse/.cvsignore:
5329         * testsuite/parse/Makefile.am:
5330         * testsuite/parse/parse1.c:
5331         * testsuite/parse/parse2.c:
5332         * testsuite/plugin/.cvsignore:
5333         * testsuite/plugin/Makefile.am:
5334         * testsuite/plugin/README:
5335         * testsuite/plugin/dynamic.c:
5336         * testsuite/plugin/linked.c:
5337         * testsuite/plugin/loading.c:
5338         * testsuite/plugin/registry.c:
5339         * testsuite/plugin/static.c:
5340         * testsuite/plugin/static2.c:
5341         * testsuite/plugin/testplugin.c:
5342         * testsuite/plugin/testplugin2.c:
5343         * testsuite/plugin/testplugin2_s.c:
5344         * testsuite/plugin/testplugin_s.c:
5345         * testsuite/refcounting/.cvsignore:
5346         * testsuite/refcounting/Makefile.am:
5347         * testsuite/refcounting/bin.c:
5348         * testsuite/refcounting/element.c:
5349         * testsuite/refcounting/element_pad.c:
5350         * testsuite/refcounting/mainloop.c:
5351         * testsuite/refcounting/mem.c:
5352         * testsuite/refcounting/mem.h:
5353         * testsuite/refcounting/object.c:
5354         * testsuite/refcounting/pad.c:
5355         * testsuite/refcounting/sched.c:
5356         * testsuite/refcounting/thread.c:
5357         * testsuite/states/.cvsignore:
5358         * testsuite/states/Makefile.am:
5359         * testsuite/states/bin.c:
5360         * testsuite/states/locked.c:
5361         * testsuite/states/parent.c:
5362         * testsuite/threads/.cvsignore:
5363         * testsuite/threads/159566.c:
5364         * testsuite/threads/159852.c:
5365         * testsuite/threads/Makefile.am:
5366         * testsuite/threads/queue.c:
5367         * testsuite/threads/signals.c:
5368         * testsuite/threads/staticrec.c:
5369         * testsuite/threads/thread.c:
5370         * testsuite/threads/threadb.c:
5371         * testsuite/threads/threadc.c:
5372         * testsuite/threads/threadd.c:
5373         * testsuite/threads/threade.c:
5374         * testsuite/threads/threadf.c:
5375         * testsuite/threads/threadg.c:
5376         * testsuite/threads/threadh.c:
5377         * testsuite/threads/threadi.c:
5378           move all of these under tests
5379
5380 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5381
5382         * configure.ac:
5383         * tests/Makefile.am:
5384           fix distcheck
5385
5386 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5387
5388         * docs/gst/gstreamer-sections.txt:
5389         * tests/sched/.cvsignore:
5390         * tests/sched/Makefile.am:
5391         * tests/sched/cases/(fs-fs).xml:
5392         * tests/sched/cases/(fs-i-fs).xml:
5393         * tests/sched/cases/(fs-i-i-fs).xml:
5394         * tests/sched/cases/(fs-i-q[i-fs]).xml:
5395         * tests/sched/dynamic-pipeline.c:
5396         * tests/sched/interrupt1.c:
5397         * tests/sched/interrupt2.c:
5398         * tests/sched/interrupt3.c:
5399         * tests/sched/runtestcases:
5400         * tests/sched/runxml.c:
5401         * tests/sched/sched-stress.c:
5402         * tests/sched/sort.c:
5403         * tests/sched/testcases:
5404         * tests/sched/testcases1.tc:
5405         * tests/seeking/.cvsignore:
5406         * tests/seeking/Makefile.am:
5407         * tests/seeking/seeking1.c:
5408         * tests/threadstate/.cvsignore:
5409         * tests/threadstate/Makefile.am:
5410         * tests/threadstate/test1.c:
5411         * tests/threadstate/test2.c:
5412         * tests/threadstate/threadstate1.c:
5413         * tests/threadstate/threadstate2.c:
5414         * tests/threadstate/threadstate3.c:
5415         * tests/threadstate/threadstate4.c:
5416         * tests/threadstate/threadstate5.c:
5417           remove obsolete tests
5418         * configure.ac:
5419         * tests/bench-complexity.scm:
5420         * tests/bench-mass_elements.scm:
5421         * tests/complexity.c:
5422         * tests/complexity.gnuplot:
5423         * tests/instantiate/.cvsignore:
5424         * tests/instantiate/Makefile.am:
5425         * tests/instantiate/caps.c:
5426         * tests/mass_elements.c:
5427         * tests/network-clock-utils.scm:
5428         * tests/network-clock.scm:
5429         * tests/plot-data:
5430         First pass at cleaning up tests/ dir before moving the rest
5431         Combined with CVS surgery
5432
5433 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5434
5435         * po/POTFILES.in:
5436           queue has moved, update
5437
5438 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5439
5440         * docs/gst/gstreamer-sections.txt:
5441           remove double entries from the docs
5442         * gst/gst_private.h:
5443         * gst/gstinfo.c: (_gst_debug_init):
5444           remove the THREAD debug category
5445         * gst/Makefile.am:
5446         * gst/gstqueue.c:
5447         * gst/gstqueue.h:
5448         * docs/gst/gstreamer.types:
5449         * plugins/elements/gstqueue.c: (gst_queue_get_type),
5450         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5451           completely move queue and fix up debugging categories
5452
5453 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5454
5455         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5456           make initialization portable, using LL is not
5457
5458 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5459
5460         * win32/common/gstconfig.h:
5461           add large padding
5462
5463 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5464
5465         * win32/common/libgstreamer.def:
5466           rename symbols; sort base section
5467
5468 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5469
5470         * gst/gstclock.c: (do_linear_regression):
5471           remove crack non-portable handrolled DEBUG macro
5472
5473 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5474
5475         * docs/random/release:
5476           update notes
5477         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5478         (gst_object_flags_get_type), (register_gst_bin_flags),
5479         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5480         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5481         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5482         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5483         (gst_caps_flags_get_type), (register_gst_clock_return),
5484         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5485         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5486         (gst_clock_flags_get_type), (register_gst_state),
5487         (gst_state_get_type), (register_gst_state_change_return),
5488         (gst_state_change_return_get_type), (register_gst_state_change),
5489         (gst_state_change_get_type), (register_gst_element_flags),
5490         (gst_element_flags_get_type), (register_gst_core_error),
5491         (gst_core_error_get_type), (register_gst_library_error),
5492         (gst_library_error_get_type), (register_gst_resource_error),
5493         (gst_resource_error_get_type), (register_gst_stream_error),
5494         (gst_stream_error_get_type), (register_gst_event_type_flags),
5495         (gst_event_type_flags_get_type), (register_gst_event_type),
5496         (gst_event_type_get_type), (register_gst_seek_type),
5497         (gst_seek_type_get_type), (register_gst_seek_flags),
5498         (gst_seek_flags_get_type), (register_gst_format),
5499         (gst_format_get_type), (register_gst_index_certainty),
5500         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5501         (gst_index_entry_type_get_type),
5502         (register_gst_index_lookup_method),
5503         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5504         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5505         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5506         (gst_index_flags_get_type), (register_gst_debug_level),
5507         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5508         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5509         (gst_iterator_result_get_type), (register_gst_iterator_item),
5510         (gst_iterator_item_get_type), (register_gst_message_type),
5511         (gst_message_type_get_type), (register_gst_mini_object_flags),
5512         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5513         (gst_pad_link_return_get_type), (register_gst_flow_return),
5514         (gst_flow_return_get_type), (register_gst_activate_mode),
5515         (gst_activate_mode_get_type), (register_gst_pad_direction),
5516         (gst_pad_direction_get_type), (register_gst_pad_flags),
5517         (gst_pad_flags_get_type), (register_gst_pad_presence),
5518         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5519         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5520         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5521         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5522         (gst_plugin_flags_get_type), (register_gst_rank),
5523         (gst_rank_get_type), (register_gst_query_type),
5524         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5525         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5526         (gst_tag_flag_get_type), (register_gst_task_state),
5527         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5528         (gst_alloc_trace_flags_get_type),
5529         (register_gst_type_find_probability),
5530         (gst_type_find_probability_get_type), (register_gst_uri_type),
5531         (gst_uri_type_get_type), (register_gst_parse_error),
5532         (gst_parse_error_get_type):
5533         * win32/common/gstenumtypes.h:
5534         * win32/common/gstversion.h:
5535           update visual studio generated files
5536
5537 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5538
5539         * win32/vs6/libgstbase.dsp:
5540         * win32/vs6/libgstelements.dsp:
5541           update project files for new locations
5542
5543 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5544
5545         * Makefile.am:
5546           remove some files
5547         * README:
5548           reinstate and update
5549         * DEVEL:
5550         * REQUIREMENTS:
5551           removed
5552         * LICENSE:
5553         * docs/random/LICENSE:
5554           moved to random
5555
5556 2005-11-30  Edward Hervey  <edward@fluendo.com>
5557
5558         * gst/gsttypefind.c: (gst_type_find_register):
5559         * gst/gsttypefind.h:
5560         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5561         (gst_type_find_factory_dispose):
5562         * gst/gsttypefindfactory.h:
5563         Fix memory leak in GstTypeFindFactory.
5564
5565 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5566
5567         * gst/gst.c:
5568         * plugins/elements/Makefile.am:
5569         * plugins/elements/gstelements.c:
5570         * plugins/elements/gstqueue.c:
5571           move queue from core to the elements plugin
5572
5573 2005-11-29  Andy Wingo  <wingo@pobox.com>
5574
5575         * libs/gst/base/gstbasetransform.h: 
5576         * libs/gst/base/gstbasesrc.h: 
5577         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5578
5579         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5580         of pointers by which to pad very extensible base classes (like the
5581         ones in libs/gst/base).
5582
5583 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5584
5585         * docs/gst/gstreamer-docs.sgml:
5586         * docs/gst/gstreamer-sections.txt:
5587         * docs/libs/gstreamer-libs-docs.sgml:
5588         * docs/libs/gstreamer-libs-sections.txt:
5589           moving documentation from core to lib
5590
5591 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5592
5593         * check/Makefile.am:
5594         * configure.ac:
5595         * docs/gst/Makefile.am:
5596         * gst/Makefile.am:
5597         * gst/base/.cvsignore:
5598         * gst/base/Makefile.am:
5599         * gst/base/README:
5600         * gst/base/gstadapter.c:
5601         * gst/base/gstadapter.h:
5602         * gst/base/gstbasesink.c:
5603         * gst/base/gstbasesink.h:
5604         * gst/base/gstbasesrc.c:
5605         * gst/base/gstbasesrc.h:
5606         * gst/base/gstbasetransform.c:
5607         * gst/base/gstbasetransform.h:
5608         * gst/base/gstcollectpads.c:
5609         * gst/base/gstcollectpads.h:
5610         * gst/base/gstpushsrc.c:
5611         * gst/base/gstpushsrc.h:
5612         * gst/base/gsttypefindhelper.c:
5613         * gst/base/gsttypefindhelper.h:
5614         * gst/check/Makefile.am:
5615         * gst/check/gstcheck.c:
5616         * gst/check/gstcheck.h:
5617         * gst/net/Makefile.am:
5618         * gst/net/gstnet.h:
5619         * gst/net/gstnetclientclock.c:
5620         * gst/net/gstnetclientclock.h:
5621         * gst/net/gstnettimepacket.c:
5622         * gst/net/gstnettimepacket.h:
5623         * gst/net/gstnettimeprovider.c:
5624         * gst/net/gstnettimeprovider.h:
5625         * libs/gst/Makefile.am:
5626         * libs/gst/base/Makefile.am:
5627         * libs/gst/base/gstbasetransform.c:
5628         * libs/gst/check/Makefile.am:
5629         * plugins/elements/Makefile.am:
5630         * po/POTFILES.in:
5631           CVS surgery + support to move base, check, and net out of gst
5632           and into libs/gst
5633
5634 2005-11-29  Andy Wingo  <wingo@pobox.com>
5635
5636         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5637
5638         * gst/gststructure.h (struct _GstStructure): Only one pointer of
5639         padding.
5640
5641         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5642
5643         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5644
5645         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5646
5647         * gst/gstobject.h: (struct _GstObject): Only one pointer of
5648         padding; reduces object size by about 30%. We don't expect
5649         anything else to go into gstobject.
5650
5651         * gst/gstminiobject.h (struct _GstMiniObject)
5652         (struct _GstMiniObjectClass): Only one pointer of padding; the
5653         payload is only a pointer and two ints anyway. For the class there
5654         are only two methods as well.
5655         
5656         * gst/gstelement.h (struct _GstElementClass): Removed
5657         the state_changed signal callback, it is not used.
5658
5659 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5660
5661         * docs/gst/gstreamer.types:
5662           fix includes, though they are a little dinky
5663
5664 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5665
5666         * check/Makefile.am:
5667           look in the right place for elements, a lot more chance of
5668           success
5669         * gst/Makefile.am:
5670           remove indexers and elements subdirs
5671         * plugins/Makefile.am:
5672           make indexers conditional
5673
5674 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5675
5676         * Makefile.am:
5677         * configure.ac:
5678         * plugins/elements/Makefile.am:
5679         * plugins/elements/gstcapsfilter.c:
5680         * plugins/elements/gstfilesink.c:
5681         * plugins/elements/gstfilesrc.c:
5682         * plugins/elements/gstidentity.c:
5683         * plugins/indexers/Makefile.am:
5684           do CVS surgery and related build fixery to move elements
5685           and indexers in a new gstreamer/plugins directory, out of the
5686           gst/ directory
5687
5688 2005-11-29  Andy Wingo  <wingo@pobox.com>
5689
5690         * check/Makefile.am:
5691         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5692         * pkgconfig/gstreamer-net.pc.in:
5693         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5694         #322257.
5695
5696 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5697
5698         * tools/Makefile.am:
5699         * tools/gst-complete.1.in:
5700         * tools/gst-complete.c:
5701         * tools/gst-compprep.1.in:
5702         * tools/gst-compprep.c:
5703           removing -compprep and -complete
5704
5705 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5706
5707         * gst/gstevent.c: (gst_event_new_new_segment),
5708         (gst_event_parse_new_segment):
5709         * gst/gstevent.h:
5710           fix #320529 - clean up new_segment API and structure.
5711           Let's hope everyone was using the methods, and not the structure.
5712
5713 2005-11-29  Edward Hervey  <edward@fluendo.com>
5714
5715         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5716         (gst_base_sink_event), (gst_base_sink_do_sync),
5717         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5718         Properly handle non GST_FORMAT_TIME segment
5719         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5720         Properly handle non GST_FORMAT_TIME segment
5721         * gst/gstsegment.c:
5722         This function is valid if the accumulator is 0 and the format
5723         is different from the requested format.
5724         
5725 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5726
5727         * docs/gst/gstreamer-sections.txt:
5728         Add gst_query_new_seeking and gst_query_parse_seeking to the
5729         docs.
5730
5731 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5732
5733         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5734           Treat a pad alloc with new caps the same as if we were not
5735           negotiated, in order to allow a changing upstream output
5736           to produce a new format of data.
5737
5738 2005-11-29  Edward Hervey  <edward@fluendo.com>
5739
5740         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5741         (gst_base_transform_event), (gst_base_transform_eventfunc):
5742         The event virtual method is now properly implemented, with a default
5743         handler
5744         Sub classes should call the parent_class event method. They should
5745         return FALSE if they had a problem handling the given event, or don't
5746         want GstBaseTransform to send that even downstream
5747         * gst/elements/gstidentity.c: (gst_identity_class_init),
5748         (gst_identity_init), (gst_identity_event),
5749         (gst_identity_transform_ip), (gst_identity_set_property),
5750         (gst_identity_get_property):
5751         * gst/elements/gstidentity.h:
5752         Added the single-segment boolean property.
5753         If set to TRUE, it will output a single segment of data, starting from
5754         0, will eat up all incoming newsegment, and modify the timestamp of the
5755         buffers accordingly
5756
5757 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
5758
5759         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
5760           Don't ref NULL target pad (#322751). Improve docs.
5761
5762 2005-11-29  Michael Smith  <msmith@fluendo.com>
5763
5764         * gst/gstregistryxml.c: (load_plugin):
5765           Don't crash if we failed to load a feature from a plugin. 
5766
5767 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5768
5769         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5770         (GST_START_TEST):
5771           use more check API and less GLib API
5772
5773 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5774
5775         * Makefile.am:
5776           don't run checks if we don't have check
5777         * common/check.mak:
5778           remove the registry when running make torture
5779         * docs/gst/gstreamer-sections.txt:
5780           remove second multiply
5781         * gst/gstqueue.c: (gst_queue_loop):
5782           fix a compile warning when disabling debug
5783
5784 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5785
5786         * gst/gstinfo.h:
5787         Hey! Let's print the pad name if the pointer != NULL instead
5788         of when it == NULL :-)
5789
5790 2005-11-28  Wim Taymans  <wim@fluendo.com>
5791
5792         * check/gst/gstutils.c: (GST_START_TEST):
5793         Updated check, add some scaling accuracy checking code.
5794
5795         * gst/gstutils.c: (gst_util_div128_64),
5796         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
5797         (gst_util_uint64_scale_int):
5798         Fix 6 times faster division code. Optimize for common 
5799         1/1 and less common X/1 cases.
5800
5801 2005-11-28  Wim Taymans  <wim@fluendo.com>
5802
5803         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5804         More checks.
5805
5806         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
5807         (do_linear_regression), (gst_clock_add_observation):
5808         Cleanups.
5809         Release lock when the clock cannot be slaved.
5810         Catch the case where the regression returned an invalid denominator.
5811
5812         * gst/gstutils.c: (gst_util_div128_64_iterate),
5813         (gst_util_div128_64), (gst_util_uint64_scale_int64),
5814         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5815         Add protentially more performant non-iterative 128/64 divide function
5816         that unfortunatly does not work yet.
5817         Shortcut the trivial 0/X = 0 case.
5818         Remove the warnings on overflow.
5819
5820 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5821
5822         * gst/gstplugin.c: (gst_plugin_register_func):
5823           everything causing a plugin not to load should be at least a WARNING
5824
5825 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
5826
5827         * docs/random/ensonic/dparams.txt:
5828           some TODOs for the next dev cycle
5829         * libs/gst/controller/gstcontroller.c:
5830         (gst_controlled_property_set_interpolation_mode),
5831         (gst_controlled_property_new):
5832         * libs/gst/controller/gstcontroller.h:
5833           use base type to assign acccessor functions
5834
5835 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5836
5837         * check/Makefile.am:
5838         Oops, that should have been top_srcdir
5839
5840 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5841
5842         * check/Makefile.am:
5843         * check/elements/fdsrc.c: (GST_START_TEST):
5844         Use a cmdline define to specify the location of a file to use for
5845         testing, to avoid breaking distcheck.
5846
5847 2005-11-28  Andy Wingo  <wingo@pobox.com>
5848
5849         * gst/gstpad.c (fixate_value): Use array functions for arrays.
5850
5851 2005-11-28  Edward Hervey  <edward@fluendo.com>
5852
5853         * tools/gst-launch.c: (main):
5854         Clarify the output strings, makes it easier to translate.
5855         Fixes #322626
5856
5857 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5858
5859         * gst/Makefile.am:
5860           don't try and build net if we don't even have <sys/socket.h>
5861
5862 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
5863
5864         * check/Makefile.am:
5865         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
5866         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
5867           Add tests for fdsrc seekability
5868
5869         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5870         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
5871         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
5872         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
5873         * gst/elements/gstfdsrc.h:
5874           fdsrc should not be a 'live' source.
5875           Implement seeking on seekable fd's.
5876
5877         * gst/gstquery.c: (gst_query_new_seeking),
5878         (gst_query_parse_seeking):
5879         * gst/gstquery.h:
5880           Implement SEEKING query functions: 
5881             *_new_seeking and *_parse_seeking
5882
5883 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
5884
5885         * gst/gstelement.c: (gst_element_dispose):
5886           don't loop forever
5887
5888         * gst/gstiterator.c:
5889         * gst/gststructure.c:
5890           doc fixes
5891
5892         * libs/gst/controller/gstcontroller.c:
5893         (gst_controlled_property_set_interpolation_mode):
5894         * libs/gst/controller/gstcontroller.h:
5895         * libs/gst/controller/gstinterpolation.c:
5896         (interpolate_none_get_enum_value_array):
5897           support controlling enums
5898
5899 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5900
5901         * gst/gstvalue.c:
5902           Improve documentation for gst_value_union().
5903
5904         * gst/gstvalue.h:
5905           Change return value for union, intersect and subtract functions
5906           from gint to gboolean.
5907
5908 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5909
5910         * gst/gstvalue.c: (gst_value_serialize_any_list),
5911         (gst_value_transform_any_list_string),
5912         (gst_value_deserialize_list), (gst_value_deserialize_array),
5913         (gst_value_set_int_range), (gst_value_deserialize_int_range),
5914         (gst_value_set_double_range), (gst_value_deserialize_double_range),
5915         (gst_value_set_fraction_range_full),
5916         (gst_value_deserialize_fraction_range),
5917         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
5918         (gst_value_deserialize_boolean),
5919         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
5920         (gst_value_serialize_float), (gst_value_deserialize_float),
5921         (gst_string_wrap), (gst_value_deserialize_string),
5922         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
5923         (gst_value_union_int_range_int_range),
5924         (gst_value_intersect_int_range_int_range),
5925         (gst_value_intersect_double_range_double_range),
5926         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
5927         (gst_value_subtract_int_range_int_range),
5928         (gst_value_subtract_double_double_range),
5929         (gst_value_subtract_double_range_double_range),
5930         (gst_value_deserialize_fraction):
5931         * gst/gstvalue.h:
5932           Use gint, gdouble and gchar in our API instead of int, double and
5933           char (and make usage in gstvalue.c more consistent).
5934
5935 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5936
5937         * check/Makefile.am:
5938         * libs/gst/controller/Makefile.am:
5939         * libs/gst/dataprotocol/Makefile.am:
5940           fix up Makefile.am and remove GST_ENABLE_NEW
5941
5942 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5943
5944         * configure.ac:
5945         * gst/Makefile.am:
5946         * gst/base/Makefile.am:
5947         * gst/check/Makefile.am:
5948         * gst/elements/Makefile.am:
5949         * gst/net/Makefile.am:
5950           update LDFLAGS use some more
5951
5952 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5953
5954         * common/m4/gst-doc.m4:
5955           Fixes #312589
5956
5957 2005-11-26  Edward Hervey  <edward@fluendo.com>
5958
5959         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5960         This shouldn't issue a g_warning since it returns NULL if it
5961         couldn't find the plugin, and all functions using this behave
5962         properly on a NULL return. Switching to a GST_WARNING.
5963
5964 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
5965
5966         * gst/gstbin.c: (gst_bin_handle_message_func):
5967         Don't leak clock messages.
5968
5969 2005-11-25  Wim Taymans  <wim@fluendo.com>
5970
5971         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5972         (gst_util_uint64_scale_int):
5973         Optimisations, remove unneeded vars.
5974
5975 2005-11-25  Wim Taymans  <wim@fluendo.com>
5976
5977         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5978         Added more checks for the high precision uint64 cases.
5979
5980         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5981         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5982         Implement high precision (guint64 * guint64) / guint64.
5983
5984 2005-11-24  Wim Taymans  <wim@fluendo.com>
5985
5986         * gst/base/gstbasesrc.c: (gst_base_src_query):
5987         Fix wrong percentage query.
5988
5989         * gst/gstutils.c: (gst_util_uint64_scale),
5990         (gst_util_uint64_scale_int):
5991         Add some more common cases that can be handled 
5992         efficiently to _scale.
5993
5994 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5995
5996         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
5997         (gst_mini_object_suite):
5998           don't use check calls from threads; check probably isn't
5999           threadsafe and using a lock to make it threadsafe would
6000           defeat the purpose of this check
6001         * gst/check/gstcheck.c:
6002         * gst/check/gstcheck.h:
6003           use GST_DEBUG some more
6004
6005 2005-11-24  Wim Taymans  <wim@fluendo.com>
6006
6007         * gst/gstutils.c: (gst_util_uint64_scale),
6008         (gst_util_uint64_scale_int):
6009         Chain trivial case to _scale_int.
6010
6011 2005-11-24  Wim Taymans  <wim@fluendo.com>
6012
6013         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6014         Added test for scaling.
6015
6016         * gst/gstclock.h:
6017         Small doc fix.
6018
6019         * gst/gstutils.c: (gst_util_uint64_scale_int):
6020         Implemented high precision scaling code.
6021
6022 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
6023
6024         * gst/gstinfo.h:
6025           do not crash on pad==NULL
6026
6027 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6028
6029         Patch by: Stefan Kost
6030
6031         * common/gtk-doc.mak:
6032         * docs/gst/Makefile.am:
6033         * docs/libs/Makefile.am:
6034           Fix distcheck issues for the libraries docs build
6035           Closes #319599.
6036
6037 2005-11-24  Michael Smith <msmith@fluendo.com>
6038
6039         * docs/manual/basics-helloworld.xml:
6040           Fix bug #315027: memory leak in example code in docs.
6041
6042 2005-11-24  Michael Smith <msmith@fluendo.com>
6043
6044         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6045           Unlock the PREROLL_LOCK in a failure case.
6046
6047 2005-11-24  Wim Taymans  <wim@fluendo.com>
6048
6049         * docs/gst/gstreamer-sections.txt:
6050         * gst/base/gstadapter.h:
6051         * gst/base/gstbasesink.h:
6052         * gst/base/gstbasesrc.h:
6053         * gst/base/gstbasetransform.h:
6054         * gst/base/gstpushsrc.h:
6055         * gst/elements/gstfakesink.h:
6056         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
6057         * gst/elements/gstfakesrc.h:
6058         * gst/elements/gstfilesink.h:
6059         * gst/elements/gstfilesrc.h:
6060         * gst/gst.c:
6061         * gst/gstbin.c:
6062         * gst/gstbuffer.c: (_gst_buffer_copy):
6063         * gst/gstbus.h:
6064         * gst/gstcaps.c:
6065         * gst/gstchildproxy.c:
6066         * gst/gstclock.c:
6067         * gst/gstelement.c:
6068         * gst/gstelementfactory.c:
6069         * gst/gstelementfactory.h:
6070         * gst/gstevent.c:
6071         * gst/gstghostpad.h:
6072         * gst/gstindex.h:
6073         * gst/gstinterface.h:
6074         * gst/gstminiobject.c:
6075         * gst/gstminiobject.h:
6076         * gst/gstpad.c:
6077         * gst/gstpad.h:
6078         * gst/gstpadtemplate.h:
6079         * gst/gstpipeline.h:
6080         * gst/gstpluginfeature.h:
6081         * gst/gstquery.h:
6082         * gst/gstqueue.h:
6083         * gst/gsttaglist.c:
6084         * gst/gsttaglist.h:
6085         * gst/gsttagsetter.c:
6086         * gst/gsttagsetter.h:
6087         * gst/gsttrace.c:
6088         * gst/gsttrace.h:
6089         * gst/gsttypefind.h:
6090         * gst/gsturi.h:
6091         * gst/gstvalue.c:
6092         * gst/net/gstnetclientclock.c:
6093         * gst/net/gstnetclientclock.h:
6094         * gst/net/gstnettimepacket.c:
6095         * gst/net/gstnettimeprovider.c:
6096         * gst/net/gstnettimeprovider.h:
6097         Doc fixes.
6098
6099 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6100
6101         * configure.ac: back to HEAD
6102
6103 === release 0.9.6 ===
6104
6105 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
6106
6107         * configure.ac:
6108           releasing 0.9.6, "Always On Time"
6109
6110 2005-11-23  Wim Taymans  <wim@fluendo.com>
6111
6112         * docs/gst/gstreamer-sections.txt:
6113         * gst/glib-compat.c:
6114         * gst/gsttagsetter.c:
6115         * gst/gstvalue.c:
6116         * gst/net/gstnetclientclock.c:
6117         * gst/net/gstnettimepacket.h:
6118         Doc updates.
6119
6120 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6121
6122         * docs/faq/using.xml:
6123         * docs/libs/tmpl/gstcontrol.sgml:
6124         * docs/manual/advanced-dparams.xml:
6125         * docs/manual/appendix-checklist.xml:
6126         * docs/manual/basics-elements.xml:
6127         * docs/pwg/other-source.xml:
6128         * docs/random/moving-plugins:
6129         * gst/gstpad.c:
6130         * tools/gst-launch.1.in:
6131           remove mentions of sinesrc
6132
6133 2005-11-23  Michael Smith <msmith@fluendo.com>
6134
6135         * docs/gst/gstreamer-sections.txt:
6136           Update for new API and API changes.
6137         * gst/gstobject.h:
6138           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
6139         * gst/gstvalue.c:
6140           Documentation typo fix.
6141         * gst/net/gstnettimepacket.c:
6142           Documentation fixes for arguments.
6143
6144 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
6145
6146         * gst/gststructure.c: (gst_structure_get_fraction),
6147         (gst_structure_parse_value),
6148         (gst_structure_fixate_field_nearest_fraction):
6149         * gst/gststructure.h:
6150         * gst/gstutils.c: (gst_util_uint64_scale_int):
6151         * gst/gstutils.h:
6152         * scripts/update-funcnames:
6153         API Changes. 
6154         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
6155         Make gst_structure_fixate_field_nearest_fraction take a numerator
6156         and denominator argument instead of a GValue
6157         add gst_structure_get_fraction helper function.
6158
6159 2005-11-23  Wim Taymans  <wim@fluendo.com>
6160
6161         * docs/design/part-TODO.txt:
6162         Update TODO.
6163
6164         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6165         * gst/net/gstnetclientclock.h:
6166         Use parent fields for timeout and window_size.
6167
6168 2005-11-23  Andy Wingo  <wingo@pobox.com>
6169
6170         * check/net/gstnetclientclock.c (test_functioning): Adjust to
6171         rate_num/rate_denom change.
6172
6173         * gst/net/gstnetclientclock.c
6174         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
6175         OBJECT_LOCK. Don't call add_observation with the lock.
6176
6177         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
6178         fraction.
6179         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
6180         rate fraction.
6181         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
6182         deal with rate as a fraction whose numerator and denominator are
6183         GstClockTime values.
6184         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
6185         master; the other fields are protected by the SLAVE_LOCK.
6186         (do_linear_regression): Note that this must be called with the
6187         SLAVE_LOCK.
6188         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
6189         OBJECT_LOCK. Call set_calibration instead of touching the
6190         variables directly.
6191         (gst_clock_set_property, gst_clock_get_property): Protect
6192         master/slave parameters with the SLAVE_LOCK.
6193
6194         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
6195         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
6196         note that all of the instance variables that add_observation and
6197         the set_master functions use are protected by that lock and not
6198         the OBJECT_LOCK.
6199         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
6200
6201         * gst/gstclock.c (gst_clock_add_observation): No longer requires
6202         the caller to take the object lock.
6203
6204 2005-11-23  Wim Taymans  <wim@fluendo.com>
6205
6206         * gst/gsterror.c: (_gst_core_errors_init):
6207         * gst/gsterror.h:
6208         Add error for clock stuff.
6209
6210         * gst/gstpipeline.c: (gst_pipeline_change_state),
6211         (gst_pipeline_set_clock):
6212         Post clock error when clock cannot be used in a pipeline.
6213
6214 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
6215
6216         * docs/gst/gstreamer-sections.txt:
6217           make two symbols from gstinfo private for the docs
6218         * gst/base/gstcollectpads.h:
6219         * gst/gstutils.c:
6220           fix doc typos, update docs
6221
6222 2005-11-22  Wim Taymans  <wim@fluendo.com>
6223
6224         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6225         (gst_base_sink_wait), (gst_base_sink_do_sync),
6226         (gst_base_sink_handle_event):
6227         * gst/base/gstbasesink.h:
6228         No need to store the clock, the parent element class already
6229         has it.
6230
6231         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6232         Updates for clock_set returning a gboolean
6233
6234         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6235         (gst_clock_id_wait_async), (gst_clock_class_init),
6236         (gst_clock_init), (gst_clock_finalize),
6237         (gst_clock_get_internal_time), (gst_clock_get_time),
6238         (gst_clock_slave_callback), (gst_clock_set_master),
6239         (gst_clock_get_master), (do_linear_regression),
6240         (gst_clock_add_observation), (gst_clock_set_property),
6241         (gst_clock_get_property):
6242         * gst/gstclock.h:
6243         Implement master/slave. When setting a clock as a slave, a
6244         periodic timeout is scheduled to sample master and slave times.
6245         Then the slave clock is recalibrated to match offset and rate
6246         of the master clock.
6247         Update logging a bit.
6248         Add flag so that a clock can state that is cannot be slaved to
6249         another clock.
6250
6251         * gst/gstelement.c: (gst_element_set_clock):
6252         * gst/gstelement.h:
6253         The set clock returns a gboolean for when an element cannot
6254         deal with the selected clock in the pipeline. 
6255
6256         * gst/gstpipeline.c: (gst_pipeline_change_state),
6257         (gst_pipeline_set_clock):
6258         * gst/gstpipeline.h:
6259         Handle the case where the selected clock cannot be set on
6260         the pipeline.
6261
6262         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6263         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6264         (gst_net_client_clock_set_property),
6265         (gst_net_client_clock_get_property),
6266         (gst_net_client_clock_observe_times):
6267         * gst/net/gstnetclientclock.h:
6268         Use regression code in GstClock parent, remove duplicated
6269         functionality.
6270
6271 2005-11-22  Michael Smith <msmith@fluendo.com>
6272
6273         * gst/gstutils.c: (gst_util_clock_time_scale):
6274         * gst/gstutils.h:
6275         * docs/gst/gstreamer-sections.txt:
6276           Rename method to have extra underscore.
6277
6278 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6279
6280         * gst/elements/Makefile.am:
6281         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6282         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6283         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6284         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6285         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6286         * gst/elements/gstfakesrc.h:
6287         * gst/gstqueue.c: (queue_leaky_get_type):
6288           correctly fix GEnumValues so that nick is the short lowercase
6289           dashed tag
6290         * tools/gst-inspect.c: (print_element_properties_info):
6291           also show the nick, since it's useful to use from parse_launch
6292           syntax
6293           Fixes #322139
6294
6295 2005-11-22  Michael Smith <msmith@fluendo.com>
6296
6297         * gst/gstutils.c: (gst_util_clocktime_scale):
6298         * gst/gstutils.h:
6299         * docs/gst/gstreamer-sections.txt:
6300           Add util method for scaling a clocktime by a fraction. Useful 
6301           implementation is left as an exercise for the reader.
6302
6303 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6304
6305         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6306         If needed, allocate storage in the destination value during
6307         collection.
6308
6309 2005-11-22  Edward Hervey  <edward@fluendo.com>
6310
6311         * docs/gst/gstreamer-sections.txt:
6312         * gst/Makefile.am:
6313         * gst/gst.h:
6314         * gst/gsturitype.c:
6315         * gst/gsturitype.h:
6316         * gst/gstutils.c: (gst_util_set_object_arg):
6317         * tools/gst-compprep.c: (main):
6318         * tools/gst-inspect.c: (print_element_properties_info):
6319         Removed GstURI, closes bug #321061
6320
6321 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6322
6323         * check/gst/gststructure.c: (GST_START_TEST):
6324         * gst/gststructure.c: (gst_structure_parse_value):
6325           Oops, broke automatic string type parsing.
6326           Add a test to catch it in future.
6327
6328 2005-11-22  Andy Wingo  <wingo@pobox.com>
6329
6330         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
6331         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6332         Actually rename the function implementations. Grr.
6333
6334 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6335
6336         * check/gst/capslist.h:
6337           Comment test cases
6338         * check/gst/gststructure.c: (GST_START_TEST),
6339         (gst_structure_suite):
6340           Test automatic value type detection in gst_structure_from_string.
6341         * gst/gststructure.c: (gst_structure_parse_value):
6342           Add fraction as a type we try and guess automatically in
6343           caps/structure strings.
6344
6345 2005-11-22  Andy Wingo  <wingo@pobox.com>
6346
6347         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6348
6349         * gst/gsttagsetter.h:
6350         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6351         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6352         (gst_tag_setter_add_tag_valist)
6353         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6354         _add_values, _add_valist, and _add_valist_values. Since this is an
6355         interface the function suffixes should be more explicit so
6356         language binding don't end up with element.add_valist ->
6357         gst_tag_setter_add_valist, for example. Fixes #322069.
6358
6359 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6360
6361         * check/gst/gstcaps.c: (GST_START_TEST):
6362           Extend caps string tests to check that a caps to string
6363           conversion is reversible and produces the same caps.
6364
6365         * gst/gststructure.c: (gst_structure_value_get_generic_type):
6366           Output "fraction" as the generic type fraction range, so caps
6367           serialisation and deserialisation works.
6368         * check/gst/capslist.h:
6369         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6370           Support 'MIN' and 'MAX' for deserialising fractions.
6371
6372 2005-11-22  Andy Wingo  <wingo@pobox.com>
6373
6374         * gst/gstevent.h (gst_event_new_new_segment)
6375         (gst_event_parse_new_segment, gst_event_new_buffer_size)
6376         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6377         Renamed from *_newsegment, *_buffersize, *_notarget.
6378
6379         * scripts/update-funcnames: New script, performs the changes
6380         listed above.
6381
6382 2005-11-22  Wim Taymans  <wim@fluendo.com>
6383
6384         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6385         Make sure the GstFlowReturn is returned.
6386
6387         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6388         (gst_bus_add_signal_watch):
6389         * gst/gstbus.h:
6390         add gst_bus_add_signal_watch_full.
6391
6392         * gst/gstplugin.c: (gst_plugin_load_file):
6393         Small style cleanup.
6394
6395 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6396
6397         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6398           Block the fakesrc srcpad when we send an event, to avoid
6399           contention on the stream_lock causing random test failures.
6400
6401 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6402
6403         * check/gst/gstvalue.c: (GST_START_TEST):
6404         * gst/gstvalue.c: (gst_value_fraction_subtract):
6405           Fix subtraction.
6406
6407 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
6408
6409         * gst/gst.h:
6410           include "gstchildproxy.h"
6411         * gst/gstchildproxy.h:
6412         * libs/gst/controller/gstcontroller.h:
6413           use G_GNUC_NULL_TERMINATED
6414
6415 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6416
6417         * check/gst/capslist.h:
6418         * check/gst/gstcaps.c: (GST_START_TEST):
6419         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6420         * gst/gststructure.c: (gst_structure_parse_range),
6421         (gst_structure_fixate_field_nearest_fraction):
6422         * gst/gststructure.h:
6423         * gst/gstvalue.c: (gst_value_init_fraction_range),
6424         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6425         (gst_value_collect_fraction_range),
6426         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6427         (gst_value_set_fraction_range_full),
6428         (gst_value_get_fraction_range_min),
6429         (gst_value_get_fraction_range_max),
6430         (gst_value_serialize_fraction_range),
6431         (gst_value_transform_fraction_range_string),
6432         (gst_value_compare_fraction_range),
6433         (gst_value_deserialize_fraction_range),
6434         (gst_value_intersect_fraction_fraction_range),
6435         (gst_value_intersect_fraction_range_fraction_range),
6436         (gst_value_subtract_fraction_fraction_range),
6437         (gst_value_subtract_fraction_range_fraction),
6438         (gst_value_subtract_fraction_range_fraction_range),
6439         (gst_value_collect_fraction), (gst_value_fraction_multiply),
6440         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6441         (gst_value_transform_string_fraction), (_gst_value_initialize):
6442         * gst/gstvalue.h:
6443           Implement fraction ranges and extend GstFraction to support
6444           arithmetic subtraction, as well as deserialization from integer
6445           strings such as "100"
6446           Add a testsuite as for int and double range set operations
6447
6448 2005-11-21  Andy Wingo  <wingo@pobox.com>
6449
6450         * gst/gsttaglist.h: 
6451         * gst/gstcaps.h: 
6452         * gst/gststructure.h: Add glib-compat.h.
6453
6454 2005-11-21  Wim Taymans  <wim@fluendo.com>
6455
6456         * gst/gstbin.c: (gst_bin_change_state_func):
6457         Fix for #321595
6458
6459 2005-11-21  Wim Taymans  <wim@fluendo.com>
6460
6461         * gst/gstsegment.h:
6462         And add a nice define too.
6463
6464 2005-11-21  Wim Taymans  <wim@fluendo.com>
6465
6466         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6467         (gst_segment_new), (gst_segment_free), (gst_segment_init),
6468         (gst_segment_set_duration), (gst_segment_set_last_stop),
6469         (gst_segment_set_seek), (gst_segment_set_newsegment),
6470         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6471         (gst_segment_clip):
6472         * gst/gstsegment.h:
6473         Make binding friendly.
6474
6475 2005-11-21  Andy Wingo  <wingo@pobox.com>
6476
6477         * gst/gsttagsetter.h: 
6478         * gst/gsttaglist.h: 
6479         * gst/gststructure.h: 
6480         * gst/gstcaps.h: 
6481         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6482         #319940.
6483
6484         * gst/gsterror.c (_gst_core_errors_init):
6485         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6486         category.
6487
6488         * gst/Makefile.am (gst_headers): Add glib-compat.h.
6489         (noinst_HEADERS): noinst the -private.
6490
6491 2005-11-21  Michael Smith <msmith@fluendo.com>
6492
6493         * gst/gstplugin.h:
6494         * gst/gstregistry.h:
6495           Remove unimplemented declarations for which we can see no sensible
6496           use.
6497
6498 2005-11-21  Andy Wingo  <wingo@pobox.com>
6499
6500         * gst/gst.h: Include glib-compat.h.
6501
6502         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6503
6504         * gst/glib-compat.c: Include the public and the private header.
6505
6506         * gst/glib-compat-private.h: Copied here from glib-compat.h.
6507
6508         * gst/gstvalue.c: 
6509         * gst/gstpad.c: 
6510         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6511
6512         * check/gst/gstevent.c (create_custom_events): Check that
6513         FLUSH_STOP is serialized.
6514
6515         * check/elements/identity.c (event_func): 
6516         * check/elements/fakesrc.c (event_func): No stream lock, the core
6517         takes it.
6518
6519         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6520         stream lock taking, yay.
6521
6522         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6523         ensure that core takes the stream lock.
6524
6525         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6526         lock name change.
6527
6528         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6529         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6530         it already. For the flush start we do take it though so we get the
6531         right preroll state change messages.
6532
6533         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6534         the stream lock here, the core does it for us.
6535
6536         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6537         GST_STREAM_GET_LOCK.
6538         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
6539         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
6540         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6541         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6542         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
6543         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6544
6545         * gst/gstpad.c: Update for stream lock name change.
6546
6547         * gst/base/gstbasesink.c: Update for preroll lock name change.
6548
6549 2005-11-21  Wim Taymans  <wim@fluendo.com>
6550
6551         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6552         (gst_clock_get_master):
6553         * gst/gstclock.h:
6554         * gst/gstsystemclock.c: (gst_system_clock_init):
6555         Convert Clock flags to object flags.
6556         Added methods to manage master/slave clocks.
6557
6558 2005-11-21  Wim Taymans  <wim@fluendo.com>
6559
6560         * check/gst/gstsegment.c: (GST_START_TEST):
6561         * docs/design/part-TODO.txt:
6562         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6563         (gst_base_sink_event), (gst_base_sink_do_sync),
6564         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6565         (gst_base_sink_query), (gst_base_sink_change_state):
6566         * gst/base/gstbasesink.h:
6567         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6568         (gst_base_src_default_newsegment),
6569         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6570         (gst_base_src_get_range), (gst_base_src_loop),
6571         (gst_base_src_change_state):
6572         * gst/base/gstbasesrc.h:
6573         * gst/base/gstbasetransform.c:
6574         (gst_base_transform_prepare_output_buf),
6575         (gst_base_transform_event), (gst_base_transform_change_state):
6576         * gst/base/gstbasetransform.h:
6577         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6578         (gst_collect_pads_event):
6579         * gst/base/gstcollectpads.h:
6580         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6581         (gst_fake_src_create):
6582         * gst/elements/gstfakesrc.h:
6583         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6584         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6585         (gst_segment_set_last_stop), (gst_segment_set_seek),
6586         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6587         (gst_segment_to_running_time), (gst_segment_clip):
6588         * gst/gstsegment.h:
6589         More segment updates, replace code in plugins with segment
6590         helper functions.
6591
6592 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6593
6594         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6595         Don't ignore sscanf results
6596
6597 2005-11-21  Andy Wingo  <wingo@pobox.com>
6598
6599         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6600
6601         * *.h:
6602         * *.c: Ran scripts/update-macros. Oh yes.
6603
6604         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6605         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6606         GST_GET_LOCK, etc.
6607
6608         * scripts/update-macros: New script. Run it on your files to
6609         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6610         well.
6611
6612 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6613
6614         * docs/gst/Makefile.am:
6615         * docs/gst/gstreamer-docs.sgml:
6616         * docs/gst/gstreamer-sections.txt:
6617         * docs/gst/gstreamer.types:
6618         * gst/gstinfo.h:
6619           more docs fixes, add new api to the docs
6620
6621 2005-11-21  Andy Wingo  <wingo@pobox.com>
6622
6623         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6624         state_broadcast call.
6625
6626         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6627
6628 2005-11-21  Julien MOUTTE  <julien@moutte.net>
6629
6630         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6631         function calls for arrays.
6632
6633 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6634
6635         * docs/random/ensonic/media-device-daemon.txt:
6636           wild idea, can this be done?
6637         * docs/gst/gstreamer-sections.txt:
6638         * gst/gsterror.h:
6639         * gst/gstfilter.c:
6640         * gst/gstfilter.h:
6641         * gst/gstplugin.h:
6642         * gst/gstpluginfeature.c:
6643         * gst/gsttrace.c:
6644         * gst/gstvalue.c:
6645         * gst/gstvalue.h:
6646           doc fixes and additions
6647
6648 2005-11-21  Andy Wingo  <wingo@pobox.com>
6649
6650         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
6651         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
6652         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
6653         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6654         private to the basesrc implementation.
6655
6656         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6657         behalf of event function if necessary. It should no longer be
6658         necessary to take the stream lock in pad's event functions. Fixes
6659         #320299.
6660
6661 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6662         * docs/gst/gstreamer-sections.txt:
6663         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6664         (gst_structure_fixate_field_nearest_double),
6665         (gst_structure_fixate_field_boolean):
6666         * gst/gststructure.h:
6667         * win32/common/libgstreamer.def:
6668         * win32/gstreamer.def:
6669
6670         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6671         (#322027)
6672
6673 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6674
6675         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6676         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6677         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6678         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6679         (gst_fdsrc_uri_handler_init):
6680         * gst/elements/gstfdsrc.h:
6681           Port fd:// URI handler from 0.8 to fdsrc
6682
6683 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6684
6685         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6686         (gst_value_serialize_fourcc):
6687         * gst/gstvalue.h:
6688           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6689           consistent with our other format defines (#320324).
6690
6691 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6692
6693         * gst/gstvalue.c: (gst_value_is_fixed):
6694           Revert previous commit. Value lists are by definition
6695           not fixed, as they are a list of possible values.
6696
6697 2005-11-21  Andy Wingo  <wingo@pobox.com>
6698
6699         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6700         during the stable series if we need it. Fixes #319178.
6701
6702         * gst/gstevent.c (gst_event_new_filler): Removed.
6703
6704         * check/gst/gstevent.c: Update comment about filler events.
6705
6706 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6707
6708         * gst/gstvalue.c: (gst_value_is_fixed):
6709           Should handle both value arrays and value lists.
6710
6711 2005-11-21  Andy Wingo  <wingo@pobox.com>
6712
6713         patch by: Alessandro Dessina <alessandro nnva org>
6714
6715         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6716         functions to access arrays. Fixes #321962.
6717
6718 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6719
6720         * docs/gst/gstreamer.types:
6721           gst_collectpads_get_type => gst_collect_pads_get_type.
6722           
6723         * gst/base/gstbasetransform.c:
6724           Remove unused SIGNAL_HANDOFF enum.
6725
6726 2005-11-21  Andy Wingo  <wingo@pobox.com>
6727
6728         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6729         the event type (upstream, downstream, serialized). Renamed
6730         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6731         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6732         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6733
6734         * gst/gstevent.c: Update for new CUSTOM event names.
6735
6736         * check/gst/gstevent.c: Update check for new CUSTOM event names.
6737
6738         * gst/gstevent.h:
6739         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
6740         bug #319392.
6741
6742 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6743
6744         * docs/gst/gstreamer-sections.txt:
6745         * win32/common/libgstbase.def:
6746         * win32/libgstbase.def:
6747         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6748         (gst_collect_pads_class_init), (gst_collect_pads_init),
6749         (gst_collect_pads_finalize), (gst_collect_pads_new),
6750         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
6751         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
6752         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
6753         (gst_collect_pads_start), (gst_collect_pads_stop),
6754         (gst_collect_pads_peek), (gst_collect_pads_pop),
6755         (gst_collect_pads_available), (gst_collect_pads_read),
6756         (gst_collect_pads_flush), (gst_collect_pads_event),
6757         (gst_collect_pads_chain):
6758         * gst/base/gstcollectpads.h:
6759           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
6760           unimplemented functions as unimplemented. Add padding to
6761           GstCollectData. (#320766, #320423)
6762
6763 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6764
6765         * gst/gstmessage.c:
6766           Improve docs for DURATION message (usage of duration parameter)
6767           (#320113)
6768
6769 2005-11-20  Wim Taymans  <wim@fluendo.com>
6770
6771         * check/Makefile.am:
6772         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
6773         (main):
6774         * gst/Makefile.am:
6775         * gst/gst.h:
6776         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6777         (gst_segment_set_seek), (gst_segment_set_newsegment),
6778         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6779         (gst_segment_clip):
6780         * gst/gstsegment.h:
6781         Added segment helper structure and methods. Not fully implemented
6782         yet.
6783         Added segment check.
6784
6785 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
6786
6787         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6788           Add a deserialisation test for fractions
6789         * examples/metadata/read-metadata.c: (message_loop),
6790         (make_pipeline), (main):
6791           Fix up metadata reading sample.
6792         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6793           Debug format fix
6794         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6795           Don't try and fixate empty caps
6796         * gst/gst_private.h:
6797           Wrap in G_BEGIN_DECLS/G_END_DECLS
6798         * gst/gstvalue.c: (gst_value_collect_fraction),
6799         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
6800         (gst_value_transform_string_fraction),
6801         (gst_value_compare_fraction):
6802           Add some extra guards to ensure that we don't end up 
6803           with an invalid denominator of 0 in a gstfraction and
6804           that fractions always get reduced.
6805
6806 2005-11-20  Wim Taymans  <wim@fluendo.com>
6807
6808         * docs/gst/gstreamer-sections.txt:
6809         * gst/gstbuffer.h:
6810         * gst/gstelement.c:
6811         * gst/gstformat.c:
6812         * gst/gstformat.h:
6813         * gst/gstindex.h:
6814         * gst/gstquery.c:
6815         * gst/gstquery.h:
6816         * gst/gstvalue.c:
6817         Doc fixes.
6818
6819 2005-11-20  Wim Taymans  <wim@fluendo.com>
6820
6821         * docs/design/part-TODO.txt:
6822         * gst/gstcaps.h:
6823         Make a proper enum of the flag.
6824
6825 2005-11-19  Wim Taymans  <wim@fluendo.com>
6826
6827         * docs/design/part-TODO.txt:
6828         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
6829         (gst_format_to_quark), (gst_format_register):
6830         * gst/gstformat.h:
6831         * gst/gstquery.c: (_gst_query_initialize),
6832         (gst_query_type_get_name), (gst_query_type_to_quark),
6833         (gst_query_type_register):
6834         * gst/gstquery.h:
6835         Add type to quark and type to string conversions.
6836
6837 2005-11-19  Andy Wingo  <wingo@pobox.com>
6838
6839         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
6840         #320097.
6841
6842 2005-11-19  Wim Taymans  <wim@fluendo.com>
6843
6844         * docs/design/part-TODO.txt:
6845         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6846         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
6847         (gst_bin_handle_message_func):
6848         * gst/gstbin.h:
6849         Make message handling overridable.
6850
6851 2005-11-19  Andy Wingo  <wingo@pobox.com>
6852
6853         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
6854
6855         * gst/gstclock.h:
6856         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
6857         be a GstClockTime.
6858         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
6859         is a GstClockTime. Fixes #321710.
6860
6861         * gst/gstclock.h (GstClock): Remove offset property. Add
6862         internal_calibration and external_calibration. Fix padding. Pad
6863         also by GstClockTime so we don't run into problems.
6864
6865         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
6866         (gst_clock_get_rate_offset): Remove.
6867         (gst_clock_set_time_adjust): Remove. Fixes #321712.
6868
6869         * gst/gstutils.h:
6870         * gst/gstutils.c (g_static_rec_cond_wait)
6871         (g_static_rec_cond_timed_wait): Removed, no longer needed.
6872
6873         * gst/gstbin.c: Remove terrible continue_state prototype.
6874
6875         * gst/gstelement.h (gst_element_continue_state): Make public.
6876
6877         * gst/gstelement.h:
6878         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
6879         by continue_state. Fixes #319389.
6880
6881         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
6882         Really fixes #168438. However I don't see anywhere where the
6883         filter function is called... stupid GStreamer...
6884         
6885         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
6886         don't have a dispose function, so it won't get called when the
6887         object is unreffed, but oh well!
6888
6889         * gst/gstindex.c (gst_index_set_filter_full): New API function,
6890         allows a destroy function to be set so user_data can be freed.
6891         Fixes #168438.
6892         (gst_index_set_filter): Call gst_index_set_filter_full.
6893
6894         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
6895
6896         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
6897         string should produce an error, given the lack of a way to
6898         represent NULL strings. Fixes #165650.
6899         
6900         * gst/gstvalue.h: 
6901         * gst/gstvalue.c (gst_value_array_append_value) 
6902         (gst_value_array_prepend_value, gst_value_array_get_size) 
6903         (gst_value_array_get_value): New API, copied from
6904         gst_value_list_*, only operates on arrays.
6905         (gst_value_list_append_value, gst_value_list_prepend_value) 
6906         (gst_value_list_concat, gst_value_list_get_size) 
6907         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
6908
6909         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
6910         init_list, because it works on both.
6911         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
6912         (gst_value_copy_list_or_array): Renamed from copy_list.
6913         (gst_value_free_list_or_array): Renamed from free_list.
6914         (gst_value_collect_list_or_array): Renamed from collect_list.
6915         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
6916         (gst_value_list_or_array_peek_pointer): Renamed from
6917         list_peek_pointer.
6918         (_gst_value_array_value_table, _gst_value_list_value_table):
6919         Update value table functions.
6920         (gst_value_compare_list_or_array): Renamed from compare_list.
6921
6922         * gsttaglist.h: Whoops, foreach function returns void. Also fix
6923         some constness.
6924
6925         * gst/gsttaglist.c:
6926         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
6927         GstTagList*. Fixes #143472.
6928
6929         * gst/gststructure.h: Clarify what the foreach/map functions can
6930         or can't do to their arguments.
6931
6932 2005-11-18  Wim Taymans  <wim@fluendo.com>
6933
6934         * gst/gstclock.c: (gst_clock_set_calibration),
6935         (gst_clock_get_calibration):
6936         Doc and API fixes.
6937         Calibration can be set with internal time equal to current
6938         internal time too.
6939
6940 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6941
6942         * gst/gsterror.c:
6943         * gst/gsterror.h:
6944           document
6945
6946 2005-11-18  Andy Wingo  <wingo@pobox.com>
6947
6948         * configure.ac: 
6949         * pkgconfig/gstreamer-net.pc.in:
6950         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6951         * pkgconfig/Makefile.am: Add net pkgconfig files.
6952
6953 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
6954
6955         * gst/gstcaps.c:
6956         * gst/gstghostpad.c:
6957         * gst/gsttrace.c:
6958         * gst/gstvalue.c:
6959         * gst/gstvalue.h:
6960           docs fixes
6961
6962 2005-11-18  Andy Wingo  <wingo@pobox.com>
6963
6964         * gst/net/gstnetclientclock.c: Turn off debugging.
6965
6966         * check/net/gstnetclientclock.c (test_functioning): Assert that the
6967         times connverge somewhat. Can't make a real test.
6968
6969         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
6970         integer arithmetic. Return the minimum of the domain, which can be
6971         set as "internal" for gst_clock_set_calibration.
6972         (gst_net_client_clock_observe_times): Call _set_calibration.
6973         (gst_net_client_clock_new): Call _set_calibration instead of
6974         rate_offset.
6975
6976         * check/net/gstnetclientclock.c (test_functioning): Use the right
6977         adjustment api.
6978
6979         * gst/gstclock.h:
6980         * gst/gstclock.c (gst_clock_get_calibration) 
6981         (gst_clock_set_calibration): New functions, obsolete the ones I
6982         added yesterday. Doh. Precision issues mean we have to extrapolate
6983         from a point in the more recent past than 1970.
6984         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
6985         obsolete.
6986         (gst_clock_adjust_unlocked): Use the right calibration data.
6987
6988 2005-11-18  Edward Hervey  <edward@fluendo.com>
6989
6990         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
6991         Also reset the ->current_* values in READY->PAUSED
6992
6993 2005-11-18  Andy Wingo  <wingo@pobox.com>
6994
6995         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
6996         Whoops, check the right fd. Also add some debugging.
6997         (gst_net_client_clock_observe_times): Adjust for int64 offset.
6998         (do_linear_regression): Add a crapload of debugging. Subtract off
6999         the minimum values from the input series to discard unneeded bits.
7000         Use only int arithmetic. There is still double arithmetic when
7001         calculating the intercept that needs fixing. Return boolean to
7002         indicate success; FALSE would mean the domain or range is too
7003         great. Still needs fixes.
7004
7005 2005-11-18  Wim Taymans  <wim@fluendo.com>
7006
7007         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7008         For the current position in stream time, we need to subtract
7009         accumulated time.
7010         
7011         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7012         Release lock before calling the callback function of async
7013         entries.
7014
7015 2005-11-18  Andy Wingo  <wingo@pobox.com>
7016
7017         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
7018         Port goes all the way to MAXUINT16.
7019
7020         * gst/net/gstnettimeprovider.c: Make the port range the same as
7021         for the kernel: 0 assigns, otherwise ports are less than
7022         MAXUINT16.
7023
7024         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
7025         port change.
7026
7027         * check/net/gstnetclientclock.c (test_functioning): Add the start
7028         of another test. 
7029
7030 2005-11-18  Wim Taymans  <wim@fluendo.com>
7031
7032         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7033         (gst_bin_remove_func), (bin_bus_handler):
7034         * gst/gstbin.h:
7035         Removing a clock provider from a bin, triggers a clock lost message
7036         so that a new clock will be selected.
7037         Adding a clock to a bin triggers a clock provider message.
7038         Make sure we reselect a clock when we received a clock lost message.
7039         Keep a reference to the element that provided the clock.
7040
7041 2005-11-18  Andy Wingo  <wingo@pobox.com>
7042
7043         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
7044         the clock initially so it produces values around the base time.
7045         (gst_net_client_clock_class_init): Typo fix.
7046         (gst_net_client_clock_thread): Add note on when the socket gets
7047         closed.
7048
7049 2005-11-17  Wim Taymans  <wim@fluendo.com>
7050
7051         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
7052         Free remote and local time arrays.
7053
7054 2005-11-17  Wim Taymans  <wim@fluendo.com>
7055
7056         * gst/net/gstnetclientclock.c: (do_linear_regression),
7057         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
7058         Fix compilation, uninitialized vars and a forgotten continue.
7059
7060 2005-11-17  Andy Wingo  <wingo@pobox.com>
7061
7062         * check/Makefile.am (check_PROGRAMS): 
7063         * check/net/gstnetclientclock.c: Add a most minimal test for the
7064         net client clock. More to come later.
7065
7066         * gst/net/gstnet.h: 
7067         * gst/net/Makefile.am: Add netclientclock.
7068
7069         * gst/net/gstnetclientclock.h:
7070         * gst/net/gstnetclientclock.c: New files, implement an untested
7071         GstClock that takes its time from a network time provider.
7072         Implements the algorithm in network-clock.scm.
7073
7074         * tests/network-clock.scm (*window-size*): Rename from
7075         *queue-length*.
7076         * tests/network-clock.scm (network-time): 
7077         * tests/network-clock-utils.scm (q-push): Update callers.
7078
7079 2005-11-17  Wim Taymans  <wim@fluendo.com>
7080
7081         * gst/gstbin.c: (gst_bin_provide_clock_func),
7082         (gst_bin_sort_iterator_new):
7083         And unref the child too..
7084
7085 2005-11-17  Wim Taymans  <wim@fluendo.com>
7086
7087         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7088         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
7089         Refactor the sort iterator so it can be used while holding the
7090         LOCK too.
7091         Make clock selection select a clock closest to the source.
7092
7093 2005-11-17  Michael Smith <msmith@fluendo.com>
7094
7095         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
7096         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
7097         * gst/gstclock.h:
7098           Anonymous structs are a gcc (and some other compilers) extension, so
7099           don't use them. Since this is only for ABI-compatibility, and our
7100           API/ABI freeze is over in a few days, this whole thing will only
7101           last a few days, so don't bother trying to think up a meaningful
7102           name for the struct.
7103
7104 2005-11-17  Andy Wingo  <wingo@pobox.com>
7105
7106         * gst/gstclock.h (GstClock): Add rate and offset properties,
7107         preserving ABI stability. Add rate/offset accessors. Will file bug
7108         for the freeze break.
7109
7110         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
7111         and offset, trying to keep precision and avoiding
7112         underflow/overflow.
7113         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
7114         functions. Make gst_clock_set_time_adjust obsolete.
7115         (gst_clock_set_time_adjust): Note that this function is obsolete.
7116         Will file bug soon.
7117
7118         * gst/base/gstbasetransform.h: Make the ABI-stability hack
7119         greppable by using GST_PADDING-1+1.
7120
7121 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
7122
7123         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7124
7125         * gst/gstmessage.c: (gst_message_parse_clock_lost):
7126           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
7127
7128         * gst/gstpadtemplate.h:
7129         * gst/gstpluginfeature.h:
7130           Don't use c++ style comments in headers (#321638).
7131
7132 2005-11-16  Andy Wingo  <wingo@pobox.com>
7133
7134         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
7135         buffer.
7136
7137         * check/net/gstnettimeprovider.c: Check to see that the time
7138         provider actually provides times. Works, yo!
7139
7140 2005-11-16  Wim Taymans  <wim@fluendo.com>
7141
7142         * check/Makefile.am:
7143         Enable more tests.
7144
7145         * check/elements/fakesrc.c: (GST_START_TEST):
7146         Set element to NULL before disposing it.
7147
7148 2005-11-16  Andy Wingo  <wingo@pobox.com>
7149
7150         * gst/net/Makefile.am:
7151         * gst/net/gstnet.h:
7152         * gst/net/gstnettimeprovider.c: 
7153         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
7154         provider, include it from gstnet.h, and add it to the build.
7155
7156         * gst/net/gstnettimepacket.h: 
7157         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
7158         sending and receiving.
7159
7160 2005-11-16  Wim Taymans  <wim@fluendo.com>
7161
7162         * check/Makefile.am:
7163         Enable valgrind check.
7164
7165         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
7166         (gst_fake_src_alloc_buffer):
7167         Fix memleak.
7168
7169 2005-11-16  Wim Taymans  <wim@fluendo.com>
7170
7171         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
7172         Call parent finalize too.
7173
7174 2005-11-16  Wim Taymans  <wim@fluendo.com>
7175
7176         * check/Makefile.am:
7177         Enable valgrind check that should work fine now.
7178
7179         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7180         * gst/gstqueue.c: (gst_queue_init):
7181         Fix memleaks in pad allocation.
7182
7183 2005-11-16  Andy Wingo  <wingo@pobox.com>
7184
7185         * gst/net/Makefile.am:
7186         * gst/net/gstnet.h: New part of core to hold network elements and
7187         objects. Put in core because it exposes API that applications want
7188         to use. The library is named libgstnet-tempname right now because
7189         of the existing libgstnet in gst-plugins-base. Solution is
7190         probably to rename the one in plugins-base; will file a bug for
7191         the freeze break.
7192
7193         * gst/net/gstnettimeprovider.c: 
7194         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
7195         get_time call over the network.
7196
7197         * configure.ac: 
7198         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
7199
7200         * check/Makefile.am:
7201         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
7202         get additions shortly.
7203
7204 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7205
7206         * gst/gstpad.c: (gst_pad_new_from_static_template):
7207         * gst/gstpad.h:
7208           add gst_pad_new_from_static_template functions
7209         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
7210         (gst_check_setup_sink_pad):
7211         * gst/elements/gsttee.c: (gst_tee_init):
7212           and use them
7213
7214 2005-11-16  Wim Taymans  <wim@fluendo.com>
7215
7216         * gst/gstpad.c: (gst_pad_pause_task):
7217         Removed warning, it's not really an error either.
7218
7219 2005-11-16  Wim Taymans  <wim@fluendo.com>
7220
7221         * gst/base/gstbasetransform.c:
7222         (gst_base_transform_prepare_output_buf),
7223         (gst_base_transform_event):
7224         Check if the caps are NULL, this can happen if the element
7225         is shutting down and the pad caps are set to NULL.
7226
7227 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7228
7229         * gst/elements/gsttee.c: (gst_tee_init):
7230           fix pad template leak in tee
7231
7232 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7233
7234         * gst/glib-compat.c: (g_value_dup_gst_object):
7235         * gst/glib-compat.h:
7236         * gst/gstpad.c: (gst_pad_set_property):
7237           use gst_object_ref when setting the pad template; this will
7238           trigger the pad template leaks on GLib 2.6 and the slaves
7239
7240 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7241
7242         * gst/glib-compat.c: (gst_flags_get_first_value):
7243         * gst/glib-compat.h:
7244         * gst/gstregistryxml.c:
7245           remove functions copied from GLib 2.6
7246
7247 2005-11-16  Michael Smith <msmith@fluendo.com>
7248
7249         * gst/Makefile.am:
7250           Don't link against VALGRIND_LIBS. That was always the wrong thing to
7251           do, but only breaks with newer valgrind versions. We're not a
7252           valgrind tool, we have no link-time dependencies on libcoregrind.
7253
7254 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7255
7256         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7257           some debug changes
7258         * gst/gstmessage.h:
7259           typo fixes
7260
7261 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7262
7263         * gst/base/gstbasesrc.c: (gst_base_src_init):
7264         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7265         * gst/gstqueue.c: (gst_queue_init):
7266         * gst/gstregistryxml.c: (load_feature):
7267           Revert all these unrefs, they don't even pass make check !
7268
7269 2005-11-15  Johan Dahlin  <johan@gnome.org>
7270
7271         * gst/base/gstbasesrc.c: (gst_base_src_init):
7272         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7273         * gst/gstqueue.c: (gst_queue_init): 
7274         Free pad templates, fixes a couple of leaks.
7275
7276 2005-11-15  Daniel Fischer  <dan at f3c dot com>
7277
7278         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7279
7280         * gst/gstpad.c: (gst_pad_get_property):
7281           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7282           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7283           (#321452)
7284
7285 2005-11-15  Wim Taymans  <wim@fluendo.com>
7286
7287         * gst/gstevent.c:
7288         Small doc update.
7289
7290 2005-11-15  Andy Wingo  <wingo@pobox.com>
7291
7292         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7293
7294         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7295         using GST_CLOCK_TIME_NONE to disable base time management.
7296         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7297         time if it was NONE before.
7298         (gst_pipeline_change_state): Only munge the base time if
7299         stream_time != GST_CLOCK_TIME_NONE.
7300
7301         * check/gst/gstpipeline.c (test_base_time): Punt around the
7302         problem of the probe not being called, because that's not the
7303         issue I'm looking at. Add a check that setting stream_time to NONE
7304         disables base time management.
7305         
7306 2005-11-15  Wim Taymans  <wim@fluendo.com>
7307
7308         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7309         segment_stop == -1 at startup.
7310
7311         * gst/base/gstbasetransform.c: (gst_base_transform_event),
7312         (gst_base_transform_change_state):
7313         Init segment values at start.
7314
7315 2005-11-15  Wim Taymans  <wim@fluendo.com>
7316
7317         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7318         0 segment values are 0 in any format.
7319
7320         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7321         * gst/base/gstbasetransform.h:
7322         Parse newsegment correctly in basetransform
7323
7324         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7325         Sync to clock using updated segment values.
7326
7327 2005-11-15  Andy Wingo  <wingo@pobox.com>
7328
7329         * check/gst/gstpipeline.c (test_base_time): Add check that the
7330         base time and stream time are reset correctly.
7331
7332 2005-11-15  Wim Taymans  <wim@fluendo.com>
7333
7334         * docs/design/part-TODO.txt:
7335         Some more TODO items.
7336
7337 2005-11-15  Andy Wingo  <wingo@pobox.com>
7338
7339         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7340         error if the user selected "no clock" as the clocking method.
7341
7342         * check/gst/gstpipeline.c (test_base_time): New test for buffer
7343         timestamps with live capture.
7344
7345         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7346         is 0 but we are a live source, timestamp the buffers using the
7347         element's clock.
7348
7349 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
7350
7351         * docs/gst/gstreamer-sections.txt:
7352         * gst/gsterror.c:
7353         * gst/gstghostpad.c:
7354         * gst/gstobject.h:
7355         * gst/gstxml.c:
7356           more section docs
7357
7358 2005-11-14  Wim Taymans  <wim@fluendo.com>
7359
7360         * common/gst.supp:
7361           add suppressions from Wim's Debian machine
7362
7363 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7364
7365         * common/gst.supp:
7366           add suppressions from Andy's AMD64 Ubuntu machine
7367
7368 2005-11-14  Andy Wingo  <wingo@pobox.com>
7369
7370         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7371         STATE_LOCK not necessary. Fixes #311489.
7372
7373         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7374         #305291.
7375
7376         * gst/gstindex.c (gst_index_add_object): Note in the docs that
7377         this function is not implemented.
7378
7379 2005-11-14  Julien MOUTTE  <julien@moutte.net>
7380
7381         * gst/base/gstbasetransform.c:
7382         (gst_base_transform_prepare_output_buf):
7383         Ref the source pad caps while we need them.
7384         Fixes (#321386)
7385
7386 2005-11-11  Wim Taymans  <wim@fluendo.com>
7387
7388         * docs/gst/gstreamer-sections.txt:
7389         Added some docs for GstCollectData.
7390
7391         * gst/base/gstadapter.c:
7392         Some small code example fix.
7393
7394         * gst/base/gstcollectpads.c:
7395         * gst/base/gstcollectpads.h:
7396         Document some more.
7397
7398 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7399
7400         * configure.ac: back to HEAD
7401
7402 === release 0.9.5 ===
7403
7404 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
7405
7406         * configure.ac:
7407           releasing 0.9.5, "Bike Lunch Day"
7408
7409 2005-11-11  Wim Taymans  <wim@fluendo.com>
7410
7411         * gst/gstbuffer.c: (_gst_buffer_copy):
7412         Copy more flags.
7413
7414         * gst/gstcaps.c: (gst_caps_is_equal):
7415         Fix some docs.
7416         Make _is_equal fast in the trivial cases.
7417
7418         * gst/gstminiobject.c:
7419         * gst/gstminiobject.h:
7420         More docs. Spifify .h file.
7421
7422         * gst/gstutils.c:
7423         Small doc update.
7424
7425 2005-11-11  Wim Taymans  <wim@fluendo.com>
7426
7427         * gst/base/gstbasetransform.c:
7428         (gst_base_transform_prepare_output_buf),
7429         (gst_base_transform_handle_buffer):
7430         Small cleanups.
7431         If we're processing a buffer and need to allocate an output
7432         buffer, we cannot accept a format change. If we did get a 
7433         format change, we have to alloc a buffer ourselves of the 
7434         right size.
7435
7436 2005-11-11  Wim Taymans  <wim@fluendo.com>
7437
7438         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7439         While checking the flag for reentrancy in the gstcaps function
7440         is nice to detect recursive invocations, it also makes it 
7441         impossible to call getcaps from multiple threads, which must be
7442         possible. So, checking for recursive calls has to go.
7443
7444 2005-11-11  Michael Smith <msmith@fluendo.com>
7445
7446         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7447           Don't sync on buffers that fall partially outside our current
7448           segment. Prevents an assertion failure/abort playing some files.
7449
7450 2005-11-10  Andy Wingo  <wingo@pobox.com>
7451
7452         * check/gst/gstbin.c (test_message_state_changed_children): Style
7453         fix..
7454
7455         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7456         gst_bus_poll with the signal watch. Ensures that poll and a signal
7457         watch see the same messages.
7458
7459         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7460         a poll and a watch at the same time get the same messages.
7461
7462 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7463
7464         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7465         * gst/gstcaps.c: (gst_caps_intersect):
7466           Don't call gst_caps_do_simplify - it doesn't respect order of caps
7467           and it's not needed.
7468
7469 2005-11-10  Wim Taymans  <wim@fluendo.com>
7470
7471         * docs/design/part-TODO.txt:
7472         Updated todo.
7473
7474 2005-11-10  Wim Taymans  <wim@fluendo.com>
7475
7476         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7477         * gst/base/gstbasesrc.c: (gst_base_src_wait),
7478         (gst_base_src_do_sync), (gst_base_src_get_range):
7479         Implement clock sync in base class.
7480
7481 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7482
7483         patch by: Tim-Philipp Müller <tim at centricular dot net>
7484
7485         * gst/gststructure.c: (gst_structure_parse_field),
7486         (gst_structure_from_string):
7487           Forward-port a 0.8 patch to handle escaped spaces in structure string,
7488           so that gst_parse_launch() can deal with spaces in filtered link
7489           caps (fixes #164479)
7490         * check/gst/capslist.h:
7491         * check/gst/gststructure.c: (GST_START_TEST):
7492           add unit tests for this change
7493
7494 2005-11-10  Wim Taymans  <wim@fluendo.com>
7495
7496         * docs/gst/gstreamer-sections.txt:
7497         * gst/gstelement.c:
7498         * gst/gstelement.h:
7499         Fix docs, move some STATE macros to private.
7500
7501 2005-11-10  Wim Taymans  <wim@fluendo.com>
7502
7503         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7504         Added check for bug #317341
7505
7506         * gst/gstbuffer.c:
7507         * gst/gstbuffer.h:
7508         Some more spiffifying.
7509
7510         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7511         Call peer linkfunction if we are a source pad. Totally fixes
7512         #317341
7513
7514         * gst/gstpad.c:
7515         Update docs, source pads should call the peer linkfunction
7516         so they can atomically perform the pad link.
7517
7518 2005-11-09  Wim Taymans  <wim@fluendo.com>
7519
7520         * gst/gstbuffer.c:
7521         * gst/gstbuffer.h:
7522         Uber-spiffy-spiffify some more.
7523
7524 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
7525
7526         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7527         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7528         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7529         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7530         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7531         * gst/gstpad.c: (gst_pad_init):
7532           Use GST_DEBUG_FUNCPTR() more extensively.
7533
7534 2005-11-09  Wim Taymans  <wim@fluendo.com>
7535
7536         * gst/gstobject.c: (gst_object_class_init):
7537         * gst/gstobject.h:
7538         Documentation fixes.
7539
7540 2005-11-09  Edward Hervey  <edward@fluendo.com>
7541
7542         * gst/gsttypefindfactory.c:
7543         Fix docs.
7544         
7545 2005-11-09  Edward Hervey  <edward@fluendo.com>
7546
7547         * gst/base/gsttypefindhelper.c:
7548         * gst/gsttypefind.c:
7549         * gst/gsttypefind.h:
7550         Fix docs.
7551
7552 2005-11-09  Wim Taymans  <wim@fluendo.com>
7553
7554         * gst/gstiterator.c:
7555         Fix revision data.
7556
7557         * gst/gsttask.c:
7558         * gst/gsttask.h:
7559         Fix docs.
7560
7561 2005-11-09  Wim Taymans  <wim@fluendo.com>
7562
7563         * gst/gstevent.h:
7564         * gst/gsturi.h:
7565         Fix docs.
7566
7567 2005-11-09  Wim Taymans  <wim@fluendo.com>
7568
7569         * docs/gst/gstreamer-sections.txt:
7570         Moved the message async delivery private lock and cond
7571         to the private section.
7572
7573         * gst/gstmessage.c:
7574         * gst/gstmessage.h:
7575         Fixed docs.
7576
7577 2005-11-09  Edward Hervey  <edward@fluendo.com>
7578
7579         * docs/gst/gstreamer-sections.txt:
7580         * gst/gsturi.c:
7581         * gst/gsturi.h:
7582         Document GstURIHandler
7583
7584 2005-11-09  Wim Taymans  <wim@fluendo.com>
7585
7586         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7587         (gst_iterator_find_custom):
7588         * gst/gstiterator.h:
7589         Fix iterator docs.
7590
7591 2005-11-09  Wim Taymans  <wim@fluendo.com>
7592
7593         * gst/gstbin.h:
7594         Document another field.
7595
7596         * gst/gststructure.c:
7597         * gst/gststructure.h:
7598         Document.
7599
7600 2005-11-09  Wim Taymans  <wim@fluendo.com>
7601
7602         * gst/gstbin.h:
7603         Documented structs.
7604
7605 2005-11-09  Wim Taymans  <wim@fluendo.com>
7606
7607         * docs/gst/gstreamer-sections.txt:
7608         Added some new macros.
7609
7610         * gst/gstclock.c:
7611         * gst/gstclock.h:
7612         * gst/gstobject.h:
7613         Docs updates.
7614
7615 2005-11-09  Wim Taymans  <wim@fluendo.com>
7616
7617         * docs/design/part-TODO.txt:
7618         Some more items for the TODO
7619
7620         * gst/gstcaps.c:
7621         * gst/gstcaps.h:
7622         Document GstCaps.
7623
7624 2005-11-09  Andy Wingo  <wingo@pobox.com>
7625
7626         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7627         to work on something else now tho...
7628
7629         * gst/base/gstadapter.c: More adapter docs.
7630
7631         * gst/elements/gstfilesink.c (gst_file_sink_start) 
7632         (gst_file_sink_stop): New functions, replace the state change
7633         handler.
7634         (gst_file_sink_class_init): Hook up the start and stop functions.
7635         (gst_file_sink_base_init): Don't set the state change handler any
7636         more. It was a bit ugly too, being set from here...
7637         (gst_file_sink_get_property, gst_file_sink_set_property):
7638         Cleanups...
7639         (gst_file_sink_set_location): More robust check that doesn't call
7640         GST_STATE. Ugggggg.
7641
7642 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7643
7644         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7645           Hold STREAM_LOCK while pushing newsegment or tag events as well.
7646
7647 2005-11-08  Wim Taymans  <wim@fluendo.com>
7648
7649         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7650         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7651         (gst_base_sink_chain), (gst_base_sink_change_state):
7652         * gst/base/gstbasesink.h:
7653         * gst/base/gstbasesrc.h:
7654         * gst/gstelement.h:
7655         * gst/gstevent.h:
7656         Avoid excessive typechecking in macros.
7657
7658         * gst/gstminiobject.c: (gst_mini_object_get_type),
7659         (gst_mini_object_init), (gst_mini_object_new),
7660         (gst_mini_object_free):
7661         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7662         (gst_object_finalize):
7663         Remove cruft code, optimize alloc_trace.
7664
7665 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7666
7667         * docs/faq/gst-uninstalled:
7668           fix up PS1 for systems that try to reset it
7669
7670 2005-11-07  Wim Taymans  <wim@fluendo.com>
7671
7672         * gst/base/gstbasesrc.c: (gst_base_src_init),
7673         (gst_base_src_get_range):
7674         Set the segment_end to -1 initially. Fixed typefind.
7675
7676 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7677
7678         * gst/base/gstadapter.c:
7679           Debug category should be 'adapter', not 'GstAdapter'.
7680           
7681         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7682         (gst_collectpads_class_init), (gst_collectpads_init),
7683         (gst_collectpads_peek), (gst_collectpads_pop),
7684         (gst_collectpads_event), (gst_collectpads_chain):
7685           Add debug category and some debugging output. Use boilerplate
7686           macros. Remove some extraneous words from docs.
7687
7688 2005-11-05  Andy Wingo  <wingo@pobox.com>
7689
7690         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7691         macro.
7692
7693 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7694
7695         * docs/gst/gstreamer-sections.txt:
7696         * gst/gstcaps.h:
7697         * gst/gstinfo.c:
7698         * gst/gstminiobject.h:
7699         * gst/gstobject.h:
7700         * gst/gstutils.h:
7701           more docs added
7702
7703 2005-11-04  Wim Taymans  <wim@fluendo.com>
7704
7705         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7706         Small update to stop at the configured segment_end
7707         position.
7708
7709 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7710
7711         * gst/gstregistry.c:
7712         * gst/gstregistry.h:
7713           added missing docs
7714
7715 2005-11-04  Edward Hervey  <edward@fluendo.com>
7716
7717         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7718         Check if we are doing a segment seek and have arrived at the
7719         end of that segment.
7720
7721 2005-11-04  Wim Taymans  <wim@fluendo.com>
7722
7723         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7724         Don't leak a mutex unlock in case of an error.
7725
7726         * gst/gstbus.h:
7727         Doc fixes.
7728
7729 2005-11-04  Wim Taymans  <wim@fluendo.com>
7730
7731         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7732         (gst_bus_post):
7733         Get the context to wake up only once.
7734
7735 2005-11-03  Wim Taymans  <wim@fluendo.com>
7736
7737         * check/states/sinks.c: (GST_START_TEST):
7738         Uncomment fixed check.
7739
7740         * docs/design/part-TODO.txt:
7741         Updated TODO.
7742
7743         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7744         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7745         (gst_base_sink_get_position):
7746         If we are going to PLAYING, post the right pending state
7747         when we post the intermediate paused message.
7748
7749         * gst/gstelement.c: (gst_element_continue_state),
7750         (gst_element_set_state_func), (gst_element_change_state):
7751         Don't post state changes that were between the same state
7752         and were not ASYNC.
7753
7754 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7755
7756         * docs/gst/gstreamer-sections.txt:
7757         * gst/gstcaps.h:
7758         * gst/gstinfo.c:
7759         * gst/gstminiobject.h:
7760         * gst/gstobject.h:
7761         * gst/gstutils.h:
7762           more docs and doc style fixes
7763
7764 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7765
7766         * docs/gst/gstreamer-sections.txt:
7767         * gst/gstelement.c:
7768         * gst/gstminiobject.c:
7769         doc fixes
7770
7771 2005-11-03  Andy Wingo  <wingo@pobox.com>
7772
7773         * check/states/sinks.c (test_livesrc_sink): Add checks that the
7774         state-changed messages actually have the right order and the right
7775         values.
7776
7777 2005-11-03  Wim Taymans  <wim@fluendo.com>
7778
7779         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7780         Added some more checks. Specifically the case where NO_PREROLL
7781         elements are in the pipeline.
7782
7783         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7784         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7785         (gst_base_sink_get_position):
7786         Post READY->PAUSED state change messages too.
7787         Fix bug where VOID was posted as pending state...
7788
7789         * gst/gstbin.c: (gst_bin_recalc_state):
7790         use _element_continue_state() to continue the state change.
7791
7792         * gst/gstelement.c: (gst_element_continue_state),
7793         (gst_element_commit_state), (gst_element_set_state_func),
7794         (gst_element_change_state), (gst_element_change_state_func):
7795         Lots of state change cleanups, assign the STATE_RETURN in
7796         a new continue_state() function that also propagates the
7797         last return value from a state change to the app.
7798         Update some debug statements with proper category.
7799
7800 2005-11-03  Wim Taymans  <wim@fluendo.com>
7801
7802         * docs/design/part-events.txt:
7803         * docs/design/part-gstpipeline.txt:
7804         * docs/design/part-messages.txt:
7805         * docs/design/part-overview.txt:
7806         * docs/design/part-seeking.txt:
7807         * docs/design/part-states.txt:
7808         * docs/design/part-trickmodes.txt:
7809         * docs/manual/advanced-position.xml:
7810         Small docs updates.
7811
7812         * gst/gstobject.h:
7813         People think !! is ugly, this looks better.
7814
7815         * gst/gstpad.c: (gst_pad_set_blocked_async):
7816         Remove !! since it's fixed elsewhere now.
7817
7818 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7819
7820         * gst/gstminiobject.h:
7821         * gst/gstobject.h:
7822           Add !! to _FLAG_IS_SET macros to make the result boolean.
7823
7824 2005-11-03  Edward Hervey  <edward@fluendo.com>
7825
7826         * gst/gstpad.c: (gst_pad_set_blocked_async):
7827         comparing a flag and a gboolean rarely returns coherent results...
7828         Added two characters (!!) to make that work correctly.
7829         
7830 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7831
7832         * gst/gstbus.c: (gst_bus_class_init):
7833           Fix some typos.
7834           
7835         * gst/gstqueue.c: (gst_queue_loop):
7836           Don't assume a miniobject that isn't a buffer is an
7837           event (it could be that there is a refcounting
7838           problem somewhere and the pointer is stale and
7839           refers to an already destroyed miniobject).
7840
7841 2005-11-03  Julien MOUTTE  <julien@moutte.net>
7842
7843         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
7844
7845 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7846
7847         * docs/manual/advanced-position.xml:
7848           Update seek example and explanations to current 0.9 API.
7849
7850         * gst/elements/gsttypefindelement.c:
7851         (gst_type_find_element_activate):
7852           Remove FIXME comment now that the found caps
7853           are unreffed.
7854
7855 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7856
7857         * gst/gstregistryxml.c: (load_feature):
7858           Add another GST_STR_NULL instance
7859
7860 2005-11-02  Edward Hervey  <edward@fluendo.com>
7861
7862         * gst/gstpad.c: (handle_pad_block):
7863         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
7864         
7865 2005-11-02  Wim Taymans  <wim@fluendo.com>
7866
7867         * gst/gstbin.c:
7868         Fix typo in docs.
7869
7870         * gst/gstelement.c: (gst_element_commit_state):
7871         Remove unused value.
7872
7873         * gst/gstiterator.c:
7874         Mention that the returned element is reffed in the docs.
7875
7876 2005-11-02  Wim Taymans  <wim@fluendo.com>
7877
7878         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
7879         (gst_pad_push), (gst_pad_push_event):
7880         Unlock blocked pads when they are flushed.
7881
7882 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7883
7884         * docs/README:
7885         * docs/gst/gstreamer-sections.txt:
7886         * gst/gstbin.c:
7887           doc updates
7888         * gst/gstregistry.c: (gst_registry_scan_path_level):
7889           fix for a nasty little missed situation where an installed plug-in
7890           which was in the cache did not get overridden by an uninstalled one
7891           which was earlier in the plugin path because the newly created plugin
7892           for the uninstalled one (not in the registry) didn't get its
7893           ->registered set to TRUE
7894
7895 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7896
7897         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
7898         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
7899         (gst_collectpads_is_active), (gst_collectpads_collect),
7900         (gst_collectpads_collect_range), (gst_collectpads_start),
7901         (gst_collectpads_stop), (gst_collectpads_peek),
7902         (gst_collectpads_pop), (gst_collectpads_available),
7903         (gst_collectpads_read), (gst_collectpads_flush):
7904           Guard public API with assertions.
7905         
7906         * gst/gstpad.c:
7907           Fix docs for gst_pad_set_link_function().
7908
7909 2005-11-02  Johan Dahlin  <johan@gnome.org>
7910
7911         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
7912         Unref found_caps after we used it.
7913
7914 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7915
7916         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
7917           Don't try to ref NULL.
7918
7919 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7920
7921         * win32/common/config.h.in:
7922           provide a GST_FUNCTION that just gives a string for now
7923
7924 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7925
7926         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7927         (gst_object_flags_get_type), (register_gst_bin_flags),
7928         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7929         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7930         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7931         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
7932         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7933         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7934         (gst_clock_flags_get_type), (register_gst_state),
7935         (gst_state_get_type), (register_gst_state_change_return),
7936         (gst_state_change_return_get_type), (register_gst_state_change),
7937         (gst_state_change_get_type), (register_gst_element_flags),
7938         (gst_element_flags_get_type), (register_gst_core_error),
7939         (gst_core_error_get_type), (register_gst_library_error),
7940         (gst_library_error_get_type), (register_gst_resource_error),
7941         (gst_resource_error_get_type), (register_gst_stream_error),
7942         (gst_stream_error_get_type), (register_gst_event_type),
7943         (gst_event_type_get_type), (register_gst_seek_type),
7944         (gst_seek_type_get_type), (register_gst_seek_flags),
7945         (gst_seek_flags_get_type), (register_gst_format),
7946         (gst_format_get_type), (register_gst_index_certainty),
7947         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7948         (gst_index_entry_type_get_type),
7949         (register_gst_index_lookup_method),
7950         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7951         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7952         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7953         (gst_index_flags_get_type), (register_gst_debug_level),
7954         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7955         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7956         (gst_iterator_result_get_type), (register_gst_iterator_item),
7957         (gst_iterator_item_get_type), (register_gst_message_type),
7958         (gst_message_type_get_type), (register_gst_mini_object_flags),
7959         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7960         (gst_pad_link_return_get_type), (register_gst_flow_return),
7961         (gst_flow_return_get_type), (register_gst_activate_mode),
7962         (gst_activate_mode_get_type), (register_gst_pad_direction),
7963         (gst_pad_direction_get_type), (register_gst_pad_flags),
7964         (gst_pad_flags_get_type), (register_gst_pad_presence),
7965         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7966         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7967         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7968         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7969         (gst_plugin_flags_get_type), (register_gst_rank),
7970         (gst_rank_get_type), (register_gst_query_type),
7971         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7972         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7973         (gst_tag_flag_get_type), (register_gst_task_state),
7974         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7975         (gst_alloc_trace_flags_get_type),
7976         (register_gst_type_find_probability),
7977         (gst_type_find_probability_get_type), (register_gst_uri_type),
7978         (gst_uri_type_get_type), (register_gst_parse_error),
7979         (gst_parse_error_get_type):
7980         * win32/common/gstversion.h:
7981           update win32 copies
7982
7983 2005-11-01  Luca Ognibene  <luogni@tin.it>
7984
7985         * gst/gst.c:
7986           fix docs. popt is dead, long live GOption.
7987
7988 2005-10-31  Wim Taymans  <wim@fluendo.com>
7989
7990         * gst/gstbuffer.h:
7991         Small doc fix.
7992
7993 2005-10-31  Andy Wingo  <wingo@pobox.com>
7994
7995         * Boo!
7996
7997         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
7998
7999         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
8000         need to serialize property notifications on GLib 2.8. GLib 2.6 has
8001         the possibility of deadlocks here if code calling notify() or
8002         set() has a lock that can be taken in another notify handler (ABBA
8003         with class lock and e.g. python GIL state lock).
8004
8005 2005-10-28  Julien MOUTTE  <julien@moutte.net>
8006
8007         * gst/gstbus.c: Doc updates.
8008
8009 2005-10-28  Wim Taymans  <wim@fluendo.com>
8010
8011         * docs/design/part-TODO.txt:
8012         * gst/gstiterator.c:
8013         * gst/gstsystemclock.c:
8014         * gst/gstsystemclock.h:
8015         Doc updates.
8016
8017 2005-10-28  Edward Hervey  <edward@fluendo.com>
8018
8019         * docs/gst/gstreamer-docs.sgml:
8020         * docs/gst/gstreamer-sections.txt:
8021         the GstURIType documentation page is private, it only defines GstURIType
8022         which should be defined in the GstURIHandler page
8023         
8024 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8025
8026         * gst/gstbin.c: (gst_bin_class_init):
8027         * gst/gstbin.h:
8028         * gst/gstutils.c:
8029         Documentation updates.
8030
8031 2005-10-28  Wim Taymans  <wim@fluendo.com>
8032
8033         * docs/gst/gstreamer-sections.txt:
8034         * gst/gstclock.c:
8035         * gst/gstclock.h:
8036         Documented the clocks.
8037
8038 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
8039
8040         * docs/gst/gstreamer-sections.txt:
8041           move some macros to private sections
8042         * gst/gstminiobject.c:
8043         * gst/gstminiobject.h:
8044           add descriptions provided by ds and some more
8045         * gst/gstpad.h:
8046           mark macro as to be removed
8047
8048 2005-10-28  Wim Taymans  <wim@fluendo.com>
8049
8050         * docs/design/part-TODO.txt:
8051         Add an item to TODO.
8052
8053         * gst/gstiterator.c: (gst_iterator_fold),
8054         (gst_iterator_find_custom):
8055         * gst/gstiterator.h:
8056         Add iterator docs.
8057
8058 2005-10-28  Wim Taymans  <wim@fluendo.com>
8059
8060         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8061         (gst_base_transform_init):
8062         Don't leak class.
8063
8064         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
8065         An EOS event marks the queue as completely filled.
8066
8067 2005-10-27  Wim Taymans  <wim@fluendo.com>
8068
8069         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8070         (gst_base_sink_do_sync), (gst_base_sink_get_position):
8071         Some more debugging.
8072
8073         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
8074         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
8075         (gst_base_transform_event), (gst_base_transform_getrange),
8076         (gst_base_transform_chain):
8077         * gst/base/gstbasetransform.h:
8078         Fix debugging,
8079         Protect transform and concurrent buffer alloc with a new lock.
8080         Try not to break ABI/API.
8081
8082 2005-10-27  Wim Taymans  <wim@fluendo.com>
8083
8084         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8085         (gst_base_src_init), (gst_base_src_query),
8086         (gst_base_src_default_newsegment),
8087         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8088         (gst_base_src_send_event), (gst_base_src_event_handler),
8089         (gst_base_src_pad_get_range), (gst_base_src_loop),
8090         (gst_base_src_unlock), (gst_base_src_default_negotiate),
8091         (gst_base_src_start), (gst_base_src_deactivate),
8092         (gst_base_src_activate_push), (gst_base_src_change_state):
8093         Move some stuff around and cleanup things.
8094
8095 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
8096
8097         * gst/base/gstbasesrc.c: (gst_base_src_query):
8098           Add missing break statements.
8099
8100 2005-10-27  Wim Taymans  <wim@fluendo.com>
8101
8102         * check/gst/gstbin.c: (GST_START_TEST):
8103         An extra refcount is taken in basesrc.
8104
8105         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8106         (gst_base_src_get_range), (gst_base_src_pad_get_range),
8107         (gst_base_src_loop):
8108         Small cleanups, check for flushing after being unlocked from the 
8109         LIVE_LOCK. take refcounts correctly (not yet everywhere).
8110         Don't send out EOS when going to READY.
8111
8112 2005-10-27  Wim Taymans  <wim@fluendo.com>
8113
8114         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8115         (gst_base_sink_get_position):
8116         Some more debug.
8117
8118         * gst/gstbin.c: (message_check), (bin_replace_message),
8119         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8120         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8121         (bin_query_duration_init), (bin_query_duration_fold),
8122         (bin_query_duration_done), (bin_query_generic_fold),
8123         (gst_bin_query):
8124         * tools/gst-launch.c: (main):
8125         Remove old option.
8126
8127 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
8128
8129         * examples/controller/audio-example.c: (main):
8130         * examples/queue/queue.c: (event_loop):
8131         * gst/base/gstbasetransform.h:
8132         * gst/gstelement.c: (gst_element_send_event):
8133         * gst/gstevent.h:
8134         * gst/gstpad.c: (gst_pad_send_event):
8135           fixing examples
8136           fixing docs typos
8137           changing log priority in error situations
8138
8139 2005-10-25  Wim Taymans  <wim@fluendo.com>
8140
8141         * gst/gstbin.c: (message_check), (bin_replace_message),
8142         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8143         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8144         (bin_query_duration_init), (bin_query_duration_fold),
8145         (bin_query_duration_done), (bin_query_generic_fold),
8146         (gst_bin_query):
8147         Some doc and debug updates.
8148         Cache previously requested query DURATION for speed. invalidate
8149         cached duration if element posts a DURATION message.
8150
8151 2005-10-25  Wim Taymans  <wim@fluendo.com>
8152
8153         * docs/design/part-TODO.txt:
8154         Update TODO.
8155
8156         * gst/gstbin.c: (message_check), (bin_replace_message),
8157         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8158         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8159         (bin_query_duration_init), (bin_query_duration_fold),
8160         (bin_query_duration_done), (bin_query_generic_fold),
8161         (gst_bin_query):
8162         Handle SEGMENT_START/DONE messages correctly.
8163         More evolved query algorithm that handles duration queries
8164         correctly.
8165
8166         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
8167         (gst_element_get_state_func), (gst_element_abort_state),
8168         (gst_element_commit_state), (gst_element_lost_state):
8169         Some more debugging.
8170
8171         * gst/gstmessage.h:
8172         Added doc.
8173
8174 2005-10-25  Wim Taymans  <wim@fluendo.com>
8175
8176         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8177         Don't use invalid stream_time.
8178
8179         * gst/gstevent.c: (gst_event_new_newsegment):
8180         stream_time in newsegment cannot be undefined.
8181
8182 2005-10-24  Wim Taymans  <wim@fluendo.com>
8183
8184         * gst/gstbus.c:
8185         Doc fix.
8186
8187         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8188         (gst_queue_loop):
8189         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
8190
8191 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
8192
8193         * docs/libs/tmpl/gstdparam.sgml:
8194         * docs/libs/tmpl/gstdplinint.sgml:
8195         * docs/libs/tmpl/gstdpman.sgml:
8196         * docs/libs/tmpl/gstdpsmooth.sgml:
8197         * docs/libs/tmpl/gstunitconvert.sgml:
8198           these are obsolete
8199
8200 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8201
8202         * configure.ac:
8203           back to HEAD
8204
8205 === release 0.9.4 ===
8206
8207 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8208
8209         * configure.ac:
8210           releasing 0.9.4, "Tyrannosaurus Rex"
8211
8212 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
8213
8214         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8215         (gst_file_sink_get_current_offset):
8216           Use fseeko() and ftello() if available. When falling back on
8217           lseek() to get the current offset, fflush() first to make sure
8218           everything is up-to-date and we get the right offset.
8219
8220 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8221
8222         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8223         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8224         * gst/gsterror.c: (_gst_stream_errors_init):
8225         * gst/gsterror.h:
8226         * gst/gstqueue.c: (gst_queue_loop):
8227         * po/POTFILES.in:
8228           remove prematurely added error category and clean up the instances
8229
8230 2005-10-21  Wim Taymans  <wim@fluendo.com>
8231
8232         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8233         (gst_base_sink_get_position), (gst_base_sink_query),
8234         (gst_base_sink_change_state):
8235         Simply set the right flag when going to playing, that's all
8236         we need to do instead of calling a function inside the object
8237         lock (that could take the lock as well and deadlock)
8238
8239 2005-10-21  Wim Taymans  <wim@fluendo.com>
8240
8241         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8242         (gst_base_src_loop):
8243         Don't warn, the peer element knows what to do best when
8244         the seek failed, it might try something else.
8245
8246 2005-10-21  Wim Taymans  <wim@fluendo.com>
8247
8248         * gst/base/gstbasesrc.c: (gst_base_src_init),
8249         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8250         Fix seeking.
8251
8252 2005-10-21  Wim Taymans  <wim@fluendo.com>
8253
8254         * docs/design/part-segments.txt:
8255         More docs.
8256
8257         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8258         Correctly set caps, even on the subbufer.
8259
8260 2005-10-21  Wim Taymans  <wim@fluendo.com>
8261
8262         * docs/gst/gstreamer-docs.sgml:
8263         * docs/gst/gstreamer-sections.txt:
8264         * gst/gstelement.h:
8265         * gst/gstevent.c:
8266         * gst/gstevent.h:
8267         * gst/gstmessage.h:
8268         * gst/gstpad.h:
8269         * gst/gstparse.h:
8270         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8271         * gst/gsttask.h:
8272         * gst/gstutils.c:
8273         * gst/gstutils.h:
8274         And 2% more doc coverage.
8275
8276 2005-10-21  Andy Wingo  <wingo@pobox.com>
8277
8278         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8279         position reporting.
8280
8281 2005-10-20  Wim Taymans  <wim@fluendo.com>
8282
8283         * gst/gsterror.c: (gst_error_get_message):
8284         * gst/gstparse.h:
8285         * gst/gstquery.h:
8286         * gst/gststructure.c:
8287         * gst/gsttrace.c:
8288         * gst/gstutils.c:
8289         More docs.
8290
8291 2005-10-20  Wim Taymans  <wim@fluendo.com>
8292
8293         * gst/gstbuffer.h:
8294         * gst/gstpad.c:
8295         * gst/gstparse.c:
8296         Another 1% more coverage.
8297
8298 2005-10-20  Wim Taymans  <wim@fluendo.com>
8299
8300         * docs/gst/gstreamer-sections.txt:
8301         * gst/gstelement.c: (gst_element_get_state_func),
8302         (gst_element_abort_state), (gst_element_commit_state),
8303         (gst_element_lost_state):
8304         * gst/gstevent.h:
8305         * gst/gstquery.c: (gst_query_set_position),
8306         (gst_query_parse_position), (gst_query_set_duration),
8307         (gst_query_parse_duration), (gst_query_new_convert):
8308         * gst/gstutils.c:
8309         Yay! 1% more docs coverage.
8310
8311 2005-10-20  Wim Taymans  <wim@fluendo.com>
8312
8313         * gst/gstpad.h:
8314         * gst/gstquery.c: (gst_query_set_position),
8315         (gst_query_parse_position), (gst_query_set_duration),
8316         (gst_query_parse_duration), (gst_query_new_convert):
8317         * gst/gstquery.h:
8318         * gst/gstutils.c: (gst_element_query_convert):
8319         * gst/gstutils.h:
8320         Docs and consistency fixes.
8321
8322 2005-10-20  Wim Taymans  <wim@fluendo.com>
8323
8324         * gst/gsttask.c:
8325         * gst/gsttask.h:
8326         More docs.
8327
8328 2005-10-20  Wim Taymans  <wim@fluendo.com>
8329
8330         * gst/gstbin.c: (message_check), (bin_replace_message),
8331         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8332         (update_degree), (gst_bin_sort_iterator_next),
8333         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8334         Reworked the message handling a bit, cache the messages instead of
8335         only the senders. alows us to do more in the future.
8336
8337 2005-10-20  Wim Taymans  <wim@fluendo.com>
8338
8339         * docs/design/part-TODO.txt:
8340         Update TODO
8341
8342         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8343         (gst_base_sink_query):
8344         Don't use clock time to report position when in EOS.
8345
8346 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
8347
8348         * tools/gst-inspect.c: (print_interfaces),
8349         (print_element_properties_info), (print_element_info):
8350           Fix interface output with gst-inspect -a; don't print
8351           newlines after double/float properties.
8352
8353 2005-10-20  Wim Taymans  <wim@fluendo.com>
8354
8355         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8356         (gst_base_sink_query):
8357         Speed up current position calculation.
8358
8359         * gst/base/gstbasesrc.c: (gst_base_src_query),
8360         (gst_base_src_default_newsegment):
8361         Correctly set stream position in newsegment.
8362
8363         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8364         (update_degree), (gst_bin_sort_iterator_next),
8365         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8366         * gst/gstmessage.c: (gst_message_new_custom):
8367         Clean up debugging info
8368
8369         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8370         (gst_queue_loop), (gst_queue_handle_src_query):
8371         Pause task faster.
8372
8373 2005-10-19  Wim Taymans  <wim@fluendo.com>
8374
8375         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8376         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8377         Fix query handling again.
8378
8379 2005-10-19  Wim Taymans  <wim@fluendo.com>
8380
8381         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8382         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8383         * gst/base/gstbasesrc.c: (gst_base_src_query):
8384         * gst/elements/gstfilesink.c: (gst_file_sink_query):
8385         * gst/elements/gsttypefindelement.c:
8386         (gst_type_find_handle_src_query), (find_element_get_length),
8387         (gst_type_find_element_activate):
8388         API change fix.
8389
8390         * gst/gstquery.c: (gst_query_new_position),
8391         (gst_query_set_position), (gst_query_parse_position),
8392         (gst_query_new_duration), (gst_query_set_duration),
8393         (gst_query_parse_duration), (gst_query_set_segment),
8394         (gst_query_parse_segment):
8395         * gst/gstquery.h:
8396         Bundling query position/duration is not a good idea since duration
8397         does not change much and we don't want to recalculate it for every
8398         position query, so they are separated again..
8399         Base value in segment query is not needed.
8400
8401         * gst/gstqueue.c: (gst_queue_handle_src_query):
8402         * gst/gstutils.c: (gst_element_query_position),
8403         (gst_element_query_duration), (gst_pad_query_position),
8404         (gst_pad_query_duration):
8405         * gst/gstutils.h:
8406         Updates for query API change.
8407         Added some docs here and there.
8408
8409 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8410
8411         * check/gst/gstbin.c: (GST_START_TEST):
8412         * check/gst/gstghostpad.c: (GST_START_TEST):
8413         * check/pipelines/cleanup.c: (GST_START_TEST):
8414           wait on thread to die so we can check refcount correctly
8415
8416 2005-10-18  Wim Taymans  <wim@fluendo.com>
8417
8418         * check/pipelines/stress.c: (GST_START_TEST):
8419         Make check a little more time consuming.
8420
8421 2005-10-18  Wim Taymans  <wim@fluendo.com>
8422
8423         * check/Makefile.am:
8424         * check/pipelines/stress.c: (GST_START_TEST),
8425         (simple_launch_lines_suite), (main):
8426         Small state change torture test.
8427
8428         * docs/design/part-states.txt:
8429         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8430         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8431         (gst_base_sink_change_state):
8432         Never take state lock from streaming thread, clean up ugly
8433         hacks. Unfortunatly core does not yet support nice ways to
8434         async commit state.
8435         
8436         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8437         (bin_bus_handler):
8438         Start state recalc if a STATE_DIRTY message is posted, but only
8439         on the toplevel bin.
8440
8441         * gst/gstelement.c: (gst_element_sync_state_with_parent),
8442         (gst_element_get_state_func), (gst_element_abort_state),
8443         (gst_element_commit_state), (gst_element_lost_state),
8444         (gst_element_set_state_func), (gst_element_change_state):
8445         * gst/gstelement.h:
8446         State variables are now protected with the LOCK, the state
8447         lock is only used to serialize _set_state().
8448
8449 2005-10-18  Wim Taymans  <wim@fluendo.com>
8450
8451         * check/gst/gstbin.c: (GST_START_TEST):
8452         * check/gst/gstmessage.c: (GST_START_TEST):
8453         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8454         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8455         (bin_bus_handler):
8456         * gst/gstelement.c: (gst_element_abort_state),
8457         (gst_element_commit_state), (gst_element_lost_state):
8458         * gst/gstmessage.c: (gst_message_new_state_changed),
8459         (gst_message_new_state_dirty), (gst_message_new_segment_start),
8460         (gst_message_new_segment_done), (gst_message_new_duration),
8461         (gst_message_parse_state_changed),
8462         (gst_message_parse_segment_start),
8463         (gst_message_parse_segment_done), (gst_message_parse_duration):
8464         * gst/gstmessage.h:
8465         * tools/gst-launch.c: (event_loop):
8466         Seriously, this is better than a previous commit as we only need
8467         to notify the fact that an element changed state in a streaming
8468         thread, marking the state of the parents dirty, hence the 
8469         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8470         message.
8471
8472 2005-10-18  Wim Taymans  <wim@fluendo.com>
8473
8474         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8475         (gst_bin_recalc_func):
8476         * gst/gstelement.c: (gst_element_set_clock),
8477         (gst_element_abort_state), (gst_element_lost_state):
8478         Cleanups, prepare for state change fixes.
8479
8480 2005-10-18  Wim Taymans  <wim@fluendo.com>
8481
8482         * gst/gstbin.h:
8483         * gst/gstelement.c: (gst_element_class_init),
8484         (gst_element_set_state), (gst_element_set_state_func):
8485         * gst/gstelement.h:
8486         Pending ABI changes.
8487         GThreadPool in GstBinClass to monitor async state changes.
8488         state_cookie in GstElement to detect concurrent gst/set state.
8489         set_state is now virtual too in case a very complicated element
8490         has to be constructed.
8491
8492 2005-10-18  Wim Taymans  <wim@fluendo.com>
8493
8494         * check/gst/gstbin.c: (GST_START_TEST):
8495         * check/gst/gstmessage.c: (GST_START_TEST):
8496         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8497         * gst/gstbin.c: (bin_bus_handler):
8498         * gst/gstelement.c: (gst_element_commit_state),
8499         (gst_element_lost_state):
8500         * gst/gstmessage.c: (gst_message_new_state_changed),
8501         (gst_message_new_segment_start), (gst_message_new_segment_done),
8502         (gst_message_new_duration), (gst_message_parse_state_changed),
8503         (gst_message_parse_segment_start),
8504         (gst_message_parse_segment_done), (gst_message_parse_duration):
8505         * gst/gstmessage.h:
8506         * tools/gst-launch.c: (event_loop):
8507         Make messages future proof.
8508         state-change gets a flag if it was a message comming from the
8509         streaming thread.
8510         segment-start/stop can also be specified in other formats.
8511         A message to notify an app that a pipeline changed playback 
8512         duration.
8513         Also fix a GstMessage leak in -launch
8514
8515 2005-10-18  Andy Wingo  <wingo@pobox.com>
8516
8517         * gst/gstelement.c (gst_element_dispose): More helpful message.
8518
8519 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8520
8521         reviewed by: <delete if not using a buddy>
8522
8523         * common/gtk-doc.mak:
8524
8525 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8526
8527         * gst/gstregistry.c: (gst_registry_scan_path_level):
8528           unref a plug-in we get that was already initialized
8529
8530 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
8531
8532         * docs/gst/gstreamer-sections.txt:
8533         * docs/libs/gstreamer-libs-sections.txt:
8534         * gst/gstelement.h:
8535           add new api entries
8536           hide internal macro
8537
8538 2005-10-17  Andy Wingo  <wingo@pobox.com>
8539
8540         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8541         cleanup.
8542
8543         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8544
8545         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8546
8547         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8548         (gst_element_get_state_func): Better debug message.
8549         (gst_element_commit_state): s/INFO/DEBUG/.
8550         (gst_element_lost_state, gst_element_change_state): 
8551
8552         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8553         (gst_message_new_custom): s/INFO/LOG/.
8554
8555 2005-10-17  Michael Smith <msmith@fluendo.com>
8556
8557         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8558           Check if end time is valid using end time, not start time.
8559
8560 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
8561
8562         * check/gst-libs/controller.c: (GST_START_TEST),
8563         (gst_controller_suite):
8564         * libs/gst/controller/gstcontroller.c:
8565         (gst_controlled_property_set_interpolation_mode):
8566         * libs/gst/controller/gstcontroller.h:
8567         * libs/gst/controller/gstinterpolation.c:
8568         * testsuite/controller/.cvsignore:
8569         * testsuite/controller/Makefile.am:
8570         * testsuite/controller/interpolator.c:
8571           merge controller testsuites
8572           fix broken tests
8573           remove mem-chunk from docs
8574
8575 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8576
8577         * gst/gstmemchunk.c:
8578         * gst/gstmemchunk.h:
8579         * gst/gsttrashstack.c:
8580         * gst/gsttrashstack.h:
8581           out.  get out.  you're fired.  to the Attic !
8582
8583 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8584
8585         * gst/gstcaps.c: (gst_caps_intersect):
8586           fix signedness issues in a (hopefully) correct way
8587         * gst/gstelement.c: (gst_element_pads_activate):
8588           some debugging
8589         * gst/gstobject.c: (gst_object_set_parent):
8590           some debugging
8591
8592 2005-10-17  Julien MOUTTE  <julien@moutte.net>
8593
8594         * gst/gstvalue.h: Fix prototypes.
8595
8596 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8597
8598         * docs/gst/gstreamer-sections.txt:
8599         * gst/gst.c: (gst_version_string):
8600         * gst/gst.h:
8601         * gst/gstversion.h.in:
8602         * win32/common/libgstreamer.def:
8603           add gst_version_string ()
8604
8605 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8606
8607         * configure.ac:
8608           clean up further
8609         * gst/gst.c: (init_post):
8610         * win32/common/config.h.in:
8611           it's PLUGINDIR now
8612         * gst/gstcaps.c: (gst_caps_intersect):
8613           use gint64, the range could be bigger than a guint
8614
8615 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8616
8617         * gst/gstclock.h:
8618           document potential problem in 2038
8619
8620 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8621
8622         * gst/gstcaps.c: (gst_caps_intersect):
8623           Fix guint j diving under 0
8624
8625 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8626
8627         * configure.ac:
8628         * win32/common/config.h:
8629         * win32/common/config.h.in:
8630           check for process.h, declares getpid() on Windows
8631         * gst/gstinfo.c:
8632           include process.h if we have it
8633         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8634         * gst/gstmemchunk.h:
8635           fix signedness issues
8636         * win32/common/libgstreamer.def:
8637           fix get_type's
8638
8639 2005-10-16  Julien MOUTTE  <julien@moutte.net>
8640
8641         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8642         fix. Because of unsigned ints, caps intersection was going nuts and
8643         trying to access structures with G_MAXUINT index. That fixes
8644         videotestsrc ! ffmpegcolorspace ! fakesink
8645         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8646         consistency.
8647
8648 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8649
8650         * configure.ac:
8651           use the gettext macro
8652         * gst/elements/gstelements.c:
8653         * gst/gst.c:
8654         * gst/indexers/gstindexers.c:
8655           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8656         * win32/common/config.h:
8657           updated config.h
8658         * win32/common/config.h.in:
8659           add the template to generate config.h
8660         * win32/common/gstenumtypes.c:
8661         * win32/common/gstversion.h:
8662           updated copies
8663
8664 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8665
8666         * gst/gst.c: (gst_version):
8667         * gst/gstversion.h.in:
8668           add the nano
8669
8670 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8671
8672         * gst/gstevent.h:
8673           Oops, add missing closing bracket.
8674
8675 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8676
8677         * configure.ac:
8678           use common m4's for argument checking
8679
8680 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8681
8682         * docs/gst/gstreamer-sections.txt:
8683         * gst/gstevent.h:
8684           Add GST_EVENT_TYPE_NAME() macro.
8685
8686 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8687
8688         * gst/gstinfo.c:
8689         * gst/gstpluginfeature.c:
8690         * gst/gsttask.c:
8691           privatize more symbols
8692
8693 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8694
8695         * configure.ac:
8696           add srcdir, builddir includes to GST_ALL_CFLAGS, since
8697           everything that uses GStreamer API should have the includes
8698
8699 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8700
8701         * docs/gst/gstreamer-sections.txt:
8702         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8703         * gst/gstvalue.h:
8704           give each value a _get_type, removes the DATA exports
8705
8706 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8707
8708         * gst/gst.c:
8709         * gst/gst.h:
8710           remove _gst_registry_auto_load, not used anymore
8711         * gst/gstbin.c: (gst_bin_get_type):
8712         * gst/gstbin.h:
8713         * gst/gstelement.c: (gst_element_get_type):
8714         * gst/gstelement.h:
8715         * gst/gstobject.c: (gst_object_get_type):
8716         * gst/gstobject.h:
8717         * gst/gstpad.c: (gst_pad_get_type):
8718         * gst/gstpad.h:
8719           make _get_type functions similar, fixes data export from library
8720
8721 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8722
8723         * configure.ac:
8724           correctly make conditionals
8725         * gst/elements/Makefile.am:
8726         * gst/elements/gstelements.c:
8727           fix typo causing fdsrc not to build
8728
8729 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8730
8731         * testsuite/Makefile.am:
8732         * testsuite/bytestream/.cvsignore:
8733         * testsuite/bytestream/Makefile.am:
8734         * testsuite/bytestream/filepadsink.c:
8735         * testsuite/bytestream/gstbstest.c:
8736         * testsuite/bytestream/test1.c:
8737         * testsuite/bytestream/testfile1:
8738         * testsuite/caps/normalisation.c:
8739         * testsuite/caps/random.c: (main):
8740         * testsuite/cleanup/.cvsignore:
8741         * testsuite/cleanup/Makefile.am:
8742         * testsuite/cleanup/cleanup1.c:
8743         * testsuite/cleanup/cleanup2.c:
8744         * testsuite/cleanup/cleanup3.c:
8745         * testsuite/cleanup/cleanup4.c:
8746         * testsuite/cleanup/cleanup5.c:
8747         * testsuite/controller/interpolator.c:
8748         * testsuite/debug/printf_extension.c: (main):
8749         * testsuite/elements/tee.c:
8750         * testsuite/negotiation/.cvsignore:
8751         * testsuite/negotiation/Makefile.am:
8752         * testsuite/negotiation/pad_link.c:
8753         * testsuite/pad/Makefile.am:
8754         * testsuite/pad/chainnopull.c:
8755         * testsuite/pad/getnopush.c:
8756         * testsuite/pad/link.c:
8757         * testsuite/refcounting/sched.c: (create_pipeline):
8758         * testsuite/registry/Makefile.am:
8759         * testsuite/registry/gst-print-formats.c:
8760         * testsuite/schedulers/.cvsignore:
8761         * testsuite/schedulers/142183-2.c:
8762         * testsuite/schedulers/142183.c:
8763         * testsuite/schedulers/143777-2.c:
8764         * testsuite/schedulers/143777.c:
8765         * testsuite/schedulers/147713.c:
8766         * testsuite/schedulers/147819.c:
8767         * testsuite/schedulers/147894-2.c:
8768         * testsuite/schedulers/147894.c:
8769         * testsuite/schedulers/Makefile.am:
8770         * testsuite/schedulers/group_link.c:
8771         * testsuite/schedulers/queue_link.c:
8772         * testsuite/schedulers/relink.c:
8773         * testsuite/schedulers/unlink.c:
8774         * testsuite/schedulers/unref.c:
8775         * testsuite/schedulers/useless_iteration.c:
8776         * testsuite/states/bin.c:
8777           clean out/remove some stuff from the testsuite directories
8778
8779 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8780
8781         * configure.ac:
8782           check for some headers
8783         * gst/elements/Makefile.am:
8784         * gst/elements/gstelements.c:
8785           don't compile fdsrc without sys/socket.h
8786         * gst/indexers/Makefile.am:
8787         * gst/indexers/gstindexers.c: (plugin_init):
8788           don't compile fileindex without mmap
8789
8790 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8791
8792         * configure.ac:
8793           reorganize
8794           clean up
8795           document more
8796           remove cruft
8797         * check/Makefile.am:
8798         * docs/gst/Makefile.am:
8799         * examples/helloworld/Makefile.am:
8800         * gst/Makefile.am:
8801         * gst/base/Makefile.am:
8802         * gst/check/Makefile.am:
8803         * gst/elements/Makefile.am:
8804         * gst/indexers/Makefile.am:
8805         * gst/parse/Makefile.am:
8806         * libs/gst/controller/Makefile.am:
8807         * libs/gst/dataprotocol/Makefile.am:
8808         * examples/helloworld/helloworld.c: (event_loop):
8809           compile fixes, though it's not being compiled currently
8810
8811 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8812
8813         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
8814           Add some simple tests for the new taglist date API.
8815
8816 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8817
8818         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
8819         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
8820           Beautify 'last-message' output: print 'none' for buffer timestamps
8821           and durations if none is set; improve alignment with next messages.
8822
8823 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8824
8825         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
8826         * gst/gstpluginfeature.h:
8827         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
8828         * gst/gstregistry.h:
8829         * docs/gst/gstreamer-sections.txt:
8830           Add new API to check plugin feature version requirements.
8831
8832         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
8833           Some basic tests for the above.         
8834
8835 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8836
8837         * gst/gststructure.c: (gst_structure_to_string):
8838           guard against NULL printf - happens when for example
8839           a message structure with GstClock gets serialized
8840
8841 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8842
8843         * gst/base/gstcollectpads.c: (gst_collectpads_event):
8844           Fix presumable copy'n'pasto.
8845
8846 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8847
8848         * gst/elements/gstfakesrc.h:
8849         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
8850         * gst/elements/gsttypefindelement.c:
8851           fix some signedness
8852         * gst/elements/gstfilesink.c: (gst_file_sink_render):
8853           I wonder if this could actually write +2GB files before
8854
8855 2005-10-13  Andy Wingo  <wingo@pobox.com>
8856
8857         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
8858         Fix Timmeke Waymans bug.
8859         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
8860         string of the proper length to gst_caps_from_string. There's a
8861         potential for, before this fix, that this could cause someone
8862         connecting over the network to cause a segfault if the payload is
8863         not NUL-terminated.
8864
8865 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8866
8867         * docs/design/draft-push-pull.txt:
8868         * docs/design/part-overview.txt:
8869         * docs/random/TODO-pre-0.9:
8870         * docs/random/old/ChangeLog.gstreamer:
8871         * gst/base/gstpushsrc.c:
8872         * gst/gstclock.c:
8873           fixed typos
8874
8875 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8876
8877         * gst/glib-compat.c: (gst_flags_get_first_value):
8878         * gst/glib-compat.h:
8879         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
8880         (gst_value_compare_double), (gst_value_serialize_flags):
8881           GLib 2.6 g_flags_get_first_value has a bug that triggers an
8882           infinite loop
8883
8884 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8885
8886         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8887         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8888           fix up debugging
8889         * tools/gst-launch.c: (event_loop):
8890           print out clock nicely
8891
8892 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8893
8894         * docs/gst/gstreamer-sections.txt:
8895         * gst/gsttaglist.h:
8896         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
8897         (gst_tag_list_get_date_index):
8898           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
8899           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
8900
8901 2005-10-13  Julien MOUTTE  <julien@moutte.net>
8902
8903         * gst/base/gstcollectpads.c: (gst_collectpads_event),
8904         (gst_collectpads_chain):
8905         * gst/base/gstcollectpads.h: Handle newsegment and store informations
8906         in CollectData.
8907
8908 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8909
8910         * docs/gst/gstreamer-sections.txt:
8911         * gst/gst.c:
8912         * gst/gsterror.h:
8913         * tools/gst-inspect.c: (main):
8914         * tools/gst-launch.c: (main):
8915         * tools/gst-run.c: (main):
8916         * tools/gst-xmlinspect.c: (main):
8917           fix GOption context leaks
8918           doc fixes
8919
8920 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8921
8922         * gst/gstbus.c:
8923           use HAVE_UNISTD_H
8924         * win32/common/config.h:
8925           update config
8926         * win32/vs6/grammar.dsp:
8927         * win32/vs6/libgstelements.dsp:
8928         * win32/vs6/libgstreamer.dsp:
8929           update vs6 files
8930
8931 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8932
8933         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8934         * gst/base/gstbasesrc.c: (gst_base_src_query):
8935           fix more guint64<->gdouble conversions
8936
8937 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8938
8939         * Makefile.am:
8940           add win32-update target
8941         * win32/common/gstconfig.h:
8942         * win32/common/gstenumtypes.c:
8943         * win32/common/gstenumtypes.h:
8944         * win32/common/gstversion.h:
8945           add files that visual studio can't generate
8946
8947 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8948
8949         * Makefile.am:
8950           add a win32-update target
8951         * configure.ac:
8952
8953 2005-10-12  Wim Taymans  <wim@fluendo.com>
8954
8955         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8956         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
8957         * gst/gstelement.c: (gst_element_commit_state),
8958         (gst_element_set_state):
8959         Protect flags with proper lock.
8960         unref provided cached clock in dispose.
8961
8962 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8963
8964         * gst/gst.c:
8965         * gst/gstminiobject.h:
8966         * gst/gstpad.h:
8967         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
8968           removed unused flags from miniobject
8969           doc fixes
8970
8971 2005-10-12  Wim Taymans  <wim@fluendo.com>
8972
8973         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8974         (gst_file_sink_event), (gst_file_sink_render):
8975         Flush before seeking.
8976
8977 2005-10-12  Andy Wingo  <wingo@pobox.com>
8978
8979         * gst/gst.c (gst_init_check): Ignore unknown options, as has
8980         always been the case.
8981
8982 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8983
8984         * check/gst/gstbin.c: (GST_START_TEST):
8985         * docs/gst/gstreamer-sections.txt:
8986         * gst/base/gstbasesink.c: (gst_base_sink_init):
8987         * gst/base/gstbasesrc.c: (gst_base_src_init),
8988         (gst_base_src_get_range), (gst_base_src_check_get_range),
8989         (gst_base_src_start), (gst_base_src_stop):
8990         * gst/base/gstbasesrc.h:
8991         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
8992         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8993         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
8994         (bin_bus_handler):
8995         * gst/gstbin.h:
8996         * gst/gstbuffer.h:
8997         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
8998         * gst/gstbus.h:
8999         * gst/gstelement.c: (gst_element_is_locked_state),
9000         (gst_element_set_locked_state), (gst_element_commit_state),
9001         (gst_element_set_state):
9002         * gst/gstelement.h:
9003         * gst/gstindex.c: (gst_index_init):
9004         * gst/gstindex.h:
9005         * gst/gstminiobject.h:
9006         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
9007         (gst_object_set_parent):
9008         * gst/gstobject.h:
9009         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
9010         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
9011         * gst/gstpad.h:
9012         * gst/gstpadtemplate.h:
9013         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
9014         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
9015         * gst/gstpipeline.h:
9016         * gst/indexers/gstfileindex.c: (gst_file_index_load),
9017         (gst_file_index_commit):
9018         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
9019         * testsuite/pad/link.c: (gst_test_src_init),
9020         (gst_test_filter_init), (gst_test_sink_init):
9021         * testsuite/states/locked.c: (main):
9022           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
9023           moved bitshift from macro to enum definition
9024
9025 2005-10-12  Wim Taymans  <wim@fluendo.com>
9026
9027         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
9028         * gst/elements/gstfilesink.c: (gst_file_sink_event),
9029         (gst_file_sink_render):
9030         Some more debugging info.
9031
9032 2005-10-12  Wim Taymans  <wim@fluendo.com>
9033
9034         * docs/design/part-states.txt:
9035         * tools/gst-launch.c: (main):
9036         Some doc updates.
9037         Revert non-intentional change.
9038
9039 2005-10-12  Wim Taymans  <wim@fluendo.com>
9040
9041         * check/gst/gstbin.c: (GST_START_TEST):
9042         * check/gst/gstelement.c: (GST_START_TEST):
9043         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
9044         * check/gst/gstghostpad.c: (GST_START_TEST):
9045         * check/gst/gstpipeline.c: (GST_START_TEST):
9046         * check/pipelines/simple_launch_lines.c: (run_pipeline):
9047         * check/states/sinks.c: (GST_START_TEST):
9048         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9049         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9050         (gst_bin_remove_func), (gst_bin_get_state_func),
9051         (gst_bin_recalc_state), (gst_bin_change_state_func),
9052         (bin_bus_handler):
9053         * gst/gstelement.c: (gst_element_get_state_func),
9054         (gst_element_get_state), (gst_element_abort_state),
9055         (gst_element_commit_state), (gst_element_set_state),
9056         (gst_element_change_state), (gst_element_change_state_func):
9057         * gst/gstelement.h:
9058         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
9059         (gst_pipeline_provide_clock_func):
9060         * gst/gstutils.c: (gst_element_link_pads_filtered):
9061         * tools/gst-launch.c: (main):
9062         * tools/gst-typefind.c: (main):
9063         Use GstClockTime in _get_state() instead of GTimeVal.
9064         Remove old code in gstutils.c
9065
9066 2005-10-12  Andy Wingo  <wingo@pobox.com>
9067
9068         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
9069         removed.
9070
9071         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
9072         there is no task. Shouldn't affect any code, as nothing in our
9073         plugins checks this return value.
9074         (gst_pad_stop_task): Also take the stream lock if the pad has no
9075         task. Docs updated.
9076
9077 2005-10-12  Wim Taymans  <wim@fluendo.com>
9078
9079         * gst/gstpad.c: (pre_activate), (post_activate),
9080         (gst_pad_activate_pull), (gst_pad_activate_push):
9081         Cleanup activation code. Reset old state if
9082         activation failed.
9083
9084 2005-10-12  Wim Taymans  <wim@fluendo.com>
9085
9086         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9087         (gst_base_sink_change_state):
9088         No need to prerol after receiving EOS.
9089
9090         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9091         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
9092         * gst/elements/gstidentity.c: (gst_identity_event):
9093         Print events more verbosely.
9094
9095 2005-10-12  Wim Taymans  <wim@fluendo.com>
9096
9097         * check/Makefile.am:
9098         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9099         * check/states/sinks2.c:
9100         Moved sinks2 testcode in sinks check.
9101
9102         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9103         (gst_bin_remove_func), (gst_bin_recalc_state),
9104         (gst_bin_change_state_func), (bin_bus_handler):
9105         Fix potential race condition when _get_state() iterated over an
9106         ASYNC element right before it posted a state completion.
9107
9108         * gst/gstclock.h:
9109         Do proper cast here.
9110
9111         * gst/gstevent.c: (gst_event_new_newsegment),
9112         (gst_event_parse_newsegment):
9113         A playback rate of 0.0 is not allowed.
9114
9115 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9116
9117         * win32/common/config.h:
9118         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9119         (_trewinddir), (_ttelldir), (_tseekdir):
9120         * win32/common/dirent.h:
9121         * win32/common/gtchar.h:
9122         * win32/common/libgstbase.def:
9123         * win32/common/libgstreamer.def:
9124         * win32/vs6/grammar.dsp:
9125         * win32/vs6/gst_inspect.dsp:
9126         * win32/vs6/gst_launch.dsp:
9127         * win32/vs6/gstreamer.dsw:
9128         * win32/vs6/libgstbase.dsp:
9129         * win32/vs6/libgstelements.dsp:
9130         * win32/vs6/libgstreamer.dsp:
9131           Visual Studio 6 project files, and a new common directory.
9132           Phear.
9133
9134 2005-10-11  Wim Taymans  <wim@fluendo.com>
9135
9136         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9137         (gst_base_sink_do_sync), (gst_base_sink_query),
9138         (gst_base_sink_change_state):
9139         * gst/base/gstbasesink.h:
9140         Correctly parse newsegment info.
9141
9142 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9143
9144         * gst/gst.c: (init_post):
9145           split plugin paths correctly
9146
9147 2005-10-11  Wim Taymans  <wim@fluendo.com>
9148
9149         * check/gst/gstevent.c: (GST_START_TEST):
9150         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9151         (gst_base_sink_change_state):
9152         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
9153         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9154         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9155         * gst/gstevent.c: (gst_event_new_newsegment),
9156         (gst_event_parse_newsegment):
9157         * gst/gstevent.h:
9158         Added extra flag to newsegment for future API freeze.
9159         Updated check and base elements.
9160
9161 2005-10-11  Julien MOUTTE  <julien@moutte.net>
9162
9163         * gst/base/gstcollectpads.c: (gst_collectpads_init),
9164         (gst_collectpads_add_pad), (gst_collectpads_pop),
9165         (gst_collectpads_event), (gst_collectpads_chain):
9166         * gst/base/gstcollectpads.h: Handle EOS correctly.
9167
9168 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9169
9170         * tools/gst-launch.c: (main):
9171           more null protecting
9172
9173 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9174
9175         * gst/gst-i18n-lib.h:
9176           check for ENABLE_NLS, not GETTEXT_PACKAGE
9177         * gst/gstregistry.c: (gst_registry_add_plugin),
9178         (gst_registry_scan_path_level),
9179         (_gst_registry_remove_cache_plugins):
9180           protect possibly NULL strings
9181         * gst/parse/types.h:
9182           config.h already included before
9183         * tools/gst-inspect.c: (main):
9184           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
9185           check for ENABLE_NLS, not GETTEXT_PACKAGE
9186         * tools/gst-launch.c: (main):
9187           check for ENABLE_NLS, not GETTEXT_PACKAGE
9188
9189 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9190
9191         * configure.ac:
9192           if we don't have glib, fail before testing 2.8
9193         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
9194           fix a leak, should fix plugins-base testsuite
9195
9196 2005-10-11  Andy Wingo  <wingo@pobox.com>
9197
9198         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
9199         take the mode we're going to as an arg. Go head and set the mode
9200         and flushing flags now, so that if the activate function starts a
9201         thread all the flags will be in the right state.
9202         (post_activate): Renamed also. Just handle making sure streaming
9203         finishes for the deactivation case, and setting the deactivated
9204         mode.
9205         (gst_pad_set_active): Complain loudly if deactivation fails.
9206         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
9207         (gst_pad_activate_push): Adapt to pre/post_activate changes,
9208         remove the terrible hack.
9209
9210 2005-10-11  Wim Taymans  <wim@fluendo.com>
9211
9212         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9213         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9214         (gst_bin_recalc_state), (gst_bin_change_state_func),
9215         (gst_bin_dispose), (bin_bus_handler):
9216         * gst/gstbin.h:
9217         Prepare to make current EOS message queue more generic.
9218         Fix some typos.
9219
9220         * gst/gstevent.c: (gst_event_new_newsegment),
9221         (gst_event_parse_newsegment):
9222         * gst/gstevent.h:
9223         Rename base to stream_time.
9224
9225         * gst/gstmessage.h:
9226         Fix typo in docs.
9227
9228 2005-10-11  Wim Taymans  <wim@fluendo.com>
9229
9230         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9231         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9232         (gst_bin_change_state_func), (bin_bus_handler):
9233         * gst/gstbin.h:
9234         Work on proper clock selection.
9235
9236 2005-10-11  Edward Hervey  <edward@fluendo.com>
9237
9238         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
9239         * libs/gst/controller/gstcontroller.h:
9240         Added GList* version of _remove_properties() in order to be able to wrap
9241         it in bindings.
9242
9243 2005-10-11  Wim Taymans  <wim@fluendo.com>
9244
9245         * docs/design/part-states.txt:
9246         Some more docs.
9247
9248         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9249         (gst_bin_change_state_func), (bin_bus_handler):
9250         Doc updates. Don't distribute the same clock over and over again.
9251
9252         * gst/gstclock.c:
9253         * gst/gstclock.h:
9254         Doc updates.
9255
9256         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9257         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9258         (gst_pad_send_event):
9259         * gst/gstpad.h:
9260         Make probe emission threadsafe again.
9261         Register quarks and move _get_name() from utils.
9262         Doc updates.
9263
9264         * gst/gstpipeline.c: (gst_pipeline_class_init),
9265         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9266         Only redistribute the clock of it changed.
9267
9268         * gst/gstsystemclock.h:
9269         Doc updates. 
9270
9271         * gst/gstutils.c:
9272         * gst/gstutils.h:
9273         Moved the _flow_get_name() to GstPad.
9274
9275 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9276
9277         * check/gst-libs/gdp.c: (GST_START_TEST):
9278         * check/gst/gstcaps.c: (GST_START_TEST):
9279         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9280         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9281         (gst_dp_packet_from_caps):
9282           fix more valgrind warnings before turning up the heat
9283
9284 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9285
9286         * gst/parse/grammar.y:
9287           some cleanup before the hacking
9288
9289 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9290
9291         * gst/base/gstbasesrc.c: (gst_base_src_query):
9292           use conversions
9293         * gst/gstutils.c: (gst_guint64_to_gdouble),
9294         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9295         * gst/gstutils.h:
9296           externalize, basesrc uses it
9297           obviously the implementation needs testing
9298
9299 2005-10-10  Wim Taymans  <wim@fluendo.com>
9300
9301         * tests/sched/Makefile.am:
9302         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9303         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9304
9305 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9306
9307         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9308           apparently converting from guint64 to double is not implemented
9309           on MSVC
9310
9311 2005-10-10  Wim Taymans  <wim@fluendo.com>
9312
9313         * check/Makefile.am:
9314         * check/generic/states.c: (GST_START_TEST):
9315         * check/gst/gstbin.c: (GST_START_TEST):
9316         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9317         * check/states/sinks.c: (GST_START_TEST):
9318         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9319         (main):
9320         Check fixes, use API as stated in design docs, remove hacks.
9321
9322         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9323         (gst_base_sink_change_state):
9324         Catch stopping our task while we're shutting down.
9325
9326         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9327         (gst_bin_remove_func), (gst_bin_get_state_func),
9328         (gst_bin_recalc_state), (gst_bin_change_state_func),
9329         (bin_bus_handler):
9330         * gst/gstbin.h:
9331         * gst/gstelement.c: (gst_element_init),
9332         (gst_element_get_state_func), (gst_element_abort_state),
9333         (gst_element_commit_state), (gst_element_lost_state),
9334         (gst_element_set_state), (gst_element_change_state),
9335         (gst_element_change_state_func):
9336         * gst/gstelement.h:
9337         New state change algorithm (see #318116)
9338
9339         * gst/gstpipeline.c: (gst_pipeline_class_init),
9340         (gst_pipeline_init), (gst_pipeline_set_property),
9341         (gst_pipeline_get_property), (do_pipeline_seek),
9342         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9343         * gst/gstpipeline.h:
9344         Remove crude state change hacks.
9345
9346         * gst/gstutils.h:
9347         Remove crude hacks.
9348
9349         * tools/gst-launch.c: (main):
9350         Fixes for state change. Needs some more work to fully use the
9351         new stuff.
9352
9353 2005-10-10  Andy Wingo  <wingo@pobox.com>
9354
9355         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9356
9357         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9358         this flag, but it's not even in GLib 2.6. Odd. Hack around the
9359         issue.
9360
9361 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9362
9363         * gst/gstiterator.c: (gst_iterator_new):
9364           Fix my previous commit: GTypes passed to gst_iterator_new()
9365           can be fundamental types.
9366
9367 2005-10-10  Wim Taymans  <wim@fluendo.com>
9368
9369         * gst/gstelement.c: (gst_element_iterate_pad_list),
9370         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9371         (gst_element_iterate_sink_pads):
9372         Use src/sink pads lists for the respective iterators instead
9373         of filtering.
9374
9375 2005-10-10  Andy Wingo  <wingo@pobox.com>
9376
9377         Merged in popt removal + GOption addition patch from Ronald, bug
9378         #169772.
9379
9380         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9381         GstElement macros around, remove popt-related symbols, add goption
9382         stuff.
9383
9384         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9385         
9386         * docs/gst/Makefile.am:
9387         * docs/libs/Makefile.am: No POPT_CFLAGS.
9388         
9389         * examples/manual/Makefile.am:
9390         * docs/manual/basics-init.xml: Doc updates with an example.
9391         
9392         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9393         (gst_init), (parse_one_option), (parse_goption_arg):
9394         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9395         bit of hand merging and debugging to get the GOption stuff working
9396         tho.
9397         
9398         * tests/Makefile.am:
9399         * tools/Makefile.am:
9400         * tools/gst-inspect.c: (main):
9401         * tools/gst-launch.c: (main):
9402         * tools/gst-run.c: (main):
9403         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9404
9405 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9406
9407         * gst/gstiterator.c: (gst_iterator_new):
9408           Add assertions to make sure passed GType is likely to really
9409           be a GType (as the compiler won't catch it if the size and
9410           GType arguments get mixed up, see #318447).
9411
9412 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
9413
9414         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9415
9416         * gst/gstbin.c: (gst_bin_iterate_sorted):
9417           Pass GType and size arguments to gst_iterator_new() in the right
9418           order (maybe we should make _new() take the GType as first argument
9419           just like _new_list()?) (#318447).
9420           
9421
9422 2005-10-10  Wim Taymans  <wim@fluendo.com>
9423
9424         * gst/gstelement.c: (gst_element_finalize):
9425         And free the GStaticRecMutex too
9426
9427 2005-10-10  Andy Wingo  <wingo@pobox.com>
9428
9429         * gst/gstelement.c (gst_element_init, gst_element_finalize):
9430         Allocate and free the mutex properly.
9431
9432         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9433         New macros.
9434         (GstElement): The state_lock is now recursive. Rebuild your
9435         plugins, suckers. Old macros adapted.
9436
9437         * docs/gst/gstreamer-sections.txt: Doc updates.
9438
9439         * gst/gstutils.h:
9440         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
9441         (g_static_rec_cond_wait): Ported from state changes patch, while
9442         we wait on bug #317802 to be solved in a well-distributed GLib.
9443
9444         * gst/gstelement.c (gst_element_change_state_func): Renamed from
9445         gst_element_change_state, variable name changes.
9446         (gst_element_change_state): Split out of gst_element_set_state in
9447         preparation for the state change merge. Doesn't pay attention to
9448         the 'transition' argument.
9449         (gst_element_set_state): Updates, hopefully purely cosmetic.
9450         (gst_element_sync_state_with_parent): MT-safety. Ported from the
9451         state change patch.
9452         (gst_element_get_state_func): Renamed from get_state, cosmetic
9453         changes.
9454
9455 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9456
9457         * gst/elements/gstelements.c:
9458         * win32/GStreamer.vcproj:
9459         * win32/config.h:
9460         * win32/dirent.c: (_tseekdir):
9461         * win32/gst-inspect.vcproj:
9462         * win32/gst-launch.vcproj:
9463         * win32/gstconfig.h:
9464         * win32/gstelements.vcproj:
9465         * win32/gstenumtypes.c: (gst_object_flags_get_type):
9466         * win32/gstreamer.def:
9467         * win32/msvc71.sln:
9468           updates for the win32 build (patch from Sebastien Moutte)
9469
9470 2005-10-10  Andy Wingo  <wingo@pobox.com>
9471
9472         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9473         gst_bin_get_state, cleaned up (but no logic changes).
9474         (bin_element_is_sink): Comment updates.
9475         (sink_iterator_filter): Remove needless cast.
9476         (gst_bin_iterate_sinks): Doc update.
9477         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9478         cleaned up (but no logic changes).
9479
9480         * check/states/sinks.c (test_src_sink): Cleanups from the state
9481         change patch.
9482         (test_livesrc_sink): Sync on the state.
9483
9484         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9485         the state change patch.
9486
9487         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9488         change patch.
9489
9490         * check/gst/gstbin.c: Merge in some style fixes and additional
9491         checks from Wim's state change patch.
9492
9493 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9494
9495         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9496         (gst_type_find_helper):
9497           Check whether we have the requested data already in our list of
9498           cached buffers before pulling a new buffer; also make the buffer
9499           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9500
9501 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9502
9503         * gst/gstcaps.c:
9504         * gst/gstevent.c:
9505           doc updates
9506         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9507           don't use long long, it's not portable.  Replacing with
9508           gint64 seems to work; let's hope no skeletons fall out of the closet.
9509
9510 2005-10-10  Andy Wingo  <wingo@pobox.com>
9511
9512         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9513
9514 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
9515
9516         * docs/gst/gstreamer-sections.txt:
9517         * gst/gstevent.c:
9518         * gst/gstevent.h:
9519         * gst/gstinfo.c:
9520         * gst/gstinfo.h:
9521         * gst/gstmessage.c: (gst_message_parse_state_changed):
9522         * gst/gstpad.c:
9523         * gst/gstpad.h:
9524           more docs, fix compilation
9525
9526 2005-10-09  Philippe Khalaf <burger@speedy.org>
9527         * gst/gstmessage.c:
9528           Fixed a few forgotten variables on previous commit
9529
9530 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9531
9532         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9533           Fix evil typefind crasher: getrange() might return a short
9534           buffer at the end of a file, but gst_type_find_peek() must
9535           either return the full data as requested or NULL, but
9536           never a short buffer.
9537
9538 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9539
9540         * gst/gstmessage.c: (gst_message_new_state_changed),
9541         (gst_message_parse_state_changed):
9542         * gst/gstmessage.h:
9543           don't use "new", it's a C++ keyword
9544
9545 2005-10-08  Wim Taymans  <wim@fluendo.com>
9546
9547         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9548         * gst/gstelement.c: (gst_element_post_message):
9549         * gst/gstpipeline.c: (gst_pipeline_change_state):
9550         Small docs and debug updates.
9551
9552 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9553
9554         * docs/gst/gstreamer-sections.txt:
9555         * gst/gstelementfactory.c:
9556         * gst/gstevent.c:
9557         * gst/gsttaglist.c:
9558           more docs
9559
9560 2005-10-08  Wim Taymans  <wim@fluendo.com>
9561
9562         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9563         (gst_bin_dispose), (bin_bus_handler):
9564         Fix typos, add comments.
9565         Clear EOS list when going to PAUSED from any direction and do it
9566         in a threadsafe way.
9567         Get base time in a threadsafe way too.
9568         Fix confusing debug in the change_state function.
9569         Various other small cleanups.
9570         
9571         * gst/gstelement.c: (gst_element_post_message):
9572         Fix very verbose bus posting code.
9573
9574         * gst/gstpipeline.c: (gst_pipeline_class_init),
9575         (gst_pipeline_set_property), (gst_pipeline_get_property),
9576         (gst_pipeline_change_state):
9577         Small ARG_ -> PROP_ cleanup
9578
9579 2005-10-08  Wim Taymans  <wim@fluendo.com>
9580
9581         * gst/gstbin.c: (is_eos), (bin_bus_handler):
9582         Do a less CPU demanding EOS check because we can.
9583
9584 2005-10-08  Wim Taymans  <wim@fluendo.com>
9585
9586         * libs/gst/dataprotocol/dataprotocol.c:
9587         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9588         (gst_dp_packet_from_event):
9589         * libs/gst/dataprotocol/dataprotocol.h:
9590         * libs/gst/dataprotocol/dp-private.h:
9591         It's about time we bump the version number.
9592         Since event types don't fit in the guint8 anymore describing
9593         the payload type, make payload type 16 bits wide.
9594
9595 2005-10-08  Wim Taymans  <wim@fluendo.com>
9596
9597         * docs/design/part-TODO.txt:
9598         * docs/design/part-clocks.txt:
9599         * docs/design/part-events.txt:
9600         * docs/design/part-gstbin.txt:
9601         * docs/design/part-gstelement.txt:
9602         * docs/design/part-gstpipeline.txt:
9603         * docs/design/part-live-source.txt:
9604         * docs/design/part-messages.txt:
9605         * docs/design/part-overview.txt:
9606         * docs/design/part-states.txt:
9607         Many doc updates.
9608
9609 2005-10-08  Wim Taymans  <wim@fluendo.com>
9610
9611         * gst/gstevent.c:
9612         * gst/gstevent.h:
9613         Fix event quark registration.
9614         Add some space between events so we can insert them in the
9615         right groups.
9616
9617 2005-10-08  Wim Taymans  <wim@fluendo.com>
9618
9619         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9620         (gst_base_sink_handle_buffer):
9621         Better log message.
9622
9623         * gst/gstbus.h:
9624         * gst/gstelement.h:
9625         More docs.
9626
9627         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9628         (gst_queue_set_property), (gst_queue_get_property):
9629         * gst/gstqueue.h:
9630         Remove old unused properties.
9631
9632 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9633         * docs/gst/gstreamer-sections.txt:
9634         * gst/gstmessage.c:
9635         * gst/gstmessage.h:
9636         * gst/gstminiobject.c:
9637         * gst/gstminiobject.h:
9638         * gst/gstobject.h:
9639         * gst/gstpad.h:
9640         * gst/gstutils.h:
9641           lots of new docs and doc fixes
9642
9643 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9644
9645         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9646         * gst/gstplugin.h:
9647         * gst/gstregistry.c: (gst_registry_lookup_locked),
9648         (gst_registry_scan_path_level):
9649         * gst/gstregistryxml.c: (load_plugin):
9650           Only ever load one plugin for a given plugin basename.
9651           This ensures correct overriding of GST_PLUGIN_PATH over
9652           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9653           system installed plugins.
9654
9655 2005-10-08  Wim Taymans  <wim@fluendo.com>
9656
9657         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9658         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9659         Prepare for doing QOS.
9660
9661 2005-10-08  Wim Taymans  <wim@fluendo.com>
9662
9663         * check/gst/gstbin.c: (GST_START_TEST):
9664         * check/pipelines/cleanup.c: (GST_START_TEST):
9665         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9666         Allow new clock message too.
9667
9668 2005-10-08  Wim Taymans  <wim@fluendo.com>
9669
9670         * gst/gstmessage.c: (gst_message_new_error),
9671         (gst_message_new_warning), (gst_message_new_tag),
9672         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9673         (gst_message_new_clock_lost), (gst_message_new_new_clock),
9674         (gst_message_new_segment_start), (gst_message_new_segment_done),
9675         (gst_message_parse_state_changed),
9676         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9677         (gst_message_parse_new_clock):
9678         * gst/gstmessage.h:
9679         Also carry the clock in question.
9680
9681 2005-10-08  Wim Taymans  <wim@fluendo.com>
9682
9683         * gst/gstmessage.c: (gst_message_new_custom),
9684         (gst_message_new_eos), (gst_message_new_error),
9685         (gst_message_new_warning), (gst_message_new_tag),
9686         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9687         (gst_message_new_new_clock), (gst_message_new_segment_start),
9688         (gst_message_new_segment_done), (gst_message_parse_state_changed),
9689         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9690         * gst/gstmessage.h:
9691         Clean up.
9692         Added clock related messages.
9693
9694         * gst/gstpipeline.c: (gst_pipeline_change_state):
9695         Post message when the clock changed.
9696
9697         * tools/gst-launch.c: (event_loop):
9698         Print new clock.
9699
9700 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9701
9702         * tools/gst-inspect.c: (print_element_properties_info):
9703           Can't pass NULL strings to g_print() on windows.
9704
9705 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9706
9707         * docs/Makefile.am:
9708         * docs/gst/Makefile.am:
9709         * docs/gst/gstreamer-docs.sgml:
9710         * docs/gst/running.xml:
9711         * docs/version.entities.in:
9712           add a chapter on running GStreamer.
9713           document GST_DEBUG and GST_PLUGIN* env vars
9714
9715 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9716
9717         * Makefile.am:
9718           remove include dir
9719         * configure.ac:
9720           remove PLUGINS_BUILDDIR stuff
9721         * gst/gst.c: (init_post):
9722           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9723         * idiottest.mak:
9724           remove, it was condescending and not needed
9725
9726 2005-10-08  Wim Taymans  <wim@fluendo.com>
9727
9728         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9729         (gst_base_sink_handle_object), (gst_base_sink_event),
9730         (gst_base_sink_wait), (gst_base_sink_handle_event),
9731         (gst_base_sink_change_state):
9732         * gst/base/gstbasesink.h:
9733         Repost EOS message while going to PLAYING if still EOS.
9734         Make sure that when receiving a FLUSH_START we don't attempt
9735         to sync on the clock anymore.
9736
9737 2005-10-08  Wim Taymans  <wim@fluendo.com>
9738
9739         * tools/gst-launch.c: (event_loop):
9740         Better message printout.
9741
9742 2005-10-08  Wim Taymans  <wim@fluendo.com>
9743
9744         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
9745         (gst_bin_child_proxy_get_children_count):
9746         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9747         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
9748         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
9749         (gst_child_proxy_set_valist):
9750         * gst/parse/grammar.y:
9751         Make ChildProxy threadsafe and fix mem leaks.
9752
9753 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9754
9755         * gst/gst.c: (init_post):
9756           debug the GST_PLUGIN_ env vars
9757
9758 2005-10-08  Wim Taymans  <wim@fluendo.com>
9759
9760         * check/gst/gstbin.c: (GST_START_TEST):
9761         * check/gst/gstmessage.c: (GST_START_TEST):
9762         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9763         * gst/gstelement.c: (gst_element_commit_state),
9764         (gst_element_lost_state):
9765         * gst/gstmessage.c: (gst_message_new_state_changed),
9766         (gst_message_parse_state_changed):
9767         * gst/gstmessage.h:
9768         * tools/gst-launch.c: (event_loop):
9769         Added extra field to STATE_CHANGE message with the pending
9770         state, which will be different from the new state soon.
9771
9772 2005-10-08  Wim Taymans  <wim@fluendo.com>
9773
9774         * gst/gstbus.c: (gst_bus_pop):
9775         * gst/gstclock.c:
9776         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9777         Small cleanups and doc updates.
9778
9779 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9780
9781         * gst/gst.c: (init_pre):
9782         * gst/gstbin.c: (gst_bin_add_func):
9783           log distributing clocks and base time
9784         * gst/gstregistry.c: (gst_registry_add_plugin),
9785         (gst_registry_scan_path_level), (gst_registry_scan_path):
9786           clean up the debugging output a little
9787         * gst/gstutils.c: (gst_element_state_get_name):
9788           warn about a memleak (I've actually seen this be used, though
9789           it was probably a bug)
9790
9791 2005-10-07  Wim Taymans  <wim@fluendo.com>
9792
9793         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9794         (gst_base_src_init), (gst_base_src_default_newsegment),
9795         (gst_base_src_newsegment), (gst_base_src_do_seek),
9796         (gst_base_src_loop), (gst_base_src_start):
9797         * gst/base/gstbasesrc.h:
9798         Make the newsegment event customizable by subclasses.
9799
9800 2005-10-07  Wim Taymans  <wim@fluendo.com>
9801
9802         * gst/gstevent.c: (gst_event_new_buffersize),
9803         (gst_event_parse_buffersize):
9804         * gst/gstevent.h:
9805         New event for future idea.
9806
9807 2005-10-07  Andy Wingo  <wingo@pobox.com>
9808
9809         * gst/gstelement.c (gst_element_post_message): Doc update.
9810
9811         * docs/gst/gstreamer-sections.txt: Update.
9812
9813         * gst/gstmessage.c (gst_message_new_application): Made into a
9814         function like honest API calls.
9815         (gst_message_new_element): New message type.
9816
9817         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
9818
9819         * check/elements/fakesrc.c (test_no_preroll): New check, checks
9820         that setting a live fakesrc to PAUSED returns NO_PREROLL both
9821         times.
9822
9823         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
9824         NO_PREROLL from gst_element_change_state to fall through.
9825
9826 2005-10-07  Wim Taymans  <wim@fluendo.com>
9827
9828         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
9829         (gst_ghost_pad_do_activate_push):
9830         Activating a ghostpad with no internal pad in push mode
9831         is ok.
9832
9833 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9834
9835         * gst/gstobject.h:
9836           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
9837           Fixes compilation on Windows.
9838
9839 2005-10-07  Michael Smith <msmith@fluendo.com>
9840
9841         * tools/gst-inspect.c:
9842           Print out feature and plugin count at the end when printing out
9843           all features.
9844
9845 2005-10-04  Michael Smith <msmith@fluendo.com>
9846
9847         * gst/gsterror.c: (_gst_stream_errors_init):
9848           Add another error string used in a few existing plugins.
9849
9850         * gst/gstplugin.c:
9851         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9852         * tools/gst-inspect.c: (print_element_info):
9853           When a feature disappears from a plugin (and the feature exists in
9854           the cached registry file), things went horribly wrong. This isn't a
9855           complete fix, we should actually be removing the 'missing' features
9856           from the features list when we load the actual plugin. That's not
9857           yet implemented. 
9858
9859 2005-10-04  Johan Dahlin  <johan@gnome.org>
9860
9861         * check/gst/gstiterator.c: (GST_START_TEST):
9862         * gst/gstbin.c: (gst_bin_iterate_elements),
9863         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
9864         * gst/gstelement.c: (gst_element_iterate_pads):
9865         * gst/gstformat.c: (gst_format_iterate_definitions):
9866         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9867         (gst_iterator_new_list), (gst_iterator_filter):
9868         * gst/gstiterator.h:
9869         * gst/gstquery.c: (gst_query_type_iterate_definitions):
9870         Add a GType to GstIterator, update callsites and tests.
9871
9872 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9873
9874         * gst/gstpad.c: (gst_pad_event_default_dispatch):
9875           give events a chance to be handled by event probes when the pad
9876           is not linked
9877
9878 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9879
9880         * gst/gstevent.c: (gst_event_type_get_name),
9881         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
9882         * gst/gstevent.h:
9883           add string representations for event types
9884
9885 2005-10-06  Wim Taymans  <wim@fluendo.com>
9886
9887         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
9888         Don't use NULL pointers.
9889
9890 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9891
9892         * gst/gst_private.h:
9893         * gst/gstbus.c:
9894         * gst/gstelement.c:
9895         * gst/gstinfo.c:
9896         * gst/gstpluginfeature.c:
9897           widen the debug category in output to fit the biggest one we have
9898           add a bus category and use it
9899           play with the colors
9900           fix up some categories
9901
9902 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9903
9904         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
9905           add push activation of sink ghost pads.
9906           Andye, please verify
9907
9908 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9909
9910         * gst/gstutils.c: (gst_element_link_pads):
9911           fix a bug in the case where neither element has a pad
9912         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9913           add a test for that case
9914
9915 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9916
9917         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
9918           emit have-data before checking for peers.  This allows
9919           for probe handlers to connect elements.  This helps autopluggers.
9920         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
9921         (gst_pad_suite):
9922           add six checks, linked/unlinked with no/true/false probe
9923
9924 2005-10-04  Wim Taymans  <wim@fluendo.com>
9925
9926         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
9927         (gst_fake_sink_event), (gst_fake_sink_preroll),
9928         (gst_fake_sink_render), (gst_fake_sink_change_state):
9929         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
9930         (gst_fake_src_get_property), (gst_fake_src_create),
9931         (gst_fake_src_stop):
9932         * gst/elements/gstidentity.c: (gst_identity_stop):
9933         Protect last_message with lock.
9934
9935 2005-10-04  Edward Hervey  <edward@fluendo.com>
9936
9937         * gst/gstformat.h: 
9938         Added precision in the comments for GST_FORMAT_DEFAULT
9939
9940 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
9941
9942         * tools/gst-launch.c: (main):
9943           Don't try to run erroneous pipelines.
9944
9945 2005-10-04  Julien MOUTTE  <julien@moutte.net>
9946
9947         * gst/gstbus.c: We don't need this header.
9948
9949 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9950
9951         * configure.ac:
9952           back to development
9953
9954 === release 0.9.3 ===
9955
9956 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9957
9958         * README:
9959         * configure.ac:
9960           Releasing 0.9.3, "Unregistered"
9961
9962 2005-10-03  Andy Wingo  <wingo@pobox.com>
9963
9964         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
9965         whereby calling a pad's activatepush() function can start a thread
9966         that starts to push or pull before the pad gets the FLUSHING flag
9967         unset. Hack around it by holding the stream lock until the flag is
9968         set. Need to replace this with a proper solution. Together with
9969         the ghost pad fixes, this fixes mp3 playing/tagreading.
9970
9971         * docs/design/part-gstghostpad.txt: Add a note about activation of
9972         proxy pads outside of ghost pads.
9973
9974         * gst/gstghostpad.c: Implement the ghost pad activation design.
9975
9976 2005-10-02  Andy Wingo  <wingo@pobox.com>
9977
9978         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
9979         It is volatile, after all.
9980
9981         * docs/design/part-gstghostpad.txt: Flesh out activation with
9982         ghost pads.
9983
9984         * gst/base/gstbasesrc.c (gst_base_src_init): Use
9985         GST_DEBUG_FUNCPTR.
9986
9987 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
9988
9989         * configure.ac:
9990           Fix (unused) AM_CONDITIONAL tests.
9991
9992 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
9993
9994         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9995
9996         * gst/gstutils.c: (gst_pad_query_convert):
9997           Add assertion that makes sure src_val is >=0, just like
9998           gst_query_new_convert() has. (#315895)
9999
10000 2005-09-30  Edward Hervey  <edward@fluendo.com>
10001
10002         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
10003         Let's not iterate pads we're not interested in, it avoids getting 
10004         sky-high refcounts on sinkpad.
10005
10006 2005-09-30  Wim Taymans  <wim@fluendo.com>
10007
10008         * gst/gstelement.c: (gst_element_set_state),
10009         (gst_element_change_state):
10010         Small tweak, element in ASYNC remains ASYNC.
10011
10012 2005-09-30  Wim Taymans  <wim@fluendo.com>
10013
10014         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
10015         Only error is an error.
10016
10017         * gst/gstbin.c: (gst_bin_change_state):
10018         Better debugging.
10019
10020         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
10021         Also call pad_block in pad alloc.
10022
10023         * gst/gstutils.c: (gst_flow_get_name):
10024         Better debugging.
10025
10026 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10027
10028         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10029         (gst_base_src_get_range):
10030           Fix documentation typos. Add some more debug info.
10031
10032 2005-09-29  David Schleef  <ds@schleef.org>
10033
10034         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
10035           more end-user friendly.
10036         * tools/gst-inspect.c: (main): Check if command-line argument is
10037           a file and attempt to load that file as a plugin.
10038
10039 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10040
10041         * check/gst/gstbin.c:
10042         * check/states/sinks.c:
10043           fix tests for the new warning
10044         * check/gst/gstpipeline.c:
10045           add a test for pipeline and bus interaction
10046         * gst/gstelement.c:
10047           elements should be NULL if they get disposed; add a warning if not
10048
10049 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10050
10051         * gst/gstobject.c:
10052           for 2.6 refcounting, make debug log more correct by printing
10053           the actual refcounts at the time of swap (Wim)
10054
10055 2005-09-29  Andy Wingo  <wingo@pobox.com>
10056
10057         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
10058         removes signal watches previously added via
10059         gst_bus_add_signal_watch.
10060         (gst_bus_add_signal_watch): Don't return the source id, just store
10061         it on the bus if there wasn't an id already.
10062
10063         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
10064         add_signal_watch and remove_signal_watch.
10065
10066 2005-09-29  Edward Hervey  <edward@fluendo.com>
10067
10068         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
10069         Better if we actually iterate the list :)
10070
10071 2005-09-29  Wim Taymans  <wim@fluendo.com>
10072
10073         * check/gst/gstbin.c: (GST_START_TEST):
10074         Change for new bus API.
10075
10076         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10077         (send_messages), (GST_START_TEST), (gstbus_suite):
10078         Change for new bus signal API.
10079
10080         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
10081         (gst_bus_source_prepare), (gst_bus_source_check),
10082         (gst_bus_create_watch), (gst_bus_add_watch_full),
10083         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
10084         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
10085         * gst/gstbus.h:
10086         Remove support for multiple GSources operating on different
10087         message types as it is too complex and unneeded when using
10088         signals.
10089         Added support for receiving signals from the bus.
10090
10091 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10092
10093         * docs/libs/tmpl/gstdataprotocol.sgml:
10094         * docs/manual/advanced-dataaccess.xml:
10095         * gst/elements/gstcapsfilter.c:
10096         * gst/gstutils.c:
10097           rename filter-caps to caps property
10098
10099 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10100
10101         * gst/gstvalue.c: (gst_value_deserialize_fraction):
10102           More robust fraction string parsing.
10103
10104         * docs/pwg/appendix-porting.xml:
10105           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
10106
10107 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10108
10109         * gst/gstcaps.c: (gst_caps_do_simplify):
10110           Thou shalt not free a structure and then continue using it
10111           in the next loop iteration.
10112
10113         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
10114         (gst_caps_suite):
10115           Add test case for caps simplification.
10116
10117 2005-09-29  Wim Taymans  <wim@fluendo.com>
10118
10119         * check/gst/gstbin.c: (GST_START_TEST):
10120         Oops.
10121
10122 2005-09-29  Wim Taymans  <wim@fluendo.com>
10123
10124         * check/gst/gstbin.c: (GST_START_TEST):
10125         Add bus to bin.
10126
10127         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
10128         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10129         (find_element), (gst_bin_sort_iterator_next),
10130         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10131         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10132         (gst_bin_change_state), (gst_bin_dispose):
10133         A bin does not have a bus, it gets the bus from the parent.
10134
10135         * gst/gstelement.c: (gst_element_requires_clock),
10136         (gst_element_provides_clock), (gst_element_is_indexable),
10137         (gst_element_is_locked_state), (gst_element_change_state),
10138         (gst_element_set_bus_func):
10139         Small cleanups.
10140
10141         * gst/gstpipeline.c: (gst_pipeline_class_init),
10142         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
10143         The pipeline provides a bus.
10144
10145 2005-09-28  Johan Dahlin  <johan@gnome.org>
10146
10147         * gst/gstmessage.c (gst_message_parse_state_changed): Use
10148         gst_structure_get_enum instead of gst_structure_get_int
10149
10150         * gst/gststructure.c (gst_structure_get_enum): Impl.
10151
10152         * gst/gststructure.h (gst_structure_get_enum): Add
10153
10154         * docs/gst/gstreamer-sections.txt: Ditto
10155
10156         * gst/gstmessage.c (gst_message_new_state_changed): Use
10157         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
10158         which does introspection.
10159         Reviewed by Christian Schaller
10160
10161 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10162
10163         * gst/gstinfo.c: (gst_debug_log_default):
10164           don't do dummy g_strdup()s
10165         * libs/gst/controller/gstcontroller.c:
10166         (on_object_controlled_property_changed),
10167         (gst_controlled_property_new), (gst_controller_new_valist),
10168         (gst_controller_new_list),
10169         (gst_controller_remove_properties_valist), (gst_controller_set),
10170         (gst_controller_get), (gst_controller_sync_values),
10171         (gst_controller_get_value_array), (_gst_controller_class_init),
10172         (gst_controller_get_type):
10173         * libs/gst/controller/gstcontroller.h:
10174         * libs/gst/controller/gstinterpolation.c:
10175         (gst_controlled_property_find_timed_value_node):
10176           convert // to /**/ comments
10177
10178 2005-09-28  Wim Taymans  <wim@fluendo.com>
10179
10180         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
10181         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
10182         (gst_bus_sync_signal_handler):
10183         * gst/gstbus.h:
10184         Added async-message and sync-message signals to the bus.
10185         Added helper BusFunc to emit signals for all posted messages.
10186
10187         * gst/gstmessage.c: (gst_message_type_get_name),
10188         (gst_message_type_to_quark), (gst_message_get_type):
10189         * gst/gstmessage.h:
10190         Register quarks for message names.
10191
10192 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10193
10194         * docs/libs/gstreamer-libs-sections.txt:
10195         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10196         (gst_controller_new_list):
10197         * libs/gst/controller/gstcontroller.h:
10198           added another constructor for language bindings
10199
10200 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10201
10202         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10203           add another check
10204         * gst/gstbus.c:
10205           add some doc
10206         * gst/gstinfo.c: (_gst_debug_init):
10207           slightly more readable color for refcount debugging
10208
10209 2005-09-28  Wim Taymans  <wim@fluendo.com>
10210
10211         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10212         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10213         (find_element), (gst_bin_sort_iterator_next),
10214         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10215         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10216         (gst_bin_change_state), (gst_bin_dispose):
10217         Small doc fixes. get_clock -> provide_clock.
10218
10219         * gst/gstelement.c: (gst_element_class_init),
10220         (gst_element_provides_clock), (gst_element_provide_clock),
10221         (gst_element_get_clock), (gst_element_commit_state),
10222         (gst_element_lost_state):
10223         * gst/gstelement.h:
10224         Make get/set_clock() symetric. Add provide_clock vmethod since
10225         that is actually what this function does.
10226
10227         * gst/gstpipeline.c: (gst_pipeline_class_init),
10228         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10229         (gst_pipeline_get_clock):
10230         get_clock -> provide_clock.
10231
10232 2005-09-28  Andy Wingo  <wingo@pobox.com>
10233
10234         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10235         lieu of real docs...
10236
10237         * gst/elements/gstfdsrc.c: Cleaned up a bit.
10238
10239 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
10240
10241         * gst/elements/gstcapsfilter.c:
10242         * gst/elements/gstfakesink.c:
10243         * gst/elements/gstfakesrc.c:
10244         * gst/elements/gstfdsink.c:
10245         * gst/elements/gstfdsrc.c:
10246         * gst/elements/gstfilesink.c:
10247         * gst/elements/gstfilesrc.c:
10248         * gst/elements/gstidentity.c:
10249         * gst/elements/gsttee.c:
10250         * gst/elements/gsttypefindelement.c:
10251           Make element details static.
10252
10253 2005-09-28  Wim Taymans  <wim@fluendo.com>
10254
10255         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10256         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10257         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10258         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10259         (gst_bin_change_state), (gst_bin_dispose):
10260         Some documentation updates.
10261         Clean up dispose handlers.
10262
10263         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10264         * gst/gstpad.c: (gst_pad_dispose):
10265         Clean up dispose handler.
10266
10267         * gst/gstpipeline.c: (gst_pipeline_change_state):
10268         Removed spurious UNLOCK.
10269
10270 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
10271
10272         * docs/gst/gstreamer-sections.txt:
10273         * gst/base/gstbasesrc.h:
10274         * gst/gstelement.h:
10275         * gst/gstevent.h:
10276         * gst/gstobject.h:
10277         * gst/gstpad.h:
10278         * gst/gstpipeline.c:
10279         * gst/gstpipeline.h:
10280         * gst/gstutils.h:
10281         * gst/gstxml.h:
10282           added two new functions to the docs
10283                 documents all undocumented GstXXXFlags
10284                 completed some incomplete docs 
10285
10286 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10287
10288         * gst/gstbin.c: (gst_bin_dispose):
10289         * gst/gstelement.c: (gst_element_dispose):
10290           remove now useless and leaky resurrection code in dispose
10291         * gst/base/gstbasesrc.c: (gst_base_src_init):
10292         * gst/gstelementfactory.c: (gst_element_factory_create):
10293         * gst/gstobject.c: (gst_object_set_parent):
10294           add some debugging
10295
10296 2005-09-27  Wim Taymans  <wim@fluendo.com>
10297
10298         * docs/design/part-TODO.txt:
10299         Update TODO.
10300
10301         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10302         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10303         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10304         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10305         (gst_bin_change_state):
10306         * gst/gstelement.h:
10307         Remove element variable, we keep element info in the iterator now.
10308
10309 2005-09-27  Andy Wingo  <wingo@pobox.com>
10310
10311         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10312         values.
10313
10314 2005-09-27  Wim Taymans  <wim@fluendo.com>
10315
10316         * check/gst/gstbin.c: (GST_START_TEST):
10317         Enable check that works now.
10318
10319         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10320         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10321         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10322         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10323         (gst_bin_change_state):
10324         * gst/gstbin.h:
10325         Redid the state change algorithm using a topological sort algo.
10326         Handles all cases correctly.
10327         Exposed iterator for state change order.
10328
10329         * gst/gstelement.h:
10330         Temp storage for state changes. Need to get rid of this soon.
10331
10332 2005-09-27  Wim Taymans  <wim@fluendo.com>
10333
10334         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10335         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10336         (link_fold_func), (gst_pad_proxy_setcaps):
10337         Leak fixes, the fold functions need to unref the passed object and
10338         _get_parent_*() returns ref to parent.
10339
10340 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10341
10342         * check/gst/gstbuffer.c: (test_make_writable):
10343           Plug leak in test case and fix 'make check-valgrind'
10344
10345 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10346
10347         * gst/gstbuffer.c: (gst_subbuffer_init):
10348           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10349           works correctly in all circumstances (we could have just copied
10350           the parent buffer's readonly flag, but conceptually it seems
10351           cleaner to mark all subbuffers as read-only). (based on patch
10352           by Alessandro Decina, #314710).
10353         
10354         * check/gst/gstbuffer.c: (create_read_only_buffer),
10355         (test_make_writable), (test_subbuffer_make_writable),
10356         (gst_test_suite):
10357           Add some tests for gst_buffer_make_writable().
10358
10359 2005-09-27  Wim Taymans  <wim@fluendo.com>
10360
10361         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10362         use gst_object_has_ancestor().
10363
10364         * gst/gstobject.c: (gst_object_has_ancestor):
10365         * gst/gstobject.h:
10366         gst_object_has_ancestor() copied from gstbin.c as it is a
10367         usefull function.
10368
10369         * tests/instantiate/create.c: (create_all_elements):
10370         * tests/lat.c: (handoff_src), (handoff_sink):
10371         * tests/sched/runxml.c: (main):
10372         * tests/seeking/seeking1.c: (main):
10373         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10374         (main):
10375         Fix compilation of some tests.
10376
10377 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10378
10379         * gst/gsterror.h:
10380           Remove comment. GST_TYPE_G_ERROR is here to stay,
10381           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10382           (#316961, #300610).
10383
10384 2005-09-26  Wim Taymans  <wim@fluendo.com>
10385
10386         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10387         Added check that shows error in state change order.
10388
10389 2005-09-26  Wim Taymans  <wim@fluendo.com>
10390
10391         * gst/gstbin.c: (gst_bin_change_state):
10392         Make state change function use 3 queues again, we were
10393         adding elements in the wrong order.
10394
10395         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10396         Some debug info,
10397
10398         * gst/gstpad.c: (gst_pad_dispose):
10399         Added some debug info first.
10400
10401 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
10402
10403         * docs/design/draft-push-pull.txt:
10404         * docs/design/part-events.txt:
10405         * docs/design/part-overview.txt:
10406         * docs/design/part-scheduling.txt:
10407           Replace all _pull_region() with _pull_range()
10408           
10409 2005-09-26  Andy Wingo  <wingo@pobox.com>
10410
10411         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10412
10413         * check/gst-libs/controller.c: Update for controller api change.
10414
10415         * configure.ac: 
10416         * tests/Makefile.am:
10417         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10418         over by GLib bug 118439.
10419         
10420         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10421         routines to a function.
10422
10423         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10424
10425         * libs/gst/controller/gsthelper.c:
10426         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10427         (gst_object_sync_values): Renamed from sink_values. Ugh.
10428
10429         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10430
10431         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10432         Renamed from controller_key, as it is exported.
10433
10434         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10435
10436 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10437
10438         * gst/Makefile.am:
10439         * gst/gst.h:
10440         * gst/gstpad.h:
10441         * gst/gstpadtemplate.h:
10442         * gst/gstquery.c:
10443         * gst/gstquery.h:
10444         * gst/gstqueryutils.c:
10445         * gst/gstqueryutils.h:
10446           remove queryutils headers after moving the two used functions
10447           to gstquery.  also fixes build problem for gstsiddec
10448
10449 2005-09-26  Michael Smith <msmith@fluendo.com>
10450
10451         * tools/gst-launch.1.in:
10452         Correct documentation in manpage of debug syntax
10453
10454 2005-09-26  Wim Taymans  <wim@fluendo.com>
10455
10456         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10457         (gst_base_src_is_seekable), (gst_base_src_change_state):
10458         Some more debugging info.
10459
10460 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10461
10462         * docs/gst/gstreamer-sections.txt:
10463         * gst/base/gstbasetransform.h:
10464         * gst/gstindex.h:
10465           added more docs
10466
10467 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10468
10469         * docs/gst/.cvsignore:
10470         * docs/gst/tmpl/.cvsignore:
10471         * docs/gst/tmpl/gstpipeline.sgml:
10472         * docs/gst/tmpl/gstplugin.sgml:
10473         * gst/gstpipeline.c:
10474         * gst/gstplugin.c:
10475         * gst/gstplugin.h:
10476           inlined the last two docs files
10477           removed the tmpl directory from cvs (no more conflicts here!)
10478
10479 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10480
10481         * docs/gst/gstreamer-sections.txt:
10482         * docs/gst/tmpl/.cvsignore:
10483         * docs/gst/tmpl/gstpad.sgml:
10484         * docs/gst/tmpl/gstpadtemplate.sgml:
10485         * gst/Makefile.am:
10486         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10487         (gst_pad_finalize), (gst_pad_set_pad_template):
10488         * gst/gstpad.h:
10489         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10490         (gst_pad_template_class_init), (gst_pad_template_init),
10491         (gst_pad_template_dispose), (name_is_valid),
10492         (gst_static_pad_template_get), (gst_pad_template_new),
10493         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10494         (gst_pad_template_pad_created):
10495         * gst/gstpadtemplate.h:
10496           inlined two more docs
10497           factored gstpadtemplate out of gstpad
10498
10499 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
10500
10501         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10502         (test_children_state_change_order_semi_sink):
10503           Fix test case: we can't rely on a fixed state change order when
10504           going from READY => PAUSED because the sink might commit its 
10505           new state first when the first buffer created by the source 
10506           reaches the sink before the source has finished its change state.
10507           (Test case still fails at times, see #316856, comment 5 onwards)
10508
10509 2005-09-24  Wim Taymans  <wim@fluendo.com>
10510
10511         * docs/design/part-events.txt:
10512         * docs/design/part-gstbus.txt:
10513         * docs/design/part-gstpipeline.txt:
10514         * docs/design/part-messages.txt:
10515         * docs/design/part-overview.txt:
10516         * docs/design/part-segments.txt:
10517         * gst/gstbin.c:
10518         * gst/gstbuffer.c:
10519         * gst/gstclock.c:
10520         * gst/gstelement.c:
10521         * gst/gstevent.c:
10522         * gst/gstfilter.c:
10523         * gst/gstiterator.c:
10524         Various documentation updates.
10525
10526 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10527
10528         * gst/gstclock.h:
10529           Well, that's embarassing.  Luckily we weren't using
10530           GST_CLOCK_DIFF anywhere.
10531
10532 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10533
10534         * common/gtk-doc.mak:
10535           don't fail on building XML, FC4 slave shows a bunch of doc
10536           missing bits that I don't get
10537         * gst/gstpad.c:
10538         * gst/gstpipeline.c:
10539         * gst/gststructure.c:
10540           some doc updates
10541
10542 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10543
10544         * docs/design/part-gstbin.txt:
10545         * docs/design/part-gstbus.txt:
10546         * gst/gstbus.c:
10547           Add blurb about how the bus goes into flushing mode and
10548           drops all messages when its bin goes from READY into NULL 
10549           state.
10550
10551 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10552
10553         * docs/gst/gstreamer-sections.txt:
10554         * gst/gststructure.c: (gst_structure_get_clock_time):
10555         * gst/gststructure.h:
10556           add a method to get a GstClockTime out of a structure
10557
10558 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10559
10560         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10561         (test_children_state_change_order_semi_sink), (gst_bin_suite):
10562           Added test to check state change order in bins (can still be made
10563           to fail here under heavy disk load; bails out with 'Push on pad
10564           fakesink:sink0, but it was not activated in push mode').
10565
10566         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10567           Fix state change order when there is only a semi sink (#316856)
10568
10569         * gst/gstbus.c: (gst_bus_class_init):
10570           Use _class_peek_parent(), not _class_ref(); fix docs to say
10571           'default main context' instead of 'mainloop' where that is
10572           what's meant.
10573
10574         * gst/gstelement.c: (gst_element_commit_state),
10575         (gst_element_set_state):
10576           Fix typos in debug messages
10577
10578 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10579
10580         * docs/README:
10581         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10582         * gst/gstpluginfeature.c:
10583         * gst/gstutils.c:
10584           various doc updates
10585         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10586           change an assert into an error until it gets fixed properly
10587
10588 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10589
10590         * docs/gst/gstreamer-sections.txt:
10591         * docs/gst/tmpl/.cvsignore:
10592         * docs/gst/tmpl/gstelement.sgml:
10593         * docs/gst/tmpl/gstinfo.sgml:
10594         * docs/gst/tmpl/gstobject.sgml:
10595         * gst/gstelement.c:
10596         * gst/gstelement.h:
10597         * gst/gstinfo.c:
10598         * gst/gstinfo.h:
10599         * gst/gstobject.c: (gst_object_class_init):
10600         * gst/gstobject.h:
10601           inlined 3 more biiiig doc files and added some missing docs on the fly
10602
10603 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10604
10605         * check/gst/.cvsignore:
10606         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10607         * gst/gstregistryxml.c: (load_plugin),
10608         (gst_registry_xml_save_plugin):
10609           put back source in registry.  add checks for find_plugin.
10610         * testsuite/states/bin.c: (assert_state), (empty_bin),
10611         (test_adding_one_element), (main):
10612         * testsuite/states/locked.c: (main):
10613           some compile/run fixes
10614
10615 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10616
10617         * check/gst/gstvalue.c: (GST_START_TEST):
10618           fix leaks in the test itself
10619
10620 2005-09-22  Wim Taymans  <wim@fluendo.com>
10621
10622         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10623         (gst_base_sink_send_event), (gst_base_sink_peer_query),
10624         (gst_base_sink_query):
10625         Prepare for more accurate position reporting and query
10626         handling.
10627
10628         * gst/gstelement.c: (gst_element_send_event),
10629         (gst_element_set_state):
10630         Add some comment.
10631
10632 2005-09-22  Wim Taymans  <wim@fluendo.com>
10633
10634         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10635         (gst_query_parse_segment):
10636         * gst/gstquery.h:
10637         More documentation.
10638         Add segment query for future use.
10639
10640 2005-09-22  Wim Taymans  <wim@fluendo.com>
10641
10642         * gst/gstbin.c: (gst_bin_add_func):
10643         Some more debug info.
10644
10645         * gst/gstelement.c: (gst_element_send_event):
10646         Simplify send_event
10647
10648         * gst/gstelement.h:
10649         Don't know how flags got broken.
10650
10651         * gst/gstquery.h:
10652         Added new query.
10653
10654 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10655
10656         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10657           Add simplistic test suite for GST_TYPE_DATE serialisation and
10658           deserialisation.
10659
10660 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10661
10662         * docs/gst/gstreamer-sections.txt:
10663         * gst/gststructure.c: (gst_structure_set_valist),
10664         (gst_structure_get_date):
10665         * gst/gststructure.h:
10666         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10667         (gst_date_copy), (gst_value_compare_date),
10668         (gst_value_serialize_date), (gst_value_deserialize_date),
10669         (gst_value_transform_date_string),
10670         (gst_value_transform_string_date), (_gst_value_initialize):
10671         * gst/gstvalue.h:
10672           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10673           bunch of utility functions along with a hack that checks that
10674           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10675           is required. Part of the grand scheme in #170777.
10676
10677 2005-09-22  Andy Wingo  <wingo@pobox.com>
10678
10679         * gst/gstconfig.h.in: Psych out gtk-doc.
10680
10681         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10682
10683         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10684
10685         * tools/gst-inspect.c (print_element_list): Plug some
10686         inconsequential leaks.
10687
10688         * gst/gstregistry.c (gst_registry_get_default): Doc.
10689
10690         * check/gst/gstplugin.c: 
10691         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10692         * gst/gstelementfactory.c (gst_element_factory_create): 
10693         * gst/gstindexfactory.c (gst_index_factory_create): Update for
10694         refcount changes.
10695
10696         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10697         (gst_plugin_feature_load): Doc, don't eat refs.
10698
10699         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10700         (gst_plugin_list_free): Doc.
10701         (gst_plugin_load_file): Doc updates.
10702
10703         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10704         accessors returning refcounted objects, return a ref.
10705
10706         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10707         accessor for caps. IDEMPOTENCE. Oh yes.
10708
10709 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
10710
10711         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10712
10713         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10714         (_gst_debug_register_funcptr):
10715           Add mutex to serialise access to the hash table with
10716           the function pointer => function name string mapping;
10717           make that hash table static scope (#316809).
10718
10719         * gst/registries/.cvsignore:
10720           Remove left-over file.
10721
10722 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10723
10724         * docs/pwg/appendix-porting.xml:
10725           And something about newsegment events and caps-on-buffers to
10726           the porting guide (feel free to improve).
10727
10728 2005-09-21  Andy Wingo  <wingo@pobox.com>
10729
10730         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10731         data and event probes on the same pad.
10732         (test_buffer_probe_once): Test that removing probes from within
10733         the probe functions works.
10734
10735 2005-09-21  Andy Wingo  <wingo@pobox.com>
10736
10737         * check/gst/gstutils.c: New file.
10738         (test_buffer_probe_n_times): A simple buffer probe test. More to
10739         come, foolios.
10740
10741         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
10742         have-data::buffer, not have-data.
10743         (gst_pad_add_event_probe): Likewise for have-data::event.
10744         (gst_pad_add_data_probe): More docs. The part about 'resolving the
10745         peer' isn't quite right yet though.
10746         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
10747         (gst_pad_remove_data_probe): Change to take the guint handler_id
10748         as their arg, not the function+data, which is more glib-like.
10749
10750         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
10751         the signal emission to indicate if the data is a buffer or an
10752         event.
10753         (gst_pad_get_type): Initialize buffer and event quarks.
10754         (gst_pad_class_init): have-data is now a detailed signal, yes it
10755         is.
10756
10757 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10758
10759         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10760         * gst/gstutils.c: (gst_util_set_value_from_string),
10761         (gst_util_set_object_arg):
10762           Don't put functional code in g_return_if_fail() or
10763           g_return_val_if_fail() statements, otherwise things will 
10764           break when G_DISABLE_CHECKS is defined during compilation.
10765
10766 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10767
10768         * docs/gst/tmpl/.cvsignore:
10769         * docs/gst/tmpl/gstvalue.sgml:
10770         * gst/gstvalue.c:
10771         * gst/gstvalue.h:
10772           inlied another one and added  some obvious docs
10773
10774 2005-09-21  Wim Taymans  <wim@fluendo.com>
10775
10776         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10777         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
10778         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
10779         (gst_fdsrc_get_property), (gst_fdsrc_create):
10780         * gst/elements/gstfdsrc.h:
10781         Properly implement fdsrc. Removed signal and timeout,
10782         better implemented somewhere else.
10783
10784 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10785
10786         * docs/gst/tmpl/.cvsignore:
10787         * docs/gst/tmpl/gstimplementsinterface.sgml:
10788         * gst/gstinterface.c:
10789           inlined more docs
10790
10791 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10792
10793         * docs/gst/gstreamer-sections.txt:
10794         * docs/gst/tmpl/.cvsignore:
10795         * docs/gst/tmpl/gstenumtypes.sgml:
10796           remove obsolete doc file
10797
10798 2005-09-21  David Schleef  <ds@schleef.org>
10799
10800         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
10801         little beer, fix a little leak.
10802
10803 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10804
10805         * docs/gst/gstreamer-docs.sgml:
10806         * docs/gst/gstreamer-sections.txt:
10807         * docs/gst/tmpl/.cvsignore:
10808         * gst/Makefile.am:
10809         * gst/gst.h:
10810         * gst/gstbin.c:
10811         * gst/gstelement.h:
10812         * gst/gstindex.c: (gst_index_class_init):
10813         * gst/gstindex.h:
10814         * gst/gstindexfactory.c: (gst_index_factory_get_type),
10815         (gst_index_factory_class_init), (gst_index_factory_init),
10816         (gst_index_factory_finalize), (gst_index_factory_new),
10817         (gst_index_factory_destroy), (gst_index_factory_find),
10818         (gst_index_factory_create), (gst_index_factory_make):
10819         * gst/gstindexfactory.h:
10820         * gst/gstpluginfeature.c:
10821         * gst/gstpluginfeature.h:
10822         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10823           more docs inlined, splitted gstindex.{c,h}
10824
10825 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10826
10827         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10828           fix a leak
10829
10830 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10831
10832         * gst/elements/gstfilesink.c: (gst_file_sink_init):
10833           Set sync to FALSE by default.
10834
10835 2005-09-20  Wim Taymans  <wim@fluendo.com>
10836
10837         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10838         (gst_base_sink_init):
10839         Make sync property settable from subclass.
10840
10841         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10842         (gst_fake_sink_change_state):
10843         Set sync to FALSE by default.
10844
10845 2005-09-20  Wim Taymans  <wim@fluendo.com>
10846
10847         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
10848         * tools/gst-launch.c: (main):
10849         The timeout handler should have lower priority than the source
10850         so we don't timeout before popping a message with 0 timeout.
10851         Dump error messages after failed state change.
10852
10853 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10854
10855         * tools/gst-inspect.c: (print_element_properties_info):
10856           Fix two typos.
10857
10858 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10859
10860         * check/gst/gstevent.c:
10861         * gst/elements/gstfakesink.c:
10862         * gst/elements/gstfakesink.h:
10863           remove the sync property from fakesink.
10864           has the side effect of setting sync TRUE
10865           for fakesink, which is a change.  Anyone who knows how
10866           to fix this nicely in a GObject-y way, feel free.
10867
10868 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10869
10870         * docs/gst/gstreamer-docs.sgml:
10871           remove probe refsection
10872
10873 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10874
10875         * check/Makefile.am:
10876           disable valgrinding the controller test again
10877         * docs/gst/gstreamer-sections.txt:
10878           update for api-changes
10879
10880 2005-09-20  Wim Taymans  <wim@fluendo.com>
10881
10882         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10883         (gst_base_sink_set_property), (gst_base_sink_get_property),
10884         (gst_base_sink_do_sync):
10885         * gst/base/gstbasesink.h:
10886         Added sync property to basesink to disable clock sync.
10887
10888 2005-09-20  Andy Wingo  <wingo@pobox.com>
10889
10890         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
10891         eating the caller's refcount.
10892
10893         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
10894         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
10895         refcount.
10896
10897         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
10898         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
10899         of GLib 2.8 public, so we can know which refcount to check in
10900         tests.
10901
10902         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
10903         (gst_object_init): Only set the gst refcount if we're going ahead
10904         with the refcount hack.
10905
10906 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10907
10908         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10909         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10910           more leaks plumbed, added more debug-logging
10911         * gst/gstmacros.h:
10912           whitespace fix
10913
10914 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10915
10916         * gst/gstmessage.c:
10917           remove include of gstmemchunk.h
10918
10919 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10920
10921         * gst/gstclock.c: (_gst_clock_id_free):
10922           Commit from the Political Party For More Atomic CVS Commits,
10923           so that people don't waste too much of their day fishing
10924           out obvious leaks out of massive commits.
10925           Oh, and fix a pretty damn obvious leak in the memchunk
10926           removal code.
10927
10928 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10929
10930         * check/Makefile.am:
10931         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10932           plug mem-leak, re-add to valgrindable tests
10933
10934 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10935
10936         * gst/gstplugin.h:
10937           unbreak the build for those who have chronic arthritis
10938           and typing "make check" is just too taxing on the hands
10939
10940 2005-09-20  Andy Wingo  <wingo@pobox.com>
10941
10942         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
10943         really want it out, you should fix plugins at the same time.
10944
10945 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
10946
10947         * configure.ac:
10948         * docs/gst/gstreamer-sections.txt:
10949         * gst/gstobject.c:
10950           added missing symbols to api docs
10951           disable ref-count hack if we have glib >= 2.8
10952
10953 2005-09-19  David Schleef  <ds@schleef.org>
10954
10955         * docs/gst/Makefile.am: Ignore a few more internal headers
10956         * docs/gst/gstreamer-docs.sgml: Remove old sections
10957         * docs/gst/gstreamer-sections.txt: Remove old sections
10958         * docs/gst/tmpl/gstobject.sgml: update
10959         * docs/gst/tmpl/gstplugin.sgml: update
10960         * docs/gst/tmpl/gstpluginfeature.sgml: update
10961         * docs/random/ds/0.9-suggested-changes: update.
10962         * gst/Makefile.am: remove memchunk and trashstack, since they're
10963           not used.
10964         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
10965         * gst/gst.h: don't include some headers
10966         * gst/gstchildproxy.c: add gstmarshal.h
10967         * gst/gstclock.c: Don't use memchunks
10968         * gst/gstminiobject.c: Add some docs
10969         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
10970         * gst/gstobject.h: same
10971         * gst/gstplugin.c: include gstmacros.h
10972         * gst/gstplugin.h: don't include gstmacros.h, since it's private
10973         * gst/gstquery.c: don't use memchunks
10974         * gst/gstregistry.c: rename gst_registry_deinit()
10975         * gst/gstregistry.h: same
10976
10977 2005-09-19  David Schleef  <ds@schleef.org>
10978
10979         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
10980         * docs/libs/gstreamer-libs-sections.txt:
10981         * docs/libs/tmpl/gstgetbits.sgml:
10982         * docs/libs/tmpl/gstputbits.sgml:
10983
10984 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
10985
10986         * win32/gstenumtypes.c:
10987         * win32/gstenumtypes.h:
10988           Update.
10989
10990 2005-09-19  Wim Taymans  <wim@fluendo.com>
10991
10992         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
10993         Automatically PAUSE and RESUME a pipeline when a flushing seek
10994         is performed.
10995
10996 2005-09-19  Andy Wingo  <wingo@pobox.com>
10997
10998         * gst/gstregistry.h: Spacing fixen.
10999
11000 2005-09-19  Wim Taymans  <wim@fluendo.com>
11001
11002         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
11003         Handle state change failure more correctly.
11004
11005 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11006
11007         * check/Makefile.am:
11008         * check/pipelines/cleanup.c: (run_pipeline):
11009         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11010         (GST_START_TEST):
11011           enable cleanup again after fixing the leak
11012         * docs/README:
11013           some more info on docs
11014
11015 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11016
11017         * check/Makefile.am:
11018           re-enable tests now that leaks are plugged
11019         * check/gst/gst.c:
11020         * check/gst/gstbin.c:
11021         * check/gst/gstpipeline.c:
11022           add some more tests while fixing leaks
11023         * common/check.mak:
11024           make sure binaries are uptodate when valgrinding/gdbing
11025         * gst/gst.c:
11026         * gst/gstelementfactory.c:
11027           remove a ref too many, and add a FIXME for when we get
11028           round to disposing of classes
11029         * gst/gstplugin.c:
11030           fix the refcounting when loading a plugin from a file and
11031           the code pretends that the pointer is the same even though
11032           of course it can change
11033         * gst/gstpluginfeature.c:
11034           unref plugins marked cached (a bit confusing as a name)
11035           as the docs state should be done
11036           various doc additions to explain refcounting
11037         * gst/gstregistry.c:
11038         * gst/gstregistryxml.c:
11039           debugging
11040
11041 2005-09-19  Wim Taymans  <wim@fluendo.com>
11042
11043         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11044         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11045         (send_messages), (GST_START_TEST), (gstbus_suite):
11046         * check/gst/gstpipeline.c: (GST_START_TEST):
11047         * check/pipelines/cleanup.c: (run_pipeline):
11048         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11049         (GST_START_TEST):
11050         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
11051         (gst_bus_source_check), (gst_bus_source_dispatch),
11052         (gst_bus_create_watch), (gst_bus_add_watch_full),
11053         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
11054         * gst/gstbus.h:
11055         * tools/gst-launch.c: (event_loop):
11056         * tools/gst-md5sum.c: (event_loop):
11057         GstBusHandler -> GstBusFunc, return value has the same meaning as
11058         any other GSource (FALSE == remove source).
11059         _add_watch() and _add_watch_full() now take a MessageType mask to
11060         only handle specific types of messages.
11061         _poll() returns the GstMessage instead of the message type to avoid
11062         race conditions.
11063         _have_pending() takes a MessageType mask now too.
11064         Added testsuite for multiple bus watches.
11065         Fix testsuites and applications for new bus API.
11066
11067 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11068
11069         * check/Makefile.am:
11070           mark a bunch of the tests as to fix until we fix them
11071
11072 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11073
11074         * common/check.mak:
11075           use GST_PLUGIN settings for valgrind tests as well, so we're
11076           valgrinding the correct thing
11077         * gst/gst.c: (init_post):
11078           plug another leak
11079
11080 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11081
11082         * gst/gst.c: (init_post), (gst_deinit):
11083         * gst/gstelementfactory.c: (gst_element_factory_class_init),
11084         (gst_element_factory_finalize), (gst_element_factory_cleanup):
11085         * gst/gstindex.c: (gst_index_factory_class_init),
11086         (gst_index_factory_finalize):
11087         * gst/gstobject.c: (gst_object_dispose):
11088         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
11089         (gst_plugin_load_file), (gst_plugin_desc_free):
11090         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
11091         (gst_plugin_feature_finalize):
11092         * gst/gstregistry.c: (gst_registry_class_init),
11093         (gst_registry_init), (gst_registry_finalize),
11094         (gst_registry_get_default), (gst_registry_deinit):
11095         * gst/gstregistry.h:
11096         * gst/gstregistryxml.c: (load_feature), (load_plugin):
11097           various cleanups and memleak plugging.  make valgrind is happy now.
11098
11099 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11100
11101         * common/check.mak:
11102           add a check-valgrind target
11103
11104 2005-09-18  David Schleef  <ds@schleef.org>
11105
11106         * tools/gst-inspect.c: Revert the GOption code.
11107
11108 2005-09-17  David Schleef  <ds@schleef.org>
11109
11110         * check/Makefile.am: Fix environment variables.
11111         * check/gst/gstplugin.c: Fix for API changes.
11112         * tools/gst-inspect.c: Fix for API changes.
11113         * tools/gst-xmlinspect.c: Fix for API changes.
11114         * gst/gstelementfactory.c:
11115         * gst/gstplugin.c:
11116         * gst/gstplugin.h:
11117         * gst/gstpluginfeature.c:
11118         * gst/gstpluginfeature.h:
11119         * gst/gstregistry.c:
11120         * gst/gstregistry.h:
11121         * gst/gstregistryxml.c:
11122         * gst/gsttypefind.c:
11123         * gst/gsttypefindfactory.c:
11124         * gst/indexers/gstfileindex.c:
11125         * gst/indexers/gstmemindex.c:
11126         * gst/schedulers/Makefile.am:
11127           Change registry to keep track of both plugins and features,
11128           removing the feature tracking from plugins themselves.
11129
11130 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11131
11132         * check/Makefile.am:
11133         * tools/gst-register.1.in:
11134           remove gst-register
11135
11136 2005-09-15  David Schleef  <ds@schleef.org>
11137
11138         * check/gst/gstplugin.c:
11139         * gst/gstelementfactory.c:
11140         * gst/gstplugin.c:
11141         * gst/gstpluginfeature.c:
11142         * gst/gstregistry.c:
11143           Getting tired of debugging.  Disabled all the unreffing of
11144           plugins and features, which fixes the segfaults, but of
11145           course leaks like crazy.  At least playbin works.
11146
11147 2005-09-15  David Schleef  <ds@schleef.org>
11148
11149         * check/gst/gstplugin.c: (register_check_elements),
11150         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
11151         More testing
11152         * gst/elements/gsttypefindelement.c: Fix refcounting.
11153         * gst/gsttypefind.c:
11154         * gst/gsttypefindfactory.c:
11155         * gst/gsttypefindfactory.h:
11156
11157 2005-09-15  David Schleef  <ds@schleef.org>
11158
11159         * gst/gstindex.c: get refcounting correct.
11160         * gst/gstregistry.c: Handle the case where a feature/plugin is
11161           not found.
11162
11163 2005-09-15  David Schleef  <ds@schleef.org>
11164
11165         * check/Makefile.am:
11166         * check/gst/gstplugin.c: Add test
11167         * gst/gstplugin.c: Fix problems noticed by testsuite
11168         * gst/gstplugin.h:
11169         * gst/gstregistry.c: 
11170         * gst/gstregistry.h:
11171
11172 2005-09-15  David Schleef  <ds@schleef.org>
11173
11174         * gst/gstplugin.c: Implement semi-decent recounting and locking
11175           in plugins and plugin features.
11176         * gst/gstplugin.h:
11177         * gst/gstpluginfeature.c:
11178         * gst/gstpluginfeature.h:
11179         * gst/gstregistry.c:
11180
11181 2005-09-15  Michael Smith <msmith@fluendo.com>
11182
11183         * gst/gstregistry.c: (gst_registry_get_feature_list):
11184           Implement this. Makes oggdemux work; decodebin still broken.
11185
11186 2005-09-14  David Schleef  <ds@schleef.org>
11187
11188         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
11189           #316076)
11190         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
11191         * gst/check/Makefile.am:
11192         * libs/gst/controller/Makefile.am:
11193         * libs/gst/dataprotocol/Makefile.am:
11194
11195 2005-09-14  David Schleef  <ds@schleef.org>
11196
11197         * configure.ac: Remove getbits library.  Nothing uses it, and
11198           it should be in something like liboil if someone did want
11199           to use it.
11200         * libs/gst/Makefile.am:
11201         * libs/gst/getbits/Makefile.am:
11202         * libs/gst/getbits/gbtest.c:
11203         * libs/gst/getbits/getbits.c:
11204         * libs/gst/getbits/getbits.h:
11205         * libs/gst/getbits/gstgetbits_generic.c:
11206         * libs/gst/getbits/gstgetbits_i386.s:
11207         * libs/gst/getbits/gstgetbits_inl.h:
11208
11209 2005-09-14  David Schleef  <ds@schleef.org>
11210
11211         * gst/Makefile.am: Dist glib-compat.h
11212
11213 2005-09-14  David Schleef  <ds@schleef.org>
11214
11215         * configure.ac: Remove gst/registries, since it's no longer used.
11216         * gst/registries/Makefile.am:
11217         * gst/registries/gstlibxmlregistry.c:
11218         * gst/registries/gstlibxmlregistry.h:
11219         * gst/registries/gstxmlregistry.c:
11220         * gst/registries/gstxmlregistry.h:
11221         * gst/registries/registrytest.c:
11222
11223 2005-09-14  David Schleef  <ds@schleef.org>
11224
11225         * gst/glib-compat.h:
11226         * gst/gstregistryxml.c:
11227           Convergence is near.  Seriously.
11228
11229 2005-09-14  David Schleef  <ds@schleef.org>
11230
11231         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11232         * gst/glib-compat.h:
11233           Attempt #4 to appease the buildbots.
11234
11235 2005-09-14  David Schleef  <ds@schleef.org>
11236
11237         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11238           Attempt #3.
11239
11240 2005-09-14  David Schleef  <ds@schleef.org>
11241
11242         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11243         Attempt #2.
11244
11245 2005-09-14  David Schleef  <ds@schleef.org>
11246
11247         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11248           the new functions.
11249
11250 2005-09-14  David Schleef  <ds@schleef.org>
11251
11252         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11253         * gst/glib-compat.h: Add some functions that are in newer versions
11254           of glib than we care to require.
11255         * gst/gstregistryxml.c: Use them.
11256
11257 2005-09-14  David Schleef  <ds@schleef.org>
11258
11259         * po/POTFILES.in: remove gst-register.c
11260
11261 2005-09-14  David Schleef  <ds@schleef.org>
11262
11263         * docs/gst/gstreamer-docs.sgml:
11264         * docs/gst/gstreamer-sections.txt:
11265         * docs/gst/gstreamer.types:
11266         * docs/gst/tmpl/gstelement.sgml:
11267         * docs/gst/tmpl/gstplugin.sgml:
11268         * docs/gst/tmpl/gstpluginfeature.sgml:
11269           Documentation updates for registry changes.
11270
11271 2005-09-14  David Schleef  <ds@schleef.org>
11272
11273         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11274           because we don't require glib-2.8.
11275
11276 2005-09-14  David Schleef  <ds@schleef.org>
11277
11278         * gst/gstregistryxml.c: Added.  Essentially moved out of the
11279           registries directory.
11280
11281 2005-09-14  David Schleef  <ds@schleef.org>
11282
11283         * check/Makefile.am:
11284         * check/generic/states.c:
11285         * gst/Makefile.am:
11286         * gst/gst.c:
11287         * gst/gst.h:
11288         * gst/gst_private.h:
11289         * gst/gstelementfactory.c:
11290         * gst/gstindex.c:
11291         * gst/gstinfo.c:
11292         * gst/gstplugin.c:
11293         * gst/gstplugin.h:
11294         * gst/gstpluginfeature.c:
11295         * gst/gstpluginfeature.h:
11296         * gst/gstregistry.c:
11297         * gst/gstregistry.h:
11298         * gst/gstregistrypool.c: remove
11299         * gst/gstregistrypool.h: remove
11300         * gst/gsttypefind.c:
11301         * gst/gsttypefindfactory.c:
11302         * gst/gsturi.c:
11303         * tools/Makefile.am:
11304         * tools/gst-compprep.c:
11305         * tools/gst-inspect.c:
11306         * tools/gst-register.c: remove
11307         * tools/gst-xmlinspect.c:
11308           Registry rewrite.  Changes registry from being a file created
11309           by a tool into a simple cache file created automatically by 
11310           libgstreamer.  Removed gst-register (because it's no longer
11311           needed).  Remove registry pools, because we only have one
11312           registry implementation (XML).  Fix up other subsystems as
11313           necessary.
11314
11315 2005-09-13  Michael Smith <msmith@fluendo.com>
11316
11317         * gst/gstconfig.h.in:
11318           Don't Use windows linking attributes for MinGW. Fixes #316157
11319
11320 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11321
11322         * gst/gstutils.c: (set_state_async_thread_func),
11323         (gst_element_set_state_async):
11324           Apparently people think it's better if this function doesn't
11325           try to set the state to whatever state was asked for on the first
11326           call to this function for any object.  Seriously.
11327
11328 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11329
11330         * check/gst/gstpipeline.c: (GST_START_TEST):
11331         * docs/gst/gstreamer-sections.txt:
11332         * gst/gstutils.c: (set_state_async_thread_func),
11333         (gst_element_set_state_async):
11334         * gst/gstutils.h:
11335           add a "gst_element_set_state_async" method that
11336           sets the state and starts a thread to make sure the state
11337           change completes as best as it can
11338
11339 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11340
11341         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11342           codify design+behaviour in testsuite after discussion
11343
11344 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11345
11346         * docs/gst/tmpl/gstelement.sgml:
11347         * docs/manual/appendix-quotes.xml:
11348           add a quote
11349         * gst/gstelement.c: (gst_element_set_state):
11350           add some debug
11351
11352 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
11353
11354         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11355         (gst_base_transform_prepare_output_buf),
11356         (gst_base_transform_handle_buffer):
11357         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11358         (gst_capsfilter_prepare_buf):
11359           Remove the requirement for sub-classes to call the parent
11360           implementation of prepare_output_buffer with a wrapper function.
11361           
11362         * gst/gsttaglist.h:
11363         * gst/gsttagsetter.h:
11364           Fix #define wrapper
11365
11366 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
11367
11368         * docs/gst/gstreamer-sections.txt:
11369           more doc cleanups
11370
11371 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11372
11373         * docs/gst/gstreamer-sections.txt:
11374         * docs/gst/tmpl/gstelement.sgml:
11375         * docs/gst/tmpl/gstplugin.sgml:
11376         * gst/gstminiobject.c:
11377         * gst/gstvalue.h:
11378           docs now stop throwing warnings
11379
11380 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11381
11382         * docs/gst/gstreamer-sections.txt:
11383         * docs/gst/gstreamer.types:
11384         * docs/gst/tmpl/gstpad.sgml:
11385         * docs/gst/tmpl/gsttypes.sgml:
11386         * gst/base/gstadapter.h:
11387         * gst/base/gstbasesink.h:
11388         * gst/base/gstbasesrc.h:
11389         * gst/gstbin.h:
11390         * gst/gstbuffer.h:
11391         * gst/gstbus.h:
11392         * gst/gstcaps.h:
11393         * gst/gstclock.h:
11394         * gst/gstelement.h:
11395         * gst/gstevent.h:
11396         * gst/gstmessage.h:
11397         * gst/gstpad.h:
11398         * gst/gststructure.c:
11399         * gst/registries/gstlibxmlregistry.h:
11400           various documentation fixes
11401
11402 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11403
11404         * docs/gst/gstreamer-sections.txt:
11405         * docs/gst/tmpl/gstvalue.sgml:
11406           rearrange gstvalue section
11407         * gst/gstutils.c: (gst_element_state_get_name):
11408           NONE -> VOID
11409         * gst/gstvalue.c: (_gst_value_initialize):
11410         * gst/gstvalue.h:
11411           doc updates
11412
11413 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
11414
11415         * check/gst-libs/controller.c:
11416           Header include fix.
11417         * gst/base/gstbasetransform.c:
11418         (gst_base_transform_default_prepare_buf),
11419         (gst_base_transform_handle_buffer):
11420         * gst/base/gstbasetransform.h:
11421           Some more basetransform changes and fixes to enable sub-classes
11422           that modify buffer metadata only.
11423         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11424         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11425         (gst_capsfilter_prepare_buf):
11426           If the output pad has fixed allowed caps and input buffers 
11427           don't have any, set the fixed caps on outgoing buffers.
11428
11429 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
11430         * check/elements/identity.c: (GST_START_TEST):
11431           Make the error a little clearer when the test fails because
11432           identity made a copy of the buffer.
11433         * docs/gst/gstreamer-sections.txt:
11434           New symbols in gstbasetransform.h
11435         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11436         (gst_base_transform_init), (gst_base_transform_transform_size),
11437         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11438         (gst_base_transform_default_prepare_buf),
11439         (gst_base_transform_get_unit_size),
11440         (gst_base_transform_buffer_alloc),
11441         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11442         (gst_base_transform_change_state),
11443         (gst_base_transform_set_passthrough),
11444         (gst_base_transform_set_in_place),
11445         (gst_base_transform_is_in_place):
11446         * gst/base/gstbasetransform.h:
11447           Change BaseTransform to separate in_place operate from same_caps
11448           output. in_place implies that the element can perform the transform
11449           on incoming buffers in-place, even if the caps on the output are
11450           different.
11451           Sub-class elements can now implement special buffer allocation
11452           methods for outgoing buffers if they wish to.
11453           Big documentation addition.
11454         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11455         * gst/elements/gstelements.c:
11456           Changes for basetransform modifications.
11457         * gst/elements/Makefile.am:
11458         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11459           Compile fix. Extra debug output.
11460
11461 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11462
11463         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11464         (gst_pad_suite):
11465           add tests for valid pad naming
11466         * gst/check/gstcheck.c: (gst_check_log_message_func),
11467         (gst_check_log_critical_func):
11468           add ASSERT_WARNING
11469           remove printing of code, it is fragile when the code contains
11470           % and the line number is enough info
11471         * gst/check/gstcheck.h:
11472         * gst/gstpad.c: (gst_pad_template_new):
11473           fix memleaks
11474
11475 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11476
11477         * configure.ac:
11478           say what CHECK flags we use
11479         * docs/libs/gstreamer-libs.types:
11480         * libs/gst/controller/Makefile.am:
11481         * libs/gst/controller/gst-controller.c:
11482         * libs/gst/controller/gst-controller.h:
11483         * libs/gst/controller/gst-helper.c:
11484         * libs/gst/controller/gst-interpolation.c:
11485         * libs/gst/controller/gstcontroller.c:
11486         * libs/gst/controller/gsthelper.c:
11487         * libs/gst/controller/gstinterpolation.c:
11488         * tools/gst-inspect.c: (print_plugin_info):
11489           we don't use dashes in header names
11490
11491 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11492
11493         * check/Makefile.am:
11494         * check/gst/.cvsignore:
11495         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11496         (gst_pipeline_suite), (main):
11497           adding a test for pipelines and state changes
11498         * gst/gstutils.c: (get_state_func):
11499           add some debugging
11500         * gstreamer.spec.in:
11501           fix up spec file
11502
11503 2005-09-08  Michael Smith <msmith@fluendo.com>
11504
11505         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11506         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11507         (gst_file_src_is_seekable), (gst_file_src_get_size),
11508         (gst_file_src_start):
11509         * gst/elements/gstfilesrc.h:
11510           Various fixes for unseekable, unmmapable, and non-normal files, so
11511           that fallback to read() rather than mmap() works.
11512         * gst/gstevent.c: (gst_event_new_newsegment):
11513           Allow newsegment events with segment_start == segment_end, as will
11514           correctly happen if you use filesrc on a zero-size file, for
11515           example.
11516
11517 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11518
11519         * gst/gstplugin.c: (gst_plugin_load_file):
11520           Call g_module_close when we don't load the module
11521
11522         * gst/registries/gstlibxmlregistry.c:
11523         (gst_xml_registry_get_property):
11524           Port leak fix from 0.8
11525
11526 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11527
11528         * docs/gst/gstreamer-docs.sgml:
11529         * docs/gst/tmpl/.cvsignore:
11530         * docs/gst/tmpl/gsttrace.sgml:
11531         * docs/gst/tmpl/gsttrashstack.sgml:
11532         * gst/Makefile.am:
11533         * gst/gst.h:
11534         * gst/gstelement.h:
11535         * gst/gstevent.h:
11536         * gst/gstmessage.c:
11537         * gst/gstmessage.h:
11538         * gst/gsttag.c:
11539         * gst/gsttag.h:
11540         * gst/gsttaginterface.c:
11541         * gst/gsttaginterface.h:
11542         * gst/gsttaglist.c:
11543         * gst/gsttaglist.h:
11544         * gst/gsttagsetter.c:
11545         * gst/gsttagsetter.h:
11546         * gst/gsttrace.c:
11547         * gst/gsttrace.h:
11548         * gst/gsttrashstack.c:
11549           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11550           inlined docs for gsttrace, gsttrashstack
11551
11552 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11553
11554         * gst/Makefile.am:
11555         * gst/elements/gstbufferstore.h:
11556         * gst/elements/gsttypefindelement.c:
11557         * gst/elements/gsttypefindelement.h:
11558         * gst/gst.h:
11559         * gst/gsttypefind.c:
11560         * gst/gsttypefind.h:
11561         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11562         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11563         (gst_type_find_factory_dispose),
11564         (gst_type_find_factory_unload_thyself),
11565         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11566         (gst_type_find_factory_get_caps),
11567         (gst_type_find_factory_get_extensions),
11568         (gst_type_find_factory_call_function):
11569         * gst/gsttypefindfactory.h:
11570         * gst/registries/gstlibxmlregistry.c:
11571         * gst/registries/gstxmlregistry.c:
11572           splitted gsttypefind into gsttypefind, gsttypefindfactory
11573
11574 2005-09-07  Andy Wingo  <wingo@pobox.com>
11575
11576         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11577         condition whereby the pad's task function is entered before the
11578         pad_mode variable was set.
11579
11580 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11581
11582         * gst/gstpad.c: (gst_pad_alloc_buffer):
11583           Catch misbehaving pad_alloc functions that don't
11584           set up caps and do it for them.
11585
11586 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11587
11588         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11589           test for pipe!=NULL
11590         * docs/gst/tmpl/.cvsignore:
11591         * docs/gst/tmpl/gstmemchunk.sgml:
11592         * docs/gst/tmpl/gstparse.sgml:
11593         * docs/gst/tmpl/gsttaglist.sgml:
11594         * docs/gst/tmpl/gsttagsetter.sgml:
11595         * docs/gst/tmpl/gsttypefind.sgml:
11596         * docs/gst/tmpl/gsttypefindfactory.sgml:
11597         * gst/gstmemchunk.c:
11598         * gst/gstparse.c:
11599         * gst/gsttag.c:
11600         * gst/gsttaginterface.c:
11601         * gst/gsttypefind.c:
11602         * gst/gsttypefind.h:
11603           inlined more docs
11604
11605 === release 0.9.2 ===
11606
11607 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11608
11609         * NEWS:
11610         * RELEASE:
11611         * configure.ac:
11612           releasing 0.9.2, "South"
11613
11614 2005-09-05  Andy Wingo  <wingo@pobox.com>
11615
11616         * gst/registries/gstxmlregistry.h:
11617         * gst/registries/gstxmlregistry.c: Um... resurrect...
11618         
11619         * gst/registries/gstxmlregistry.h:
11620         * gst/registries/gstxmlregistry.c: and update to newer API.
11621         Incidentally they should be a bit faster now that they don't have
11622         to parse the caps.
11623         
11624 2005-09-05  Andy Wingo  <wingo@pobox.com>
11625
11626         * gst/registries/gstxmlregistry.h:
11627         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11628         replaced by the libxml registry a while back
11629
11630 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11631
11632         * docs/gst/tmpl/gstplugin.sgml:
11633         * gst/elements/gstelements.c:
11634         * gst/gst.c:
11635         * gst/gstplugin.c: (gst_plugin_register_func),
11636         (gst_plugin_desc_copy), (gst_plugin_desc_free),
11637         (gst_plugin_get_source):
11638         * gst/gstplugin.h:
11639         * gst/registries/gstlibxmlregistry.c: (load_plugin),
11640         (gst_xml_registry_save_plugin):
11641         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11642         (gst_xml_registry_save_plugin):
11643         * tools/gst-inspect.c: (print_plugin_info):
11644           add a "source" plugin description field, to represent the source
11645           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
11646           will set it to PACKAGE, which is automake's idea of the name of
11647           the source project.
11648
11649 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11650
11651         * Makefile.am:
11652         * autogen.sh:
11653         * configure.ac:
11654         * docs/Makefile.am:
11655         * docs/faq/Makefile.am:
11656         * docs/gst/tmpl/gstelement.sgml:
11657         * docs/gst/tmpl/gsttypes.sgml:
11658         * docs/htmlinstall.mak:
11659         * docs/manual/Makefile.am:
11660         * docs/pwg/Makefile.am:
11661           reorganize doc build a little
11662           split out docbook and gtk-doc stuff
11663           have two separate --enable's and enable them through autogen
11664           but disable by default in configure (to be similar to other
11665           projects)
11666         * gstreamer.spec.in:
11667           clean up docs install
11668         * po/af.po:
11669         * po/az.po:
11670         * po/ca.po:
11671         * po/cs.po:
11672         * po/de.po:
11673         * po/en_GB.po:
11674         * po/fr.po:
11675         * po/it.po:
11676         * po/nb.po:
11677         * po/nl.po:
11678         * po/ru.po:
11679         * po/sq.po:
11680         * po/sr.po:
11681         * po/sv.po:
11682         * po/tr.po:
11683         * po/uk.po:
11684         * po/vi.po:
11685           translation updates
11686
11687 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11688
11689         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11690           Add comment.
11691           
11692         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11693         (gst_fake_sink_change_state):
11694           Make state change function thread-safe.
11695           
11696         * gst/gstpad.c: (gst_pad_alloc_buffer):
11697           Set offset on generic buffer allocated by fallback.
11698
11699 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
11700
11701         * docs/gst/gstreamer-sections.txt:
11702         * docs/gst/tmpl/gstelement.sgml:
11703         * gst/gstpad.c:
11704         * libs/gst/controller/gst-controller.c:
11705         (gst_controlled_property_set_interpolation_mode),
11706         (gst_controlled_property_new),
11707         (gst_controller_find_controlled_property):
11708          run the wingo-magic script against the docs
11709
11710 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11711
11712         * docs/gst/gstreamer-docs.sgml:
11713         * docs/gst/gstreamer-sections.txt:
11714         * docs/gst/tmpl/.cvsignore:
11715         * docs/gst/tmpl/gstelementdetails.sgml:
11716         * docs/gst/tmpl/gstelementfactory.sgml:
11717         * gst/gst.c:
11718         * gst/gstbus.c:
11719         * gst/gstelementfactory.c:
11720         * gst/gstelementfactory.h:
11721           merged elementdetails docs into elementfactory docs
11722           inlined both
11723
11724 2005-09-02  Andy Wingo  <wingo@pobox.com>
11725
11726         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11727         consider this enum an enum and not a flags.
11728
11729 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11730
11731         * docs/gst/gstreamer-docs.sgml:
11732         * docs/gst/tmpl/.cvsignore:
11733         * docs/gst/tmpl/gstghostpad.sgml:
11734         * docs/gst/tmpl/gstiterator.sgml:
11735         * docs/gst/tmpl/gstmacros.sgml:
11736         * docs/gst/tmpl/gstrealpad.sgml:
11737         * docs/gst/tmpl/gstregistry.sgml:
11738         * docs/gst/tmpl/gstregistrypool.sgml:
11739         * docs/gst/tmpl/gststructure.sgml:
11740         * docs/gst/tmpl/gstsystemclock.sgml:
11741         * docs/gst/tmpl/gsttrace.sgml:
11742         * gst/gstghostpad.c:
11743         * gst/gstmacros.h:
11744         * gst/gstmemchunk.c:
11745         * gst/gstmemchunk.h:
11746         * gst/gstqueue.c:
11747         * gst/gstregistry.c:
11748         * gst/gstregistrypool.c:
11749         * gst/gststructure.c:
11750         * gst/gstsystemclock.c:
11751           more docs inlined
11752
11753 2005-09-02  Andy Wingo  <wingo@pobox.com>
11754
11755         * gst/gstelement.h (GstState): Renamed from GstElementState,
11756         changed to be a normal enum instead of flags.
11757         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
11758         munged to be GST_STATE_CHANGE_*.
11759         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
11760         work with the new state representation.
11761         (GstStateChange): New enumeration of possible state transitions.
11762         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
11763         (GstElementClass::change_state): Pass the GstStateChange along as
11764         an argument. Helps language bindings, so they don't have to use
11765         tricky lock-needing macros like GST_STATE_CHANGE ().
11766
11767         * scripts/update-states (file): New script. Run it on a file to
11768         update it for state naming and API changes. Updates files in
11769         place.
11770
11771         * All files updated for the new API.
11772
11773 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11774
11775         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
11776         * gst/gstutils.c: (gst_util_set_value_from_string),
11777         (gst_util_set_object_arg):
11778           fix a bunch of unchecked return values
11779         * tools/gst-complete.c: (main):
11780         * gstreamer.spec.in:
11781           clean up a little
11782
11783 2005-09-01  Wim Taymans  <wim@fluendo.com>
11784
11785         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11786         (gst_base_sink_event), (gst_base_sink_do_sync),
11787         (gst_base_sink_handle_event):
11788         * gst/base/gstbasesink.h:
11789         Handle newsegments more correctly.
11790
11791         * gst/gstbus.c:
11792         Fix docs.
11793
11794         * gst/gstevent.c: (gst_event_new_newsegment):
11795         A newsegment cannot have a start_time of -1
11796
11797 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11798
11799         * win32/gstenumtypes.c:
11800         * win32/gstenumtypes.h:
11801           Update
11802
11803 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11804
11805         * libs/gst/controller/gst-controller.c:
11806         (gst_controlled_property_set_interpolation_mode),
11807         (gst_controlled_property_new):
11808          fixed boolean again
11809
11810 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11811
11812         * docs/faq/gst-uninstalled:
11813           add -good
11814         * gst/gstevent.c:
11815         * gst/gstevent.h:
11816           remove wrong docs
11817         * gst/gstutils.c: (gst_element_link_filtered):
11818         * gst/gstutils.h:
11819           add gst_element_link_filtered
11820
11821 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11822
11823         * docs/gst/gstreamer-docs.sgml:
11824         * docs/gst/gstreamer-sections.txt:
11825         * docs/gst/tmpl/.cvsignore:
11826         * docs/gst/tmpl/gsterror.sgml:
11827         * docs/gst/tmpl/gstfilter.sgml:
11828         * docs/gst/tmpl/gsturihandler.sgml:
11829         * docs/gst/tmpl/gsturitype.sgml:
11830         * docs/gst/tmpl/gstutils.sgml:
11831         * docs/gst/tmpl/gstxml.sgml:
11832         * gst/gsterror.c:
11833         * gst/gsterror.h:
11834         * gst/gstfilter.c:
11835         * gst/gsturi.c:
11836         * gst/gsturitype.c:
11837         * gst/gstutils.c:
11838         * gst/gstxml.c:
11839           inlined more docs, fixed double id-ref
11840
11841 2005-08-31  Wim Taymans  <wim@fluendo.com>
11842
11843         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11844         (gst_base_transform_handle_buffer):
11845         Passthrough elements don't need the caps as they don't care.
11846
11847 2005-08-31  Wim Taymans  <wim@fluendo.com>
11848
11849         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11850         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
11851         Don't leak refcounts on buffers.
11852
11853 2005-08-31  Wim Taymans  <wim@fluendo.com>
11854
11855         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
11856         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11857         (gst_base_transform_chain), (gst_base_transform_change_state):
11858         * gst/base/gstbasetransform.h:
11859         Handle the case where we are not negotiated more gracefully.
11860
11861 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
11862
11863         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
11864         (gst_file_src_map_region):
11865           Set READONLY flag on mmap'ed buffers, otherwise
11866           gst_buffer_make_writable() won't work properly (#314708).
11867
11868 2005-08-31  Wim Taymans  <wim@fluendo.com>
11869
11870         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
11871         passthrough elements can even do inplace on non writable
11872         buffers (as they don't touch them).
11873
11874 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11875
11876         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11877         (gst_test_mono_source_set_property),
11878         (gst_test_mono_source_class_init), (GST_START_TEST),
11879         (gst_controller_suite):
11880           more tests (hehe I have the most)
11881         * gst/gstbus.c:
11882           describe popping messages whenusing mulltiple sources
11883         * libs/gst/controller/gst-controller.c:
11884         (gst_controlled_property_set_interpolation_mode),
11885         (gst_controlled_property_new):
11886         * libs/gst/controller/gst-controller.h:
11887         * libs/gst/controller/gst-interpolation.c:
11888           implement boolean properties
11889
11890 2005-08-31  Wim Taymans  <wim@fluendo.com>
11891
11892         * gst/gstminiobject.c: (gst_mini_object_ref):
11893         Cannot assert that the refcount has to be positive
11894         since a disposed object can be resurrected.
11895
11896 2005-08-31  Wim Taymans  <wim@fluendo.com>
11897
11898         * gst/gstpad.c: (gst_pad_init):
11899         Revert change, need to first fix badly behaving 
11900         apps.
11901
11902 2005-08-30  Wim Taymans  <wim@fluendo.com>
11903
11904         * check/elements/fakesrc.c: (setup_fakesrc):
11905         * check/elements/identity.c: (setup_identity):
11906         Activate pads before using them.
11907
11908 2005-08-30  Wim Taymans  <wim@fluendo.com>
11909
11910         * gst/base/gstadapter.c: (gst_adapter_flush):
11911         Flushing out 0 bytes is ok for this function.
11912
11913         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11914         no newsegment gives a warning and sets the start/stop to 
11915         invalid.
11916
11917         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
11918         (gst_base_transform_set_passthrough):
11919         Some debug info.
11920
11921         * gst/gstminiobject.c: (gst_mini_object_ref):
11922         Check refcount here too.
11923
11924         * gst/gstpad.c: (gst_pad_init):
11925         Pads are initially flushing and refusing data.
11926
11927         * gst/gstutils.c: (gst_element_link_pads_filtered):
11928         When adding a capsfilter element make sure it has the
11929         same state as the parent bin.
11930
11931 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11932
11933         * docs/gst/tmpl/.cvsignore:
11934         * docs/gst/tmpl/gstformat.sgml:
11935         * docs/gst/tmpl/gstversion.sgml:
11936         * gst/gstbus.h:
11937         * gst/gstformat.c:
11938         * gst/gstformat.h:
11939         * gst/gstversion.h.in:
11940           more docs and two more inlined
11941
11942 2005-08-30  Wim Taymans  <wim@fluendo.com>
11943
11944         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
11945         Don't sync to clock.
11946
11947 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11948
11949         * docs/gst/gstreamer-sections.txt:
11950           ultral33t func10ns deserve to appear in the docs actually
11951         * docs/gst/tmpl/.cvsignore:
11952         * docs/gst/tmpl/gstcompat.sgml:
11953         * docs/gst/tmpl/gstconfig.sgml:
11954         * gst/check/gstcheck.c:
11955         * gst/gstcompat.h:
11956         * gst/gstconfig.h.in:
11957           inlined more docs
11958
11959 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11960
11961         * docs/gst/tmpl/.cvsignore:
11962         * docs/gst/tmpl/gstquery.sgml:
11963         * docs/gst/tmpl/gstutils.sgml:
11964         * gst/gstquery.c:
11965         * gst/gstquery.h:
11966           inlined and extended docs
11967
11968 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11969
11970         * check/gst-libs/controller.c: (GST_START_TEST),
11971         (gst_controller_suite):
11972           more tests
11973         * docs/gst/tmpl/gstutils.sgml:
11974         * docs/libs/gstreamer-libs-sections.txt:
11975         * docs/libs/tmpl/gstdataprotocol.sgml:
11976           include path fixes
11977         * examples/controller/audio-example.c: (main):
11978           controller example works now
11979         * gst/gstclock.h:
11980           doc fixes
11981         * tools/gst-inspect.c: (print_element_properties_info):
11982           show param spec flags
11983
11984 2005-08-29  Andy Wingo  <wingo@pobox.com>
11985
11986         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
11987
11988 2005-08-28  Andy Wingo  <wingo@pobox.com>
11989
11990         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
11991         as having two arguments instead of just one. Allows superclasses
11992         to access information on subclasses -- see the terrible for() loop
11993         in gtype.c:g_type_create_instance for the reason why. All callers
11994         changed.
11995
11996 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
11997
11998         * docs/design/part-messages.txt:
11999           update info
12000         * docs/gst/tmpl/.cvsignore:
12001         * docs/gst/tmpl/gstcaps.sgml:
12002         * docs/gst/tmpl/gstclock.sgml:
12003         * gst/gstbus.c:
12004         * gst/gstcaps.c:
12005         * gst/gstcaps.h:
12006         * gst/gstclock.c:
12007         * gst/gstclock.h:
12008         * gst/gstmessage.c:
12009           added descriptions for bus and message
12010           inline caps and clock docs
12011
12012 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12013
12014         * gst/gstmessage.c:
12015         * gst/gstmessage.h:
12016           doc fixes
12017
12018 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12019
12020         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12021           fix div-by-zero
12022
12023 2005-08-26  Andy Wingo  <wingo@pobox.com>
12024
12025         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
12026         element_set_state's return val.
12027         (test_2_elements): Add test that's been disabled for months.
12028
12029         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
12030         can-activate-pull properties.
12031
12032         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
12033         can-activate-pull properties. Implement is_seekable so fakesrc can
12034         operate in pull mode.
12035
12036         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
12037         properties.
12038         (gst_base_sink_activate, gst_base_sink_activate_pull)
12039         (gst_base_sink_activate_push): Make activation mode choosing work.
12040         Cleanups.
12041         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
12042         is right. Make pull mode work. Post an eos before pausing in pull
12043         mode.
12044         (gst_base_sink_change_state): Pay attention to the core's
12045         change_state() return val.
12046         
12047         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
12048         has-getrange properties. Cleanups.
12049         
12050         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
12051         has_getrange and replace with can_activate_pull and
12052         can_activate_push.
12053
12054         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
12055         locking comments. Remove has_loop, has_chain and replace with
12056         can_activate_pull and can_activate_push.
12057
12058 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
12059
12060         * configure.ac:
12061         * examples/Makefile.am:
12062         * examples/metadata/Makefile.am:
12063         * examples/metadata/read-metadata.c: (message_loop),
12064         (have_pad_handler), (make_pipeline), (print_tag), (main):
12065           Add metadata reading example that loops over a list of filenames,
12066           dumping any tags found.
12067
12068         * gst/gstbus.c: (gst_bus_dispose):
12069         * gst/gstelement.c: (gst_element_dispose):
12070           Release a few potentially-held references in dispose.
12071
12072 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12073
12074         * docs/gst/tmpl/gstminiobject.sgml:
12075           do *not* add tmpl/*.sgml files to CVS!
12076
12077 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12078
12079         * libs/gst/bytestream/.cvsignore:
12080         * libs/gst/bytestream/Makefile.am:
12081         * libs/gst/bytestream/adapter.c:
12082         * libs/gst/bytestream/adapter.h:
12083         * libs/gst/bytestream/bytestream.c:
12084         * libs/gst/bytestream/bytestream.h:
12085         * libs/gst/bytestream/filepad.c:
12086         * libs/gst/bytestream/filepad.h:
12087           removing obsolete files
12088
12089 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12090
12091         * docs/gst/gstreamer-docs.sgml:
12092         * docs/libs/gstreamer-libs-docs.sgml:
12093           disabed additional index entries again, as this makes docs-gen just
12094           slow and they aren't useful yet
12095         * docs/libs/gstreamer-libs-sections.txt:
12096           little -section.txt cleanup for libs
12097
12098 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12099
12100         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12101         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
12102           fix up some debugging
12103         (gst_base_transform_get_unit_size),
12104         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12105         (gst_base_transform_handle_buffer):
12106         * gst/base/gstbasetransform.h:
12107           handle and store timed NEWSEGMENT events so that subclasses that
12108           calculate time by counting samples have a segment_start time they
12109           need to add to their timestamps - see audioresample
12110
12111 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12112
12113         * gst/gstbin.h:
12114           removed ';' from the end of macro defs
12115         * docs/gst/gstreamer-docs.sgml:
12116         * docs/gst/gstreamer-sections.txt:
12117         * docs/gst/tmpl/.cvsignore:
12118         * gst/gstbus.h:
12119         * gst/gstelement.c: (gst_element_class_init),
12120         (gst_element_set_state), (activate_pads),
12121         (gst_element_save_thyself):
12122         * gst/gstevent.c: (gst_event_new_newsegment):
12123         * gst/gstevent.h:
12124         * gst/gstiterator.c:
12125         * gst/gstiterator.h:
12126         * gst/gstpad.c:
12127         * gst/gstprobe.h:
12128         * gst/gstutils.c: (gst_pad_query_convert):
12129         * gst/gstutils.h:
12130           fixed parameter name mismatches between source, header and docs
12131           added some more docs, resolved the last batch of unused elements in
12132           docs (now someone needs to doc them)
12133
12134 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12135
12136         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
12137         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
12138           don't walk through the plugins backwards.  Where is all this
12139           reversed logic coming from ?
12140
12141 2005-08-25  Wim Taymans  <wim@fluendo.com>
12142
12143         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12144         (gst_base_transform_transform_size),
12145         (gst_base_transform_configure_caps),
12146         (gst_base_transform_get_unit_size),
12147         (gst_base_transform_buffer_alloc),
12148         (gst_base_transform_change_state):
12149         * gst/base/gstbasetransform.h:
12150         Cache caps unit_size.
12151         Make sure we cannot negotiate up and downstream at the
12152         same time.
12153
12154 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12155
12156         * gst/gst.c: (init_pre), (init_post):
12157           register the installed plugin path after the env var
12158         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
12159         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
12160           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
12161           directories, so the tests can prefer uninstalled over installed
12162
12163 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12164
12165         * gst/base/gstbasetransform.h:
12166           comment
12167         * gst/gstpad.c:
12168           add to docs
12169
12170 2005-08-25  Wim Taymans  <wim@fluendo.com>
12171
12172         * gst/gstbin.c: (bin_bus_handler):
12173         Be a bit more conservative about the posted message.
12174         
12175         * gst/gstbus.c: (gst_bus_post):
12176         Some cleanups, warn wrong return values.
12177
12178 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
12179
12180         * check/gst/gstbin.c: (GST_START_TEST):
12181         * gst/gstbin.c: (bin_bus_handler):
12182         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12183         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12184         (gst_message_new_warning), (gst_message_new_tag),
12185         (gst_message_new_state_changed), (gst_message_new_segment_start),
12186         (gst_message_new_segment_done), (gst_message_new_custom):
12187         * gst/gstmessage.h:
12188         * tools/gst-launch.c: (event_loop):
12189         * tools/gst-md5sum.c: (event_loop):
12190           Revert unpopular change for GST_MESSAGE_SRC to GObject.
12191
12192 2005-08-25  Wim Taymans  <wim@fluendo.com>
12193
12194         * check/generic/states.c: (GST_START_TEST):
12195         Cleanup can be done at the end.
12196
12197         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
12198         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12199         (gst_task_get_state), (gst_task_start), (gst_task_pause):
12200         Oh boy.. Thanks for finding this, Thomas. 
12201
12202 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12203
12204         * docs/gst/gstreamer.types:
12205           added missing types
12206
12207 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12208
12209         * docs/gst/gstreamer-docs.sgml:
12210         * docs/gst/gstreamer-sections.txt:
12211         * docs/gst/tmpl/.cvsignore:
12212         * gst/gstbin.c:
12213         * gst/gstiterator.c:
12214         * gst/gstutils.c:
12215         * gst/registries/gstxmlregistry.h:
12216           added missing classes and symbols (123 more to go)
12217           removed removed symbols from section file
12218           fixed many doc-comments
12219
12220 2005-08-24  Wim Taymans  <wim@fluendo.com>
12221
12222         * check/generic/states.c: (GST_START_TEST):
12223         Make sure all tasks are stopped.
12224
12225         * check/gst/gstbin.c: (GST_START_TEST):
12226         Unref after usage for proper valgrinding.
12227
12228         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12229         Really wait for the task to stop before destroying the
12230         mutex.
12231
12232         * gst/gstqueue.c: (gst_queue_sink_activate_push),
12233         (gst_queue_src_activate_push):
12234         Small cleanups. Don't stop the task when we did not start
12235         it.
12236
12237         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12238         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12239         (gst_task_get_state), (gst_task_start), (gst_task_pause),
12240         (gst_task_join):
12241         * gst/gsttask.h:
12242         Protect the stream lock with the object lock.
12243         Disallow setting the stream lock when running.
12244         Add cleanup_all to wait for the threadpool to finish.
12245         Remove code to autoallocate a mutex if none was provided.
12246         Add _join() to wait for a task to stop.
12247         Protect the thread pool with a global lock.
12248
12249 2005-08-24  Wim Taymans  <wim@fluendo.com>
12250
12251         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12252         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12253         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12254         * gst/base/gstbasesink.h:
12255         Handle newsegment events correctly.
12256         Drop buffers out of the segment range.
12257
12258 2005-08-22  Andy Wingo  <wingo@pobox.com>
12259
12260         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12261         macro, implements an interface and gstimplementsinterface for a
12262         new type.
12263
12264 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12265
12266         * check/Makefile.am:
12267         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12268           add a test that does a bunch of state changes on elements
12269           needs some fixing for valgrind
12270         * check/states/sinks.c: (gst_object_suite):
12271           whitespace
12272         * gst/gstcaps.h:
12273           add prototype for gst_caps_is_equal_fixed
12274         * gst/gstplugin.c:
12275         * gst/gstregistrypool.c:
12276           doc fixes
12277
12278 2005-08-24  Andy Wingo  <wingo@pobox.com>
12279
12280         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12281         convert a negative value. Doesn't make much sense. Mostly this is
12282         here to force callers to ensure -1 maps to -1.
12283
12284 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12285
12286         * docs/pwg/advanced-types.xml:
12287           Well done to Michael for catching my deliberate introduction
12288           of this spelling mistake. 
12289         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12290         * gst/gstelement.h:
12291           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12292           unlink pads before removing the element from the bin.
12293
12294 2005-08-24  Andy Wingo  <wingo@pobox.com>
12295
12296         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12297         the same thing as GST_DEBUG=*:4.
12298         (parse_debug_level, parse_debug_category): New helper parsers.
12299
12300 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12301
12302         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12303         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12304         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12305         (gst_base_transform_buffer_alloc),
12306         (gst_base_transform_handle_buffer):
12307           use gboolean return values and pointers to size so we can use the
12308           full GST_BUFFER_SIZE range (guint) for buffer sizes
12309           use GstPadDirection for transform_caps
12310         * gst/base/gstbasetransform.h:
12311           rename get_size to get_unit_size since that's what it is
12312         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12313           use GstPadDirection for transform_caps
12314         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12315         * gst/gstutils.h:
12316           cleanup and debugging
12317
12318 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12319
12320         * gst/gstelement.c: (gst_element_class_init),
12321         (gst_element_set_state), (activate_pads),
12322         (gst_element_save_thyself):
12323         * tools/gst-compprep.c: (main):
12324         * tools/gst-inspect.c: (print_element_properties_info):
12325         * tools/gst-xmlinspect.c: (print_element_properties):
12326           Fixed long standing mem-leak
12327
12328 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12329
12330         * check/gst/gstbin.c: (GST_START_TEST):
12331         * gst/gstbin.c: (bin_bus_handler):
12332         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12333         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12334         (gst_message_new_warning), (gst_message_new_tag),
12335         (gst_message_new_state_changed), (gst_message_new_segment_start),
12336         (gst_message_new_segment_done), (gst_message_new_custom):
12337         * gst/gstmessage.h:
12338         * tools/gst-launch.c: (event_loop):
12339         * tools/gst-md5sum.c: (event_loop):
12340           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12341           that applications can sensibly post custom messages with references
12342           to their own objects.
12343
12344 2005-08-24  Andy Wingo  <wingo@pobox.com>
12345
12346         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12347         already.
12348
12349 2005-08-24  Wim Taymans  <wim@fluendo.com>
12350
12351         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12352         (gst_base_transform_transform_caps),
12353         (gst_base_transform_transform_size),
12354         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12355         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12356         (gst_base_transform_handle_buffer):
12357         * gst/base/gstbasetransform.h:
12358         Many fixes and new features added by Thomas. Can now also do
12359         transforms with variable sizes and a custom fixate_caps function.
12360
12361 2005-08-24  Wim Taymans  <wim@fluendo.com>
12362
12363         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12364         Some debugging.
12365
12366         * gst/gstclock.h:
12367         Cast to ClockTime before formatting to time.
12368
12369         * gst/gstutils.h:
12370         Cleanups.
12371
12372 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12373
12374         * check/gst-libs/controller.c: (GST_START_TEST),
12375         (gst_controller_suite):
12376         * docs/gst/tmpl/gstcaps.sgml:
12377         * docs/gst/tmpl/gstghostpad.sgml:
12378         * docs/gst/tmpl/gstquery.sgml:
12379         * docs/gst/tmpl/gstutils.sgml:
12380         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12381         (gst_object_sink_values), (gst_object_get_value_arrays),
12382         (gst_object_get_value_array):
12383           gracefully handle helper method calls to objects that are not beeing
12384           controlled, added test case for that          
12385
12386 2005-08-23  Wim Taymans  <wim@fluendo.com>
12387
12388         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12389         (gst_event_new_newsegment), (gst_event_parse_newsegment),
12390         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12391         (gst_event_parse_qos), (gst_event_new_seek),
12392         (gst_event_parse_seek):
12393         * gst/gstevent.h:
12394         Some more debugging output and doc cleanups.
12395
12396         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12397         Fix possible deadlock.
12398
12399 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12400
12401         * docs/gst/gstreamer-docs.sgml:
12402         * docs/gst/gstreamer-sections.txt:
12403         * docs/gst/gstreamer.types:
12404         * docs/gst/tmpl/.cvsignore:
12405         * gst/gstbin.h:
12406         * gst/gstbus.c:
12407         * gst/gstelement.c:
12408         * gst/gstevent.h:
12409           added 100 symbols from gstreamer-unused.txt to the right sections
12410           fixed more broken comments
12411           added GstBus to docs
12412
12413 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12414
12415         * docs/gst/gstreamer-sections.txt:
12416         * docs/gst/tmpl/.cvsignore:
12417         * docs/gst/tmpl/gstbin.sgml:
12418         * docs/gst/tmpl/gstbuffer.sgml:
12419         * gst/base/gstbasesrc.c:
12420         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12421         * gst/gstbuffer.c:
12422         * gst/gstbuffer.h:
12423         * tools/gst-launch.1.in:
12424           inlined more doc comments, added missing comments and fixed comments
12425           fixed typos
12426
12427 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12428
12429         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12430           some debugging
12431         * gst/gstcaps.h:
12432           whitespace fixes
12433         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12434           more debugging
12435         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12436         * gst/gststructure.h:
12437           add a fixate function for booleans; add a FIXME that these func
12438           names should probably be gst_structure_fixate_*
12439
12440 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12441
12442         * docs/gst/gstreamer-docs.sgml:
12443         * docs/gst/gstreamer-sections.txt:
12444         * gst/Makefile.am:
12445         * gst/gstbin.c: (gst_bin_get_type),
12446         (gst_bin_child_proxy_get_child_by_index),
12447         (gst_bin_child_proxy_get_children_count),
12448         (gst_bin_child_proxy_init):
12449         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12450         (gst_child_proxy_get_child_by_index),
12451         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12452         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12453         (gst_child_proxy_get), (gst_child_proxy_set_property),
12454         (gst_child_proxy_set_valist), (gst_child_proxy_set),
12455         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12456         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12457         * gst/gstchildproxy.h:
12458         * gst/parse/grammar.y:
12459         * tools/gst-inspect.c: (print_interfaces),
12460         (print_element_properties_info), (print_element_info):
12461           ported gstchildproxy over from 0.8
12462           ported gst-inspect fixes and enhancements over from 0.8
12463
12464 2005-08-22  Wim Taymans  <wim@fluendo.com>
12465
12466         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12467         (gst_base_transform_handle_buffer):
12468         Also call the transform function if we have ANY caps.
12469
12470         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12471         Fix debug info.
12472
12473 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12474
12475         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12476           Don't pretend to handle seek events if the source is not seekable
12477
12478 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12479
12480         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12481           Remove extra parameter to debug output
12482
12483         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12484         (gst_base_src_do_seek), (gst_base_src_activate_push):
12485           Fix seek event handling.
12486
12487         * gst/gstpipeline.c: (gst_pipeline_change_state):
12488         * gst/gstqueue.c: (gst_queue_handle_sink_event),
12489         (gst_queue_src_activate_push):
12490           Don't start the src pad task on FLUSH_STOP if the pad
12491           isn't linked.
12492           Debug changes.
12493
12494 2005-08-22  Wim Taymans  <wim@fluendo.com>
12495
12496         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12497         Added check for gst_static_caps_get() refcounting.
12498
12499 2005-08-22  Wim Taymans  <wim@fluendo.com>
12500
12501         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12502         Make _static_caps_get() refcounting sane.
12503         
12504         * gst/gstelement.c: (gst_element_set_state):
12505         Add g_return_val_if_fail() to protect against segfaults.
12506
12507 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
12508
12509         * docs/gst/tmpl/gstevent.sgml:
12510         * gst/gstevent.c:
12511         * gst/gstevent.h:
12512           inlined remaining docs, added missing doc comments
12513
12514 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12515
12516         * check/gst/gstbin.c: (GST_START_TEST):
12517           since we don't know when preroll is done, use refcount range
12518           check for the sink
12519         * gst/check/gstcheck.h:
12520           add macro for checking refcount range
12521
12522 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12523
12524         * check/Makefile.am:
12525           clean up environment for when registry gets built versus
12526           when actual tests are run; valgrind seems to not report
12527           leaks if GST_PLUGIN_PATH is set to some specific values
12528         * check/gst/gstbin.c: (GST_START_TEST):
12529           add more refcounting checks; maybe this exposes a
12530           preroll lock bug ?
12531         * common/check.mak:
12532         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12533         * gst/check/gstcheck.h:
12534         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12535         (gst_bin_change_state):
12536         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12537           add/fix debugging/whitespace
12538
12539 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12540
12541         * check/gst/gstevent.c: (event_probe), (test_event),
12542         (GST_START_TEST):
12543          Er, don't call gst_bin_watch_for_state_change you idiot.
12544
12545 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12546
12547         * check/Makefile.am:
12548           Use CHECK_CFLAGS and CHECK_LIBS
12549         * check/gst/gstevent.c: (event_probe), (test_event),
12550         (GST_START_TEST):
12551           Don't leak events.
12552         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12553         (gst_base_src_start), (gst_base_src_stop),
12554         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12555         (gst_base_src_change_state):
12556           Sprinkle gst_base_src_stop liberally around error paths to fix
12557           problems reusing a source after failed state changes.
12558         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12559         (helper_find_suggest), (gst_type_find_helper):
12560           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12561         * gst/gstevent.h:
12562         * docs/gst/tmpl/gstevent.sgml:
12563           Migrate part of the docs from the SGML file. Wait for ensonic to
12564           tell me how I did it wrong ;)
12565         * tools/gst-typefind.c: (main):
12566           Extra robustness to state changes between files.
12567
12568 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12569
12570         * check/Makefile.am:
12571           don't valgrind the controller test - it's leaking - Stefan, HELP
12572         * gst/check/gstcheck.c: (gst_check_message_error),
12573         (gst_check_chain_func), (gst_check_setup_element),
12574         (gst_check_teardown_element), (gst_check_setup_src_pad),
12575         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12576         (gst_check_teardown_sink_pad):
12577         * gst/check/gstcheck.h:
12578           add a bunch of methods to set up elements, and src and sink pads
12579         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12580         * check/elements/identity.c: (setup_identity), (cleanup_identity),
12581         (GST_START_TEST):
12582           use them
12583         * gst/gstmessage.c:
12584         * gst/gsttag.h:
12585           whitespace/doc fixes
12586
12587 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12588
12589         * gst/gstelement.h:
12590           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12591           be handled by the application and not always printed as well
12592
12593 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12594
12595         * check/Makefile.am:
12596           set GST_TOOLS_DIR
12597         * gst/check/gstcheck.c: (gst_check_message_error):
12598         * gst/check/gstcheck.h:
12599           add a fail_unless_equals_int
12600           add fail_unless for error messages
12601
12602 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12603
12604         * check/Makefile.am:
12605         * check/gst.supp:
12606         * common/Makefile.am:
12607         * common/check.mak:
12608         * common/gst.supp:
12609           factor out some of the common stuff so we can use it
12610
12611 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12612
12613         * check/Makefile.am:
12614         * check/gst/gstiterator.c: (GST_START_TEST):
12615         * check/gst/gstsystemclock.c: (GST_START_TEST),
12616         (gst_systemclock_suite):
12617         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12618         * gst/gstclock.c:
12619           valgrind more tests
12620
12621 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12622
12623         * check/elements/.cvsignore:
12624         * check/elements/gstfakesrc.c:
12625           rename to name of element
12626         * check/elements/identity.c: (chain_func), (event_func),
12627         (setup_identity), (cleanup_identity), (GST_START_TEST),
12628         (identity_suite), (main):
12629           add a test for identity
12630         * check/Makefile.am:
12631         * pkgconfig/Makefile.am:
12632         * pkgconfig/gstreamer-check.pc.in:
12633         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12634         * gst/check:
12635         * gst/Makefile.am:
12636         * configure.ac:
12637           move the check stuff to a library that gets installed
12638         * check/gst-libs/controller.c: (GST_START_TEST):
12639         * check/gst-libs/gdp.c:
12640         * check/gst/gst.c: (GST_START_TEST):
12641         * check/gst/gstbin.c:
12642         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12643         * check/gst/gstbus.c:
12644         * check/gst/gstcaps.c: (GST_START_TEST):
12645         * check/gst/gstelement.c:
12646         * check/gst/gstghostpad.c:
12647         * check/gst/gstiterator.c:
12648         * check/gst/gstmessage.c:
12649         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12650         * check/gst/gstobject.c:
12651         * check/gst/gstpad.c: (GST_START_TEST):
12652         * check/gst/gststructure.c: (GST_START_TEST):
12653         * check/gst/gstsystemclock.c: (GST_START_TEST),
12654         (gst_systemclock_suite):
12655         * check/gst/gsttag.c: (gst_tag_suite):
12656         * check/gst/gstvalue.c:
12657         * check/pipelines/cleanup.c:
12658         * check/pipelines/simple_launch_lines.c:
12659         * check/states/sinks.c:
12660           change include statement
12661
12662         * docs/gst/gstreamer-sections.txt:
12663         * docs/gst/tmpl/gstpad.sgml:
12664           document more pad stuff
12665         * gst/gstminiobject.c: (gst_mini_object_ref),
12666         (gst_mini_object_unref):
12667           debug refcounting
12668
12669 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
12670
12671         * docs/gst/tmpl/gst.sgml:
12672         * gst/gst.c:
12673           eliminate another tmpl file, fix spelling in the long-description
12674
12675 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12676
12677         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12678         (test_event), (timediff), (gstevents_suite):
12679           Should fix build on 64-bit arch's
12680
12681 2005-08-18  Andy Wingo  <wingo@pobox.com>
12682
12683         Make sure that when a pipeline goes to PLAYING, that data has
12684         actually hit the sink.
12685
12686         * check/states/sinks.c (test_sink): A sink that doesn't get any
12687         data shouldn't return SUCCESS for going to either PLAYING or
12688         PAUSED. Test also the return values on the way back down.
12689
12690         * gst/gstelement.c (gst_element_set_state): When changing the
12691         state of an element currently changing state asynchronously, go to
12692         lost-state after commiting the pending state. Makes future calls
12693         to get_state continue to return ASYNC.
12694
12695         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12696         ASYNC when going to PLAYING if we still don't have preroll, as can
12697         happen with live sources.
12698
12699 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12700
12701         * docs/pwg/advanced-types.xml:
12702           Hack long paragraph into 2 chunks as a workaround for buggy
12703           jadetex version in sid and breezy that loops infinitely and
12704           eats all RAM.
12705
12706 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12707
12708         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12709         (test_event), (timediff), (gstevents_suite):
12710           Provide more error margin in clock measurements to allow for 
12711           g_get_current_time inaccuracies.
12712
12713 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12714
12715         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12716         (test_event), (timediff), (gstevents_suite):
12717            Fix error message output so I might be able to tell why the
12718            test works here but fails on the build farm.
12719
12720 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12721
12722         * check/Makefile.am:
12723         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12724         (test_event), (timediff), (gstevents_suite), (main):
12725           I wrote a test!
12726
12727         * docs/design/part-seeking.txt:
12728           Spelling correction
12729
12730         * docs/gst/tmpl/gstevent.sgml:
12731         * docs/gst/tmpl/gstfakesrc.sgml:
12732           Docs updates.
12733
12734         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12735           Treat a buffer-without-newsegment the same as a receiving 
12736           a newsegment not in time format, and disable syncing to the clock
12737           with a warning.
12738
12739         * gst/gstbus.c: (gst_bus_set_sync_handler):
12740           Assert if anyone tries to replace the existing sync_handler for bus, 
12741           as only the owner should be setting it.
12742
12743         * gst/gstevent.h:
12744           Have a fixed set of custom event enums with events identified by
12745           their structure name (as in 0.8), rather than a free-for-all
12746           allowing collisions between enum values from different plugins.
12747
12748         * gst/gstpad.c: (gst_pad_class_init):
12749           Docs change.
12750           
12751         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12752           Handle out-of-band downstream events from the sending thread.
12753
12754 2005-08-17  Andy Wingo  <wingo@pobox.com>
12755
12756         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
12757         play-timeout==0 to mean no timeout at all. In that case, don't
12758         bother with a get_state or a warning, just return directly, even
12759         if it's ASYNC.
12760
12761         * gst/base/gstbasetransform.c: Debug changes.
12762
12763         * gst/gstutils.h:
12764         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
12765         ensure bins post state change messages. A bit of a hack but I can't
12766         think of a way to avoid it.
12767
12768         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
12769
12770 2005-08-16  Andy Wingo  <wingo@pobox.com>
12771
12772         * gst/base/gstadapter.h:
12773         * gst/base/gstadapter.c (gst_adapter_take): New function, like
12774         peek() but you own the data. Not terribly efficient atm.
12775
12776 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12777
12778         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
12779         (gst_element_found_tags):
12780         * gst/gstutils.h:
12781           Add two utility functions for tag handling.
12782
12783 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12784
12785         * docs/manual/advanced-dataaccess.xml:
12786         * docs/manual/basics-helloworld.xml:
12787           Fix docs to use _bin_add() before _link(), which fixes the examples
12788           with recent core versions (reported by Madhan Raj M
12789           <raj_madan@rediffmail.com>, #313199).
12790
12791 2005-08-16  Wim Taymans  <wim@fluendo.com>
12792
12793         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12794         Added subtract checks.
12795
12796         * docs/design/part-events.txt:
12797         Some more docs about newsegment
12798
12799         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12800         Fix FIXME
12801
12802         * gst/gstcaps.c: (gst_caps_to_string):
12803         Add comments, cleanups.
12804         
12805         * gst/gstelement.c: (gst_element_save_thyself):
12806         cleanups
12807         
12808         * gst/gstvalue.c: (gst_value_collect_int_range),
12809         (gst_string_unwrap), (gst_value_union_int_int_range),
12810         (gst_value_union_int_range_int_range),
12811         (gst_value_intersect_int_int_range),
12812         (gst_value_intersect_int_range_int_range),
12813         (gst_value_intersect_double_double_range),
12814         (gst_value_intersect_double_range_double_range),
12815         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
12816         (gst_value_subtract_int_range_int),
12817         (gst_value_subtract_double_range_double),
12818         (gst_value_subtract_double_range_double_range),
12819         (gst_value_subtract_from_list), (gst_value_subtract_list),
12820         (gst_value_can_compare), (gst_value_compare_fraction):
12821         Cleanups, add comments, remove unneeded asserts.
12822
12823 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12824
12825         * tools/gst-launch.c: (event_loop):
12826           don't convert NULL structures to strings
12827
12828 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
12829
12830         * docs/gst/gstreamer-sections.txt:
12831           made some defines private
12832         * docs/gst/tmpl/gstconfig.sgml:
12833         * docs/gst/tmpl/gstqueue.sgml:
12834         * docs/gst/tmpl/gsttaglist.sgml:
12835         * docs/gst/tmpl/gsttypes.sgml:
12836         * docs/gst/tmpl/gstutils.sgml:
12837         * docs/pwg/appendix-porting.xml:
12838         * gst/base/gstbasesink.h:
12839         * gst/base/gstbasesrc.c:
12840         * gst/base/gstbasesrc.h:
12841         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
12842         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
12843         * gst/gstelement.c: (gst_element_class_init):
12844         * gst/gstpad.c: (gst_pad_class_init):
12845         * gst/gstqueue.c: (gst_queue_class_init):
12846         * gst/gstxml.c: (gst_xml_class_init):
12847           documented all undocumented signal inline
12848         * libs/gst/controller/gst-controller.h:
12849           added padding
12850
12851 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12852
12853         * docs/pwg/appendix-porting.xml:
12854           Document _set_link_function -> _set_setcaps_function.
12855
12856 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12857
12858         * check/Makefile.am:
12859           add a .check target for running the check
12860         * check/gst-libs/controller.c: (GST_START_TEST):
12861           cosmetic fixups
12862         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12863           complete checks for gstbuffer; would be nice if I could get the
12864           gcov stuff to work so I can see if I actually completed gstbuffer.c
12865         * check/gstcheck.h:
12866           add ASSERT_BUFFER_REFCOUNT
12867
12868 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
12869
12870         * docs/gst/gstreamer-sections.txt:
12871         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12872         * gst/gsttag.h:
12873           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
12874           spew out a warning if a tag that is already registered
12875           is re-registered, unless it is re-registered with a 
12876           different type (#308438).
12877
12878 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
12879
12880         * docs/pwg/appendix-porting.xml:
12881         * docs/pwg/building-state.xml:
12882           Add some paragraphs about state changes in 0.9 to the PWG
12883           and the porting guide, in particular about the new meaning
12884           of GST_STATE_PAUSED and how to write state change functions
12885           with concurrent access by multiple threads in mind.
12886
12887 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
12888
12889         * docs/gst/gstreamer-docs.sgml:
12890         * docs/libs/gstreamer-libs-docs.sgml:
12891           added deprecation and since indexes
12892         * libs/gst/controller/gst-controller.c:
12893         * libs/gst/controller/gst-helper.c:
12894           added since tags
12895
12896
12897 2005-08-11  Wim Taymans  <wim@fluendo.com>
12898
12899         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
12900         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
12901         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
12902         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
12903         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
12904         (gst_ghost_pad_set_target):
12905         Actually implement (re)setting the target on a ghostpad
12906         as described in the docs.
12907
12908 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12909
12910         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
12911           Check whether GST_DEBUG_NO_COLOR environment variable is
12912           set and disable coloured debug output if that is the case.
12913
12914 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12915
12916         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12917         (gst_type_find_helper):
12918           The memory returned by gst_type_find_peek() needs to
12919           stay valid until the end of a typefind function, and
12920           typefind functions may keep results from different 
12921           offsets around, so we can't just unref the buffer from
12922           the previous _peek(), but have to save all buffers 
12923           returned by _peek() until typefinding is done and only
12924           free them then.
12925
12926 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12927
12928         * docs/gst/gstreamer-sections.txt:
12929         * gst/gstutils.h:
12930           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
12931
12932 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12933
12934         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12935           Fix a pretty good memleak.
12936
12937 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12938
12939         * gst/gstiterator.h:
12940           Fix wrong include and 'make distcheck'.
12941
12942 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12943
12944         * gst/gstbin.c: (bin_bus_handler):
12945           Use gst_element_post_message() instead.
12946
12947 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12948
12949         * gst/base/gstadapter.h:
12950         * gst/base/gstbasesink.h:
12951         * gst/base/gstbasesrc.h:
12952         * gst/base/gstbasetransform.h:
12953         * gst/base/gstcollectpads.h:
12954         * gst/base/gstpushsrc.h:
12955         * gst/gstiterator.h:
12956           Add padding to our base elements' class and instance structs and
12957           to GstIterator (you will need to rebuild all plugins and apps!)
12958
12959 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12960
12961         * gst/gstbin.c: (bin_bus_handler):
12962           Make default message forwarding from child->bus to bin->bus
12963           threadsafe and make it not emit warnings if the parent has no bus.
12964
12965 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12966
12967         * gst/gstelement.c: (activate_pads):
12968           On paused->ready, set pad->caps to NULL, as is the documented
12969           behaviour in this state change. Fixes playback of series of
12970           media files when visualization is enabled in Totem.
12971
12972 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12973
12974         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12975           Allow NULL as filter-caps (which means "any").
12976
12977 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12978
12979         * docs/libs/gstreamer-libs-sections.txt:
12980         * libs/gst/controller/gst-controller.c:
12981         * libs/gst/controller/gst-controller.h:
12982         * libs/gst/controller/gst-helper.c:
12983           adding more entries to the docs and fix small doc-bugs
12984
12985 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12986
12987         * docs/gst/gstreamer-docs.sgml:
12988         * docs/gst/gstreamer-sections.txt:
12989         * docs/gst/gstreamer.types:
12990         * docs/gst/tmpl/gstbasesink.sgml:
12991         * docs/gst/tmpl/gstbasesrc.sgml:
12992         * docs/gst/tmpl/gstbasetransform.sgml:
12993         * docs/gst/tmpl/gstfakesrc.sgml:
12994         * gst/base/gstcollectpads.c:
12995         * gst/base/gstcollectpads.h:
12996         * libs/gst/controller/gst-controller.c:
12997         * libs/gst/controller/gst-controller.h:
12998         * libs/gst/controller/gst-helper.c:
12999         * libs/gst/controller/gst-interpolation.c:
13000         * libs/gst/controller/lib.c:
13001           added long/short desc for controller docs
13002           added collectpads base class docs
13003           added correct includes to base-class docs
13004
13005 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13006
13007         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13008         (gst_test_mono_source_set_property),
13009         (gst_test_mono_source_class_init), (GST_START_TEST),
13010         (gst_controller_suite):
13011         * docs/gst/gstreamer-docs.sgml:
13012         * docs/gst/gstreamer-sections.txt:
13013         * docs/gst/gstreamer.types:
13014         * docs/libs/gstreamer-libs-docs.sgml:
13015         * docs/libs/gstreamer-libs-sections.txt:
13016         * gst/base/gstadapter.c:
13017         * libs/gst/controller/gst-controller.c:
13018         (gst_controlled_property_new), (gst_controlled_property_free),
13019         (gst_controller_new_valist),
13020         (gst_controller_remove_properties_valist),
13021         (gst_controller_sink_values), (_gst_controller_finalize):
13022         * libs/gst/controller/gst-controller.h:
13023         * libs/gst/controller/gst-helper.c:
13024         (gst_object_control_properties), (gst_object_uncontrol_properties),
13025         (gst_object_get_controller), (gst_object_set_controller),
13026         (gst_object_sink_values), (gst_object_get_value_arrays),
13027         (gst_object_get_value_array):
13028           more tests (and fixes) for the controller
13029           more docs for the controller
13030           integrated companies docs for the adapter 
13031
13032 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13033
13034         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
13035         (GST_START_TEST), (fakesrc_suite):
13036           add tests for sizetype
13037
13038 2005-08-04  Andy Wingo  <wingo@pobox.com>
13039
13040         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
13041         fixes buffer_alloc proxying among other things.
13042
13043         * gst/base/gstbasetransform.c:
13044         * gst/base/gstbasetransform.h:
13045         Revert patch to gstbasetransform from 7-28 removing
13046         delay_configure.
13047
13048         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
13049         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
13050         Semantics changed, should return not the size of the output buffer
13051         but the byte size of a buffer with a given caps.
13052
13053         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
13054         debug object.
13055         (gst_base_transform_configure_caps): Don't set out_size here: (in,
13056         out) are not the pad caps until setcaps finishes.
13057         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
13058         not-in-place case as well. Deal with changing from in-place to
13059         not-in-place within calling pad_alloc_buffer. Still a bit
13060         concerned about the overhead here...
13061
13062 2005-08-03  Andy Wingo  <wingo@pobox.com>
13063
13064         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
13065         fixating is an error.
13066
13067 2005-08-04  Edward Hervey  <edward@fluendo.com>
13068
13069         * gst/base/gstadapter.h: 
13070         Added gst_adapter_get_type() to the header
13071
13072 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13073
13074         * check/Makefile.am:
13075         * check/gst-libs/controller.c:
13076         * libs/gst/controller/gst-controller.c:
13077         (gst_controller_new_valist):
13078           added check test suite for the controller
13079         * gst/base/gstpushsrc.c:
13080           fixed a doc typo
13081
13082 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13083
13084         * docs/gst/Makefile.am:
13085         * docs/gst/gstreamer-docs.sgml:
13086         * docs/gst/gstreamer-sections.txt:
13087         * docs/gst/gstreamer.types:
13088         * docs/gst/tmpl/gstfakesrc.sgml:
13089         * gst/base/README:
13090         * gst/base/gstbasesink.c:
13091         * gst/base/gstbasesink.h:
13092         * gst/base/gstbasesrc.c:
13093         * gst/base/gstbasesrc.h:
13094         * gst/base/gstbasetransform.c:
13095         * gst/base/gstpushsrc.c:
13096         * gst/base/gstpushsrc.h:
13097           add short/long description docs to base classes
13098           add pushsrc to the docs
13099           remove consolidated doc fragments
13100
13101 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13102
13103         * configure.ac:
13104         * docs/libs/Makefile.am:
13105         * docs/libs/gstreamer-libs-docs.sgml:
13106         * docs/libs/gstreamer-libs-sections.txt:
13107         * docs/libs/gstreamer-libs.types:
13108         * examples/Makefile.am:
13109         * examples/controller/.cvsignore:
13110         * examples/controller/Makefile.am:
13111         * examples/controller/audio-example.c: (main):
13112         * libs/gst/Makefile.am:
13113         * libs/gst/controller/.cvsignore:
13114         * libs/gst/controller/Makefile.am:
13115         * libs/gst/controller/gst-controller.c:
13116         (on_object_controlled_property_changed), (gst_timed_value_compare),
13117         (gst_timed_value_find),
13118         (gst_controlled_property_set_interpolation_mode),
13119         (gst_controlled_property_new), (gst_controlled_property_free),
13120         (gst_controller_find_controlled_property),
13121         (gst_controller_new_valist), (gst_controller_new),
13122         (gst_controller_remove_properties_valist),
13123         (gst_controller_remove_properties), (gst_controller_set),
13124         (gst_controller_set_from_list), (gst_controller_unset),
13125         (gst_controller_get), (gst_controller_get_all),
13126         (gst_controller_sink_values), (gst_controller_get_value_arrays),
13127         (gst_controller_get_value_array),
13128         (gst_controller_set_interpolation_mode),
13129         (_gst_controller_finalize), (_gst_controller_init),
13130         (_gst_controller_class_init), (gst_controller_get_type):
13131         * libs/gst/controller/gst-controller.h:
13132         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
13133         (g_object_uncontrol_properties), (g_object_get_controller),
13134         (g_object_set_controller), (g_object_sink_values),
13135         (g_object_get_value_arrays), (g_object_get_value_array):
13136         * libs/gst/controller/gst-interpolation.c:
13137         (gst_controlled_property_find_timed_value_node),
13138         (interpolate_none_get), (interpolate_trigger_get),
13139         (interpolate_trigger_get_value_array):
13140         * libs/gst/controller/lib.c: (gst_controller_init):
13141         * pkgconfig/Makefile.am:
13142         * pkgconfig/gstreamer-control-uninstalled.pc.in:
13143         * pkgconfig/gstreamer-control.pc.in:
13144         * testsuite/Makefile.am:
13145         * testsuite/controller/.cvsignore:
13146         * testsuite/controller/Makefile.am:
13147         * testsuite/controller/interpolator.c: (main):
13148           added controller code
13149           removed dparam pc files
13150
13151 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13152         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
13153         (gst_collectpads_stop):
13154           Broadcast the condition when shutting down, to make sure we wake all
13155           threads up. Shut down pads on finalize, for safety.
13156
13157 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13158         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13159         (gst_base_transform_handle_buffer),
13160         (gst_base_transform_change_state):
13161           Handle PAUSED->READY->PAUSED transition after negotiation
13162           occurred already.
13163         * gst/gstmessage.c: (gst_message_init):
13164           Extra piece of debug for new messages.
13165
13166 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
13167
13168         * configure.ac:
13169         * docs/gst/tmpl/gstbasesrc.sgml:
13170         * docs/gst/tmpl/gstelement.sgml:
13171         * docs/gst/tmpl/gstevent.sgml:
13172         * docs/gst/tmpl/gstfakesrc.sgml:
13173         * docs/gst/tmpl/gstformat.sgml:
13174         * docs/gst/tmpl/gstghostpad.sgml:
13175         * docs/gst/tmpl/gstpad.sgml:
13176         * docs/gst/tmpl/gstquery.sgml:
13177         * docs/gst/tmpl/gststructure.sgml:
13178         * docs/gst/tmpl/gsttaglist.sgml:
13179         * docs/gst/tmpl/gstvalue.sgml:
13180         * docs/libs/gstreamer-libs-docs.sgml:
13181         * docs/libs/gstreamer-libs-sections.txt:
13182         * docs/libs/gstreamer-libs.types:
13183         * libs/gst/Makefile.am:
13184         * libs/gst/control/.cvsignore:
13185         * libs/gst/control/Makefile.am:
13186         * libs/gst/control/control.c:
13187         * libs/gst/control/control.h:
13188         * libs/gst/control/dparam.c:
13189         * libs/gst/control/dparam.h:
13190         * libs/gst/control/dparam_smooth.c:
13191         * libs/gst/control/dparam_smooth.h:
13192         * libs/gst/control/dparamcommon.h:
13193         * libs/gst/control/dparammanager.c:
13194         * libs/gst/control/dparammanager.h:
13195         * libs/gst/control/dplinearinterp.c:
13196         * libs/gst/control/dplinearinterp.h:
13197         * libs/gst/control/unitconvert.c:
13198         * libs/gst/control/unitconvert.h:
13199         * testsuite/Makefile.am:
13200         * testsuite/dynparams/.cvsignore:
13201         * testsuite/dynparams/Makefile.am:
13202         * testsuite/dynparams/dparamstest.c:
13203         * tools/Makefile.am:
13204         * tools/gst-inspect.c: (print_element_info), (main):
13205         * tools/gst-xmlinspect.c: (print_element_info), (main):
13206           deactivate and remove dparams (libgstcontrol)
13207
13208 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13209
13210         * gst/elements/gsttypefindelement.c:
13211         (gst_type_find_element_have_type), (gst_type_find_element_init),
13212         (stop_typefinding), (gst_type_find_element_handle_event),
13213         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13214         * gst/elements/gsttypefindelement.h:
13215           Set caps on all outgoing buffers, not just the first one.
13216
13217 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13218
13219         * gst/elements/gsttypefindelement.c:
13220         (gst_type_find_element_have_type),
13221         (gst_type_find_element_check_set_buffer_caps),
13222         (gst_type_find_element_init), (stop_typefinding),
13223         (gst_type_find_element_handle_event),
13224         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13225         * gst/elements/gsttypefindelement.h:
13226           Set caps on first outgoing buffer when we've found the type.
13227
13228 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13229
13230         * docs/gst/gstreamer-docs.sgml:
13231         * docs/gst/gstreamer-sections.txt:
13232         * docs/gst/tmpl/gstscheduler.sgml:
13233         * docs/gst/tmpl/gstschedulerfactory.sgml:
13234           Remove some old cruft from docs.
13235
13236 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
13237
13238         * gst/gstpad.h:
13239           Fix inline docs for GstPadLinkReturn.
13240           
13241         * gst/gststructure.c: (gst_structure_has_name):
13242         * gst/gststructure.h:
13243         * docs/gst/gstreamer-sections.txt:
13244           New API: gst_structure_has_name().
13245
13246 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
13247
13248         * configure.ac:
13249           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13250           and _LARGEFILE_SOURCE in config.h as required. Do not 
13251           export those flags in our .pc files any longer (#142209).
13252
13253           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13254
13255         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13256         (gst_file_sink_do_seek), (gst_file_sink_event),
13257         (gst_file_sink_get_current_offset), (gst_file_sink_render):
13258           Redo seek/tell calls with large file support in mind; add some
13259           debugging messages; add log message that tells us when large
13260           file support is unavailable or not enabled for some reason.
13261
13262         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13263           Add log message that tells us when large file support 
13264           is unavailable or not enabled for some reason.
13265
13266 2005-07-29  Wim Taymans  <wim@fluendo.com>
13267
13268         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13269         Added test for removing an element with ghostpad from a bin.
13270         Fixed test as current implementation does the right thing.
13271
13272         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13273         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13274         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13275         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13276         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13277         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13278         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13279         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13280         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13281         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13282         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13283         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13284         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13285         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13286         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13287         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13288         * gst/gstghostpad.h:
13289         Clean up ghostpads, remove properties for internal stuff.
13290         Make threadsafe.
13291         Fix refcounting.
13292         Prepare for switching targets, not all use cases work yet.
13293
13294 2005-07-29  Wim Taymans  <wim@fluendo.com>
13295
13296         * docs/design/part-gstghostpad.txt:
13297         Small update.
13298
13299         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13300         (gst_bin_remove_func):
13301         Unlinking pads while holding the bin LOCK is not a good
13302         idea.
13303
13304         * gst/gstpad.c: (gst_pad_class_init),
13305         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13306         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13307         No prob setting template after creating the pad.
13308
13309 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
13310
13311         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13312         (gst_bus_peek), (gst_bus_source_dispatch),
13313         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13314         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13315           gst_bus_poll may be called from other threads. Handle
13316           this nicely by not making poll_data disappear off the
13317           stack once gst_bus_poll returns.
13318           gst_bus_peek now increments the refcount on the returned
13319           message.
13320
13321 2005-07-29  Wim Taymans  <wim@fluendo.com>
13322
13323         * docs/design/part-gstghostpad.txt:
13324         Overview of current GhostPad datastructures and use
13325         cases for changing the target.
13326
13327 2005-07-28  Wim Taymans  <wim@fluendo.com>
13328
13329         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13330         Added checks for hierarchy consistency whan adding linked
13331         elements to bins.
13332
13333         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13334         Added check to test element scheduling without bin/pipeline.
13335
13336         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13337         First add elements to bin, then link.
13338         
13339         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13340         (gst_bin_remove_func):
13341         Unlink pads from elements added/removed from bin to maintain
13342         hierarchy consistency.
13343
13344 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13345
13346         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13347         (gst_base_transform_handle_buffer):
13348         * gst/base/gstbasetransform.h:
13349           Remove broken delay_configure (fixes renegotiation of software
13350           scaling pipelines); remove some leftover printf()s.
13351
13352 2005-07-28  Wim Taymans  <wim@fluendo.com>
13353
13354         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13355         Added some more tests for wrong hierarchy
13356
13357         * docs/design/part-overview.txt:
13358         Some updates.
13359
13360         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13361         Cleanups.
13362
13363         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13364         (gst_element_dispose):
13365         Some more cleanups.
13366
13367         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13368         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13369         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13370         (gst_pad_set_caps), (gst_pad_send_event):
13371         Check for correct hierarchy when linking pads. Moving to
13372         strict requirement for ghostpads when linking elements in
13373         different bins.
13374
13375         * gst/gstpad.h:
13376         Clean ups. Added WRONG_HIERARCHY return value.
13377
13378 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13379
13380         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13381           Better debug if no transform is possible.
13382
13383 2005-07-27  Wim Taymans  <wim@fluendo.com>
13384
13385         * docs/random/wtay/network-transp:
13386         Some old doc I had.
13387
13388 2005-07-27  Wim Taymans  <wim@fluendo.com>
13389
13390         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13391         (gst_dp_event_from_packet):
13392         Fix serialization of seek events.
13393
13394 2005-07-27  Wim Taymans  <wim@fluendo.com>
13395
13396         * check/gst-libs/gdp.c: (GST_START_TEST):
13397         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13398         Fix compilation and fix event serialization.
13399
13400 2005-07-27  Wim Taymans  <wim@fluendo.com>
13401
13402         * CHANGES-0.9:
13403         * docs/design/part-TODO.txt:
13404         * docs/design/part-events.txt:
13405         Some docs updates
13406
13407         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13408         (gst_base_sink_event), (gst_base_sink_do_sync),
13409         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13410         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13411         (gst_base_src_do_seek), (gst_base_src_event_handler),
13412         (gst_base_src_loop):
13413         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13414         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13415         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13416         (gst_base_transform_event), (gst_base_transform_handle_buffer),
13417         (gst_base_transform_set_passthrough),
13418         (gst_base_transform_is_passthrough):
13419         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13420         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13421         Event updates.
13422
13423         * gst/gstbuffer.h:
13424         Use faster casts.
13425
13426         * gst/gstelement.c: (gst_element_seek):
13427         * gst/gstelement.h:
13428         Update gst_element_seek.
13429
13430         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13431         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13432         (gst_event_new_flush_start), (gst_event_new_flush_stop),
13433         (gst_event_new_eos), (gst_event_new_newsegment),
13434         (gst_event_parse_newsegment), (gst_event_new_tag),
13435         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13436         (gst_event_parse_qos), (gst_event_new_seek),
13437         (gst_event_parse_seek), (gst_event_new_navigation):
13438         * gst/gstevent.h:
13439         Make GstEvent use GstStructure. Add parsing code, make sure the
13440         API is sufficiently generic.
13441         Mark possible directions of events and serialization.
13442
13443         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13444         (_gst_message_copy), (gst_message_new_segment_start),
13445         (gst_message_new_segment_done), (gst_message_new_custom),
13446         (gst_message_parse_segment_start),
13447         (gst_message_parse_segment_done):
13448         Small cleanups.
13449
13450         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13451         (gst_pad_set_caps), (gst_pad_send_event):
13452         Update for new events. 
13453         Catch events sent in wrong directions.
13454
13455         * gst/gstqueue.c: (gst_queue_link_src),
13456         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13457         (gst_queue_handle_src_query):
13458         Event updates.
13459
13460         * gst/gsttag.c:
13461         * gst/gsttag.h:
13462         Remove event code from this file.
13463
13464         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13465         (gst_dp_event_from_packet):
13466         Event updates.
13467
13468 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13469
13470         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13471         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13472         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13473           Make debugging actually useful.
13474
13475 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13476
13477         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13478         (gst_pad_fixate_caps):
13479           Implement default fixation once again, so that gst_pad_fixate()
13480           actually does anything at all. This probably needs to be some
13481           sort of a last resort, and use profile-based fixation first, but
13482           since that doesn't exist yet, this is the best we have. Fixes
13483           visualization in Totem.
13484
13485 2005-07-22  Wim Taymans  <wim@fluendo.com>
13486
13487         * docs/design/part-events.txt:
13488         Small update.
13489
13490         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13491         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13492         (gst_base_sink_activate_pull):
13493         Some more comments.
13494
13495         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13496         (gst_fake_src_create):
13497         Fix handoff marshall.
13498
13499         * gst/elements/gstidentity.c: (gst_identity_class_init),
13500         (gst_identity_transform_ip):
13501         We're a real inplace element.
13502
13503         * gst/gstbus.c: (gst_bus_post):
13504         Added some comments.
13505
13506         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13507         * tests/muxing/case1.c: (main):
13508         * tests/sched/dynamic-pipeline.c: (main):
13509         * tests/sched/interrupt1.c: (main):
13510         * tests/sched/interrupt2.c: (main):
13511         * tests/sched/interrupt3.c: (main):
13512         * tests/sched/runxml.c: (main):
13513         * tests/sched/sched-stress.c: (main):
13514         * tests/seeking/seeking1.c: (event_received), (main):
13515         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13516         (main):
13517         * tests/threadstate/threadstate3.c: (main):
13518         * tests/threadstate/threadstate4.c: (main):
13519         * tests/threadstate/threadstate5.c: (main):
13520         Fix the tests.
13521
13522 2005-07-21  Wim Taymans  <wim@fluendo.com>
13523
13524         * docs/design/part-seeking.txt:
13525         Some small additions.
13526
13527         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13528         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13529         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13530         * gst/base/gstbasesink.h:
13531         discont values are gint64, handle the math correctly.
13532
13533         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13534         Make the basesrc report error if the source pad is not linked.
13535
13536         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13537         (gst_queue_loop), (gst_queue_handle_src_query),
13538         (gst_queue_src_activate_push):
13539         Make queue collect data even if the srcpad is not linked.
13540         Start pushing out data as soon as it is linked.
13541
13542         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13543         * gst/gstutils.h:
13544         Added gst_flow_get_name() to ease error reporting.
13545
13546 2005-07-20  Wim Taymans  <wim@fluendo.com>
13547
13548         * gst/gstmessage.c: (gst_message_new_segment_start),
13549         (gst_message_new_segment_done), (gst_message_parse_segment_start),
13550         (gst_message_parse_segment_done):
13551         * gst/gstmessage.h:
13552         Added a bunch of messages for advanced seeking.
13553
13554         * gst/parse/grammar.y:
13555         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13556         (gst_dpman_state_changed):
13557         Fix some new-pad -> pad-added signals
13558
13559 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13560
13561         * docs/manual/appendix-porting.xml:
13562         * docs/pwg/appendix-porting.xml:
13563           Document new-pad/state-change signal renames and the FixedList
13564           type rename.
13565
13566 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13567
13568         * docs/manual/advanced-autoplugging.xml:
13569         * docs/manual/basics-helloworld.xml:
13570         * docs/manual/basics-pads.xml:
13571         * docs/random/ds/0.9-suggested-changes:
13572         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13573         * gst/gstelement.h:
13574         * gst/gstevent.h:
13575         * gst/gstformat.h:
13576         * gst/gstquery.h:
13577         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13578         (gst_structure_parse_array), (gst_structure_parse_value):
13579         * gst/gstvalue.c: (gst_type_is_fixed),
13580         (gst_value_list_prepend_value), (gst_value_list_append_value),
13581         (gst_value_list_get_size), (gst_value_list_get_value),
13582         (gst_value_transform_array_string), (gst_value_serialize_array),
13583         (gst_value_deserialize_array), (gst_value_intersect_array),
13584         (gst_value_is_fixed), (_gst_value_initialize):
13585         * gst/gstvalue.h:
13586           GstElement::new-pad -> pad-added, GstElement::state-change ->
13587           state-changed, GstValueFixedList -> GstValueArray, add format and
13588           flags as their own arguments in gst_element_seek() (should improve
13589           "bindeability"), remove function generators since they don't work
13590           under a whole bunch of compilers (they were deprecated already
13591           anyway).
13592
13593 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13594
13595         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13596         (_gst_debug_register_funcptr):
13597         * gst/gstinfo.h:
13598           Fix illegal cast on some platforms (#309253).
13599
13600 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13601
13602         * gst/gstmessage.c: (gst_message_new_custom):
13603         * gst/gstmessage.h:
13604           Add _new_custom, make _new_application a macro to _new_custom.
13605
13606 2005-07-20  Wim Taymans  <wim@fluendo.com>
13607
13608         * gst/base/gstbasesrc.c: (gst_base_src_init),
13609         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13610         * gst/base/gstbasesrc.h:
13611         Add a gboolean to decide when to push out a discont.
13612
13613         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13614         (gst_queue_loop), (gst_queue_handle_src_query),
13615         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13616         (gst_queue_set_property), (gst_queue_get_property):
13617         Some cleanups.
13618
13619         * tests/threadstate/threadstate1.c: (main):
13620         Make a thread test compile and run... very silly..
13621
13622
13623 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13624
13625         * docs/manual/appendix-porting.xml:
13626           Mention removal of libgstgconf-0.9.la and existence of gconf
13627           elements.
13628
13629 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13630
13631         * docs/pwg/advanced-clock.xml:
13632         * docs/pwg/appendix-porting.xml:
13633         * docs/pwg/intro-preface.xml:
13634         * docs/pwg/other-base.xml:
13635         * docs/pwg/other-manager.xml:
13636         * docs/pwg/other-nton.xml:
13637         * docs/pwg/other-ntoone.xml:
13638         * docs/pwg/other-oneton.xml:
13639         * docs/pwg/pwg.xml:
13640           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13641           demuxer), remove n-to-n (was never written), fix some code examples
13642           and links and update the porting section to include all this.
13643
13644 2005-07-19  Wim Taymans  <wim@fluendo.com>
13645
13646         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13647         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13648         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13649         (gst_queue_src_activate_push), (gst_queue_change_state),
13650         (gst_queue_get_property):
13651         * gst/gstqueue.h:
13652         Propagate GstFlowReturn more intelligently upstream and output
13653         an ERROR/EOS when streaming stopped due to fatal error.
13654
13655 2005-07-19  Wim Taymans  <wim@fluendo.com>
13656
13657         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13658         Don't block forever for the state change to complete, the
13659         pipeline already did with a sensible timeout.
13660
13661 2005-07-19  Wim Taymans  <wim@fluendo.com>
13662
13663         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13664         Make sure we never call the create function is we
13665         got deactivated.
13666
13667 2005-07-19  Andy Wingo  <wingo@pobox.com>
13668
13669         * gst/parse/parse.l: Attempt to solve bug #172815.
13670
13671 2005-07-19  Wim Taymans  <wim@fluendo.com>
13672
13673         * docs/design/part-clocks.txt:
13674         * docs/design/part-events.txt:
13675         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13676         Small docs updates.
13677         Only update the seeking values when we are not
13678         busy streaming.
13679
13680 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13681
13682         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13683           Oops, ignore the result of gst_pad_push_event here.
13684
13685 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13686
13687         * gst/base/gstbasesrc.c: (gst_base_src_loop),
13688         (gst_base_src_activate_push):
13689           Send discont event from the loop function, as pads
13690           aren't activated yet in the activate_push handler.
13691
13692         * gst/gstbin.c: (bin_bus_handler):
13693           Don't leak element name.
13694
13695 2005-07-18  Andy Wingo  <wingo@pobox.com>
13696
13697         * configure.ac: Use AS_LIBTOOL_TAGS.
13698
13699 2005-07-18  Wim Taymans  <wim@fluendo.com>
13700
13701         * docs/gst/gstreamer.types:
13702         Remove deleted types.
13703
13704 2005-07-18  Wim Taymans  <wim@fluendo.com>
13705
13706         * check/elements/gstfakesrc.c: (GST_START_TEST):
13707         * configure.ac:
13708         * gst/Makefile.am:
13709         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13710         (init_popt_callback):
13711         * gst/gst.h:
13712         * gst/gst_private.h:
13713         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13714         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13715         * gst/gstbin.h:
13716         * gst/gstbus.h:
13717         * gst/gstconfig.h.in:
13718         * gst/gstelement.c: (gst_element_class_init),
13719         (gst_element_set_base_time), (gst_element_get_base_time),
13720         (iterator_fold_with_resync), (gst_element_change_state),
13721         (gst_element_dispose), (gst_element_get_bus):
13722         * gst/gstelement.h:
13723         * gst/gstelementfactory.h:
13724         * gst/gsterror.c: (_gst_core_errors_init):
13725         * gst/gsterror.h:
13726         * gst/gstevent.h:
13727         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13728         * gst/gstindex.c:
13729         * gst/gstinfo.c: (_gst_debug_init):
13730         * gst/gstmessage.c: (_gst_message_copy):
13731         * gst/gstmessage.h:
13732         * gst/gstminiobject.h:
13733         * gst/gstobject.c:
13734         * gst/gstobject.h:
13735         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13736         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13737         * gst/gstpad.h:
13738         * gst/gstparse.h:
13739         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13740         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13741         (gst_pipeline_get_last_stream_time):
13742         * gst/gstpipeline.h:
13743         * gst/gstpluginfeature.h:
13744         * gst/gstquery.h:
13745         * gst/gstscheduler.c:
13746         * gst/gstscheduler.h:
13747         * gst/gststructure.h:
13748         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13749         (gst_task_finalize), (gst_task_func), (gst_task_create),
13750         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
13751         (gst_task_stop), (gst_task_pause):
13752         * gst/gsttask.h:
13753         * gst/gsttypefind.h:
13754         * gst/gsttypes.h:
13755         * gst/registries/gstlibxmlregistry.c: (load_feature),
13756         (gst_xml_registry_load), (gst_xml_registry_save_feature):
13757         * gst/registries/gstxmlregistry.c:
13758         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
13759         * gst/schedulers/threadscheduler.c:
13760         * libs/gst/control/dparammanager.h:
13761         * tools/gst-inspect.c: (print_element_list),
13762         (print_plugin_features), (print_element_features):
13763         * tools/gst-xmlinspect.c: (print_element_list),
13764         (print_plugin_info), (main):
13765         Removed plugable schedulers.
13766         Removed Scheduler/Manager from elements.
13767         Removed gsttypes.h, rearranged includes.
13768         Removed dependency pad<->element, element<>pipeline, and
13769         various others,  fix includes.
13770         implement gst_pad_get_parent() with gst_object_get_parent()
13771         Make GstTask sefcontained.
13772         Fix _get_state() on GstBin, it did not return ASYNC with a 0
13773         timeout.
13774         Fix endless loop in iterator_fold_with_resync.
13775
13776
13777 2005-07-18  Wim Taymans  <wim@fluendo.com>
13778
13779         * gst/Makefile.am:
13780         * gst/gstarch.h:
13781         Remove old file.
13782
13783 2005-07-18  Wim Taymans  <wim@fluendo.com>
13784
13785         * gst/Makefile.am:
13786         No more cothreads.h
13787
13788 2005-07-18  Wim Taymans  <wim@fluendo.com>
13789
13790         * gst/cothreads.c:
13791         * gst/cothreads.h:
13792         Let's remove these.
13793
13794 2005-07-18  Wim Taymans  <wim@fluendo.com>
13795
13796         * docs/design/part-dynamic.txt:
13797         * docs/design/part-events.txt:
13798         * docs/design/part-seeking.txt:
13799         Some more docs in the works.
13800
13801         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13802         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
13803         (gst_base_transform_setcaps), (gst_base_transform_get_size),
13804         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13805         (gst_base_transform_handle_buffer),
13806         (gst_base_transform_sink_activate_push),
13807         (gst_base_transform_src_activate_pull),
13808         (gst_base_transform_set_passthrough),
13809         (gst_base_transform_is_passthrough):
13810         Refcounting fixes.
13811
13812         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
13813         Cleanups.
13814
13815         * gst/gstevent.c: (gst_event_finalize):
13816         Set SRC to NULL.
13817
13818         * gst/gstutils.c: (gst_element_unlink),
13819         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
13820         (gst_pad_proxy_setcaps):
13821         * gst/gstutils.h:
13822         Add _get_parent_element() to get a pads parent as an element.
13823
13824 2005-07-18  Wim Taymans  <wim@fluendo.com>
13825
13826         * check/gst/gstbin.c: (GST_START_TEST):
13827         Remove bogus test.
13828
13829 2005-07-18  Wim Taymans  <wim@fluendo.com>
13830
13831         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13832         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13833         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13834         (gst_base_sink_event), (gst_base_sink_do_sync),
13835         (gst_base_sink_chain), (gst_base_sink_loop),
13836         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
13837         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13838         Refcounting fixes.
13839         Fix logic for returning ASYNC when not prerolled.
13840
13841 2005-07-18  Wim Taymans  <wim@fluendo.com>
13842
13843         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13844         Fix nasty refcount bug.
13845
13846 2005-07-16 Philippe Khalaf <burger@speedy.org>
13847
13848         * gst/elements/gstfdsrc.c:
13849         * gst/elements/gstfdsrc.h:
13850         * gst/elements/gstelements.c:
13851         * gst/elements/Makefile.am:
13852         Ported fdsrc to 0.9.
13853
13854 2005-07-16  Wim Taymans  <wim@fluendo.com>
13855
13856         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13857         (gst_base_sink_do_sync):
13858         Fix compile error.
13859
13860 2005-07-16  Wim Taymans  <wim@fluendo.com>
13861
13862         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13863         (gst_base_sink_event), (gst_base_sink_get_times),
13864         (gst_base_sink_do_sync), (gst_base_sink_change_state):
13865         * gst/base/gstbasesink.h:
13866         Store and use discont values when syncing buffers as described
13867         in design docs.
13868         
13869         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13870         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
13871         (gst_base_src_activate_push):
13872         Push discont event when starting.
13873
13874         * gst/elements/gstidentity.c: (gst_identity_transform):
13875         Small cleanups.
13876
13877         * gst/gstbin.c: (gst_bin_change_state):
13878         Small cleanups in base_time  distribution.
13879
13880         * gst/gstelement.c: (gst_element_set_base_time),
13881         (gst_element_get_base_time), (gst_element_change_state):
13882         * gst/gstelement.h:
13883         Added methods for the base_time of the element.
13884         Some MT fixes.
13885
13886         * gst/gstpipeline.c: (gst_pipeline_send_event),
13887         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13888         (gst_pipeline_get_last_stream_time):
13889         * gst/gstpipeline.h:
13890         MT fixes.
13891         Handle seeking as described in design doc, remove stream_time
13892         hack.
13893         Cleanups clock and stream_time selection code. Added accessors
13894         for the stream_time.
13895         
13896
13897 2005-07-16  Andy Wingo  <wingo@pobox.com>
13898
13899         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
13900         (#305291).
13901
13902 2005-07-16  Wim Taymans  <wim@fluendo.com>
13903
13904         * check/gst/gstbin.c: (GST_START_TEST):
13905         Make elements silent as the deep_notify refs the
13906         parent, which might make the test fail.
13907
13908         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13909         Don't hold the lock for too long.
13910
13911 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
13912
13913         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13914           Don't unref the caps we passed to gst_caps_make_writable() after
13915           passing them. gst_caps_make_writable() will do that for us.
13916
13917 2005-07-15  Andy Wingo  <wingo@pobox.com>
13918
13919         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
13920         (#157311).
13921
13922         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
13923         own marshalling function for the handoff signal. Properly type the
13924         buffer as a buffer. Fixes some warnings. Should do a more general
13925         solution.
13926         (gst_identity_class_init): Plug into the right marshaller.
13927
13928 2005-07-15  Wim Taymans  <wim@fluendo.com>
13929
13930         * docs/design/part-TODO.txt:
13931         * docs/design/part-clocks.txt:
13932         * docs/design/part-element-sink.txt:
13933         * docs/design/part-events.txt:
13934         * docs/design/part-gstpipeline.txt:
13935         Updated docs, mostly DISCONT related.
13936
13937 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
13938
13939         * docs/pwg/building-pads.xml:
13940           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
13941
13942 2005-07-15  Andy Wingo  <wingo@pobox.com>
13943
13944         * tools/gst-typefind.c: Update, add copyright block.
13945
13946         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
13947         Normalize and truncate caps before fixation.
13948
13949         * gst/gstcaps.h:
13950         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
13951         discards all but the first structure from its argument.
13952
13953 2005-07-15  Wim Taymans  <wim@fluendo.com>
13954
13955         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13956         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
13957         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13958         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13959         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
13960         (gst_base_transform_chain), (gst_base_transform_change_state),
13961         (gst_base_transform_set_passthrough),
13962         (gst_base_transform_is_passthrough):
13963         * gst/base/gstbasetransform.h:
13964         Make passthrough work using the bufferpools.
13965         Changed API a bit, subclasses have to write into a buffer
13966         provided by the base class.
13967         More debug info in nego functions.
13968         
13969         * gst/elements/gstidentity.c: (gst_identity_init),
13970         (gst_identity_transform):
13971         Port to new base class.
13972
13973 2005-07-15  Wim Taymans  <wim@fluendo.com>
13974
13975         * gst/gstmessage.c: (gst_message_new_state_changed):
13976         * tools/gst-launch.c: (event_loop), (main):
13977         Totally dump messages in -launch with the -m option.
13978         Fix message name for State messages,
13979
13980 2005-07-14  Wim Taymans  <wim@fluendo.com>
13981
13982         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13983         Post error messages on errors.
13984
13985 2005-07-14  Wim Taymans  <wim@fluendo.com>
13986
13987         * gst/gstcaps.c: (gst_caps_do_simplify):
13988         Remove debug info.
13989
13990         * gst/gsterror.h:
13991         Define error for stream stopped.
13992
13993         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
13994         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
13995         Do proper return values.
13996
13997         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13998         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
13999         (gst_pad_get_range):
14000         Better return values.
14001
14002         * gst/gstpad.h:
14003         Reorganise return values, add macro to check for fatal errors.
14004
14005         * gst/gstqueue.c: (gst_queue_chain):
14006         Return proper GstFlowReturn values,
14007
14008 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
14009
14010         * docs/gst/gstreamer-sections.txt:
14011         * docs/gst/gstreamer.types:
14012         * docs/gst/tmpl/gst.sgml:
14013         * docs/gst/tmpl/gstbasesink.sgml:
14014         * docs/gst/tmpl/gstbasesrc.sgml:
14015         * docs/gst/tmpl/gstbasetransform.sgml:
14016         * docs/gst/tmpl/gstbin.sgml:
14017         * docs/gst/tmpl/gstbuffer.sgml:
14018         * docs/gst/tmpl/gstcaps.sgml:
14019         * docs/gst/tmpl/gstclock.sgml:
14020         * docs/gst/tmpl/gstcompat.sgml:
14021         * docs/gst/tmpl/gstconfig.sgml:
14022         * docs/gst/tmpl/gstelement.sgml:
14023         * docs/gst/tmpl/gstelementdetails.sgml:
14024         * docs/gst/tmpl/gstelementfactory.sgml:
14025         * docs/gst/tmpl/gstenumtypes.sgml:
14026         * docs/gst/tmpl/gsterror.sgml:
14027         * docs/gst/tmpl/gstevent.sgml:
14028         * docs/gst/tmpl/gstfakesink.sgml:
14029         * docs/gst/tmpl/gstfakesrc.sgml:
14030         * docs/gst/tmpl/gstfilesink.sgml:
14031         * docs/gst/tmpl/gstfilesrc.sgml:
14032         * docs/gst/tmpl/gstfilter.sgml:
14033         * docs/gst/tmpl/gstformat.sgml:
14034         * docs/gst/tmpl/gstghostpad.sgml:
14035         * docs/gst/tmpl/gstimplementsinterface.sgml:
14036         * docs/gst/tmpl/gstindex.sgml:
14037         * docs/gst/tmpl/gstindexfactory.sgml:
14038         * docs/gst/tmpl/gstinfo.sgml:
14039         * docs/gst/tmpl/gstiterator.sgml:
14040         * docs/gst/tmpl/gstmacros.sgml:
14041         * docs/gst/tmpl/gstmemchunk.sgml:
14042         * docs/gst/tmpl/gstminiobject.sgml:
14043         * docs/gst/tmpl/gstobject.sgml:
14044         * docs/gst/tmpl/gstpad.sgml:
14045         * docs/gst/tmpl/gstpadtemplate.sgml:
14046         * docs/gst/tmpl/gstparse.sgml:
14047         * docs/gst/tmpl/gstpipeline.sgml:
14048         * docs/gst/tmpl/gstplugin.sgml:
14049         * docs/gst/tmpl/gstpluginfeature.sgml:
14050         * docs/gst/tmpl/gstquery.sgml:
14051         * docs/gst/tmpl/gstqueue.sgml:
14052         * docs/gst/tmpl/gstregistry.sgml:
14053         * docs/gst/tmpl/gstregistrypool.sgml:
14054         * docs/gst/tmpl/gstscheduler.sgml:
14055         * docs/gst/tmpl/gstschedulerfactory.sgml:
14056         * docs/gst/tmpl/gststructure.sgml:
14057         * docs/gst/tmpl/gstsystemclock.sgml:
14058         * docs/gst/tmpl/gsttaglist.sgml:
14059         * docs/gst/tmpl/gsttagsetter.sgml:
14060         * docs/gst/tmpl/gsttrace.sgml:
14061         * docs/gst/tmpl/gsttrashstack.sgml:
14062         * docs/gst/tmpl/gsttypefind.sgml:
14063         * docs/gst/tmpl/gsttypefindfactory.sgml:
14064         * docs/gst/tmpl/gsttypes.sgml:
14065         * docs/gst/tmpl/gsturihandler.sgml:
14066         * docs/gst/tmpl/gsturitype.sgml:
14067         * docs/gst/tmpl/gstutils.sgml:
14068         * docs/gst/tmpl/gstvalue.sgml:
14069         * docs/gst/tmpl/gstversion.sgml:
14070         * docs/gst/tmpl/gstxml.sgml:
14071         * docs/libs/tmpl/gstcontrol.sgml:
14072         * docs/libs/tmpl/gstdataprotocol.sgml:
14073         * docs/libs/tmpl/gstdparam.sgml:
14074         * docs/libs/tmpl/gstdplinint.sgml:
14075         * docs/libs/tmpl/gstdpman.sgml:
14076         * docs/libs/tmpl/gstdpsmooth.sgml:
14077         * docs/libs/tmpl/gstgetbits.sgml:
14078         * docs/libs/tmpl/gstunitconvert.sgml:
14079         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
14080         (gst_push_src_base_init), (gst_push_src_class_init),
14081         (gst_push_src_init), (gst_push_src_create):
14082         * gst/base/gstpushsrc.h:
14083         * gst/elements/gstelements.c:
14084         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
14085         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
14086         (gst_fake_sink_init), (gst_fake_sink_set_property),
14087         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
14088         (gst_fake_sink_event), (gst_fake_sink_preroll),
14089         (gst_fake_sink_render), (gst_fake_sink_change_state):
14090         * gst/elements/gstfakesink.h:
14091         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14092         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14093         (gst_fake_src_base_init), (gst_fake_src_class_init),
14094         (gst_fake_src_init), (gst_fake_src_event_handler),
14095         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
14096         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
14097         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
14098         (gst_fake_src_create_buffer), (gst_fake_src_create),
14099         (gst_fake_src_start), (gst_fake_src_stop):
14100         * gst/elements/gstfakesrc.h:
14101         * gst/elements/gstfilesink.c: (_do_init),
14102         (gst_file_sink_base_init), (gst_file_sink_class_init),
14103         (gst_file_sink_init), (gst_file_sink_dispose),
14104         (gst_file_sink_set_location), (gst_file_sink_set_property),
14105         (gst_file_sink_get_property), (gst_file_sink_open_file),
14106         (gst_file_sink_close_file), (gst_file_sink_query),
14107         (gst_file_sink_event), (gst_file_sink_render),
14108         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
14109         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
14110         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
14111         * gst/elements/gstfilesink.h:
14112         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
14113         (gst_file_src_class_init), (gst_file_src_init),
14114         (gst_file_src_finalize), (gst_file_src_set_location),
14115         (gst_file_src_set_property), (gst_file_src_get_property),
14116         (gst_file_src_map_region), (gst_file_src_map_small_region),
14117         (gst_file_src_create_mmap), (gst_file_src_create_read),
14118         (gst_file_src_create), (gst_file_src_is_seekable),
14119         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
14120         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
14121         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
14122         (gst_file_src_uri_handler_init):
14123         * gst/elements/gstfilesrc.h:
14124           more autistic cleanliness in functions/names/defines
14125
14126 2005-07-13  Andy Wingo  <wingo@pobox.com>
14127
14128         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
14129         source couldn't negotiate.
14130
14131         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
14132         connections again.
14133
14134         * gst/gstutils.h:
14135         * gst/gstutils.c (gst_element_link_pads_filtered): New old
14136         function. I am channeling Hades. Put your boots on suckers!!!
14137
14138 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14139
14140         * testsuite/caps/Makefile.am:
14141         * testsuite/caps/value_compare.c:
14142         * testsuite/caps/value_intersect.c:
14143         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14144           move two testsuite apps over to the check dir
14145
14146 2005-07-12  Wim Taymans  <wim@fluendo.com>
14147
14148         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14149         Added more debug info in the negotiate process.
14150
14151         * gst/gstmessage.h:
14152         Prepare for segment playback.
14153
14154         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
14155         Better debugging.
14156
14157         * gst/gstutils.c:
14158         Some more docs.
14159
14160         * tools/gst-launch.c: (main):
14161         NULL pipeline on errors.
14162
14163 2005-07-12  Andy Wingo  <wingo@pobox.com>
14164
14165         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
14166         not it comes from a malloc region. Make sure our copy gets freed.
14167
14168 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14169
14170         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14171         * check/gst/gstmessage.c: (GST_START_TEST):
14172         * check/gst/gststructure.c: (GST_START_TEST),
14173         (gst_structure_suite), (main):
14174           more testing
14175         * gst/gstelement.c: (gst_element_message_full):
14176           clean up GError and debug string now that they get copied
14177         * gst/gstmessage.c: (gst_message_new_error),
14178         (gst_message_new_warning), (gst_message_parse_error),
14179         (gst_message_parse_warning):
14180           use GST_TYPE_G_ERROR for structure_new, and take copies of
14181           arguments, so that we don't mess up refcounting
14182
14183 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14184
14185         * check/Makefile.am:
14186           add per-test valgrind targets
14187         * check/gst-libs/gdp.c: (GST_START_TEST),
14188         (gst_data_protocol_suite), (main):
14189           clean up
14190
14191 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14192
14193         * check/Makefile.am:
14194           instate more valgrindable tests
14195         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14196         (GST_START_TEST), (fakesrc_suite):
14197         * check/gst/gstpad.c: (GST_START_TEST):
14198         * check/gst/gststructure.c: (GST_START_TEST):
14199           fix test leaks
14200         * docs/gst/tmpl/gstminiobject.sgml:
14201         * gst/gstpad.c: (gst_pad_finalize):
14202           fix the static mutex leak
14203
14204 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14205
14206         * check/Makefile.am:
14207           add two more tests for valgrinding
14208         * check/gst/gstvalue.c: (GST_START_TEST):
14209           test refcount of deserialized buffer, found a leak
14210         * docs/gst/gstreamer-docs.sgml:
14211         * docs/gst/gstreamer-sections.txt:
14212         * docs/gst/gstreamer.types:
14213         * docs/gst/tmpl/gstminiobject.sgml:
14214           add miniobject to docs
14215         * gst/gstminiobject.c:
14216           add some docs
14217         * gst/gstvalue.c: (gst_value_deserialize_buffer),
14218         (gst_string_unwrap):
14219           fix a hard-to-find invalid write for one of the tests
14220           fix a leak for deserialized buffers
14221
14222 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14223
14224         * docs/pwg/advanced-events.xml:
14225         * docs/pwg/advanced-request.xml:
14226         * docs/pwg/advanced-scheduling.xml:
14227         * docs/pwg/appendix-porting.xml:
14228         * docs/pwg/building-boiler.xml:
14229         * docs/pwg/intro-preface.xml:
14230         * docs/pwg/other-ntoone.xml:
14231           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14232           of example code and explanation for pad activation, loop() and
14233           getrange() functions and a bit more. Remove old comments pointing
14234           to loop-functions.
14235         * examples/pwg/Makefile.am:
14236           Add loop/getrange examples.
14237
14238 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14239
14240         * configure.ac:
14241           check for valgrind binary + some fixes
14242         * check/gst.supp:
14243           valgrind suppressions for the tests
14244         * check/Makefile.am:
14245           add a valgrind: target that valgrinds the unit tests
14246         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14247         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14248         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14249         * check/gst/gstghostpad.c:
14250           added some cleanup
14251         * check/gst/gstdata.c:
14252           removed
14253         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14254         (thread_unref), (gst_mini_object_suite), (main):
14255           added
14256         * gst/gst.c: (gst_deinit):
14257         * gst/gst.h:
14258           add a method to clean up.
14259         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14260         (gst_system_clock_obtain):
14261           allow for disposing the system clock.
14262         * tools/gst-launch.c: (main):
14263           deinit
14264
14265 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14266
14267         * docs/gst/tmpl/gstbasesrc.sgml:
14268         * docs/gst/tmpl/gstfakesrc.sgml:
14269         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14270         (gst_base_src_init), (gst_base_src_set_property),
14271         (gst_base_src_get_property), (gst_base_src_get_range),
14272         (gst_base_src_start):
14273         * gst/base/gstbasesrc.h:
14274           add num-buffers property
14275         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14276         (gst_fakesrc_init), (gst_fakesrc_set_property),
14277         (gst_fakesrc_get_property), (gst_fakesrc_create),
14278         (gst_fakesrc_start):
14279           remove num-buffers property
14280
14281 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14282
14283         * docs/gst/gstreamer-sections.txt:
14284         * docs/gst/tmpl/gstbasesink.sgml:
14285         * docs/gst/tmpl/gstbasesrc.sgml:
14286         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14287         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14288         (gst_base_sink_finalize), (gst_base_sink_set_clock),
14289         (gst_base_sink_set_property), (gst_base_sink_get_property),
14290         (gst_base_sink_handle_object), (gst_base_sink_event),
14291         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14292         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14293         (gst_base_sink_loop), (gst_base_sink_deactivate),
14294         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14295         (gst_base_sink_change_state):
14296         * gst/base/gstbasesink.h:
14297         * gst/base/gstbasesrc.h:
14298         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14299         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14300         (gst_filesink_init):
14301           more macro splitting
14302
14303 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14304
14305         * gst/gstelement.c: (gst_element_get_bus):
14306           add debug
14307         * tools/gst-launch.c: (check_intr), (event_loop):
14308           fix bus leaks
14309
14310 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14311
14312         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14313           fix a caps leak
14314
14315 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14316
14317         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14318         (gst_base_src_finalize):
14319           add finalize method and clean up properly
14320         * gst/gstpipeline.c: (gst_pipeline_dispose):
14321           add debug
14322
14323 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14324
14325         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14326         (gst_bin_suite):
14327           add more things to check
14328         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14329         * gst/gstelement.c:
14330           more debug
14331
14332 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14333
14334         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14335         (GST_START_TEST), (fakesrc_suite):
14336         * check/gst-libs/gdp.c: (GST_START_TEST):
14337         * check/gst/gst.c: (GST_START_TEST):
14338         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14339         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14340         * check/gst/gstbus.c: (GST_START_TEST):
14341         * check/gst/gstcaps.c: (GST_START_TEST):
14342         * check/gst/gstdata.c: (GST_START_TEST):
14343         * check/gst/gstelement.c: (GST_START_TEST):
14344         * check/gst/gstghostpad.c: (GST_START_TEST):
14345         * check/gst/gstiterator.c: (GST_START_TEST):
14346         * check/gst/gstmessage.c: (GST_START_TEST):
14347         * check/gst/gstobject.c: (GST_START_TEST):
14348         * check/gst/gstpad.c: (GST_START_TEST):
14349         * check/gst/gststructure.c: (GST_START_TEST):
14350         * check/gst/gstsystemclock.c: (GST_START_TEST),
14351         (gst_systemclock_suite):
14352         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14353         * check/gst/gstvalue.c: (GST_START_TEST):
14354         * check/pipelines/cleanup.c: (GST_START_TEST):
14355         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14356         * check/states/sinks.c: (GST_START_TEST):
14357         * check/gstcheck.c: (gst_check_init):
14358         * check/gstcheck.h:
14359           add debugging category
14360           use GST_START_TEST now, so we add a debug line
14361
14362 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14363
14364         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14365           add test for state change message on a bin
14366         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14367           add another test
14368         * gst/gstbin.c: (gst_bin_init):
14369         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14370         * gst/gstelement.c: (gst_element_post_message),
14371         (gst_element_set_state):
14372         * gst/gstelementfactory.c: (gst_element_factory_create):
14373         * gst/gstmessage.c: (gst_message_new):
14374         * gst/gstscheduler.c:
14375           various debugging additions and cleanups
14376
14377 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14378
14379         * check/Makefile.am:
14380         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14381         (main):
14382           adding tests for elements
14383         * gst/gstelement.c: (gst_element_dispose):
14384
14385 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14386
14387         * gst/registries/gstlibxmlregistry.c: (load_feature):
14388           plug more leaks.  A simple gst_init() now is leakfree, yay.
14389
14390 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14391
14392         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14393         (gst_xml_registry_load):
14394           plug another memleak
14395
14396 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14397
14398         * configure.ac:
14399           use GST_SET_ERROR_CFLAGS
14400         * docs/faq/cvs.xml:
14401           change to ERROR_CFLAGS
14402
14403 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14404
14405         * configure.ac:
14406           make GST_ERROR_CFLAGS overridable and re-enable Werror
14407         * docs/faq/cvs.xml:
14408           add a note about error CFLAGS
14409         * docs/gst/tmpl/gstfakesrc.sgml:
14410         * gst/elements/gstfakesrc.c:
14411           comment out some unused code
14412         * gst/gst.c: (split_and_iterate):
14413         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14414         (load_feature):
14415           plug some memleaks
14416
14417 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14418
14419         * common/Makefile.am:
14420         * common/gtk-doc.mak:
14421         * docs/gst/Makefile.am:
14422           factor out gtk-doc.mak
14423
14424 2005-07-07  Wim Taymans  <wim@fluendo.com>
14425
14426         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14427         (gst_thread_scheduler_dispose):
14428         Unlock the STREAM_LOCK completely.
14429
14430 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14431
14432         * check/Makefile.am:
14433         * check/elements/.cvsignore:
14434         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14435         (START_TEST), (fakesrc_suite), (main):
14436         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14437         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14438         (gst_fakesrc_create), (gst_fakesrc_start):
14439         * gst/elements/gstfakesrc.h:
14440           adding a first element test
14441
14442 2005-07-07  Andy Wingo  <wingo@pobox.com>
14443
14444         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14445         debug message.
14446
14447 2005-07-07  Wim Taymans  <wim@fluendo.com>
14448
14449         * gst/gstquery.c:
14450         * gst/gstquery.h:
14451         Remove old types
14452
14453 2005-07-07  Wim Taymans  <wim@fluendo.com>
14454
14455         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14456         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14457         Allow subclasses to implement their own negotiation.
14458
14459 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14460
14461         * docs/design/part-gstbin.txt:
14462         * docs/design/part-gstpipeline.txt:
14463           Update design notes to reflect the movement of
14464           responsibility for bus handling from GstPipeline to
14465           GstBin
14466
14467 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14468
14469         * configure.ac:
14470           Remove unnecessary queue2/3/4 examples.
14471
14472 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14473
14474         * examples/Makefile.am:
14475         * examples/helloworld/helloworld.c: (event_loop), (main):
14476         * examples/queue/queue.c: (event_loop), (main):
14477         * examples/queue2/queue2.c: (main):
14478           Update a couple of the examples to work again.
14479
14480         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14481         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14482          Spelling corrections and extra debug.
14483         
14484         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14485         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14486         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14487         * gst/gstbin.h:
14488         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14489         (gst_pipeline_change_state):
14490         * gst/gstpipeline.h:
14491           Move the bus handler for children to the GstBin, and create a
14492           separate bus for receiving messages from children to the one the
14493           bus sends 'upwards' on.
14494
14495 2005-07-06  Wim Taymans  <wim@fluendo.com>
14496
14497         * gst/base/README:
14498         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14499         (gst_base_sink_handle_object), (gst_base_sink_loop),
14500         (gst_base_sink_change_state):
14501         * gst/base/gstbasesink.h:
14502         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14503         (gst_base_src_init), (gst_base_src_setcaps),
14504         (gst_base_src_getcaps), (gst_base_src_loop),
14505         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14506         (gst_base_src_start), (gst_base_src_change_state):
14507         * gst/base/gstbasesrc.h:
14508         Make basesrc negotiate.
14509         Handle the case where preroll fails in basesink.
14510         Update README.
14511
14512 2005-07-06  Wim Taymans  <wim@fluendo.com>
14513
14514         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14515         Implement the fixate function.
14516         Clean up acceptcaps.
14517
14518 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14519
14520         * docs/pwg/building-filterfactory.xml:
14521         * docs/pwg/pwg.xml:
14522           Remove never-written filter-factory chapter; I'll add the various
14523           base classes to part 4 ("other element types") later on.
14524
14525 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14526
14527         * docs/pwg/advanced-negotiation.xml:
14528         * docs/pwg/building-boiler.xml:
14529         * docs/pwg/building-pads.xml:
14530         * docs/pwg/pwg.xml:
14531         * examples/pwg/Makefile.am:
14532           Add a chapter on caps negotiation, simplify the original code
14533           samples a bit w.r.t. caps negotiation, add link to the advanced
14534           section. Add a bunch of examples showing different use cases of
14535           different types of caps negotiation. Upstream renegotiation isn't
14536           fully documented yet since nobody knows how that works.
14537
14538 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14539
14540         * check/gst/gstpad.c:
14541         * check/gstcheck.c:
14542         * gst/gstpad.c: (gst_pad_get_internal_links_default):
14543           if pad has no parent, return NULL as list of internal links
14544
14545 2005-07-05  Andy Wingo  <wingo@pobox.com>
14546
14547         * gst/elements/gstfilesrc.c:
14548         * gst/elements/gstfakesrc.c: 
14549         * gst/base/gstpushsrc.c:
14550         * gst/base/gstbasesrc.h: 
14551         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14552         
14553 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
14554
14555         * Makefile.am:
14556           better report generation target (lcov needs a patch)
14557
14558 2005-07-05  Andy Wingo  <wingo@pobox.com>
14559
14560         * gst/elements, testsuite: Null if we got it...
14561
14562 2005-07-05  Wim Taymans  <wim@fluendo.com>
14563
14564         * configure.ac:
14565         * libs/gst/dataprotocol/Makefile.am:
14566         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14567         * libs/gst/dataprotocol/dataprotocol.h:
14568         * pkgconfig/Makefile.am:
14569         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14570         * pkgconfig/gstreamer-dataprotocol.pc.in:
14571         Ported dataprotol to 0.9. 
14572         Added pkgconfig files.
14573
14574 2005-07-05  Andy Wingo  <wingo@pobox.com>
14575
14576         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14577         Default to returning TRUE for the case when tranform_caps returns
14578         a fixed caps, like for identity or volume.
14579
14580         * check/gst/gstbus.c (pound_bus_with_messages): 
14581         * check/gst/gstmessage.c (START_TEST): 
14582         * check/pipelines/simple_launch_lines.c (got_handoff): Application
14583         message API change.
14584
14585         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14586         logic weaks here: always run transform_caps, trying passthrough
14587         operation only if the original caps intersects with the transform.
14588
14589         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14590         source and sink caps.
14591
14592         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14593         Intersect the peer caps with the pad template before going into
14594         transform_caps.
14595         (gst_base_transform_transform_caps): More debugging.
14596
14597         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14598         src argument.
14599
14600 2005-07-04  Edward Hervey  <edward@fluendo.com>
14601
14602         * gst/gstutils.c:
14603         * gst/gstutils.h:
14604         (gst_pad_add_*_probe): now returns the signal id for better wrapping
14605         in bindings.
14606
14607 2005-07-04  Andy Wingo  <wingo@pobox.com>
14608
14609         * check/gst/gstpad.c: Only set explicit caps on pads.
14610
14611 2005-07-01  Andy Wingo  <wingo@pobox.com>
14612
14613         * tests/network-clock.scm: Commentary update.
14614
14615         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14616         Didn't really make sense, not implementable with basetransform,
14617         etc.
14618         (gst_identity_transform): Unref inbuf via make_writable. Feeble
14619         attempt at implementing the sync property, needs an unlock method.
14620
14621         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14622         New func, by default returns the same caps (the identity
14623         transformation).
14624         (gst_base_transform_getcaps): Uses transform_caps to return
14625         something sensible.
14626         (gst_base_transform_setcaps): Complicated logic to get caps on
14627         both pads, even if they are different, and to call set_caps once
14628         for every time both pads get their caps set.
14629         (gst_base_transform_handle_buffer): Give the ref to the transform
14630         function. Allows in-place modification of the buffer.
14631
14632         * gst/base/gstbasetransform.h (transform_caps): New class method.
14633         Given caps on one side, what can I do on the other.
14634         (set_caps): Take two caps, one for each side of the element.
14635
14636         * gst/gstpad.h:
14637         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14638         caps in place. This is safe because we can check the mutability of
14639         the caps, and a good idea because fixate functions are just called
14640         as a matter of last resort. (Not actually implemented.)
14641         (gst_pad_set_caps): If the caps we're setting is actually the same
14642         as the existing pad caps, just update the pointer without calling
14643         setcaps. Assert that caps is either NULL or fixed, as per the
14644         docs.
14645
14646         * gst/gstghostpad.c: Update for fixate changes.
14647
14648 2005-07-02  Andy Wingo  <wingo@pobox.com>
14649
14650         * gst/gstcaps.c:
14651         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14652         two refcounts makes it immutable, which is enough. Doc more.
14653
14654 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
14655
14656         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14657           Put the mini_object into GValue as a mini_object,
14658           not a gpointer, since that's how we declared
14659           the signal.
14660
14661 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14662
14663         * examples/pwg/Makefile.am:
14664           Fix buildbot again.
14665
14666 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14667
14668         * docs/pwg/building-testapp.xml:
14669           Add extra check.
14670         * examples/pwg/Makefile.am:
14671           Fix buildbot.
14672
14673 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14674
14675         * configure.ac:
14676         * examples/Makefile.am:
14677         * examples/pwg/Makefile.am:
14678         * examples/pwg/extract.pl:
14679           Enable building the PWG examples.
14680         * docs/pwg/advanced-interfaces.xml:
14681           Add URI interface stub.
14682         * docs/pwg/advanced-types.xml:
14683         * docs/pwg/other-autoplugger.xml:
14684         * docs/pwg/appendix-porting.xml:
14685         * docs/pwg/pwg.xml:
14686           Add porting guide (mostly stubs), remove autoplugging (see ADM).
14687         * docs/pwg/building-boiler.xml:
14688         * docs/pwg/building-chainfn.xml:
14689         * docs/pwg/building-pads.xml:
14690         * docs/pwg/building-props.xml:
14691         * docs/pwg/building-state.xml:
14692         * docs/pwg/building-testapp.xml:
14693           Update the building-*.xml parts for 0.9 changes. All examples
14694           code blocks compile in examples/pwg/*.
14695
14696 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14697
14698         * docs/manual/advanced-autoplugging.xml:
14699         * docs/manual/appendix-checklist.xml:
14700         * docs/manual/appendix-integration.xml:
14701         * docs/manual/highlevel-components.xml:
14702           Fix playbin/decodebin examples, update docs a bit, mention bus
14703           instead of signals in various places, mention kmplayer and
14704           kaffeine since they have a working GStreamer backend in the KDE
14705           section.
14706
14707 2005-06-30  Wim Taymans  <wim@fluendo.com>
14708
14709         * CHANGES-0.9:
14710         * docs/design/draft-ghostpads.txt:
14711         * docs/design/draft-push-pull.txt:
14712         * docs/design/draft-query.txt:
14713         * docs/design/part-TODO.txt:
14714         * docs/design/part-query.txt:
14715         Added CHANGES-0.9 doc, updated status of other docs.
14716         
14717         * gst/gstquery.h:
14718         Remove "hmm" macro
14719
14720 2005-06-30  Wim Taymans  <wim@fluendo.com>
14721
14722         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14723         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14724         (gst_base_sink_change_state):
14725         * gst/base/gstbasesink.h:
14726         Some tweaks, only EOS and a buffer complete a preroll.
14727
14728 2005-06-30  Andy Wingo  <wingo@pobox.com>
14729
14730         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14731         activate_push down to the internal pad as well.
14732
14733 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
14734
14735         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14736
14737         * gst/gsttaginterface.c:
14738           Some documentation fixes (#307394 and #307397).
14739
14740 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
14741
14742         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14743
14744         * gst/gstvalue.c: (gst_value_intersect_list):
14745           Fix memleak (#309125).
14746
14747 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14748
14749         * docs/manual/advanced-dataaccess.xml:
14750           Fix fakesrc example to compile; doesn't work, bug somewhere...?
14751         * docs/manual/basics-pads.xml:
14752           Add reference for filtered caps to above chapter.
14753
14754 2005-06-30  Wim Taymans  <wim@fluendo.com>
14755
14756         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
14757         (gst_bin_change_state):
14758         Probes are gone.
14759         Lame attempt at making the state change function a bit
14760         more readable.
14761
14762 2005-06-30  Wim Taymans  <wim@fluendo.com>
14763
14764         * docs/design/part-clocks.txt:
14765         * docs/design/part-element-sink.txt:
14766         * docs/design/part-events.txt:
14767         * docs/design/part-preroll.txt:
14768         * docs/design/part-states.txt:
14769         Some more tweeks and additions to the docs.
14770
14771 2005-06-30  Wim Taymans  <wim@fluendo.com>
14772
14773         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14774         (default_have_data), (gst_pad_class_init), (gst_pad_init),
14775         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14776         (gst_pad_check_pull_range), (gst_pad_get_range),
14777         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
14778         * gst/gstpad.h:
14779         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
14780         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14781         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14782         (gst_pad_remove_buffer_probe):
14783         Removed atomic operations, use existing LOCK.
14784         Move exception handling out of main code path.
14785
14786 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14787
14788         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14789         (silly_return_true_function), (gst_pad_class_init),
14790         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14791         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
14792         (gst_pad_send_event):
14793           Fix accumulator, add default value by using _emitv() instead
14794           of _emit() for signal emission.
14795
14796 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14797
14798         * docs/manual/advanced-dataaccess.xml:
14799         * examples/manual/Makefile.am:
14800           Add probe example.
14801         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
14802           Make work (??).
14803
14804 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
14805
14806         * gst/elements/gstfilesink.c: (gst_filesink_render):
14807           Simplify code so that we don't have to handle short
14808           writes and return GST_FLOW_ERROR if an error occured.
14809
14810 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14811
14812         * docs/gst/gstreamer-docs.sgml:
14813           Remove probes more.
14814
14815 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14816
14817         * docs/gst/gstreamer-sections.txt:
14818         * docs/gst/tmpl/gstpad.sgml:
14819         * docs/gst/tmpl/gstprobe.sgml:
14820         * gst/Makefile.am:
14821         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14822         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
14823         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14824         (gst_pad_push_event), (gst_pad_send_event):
14825         * gst/gstpad.h:
14826         * gst/gstutils.c: (gst_pad_add_data_probe),
14827         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14828         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14829         (gst_pad_remove_buffer_probe):
14830         * gst/gstutils.h:
14831           Remove old probes, add new g-signal-based probes and some utility
14832           functions.
14833
14834 2005-06-29  Edward Hervey  <edward@fluendo.com>
14835
14836         * gst/gstelementfactory.c:
14837         * gst/gstutils.h:
14838         * gst/gstutils.c:
14839         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
14840         the definition to the header file.
14841
14842 2005-06-29  Andy Wingo  <wingo@pobox.com>
14843
14844         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
14845         plugins from the source directory.
14846
14847 2005-06-29  Wim Taymans  <wim@fluendo.com>
14848
14849         * docs/gst/tmpl/gstbuffer.sgml:
14850         * docs/gst/tmpl/gstclock.sgml:
14851         Some fixings for blantently wrong text.
14852
14853 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14854
14855         * check/Makefile.am:
14856         * gst/gst.c: (add_path_func), (init_pre):
14857         * gst/gstregistry.c: (gst_registry_add_path):
14858           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
14859           only scan the GST_PLUGIN_PATH locations, and not add
14860           system locations
14861
14862 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14863
14864         * docs/gst/gstreamer-sections.txt:
14865         * docs/gst/tmpl/gstbasesrc.sgml:
14866         * gst/gstelement.c:
14867         * gst/gstelement.h:
14868         * gst/gstevent.c:
14869         * gst/gstutils.c:
14870           doc fixes
14871
14872 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14873
14874         * docs/manual/advanced-autoplugging.xml:
14875           Fix autoplugging example.
14876
14877 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14878
14879         * docs/manual/advanced-autoplugging.xml:
14880         * docs/manual/mime-world.fig:
14881           Try to get autoplugging working, fix type detection. Fix text
14882           in hello-world image.
14883
14884 2005-06-29  Wim Taymans  <wim@fluendo.com>
14885
14886         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14887         (gst_base_sink_change_state):
14888         Small debug line.
14889
14890         * gst/gstclock.h:
14891         map SIGNAL and BROADCAST to the right function.
14892
14893         * gst/gstobject.h:
14894         Remove redundant braces.
14895
14896         * gst/gstpad.c: (gst_pad_set_caps):
14897         Don't call setcaps function when reseting caps to NULL.
14898
14899         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14900         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
14901         (gst_system_clock_id_unschedule):
14902         Use BROADCAST as this is what we do.
14903
14904 2005-06-29  Wim Taymans  <wim@fluendo.com>
14905
14906         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14907         We are actually prerolling before commiting the state
14908         change. 
14909
14910 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14911
14912         * docs/manual/advanced-clocks.xml:
14913         * docs/manual/advanced-interfaces.xml:
14914         * docs/manual/advanced-metadata.xml:
14915         * docs/manual/advanced-position.xml:
14916         * docs/manual/advanced-schedulers.xml:
14917         * docs/manual/advanced-threads.xml:
14918         * docs/manual/appendix-porting.xml:
14919         * docs/manual/basics-bins.xml:
14920         * docs/manual/basics-bus.xml:
14921         * docs/manual/basics-elements.xml:
14922         * docs/manual/basics-helloworld.xml:
14923         * docs/manual/basics-pads.xml:
14924         * docs/manual/highlevel-components.xml:
14925         * docs/manual/manual.xml:
14926         * docs/manual/thread.fig:
14927           Update (until threads/scheduling) Application Development Manual;
14928           remove GstThread, add GstBus, add simple porting checklist, add
14929           documentation for tag writing, clocks, make all examples until this
14930           part compile and run.
14931         * examples/manual/Makefile.am:
14932           Update from changes to Application Development Manual; add bus
14933           example, remove thread example.
14934
14935 2005-06-28  Wim Taymans  <wim@fluendo.com>
14936
14937         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
14938         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
14939         (gst_bus_source_dispatch):
14940         Add debugging messages.
14941         Make internal methods static.
14942         Handle the case where the bus is flushed in the handler.
14943         
14944         * gst/gstelement.c: (gst_element_get_bus):
14945         Fix refcount in _get_bus();
14946
14947         * gst/gstpipeline.c: (gst_pipeline_change_state),
14948         (gst_pipeline_get_clock_func):
14949         Clock refcounting fixes.
14950         Handle the case where preroll timed out more gracefully.
14951         
14952         * gst/gstsystemclock.c: (gst_system_clock_dispose):
14953         Clean up the internal thread in dispose. This is needed
14954         for subclasses that actually get disposed.
14955         
14956         * gst/schedulers/threadscheduler.c:
14957         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14958         (gst_thread_scheduler_dispose):
14959         Free thread pool in dispose.
14960
14961 2005-06-28  Andy Wingo  <wingo@pobox.com>
14962
14963         * tests/network-clock-utils.scm (debug, print-event): New utils.
14964
14965         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
14966         (*packet-loss*): Unified loss probability.
14967         (network-time): Report out-of-band events.
14968
14969         * tests/plot-data: Add support for out-of-band events. Hack it
14970         into this script instead of passing it down the pipe; should fix
14971         this later.
14972
14973 2005-06-28  Wim Taymans  <wim@fluendo.com>
14974
14975         * docs/gst/gstreamer.types:
14976         * docs/gst/tmpl/gstbasesrc.sgml:
14977         * docs/gst/tmpl/gstpad.sgml:
14978         Docs fixes.
14979
14980 2005-06-28  Wim Taymans  <wim@fluendo.com>
14981
14982         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14983         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
14984         (gst_proxy_pad_do_fixatecaps):
14985         Correctly proxy the check_pull_range function.
14986
14987 2005-06-28  Andy Wingo  <wingo@pobox.com>
14988
14989         * tests/network-clock.scm: Removed need for slib.
14990         
14991 2005-06-28  Wim Taymans  <wim@fluendo.com>
14992
14993         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
14994         (gst_basesink_preroll_queue_flush):
14995         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
14996         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
14997         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14998         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
14999         (gst_proxy_pad_set_property):
15000         * gst/gstpad.c:
15001         * gst/gstpad.h:
15002         * gst/gstqueue.c: (gst_queue_init):
15003         The deprecated pad loop function is removed now.
15004
15005 2005-06-28  Andy Wingo  <wingo@pobox.com>
15006
15007         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
15008         New parameters, simulate network packet loss.
15009
15010         * tests/network-clock-utils.scm: Initialize the RNG.
15011
15012 2005-06-28  Wim Taymans  <wim@fluendo.com>
15013
15014         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
15015         (gst_basesink_event), (gst_basesink_deactivate):
15016         Flushing the preroll queue always needs to unlock the waiters.
15017
15018 2005-06-28  Edward Hervey  <edward@fluendo.com>
15019
15020         * gst/gstpipeline.c: (gst_pipeline_send_event): 
15021         Wheen a seek was successful on a pipeline, set the stream_time to the
15022         seek offset in order to have a synchronized stream_time.
15023
15024 2005-06-28  Wim Taymans  <wim@fluendo.com>
15025
15026         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15027         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
15028         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
15029         (gst_proxy_pad_do_fixatecaps):
15030         Call wrapper function instead of just calling the function
15031         pointers. This takes care of any locking and whatmore.
15032
15033 2005-06-28  Wim Taymans  <wim@fluendo.com>
15034
15035         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
15036         (gst_pad_pull_range):
15037         * gst/gstpad.h:
15038         CONNECTED -> LINKED.
15039
15040 2005-06-28  Andy Wingo  <wingo@pobox.com>
15041
15042         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
15043         source-munging commit!!!
15044
15045         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
15046         (gst_object_sink): Take gpointer arguments, not GstObject --
15047         avoids casts. Like GLib.
15048
15049         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
15050         activate.
15051
15052 2005-06-27  Andy Wingo  <wingo@pobox.com>
15053
15054         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
15055         remaining buffer.
15056
15057         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
15058         returns a sorted copy of the trace list.
15059         (gst_alloc_trace_print_live): New API, only prints traces with
15060         live objects. Sort the list.
15061         (gst_alloc_trace_print_all): Sort the list.
15062         (gst_alloc_trace_print): Align columns.
15063
15064         * gst/elements/gstttypefindelement.c:
15065         * gst/elements/gsttee.c:
15066         * gst/base/gstbasesrc.c:
15067         * gst/base/gstbasesink.c:
15068         * gst/base/gstbasetransform.c:
15069         * gst/gstqueue.c: Adapt for pad activation changes.
15070
15071         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
15072         sched.
15073         (gst_pipeline_dispose): Drop ref on sched.
15074
15075         * gst/gstpad.c (gst_pad_init): Set the default activate func.
15076         (gst_pad_activate_default): Push mode by default.
15077         (pre_activate_switch, post_activate_switch): New stubs, things to
15078         do before and after switching activation modes on pads.
15079         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
15080         the pad's activate function to choose which mode to activate.
15081         Shortcut on deactivation and call the right function directly.
15082         (gst_pad_activate_pull): New API, (de)activates a pad in pull
15083         mode.
15084         (gst_pad_activate_push): New API, same for push mode.
15085         (gst_pad_set_activate_function) 
15086         (gst_pad_set_activatepull_function) 
15087         (gst_pad_set_activatepush_function): Setters for new API.
15088
15089         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
15090         Trace all miniobjects.
15091         (gst_mini_object_make_writable): Unref the arg if we copy, like
15092         gst_caps_make_writable.
15093
15094         * gst/gstmessage.c (_gst_message_initialize): No trace init.
15095
15096         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
15097         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
15098         Adapt for new pad API.
15099
15100         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
15101
15102         * gst/gstelement.h:
15103         * gst/gstelement.c (gst_element_iterate_src_pads) 
15104         (gst_element_iterate_sink_pads): New API functions.
15105         
15106         * gst/gstelement.c (iterator_fold_with_resync): New utility,
15107         should fold into gstiterator.c in some form.
15108         (gst_element_pads_activate): Simplified via use of fold and
15109         delegation of decisions to gstpad->activate.
15110
15111         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
15112         help in debugging.
15113
15114         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
15115         class once in init, like gstmessage. Didn't run into this issue
15116         but it seems correct. Don't initialize a trace, gstminiobject does
15117         that.
15118
15119         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
15120         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
15121         to the bus.
15122         (assert_live_count): New util function, uses alloc traces to check
15123         cleanup.
15124
15125         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
15126         To be modified when unlink drops the internal pad.
15127
15128 2005-06-27  Wim Taymans  <wim@fluendo.com>
15129
15130         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
15131         (gst_bin_change_state):
15132         Cleanup the get_state() function a little, make sure it
15133         iterates the same set of elements.
15134         Added stub iterate_state_order().
15135
15136 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15137
15138         * docs/gst/gstreamer-docs.sgml:
15139         * docs/gst/gstreamer-sections.txt:
15140         * docs/gst/gstreamer.types:
15141         * docs/gst/tmpl/gstbasesink.sgml:
15142         * docs/gst/tmpl/gstbasesrc.sgml:
15143         * docs/gst/tmpl/gstbasetransform.sgml:
15144         * docs/gst/tmpl/gstelement.sgml:
15145         * docs/gst/tmpl/gstiterator.sgml:
15146         * gst/base/gstbasesrc.c:
15147         * gst/base/gstbasesrc.h:
15148         * gst/base/gstbasetransform.h:
15149         * gst/gstelement.c:
15150         * gst/gstiterator.h:
15151           adding basetransform and iterator docs
15152
15153 2005-06-27  Andy Wingo  <wingo@pobox.com>
15154
15155         * docs/design/part-activation.txt: Notes on how activation should
15156         work -- not quite implemented yet.
15157
15158 2005-06-25  Wim Taymans  <wim@fluendo.com>
15159
15160         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
15161         At least get the chain function correct, needs more
15162         fixing.
15163
15164 2005-06-25  Wim Taymans  <wim@fluendo.com>
15165
15166         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15167         (gst_basesink_handle_object), (gst_basesink_event),
15168         (gst_basesink_do_sync), (gst_basesink_handle_event),
15169         (gst_basesink_change_state):
15170         * gst/gsttask.h:
15171         Right, two problems here: ghostpads don't take locks and
15172         glib _rec_mutex_lock_full() with depth==0 still locks.
15173         Catch illegal locking and g_warn them.
15174
15175 2005-06-25  Wim Taymans  <wim@fluendo.com>
15176
15177         * check/states/sinks.c: (START_TEST), (gst_object_suite):
15178         Have to check for completion now...
15179
15180 2005-06-25  Wim Taymans  <wim@fluendo.com>
15181
15182         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15183         (gst_basesink_handle_object), (gst_basesink_event),
15184         (gst_basesink_do_sync), (gst_basesink_handle_event),
15185         (gst_basesink_change_state):
15186         * gst/gstpad.h:
15187         Unlock STREAM_LOCK whatever the recursion was.
15188
15189 2005-06-25  Wim Taymans  <wim@fluendo.com>
15190
15191         * gst/base/gstbasesink.c: (gst_basesink_set_property),
15192         (gst_basesink_preroll_queue_empty),
15193         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
15194         (gst_basesink_event), (gst_basesink_do_sync),
15195         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
15196         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
15197         (gst_basesink_change_state):
15198         Reworked the base sink, handle event and buffer serialisation
15199         correctly and removed possible deadlock.
15200         Handle EOS correctly.
15201
15202 2005-06-25  Wim Taymans  <wim@fluendo.com>
15203
15204         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
15205         (gst_pipeline_change_state):
15206         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15207         Allow elements to post EOS in the state change function.
15208         Fix up -launch, make it exit the poll loop when the
15209         pipeline actually changed state.
15210         Fix up warning parsing in -launch.
15211
15212 2005-06-25  Wim Taymans  <wim@fluendo.com>
15213
15214         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15215         (gst_tee_sink_activate):
15216         Core takes STREAM_LOCK for us now.
15217
15218 2005-06-25  Wim Taymans  <wim@fluendo.com>
15219
15220         * gst/gstelement.c: (gst_element_get_state_func),
15221         (gst_element_set_state):
15222         * gst/gstelement.h:
15223         * gst/gstmessage.c: (gst_message_parse_error),
15224         (gst_message_parse_warning):
15225         Keep track of current target state while performing a state
15226         change so that subclasses can do something interesting.
15227         Fix parsing of warning/error messages when GError is NULL.
15228
15229 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15230
15231         * docs/gst/Makefile.am:
15232         * docs/gst/gstreamer-docs.sgml:
15233         * docs/gst/gstreamer-sections.txt:
15234         * docs/gst/gstreamer.types:
15235         * docs/gst/tmpl/gstbasesink.sgml:
15236         * docs/gst/tmpl/gstbasesrc.sgml:
15237         * docs/gst/tmpl/gstbin.sgml:
15238         * docs/gst/tmpl/gstcompat.sgml:
15239         * docs/gst/tmpl/gstfakesink.sgml:
15240         * docs/gst/tmpl/gstfakesrc.sgml:
15241         * docs/gst/tmpl/gstfilesink.sgml:
15242         * docs/gst/tmpl/gstfilesrc.sgml:
15243         * docs/gst/tmpl/gstindex.sgml:
15244         * docs/manual/appendix-quotes.xml:
15245         * gst/base/gstbasesrc.h:
15246         * gst/elements/gstfakesrc.h:
15247         * gst/gstmessage.h:
15248           start pulling in base classes and elements in our docs
15249
15250 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
15251
15252         * docs/gst/Makefile.am:
15253         * docs/libs/Makefile.am:
15254           fixed make distcheck with gtk-doc 1.3
15255
15256 2005-06-23  Wim Taymans  <wim@fluendo.com>
15257
15258         * gst/gstelement.c: (gst_element_get_state_func),
15259         (gst_element_set_state), (gst_element_change_state):
15260         When the state did not change, also report NO_PREROLL
15261         when it matters.
15262
15263 2005-06-23  Wim Taymans  <wim@fluendo.com>
15264
15265         * gst/gstpad.c: (gst_pad_event_default):
15266         * gst/gstqueue.c: (gst_queue_loop):
15267         No unsafe task pausing please.
15268
15269 2005-06-23  Wim Taymans  <wim@fluendo.com>
15270
15271         * gst/schedulers/threadscheduler.c:
15272         (gst_thread_scheduler_task_start),
15273         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15274         Ref the task before pushing it on the threadpool. This
15275         makes sure that we have a ref when the threadfunction is
15276         actually called.
15277
15278 2005-06-23  Andy Wingo  <wingo@pobox.com>
15279
15280         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15281         offset is greater than the file's size.
15282
15283         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
15284         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15285         * gst/gstobject.c (gst_object_class_init): Make the class lock
15286         recursive. Wim won't let me drop deep_notify. Decodebin works
15287         again, whoopdy doo.
15288
15289         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15290         internal pad, and hacks accordingly. Doesn't do it on the target
15291         pad because we change its caps. Probably catches all cases of
15292         interest tho.
15293         (gst_ghost_pad_set_property): Connect to notify::caps as
15294         appropritate.
15295
15296         * tests/network-clock.scm (plot-simulation): Pipe data to the
15297         elite python skript.
15298
15299         * tests/network-clock-utils.scm (define-parameter): New macro,
15300         defines a parameter that can be set via the command line.
15301         (set-parameter!, parse-parameter-arguments): Command line args
15302         parser.
15303
15304         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15305         stdin.
15306
15307 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15308
15309         * gst/elements/gsttypefindelement.c:
15310         (gst_type_find_element_handle_event):
15311           Don't restart typefinding on a discont.
15312         * gst/gstelement.c: (gst_element_set_state):
15313           Debug spelling fix.
15314         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15315           Allow changing mode of an active pad.
15316           Debug output fixes.
15317         * gst/registries/gstlibxmlregistry.c: (load_feature):
15318           Don't cast a static pad template to a normal pad template.
15319
15320 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15321
15322         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15323         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15324           remove gst_strtoll completely, since it didn't actually do
15325           anything more than what g_ascii_strtoull already does.
15326           check for range errors when deserializing
15327           do a cast for the unsigned cases; but further fixing needs
15328           a decision on what the interpretation of "(int)" and
15329           deserialization should be for values that fall outside the
15330           type's boundaries (ie, refuse, or interpret as casting)
15331
15332 2005-06-23  Wim Taymans  <wim@fluendo.com>
15333
15334         * check/Makefile.am:
15335         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15336         * docs/design/part-live-source.txt:
15337         * docs/design/part-states.txt:
15338         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15339         (gst_basesrc_set_live), (gst_basesrc_is_live),
15340         (gst_basesrc_get_range), (gst_basesrc_activate),
15341         (gst_basesrc_change_state):
15342         * gst/base/gstbasesrc.h:
15343         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15344         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15345         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15346         * gst/gstelement.c: (gst_element_get_state_func),
15347         (gst_element_set_state):
15348         * gst/gstelement.h:
15349         * gst/gsttypes.h:
15350         * tools/gst-launch.c: (event_loop), (main):
15351         Added support for live sources and other elements that
15352         cannot do preroll.
15353         Updated design docs, added live-source design doc.
15354         Implemented live source functionality in basesrc
15355         Fix error condition in _bin_get_state()
15356         Implement live source handling in -launch.
15357         Added check for live sources.
15358         Fixed case in GstBin where elements were changed state
15359         multiple times.
15360
15361
15362 2005-06-23  Andy Wingo  <wingo@pobox.com>
15363
15364         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15365         borken refcounting.
15366
15367         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15368         gst_caps_replace takes care of this for us.
15369
15370         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15371         gst_pad_set_caps on the target, not just its setcaps() function.
15372
15373         * tests/network-clock.scm: 
15374         * tests/network-clock-utils.scm: A network clock simulator.
15375         Something of an algorithmic testbed before doing something in C.
15376
15377 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15378
15379         * check/Makefile.am:
15380         * check/gst/capslist.h:
15381           copy over from 0.8, and add two with bitmasks specified with
15382           (int) 0xFF...
15383         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15384           add test to parse everything from capslist.h
15385         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15386         (main):
15387           add test for structure deserialization
15388         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15389           add tests for deserialization of strings to int types
15390         * gst/gststructure.c: (gst_structure_nth_field_name):
15391         * gst/gststructure.h:
15392           add a way to get the name of a field referenced by index
15393         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15394           instead of checking if the resulting long long lies between
15395           min and max, we check if the long long would fit into
15396           a number of bytes for the final type.
15397           This fixes cases where a string represents 2^32 - 1, which
15398           when cast to int would be the (valid) -1, but is bigger than
15399           G_MAXINT
15400
15401 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15402
15403         * gst/parse/grammar.y:
15404           add a log line for type deserialization
15405
15406 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15407
15408         * check/gst/gstvalue.c: (START_TEST):
15409         * gst/gstvalue.c: (gst_value_deserialize):
15410           return long long, not int, so gint64 deserialization actually
15411           works.  Is there any flag that makes the compiler check this ?
15412           Fixes #308559
15413
15414 2005-06-22  Wim Taymans  <wim@fluendo.com>
15415
15416         * gst/gstbuffer.h:
15417         Added convenience macros for setting buffers in GValue.
15418
15419 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15420
15421         * check/gst/.cvsignore:
15422         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15423           add a test deserializing int64, and comment part out because
15424           it fails, yay !
15425
15426 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15427
15428         * check/Makefile.am:
15429         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15430         * testsuite/Makefile.am:
15431         * testsuite/caps/Makefile.am:
15432         * testsuite/caps/value_serialize.c:
15433         * testsuite/test_gst_init.c:
15434           move a value_serialize test over
15435
15436 2005-06-20  Wim Taymans  <wim@fluendo.com>
15437
15438         * gst/gstpad.c:
15439         Small doc updates.
15440         
15441         * gst/gstvalue.c: (gst_value_compare_buffer),
15442         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15443         (gst_value_compare_flags), (gst_value_serialize_flags),
15444         (gst_value_deserialize_flags), (_gst_value_initialize):
15445         Fix serialisation of buffers, they are not boxed types anymore
15446
15447 2005-06-20  Wim Taymans  <wim@fluendo.com>
15448
15449         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15450         Testcase to show error in buffer-on-caps serialisation.
15451
15452 2005-06-20  Andy Wingo  <wingo@pobox.com>
15453
15454         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15455         will be adding to later.
15456
15457         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15458         if its socks fill with rocks.
15459         (gst_system_clock_obtain): Set the name on object construction.
15460         Avoid double-checked locking.
15461
15462 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
15463
15464         * gst/gsturi.c: (gst_element_make_from_uri):
15465           Fix potential endless loop.
15466
15467 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15468
15469         * check/Makefile.am:
15470           add gsttag
15471         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15472         (main):
15473           move over from testsuite dir and clean up
15474         * configure.ac:
15475         * gst/gsttag.c:
15476         * testsuite/Makefile.am:
15477         * testsuite/tags/.cvsignore:
15478         * testsuite/tags/Makefile.am:
15479         * testsuite/tags/merge.c:
15480           remove testsuite/tags
15481
15482 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15483
15484         * docs/gst/gstreamer-sections.txt:
15485         * docs/gst/tmpl/gstenumtypes.sgml:
15486         * win32/gstenumtypes.c:
15487           clean up documentation build a little
15488
15489 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15490
15491         * check/gstcheck.h:
15492           add macros for checking refcounts on objects and caps
15493         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15494           add some more unit tests
15495         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15496         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15497           fix leaked refcounts (I hope :)) so unittest works
15498         * gst/gstpad.h:
15499           whitespace removal
15500
15501 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15502
15503         * configure.ac: back to HEAD
15504
15505 === release 0.9.1 ===
15506
15507 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15508
15509         * NEWS:
15510         * RELEASE:
15511           updated
15512
15513 2005-06-17  Andy Wingo  <wingo@pobox.com>
15514
15515         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15516         assert; it's always possible that the pad gets deactivated in
15517         between the checks in gstpad.c and the implementation. Rely on
15518         finish_preroll() to return a FLUSHING or similar instead of on the
15519         assert.
15520         
15521         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15522         clock and post an EOS message if we come out of finish_preroll in
15523         the playing state.
15524
15525 2005-06-16  David Schleef  <ds@schleef.org>
15526
15527         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15528         (gst_capsfilter_set_property): Allow NULL as possible value
15529         for filter_caps property, indicating GST_CAPS_ANY.
15530
15531 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15532
15533         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15534           fix debug output
15535         * gst/schedulers/Makefile.am:
15536           use libgst prefix
15537         * gstreamer.spec.in:
15538           fix spec for it
15539
15540 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15541
15542         * gstreamer.spec.in:
15543           clean up
15544
15545 2005-06-08  Andy Wingo  <wingo@pobox.com>
15546
15547         * gst/gstutils.c: RPAD fixes all around.
15548         (gst_element_link_pads): Refcounting fixes.
15549
15550         * tools/gst-inspect.c:
15551         * tools/gst-xmlinspect.c:
15552         * parse/grammar.y:
15553         * gst/base/gsttypefindhelper.c:
15554         * gst/base/gstbasesink.c:
15555         * gst/gstqueue.c: RPAD fixes.
15556
15557         * gst/gstghostpad.h:
15558         * gst/gstghostpad.c: New ghost pad implementation as full proxy
15559         pads. The tricky thing is they provide both source and sink
15560         interfaces, since they proxy the internal pad for the external
15561         pad, and vice versa. Implement with lower-level ProxyPad objects,
15562         with the interior proxy pad as a child of the exterior ghost pad.
15563         Should write a doc on this.
15564         
15565         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15566         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15567         gst_object API.
15568         
15569         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15570         pads are real pads. No ghost pads in this file. Not documenting
15571         the myriad s/RPAD/PAD/ and REALIZE fixes.
15572         (gst_pad_class_init): Add properties for "direction" and
15573         "template". Both are construct-only, so they can't change during
15574         the life of the pad. Fixes properly deriving from GstPad.
15575         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15576         derived objects, just set properties when creating the objects via
15577         g_object_new.
15578         (gst_pad_get_parent): Implement as a function, return NULL if the
15579         parent is not an element.
15580         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15581         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15582         
15583         * gst/gstobject.c (gst_object_class_init): Make name a construct
15584         property. Don't set it in the object init.
15585
15586         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15587         with UNKNOWN direction.
15588         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15589         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15590         (gst_element_remove_pad): Remove ghost-pad special cases.
15591         (gst_element_pads_activate): Remove rpad cruft.
15592
15593         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15594         catch the pad's-parent-not-an-element case.
15595
15596         * gst/gst.h: Include gstghostpad.h.
15597
15598         * gst/gst.c (init_post): No more real, ghost pads.
15599
15600         * gst/Makefile.am: Add gstghostpad.[ch].
15601
15602         * check/Makefile.am:
15603         * check/gst/gstbin.c:
15604         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15605         into a bin creates ghost pads, and that the refcounts are right.
15606         Partly moved from gstbin.c.
15607
15608 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15609
15610         * check/gst-libs/.cvsignore:
15611         * check/gst/.cvsignore:
15612         * check/pipelines/.cvsignore:
15613           ignore more
15614         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15615         (START_TEST), (cleanup_suite), (main):
15616           add some tests related to cleanup after running pipelines
15617
15618 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15619
15620         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15621           add a testsuite for GstBuffer
15622
15623 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15624
15625         * gst/gstminiobject.h:
15626           add defines for accessing the refcount
15627
15628 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
15629
15630         * Makefile.am: added support for html unit test coverage reports
15631
15632 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
15633
15634         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15635           Free existing caps if the capsfilter changes. Add a FIXME about
15636           setting those caps on the pads.
15637
15638         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15639           Before adding a ghost pad to a parent bin, check that there isn't
15640           already one for the element on the bin. Prevents infinite recursion
15641           when using decodebin in parse pipelines. Andy says he'll rewrite the
15642           way this works anyway, so ignore the hack.
15643
15644 2005-06-02  Andy Wingo  <wingo@pobox.com>
15645
15646         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15647         file size, pass it on to the type find helper.
15648
15649         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15650         segment_start and segment_end properly according to the seek
15651         method. Segment_end is still a bit flaky because offset can be
15652         negative for CUR and END cases, but it takes -1 as an "unset"
15653         value.
15654
15655 2005-06-02  Wim Taymans  <wim@fluendo.com>
15656
15657         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15658         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15659         (gst_basesink_activate):
15660         * gst/base/gstbasesink.h:
15661         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15662         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15663         (gst_pad_query), (gst_pad_start_task):
15664         * gst/gstpad.h:
15665         * gst/gstqueue.c: (gst_queue_bufferalloc),
15666         (gst_queue_handle_sink_event), (gst_queue_chain):
15667         Bufferalloc: return GstFlowReturn to more accuratly report
15668         why allocation failed.
15669
15670 2005-06-02  Wim Taymans  <wim@fluendo.com>
15671
15672         * gst/gstpipeline.c: (gst_pipeline_send_event):
15673         Take snapshot of state without blocking.
15674
15675 2005-06-02  Wim Taymans  <wim@fluendo.com>
15676
15677         * docs/design/part-TODO.txt:
15678         * docs/design/part-caps.txt:
15679         * docs/design/part-clocks.txt:
15680         * docs/design/part-negotiation.txt:
15681         * docs/design/part-preroll.txt:
15682         Small doc updates 
15683
15684 2005-05-30  Wim Taymans  <wim@fluendo.com>
15685
15686         * gst/elements/gstidentity.c: (gst_identity_event),
15687         (gst_identity_transform), (gst_identity_get_property):
15688         Protect last_message property as it is accessed from
15689         multiple threads.
15690
15691 2005-05-30  Wim Taymans  <wim@fluendo.com>
15692
15693         * gst/gstelement.c: (gst_element_init),
15694         (gst_element_pads_activate), (gst_element_change_state):
15695         Slicker pad activation code.
15696
15697 2005-05-30  Wim Taymans  <wim@fluendo.com>
15698
15699         * gst/Makefile.am:
15700         * gst/gstelement.h:
15701         * gst/gstelementfactory.h:
15702         * gst/gsttypes.h:
15703         Move elementfactory methods to separate .h file.
15704
15705 2005-05-30  Wim Taymans  <wim@fluendo.com>
15706
15707         * docs/design/part-overview.txt:
15708         * gst/gstsystemclock.h:
15709         Small typo fixes, doc updates.
15710
15711 2005-05-30  Wim Taymans  <wim@fluendo.com>
15712
15713         * gst/gst.c: (gst_init_get_popt_table), (init_post),
15714         (init_popt_callback):
15715         Remove cpu-opt flag.
15716
15717 2005-05-30  Wim Taymans  <wim@fluendo.com>
15718
15719         * gst/gstbuffer.c: (gst_subbuffer_finalize),
15720         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15721         * gst/gstbuffer.h:
15722         Avoid typechecking in places where not needed.
15723         Added accessor for malloc_data.
15724
15725 2005-05-30  Wim Taymans  <wim@fluendo.com>
15726
15727         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15728         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15729         (gst_pad_configure_sink), (gst_pad_configure_src),
15730         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15731         (gst_pad_start_task):
15732         Propagate errors from _set_caps() in configure_src/sink
15733         functions instead of returning TRUE.
15734         FLUSH events can travel up and downstream
15735
15736
15737 2005-05-30  Wim Taymans  <wim@fluendo.com>
15738
15739         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15740         (gst_basesink_activate):
15741         Handle EOS in preroll.
15742
15743 2005-05-30  Wim Taymans  <wim@fluendo.com>
15744
15745         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15746         (gst_queue_loop), (gst_queue_handle_src_event):
15747         Remove old pieces of code
15748         Flushing the queue in an upstream event is a very bad idea.
15749
15750 2005-05-26  Andy Wingo  <wingo@pobox.com>
15751
15752         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
15753         gst_value_set_mini_object so as to add a ref on the object (which
15754         will be removed when the value is unset).
15755
15756         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
15757         arg type in ::handoff.
15758
15759         * gst/gstelement.c (gst_element_change_state): Also deactivate
15760         pads in READY->NULL, just in case the element didn't make it to
15761         PAUSED. Wingo tested, Wim approved.
15762
15763 2005-05-26  Wim Taymans  <wim@fluendo.com>
15764
15765         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15766         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15767         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
15768         A flushing pad cannot be used to alloc_buffer from.
15769
15770 2005-05-26  Wim Taymans  <wim@fluendo.com>
15771
15772         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
15773         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
15774         (gst_bus_source_dispatch), (gst_bus_source_finalize),
15775         (gst_bus_create_watch), (gst_bus_add_watch_full):
15776         * gst/gstbus.h:
15777         Implement a real GSource and use g_main_context_wakeup() to
15778         signal new messages instead of the socketpair.
15779
15780 2005-05-25  Wim Taymans  <wim@fluendo.com>
15781
15782         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
15783         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
15784         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15785         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15786         (gst_pad_send_event), (gst_pad_start_task):
15787         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
15788         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15789         (gst_queue_sink_activate), (gst_queue_src_activate),
15790         (gst_queue_change_state):
15791         * gst/gstqueue.h:
15792         Fix state changes for non sinks. We now change sinks, then elements
15793         with unconnected srcpads, then the rest.
15794         More efficient queue unlocking in flush and state changes.
15795         Set the pad activate mode even if it does not have an activate
15796         function.
15797
15798 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15799
15800         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
15801           Don't go in pull mode for non-seekable sources.
15802         * gst/elements/gsttypefindelement.h:
15803         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15804         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
15805         (free_entry), (stop_typefinding),
15806         (gst_type_find_element_handle_event), (find_peek),
15807         (gst_type_find_element_chain), (do_pull_typefind),
15808         (gst_type_find_element_change_state):
15809           Allow typefinding (w/o seeking) in push-mode, simplified version
15810           of what was in 0.8.
15811         * gst/gstutils.c: (gst_buffer_join):
15812         * gst/gstutils.h:
15813           gst_buffer_join() from 0.8.
15814
15815 2005-05-25  Wim Taymans  <wim@fluendo.com>
15816
15817         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15818         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15819         (gst_pad_send_event), (gst_pad_start_task):
15820         Disable attempt at mode switching until it is figured out.
15821
15822 2005-05-25  Wim Taymans  <wim@fluendo.com>
15823
15824         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
15825         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15826         (gst_basesink_finish_preroll), (gst_basesink_chain),
15827         (gst_basesink_loop), (gst_basesink_activate),
15828         (gst_basesink_change_state):
15829         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
15830         (gst_basesrc_get_range), (gst_basesrc_loop),
15831         (gst_basesrc_activate):
15832         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15833         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15834         (gst_real_pad_init), (gst_real_pad_set_property),
15835         (gst_real_pad_get_property), (gst_pad_set_active),
15836         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
15837         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
15838         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
15839         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
15840         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15841         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
15842         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
15843         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15844         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
15845         (gst_pad_stop_task):
15846         * gst/gstpad.h:
15847         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15848         (gst_queue_loop), (gst_queue_src_activate):
15849         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
15850         (gst_task_get_state):
15851         * gst/gsttask.h:
15852         * gst/schedulers/threadscheduler.c:
15853         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
15854         Implement gst_pad_pause/start/stop_task(), take STREAM lock
15855         in task function.
15856         Remove ACTIVE pad flag, use FLUSHING everywhere
15857         Added _pad_chain(), _pad_get_range() to call chain/getrange 
15858         functions.
15859         Add locks around IS_FLUSHING when reading.
15860         Take STREAM lock in chain(), get_range() functions so plugins
15861         don't need to take it anymore.
15862         
15863
15864
15865 2005-05-25  Wim Taymans  <wim@fluendo.com>
15866
15867         * tools/gst-launch.c: (event_loop):
15868         Unref message after using its contents instead of
15869         before.
15870
15871 2005-05-24  Wim Taymans  <wim@fluendo.com>
15872
15873         * docs/design/draft-ghostpads.txt:
15874         * docs/design/draft-push-pull.txt:
15875         * docs/design/draft-query.txt:
15876         * docs/design/part-overview.txt:
15877         Docs updates, added general overview doc.
15878
15879 2005-05-21  David Schleef  <ds@schleef.org>
15880
15881         * docs/gst/tmpl/old/GstBin.sgml:
15882         * docs/gst/tmpl/old/GstBuffer.sgml:
15883         * docs/gst/tmpl/old/GstCaps.sgml:
15884         * docs/gst/tmpl/old/GstClock.sgml:
15885         * docs/gst/tmpl/old/GstCompat.sgml:
15886         * docs/gst/tmpl/old/GstData.sgml:
15887         * docs/gst/tmpl/old/GstElement.sgml:
15888         * docs/gst/tmpl/old/GstEvent.sgml:
15889         * docs/gst/tmpl/old/GstIndex.sgml:
15890         * docs/gst/tmpl/old/GstStructure.sgml:
15891         * docs/gst/tmpl/old/GstTag.sgml:
15892         * docs/gst/tmpl/old/cothreads.sgml:
15893         * docs/gst/tmpl/old/cothreads_compat.sgml:
15894         * docs/gst/tmpl/old/gettext.sgml:
15895         * docs/gst/tmpl/old/gobject2gtk.sgml:
15896         * docs/gst/tmpl/old/grammar.tab.sgml:
15897         * docs/gst/tmpl/old/gst-i18n-app.sgml:
15898         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
15899         * docs/gst/tmpl/old/gst_private.sgml:
15900         * docs/gst/tmpl/old/gstaggregator.sgml:
15901         * docs/gst/tmpl/old/gstarch.sgml:
15902         * docs/gst/tmpl/old/gstatomic_impl.sgml:
15903         * docs/gst/tmpl/old/gstbufferstore.sgml:
15904         * docs/gst/tmpl/old/gstdata_private.sgml:
15905         * docs/gst/tmpl/old/gstdisksink.sgml:
15906         * docs/gst/tmpl/old/gstdisksrc.sgml:
15907         * docs/gst/tmpl/old/gstelementfactory.sgml:
15908         * docs/gst/tmpl/old/gstextratypes.sgml:
15909         * docs/gst/tmpl/old/gstfakesink.sgml:
15910         * docs/gst/tmpl/old/gstfakesrc.sgml:
15911         * docs/gst/tmpl/old/gstfdsink.sgml:
15912         * docs/gst/tmpl/old/gstfdsrc.sgml:
15913         * docs/gst/tmpl/old/gstfilesink.sgml:
15914         * docs/gst/tmpl/old/gstfilesrc.sgml:
15915         * docs/gst/tmpl/old/gsthttpsrc.sgml:
15916         * docs/gst/tmpl/old/gstidentity.sgml:
15917         * docs/gst/tmpl/old/gstindexfactory.sgml:
15918         * docs/gst/tmpl/old/gstmarshal.sgml:
15919         * docs/gst/tmpl/old/gstmd5sink.sgml:
15920         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
15921         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
15922         * docs/gst/tmpl/old/gstpadtemplate.sgml:
15923         * docs/gst/tmpl/old/gstpipefilter.sgml:
15924         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
15925         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
15926         * docs/gst/tmpl/old/gstshaper.sgml:
15927         * docs/gst/tmpl/old/gstspider.sgml:
15928         * docs/gst/tmpl/old/gstspideridentity.sgml:
15929         * docs/gst/tmpl/old/gststatistics.sgml:
15930         * docs/gst/tmpl/old/gsttee.sgml:
15931         * docs/gst/tmpl/old/gsttimecache.sgml:
15932         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
15933         * docs/gst/tmpl/old/gstxmlregistry.sgml:
15934         * docs/gst/tmpl/old/gthread-cothreads.sgml:
15935         * docs/gst/tmpl/old/types.sgml:
15936           I didn't intend to add these or check them in.
15937
15938 2005-05-19  David Schleef  <ds@schleef.org>
15939
15940         * configure.ac: Use -no-common everywhere.  In a sane world, it
15941           would be the default in libtool, because without it, you can't
15942           build DLLs on Windows.
15943         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
15944         * docs/gst/gstreamer-sections.txt:
15945         * docs/gst/tmpl/gstcpu.sgml:
15946         * docs/gst/tmpl/gstdata.sgml:
15947         * docs/gst/tmpl/gstthread.sgml:
15948
15949 2005-05-19  David Schleef  <ds@schleef.org>
15950
15951         * gst/gstminiobject.c: (gst_value_set_mini_object),
15952         (gst_value_take_mini_object), (gst_value_get_mini_object):
15953         * gst/gstminiobject.h: Add GValue set/get functions.
15954
15955 2005-05-19  Wim Taymans  <wim@fluendo.com>
15956
15957         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
15958         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
15959         (gst_subbuffer_init), (gst_buffer_is_span_fast):
15960         * gst/gstbuffer.h:
15961         * gst/gstbus.c: (gst_bus_post):
15962         * gst/gstelement.c: (gst_element_get_random_pad):
15963         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
15964         Make subbufer unref the parent in finalize.
15965         some more debugging info.
15966
15967
15968 2005-05-19  Wim Taymans  <wim@fluendo.com>
15969
15970         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15971         (gst_basesink_init), (gst_basesink_finalize),
15972         (gst_basesink_activate), (gst_basesink_change_state):
15973         Don't free preroll queue too early.
15974
15975 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15976
15977         * gst/Makefile.am:
15978         * gst/ROADMAP:
15979           Hi, I'm outdated. Please shoot me.
15980
15981 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15982
15983         * gst/gstpipeline.c: (gst_pipeline_send_event):
15984           Do not access variables after they have been deleted.
15985
15986 2005-05-19  Wim Taymans  <wim@fluendo.com>
15987
15988         * tools/gst-inspect.c: (print_plugin_features):
15989         A plugin feature does unfortunatly not use the
15990         object name yet...
15991
15992 2005-05-18  Wim Taymans  <wim@fluendo.com>
15993
15994         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
15995         Port _span() functions to new subbuffers.
15996
15997 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15998
15999         * gst/gstbin.c: (gst_bin_add_func):
16000           Fix clock settery in bins when adding kids after the clock has
16001           been selected.
16002
16003 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16004
16005         * gst/elements/gstidentity.c: (gst_identity_class_init):
16006           Workaround until signals support GstMiniObject.
16007
16008 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
16009
16010         * gst/gstbuffer.c:
16011         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
16012
16013 2005-05-18  Wim Taymans  <wim@fluendo.com>
16014
16015         * gst/base/Makefile.am:
16016         * gst/base/gstadapter.c: (gst_adapter_base_init),
16017         (gst_adapter_class_init), (gst_adapter_init),
16018         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
16019         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
16020         (gst_adapter_flush), (gst_adapter_available),
16021         (gst_adapter_available_fast):
16022         * gst/base/gstadapter.h:
16023         Ported and added adapter to the base classes.
16024
16025 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16026
16027         * gst/gst.c:
16028         * gst/gstmessage.c:
16029           Make sure the class is reffed/unreffed once before threads can be
16030           used.  Fixes #304551.
16031
16032 2005-05-17  Wim Taymans  <wim@fluendo.com>
16033
16034         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
16035         (gst_basesink_chain_unlocked), (gst_basesink_activate):
16036         * gst/gstminiobject.c: (gst_mini_object_get_type),
16037         (gst_mini_object_free):
16038         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
16039         (gst_pad_push), (gst_pad_push_event):
16040         * gst/gstqueue.c: (gst_queue_change_state):
16041         Don't queue buffers in basesink when we are flushing.
16042         Unref buffer when flushing in basesink.
16043         Flush queue when going to READY
16044         Unref buffer when _push() returns an error.
16045         Don't free MiniObject instance when refcount is incremented
16046         in _finalize() so that we can recover objects.
16047
16048 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16049
16050         * docs/manual/advanced-schedulers.xml:
16051         * docs/manual/appendix-checklist.xml:
16052         * docs/pwg/advanced-clock.xml:
16053         * docs/pwg/advanced-interfaces.xml:
16054         * docs/pwg/advanced-request.xml:
16055         * docs/pwg/advanced-types.xml:
16056         * docs/pwg/intro-preface.xml:
16057         * examples/plugins/example.c: (gst_example_get_type),
16058         (gst_example_class_init), (gst_example_chain),
16059         (gst_example_set_property), (gst_example_get_property),
16060         (gst_example_change_state), (plugin_init):
16061         * examples/plugins/example.h:
16062           small doc fixes
16063
16064 2005-05-17  Wim Taymans  <wim@fluendo.com>
16065
16066         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
16067         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
16068         * gst/gstqueue.c: (gst_queue_change_state):
16069         Clear queue when going to READY.
16070         Remove IN_SETCAPS flag too.
16071
16072 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
16073
16074         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
16075           Remove implicit cast from gboolean to GstElementStateReturn;
16076           make sure we still return failure in paused => ready case if
16077           the parent class fails to change state and our own stop 
16078           vfunc succeeds.
16079
16080 2005-05-17  Wim Taymans  <wim@fluendo.com>
16081
16082         * tools/gst-launch.c: (event_loop):
16083         Message was unreffed too soon.
16084
16085 2005-05-16  Andy Wingo  <wingo@pobox.com>
16086
16087         * gst/gstbin.c (sink_iterator_filter): Err... um...
16088
16089         * check/gst/gstbin.c (test_ghost_pads): New test for the
16090         ghosting-if-elements-not-in-same-bin behavior.
16091
16092 2005-05-16  David Schleef  <ds@schleef.org>
16093
16094         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
16095         accessing refcount directly.
16096
16097 2005-05-15  David Schleef  <ds@schleef.org>
16098
16099         * check/Makefile.am: remove GstData checks
16100         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
16101         * gst/Makefile.am: add miniobject, remove data
16102         * gst/gst.h: add miniobject, remove data
16103         * gst/gstdata.c: remove
16104         * gst/gstdata.h: remove
16105         * gst/gstdata_private.h: remove
16106         * gst/gsttypes.h: remove GstEvent and GstMessage
16107         * gst/gstelement.c: (gst_element_post_message): fix for API changes
16108         * gst/gstmarshal.list: change BOXED -> OBJECT
16109
16110         Implement GstMiniObject.
16111         * gst/gstminiobject.c:
16112         * gst/gstminiobject.h:
16113
16114         Modify to be subclasses of GstMiniObject.
16115         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
16116         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
16117         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
16118         (gst_subbuffer_get_type), (gst_subbuffer_init),
16119         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
16120         (gst_buffer_span):
16121         * gst/gstbuffer.h:
16122         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
16123         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
16124         (_gst_event_copy), (gst_event_new):
16125         * gst/gstevent.h:
16126         * gst/gstmessage.c: (_gst_message_initialize),
16127         (gst_message_get_type), (gst_message_class_init),
16128         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
16129         (gst_message_new), (gst_message_new_error),
16130         (gst_message_new_warning), (gst_message_new_tag),
16131         (gst_message_new_state_changed), (gst_message_new_application):
16132         * gst/gstmessage.h:
16133         * gst/gstprobe.c: (gst_probe_perform),
16134         (gst_probe_dispatcher_dispatch):
16135         * gst/gstprobe.h:
16136         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
16137         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
16138         (_gst_query_copy), (gst_query_new):
16139
16140         Update elements for GstData -> GstMiniObject changes
16141         * gst/gstquery.h:
16142         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
16143         (gst_queue_chain), (gst_queue_loop):
16144         * gst/elements/gstbufferstore.c:
16145         (gst_buffer_store_add_buffer_func),
16146         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
16147         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16148         (gst_fakesink_render):
16149         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
16150         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
16151         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
16152         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
16153         (gst_filesrc_create_read):
16154         * gst/elements/gstidentity.c: (gst_identity_class_init):
16155         * gst/elements/gsttypefindelement.c:
16156         (gst_type_find_element_src_event), (free_entry_buffers),
16157         (gst_type_find_element_handle_event):
16158         * libs/gst/dataprotocol/dataprotocol.c:
16159         (gst_dp_header_from_buffer):
16160         * libs/gst/dataprotocol/dataprotocol.h:
16161         * libs/gst/dataprotocol/dp-private.h:
16162
16163 2005-05-15  David Schleef  <ds@schleef.org>
16164
16165         * gst/elements/gstelements.c: Don't include headers that were
16166         just removed.
16167
16168 2005-05-15  David Schleef  <ds@schleef.org>
16169
16170         * gst/elements/Makefile.am: Remove some elements that don't
16171         need to be in the core (or even exist at all).
16172         * gst/elements/gstaggregator.c:
16173         * gst/elements/gstaggregator.h:
16174         * gst/elements/gstmd5sink.c:
16175         * gst/elements/gstmd5sink.h:
16176         * gst/elements/gstmultifilesrc.c:
16177         * gst/elements/gstmultifilesrc.h:
16178         * gst/elements/gstpipefilter.c:
16179         * gst/elements/gstpipefilter.h:
16180         * gst/elements/gstshaper.c:
16181         * gst/elements/gstshaper.h:
16182         * gst/elements/gststatistics.c:
16183         * gst/elements/gststatistics.h:
16184         * po/POTFILES.in: Remove above files.
16185
16186 2005-05-14  Andy Wingo  <wingo@pobox.com>
16187
16188         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
16189         so as to get the refs right.
16190         (sink_iterator_filter): New function, wraps bin_element_is_sink,
16191         unreffing objects that don't pass the filter.
16192
16193         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
16194         gst_element_set_bus.
16195         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
16196         normal cases, this will destroy the bus.
16197
16198         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
16199         object.
16200
16201         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
16202         has no sinks.
16203
16204 2005-05-13  Andy Wingo  <wingo@pobox.com>
16205
16206         * gst/gstutils.c (gst_element_link_pads): Instead of calling
16207         gst_pad_link, call pad_link_maybe_ghosting,
16208         (pad_link_maybe_ghosting): Links pads, making sure that the
16209         elements being linked are in the same bin.
16210         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16211         Helpers for pad_link_maybe_ghosting.
16212
16213 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16214
16215         * configure.ac:
16216           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16217
16218 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16219
16220         * docs/design/part-element-source.txt:
16221           Mention GstPushSrc
16222
16223 2005-05-12  Wim Taymans  <wim@fluendo.com>
16224
16225         * gst/base/gstbasesink.c: (gst_basesink_init),
16226         (gst_basesink_activate):
16227         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16228         (gst_basesrc_is_seekable):
16229         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16230         (bin_element_is_sink), (gst_bin_change_state):
16231         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16232         * gst/gstelement.h:
16233         Identify sinks by their flag to avoid overly complicated
16234         checks (fow now).
16235         Do state changes even for elements not reachable from the
16236         sinks.
16237         BaseSink is a sink now :)
16238         Some more debugging info in the basesrc.
16239
16240
16241 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16242
16243         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16244           Implement _query on a bin, similar to _send_event.
16245
16246 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
16247
16248         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16249           Discont event offset format should be GST_FORMAT_BYTES,
16250           not GST_FORMAT_TIME.
16251
16252 2005-05-12  Wim Taymans  <wim@fluendo.com>
16253
16254         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16255         Same fix as Ronald's but without the signal. 
16256
16257 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16258
16259         * gst/gstutils.c: (gst_element_query_position):
16260           No, an element is not a pad.
16261
16262 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16263
16264         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16265         (gst_bin_get_state):
16266           If a child is removed from a bin while we remove the child from
16267           the bin and while we're retrieving its state, signal this to the
16268           get_state function so we abort the wait (instead of waiting for
16269           a timeout) and can immediately re-iterate over all other elements.
16270
16271 2005-05-12  Wim Taymans  <wim@fluendo.com>
16272
16273         * gst/base/Makefile.am:
16274         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16275         (gst_basesrc_start):
16276         * gst/base/gstbasesrc.h:
16277         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16278         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16279         (gst_pushsrc_init), (gst_pushsrc_create):
16280         * gst/base/gstpushsrc.h:
16281         Added is_seekable to BaseSrc
16282         Added simple PushSrc.
16283
16284 2005-05-11  Wim Taymans  <wim@fluendo.com>
16285
16286         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16287         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16288         (gst_element_link_pads), (gst_element_query_position),
16289         (gst_element_query_convert), (intersect_caps_func),
16290         (gst_pad_query_position), (gst_pad_query_convert):
16291         Fix refcounting in utils function.
16292         No point in trying to activate a pad when it's added, it could
16293         be added from the state change function and then we deadlock, the
16294         element has to decide what to do.
16295
16296 2005-05-10  Andy Wingo  <wingo@pobox.com>
16297
16298         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16299         *all* the arguments.
16300
16301         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16302         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16303         lock (according to the docs -- if this is wrong change the docs).
16304
16305         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16306         flush messages in the NULL state.
16307
16308         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16309         message immediately and return.
16310         (gst_bus_set_flushing): New function. If a bus is flushing, it
16311         flushes out any queued messages and immediately unrefs new
16312         messages. This is so when an element goes to NULL, all of the
16313         unhandled messages coming from it can be freed, and their
16314         references to the element dropped. In other words: message source
16315         ref considered harmful :P
16316
16317         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16318         we're finished with it.
16319
16320         * gst/gstmessage.c (gst_message_new_state_changed): 
16321
16322 2005-05-10  Wim Taymans  <wim@fluendo.com>
16323
16324         * gst/gstvalue.c: (gst_value_compare_flags),
16325         (gst_value_serialize_flags), (gst_value_deserialize_flags),
16326         (_gst_value_initialize):
16327         Added flags serialize/deserialize/compare code.
16328
16329 2005-05-09  Andy Wingo  <wingo@pobox.com>
16330
16331         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16332         Intersect the peer's caps with our caps.
16333
16334 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16335
16336         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16337         * gst/elements/gsttypefindelement.c: (find_peek):
16338           Handle negative offsets better. Fixes decodebin.
16339
16340 2005-05-09  Wim Taymans  <wim@fluendo.com>
16341
16342         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16343         (gst_base_transform_event):
16344         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16345         Implement accept_caps.
16346         Fix silly lock/unlock mismatch in base class.
16347
16348 2005-05-09  Wim Taymans  <wim@fluendo.com>
16349
16350         * docs/design/draft-push-pull.txt:
16351         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16352         * gst/elements/gstfilesink.c: (gst_filesink_init),
16353         (gst_filesink_query):
16354         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16355         (gst_type_find_handle_src_query), (find_element_get_length):
16356         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16357         * gst/gstelement.h:
16358         * gst/gstmessage.c:
16359         * gst/gstmessage.h:
16360         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16361         (gst_real_pad_get_caps_unlocked),
16362         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16363         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16364         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16365         (gst_real_pad_dispose), (gst_real_pad_finalize),
16366         (gst_pad_load_and_link), (gst_pad_save_thyself),
16367         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16368         (gst_pad_check_pull_range), (gst_pad_pull_range),
16369         (gst_pad_template_get_type), (gst_pad_template_class_init),
16370         (gst_pad_template_init), (gst_pad_template_dispose),
16371         (name_is_valid), (gst_static_pad_template_get),
16372         (gst_pad_template_new), (gst_static_pad_template_get_caps),
16373         (gst_pad_template_get_caps), (gst_pad_set_element_private),
16374         (gst_pad_get_element_private), (gst_pad_start_task),
16375         (gst_pad_pause_task), (gst_pad_stop_task),
16376         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16377         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16378         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16379         (gst_ghost_pad_new):
16380         * gst/gstpad.h:
16381         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16382         (gst_query_new_position), (gst_query_set_position),
16383         (gst_query_parse_position), (gst_query_new_convert),
16384         (gst_query_set_convert), (gst_query_parse_convert):
16385         * gst/gstquery.h:
16386         * gst/gstqueryutils.c:
16387         * gst/gstqueryutils.h:
16388         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16389         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16390         (gst_queue_handle_src_query):
16391         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16392         (gst_element_query_position), (gst_element_query_convert),
16393         (intersect_caps_func), (gst_pad_query_position),
16394         (gst_pad_query_convert):
16395         * gst/gstutils.h:
16396         * tools/gst-inspect.c: (print_pad_info):
16397         * tools/gst-xmlinspect.c: (print_element_info):
16398         Remove old query functions. Ported old code.
16399         Added position/convert helper functions to gstutils.
16400         Reordered gstpad.c code, grouping relevant things.
16401         Remove gst_message_new(), always need to speficy a specific
16402         message.
16403
16404
16405 2005-05-09  Andy Wingo  <wingo@pobox.com>
16406
16407         * gst/gstiterator.h: Add some includes.
16408
16409         * gst/gstqueryutils.h: Include more headers.
16410
16411         * gst/gstpad.h:
16412         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16413         some uses of gst_pad_query.
16414
16415         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16416         NULL out parameters.
16417         (gst_query_new_position): New proc, allocates a new position
16418         query.
16419
16420         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16421         gstqueryutils.c to the build.
16422
16423         * gst/gststructure.c (gst_structure_set_valist): Implement with
16424         the generic G_VALUE_COLLECT.
16425         
16426 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
16427
16428         * gst/Makefile.am: (gst_headers):
16429         Added gstqueryutils.h to the list of headers to install, that was
16430         a 'nachty' move wingo :)
16431
16432 2005-05-06  Andy Wingo  <wingo@pobox.com>
16433
16434         * gst/gstquery.h
16435         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16436         GstData, init a memchunk.
16437         (standard_definitions): Add a few query types, deprecate a few.
16438         (gst_query_get_type): New proc.
16439         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16440         implementation.
16441         (gst_query_new_application, gst_query_get_structure): New public
16442         procs.
16443
16444         * docs/design/draft-query.txt: Removed LINKS from the query types,
16445         because all the rest can be dispatched to other pads -- seemed
16446         ugly to have a query that couldn't be dispatched. internal_links
16447         is fine as a pad method.
16448
16449         * gst/gstpad.h: Add query2 as a pad method, add the new functions
16450         in gstpad.c, but maintain binary compatibility for the moment.
16451         Will fix before 0.9 is out.
16452
16453         * gst/gstqueryutils.c: 
16454         * gst/gstqueryutils.h: New files, implement 3 methods for each
16455         query type: parse_query, parse_response, and set. Probably need an
16456         allocator as well.
16457
16458         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16459
16460         * gst/elements/gstfilesink.c (gst_filesink_query2):
16461         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16462         query_types, and formats methods.
16463
16464         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16465         (gst_pad_set_query2_function): New functions.
16466         (gst_real_pad_init): Set query2_default as the default query2
16467         function. Basically just dispatches to internally linked pads.
16468
16469         Needs review!
16470         
16471         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16472         without using the atomic operations. Only one thread can possibly
16473         be accessing the data at this point. Changed so as to avoid
16474         gst_atomic operations.
16475
16476 2005-05-06  Wim Taymans  <wim@fluendo.com>
16477
16478         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16479         Also set caps if we use the fallback buffer alloc.
16480
16481 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
16482
16483         * docs/gst/Makefile.am:
16484         * docs/gst/gstreamer-docs.sgml:
16485         * docs/gst/gstreamer-sections.txt:
16486         * docs/gst/tmpl/gstatomic.sgml:
16487         * docs/gst/tmpl/gstmemchunk.sgml:
16488         * testsuite/elements/struct_i386.h:
16489         * win32/GStreamer.vcproj:
16490         * win32/Makefile:
16491           Purge GstAtomic stuff from docs and win32 makefiles as well
16492
16493 2005-05-06  Wim Taymans  <wim@fluendo.com>
16494
16495         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16496         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16497         * gst/gstpad.c: (gst_pad_peer_get_caps):
16498         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16499         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16500         (gst_queue_src_activate), (gst_queue_change_state):
16501         * gst/gstqueue.h:
16502         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16503         (intersect_caps_func):
16504         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16505         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16506         Some fixes for the peer_get_caps() change.
16507
16508 2005-05-06  Wim Taymans  <wim@fluendo.com>
16509
16510         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16511         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16512         (gst_basesink_activate):
16513         Actually do something with error codes returned from the push
16514         functions.
16515
16516 2005-05-06  Wim Taymans  <wim@fluendo.com>
16517
16518         * docs/design/part-element-sink.txt:
16519         * docs/design/part-element-source.txt:
16520         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16521         (gst_basesink_event), (gst_basesink_activate):
16522         * gst/base/gstbasesink.h:
16523         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16524         (gst_basesrc_activate):
16525         * gst/base/gstbasesrc.h:
16526         * gst/gstelement.c: (gst_element_pads_activate):
16527         Some more documentation.
16528         Fixed scheduling decision in _pads_activate().
16529
16530 2005-05-05  Andy Wingo  <wingo@pobox.com>
16531
16532         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16533         the test suite.
16534
16535 2005-05-05  Wim Taymans  <wim@fluendo.com>
16536
16537         * gst/base/Makefile.am:
16538         * gst/base/gstbasesink.h:
16539         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16540         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16541         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16542         (gst_collectpads_class_init), (gst_collectpads_init),
16543         (gst_collectpads_finalize), (gst_collectpads_new),
16544         (gst_collectpads_set_function), (gst_collectpads_add_pad),
16545         (find_pad), (gst_collectpads_remove_pad),
16546         (gst_collectpads_is_active), (gst_collectpads_collect),
16547         (gst_collectpads_collect_range), (gst_collectpads_start),
16548         (gst_collectpads_stop), (gst_collectpads_peek),
16549         (gst_collectpads_pop), (gst_collectpads_available),
16550         (gst_collectpads_read), (gst_collectpads_flush),
16551         (gst_collectpads_chain):
16552         * gst/base/gstcollectpads.h:
16553         * gst/elements/Makefile.am:
16554         * gst/elements/gstelements.c:
16555         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16556         (gst_fakesink_get_times), (gst_fakesink_event),
16557         (gst_fakesink_preroll), (gst_fakesink_render):
16558         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16559         (gst_filesink_init), (gst_filesink_set_location),
16560         (gst_filesink_open_file), (gst_filesink_close_file),
16561         (gst_filesink_pad_query), (gst_filesink_event),
16562         (gst_filesink_render), (gst_filesink_change_state):
16563         * gst/elements/gstfilesink.h:
16564         Added object to help in making collect pad based elements.
16565         Ported filesink.
16566         Make event function in sink baseclass return gboolean.
16567
16568 2005-05-05  Wim Taymans  <wim@fluendo.com>
16569
16570         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16571         (gst_bin_get_by_name):
16572         * gst/gstbuffer.h:
16573         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16574         (gst_clock_finalize):
16575         * gst/gstdata.c: (gst_data_replace):
16576         * gst/gstdata.h:
16577         * gst/gstelement.c: (gst_element_request_pad),
16578         (gst_element_pads_activate):
16579         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16580         (gst_object_unref):
16581         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16582         (gst_pad_set_checkgetrange_function),
16583         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16584         (gst_pad_check_pull_range), (gst_pad_pull_range),
16585         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16586         (gst_pad_pause_task), (gst_pad_stop_task):
16587         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16588         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16589         Fix name lookup in GstBin.
16590         Added _data_replace() function and _buffer_replace()
16591         Use finalize method to clean up clock.
16592         Fix refcounting on request pads.
16593         Fix pad schedule mode error.
16594         Some more object refcounting debug info,
16595
16596
16597 2005-05-04  Andy Wingo <wingo@pobox.com>
16598
16599         * check/Makefile.am:
16600         * docs/gst/tmpl/gstatomic.sgml:
16601         * docs/gst/tmpl/gstplugin.sgml:
16602         * gst/base/gstbasesink.c: (gst_basesink_activate):
16603         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16604         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16605         (gst_basesrc_query), (gst_basesrc_set_property),
16606         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16607         (gst_basesrc_activate):
16608         * gst/base/gstbasesrc.h:
16609         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16610         (gst_base_transform_src_activate):
16611         * gst/elements/gstelements.c:
16612         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16613         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16614         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16615         * gst/elements/gsttypefindelement.c: (find_element_get_length),
16616         (gst_type_find_element_checkgetrange),
16617         (gst_type_find_element_activate):
16618         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16619         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16620         (gst_caps_load_thyself):
16621         * gst/gstelement.c: (gst_element_pads_activate),
16622         (gst_element_save_thyself), (gst_element_restore_thyself):
16623         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16624         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16625         * gst/gstpad.h:
16626         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16627         (gst_xml_parse_file), (gst_xml_parse_memory),
16628         (gst_xml_get_element), (gst_xml_make_element):
16629         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16630         (_file_index_id_save_xml), (gst_file_index_commit):
16631         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16632         (read_enum), (load_pad_template), (load_feature), (load_plugin),
16633         (load_paths):
16634         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16635         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16636         * tools/gst-complete.c: (main):
16637         * tools/gst-compprep.c: (main):
16638         * tools/gst-inspect.c: (print_element_properties_info):
16639         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16640         * tools/gst-xmlinspect.c: (print_element_properties):
16641         GCC 4 fixen.
16642         
16643 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16644
16645         * gst/gstplugin.c: (gst_plugin_check_module),
16646         (gst_plugin_check_file), (gst_plugin_load_file):
16647             apply patch from #172526 to make register work on MacOSX
16648
16649 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16650
16651         * docs/gst/tmpl/gstconfig.sgml:
16652         * gst/gstconfig.h.in:
16653           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
16654         * testsuite/debug/printf_extension.c: (main):
16655           Do not use GST_PTR_FORMAT on pointers to types with
16656           sizeof < sizeof(gpointer).  Fixes test on 64-bit
16657         * testsuite/elements/property.h:
16658           use correct printf format
16659
16660 2005-05-02  Wim Taymans  <wim@fluendo.com>
16661
16662         * docs/design/draft-push-pull.txt:
16663         * docs/design/draft-query.txt:
16664         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16665         (gst_basesrc_start):
16666         Added draft for new query API.
16667         Added draft for better selecting scheduling methods.
16668         Make basesrc ignore length if the subclass does not support
16669         it.
16670
16671 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16672
16673         * gst/Makefile.am:
16674           possible fixes for automake-1.5 - _LIBADD is reserved
16675
16676 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16677
16678         * docs/faq/Makefile.am:
16679         * docs/manual/Makefile.am:
16680         * docs/manuals.mak:
16681         * docs/pwg/Makefile.am:
16682         * gst/Makefile.am:
16683           possible fixes for automake-1.5
16684
16685 2005-04-28  Wim Taymans  <wim@fluendo.com>
16686
16687         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16688         (gst_basesink_pad_getcaps), (gst_basesink_init),
16689         (gst_basesink_do_sync):
16690         * gst/gstclock.c: (gst_clock_entry_new):
16691         * gst/gstevent.c: (gst_event_discont_get_value):
16692         * gst/gstpipeline.c: (pipeline_bus_handler),
16693         (gst_pipeline_change_state):
16694         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16695         Better debugging of clocking info.
16696         Allow NULL values when getting discont values.
16697
16698 2005-04-27  Wim Taymans  <wim@fluendo.com>
16699
16700         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16701         * check/gst/gstpad.c: (gst_pad_suite):
16702         Increase timeout for checks.
16703
16704 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16705
16706         * check/Makefile.am:
16707           fix the broken rule for cleanup.  Apparently this rule is
16708           only needed on FC2, so maybe this warrants further autotool
16709           inspection.
16710
16711 2005-04-26  Wim Taymans  <wim@fluendo.com>
16712
16713         * gst/gsttrashstack.h:
16714         Ooohh. a nasty one! After having a failed pop() from the stack,
16715         it's possible that the stack is empty. In that case, don't
16716         follow the NULL pointer.
16717
16718 2005-04-25  Wim Taymans  <wim@fluendo.com>
16719
16720         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16721         (gst_pad_set_checkgetrange_function),
16722         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16723         (gst_pad_check_pull_range), (gst_pad_pull_range),
16724         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16725         (gst_pad_pause_task), (gst_pad_stop_task):
16726         * gst/gstplugin.c: (gst_plugin_load):
16727         * gst/gstplugin.h:
16728         Remove gst_library_load as it does more harm than good with
16729         the new g_module flags.
16730         Revert bogus caps template check in pad linking, pad caps
16731         are important when linking not the template, which is more
16732         general than the current caps.
16733
16734 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16735
16736         * gst/autoplug/.cvsignore:
16737         * gst/autoplug/Makefile.am:
16738         * gst/autoplug/gstsearchfuncs.c:
16739         * gst/autoplug/gstsearchfuncs.h:
16740         * gst/autoplug/gstspider.c:
16741         * gst/autoplug/gstspider.h:
16742         * gst/autoplug/gstspideridentity.c:
16743         * gst/autoplug/gstspideridentity.h:
16744         * gst/autoplug/spidertest.c:
16745           Die, spider, die.
16746
16747 2005-04-25  Wim Taymans  <wim@fluendo.com>
16748
16749         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16750         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16751         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
16752         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
16753         * gst/gstpad.h:
16754         Added stubs for unimplemented functions. 
16755
16756 2005-04-24  David Schleef  <ds@schleef.org>
16757
16758         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
16759         please fix.
16760
16761 2005-04-24  David Schleef  <ds@schleef.org>
16762
16763         Convert everything from GstAtomicInt to g_atomic_int_*, and
16764         remove gstatomic.
16765         * gst/Makefile.am:
16766         * gst/gstatomic.c:
16767         * gst/gstatomic.h:
16768         * gst/gstatomic_impl.h:
16769         * gst/gstbuffer.c:
16770         * gst/gstcaps.c:
16771         * gst/gstcaps.h:
16772         * gst/gstclock.c:
16773         * gst/gstclock.h:
16774         * gst/gstdata.c:
16775         * gst/gstdata.h:
16776         * gst/gstdata_private.h:
16777         * gst/gstevent.c:
16778         * gst/gstinfo.c:
16779         * gst/gstinfo.h:
16780         * gst/gstmessage.c:
16781         * gst/gstobject.c:
16782         * gst/gstobject.h:
16783         * gst/gststructure.c:
16784         * gst/gststructure.h:
16785         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
16786         * gst/gstutils.h:
16787
16788 2005-04-24  David Schleef  <ds@schleef.org>
16789
16790         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
16791         make the regressions tests work.  Remove some code that is no
16792         longer true.
16793         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
16794         Disable warning for pads without templates.
16795
16796 2005-04-24  David Schleef  <ds@schleef.org>
16797
16798         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
16799         functions that handle filtered links.
16800         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
16801         removed functions.
16802         * gst/gstutils.c: Fix/remove utility functions that handle
16803         filtered caps.
16804         * gst/gstutils.h:
16805         * gst/gstvalue.c: Add serialization/deserialization of caps
16806         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
16807         requires fixing so that the filter caps notation creates
16808         a capsfilter element and sets the filter_caps property.  I
16809         think everyone probably wants to keep the shorthand notation.
16810         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
16811         * docs/gst/tmpl/gstpad.sgml:
16812
16813         * gst/elements/gstelements.c: Register capsfilter element.
16814         * gst/Makefile.am: fix spacing
16815         * docs/random/ds/0.9-suggested-changes: random
16816
16817 2005-04-23  David Schleef  <ds@schleef.org>
16818
16819         * gst/elements/Makefile.am:
16820         * gst/elements/gstcapsfilter.c: New element that acts like an
16821         identity, but filters caps.  Will eventually replace filtered
16822         caps in pad linking.
16823         * gst/gstutils.c: (gst_element_create_all_pads): New function
16824         to create all the ALWAYS pads that are registered with an
16825         element class.  This functionality should eventually be
16826         merged in with GstElement initialization.
16827         * gst/gstutils.h:
16828         * testsuite/trigger/README: part of trigger test code that should
16829         have been checked in a long time ago.
16830
16831 2005-04-23  David Schleef  <ds@schleef.org>
16832
16833         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
16834         needed with new versions of libtool (nobody will confirm this),
16835         and hard to carry around.
16836         * gst/autoplug/Makefile.am:
16837         * gst/base/Makefile.am:
16838         * gst/elements/Makefile.am:
16839         * gst/indexers/Makefile.am:
16840         * gst/schedulers/Makefile.am:
16841         * libs/gst/bytestream/Makefile.am:
16842         * libs/gst/control/Makefile.am:
16843         * libs/gst/dataprotocol/Makefile.am:
16844         * libs/gst/getbits/Makefile.am:
16845
16846 2005-04-21  Wim Taymans  <wim@fluendo.com>
16847
16848         * docs/design/draft-push-pull.txt:
16849         * docs/design/part-MT-refcounting.txt:
16850         * docs/design/part-TODO.txt:
16851         * docs/design/part-caps.txt:
16852         * docs/design/part-events.txt:
16853         * docs/design/part-gstbus.txt:
16854         * docs/design/part-gstpipeline.txt:
16855         * docs/design/part-messages.txt:
16856         * docs/design/part-push-pull.txt:
16857         * docs/design/part-query.txt:
16858         Some more docs.
16859
16860 2005-04-21  Wim Taymans  <wim@fluendo.com>
16861
16862         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
16863         (gst_message_new), (gst_message_new_error),
16864         (gst_message_new_warning), (gst_message_new_tag),
16865         (gst_message_new_state_changed), (gst_message_new_application),
16866         (gst_message_get_structure):
16867         * gst/gstmessage.h:
16868         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16869         (gst_structure_copy_conditional):
16870         Use parent refcount in GstMessage to ensure GstStructure
16871         consistency.
16872         Cleaned up headers a bit.
16873         
16874
16875 2005-04-20  Wim Taymans  <wim@fluendo.com>
16876
16877         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16878         (gst_basesink_pad_getcaps), (gst_basesink_init),
16879         (gst_basesink_chain_unlocked):
16880         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
16881         (gst_type_find_helper):
16882         * gst/elements/gsttypefindelement.c:
16883         (gst_type_find_element_have_type), (gst_type_find_element_init),
16884         (stop_typefinding), (gst_type_find_element_handle_event),
16885         (find_suggest), (gst_type_find_element_chain),
16886         (gst_type_find_element_checkgetrange),
16887         (gst_type_find_element_getrange), (do_typefind),
16888         (gst_type_find_element_activate):
16889         * gst/gstbuffer.c: (_gst_buffer_sub_free),
16890         (gst_buffer_default_free), (gst_buffer_default_copy),
16891         (gst_buffer_set_caps):
16892         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
16893         (gst_caps_replace):
16894         * gst/gstmessage.c: (gst_message_new),
16895         (gst_message_new_state_changed):
16896         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16897         (gst_pad_set_checkgetrange_function),
16898         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
16899         (gst_pad_set_caps), (gst_pad_check_pull_range),
16900         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
16901         * gst/gstpad.h:
16902         * gst/gsttypefind.c: (gst_type_find_register):
16903         Make gst_caps_replace() work like other _replace() functions.
16904         Use _caps_replace() where possible.
16905         Make sure _message_new() initialises its field.
16906         Add gst_static_pad_template_get_caps()
16907
16908
16909 2005-04-18  Andy Wingo  <wingo@pobox.com>
16910
16911         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
16912         on the peer, not the pad. I think that was a typo. Pass an extra
16913         arg to see if random access is possible. Activate the pads as
16914         PULL_RANGE if possible.
16915
16916         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
16917
16918         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
16919         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
16920         to PROP_....
16921
16922 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16923
16924         * docs/faq/using.xml:
16925           Add note on gstreamer-properties (#154996).
16926
16927 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16928
16929         * docs/random/bbb/optional-properties:
16930           Some analysis on optional properties.
16931
16932 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16933
16934         * docs/gst/tmpl/gstelementfactory.sgml:
16935         * gst/gstelement.h:
16936         * gst/gstelementfactory.c: (gst_element_factory_init),
16937         (gst_element_factory_cleanup), (gst_element_register),
16938         (__gst_element_factory_add_static_pad_template),
16939         (gst_element_factory_get_static_pad_templates),
16940         (gst_element_factory_can_src_caps),
16941         (gst_element_factory_can_sink_caps):
16942         * gst/registries/Makefile.am:
16943         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
16944         (gst_xml_registry_class_init), (gst_xml_registry_init),
16945         (gst_xml_registry_new), (gst_xml_registry_set_property),
16946         (gst_xml_registry_get_property), (get_time), (make_dir),
16947         (gst_xml_registry_get_perms_func),
16948         (plugin_times_older_than_recurse), (plugin_times_older_than),
16949         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
16950         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
16951         (add_to_char_array), (read_string), (read_uint), (read_enum),
16952         (load_pad_template), (load_feature), (load_plugin), (load_paths),
16953         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
16954         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
16955         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
16956         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
16957         (gst_xml_registry_rebuild):
16958         * gst/registries/gstlibxmlregistry.h:
16959         * tools/gst-compprep.c: (main):
16960         * tools/gst-inspect.c: (print_pad_templates_info):
16961         * tools/gst-xmlinspect.c: (print_element_info):
16962           Use libxml2 for registry parsing, use staticpadtemplates in
16963           elementfactories. Makes gst_init() +/- 10x faster.
16964
16965 2005-04-12  Wim Taymans  <wim@fluendo.com>
16966
16967         * gst/base/Makefile.am:
16968         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16969         (gst_basesink_pad_getcaps), (gst_basesink_init),
16970         (gst_basesink_event), (gst_basesink_change_state):
16971         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16972         (gst_basesrc_init), (gst_basesrc_query),
16973         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16974         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16975         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16976         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16977         (gst_basesrc_stop), (gst_basesrc_activate),
16978         (gst_basesrc_change_state):
16979         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16980         (helper_find_suggest), (gst_type_find_helper):
16981         * gst/base/gsttypefindhelper.h:
16982         * gst/elements/Makefile.am:
16983         * gst/elements/gstelements.c:
16984         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16985         (gst_fakesink_get_times), (gst_fakesink_event),
16986         (gst_fakesink_preroll), (gst_fakesink_render):
16987         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16988         (gst_fakesrc_init), (gst_fakesrc_event_handler),
16989         (gst_fakesrc_get_property), (gst_fakesrc_create),
16990         (gst_fakesrc_start), (gst_fakesrc_stop):
16991         * gst/elements/gstfakesrc.h:
16992         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
16993         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
16994         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
16995         (gst_filesrc_create_read), (gst_filesrc_create),
16996         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
16997         (gst_filesrc_start):
16998         * gst/elements/gsttypefindelement.c:
16999         (gst_type_find_element_have_type), (gst_type_find_element_init),
17000         (start_typefinding), (stop_typefinding), (push_buffer_store),
17001         (gst_type_find_element_handle_event),
17002         (gst_type_find_element_chain),
17003         (gst_type_find_element_checkgetrange),
17004         (gst_type_find_element_getrange), (do_typefind),
17005         (gst_type_find_element_activate),
17006         (gst_type_find_element_change_state):
17007         * gst/elements/gsttypefindelement.h:
17008         * gst/gstpipeline.c: (pipeline_bus_handler):
17009         Added typefind helper.
17010         Small preroll fix in the base sink.
17011         Disable typefind code in basesrc.
17012         Crude port of typefindelement.
17013         Fakesrc cleanups.
17014
17015
17016 2005-04-11  Wim Taymans  <wim@fluendo.com>
17017
17018         * check/gst/gstbus.c: (gstbus_suite):
17019         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
17020         * check/gstcheck.h:
17021           Fix up the timeout so that the test does not fail.
17022
17023 2005-04-06  Wim Taymans  <wim@fluendo.com>
17024
17025         * gst/base/README:
17026         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17027         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
17028         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17029         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17030         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17031         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17032         (gst_basesrc_stop), (gst_basesrc_activate),
17033         (gst_basesrc_change_state), (basesrc_find_peek),
17034         (basesrc_find_suggest), (gst_basesrc_type_find):
17035         * gst/base/gstbasesrc.h:
17036         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
17037         (gst_filesrc_class_init), (gst_filesrc_init),
17038         (gst_filesrc_finalize), (gst_filesrc_set_location),
17039         (gst_filesrc_set_property), (gst_filesrc_get_property),
17040         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17041         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17042         (gst_filesrc_create_read), (gst_filesrc_create),
17043         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
17044         * gst/elements/gstfilesrc.h:
17045         * gst/gstelement.c: (gst_element_get_state_func),
17046         (gst_element_lost_state), (gst_element_pads_activate):
17047         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17048         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17049         (gst_pad_pull_range):
17050         * gst/gstpad.h:
17051         More work on the generic source base class, implement seeking,
17052         query.
17053         Make filesrc extend the base source class.
17054         Added gst_pad_set_checkgetrange_function to GstPad.
17055
17056 2005-04-06  Andy Wingo  <wingo@pobox.com>
17057
17058         * pkgconfig/gstreamer-base.pc.in:
17059         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
17060
17061         * pkgconfig/Makefile.am:
17062         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
17063
17064 2005-04-04  Wim Taymans  <wim@fluendo.com>
17065
17066         * gst/base/Makefile.am:
17067         * gst/base/README:
17068         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17069         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17070         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17071         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
17072         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17073         (gst_basesrc_base_init), (gst_basesrc_class_init),
17074         (gst_basesrc_init), (gst_basesrc_get_formats),
17075         (gst_basesrc_get_query_types), (gst_basesrc_query),
17076         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
17077         (gst_basesrc_set_property), (gst_basesrc_get_property),
17078         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
17079         (gst_basesrc_loop), (gst_basesrc_activate),
17080         (gst_basesrc_change_state):
17081         * gst/base/gstbasesrc.h:
17082         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
17083         (gst_fakesrc_class_init), (gst_fakesrc_init),
17084         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
17085         (gst_fakesrc_get_property), (gst_fakesrc_create):
17086         * gst/elements/gstfakesrc.h:
17087         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
17088         (gst_filesrc_open_file), (gst_filesrc_loop),
17089         (gst_filesrc_activate), (filesrc_find_peek),
17090         (gst_filesrc_type_find):
17091         Made base source class, make fakesrc extend it.
17092         Add comments to basesink class.
17093         Some filesrc cleanup.
17094
17095 2005-03-31  David Schleef  <ds@schleef.org>
17096
17097         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
17098         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
17099         expected to link against libgstreamer.
17100         * gst/base/Makefile.am: link against libgstreamer
17101         * gst/elements/Makefile.am: same
17102
17103 2005-03-31  Andy Wingo  <wingo@pobox.com>
17104
17105         * tests/instantiate/Makefile.am:
17106         * tests/instantiate/caps.c: Add test to test speed of caps copy
17107         and free.
17108
17109         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
17110         GMemChunk to be fair.
17111
17112         * gst/gsttrashstack.h: Remove warning about using the fallback
17113         trash stack implementation, it's still faster than malloc.
17114
17115 2005-03-30  Andy Wingo  <wingo@pobox.com>
17116
17117         * tests/complexity.c: Add a copyright.
17118
17119 2005-03-31  Wim Taymans  <wim@fluendo.com>
17120
17121         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
17122         (gst_base_transform_class_init), (gst_base_transform_init),
17123         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17124         (gst_base_transform_get_property),
17125         (gst_base_transform_sink_activate),
17126         (gst_base_transform_src_activate),
17127         (gst_base_transform_change_state):
17128         * gst/base/gstbasetransform.h:
17129         * gst/elements/gstidentity.c: (gst_identity_class_init),
17130         (gst_identity_event), (gst_identity_check_perfect),
17131         (gst_identity_transform), (gst_identity_start),
17132         (gst_identity_stop):
17133         Added start/stop methods to transform base class so subclasses 
17134         don't need to deal with state changes even.
17135
17136 2005-03-31  Wim Taymans  <wim@fluendo.com>
17137
17138         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
17139         (gst_event_new_discontinuous), (gst_event_discont_get_value):
17140         * gst/gstevent.h:
17141         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17142         (gst_pad_pull_range):
17143         Added rate to the discont event to prepare for variable speed
17144         and reverse playback.
17145
17146 2005-03-29  David Schleef  <ds@schleef.org>
17147
17148         * configure.ac:
17149         * testsuite/trigger/Makefile.am:
17150         * testsuite/trigger/trigger.c: A little example program to show
17151         how trigger-based elements can work.
17152
17153 2005-03-29  Wim Taymans  <wim@fluendo.com>
17154
17155         * gst/base/Makefile.am:
17156         * gst/base/README:
17157         * gst/base/gstbasesink.c: (gst_basesink_get_type),
17158         (gst_basesink_base_init), (gst_basesink_class_init),
17159         (gst_basesink_pad_getcaps), (gst_basesink_init),
17160         (gst_basesink_activate), (gst_basesink_change_state):
17161         * gst/base/gstbasesink.h:
17162         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
17163         (gst_base_transform_base_init), (gst_base_transform_finalize),
17164         (gst_base_transform_class_init), (gst_base_transform_init),
17165         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
17166         (gst_base_transform_event), (gst_base_transform_getrange),
17167         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
17168         (gst_base_transform_set_property),
17169         (gst_base_transform_get_property),
17170         (gst_base_transform_sink_activate),
17171         (gst_base_transform_src_activate),
17172         (gst_base_transform_change_state):
17173         * gst/base/gstbasetransform.h:
17174         * gst/elements/gstidentity.c: (gst_identity_finalize),
17175         (gst_identity_class_init), (gst_identity_init),
17176         (gst_identity_event), (gst_identity_check_perfect),
17177         (gst_identity_transform), (gst_identity_set_property),
17178         (gst_identity_get_property), (gst_identity_change_state):
17179         * gst/elements/gstidentity.h:
17180         * gst/gstelement.c: (gst_element_get_state_func),
17181         (gst_element_lost_state), (gst_element_pads_activate):
17182         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17183         (gst_pad_check_pull_range), (gst_pad_pull_range):
17184         * gst/gstpad.h:
17185         Simplify pad activation.
17186         Added function to check if pull_range can be performed.
17187         Error out when pulling inactive or flushing pads.
17188         Removed const from refcounted types as it does not make sense.
17189         Simplify pad templates in basesink
17190         Added base class for simple 1-to-1 transforms.
17191         Make identity subclass the base transform.
17192
17193 2005-03-29  Andy Wingo  <wingo@pobox.com>
17194
17195         * docs/libs/gstreamer-libs-overrides.txt: 
17196         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
17197         really don't understand what's going on, but like whatever. I want
17198         green buildbot!
17199
17200         * docs/gst/Makefile.am:
17201         * docs/libs/Makefile.am: Dist the overrides files.
17202
17203         * check/Makefile.am (clean-local): Remove .libs directories.
17204
17205         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
17206         elements to EXTRA_DIST, so po/ files are happy.
17207
17208         * po/POTFILES.in: Er, remove it here.
17209
17210         * po/POTFILES: Remove gstspider.c.
17211
17212         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17213
17214         * docs/libs/gstreamer-libs-docs.sgml: 
17215         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17216         bytestream.
17217
17218         * tests/complexity.c (main): Set the length of the preroll queue
17219         on the sinks to prevent a lockup.
17220
17221         * libs/gst/dataprotocol/Makefile.am: 
17222         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17223         the same as the one in check/gst-libs/gdp.c.
17224
17225         * po/, docs/gst/: Commit automatic changes to docs and po files.
17226
17227         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17228         the versioned libgstbase.
17229
17230         * check/Makefile.am: Depend on an unversioned gst-register, seems
17231         to make autoconf happier.
17232
17233         * gst/base/Makefile.am: Make libgstbase a versioned lib.
17234
17235 2005-03-28  Wim Taymans  <wim@fluendo.com>
17236
17237         * configure.ac:
17238         * docs/design/part-gstelement.txt:
17239         * docs/design/part-negotiation.txt:
17240         * docs/design/part-preroll.txt:
17241         * docs/design/part-scheduling.txt:
17242         * docs/design/part-states.txt:
17243         * gst/Makefile.am:
17244         * gst/base/Makefile.am:
17245         * gst/base/README:
17246         * gst/base/gstbasesink.c: (gst_basesink_get_template),
17247         (gst_basesink_base_init), (gst_basesink_class_init),
17248         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17249         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17250         (gst_basesink_set_pad_functions),
17251         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17252         (gst_basesink_set_property), (gst_basesink_get_property),
17253         (gst_base_sink_get_template), (gst_base_sink_get_caps),
17254         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17255         (gst_basesink_preroll_queue_push),
17256         (gst_basesink_preroll_queue_empty),
17257         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17258         (gst_basesink_event), (gst_basesink_get_times),
17259         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17260         (gst_basesink_chain_unlocked), (gst_basesink_chain),
17261         (gst_basesink_loop), (gst_basesink_activate),
17262         (gst_basesink_change_state):
17263         * gst/base/gstbasesink.h:
17264         * gst/elements/Makefile.am:
17265         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17266         (gst_fakesink_class_init), (gst_fakesink_init),
17267         (gst_fakesink_set_property), (gst_fakesink_get_property),
17268         (gst_fakesink_get_times), (gst_fakesink_event),
17269         (gst_fakesink_preroll), (gst_fakesink_render),
17270         (gst_fakesink_change_state):
17271         * gst/elements/gstfakesink.h:
17272         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17273         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17274         * gst/gstelement.c: (gst_element_add_pad),
17275         (gst_element_get_state_func), (gst_element_abort_state),
17276         (gst_element_commit_state), (gst_element_lost_state),
17277         (gst_element_set_state), (gst_element_pads_activate):
17278         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17279         * gst/gstpipeline.c: (gst_pipeline_send_event),
17280         (gst_pipeline_change_state):
17281         Added state change code.
17282         Added/updated docs.
17283         Added sink base class, make fakesink extend the base class.
17284         Small cleanups in GstPipeline.
17285
17286 2005-03-26  David Schleef  <ds@schleef.org>
17287
17288         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
17289         is broken and should be implemented in a different library.
17290         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17291         * gst/gst.h: remove gstcpu.h
17292         * gst/gstcpu.c: remove
17293         * gst/gstcpu.h: remove
17294         * gst/Makefile.am.future: Remove this file.  It's ancient.
17295
17296 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17297
17298         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17299         (gst_bin_send_event):
17300           Add default event/set_manager handlers. The set_manager handler
17301           takes care that the manager is distributed over kids that were
17302           already in the bin before the manager was set. The event handler
17303           is a utility virtual function that sends the event over all sinks,
17304           so that gst_element_send_event (bin, event); has the expected
17305           behaviour.
17306         * gst/gstpad.c: (gst_pad_event_default):
17307           Re-install default event handling for discontinuities, so that
17308           seeking works without requiring hacks in applications or extra
17309           code in sinks.
17310         * gst/gstpipeline.c: (gst_pipeline_class_init),
17311         (gst_pipeline_send_event):
17312           Half hack, half utility: set a pipeline to PAUSED for seek events,
17313           since that is the only way we can guarantee a/v sync. Means that
17314           you can do gst_element_seek (pipeline, method, pos); on a pipeline
17315           and it "just works".
17316
17317 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17318
17319         * gst/gstpipeline.c: (gst_pipeline_use_clock):
17320           Lock/unlock mismatch.
17321
17322 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17323
17324         * docs/faq/gst-uninstalled:
17325           add gst-plugins-base
17326         * docs/gst/Makefile.am:
17327           don't error out until docs are fixed
17328         * docs/gst/gstreamer.types:
17329           remove thread
17330
17331 2005-03-22  Wim Taymans  <wim@fluendo.com>
17332
17333         * check/Makefile.am:
17334         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17335         * gst/gststructure.c: (gst_structure_set_valist),
17336         (gst_structure_copy_conditional):
17337         Activated more tests.
17338         Added message test.
17339         Added G_TYPE_POINTER to GstStructure.
17340         
17341
17342 2005-03-22  Wim Taymans  <wim@fluendo.com>
17343
17344         * docs/design/part-TODO.txt:
17345         * docs/design/part-events.txt:
17346         * docs/design/part-gstbin.txt:
17347         * docs/design/part-gstbus.txt:
17348         * docs/design/part-gstpipeline.txt:
17349         * docs/design/part-messages.txt:
17350         * gst/gstbus.c:
17351         * gst/gstmessage.c:
17352         Docs updates
17353
17354 2005-03-21  Wim Taymans  <wim@fluendo.com>
17355
17356         * gst/gstbus.c: (gst_bus_post):
17357         Fix copy-and-paste error.
17358
17359 2005-03-21  Wim Taymans  <wim@fluendo.com>
17360
17361         * check/Makefile.am:
17362         * gst/Makefile.am:
17363         * gst/elements/Makefile.am:
17364         * gst/elements/gstelements.c:
17365         * gst/elements/gstfakesink.c: (gst_fakesink_init),
17366         (gst_fakesink_event), (gst_fakesink_chain):
17367         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17368         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17369         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17370         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17371         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17372         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17373         (gst_fakesrc_loop), (gst_fakesrc_activate),
17374         (gst_fakesrc_change_state):
17375         * gst/elements/gstfakesrc.h:
17376         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17377         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17378         (gst_filesrc_open_file), (gst_filesrc_loop),
17379         (gst_filesrc_activate), (gst_filesrc_change_state),
17380         (filesrc_find_peek), (filesrc_find_suggest),
17381         (gst_filesrc_type_find):
17382         * gst/elements/gstidentity.c: (gst_identity_finalize),
17383         (gst_identity_class_init), (gst_identity_init),
17384         (gst_identity_proxy_getcaps), (identity_queue_push),
17385         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17386         (gst_identity_getrange), (gst_identity_chain),
17387         (gst_identity_sink_loop), (gst_identity_src_loop),
17388         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17389         (gst_identity_set_property), (gst_identity_get_property),
17390         (gst_identity_change_state):
17391         * gst/elements/gstidentity.h:
17392         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17393         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17394         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17395         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17396         (gst_tee_sink_activate):
17397         * gst/elements/gsttee.h:
17398         * gst/gst.c: (gst_register_core_elements), (init_post):
17399         * gst/gst.h:
17400         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17401         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17402         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17403         (gst_bin_change_state):
17404         * gst/gstbin.h:
17405         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17406         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17407         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17408         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17409         (gst_bus_set_sync_handler), (gst_bus_create_watch),
17410         (bus_watch_callback), (bus_watch_destroy),
17411         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17412         (poll_timeout), (gst_bus_poll):
17413         * gst/gstbus.h:
17414         * gst/gstcaps.h:
17415         * gst/gstdata.h:
17416         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17417         (gst_element_post_message), (gst_element_message_full),
17418         (gst_element_get_state_func), (gst_element_get_state),
17419         (gst_element_abort_state), (gst_element_commit_state),
17420         (gst_element_lost_state), (gst_element_set_state),
17421         (gst_element_pads_activate), (gst_element_change_state),
17422         (gst_element_dispose), (gst_element_set_manager_func),
17423         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17424         (gst_element_set_manager), (gst_element_get_manager),
17425         (gst_element_set_bus), (gst_element_get_bus),
17426         (gst_element_set_scheduler), (gst_element_get_scheduler):
17427         * gst/gstelement.h:
17428         * gst/gstevent.c: (gst_event_new_segment_seek),
17429         (gst_event_new_flush):
17430         * gst/gstevent.h:
17431         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17432         (_gst_message_free), (gst_message_get_type), (gst_message_new),
17433         (gst_message_new_eos), (gst_message_new_error),
17434         (gst_message_new_warning), (gst_message_new_tag),
17435         (gst_message_new_state_changed), (gst_message_new_application),
17436         (gst_message_get_structure), (gst_message_parse_tag),
17437         (gst_message_parse_state_changed), (gst_message_parse_error),
17438         (gst_message_parse_warning):
17439         * gst/gstmessage.h:
17440         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17441         (gst_real_pad_set_property), (gst_pad_set_active),
17442         (gst_pad_is_active), (gst_pad_set_blocked_async),
17443         (gst_pad_set_blocked), (gst_pad_is_blocked),
17444         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17445         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17446         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17447         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17448         (gst_pad_link_filtered), (gst_pad_relink_filtered),
17449         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17450         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17451         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17452         (gst_pad_set_caps), (gst_pad_configure_sink),
17453         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17454         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17455         (gst_real_pad_dispose), (gst_real_pad_finalize),
17456         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17457         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17458         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17459         * gst/gstpad.h:
17460         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17461         (pipeline_bus_handler), (gst_pipeline_change_state),
17462         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17463         * gst/gstpipeline.h:
17464         * gst/gstprobe.h:
17465         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17466         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17467         (gst_queue_link_src), (gst_queue_bufferalloc),
17468         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17469         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17470         (gst_queue_loop), (gst_queue_handle_src_event),
17471         (gst_queue_handle_src_query), (gst_queue_src_activate),
17472         (gst_queue_change_state):
17473         * gst/gstqueue.h:
17474         * gst/gstscheduler.c: (gst_scheduler_init),
17475         (gst_scheduler_dispose), (gst_scheduler_create_task),
17476         (gst_scheduler_factory_create):
17477         * gst/gstscheduler.h:
17478         * gst/gststructure.c: (gst_structure_get_type),
17479         (gst_structure_copy_conditional):
17480         * gst/gststructure.h:
17481         * gst/gsttaginterface.h:
17482         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17483         (gst_task_init), (gst_task_dispose), (gst_task_create),
17484         (gst_task_get_state), (gst_task_start), (gst_task_stop),
17485         (gst_task_pause):
17486         * gst/gsttask.h:
17487         * gst/gstthread.c:
17488         * gst/gstthread.h:
17489         * gst/gsttypes.h:
17490         * gst/schedulers/Makefile.am:
17491         * gst/schedulers/cothreads_compat.h:
17492         * gst/schedulers/entryscheduler.c:
17493         * gst/schedulers/faircothreads.c:
17494         * gst/schedulers/faircothreads.h:
17495         * gst/schedulers/fairscheduler.c:
17496         * gst/schedulers/gstbasicscheduler.c:
17497         * gst/schedulers/gstoptimalscheduler.c:
17498         * gst/schedulers/gthread-cothreads.h:
17499         * gst/schedulers/threadscheduler.c:
17500         (gst_thread_scheduler_task_get_type),
17501         (gst_thread_scheduler_task_class_init),
17502         (gst_thread_scheduler_task_init),
17503         (gst_thread_scheduler_task_start),
17504         (gst_thread_scheduler_task_stop),
17505         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17506         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17507         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17508         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17509         (plugin_init):
17510         * libs/gst/Makefile.am:
17511         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17512         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17513         (gst_file_pad_parent_set):
17514         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17515         (gst_dp_event_from_packet):
17516         * tests/complexity.c: (main):
17517         * tests/mass_elements.c: (main):
17518         * testsuite/states/locked.c: (message_received), (main):
17519         * testsuite/states/parent.c: (main):
17520         * tools/gst-inspect.c: (print_element_flag_info),
17521         (print_implementation_info), (print_pad_info):
17522         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17523         (main):
17524         * tools/gst-md5sum.c: (event_loop), (main):
17525         * tools/gst-typefind.c: (main):
17526         * tools/gst-xmlinspect.c: (print_element_info):
17527         Next big merge.
17528         Added GstBus for mainloop integration.
17529         Added GstMessage for sending notifications on the bus.
17530         Added GstTask as an abstraction for pipeline entry points.
17531         Removed GstThread.
17532         Removed Schedulers.
17533         Simplified GstQueue for multithreaded core.
17534         Made _link threadsafe, removed old capsnego.
17535         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17536         Added pad blocking functions.
17537         Reworked scheduling functions in GstPad to prepare for
17538         scheduling updates soon.
17539         Moved events out of data stream.
17540         Simplified GstEvent types.
17541         Added return values to push/pull.
17542         Removed clocking from GstElement.
17543         Added prototypes for state change function for next merge.
17544         Removed iterate from bins and state change management.
17545         Fixed some elements, disabled others for now.
17546         Fixed -inspect and -launch.
17547         Added check for GstBus.
17548
17549 2005-03-10  Wim Taymans  <wim@fluendo.com>
17550
17551         * docs/design/part-MT-refcounting.txt:
17552         * docs/design/part-clocks.txt:
17553         * docs/design/part-gstelement.txt:
17554         * docs/design/part-gstobject.txt:
17555         * docs/design/part-standards.txt:
17556         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17557         (gst_bin_remove_func), (gst_bin_remove):
17558         * gst/gstbin.h:
17559         * gst/gstbuffer.c:
17560         * gst/gstcaps.h:
17561         * testsuite/clock/clock1.c: (main):
17562         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17563         (main):
17564         * testsuite/dlopen/loadgst.c: (do_test):
17565         * testsuite/refcounting/bin.c: (add_remove_test1),
17566         (add_remove_test2), (main):
17567         * testsuite/refcounting/element.c: (main):
17568         * testsuite/refcounting/element_pad.c: (main):
17569         * testsuite/refcounting/pad.c: (main):
17570         * tools/gst-launch.c: (sigint_handler_sighandler):
17571         * tools/gst-typefind.c: (main):
17572         Doc updates.
17573         Added doc about clock.
17574         removed gst_bin_iterate_recurse_up(), marked methods
17575         for removal.
17576         Fix more testsuites.
17577
17578 2005-03-09  Wim Taymans  <wim@fluendo.com>
17579
17580         * gst/gstpad.c: (gst_pad_get_direction),
17581         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17582         (gst_pad_collect_valist):
17583         * testsuite/bins/interface.c: (main):
17584         * testsuite/caps/audioscale.c: (test_caps):
17585         * testsuite/caps/caps.c: (test1), (test2), (test3):
17586         * testsuite/caps/deserialize.c: (main):
17587         * testsuite/caps/enumcaps.c: (main):
17588         * testsuite/caps/filtercaps.c: (main):
17589         * testsuite/caps/intersect2.c: (main):
17590         * testsuite/caps/random.c: (main):
17591         * testsuite/caps/renegotiate.c: (my_fixate), (main):
17592         * testsuite/caps/sets.c: (check_caps):
17593         * testsuite/caps/simplify.c: (check_caps), (main):
17594         * testsuite/caps/subtract.c: (check_caps):
17595         Fix _pad_get_direction wrt ghostpads.
17596         Fix caps testsuite.
17597
17598 2005-03-09  Wim Taymans  <wim@fluendo.com>
17599
17600         * check/Makefile.am:
17601         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17602         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17603         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17604         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17605         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17606         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17607         (gst_bin_remove), (gst_bin_iterate_recurse_up),
17608         (bin_element_is_sink), (gst_bin_iterate_sinks),
17609         (gst_bin_iterate_all_by_interface):
17610         * gst/gstbin.h:
17611         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17612         (gst_element_change_state), (gst_element_dispose),
17613         (gst_element_finalize), (gst_element_set_loop_function):
17614         * gst/gstelement.h:
17615         * gst/gstiterator.c: (find_custom_fold_func):
17616         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17617         (gst_pad_collectv), (gst_pad_collect_valist),
17618         (gst_pad_template_new):
17619         * gst/gstpipeline.c: (gst_pipeline_class_init),
17620         (gst_pipeline_dispose), (gst_pipeline_set_property),
17621         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17622         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17623         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17624         * gst/gstutils.h:
17625         * gst/schedulers/entryscheduler.c:
17626         * gst/schedulers/gstbasicscheduler.c:
17627         (gst_basic_scheduler_cothreaded_chain),
17628         (gst_basic_scheduler_chain_add_element):
17629         * testsuite/bins/interface.c: (main):
17630         Added GstBin test.
17631         Added GstSystemClock test.
17632         Implemented clock distribution code in GstBin.
17633         Implemented iterate sinks method for future use.
17634         Rearranged gstelement.h
17635         Fix GstIterator comparison bug.
17636         Moved some code to GstPipeline, mostly clocking related.
17637
17638 2005-03-09  Wim Taymans  <wim@fluendo.com>
17639
17640         * configure.ac:
17641         * gst/gst_private.h:
17642         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17643         (gst_bin_remove_func), (gst_bin_remove),
17644         (gst_bin_get_by_name_recurse_up):
17645         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17646         (gst_clock_id_compare_func), (gst_clock_id_wait),
17647         (gst_clock_id_wait_async), (gst_clock_init),
17648         (gst_clock_adjust_unlocked), (gst_clock_get_time):
17649         * gst/gstelement.h:
17650         * gst/gstinfo.c: (_gst_debug_init):
17651         * gst/gstobject.h:
17652         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17653         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17654         * gst/gstpad.h:
17655         Bump version number, we're now 0.9.0
17656         Add future debugging category.
17657         Fix NULL _unref() in _get_by_name_recurse_up
17658         Rearrange gstpad.h.
17659         Update some docs.
17660
17661 2005-03-08  Wim Taymans  <wim@fluendo.com>
17662
17663         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17664         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17665         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17666         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17667         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17668         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17669         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17670         * gst/elements/gstidentity.c: (gst_identity_class_init):
17671         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17672         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17673         * gst/elements/gstshaper.c: (gst_shaper_class_init):
17674         * gst/elements/gststatistics.c: (gst_statistics_class_init):
17675         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17676         (gst_tee_link):
17677         * gst/gstelement.c: (gst_element_class_init),
17678         (gst_element_base_class_init), (gst_element_init),
17679         (gst_element_get_random_pad), (gst_element_wait_state_change),
17680         (gst_element_change_state), (gst_element_dispose),
17681         (gst_element_finalize), (gst_element_set_loop_function):
17682         * gst/gstelement.h:
17683         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17684         * gst/gstthread.c: (gst_thread_class_init),
17685         (gst_thread_release_children_locks), (gst_thread_change_state):
17686         * gst/schedulers/gstbasicscheduler.c:
17687         (gst_basic_scheduler_loopfunc_wrapper),
17688         (gst_basic_scheduler_chain_wrapper),
17689         (gst_basic_scheduler_src_wrapper),
17690         (gst_basic_scheduler_remove_element):
17691         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17692         Remove threadsafe properties. Fix elements because GObject
17693         complains when installing a property before declaring a
17694         set/get_property handler.
17695         Rearrange gstelement.h file, use STATE macros for state locks.
17696         Free mutexes in the finalize method instead of dispose.
17697
17698 2005-03-08  Wim Taymans  <wim@fluendo.com>
17699
17700         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17701         * gst/gstthread.c: (gst_thread_release_children_locks):
17702         Added parentage check.
17703         Fix build og GstThread again.
17704
17705 2005-03-08  Wim Taymans  <wim@fluendo.com>
17706
17707         * docs/design/part-MT-refcounting.txt:
17708         * docs/design/part-conventions.txt:
17709         * docs/design/part-gstobject.txt:
17710         * docs/design/part-relations.txt:
17711         * docs/design/part-standards.txt:
17712         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17713         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17714         (gst_bin_get_by_name), (gst_bin_get_by_interface),
17715         (gst_bin_iterate_all_by_interface):
17716         * gst/gstbuffer.h:
17717         * gst/gstclock.h:
17718         * gst/gstelement.c: (gst_element_class_init),
17719         (gst_element_change_state), (gst_element_set_loop_function):
17720         * gst/gstelement.h:
17721         * gst/gstiterator.c:
17722         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17723         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17724         (gst_object_dispatch_properties_changed), (gst_object_set_name),
17725         (gst_object_set_parent), (gst_object_unparent),
17726         (gst_object_check_uniqueness):
17727         * gst/gstobject.h:
17728         Docs updates, clean up some headers.
17729
17730 2005-03-07  Wim Taymans  <wim@fluendo.com>
17731
17732         * check/.cvsignore:
17733         * check/Makefile.am:
17734         * check/gst-libs/.cvsignore:
17735         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17736         * check/gst/.cvsignore:
17737         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
17738         (START_TEST), (gstbus_suite), (main):
17739         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
17740         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
17741         (gst_data_suite), (main):
17742         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
17743         (add_fold_func), (gstiterator_suite), (main):
17744         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
17745         (thread_name_object), (thread_name_object_default),
17746         (gst_object_name_compare), (gst_object_suite), (main):
17747         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
17748         (gst_pad_suite), (main):
17749         * check/gstcheck.c: (gst_check_log_message_func),
17750         (gst_check_log_critical_func), (gst_check_init):
17751         * check/gstcheck.h:
17752         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17753         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
17754         Added checks.
17755
17756 2005-03-07  Wim Taymans  <wim@fluendo.com>
17757
17758         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17759         (gst_list_iterator_next), (gst_list_iterator_resync),
17760         (gst_list_iterator_free), (gst_iterator_new_list),
17761         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
17762         (gst_iterator_free), (gst_iterator_push), (filter_next),
17763         (filter_resync), (filter_uninit), (filter_free),
17764         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
17765         (gst_iterator_foreach), (find_custom_fold_func),
17766         (gst_iterator_find_custom):
17767         * gst/gstiterator.h:
17768         Added missing files.
17769
17770 2005-03-07  Wim Taymans  <wim@fluendo.com>
17771
17772         * Makefile.am:
17773         * configure.ac:
17774         * docs/design/part-MT-refcounting.txt:
17775         * docs/design/part-conventions.txt:
17776         * docs/design/part-gstobject.txt:
17777         * docs/design/part-relations.txt:
17778         * examples/mixer/mixer.c: (main):
17779         * examples/thread/thread.c: (eos), (main):
17780         * gst/Makefile.am:
17781         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
17782         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
17783         (gst_spider_plug_from_srcpad):
17784         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
17785         (gst_spider_identity_change_state),
17786         (gst_spider_identity_sink_loop_type_finding):
17787         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
17788         * gst/elements/gstidentity.c: (gst_identity_init):
17789         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
17790         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
17791         * gst/elements/gsttypefindelement.c: (free_entry):
17792         * gst/gst.c:
17793         * gst/gst.h:
17794         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
17795         (gst_bin_set_clock_func), (gst_bin_auto_clock),
17796         (gst_bin_set_index), (gst_bin_set_element_sched),
17797         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
17798         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
17799         (gst_bin_iterate_elements), (iterate_child_recurse),
17800         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
17801         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
17802         (compare_interface), (gst_bin_get_by_interface),
17803         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
17804         * gst/gstbin.h:
17805         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
17806         (gst_buffer_default_free), (gst_buffer_default_copy),
17807         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
17808         (gst_buffer_create_sub):
17809         * gst/gstbuffer.h:
17810         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
17811         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
17812         (gst_caps_unref), (gst_static_caps_get),
17813         (gst_caps_remove_and_get_structure), (gst_caps_append),
17814         (gst_caps_append_structure), (gst_caps_remove_structure),
17815         (gst_caps_copy_nth), (gst_caps_set_simple),
17816         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
17817         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
17818         (gst_caps_structure_intersect_field), (gst_caps_intersect),
17819         (gst_caps_structure_subtract_field), (gst_caps_subtract),
17820         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
17821         (gst_caps_structure_figure_out_union),
17822         (gst_caps_switch_structures), (gst_caps_do_simplify),
17823         (gst_caps_replace), (gst_caps_from_string),
17824         (gst_caps_copy_conditional):
17825         * gst/gstcaps.h:
17826         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
17827         (_gst_clock_id_free), (gst_clock_id_unref),
17828         (gst_clock_id_compare_func), (gst_clock_id_wait),
17829         (gst_clock_id_wait_async), (gst_clock_class_init),
17830         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
17831         (gst_clock_get_time), (gst_clock_set_time_adjust),
17832         (gst_clock_set_property), (gst_clock_get_property):
17833         * gst/gstclock.h:
17834         * gst/gstcompat.h:
17835         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
17836         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
17837         * gst/gstdata.h:
17838         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17839         (gst_element_requires_clock), (gst_element_provides_clock),
17840         (gst_element_set_clock), (gst_element_clock_wait),
17841         (gst_element_wait), (gst_element_set_time_delay),
17842         (gst_element_is_indexable), (gst_element_add_pad),
17843         (gst_element_add_ghost_pad), (gst_element_remove_pad),
17844         (pad_compare_name), (gst_element_get_static_pad),
17845         (gst_element_request_pad), (gst_element_get_request_pad),
17846         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
17847         (gst_element_class_get_pad_template_list),
17848         (gst_element_class_get_pad_template), (gst_element_error_func),
17849         (gst_element_get_random_pad), (gst_element_get_event_masks),
17850         (gst_element_send_event), (gst_element_seek),
17851         (gst_element_get_query_types), (gst_element_query),
17852         (gst_element_get_formats), (gst_element_convert),
17853         (gst_element_is_locked_state), (gst_element_set_locked_state),
17854         (gst_element_sync_state_with_parent), (gst_element_change_state),
17855         (gst_element_finalize), (gst_element_yield),
17856         (gst_element_interrupt), (gst_element_set_scheduler),
17857         (gst_element_get_scheduler), (gst_element_set_loop_function):
17858         * gst/gstelement.h:
17859         * gst/gstevent.h:
17860         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
17861         (gst_format_get_by_nick), (gst_format_get_details),
17862         (gst_format_iterate_definitions):
17863         * gst/gstformat.h:
17864         * gst/gstindex.c: (gst_index_gtype_resolver):
17865         * gst/gstinfo.c:
17866         * gst/gstinfo.h:
17867         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
17868         (gst_mem_chunk_free):
17869         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17870         (gst_object_ref), (gst_object_unref), (gst_object_sink),
17871         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
17872         (gst_object_dispatch_properties_changed),
17873         (gst_object_set_name_default), (gst_object_set_name),
17874         (gst_object_get_name), (gst_object_set_name_prefix),
17875         (gst_object_get_name_prefix), (gst_object_set_parent),
17876         (gst_object_get_parent), (gst_object_unparent),
17877         (gst_object_check_uniqueness), (gst_object_save_thyself),
17878         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
17879         (gst_object_set_property), (gst_object_get_property),
17880         (gst_object_get_path_string):
17881         * gst/gstobject.h:
17882         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17883         (gst_real_pad_init), (gst_real_pad_get_property),
17884         (gst_pad_custom_new), (gst_pad_get_direction),
17885         (gst_pad_set_active), (gst_pad_is_active),
17886         (gst_pad_set_event_function), (gst_pad_is_linked),
17887         (gst_pad_link_free), (gst_pad_link_intersect),
17888         (gst_pad_link_fixate), (gst_pad_set_caps),
17889         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
17890         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
17891         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
17892         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
17893         (gst_pad_get_caps), (gst_pad_peer_get_caps),
17894         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
17895         (gst_pad_realize), (gst_pad_get_allowed_caps),
17896         (gst_real_pad_dispose), (gst_real_pad_finalize),
17897         (gst_pad_collectv), (gst_pad_collect_valist),
17898         (gst_pad_template_dispose), (gst_pad_template_new),
17899         (gst_pad_get_internal_links):
17900         * gst/gstpad.h:
17901         * gst/gstpipeline.c: (gst_pipeline_dispose),
17902         (gst_pipeline_change_state):
17903         * gst/gstpipeline.h:
17904         * gst/gstplugin.c:
17905         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
17906         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
17907         * gst/gstpluginfeature.h:
17908         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
17909         * gst/gstquery.c: (_gst_query_type_initialize),
17910         (gst_query_type_register), (gst_query_type_get_by_nick),
17911         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
17912         * gst/gstquery.h:
17913         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
17914         * gst/gstscheduler.c: (gst_scheduler_add_element),
17915         (gst_scheduler_factory_create):
17916         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17917         (gst_structure_free), (gst_structure_set_name),
17918         (gst_structure_id_set_value), (gst_structure_set_value),
17919         (gst_structure_set_valist), (gst_structure_remove_field),
17920         (gst_structure_remove_fields),
17921         (gst_structure_remove_fields_valist),
17922         (gst_structure_remove_all_fields), (gst_structure_foreach),
17923         (gst_structure_map_in_place),
17924         (gst_caps_structure_fixate_field_nearest_int),
17925         (gst_caps_structure_fixate_field_nearest_double):
17926         * gst/gststructure.h:
17927         * gst/gstsystemclock.c: (gst_system_clock_class_init),
17928         (gst_system_clock_init), (gst_system_clock_dispose),
17929         (gst_system_clock_async_thread),
17930         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
17931         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
17932         * gst/gstsystemclock.h:
17933         * gst/gsttag.c: (gst_tag_list_add_value_internal),
17934         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
17935         * gst/gsttaginterface.c:
17936         * gst/gstthread.c: (gst_thread_dispose),
17937         (gst_thread_release_children_locks), (gst_thread_change_state),
17938         (gst_thread_main_loop):
17939         * gst/gsttrashstack.h:
17940         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
17941         * gst/gsttypes.h:
17942         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17943         (gst_element_request_pad), (gst_element_get_pad_from_template),
17944         (gst_element_request_compatible_pad),
17945         (gst_element_get_compatible_pad_filtered),
17946         (gst_element_get_compatible_pad), (gst_element_state_get_name),
17947         (gst_element_link_pads_filtered), (gst_element_link_filtered),
17948         (gst_element_link_many), (gst_element_link),
17949         (gst_element_link_pads), (gst_element_unlink_pads),
17950         (gst_element_unlink_many), (gst_element_unlink),
17951         (gst_pad_can_link_filtered), (gst_pad_can_link),
17952         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
17953         (gst_object_default_error), (gst_bin_add_many),
17954         (gst_bin_remove_many), (gst_element_populate_std_props),
17955         (gst_element_class_install_std_props), (gst_buffer_merge),
17956         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
17957         (link_fold_func), (gst_pad_proxy_setcaps):
17958         * gst/gstutils.h:
17959         * gst/gstvalue.c: (gst_value_deserialize_string):
17960         * gst/parse/grammar.y:
17961         * gst/schedulers/gstbasicscheduler.c:
17962         (gst_basic_scheduler_cothreaded_chain),
17963         (gst_basic_scheduler_chain_recursive_add),
17964         (gst_basic_scheduler_pad_link):
17965         * gst/schedulers/gstoptimalscheduler.c:
17966         (get_group_schedule_function),
17967         (gst_opt_scheduler_state_transition),
17968         (gst_opt_scheduler_add_element), (element_get_reachables_func):
17969         * libs/gst/bytestream/bytestream.c:
17970         * libs/gst/dataprotocol/dataprotocol.c:
17971         (gst_dp_header_from_buffer):
17972         * po/nb.po:
17973         * po/ru.po:
17974         * tests/threadstate/threadstate2.c: (eos):
17975         * tools/gst-compprep.c: (main):
17976         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
17977         (print_pad_info), (print_children_info):
17978         * tools/gst-launch.c: (idle_func), (main):
17979         * tools/gst-md5sum.c: (idle_func), (main):
17980         * tools/gst-xmlinspect.c: (print_element_info):
17981         First THREADED backport attempt, focusing on adding locks and
17982         making sure the API is threadsafe. Needs more work. More docs
17983         follow this week.
17984
17985 2005-02-24  Andy Wingo  <wingo@pobox.com>
17986
17987         * tests/bench-complexity.scm:
17988         * tests/complexity.gnuplot: New files, good for running complexity
17989         benchmarks.
17990
17991         * tests/Makefile.am:
17992         * tests/complexity.c: New test, sets up N elements, at each level
17993         teeing into M streams per element. Eeeenteresting.
17994
17995         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
17996         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
17997         running bench-mass_elements.scm.
17998
17999         * tests/bench-mass_elements.scm: New script, runs mass_elements
18000         for various numbers of identities, outputting the results to a
18001         file. Requires guile 1.6. Just for testing.
18002
18003 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18004
18005         * gst/schedulers/fairscheduler.c:
18006           compile with debug disabled
18007
18008 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18009
18010         * configure.ac:
18011           hunting season on 0.9 is now OPEN