configure.ac: set CFLAGS and friends to -O0 if gcov is being used add GCOV LIBS
[platform/upstream/gstreamer.git] / ChangeLog
1 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
2
3         * configure.ac:
4           set CFLAGS and friends to -O0 if gcov is being used
5           add GCOV LIBS
6         * gst/Makefile.am:
7         * libs/gst/base/Makefile.am:
8         * libs/gst/check/Makefile.am:
9         * libs/gst/controller/Makefile.am:
10         * libs/gst/dataprotocol/Makefile.am:
11         * libs/gst/net/Makefile.am:
12         * plugins/elements/Makefile.am:
13         * plugins/indexers/Makefile.am:
14           add makefile rules to generate gcov data and clean up
15         * tests/check/Makefile.am:
16           add a coverage target that generates an html overview
17           of coverage data
18
19 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
20
21         * tests/check/elements/fakesink.c:
22         * tests/check/elements/fakesrc.c:
23         * tests/check/elements/fdsrc.c:
24         * tests/check/elements/identity.c:
25         * tests/check/generic/sinks.c: (gst_sinks_suite):
26         * tests/check/generic/states.c:
27         * tests/check/gst/gst.c:
28         * tests/check/gst/gstabi.c:
29         * tests/check/gst/gstbin.c:
30         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
31         * tests/check/gst/gstbus.c: (gst_bus_suite):
32         * tests/check/gst/gstcaps.c: (GST_START_TEST):
33         * tests/check/gst/gstelement.c:
34         * tests/check/gst/gstevent.c: (gst_event_suite):
35         * tests/check/gst/gstghostpad.c:
36         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
37         * tests/check/gst/gstmessage.c: (gst_message_suite):
38         * tests/check/gst/gstminiobject.c:
39         * tests/check/gst/gstobject.c:
40         * tests/check/gst/gstpad.c:
41         * tests/check/gst/gstpipeline.c:
42         * tests/check/gst/gstplugin.c:
43         * tests/check/gst/gstquery.c: (gst_query_suite):
44         * tests/check/gst/gstsegment.c: (gst_segment_suite):
45         * tests/check/gst/gststructure.c:
46         * tests/check/gst/gstsystemclock.c:
47         * tests/check/gst/gsttag.c:
48         * tests/check/gst/gsttask.c: (gst_task_suite):
49         * tests/check/gst/gstutils.c:
50         * tests/check/gst/gstvalue.c:
51         * tests/check/libs/adapter.c:
52         * tests/check/libs/basesrc.c:
53         * tests/check/libs/collectpads.c:
54         * tests/check/libs/controller.c:
55         * tests/check/libs/gdp.c: (gst_dp_suite):
56         * tests/check/libs/gstnetclientclock.c:
57         * tests/check/libs/gstnettimeprovider.c:
58         * tests/check/libs/libsabi.c: (libsabi_suite):
59         * tests/check/libs/typefindhelper.c:
60         * tests/check/pipelines/cleanup.c:
61         * tests/check/pipelines/parse-launch.c:
62         * tests/check/pipelines/simple-launch-lines.c:
63         * tests/check/pipelines/stress.c: (stress_suite):
64           use the new macro
65
66 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
67
68         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
69         * libs/gst/check/gstcheck.h:
70           create a macro and function so that the simple unit test
71           case can be just one macro to create main()
72
73 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
74
75         * gst/gstbin.c: (gst_bin_restore_thyself):
76         * gst/gstxml.c: (gst_xml_make_element):
77           Fix deserialisation from XML. Set parent manually
78           instead of using gst_bin_add(), since gst_bin_add()
79           will unlink all pads of the element being added.
80           Fixes #341667.
81
82 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
83
84         Patch by: Peter Kjellerstedt <pkj at axis com>
85
86         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
87           Fix missing g_strdup() and double free when using the
88           --gst-plugin-load command line option (#346097).
89
90 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
91
92         * gst/gstinfo.c:
93           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
94
95         * libs/gst/net/gstnetclientclock.c:
96         * libs/gst/net/gstnettimeprovider.c:
97           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
98
99 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
100
101         * docs/manual/advanced-dataaccess.xml:
102           Fix buffer probe example compilation in
103           ADM (#345708).
104         
105 2006-06-22  Edward Hervey  <edward@fluendo.com>
106
107         * gst/gstelement.c: (gst_element_pads_activate):
108         We need to deactivate src pads first and then sink pads.
109         The reason is the src pads might be blocking while holding the streaming
110         lock, so we need to deactivate them first so that deactivating the sink
111         pads doesn't block (since it will require the streaming lock).
112
113 2006-06-22  Wim Taymans  <wim@fluendo.com>
114
115         * libs/gst/base/gstbasetransform.c:
116         (gst_base_transform_buffer_alloc):
117         Forgot to remove two unneeded unrefs.
118         Simplify a check _is_equal allready checks the obvious case.
119
120 2006-06-22  Wim Taymans  <wim@fluendo.com>
121
122         * docs/design/part-block.txt:
123         Some docs about what pad_block should do.
124
125 2006-06-22  Wim Taymans  <wim@fluendo.com>
126
127         * gst/gstcaps.c: (gst_caps_replace):
128         Fix crasher when passed NULL. Doc clarification.
129         Optimize for the trivial case.
130
131         * gst/gstpipeline.c: (gst_pipeline_change_state):
132         Small cleanups.
133
134         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
135         Small documentation cleanup.
136
137         * libs/gst/base/gstbasetransform.c:
138         (gst_base_transform_buffer_alloc):
139         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
140         is what we need and it avoids a whole lot of redundant 
141         refcount operations.
142
143 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
144
145         Patch by: Philip Jägenstedt  <philip at lysator liu se>
146
147         * docs/manual/advanced-dataaccess.xml:
148           Fix 'Embedding static elements' section to use
149           GST_PLUGIN_DEFINE_STATIC (#345607).
150
151 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
152
153         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
154           Attempt to 'fix' spuriously failing test case: it seems like the
155           timeout of half a second is simply too small when the system is under
156           load otherwise, and the timeout doesn't really seem to serve any
157           particular purpose here. Give the pipeline a few seconds to preroll
158           first, and then give it another half a second to go from PAUSED to
159           PLAYING and marshal the message into the main thread.
160
161 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
162
163         * tools/gst-feedback-m.m:
164           Don't only use unversioned tools, try versioned tools as well
165           (#345086).
166
167 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
168
169         * gst/gstbus.c: (gst_bus_class_init):
170           Fix some typos, make docs more explicit.
171
172 2006-06-20  Wim Taymans  <wim@fluendo.com>
173
174         * tests/check/gst/gstghostpad.c: (block_callback),
175         (GST_START_TEST), (gst_ghost_pad_suite):
176         Added some more ghostpad tests, mainly blocking
177         and probes.
178
179 2006-06-16  Wim Taymans  <wim@fluendo.com>
180
181         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
182         (gst_file_sink_close_file), (gst_file_sink_do_seek),
183         (gst_file_sink_event), (gst_file_sink_render):
184         * plugins/elements/gstfilesink.h:
185         Check if we can seek in the file instead of assuming
186         we always can. Post an error when we are asked to seek in a
187         non-seekable file (like a fifo). Fixes #343312.
188         Some cleanups.
189
190 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
191
192         * tools/gst-launch.1.in:
193           Un-garble (fourcc) bit in filtered caps section.
194
195 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
196
197         * docs/manual/advanced-autoplugging.xml:
198         * docs/manual/basics-helloworld.xml:
199         * docs/manual/highlevel-components.xml:
200           Don't leak bus reference in sample code.
201
202 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
203
204         * autogen.sh:
205           Add default for new --enable-plugin-docs switch.
206
207         * configure.ac:
208           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
209           Fixes #344039.
210
211         * docs/Makefile.am:
212           Use new ENABLE_PLUGIN_DOCS conditional.
213
214 2006-06-14  Wim Taymans  <wim@fluendo.com>
215
216         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
217         Make it clear with a FIXME and a real define what the #if 0
218         previously disabled.
219
220 2006-06-14  Wim Taymans  <wim@fluendo.com>
221
222         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
223         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
224         * libs/gst/base/gstbasetransform.c:
225         (gst_base_transform_sink_eventfunc):
226         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
227         Don't randomly and silently reset a segment when the format 
228         changes as this is a bug somewhere upstream. Fixes #330379.
229
230 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
231
232         Patch by: Wouter Paesen  <wouter at kangaroot net>
233
234         * libs/gst/controller/gstcontroller.c:
235         (gst_controlled_property_new):
236           Fix controlling of float properties (#344849).
237
238         * tests/check/libs/controller.c:
239         (gst_test_mono_source_get_property),
240         (gst_test_mono_source_set_property),
241         (gst_test_mono_source_class_init), (GST_START_TEST):
242           While we're at it, add some float stuff to unit test.
243
244 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
245
246         * docs/README:
247         * docs/images/gdp-header.svg:
248           add a gdp image
249         * docs/libs/Makefile.am:
250         * docs/libs/gdp-header.png:
251         * libs/gst/dataprotocol/dataprotocol.c:
252           add it to the API docs
253         * docs/manual/intro-motivation.xml:
254           fix typo
255
256 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
257
258         * gst/gst.c: (scan_and_update_registry), (init_post):
259           If the fork()'ed child process can't write the updated registry cache
260           file to disk for some reason, make it exit with a failure exit code,
261           so that the parent can then re-scan the plugins itself and update the
262           registry structures in memory and work with that (rather than failing
263           when creating elements because seemingly no plugins are available).
264           Refactor registry scanning code into separate function for this and
265           also separate fork() and non-fork() code paths. Fixes #344748.
266
267 2006-06-13  Wim Taymans  <wim@fluendo.com>
268
269         * docs/manual/advanced-dataaccess.xml:
270         Fix wrong PluginDesc. Fixes #344755.
271
272 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
273
274         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
275           Fix silly bug that prevented us from creating
276           ~/.gstreamer-0.10 and writing the registry in one
277           go (the first call to g_mkstemp() would overwrite the
278           placeholder in the template string, so the second call
279           to g_mkstemp() after creating the missing directory
280           would then error out with 'invalid argument').
281
282 2006-06-13  Edward Hervey  <edward@fluendo.com>
283
284         * gst/gst.c: (init_post):
285         Free string.
286
287 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
288
289         * gst/glib-compat-private.h:
290         * gst/glib-compat.c:
291         * gst/glib-compat.h:
292         * gst/gstvalue.c: (gst_value_serialize_flags):
293           remove GLib 2.6 compatibility code
294
295 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
296
297         * gst/parse/Makefile.am:
298           Fix build with 'make -j N' even more (#340016).
299
300 2006-06-12  Wim Taymans  <wim@fluendo.com>
301
302         * docs/gst/gstreamer-sections.txt:
303         Fix docs.
304
305 2006-06-12  Wim Taymans  <wim@fluendo.com>
306
307         * gst/gstsegment.c: (gst_segment_set_duration),
308         (gst_segment_set_last_stop), (gst_segment_set_seek),
309         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
310         (gst_segment_to_running_time), (gst_segment_clip):
311         Use G_UNLIKELY to help the compiler a bit.
312
313 2006-06-12  Wim Taymans  <wim@fluendo.com>
314
315         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
316
317         * gst/gstevent.c: (gst_event_get_type):
318         * gst/gstmessage.c:
319         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
320         (gst_pad_push):
321         constify quark registration strings. Fixes #344115
322         Avoid unneeded type checking is _pad_push() by internally
323         calling gst_pad_chain_unchecked().
324
325 2006-06-12  Wim Taymans  <wim@fluendo.com>
326
327         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
328         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
329         (gst_subbuffer_finalize), (gst_buffer_create_sub),
330         (gst_buffer_is_span_fast), (gst_buffer_span):
331         Init _type for consistency.
332         Use _FLAGS macro to avoid type check.
333         Avoid unneeded type checks in subbufer code.
334
335 2006-06-12  Wim Taymans  <wim@fluendo.com>
336
337         * gst/gst.c: (gst_debug_help):
338         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
339         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
340         (gst_plugin_feature_list_free):
341         * gst/gstregistry.c: (gst_registry_add_plugin),
342         (gst_registry_add_feature), (gst_registry_plugin_filter),
343         (gst_registry_feature_filter), (gst_registry_find_plugin),
344         (gst_registry_find_feature), (gst_registry_get_plugin_list),
345         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
346         * gst/gstregistryxml.c: (load_feature),
347         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
348         * gst/gstminiobject.c: (gst_mini_object_unref),
349         (gst_mini_object_replace), (gst_value_mini_object_free),
350         (gst_value_mini_object_copy):
351         Use _CAST macros to avoid unneeded type checking.
352         Added some more G_UNLIKELY.
353
354 2006-06-12  Wim Taymans  <wim@fluendo.com>
355
356         * gst/gstbuffer.h:
357         Avoid unneeded type checking.
358         API: GST_BUFFER_IS_DISCONT
359
360         * gst/gstminiobject.h:
361         Avoid type check in flag accessor.
362
363         * gst/gstelementfactory.h:
364         * gst/gstplugin.h:
365         * gst/gstpluginfeature.h:
366         Add _CAST macros.
367         API: GST_ELEMENT_FACTORY_CAST
368         API: GST_PLUGIN_CAST
369         API: GST_PLUGIN_FEATURE_CAST
370
371 2006-06-12  Wim Taymans  <wim@fluendo.com>
372
373         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
374         (gst_object_unref):
375         Add G_UNLIKELY in type registration.
376         Avoid type check in _ref/_unref since that is also
377         done in glib.
378
379 2006-06-12  Wim Taymans  <wim@fluendo.com>
380
381         * gst/gsterror.c: (gst_g_error_get_type):
382         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
383         (gst_static_pad_template_get_type):
384         * gst/gsttaglist.c: (gst_tag_list_get_type):
385         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
386         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
387         * gst/gsturi.c: (gst_uri_handler_get_type):
388         * gst/gstvalue.c: (gst_date_get_type):
389         * gst/gstxml.c: (gst_xml_get_type):
390         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
391         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
392         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
393         Add G_UNLIKELY in type registration.
394
395 2006-06-12  Wim Taymans  <wim@fluendo.com>
396
397         * tools/gst-inspect.c: (print_signal_info):
398         Properly print enum values.
399
400 2006-06-12  Wim Taymans  <wim@fluendo.com>
401
402         * gst/gstinfo.c: (gst_debug_set_active),
403         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
404         * gst/gstinfo.h:
405         Add some G_[UN]LIKELY.
406         Maintain __gst_debug_min to avoid formatting the arguments of
407         debug messages that will be dropped anyway to avoid a lot of 
408         overhead from the debugging system.
409
410 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
411
412         * po/POTFILES.in:
413         * po/POTFILES.skip:
414           add missing files containing translatable strings, tell intltool about
415           one exception
416
417 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
418
419         * tests/check/libs/.cvsignore:
420         add test-binary to ignore list
421
422 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
423
424         * docs/libs/gstreamer-libs-docs.sgml:
425         reorder (put dp into a chapter) and indent
426
427 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
428
429         * configure.ac:
430           back to HEAD
431
432 === release 0.10.8 ===
433
434 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
435
436         * configure.ac:
437           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
438
439 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
440
441         * gst/gst.c: (init_post):
442           move pid declaration to declaration block
443
444 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
445
446         * gst/gst.c: (init_post):
447           use _exit() instead of exit() in our forked child; this ensures
448           that none of the registered exit handlers from whatever is using
449           GStreamer get executed.  This fixes gnome-mixer-applet failing
450           to load, because ORBit would shut down.
451           Spotted by: Edward Hervey  <edward@fluendo.com>
452           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
453           Fixes #344474
454
455 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
456
457         * configure.ac:
458           back to TRUNK
459
460 === release 0.10.7 ===
461
462 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
463
464         * configure.ac:
465           releasing 0.10.7, "Soepeke, ik zie ou"
466
467 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
468
469         * configure.ac:
470         * po/af.po:
471         * po/az.po:
472         * po/bg.po:
473         * po/ca.po:
474         * po/cs.po:
475         * po/de.po:
476         * po/en_GB.po:
477         * po/fr.po:
478         * po/it.po:
479         * po/nb.po:
480         * po/nl.po:
481         * po/ru.po:
482         * po/sq.po:
483         * po/sr.po:
484         * po/sv.po:
485         * po/tr.po:
486         * po/uk.po:
487         * po/vi.po:
488         * po/zh_CN.po:
489         * po/zh_TW.po:
490         * win32/common/config.h:
491           0.10.6.2 prerelease
492
493 2006-06-07  Wim Taymans  <wim@fluendo.com>
494
495         * gst/gstindex.c: (gst_index_gtype_resolver):
496         * tools/gst-xmlinspect.c: (print_plugin_info):
497         Fix leak spotted by coverity checker. Fixes #343827
498         Fix another other leak found by paolo borelli.
499
500 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
501
502         * libs/gst/dataprotocol/dataprotocol.c:
503         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
504         (gst_dp_version_get_type), (gst_dp_init),
505         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
506         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
507         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
508         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
509         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
510         (gst_dp_packetizer_free):
511         * libs/gst/dataprotocol/dataprotocol.h:
512           API: add a GstDPPacketizer object, and create/free functions
513           API: add GstDPVersion enum
514           Add 1.0 event function that uses the string serialization
515           Serialize more useful buffer flags
516           Fixes #343988
517
518 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
519
520         * tests/check/Makefile.am:
521         * tests/check/gst/gstabi.c:
522         * tests/check/gst/struct_ppc64.h:
523         * tests/check/libs/libsabi.c:
524         * tests/check/libs/struct_ppc64.h:
525           add ppc64 structure sizes
526
527 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
528
529         * tests/check/Makefile.am:
530         * tests/check/gst/gstabi.c:
531         * tests/check/gst/struct_x86_64.h:
532         * tests/check/libs/libsabi.c:
533         * tests/check/libs/struct_x86_64.h:
534           generate and add structure size lists for x86_64
535
536 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
537
538         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
539         * libs/gst/check/gstcheck.h:
540           factor out the method from tests that checks size of structures,
541           and add code to generate the header containing these sizes
542         * tests/check/gst/gstabi.c: (GST_START_TEST):
543         * tests/check/gst/struct_i386.h:
544         * tests/check/libs/libsabi.c: (GST_START_TEST):
545         * tests/check/libs/struct_i386.h:
546           use it
547
548 2006-06-06  Michael Smith  <msmith@fluendo.com>
549
550         * gst/gstsegment.h:
551           Don't use c++-style comments, fixes #343929
552
553 2006-06-05  Edward Hervey  <edward@fluendo.com>
554
555         * gst/gst.c:
556         plugin_paths is not used if we build without registry support.
557
558         * gst/gstsegment.c: (gst_segment_copy): 
559         _copy() was always returning NULL...
560
561 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
562
563         * libs/gst/dataprotocol/dataprotocol.c:
564         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
565         (gst_dp_packet_from_event):
566           factor out CRC code
567
568 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
569
570         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
571           make sure we unset caps
572
573 2006-06-02  Michael Smith  <msmith@fluendo.com>
574
575         * libs/gst/check/gstcheck.c: (gst_check_init),
576         (gst_check_chain_func):
577         * libs/gst/check/gstcheck.h:
578           Add a cond/mutex to the check support lib, signal this whenever we
579           add to the buffers list. This will allow tests to not busy-wait on
580           the buffer-list.
581
582 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
583
584         * libs/gst/dataprotocol/dataprotocol.c:
585         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
586         (gst_dp_packet_from_event):
587           factor out some common header init code
588
589 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
590
591         * docs/libs/gstreamer-libs-sections.txt:
592         * docs/libs/tmpl/gstdataprotocol.sgml:
593         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
594         * libs/gst/dataprotocol/dataprotocol.h:
595           API: make gst_dp_crc() public
596
597 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
598
599         * plugins/indexers/gstindexers.c: (plugin_init):
600         conditionally register fileindexer (fixes #343598)
601
602 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
603
604         * gst/gsttagsetter.h:
605         Can't cast ifaces to a class
606
607         * libs/gst/net/gstnetclientclock.h:
608         * libs/gst/net/gstnettimeprovider.h:
609         * plugins/elements/gstfakesink.h:
610         * plugins/elements/gstfakesrc.h:
611         * plugins/elements/gstfdsink.h:
612         * plugins/elements/gstfdsrc.h:
613         * plugins/elements/gstfilesink.h:
614         * plugins/elements/gstfilesrc.h:
615         * plugins/elements/gstidentity.h:
616         * plugins/elements/gstqueue.h:
617         * plugins/elements/gsttee.h:
618         * plugins/indexers/gstfileindex.c:
619         * plugins/indexers/gstmemindex.c:
620         * tests/old/examples/plugins/example.h:
621         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
622
623 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
624
625         * libs/gst/dataprotocol/dataprotocol.c:
626         (gst_dp_header_from_buffer):
627           make sure we zero the whole ABI-compatible area
628
629 2006-06-01  Wim Taymans  <wim@fluendo.com>
630
631         Patch by: Alessandro Decina <alessandro at nnva dot org>
632
633         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
634         Make sure the EOS flag is cleared from pads after a flush
635         or stop. Fixes #343538.
636
637         * tests/check/libs/collectpads.c: (GST_START_TEST),
638         (gst_collect_pads_suite):
639         Added test for collectpads reusage after EOS.
640
641 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
642
643         * gst/gst.c:
644          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
645         * win32/common/libgstbase.def:
646          export gst_collect_pads_set_flushing
647         * win32/common/libgstreamer.def:
648          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
649          gst_value_fraction_multiply
650         * win32/vs6/gst_inspect.dsp:
651          add a link to intl.lib
652
653 2006-05-30  Wim Taymans  <wim@fluendo.com>
654
655         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
656         (gst_collect_pads_chain):
657         Handle the case where a pad is removed from the collection
658         that could cause the other pads to become collectable.
659
660 2006-05-30  Wim Taymans  <wim@fluendo.com>
661
662         * gst/gstelement.c:
663         Clarify the use of _release_request_pad() and
664         _get_request_pad() a bit better.
665
666         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
667         (gst_adapter_take_buffer):
668         Fix some doc and comment typos.
669
670 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
671
672         * docs/gst/gstreamer-sections.txt:
673         * docs/libs/gstreamer-libs-sections.txt:
674           add declared symbols
675
676 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
677
678         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
679         Add debug that can be enabled using a #define at the top of the file,
680         for dumping stats about how late/early we were when waking up from
681         waiting on the clock.
682
683 2006-05-30  Wim Taymans  <wim@fluendo.com>
684
685         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
686         When rebuilding the pad list, don't leak the previous list.
687
688 2006-05-30  Wim Taymans  <wim@fluendo.com>
689
690         Patch by: Lutz Mueller <lutz at topfrose dot de>
691
692         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
693         (gst_base_src_get_query_types), (gst_base_src_update_length):
694         Publish supported query types.
695         Update last_stop field in get_range mode so the position
696         query works. Fixes #342321.
697
698 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
699
700         * docs/gst/gstreamer-sections.txt:
701         * gst/gsttaglist.c: (_gst_tag_initialize):
702         * gst/gsttaglist.h:
703           API: add GST_TAG_PREVIEW_IMAGE (#343341).
704
705 2006-05-30  Wim Taymans  <wim@fluendo.com>
706
707         Patch by: Alessandro Decina <alessandro at nnva dot org>
708
709         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
710         Unlock mutex when removing an unknown pad.
711         Fixes #343334.
712
713         * tests/check/Makefile.am:
714         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
715         (push_event), (setup), (teardown), (GST_START_TEST),
716         (gst_collect_pads_suite), (main):
717         Added collecpads check, disabled for now as check crashes for
718         some reason.
719
720 2006-05-29  Wim Taymans  <wim@fluendo.com>
721
722         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
723         Don't leak pads lists.
724
725 2006-05-29  Wim Taymans  <wim@fluendo.com>
726
727         * docs/libs/gstreamer-libs-sections.txt:
728         * libs/gst/base/gstcollectpads.c:
729         (gst_collect_pads_set_flushing_unlocked),
730         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
731         (gst_collect_pads_stop):
732         * libs/gst/base/gstcollectpads.h:
733         API: gst_collect_pads_set_flushing()
734         Added api to set the pads to flushing, useful for seeking
735         code in elements using collectpads.
736         Clear segment when receiving a flush.
737
738 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
739
740         * gst/gst.c: (add_path_func), (init_post):
741           Don't scan registry paths passed via --gst-plugin-path immediately
742           (will crash, because absolutely nothing is set up and no types are
743           registered etc.); do this later in init_post(). Fixes #343057.
744
745 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
746
747         * gst/gst.c: (init_post):
748           if we have fork, fork while reading/rebuilding the registry
749           so the parent doesn't take the hit of having all plugins loaded
750           in memory.  Fixes #342777.
751         * configure.ac:
752           Check if we have fork()
753         * win32/common/config.h.in:
754           no fork() on win32
755
756 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
757
758         * plugins/elements/gstelements.c:
759         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
760         (gst_file_src_init), (gst_file_src_set_property),
761         (gst_file_src_get_property), (gst_file_src_start):
762         * plugins/elements/gstfilesrc.h:
763           API: GstFileSrc::use-mmap
764
765         Add a use-mmap property to enable easier testing of all code paths.
766         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
767         in the absence of gnomevfssrc. (Closes #340501)
768
769 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
770
771         * tools/gst-inspect.c:
772         Add missing include, removes warning of ngettext not being defined on
773         some arches.
774
775 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
776
777         * gst/gstvalue.c: (gst_value_deserialize_fraction):
778         Handle NULL input and output pointers silently as a failed conversion,
779         rather than g_warnings.
780
781 2006-05-25  Wim Taymans  <wim@fluendo.com>
782
783         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
784         Initialize variable before using. Fixes #342820.
785
786 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
787
788         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
789           Fix off-by-one bug that would only allow peeks of N-1 bytes
790           from the start even if the buffer to typefind on contains
791           in fact N bytes of data (makes vorbis typefinding from a
792           vorbis identification header buffer work).
793
794         * tests/check/Makefile.am:
795         * tests/check/libs/.cvsignore:
796         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
797         (gst_typefindhelper_suite), (main), (foobar_typefind),
798         (plugin_init):
799           Add very basic unit test for gst_type_find_helper_for_buffer()
800           that checks for the problem fixed above.
801
802 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
803
804         * tools/gst-inspect.c: (print_interfaces),
805         (print_element_properties_info), (print_element_list), (main):
806           add more translatable strings
807
808 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
809
810         Patch by: Julien Moutte  <julien at moutte net>
811
812         * docs/gst/gstreamer-sections.txt:
813           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
814           
815         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
816         (gst_fake_sink_preroll):
817         * plugins/elements/gstfakesink.h:
818           API: Add new GstFakeSink::preroll-handoff signal (#337100).
819
820 2006-05-23  Wim Taymans  <wim@fluendo.com>
821
822         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
823         * gst/gstpad.h:
824         Added _CUSTOM error and success GstFlowReturn that can be
825         used be elements internally. 
826         Added macro to check for SUCCESS flowreturns.
827         API: GST_FLOW_CUSTOM_SUCCESS
828         API: GST_FLOW_CUSTOM_ERROR
829         API: GST_FLOW_IS_SUCCESS
830
831         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
832         Added check for GstFlowReturn sanity.
833
834 2006-05-23  Wim Taymans  <wim@fluendo.com>
835
836         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
837
838         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
839         (gst_collect_pads_event):
840         clear/reset segment info in FLUSH_STOP.
841         Fixes #336929.
842
843 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
844
845         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
846         (gst_collect_pads_check_collected):
847         Flush queued buffer on _stop(), fixes playing again (#342454)
848
849 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
850
851         * tests/check/gst/gststructure.c: (GST_START_TEST),
852         (gst_structure_suite):
853           add a test for a complete structure
854
855 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
856
857         * docs/faq/developing.xml:
858         * docs/faq/faq.xml:
859         * docs/faq/troubleshooting.xml:
860         * docs/faq/using.xml:
861           Some minor FAQ updates that won't change the fact that
862           our FAQ is badly structured, full of information hardly
863           anyone new to GStreamer needs to know and lacking lots
864           of information people constantly ask for.
865           
866 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
867
868         * gst/gstpad.c: (gst_pad_set_caps):
869           Short-circuit gst_pad_set_caps if setting the existing
870           caps pointer again, and avoid printing debug and 
871           reffing/unreffing the caps.
872
873         * plugins/elements/gstqueue.c: (gst_queue_push_one):
874           There's actually no need to set the caps before pushing -
875           the acceptcaps method will handle it anyway.
876
877 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
878
879         * docs/gst/gstreamer-sections.txt:
880         * win32/common/libgstreamer.def:
881         * gst/gstutils.c: (gst_element_seek_simple):
882         * gst/gstutils.h:
883           API: add gst_element_seek_simple() (#342238).
884
885 2006-05-18  Edward Hervey  <edward@fluendo.com>
886
887         * gst/gsttypefind.c: (gst_type_find_get_type):
888         * gst/gsttypefind.h:
889         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
890         registered for GstTypeFind pointers. This allows wrapping the structure
891         in bindings (i.e. gst-python).
892
893 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
894
895         * gst/gsttagsetter.c:
896           Docs additions and fixes (see #339918).
897
898 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
899
900         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
901         The caps intersection algorithm can produce multiple copies of the
902         caps. Until that is fixed, we need to simplify the result to be
903         sure whether the allowed caps are fixed or not.
904
905         * plugins/elements/gstqueue.c: (gst_queue_init),
906         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
907         (gst_queue_push_one):
908         Proxied buffer alloc should not set the caps on the source pad.
909         When pushing buffers, we always accept the caps change that triggers.
910         This prevents negotiation errors caused by caps changing mid-stream 
911         and then being refused on our source pad (because upstream is now
912         refusing those caps).
913
914 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
915
916         * tests/examples/helloworld/helloworld.c: (main):
917           Must plug audioconvert and audioresample between decoder
918           and audio sink.
919
920 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
921
922         * gst/gstregistryxml.c: (read_string), (load_pad_template),
923         (load_feature), (load_plugin):
924         Allow empty strings for some of the plugin fields so we don't 
925         drop valid plugin entries that were written out correctly
926         (Fixes #341479)
927
928 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
929         
930         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
931           Use g_remove and g_rename instead of remove and rename that don't 
932           handle utf8 characters. rename was failing for users who had specific
933           characters in their name then the registry was built at each 
934           gstreamer init.
935         * win32/vs6/gst_inspect.dsp:
936         * win32/vs6/gst_launch.dsp:
937         * win32/vs6/libgstbase.dsp:
938         * win32/vs6/libgstcoreelements.dsp:
939         * win32/vs6/libgstreamer.dsp:
940           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
941           build of libgstreamer and clean unused libraries in projects link 
942           settings.
943
944 2006-05-17  Edward Hervey  <edward@fluendo.com>
945
946         * plugins/elements/gstqueue.c: (gst_queue_push_one):
947         The queue is not responsible for pushing an EOS when receiving a fatal
948         flow error. It's up to the real element driving the pipeline to do that.
949
950 2006-05-16  Edward Hervey  <edward@fluendo.com>
951
952         * plugins/elements/gstqueue.c: (gst_queue_push_one):
953         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
954         buffer returned a fatal error. It should just send an EOS and stop
955         its task.
956         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
957         when pushing buffers on the queue and will be able to handle the event.
958
959 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
960
961         * docs/manual/basics-bins.xml:
962         * docs/manual/basics-init.xml:
963           Fix typos and minor errors in sample code (#341856).
964
965 2006-05-16  Wim Taymans  <wim@fluendo.com>
966
967         * docs/design/part-qos.txt:
968         Fix indexes in formulas to make more sense.
969
970 2006-05-15  Wim Taymans  <wim@fluendo.com>
971
972         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
973         Don't report POSITION based on clock time if sync is
974         disabled in a sink.
975
976 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
977
978         * gst/gstobject.h:
979           Add cast to make compiler happy - refcount variable was a gint
980           in GstObject but is a guint in GObject and g_atomic_int_get()
981           wants a gint *.
982
983 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
984
985         * gst/parse/Makefile.am:
986           chain commands using &&, which also makes parallel make work
987
988 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
989
990         * docs/gst/gstreamer-sections.txt:
991         * gst/gstevent.c:
992         * gst/gstevent.h:
993         * gst/gstmessage.h:
994           Minor docs fixes.
995
996 === release 0.10.6 ===
997
998 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
999
1000         * configure.ac:
1001           releasing 0.10.6, "Take the cannoli"
1002
1003 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
1004
1005         * tools/gst-launch.c: (print_tag):
1006           Fix use of uninitialized variable in the hypothetical
1007           case that some broken plugin creates a GST_TAG_IMAGE
1008           tag containing a NULL buffer (#341667).
1009
1010 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
1011
1012         * tools/gst-launch.c: (print_tag):
1013           Print something more intelligible for image tags when
1014           using the -t switch (#341556).
1015
1016 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1017
1018         * Makefile.am:
1019           updates for win32
1020         * configure.ac:
1021           define GST_MAJORMINOR so we have it available in win32/common/config.h
1022           Possibly remove it from our Makefile.am files later
1023         * win32/common/config.h:
1024         * win32/common/config.h.in:
1025           added GST_MAJORMINOR
1026         * win32/common/gstenumtypes.c: (register_gst_resource_error):
1027         * win32/common/gstversion.h:
1028           updated
1029
1030 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
1031
1032         * win32/MANIFEST:
1033           Update win32 files listing.
1034         * win32/common/gstversion.h:
1035           Add GST_MAJORMINOR definition.
1036         * win32/common/libgstreamer.def:
1037           Add new exported functions.
1038           
1039 2006-05-12  Michael Smith  <msmith@fluendo.com>
1040
1041         * gst/gstplugin.c: (gst_plugin_load_file):
1042           If an so file has no plugin entry point, unload the module.
1043
1044 2006-05-11  Wim Taymans  <wim@fluendo.com>
1045
1046         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
1047         (gst_queue_set_property):
1048         Don't forget to signal the _chain or _loop function 
1049         when the queue size or thresholds change since that might
1050         cause them to make progres again.
1051
1052 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
1053
1054         * gst/gstclock.c: (gst_clock_class_init):
1055         * gst/gstindex.c: (gst_index_class_init):
1056         * gst/gstobject.c: (gst_object_class_init):
1057         * gst/gstpad.c: (gst_pad_class_init):
1058         * gst/gstpipeline.c: (gst_pipeline_class_init):
1059         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1060         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
1061         * libs/gst/base/gstbasetransform.c:
1062         (gst_base_transform_class_init):
1063         * libs/gst/net/gstnetclientclock.c:
1064         (gst_net_client_clock_class_init):
1065         * libs/gst/net/gstnettimeprovider.c:
1066         (gst_net_time_provider_class_init):
1067         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
1068         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
1069         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
1070         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
1071         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1072         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
1073         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
1074         * plugins/elements/gstidentity.c: (gst_identity_class_init):
1075         * plugins/elements/gsttee.c: (gst_tee_class_init):
1076         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1077         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1078           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
1079
1080 2006-05-11  Wim Taymans  <wim@fluendo.com>
1081
1082         * gst/gstbuffer.c: (_gst_buffer_initialize):
1083         Register subbufer along with the buffer type so that
1084         it does not accidentally gets registered from N
1085         different streaming threads in a non threadsafe way.
1086
1087 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1088
1089         * gst/gstbuffer.h:
1090         * gst/gstevent.h:
1091         * gst/gstmessage.h:
1092           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
1093           gst_event_ref() and gst_message_ref() functions again
1094           (ugly hack, please do fix if there's a better way besides
1095           overrides.txt, which doesn't seem to work).
1096
1097 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1098
1099         * libs/gst/check/gstcheck.h:
1100           add an assert for setting state to avoid lots of repetitive code
1101           in the future
1102
1103 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1104
1105         * gst/gstvalue.c: (gst_value_serialize_flags):
1106           fix a leak if no flags are set
1107         * tests/check/gst/gstvalue.c: (GST_START_TEST):
1108           fix leak in tests
1109
1110 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
1111
1112         * docs/manual/basics-pads.xml:
1113           Expand a bit on caps and filtered links and update
1114           examples that were still using the no longer existing
1115           gst_pad_link_filtered() (#338206).
1116
1117 2006-05-10  Wim Taymans  <wim@fluendo.com>
1118
1119         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1120         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
1121         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
1122         (gst_collect_pads_stop):
1123         * libs/gst/base/gstcollectpads.h:
1124         No need to call _stop in _finalize.
1125         Iterate the main pad list in _finalize.
1126         Added some more debug.
1127         Free lists and data in the right order.
1128         Also free data whem doing _remove_pad when stopped for
1129         backward compatibility protect ::started with PAD_LOCK as
1130         well.
1131
1132 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1133
1134         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
1135         (gst_structure_parse_value):
1136           add some comments
1137           rename a method so that it actually says what it does better
1138
1139 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
1140
1141         * gst/gstevent.c: (_gst_event_initialize):
1142         * gst/gstformat.c: (_gst_format_initialize):
1143           make sure some essential types used by events are registered
1144           as part of gst_init()
1145         * gst/gstvalue.c: (gst_value_serialize_flags):
1146           if no flags are set, serialize them to a value that represents NONE
1147           so that deserializing them works
1148         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1149           add tests for serialization and deserialization of flags
1150
1151 2006-05-10  Wim Taymans  <wim@fluendo.com>
1152
1153         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
1154         (gst_collect_pads_collect_range), (gst_collect_pads_available),
1155         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
1156         (gst_collect_pads_event), (gst_collect_pads_chain):
1157         Update docs.
1158         Better debug info.
1159         Catch and return errors from the collect function
1160         Refuse data on eos pads.
1161
1162 2006-05-10  Edward Hervey  <edward@fluendo.com>
1163
1164         * gst/gstinterface.h:
1165         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
1166         GInterface type checking.
1167         They were previously using non-defined macros.
1168
1169 2006-05-09  Wim Taymans  <wim@fluendo.com>
1170
1171         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
1172         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
1173         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
1174         (gst_collect_pads_start), (gst_collect_pads_stop),
1175         (gst_collect_pads_peek), (gst_collect_pads_pop),
1176         (gst_collect_pads_available), (gst_collect_pads_read),
1177         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
1178         (gst_collect_pads_is_collected), (gst_collect_pads_event),
1179         (gst_collect_pads_chain):
1180         * libs/gst/base/gstcollectpads.h:
1181         Clean up the mess that is collectpads, add comments and
1182         FIXMEs where needed.
1183         Maintain a separate pad list so we can add pads while
1184         collecting the other ones. For this we need a new separate 
1185         lock (see comics).
1186         Fix memory leak in finalize.
1187         Refactor some weird code to set/unset pad flushing flags, mark
1188         with comments.
1189         Don't crash in _available, _read, _flush when we're EOS.
1190
1191         * tests/check/libs/.cvsignore:
1192         Ignore adapter check binary.
1193
1194 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1195
1196         * gst/gstindex.c: (gst_index_resolver_get_type):
1197         * plugins/elements/gstfakesink.c:
1198         (gst_fake_sink_state_error_get_type):
1199         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
1200         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
1201         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
1202           Const-ify GEnumValue arrays.
1203
1204 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1205
1206         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
1207           Add test case for flags + gst_buffer_make_metadata_writable().
1208
1209 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1210
1211         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
1212           gst_buffer_make_metadata_writable() should maintain the
1213           buffer flags (those that make sense at least) (see #340859).
1214
1215 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1216
1217         * tools/gst-inspect.c:
1218         * tools/gst-launch.c:
1219         * tools/gst-typefind.c:
1220         * tools/gst-xmlinspect.c:
1221         * tools/tools.h:
1222           Fix up includes: need to include stdlib.h in tools.h for exit().
1223
1224 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
1225
1226         * gst/gsttaglist.c: (_gst_tag_initialize):
1227         * gst/gsttaglist.h:
1228           API: add GST_TAG_IMAGE tag (#340721).
1229
1230 2006-05-08  Wim Taymans  <wim@fluendo.com>
1231
1232         * gst/gstquery.c:
1233         Added some docs for the segment query.
1234
1235 2006-05-08  Wim Taymans  <wim@fluendo.com>
1236
1237         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1238         (gst_base_src_loop), (gst_base_src_change_state):
1239         Always push non-flushing serialized events in the streaming 
1240         thread.
1241
1242 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
1243
1244         * gst/gsterror.c: (_gst_stream_errors_init):
1245           Add a missing error string.
1246
1247 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
1248
1249         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
1250         Add applied_rate to the debug
1251
1252         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
1253         Copy applied_rate into the outgoing NEWSEGMENT event
1254
1255 2006-05-08  Wim Taymans  <wim@fluendo.com>
1256
1257         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
1258
1259         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
1260         (gst_base_sink_change_state):
1261         call ::unlock before taking the PREROLL_LOCK so we can safely
1262         handle elements that lock in ::render.
1263         Fixes #340174.
1264
1265 2006-05-08  Edward Hervey  <edward@fluendo.com>
1266
1267         * autogen.sh: (CONFIGURE_DEF_OPT): 
1268         Darwin's libtoolize is in fact called glibtoolize.
1269         Adding glibtoolize to the list of accepted names for libtoolize.
1270
1271 2006-05-08  Wim Taymans  <wim@fluendo.com>
1272
1273         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1274         Unify error handling, don't post an error message
1275         when a push() returns EOS but perform our normal EOS
1276         handling code. Fixes #340772.
1277
1278 2006-05-08  Wim Taymans  <wim@fluendo.com>
1279
1280         * docs/design/part-overview.txt:
1281         Make upsteam/downstream concepts more clear.
1282         Give an example of serialized/non-serialized events.
1283
1284         * docs/design/part-events.txt:
1285         * docs/design/part-streams.txt:
1286         Mention applied_rate.
1287
1288         * docs/design/part-trickmodes.txt:
1289         Mention applied rate, flesh out some more use cases.
1290
1291         * gst/gstevent.c: (gst_event_new_new_segment),
1292         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
1293         (gst_event_parse_new_segment_full), (gst_event_new_tag),
1294         (gst_event_parse_tag), (gst_event_new_buffer_size),
1295         (gst_event_parse_buffer_size), (gst_event_new_qos),
1296         (gst_event_parse_qos), (gst_event_parse_seek),
1297         (gst_event_new_navigation):
1298         * gst/gstevent.h:
1299         Add applied_rate field to NEWSEGMENT event.
1300         API: gst_event_new_new_segment_full()
1301         API: gst_event_parse_new_segment_full()
1302
1303         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
1304         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
1305         (gst_segment_to_stream_time), (gst_segment_to_running_time):
1306         * gst/gstsegment.h:
1307         Add applied_rate to GstSegment structure.
1308         Make calculation of stream_time and running_time more correct
1309         wrt rate/applied_rate.
1310         Add some more docs.
1311         API: GstSegment::applied_rate field
1312         API: gst_segment_set_newsegment_full();
1313
1314         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
1315         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
1316         * libs/gst/base/gstbasetransform.c:
1317         (gst_base_transform_sink_eventfunc),
1318         (gst_base_transform_handle_buffer):
1319         Parse and use applied_rate in the GstSegment field.
1320
1321         * tests/check/gst/gstevent.c: (GST_START_TEST):
1322         Add check for applied_rate field.
1323
1324         * tests/check/gst/gstsegment.c: (GST_START_TEST),
1325         (gstsegments_suite):
1326         Add more checks for various GstSegment operations.
1327
1328 2006-05-08  Wim Taymans  <wim@fluendo.com>
1329
1330         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1331         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
1332         (gst_base_sink_get_position), (gst_base_sink_change_state):
1333         Store the sync time of the buffer end position separatly in a
1334         new variable eos_rtime so we can properly sync the EOS event.
1335         Fixes #340697.
1336         Fix the docs for gst_base_sink_set_qos_enabled().
1337         Don't set segment start to invalid value when we receive a 
1338         non TIME newsegment.
1339         get closer to handling position reporting for negative rates 
1340         correctly.
1341
1342 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1343
1344         * gst/gstcaps.c:
1345         Docs about how to print caps for debug purposes.
1346
1347         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
1348         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
1349
1350 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
1351
1352         * gst/gstelement.c:
1353           use full enum names and preprend a '%' in docs strings to make recent 
1354           gtk-doc turn that into a link
1355
1356 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1357
1358         * docs/manual/basics-bins.xml:
1359         * docs/manual/basics-bus.xml:
1360         * docs/manual/basics-pads.xml:
1361           Some typo fixes, some additions, some clarifications. 
1362
1363 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1364
1365         * tools/gst-inspect.c: (main):
1366         * tools/gst-launch.c: (main):
1367         * tools/gst-run.c: (main):
1368         * tools/gst-typefind.c: (main):
1369         * tools/gst-xmlinspect.c: (main):
1370           Use the string passed to g_option_context_new() for
1371           what it's intended for - the program name is already
1372           printed elsewhere.
1373
1374 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1375
1376         * tools/Makefile.am:
1377         * tools/gst-inspect.c: (main):
1378         * tools/gst-launch.c: (main):
1379         * tools/gst-xmlinspect.c: (main):
1380         * tools/tools.h:
1381           Add back --version command line option (#340460).
1382
1383         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
1384           Add --version option and use GOption for argument parsing; refactor a
1385           bit; accept directories as arguments and recurse into them; lastly,
1386           print a decent error message when things go wrong.
1387
1388 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1389
1390         * docs/manual/basics-bins.xml:
1391         Don't mention GstThread (#340611)
1392         * docs/manual/basics-elements.xml:
1393         Update link to GObject tutorial (#340607)
1394         
1395 2006-05-05  Wim Taymans  <wim@fluendo.com>
1396
1397         * gst/gstbuffer.h:
1398         * gst/gstminiobject.c:
1399         Add note about refcounting and miniobject/buffer writeability
1400         to docs. Fixes #340604
1401
1402         * gst/gstelementfactory.h:
1403         Added some explanation about @klass.
1404
1405 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1406
1407         * docs/manual/intro-motivation.xml:
1408         * docs/manual/manual.xml:
1409         Avoid CORBA & Bonobo references (#340598)
1410
1411 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1412
1413         * docs/manual/basics-bus.xml:
1414         * docs/manual/basics-pads.xml:
1415         Fix up some inaccuracies and omissions (#340609)
1416         
1417 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
1418
1419         * gst/gstghostpad.c:
1420           Small typo in docs (#340625)
1421
1422 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1423
1424         * gst/parse/Makefile.am:
1425           Make 'make -j' proof (see #340698).
1426
1427 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
1428
1429         * configure.ac:
1430           Require GLib-2.8 here as well.
1431
1432 2006-05-05  Wim Taymans  <wim@fluendo.com>
1433
1434         * gst/glib-compat.c:
1435         * gst/gst.c: (init_pre):
1436         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
1437         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
1438         (gst_object_dispatch_properties_changed):
1439         * gst/gstobject.h:
1440         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
1441         * gst/gststructure.c: (gst_structure_set_valist):
1442         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1443         Remove pre glib2.8 compatibility, fixes #340508
1444
1445 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1446
1447         * gst/gsttaglist.h:
1448           Mention type of tags in doc blurbs.
1449
1450 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
1451
1452         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1453         (gst_pad_configure_src), (gst_pad_push):
1454         Restore acceptcaps checking behaviour now that good plugins have
1455         been released.
1456
1457 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
1458
1459         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
1460
1461         * gst/gst.c:
1462         * gst/gstbus.c:
1463         * gst/gstclock.c:
1464         * gst/gstevent.c:
1465         * gst/gstformat.c:
1466         * gst/gstmessage.c:
1467         * gst/gstparse.c:
1468         * gst/gstquery.c:
1469         * gst/gstutils.c:
1470         * gst/parse/Makefile.am:
1471         * libs/gst/base/gstadapter.c:
1472         * libs/gst/base/gstbasesrc.c:
1473         * libs/gst/base/gstpushsrc.c:
1474         * libs/gst/base/gsttypefindhelper.c:
1475         * plugins/elements/gstfakesrc.c:
1476         * plugins/elements/gstidentity.c:
1477           Make sure gstprivate.h and/or config.h are
1478           always included first, otherwise some of our
1479           defines (like _FILE_OFFSET_BITS) might be
1480           redefined in the system headers. Fixes build
1481           on opensolaris (#340016).
1482
1483 2006-05-04  Wim Taymans  <wim@fluendo.com>
1484
1485         * docs/libs/gstreamer-libs-sections.txt:
1486         API: addition: gst_adapter_take_buffer()
1487         
1488         * libs/gst/base/gstadapter.c: (gst_adapter_push),
1489         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
1490         (gst_adapter_available_fast):
1491         * libs/gst/base/gstadapter.h:
1492         Prepare for optimizing the hell out of this hugely inefficient
1493         piece of code. 
1494         Added gst_adapter_take_buffer() so we can at least start thinking
1495         about subbuffering and merging.
1496         Added some comments.
1497
1498         * tests/check/Makefile.am:
1499         * tests/check/libs/adapter.c: (GST_START_TEST),
1500         (gst_adapter_suite), (main):
1501         Added GstAdapter check.
1502
1503 2006-05-04  Wim Taymans  <wim@fluendo.com>
1504
1505         * docs/design/part-overview.txt:
1506         Fix some typos, add blurb about buffer flags.
1507
1508 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
1509
1510         * docs/libs/gstreamer-libs-sections.txt:
1511           make sure GstBaseTransformClass shows up in the docs
1512         * libs/gst/base/gstbasetransform.c:
1513         * libs/gst/base/gstbasetransform.h:
1514           move docs so gtk-doc picks it up now
1515
1516 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1517
1518         * docs/libs/gstreamer-libs-sections.txt:
1519           add missing symbols to docs
1520
1521 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
1522
1523         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1524           back out the newsegment handling change, see #340060 for ongoing
1525           discussion
1526
1527 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
1528
1529         * tools/gst-run.c: (get_candidates), (main):
1530           Fix wrong g_file_test() usage (see glib docs for why it doesn't
1531           work); fix typo in error message. Fixes #340079.
1532
1533 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1534
1535         * common/Makefile.am:
1536         * docs/Makefile.am:
1537         * docs/faq/Makefile.am:
1538         * docs/gst/Makefile.am:
1539         * docs/libs/Makefile.am:
1540         * docs/manual/Makefile.am:
1541         * docs/plugins/Makefile.am:
1542         * docs/pwg/Makefile.am:
1543         * docs/slides/Makefile.am:
1544         * docs/upload.mak:
1545         * common/upload.mak:
1546           move upload.mak to common
1547
1548 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
1549
1550         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1551           add more asserts on refcounts
1552           do more cleanup at end of tests
1553           fix test leaks showing in FC5
1554
1555 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
1556
1557         * plugins/elements/gsttypefindelement.c:
1558         (gst_type_find_element_handle_event):
1559         reverted wrong change and reflowed code to avoid others falling into
1560         this trap
1561
1562 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1563
1564         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
1565           fix changelog entry about last collectpads change,
1566           add notes about proper fix
1567
1568 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1569
1570         * gst/gst.c:
1571         * gst/gstregistry.c: (gst_registry_scan_path_level),
1572         (gst_registry_scan_path):
1573         * gst/gstregistry.h:
1574           only write out registry if it has changed, fixes #338339
1575
1576 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1577
1578         * gst/gstbin.c:
1579         * gst/gstpipeline.c:
1580         * plugins/elements/gstcapsfilter.c:
1581         * plugins/elements/gstfakesink.c:
1582         * plugins/elements/gstfakesrc.c:
1583         * plugins/elements/gstfdsink.c:
1584         * plugins/elements/gstfdsrc.c:
1585         * plugins/elements/gstfilesink.c:
1586         * plugins/elements/gstfilesrc.c:
1587         * plugins/elements/gstidentity.c:
1588         * plugins/elements/gstqueue.c:
1589         * plugins/elements/gsttee.c:
1590         * plugins/elements/gsttypefindelement.c:
1591         (gst_type_find_element_handle_event):
1592           make GstElementDetails const
1593
1594 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1595
1596         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
1597         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
1598         (gst_collect_pads_is_collected), (gst_collect_pads_event):
1599           more detailed debug and formatting cleanup,
1600           forward newsegments to src-pad (so that e.g. adder not eats them)
1601
1602 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1603
1604         * gst/gstutils.c: (gst_element_link_pads):
1605           cleanup double code
1606
1607 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
1608
1609         * libs/gst/controller/gstcontroller.c:
1610         (gst_controller_sync_values):
1611           some little tuning
1612         * tests/check/libs/controller.c: (GST_START_TEST),
1613         (gst_controller_suite):
1614           a new test for live value handling
1615
1616 2006-04-28  Wim Taymans  <wim@fluendo.com>
1617
1618         * gst/gstutils.c: (push_and_ref):
1619         Added some more docs.
1620         Fix refcount issue whith gst_element_found_tags() helper 
1621         function. Fixes #338335
1622
1623         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
1624         Added testsuite for gst_element_found_tags().
1625
1626 2006-04-28  Michael Smith  <msmith@fluendo.com>
1627
1628         * gst/gstvalue.c: (gst_value_serialize_flags):
1629           Avoid NULL dereference when trying to serialize flags containing
1630           invalid values.
1631
1632 2006-04-28  Michael Smith  <msmith@fluendo.com>
1633
1634         * plugins/elements/gsttypefindelement.c:
1635         (gst_type_find_element_handle_event):
1636           If we get EOS before any data is accumulated, don't use
1637           uninitialised local variables.
1638
1639 2006-04-28  Michael Smith  <msmith@fluendo.com>
1640
1641         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
1642         (gst_dp_event_from_packet):
1643           Fixes in reading/writing events over GDP (not currently used?) - 
1644           dereferencing NULL events for unknown/invalid event types, memory
1645           leak, and change g_warning to GST_WARNING.
1646
1647 2006-04-28  Wim Taymans  <wim@fluendo.com>
1648
1649         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
1650         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1651         (gst_base_sink_get_position), (gst_base_sink_change_state):
1652         When frame dropping is enabled, we should not ignore frames
1653         without a duration.
1654         Update some documentation.
1655
1656 2006-04-28  Wim Taymans  <wim@fluendo.com>
1657
1658         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
1659         (gst_base_src_send_event), (gst_base_src_change_state):
1660         Documentation updates.
1661
1662 2006-04-28  Wim Taymans  <wim@fluendo.com>
1663
1664         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
1665         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
1666         handle EAGAIN, EINTR and short writes correctly. Also clean
1667         up some error cases, avoid a deadlock on bad file descriptors and
1668         use GST_DEBUG_OBJECT.
1669         Fixes #339843
1670
1671 2006-04-28  Wim Taymans  <wim@fluendo.com>
1672
1673         * gst/gstvalue.c: (gst_value_serialize_buffer),
1674         (gst_value_deserialize_buffer):
1675         Don't try to serialize a GValue with a NULL buffer. 
1676         Fixes #339821.
1677
1678         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
1679         Added check for serialisation of NULL buffers.
1680
1681 2006-04-28  Wim Taymans  <wim@fluendo.com>
1682
1683         * gst/gstminiobject.c: (gst_value_take_mini_object):
1684         Taking a NULL miniobject is valid, fix the case where
1685         we try to unref the NULL miniobject.
1686
1687 2006-04-28  Wim Taymans  <wim@fluendo.com>
1688
1689         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
1690
1691         * gst/gstbin.c: (gst_bin_handle_message_func):
1692         Update docs.
1693         Don't leak bin refcount when a state recalc is
1694         in progress and we delay another one #339808.
1695
1696 2006-04-28  Wim Taymans  <wim@fluendo.com>
1697
1698         * docs/design/part-TODO.txt:
1699         Mention QoS as an ongoing work item.
1700
1701         * docs/design/part-buffering.txt:
1702         New doc about buffering that needs to be fleshed out
1703         at some point.
1704
1705         * docs/design/part-qos.txt:
1706         More QoS policy for decoders/demuxers/transforms
1707
1708         * docs/design/part-trickmodes.txt:
1709         Small update.
1710
1711 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1712
1713         * configure.ac:
1714           back to HEAD
1715
1716 === release 0.10.5 ===
1717
1718 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
1719
1720         * configure.ac:
1721           releasing 0.10.5, "Fogo"
1722
1723 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
1724
1725         patch by: Wim Taymans
1726
1727         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
1728         (gst_pad_configure_src), (gst_pad_push):
1729         * gst/gstpipeline.c: (gst_pipeline_init):
1730           Fix internal data flow errors.  Fixes #338711.
1731
1732 2006-04-12  Wim Taymans  <wim@fluendo.com>
1733
1734         * tests/check/gst/gstelement.c: (GST_START_TEST):
1735         Don't leak the factory.
1736
1737 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
1738
1739         * configure.ac:
1740         * win32/common/config.h:
1741           prerelease
1742
1743 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
1744
1745         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1746         (gst_controller_unset_all):
1747           Free allocated GstTimedValues when freeing list nodes.
1748           Should fix leaks 'make check-valgrind' complains about.
1749
1750         * win32/common/libgstcontroller.def:
1751           Add gst_controller_unset_all.
1752
1753 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
1754
1755         * docs/libs/gstreamer-libs-sections.txt:
1756         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
1757         (gst_controller_unset_all):
1758         * libs/gst/controller/gstcontroller.h:
1759         API: Added new method gst_controller_unset_all()
1760         fixed gst_controller_unset()
1761         * tests/check/libs/controller.c: (GST_START_TEST),
1762         (gst_controller_suite):
1763         Added two testcases for new and fixed method
1764
1765 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
1766
1767         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
1768           MSG_DONTWAIT is not defined on Cygwin, so work
1769           around that (fixes #317048).
1770           
1771 2006-04-11  Wim Taymans  <wim@fluendo.com>
1772
1773         * gst/gstelementfactory.c: (gst_element_register),
1774         (gst_element_factory_create), (gst_element_factory_make):
1775         Some cleanups.
1776         Fixed a FIXME.
1777         Updated docs (Fixes #131079)
1778
1779         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
1780         Small cleanups.
1781
1782         * tests/check/gst/gstelement.c: (GST_START_TEST),
1783         (gst_element_suite):
1784         Added testcase for elementfactory class field.
1785
1786 2006-04-10  Wim Taymans  <wim@fluendo.com>
1787
1788         * gst/gstsegment.c:
1789         Added some more docs.
1790
1791         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
1792         (gst_base_sink_reset_qos):
1793         Calculate more accurate rate values.
1794
1795 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
1796
1797         * gst/gst_private.h:
1798           add a new #ifdef to use __declspec(dllimport) only for
1799           other modules and not for gstreamer core
1800         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
1801           use gst_guint64_to_gdouble for conversion
1802         * win32/common/libgstreamer.def:
1803           add new exported functions
1804         * win32/vs6/gst_inspect.dsp:
1805         * win32/vs6/gst_launch.dsp:
1806         * win32/vs6/libgstbase.dsp:
1807         * win32/vs6/libgstcontroller.dsp:
1808         * win32/vs6/libgstcoreelements.dsp:
1809         * win32/vs6/libgstdataprotocol.dsp:
1810         * win32/vs6/libgstnet.dsp:
1811           update project files
1812
1813 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1814
1815         * gst/gstbuffer.c: (gst_subbuffer_class_init):
1816         * gst/gstclock.c: (gst_clock_class_init):
1817         * gst/gstelement.c: (gst_element_class_init):
1818         * gst/gstindex.c: (gst_index_class_init):
1819         * gst/gstindexfactory.c: (gst_index_factory_class_init):
1820         * gst/gstobject.c: (gst_object_class_init),
1821         (gst_signal_object_class_init):
1822         * gst/gstpad.c: (gst_pad_class_init):
1823         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
1824         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
1825         * gst/gstregistry.c: (gst_registry_class_init):
1826         * gst/gstsystemclock.c: (gst_system_clock_class_init):
1827         * gst/gsttask.c: (gst_task_class_init):
1828         * gst/gstxml.c: (gst_xml_class_init):
1829         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
1830         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
1831         (gst_base_src_loop):
1832         * libs/gst/controller/gstcontroller.c:/
1833         (_gst_controller_class_init):
1834         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
1835         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
1836         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
1837         * tests/old/examples/plugins/example.c: (gst_example_class_init):
1838         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
1839         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
1840
1841 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
1842
1843         * gst/gstpad.c: (gst_pad_link):
1844           Must set peer pads before calling the link function, otherwise
1845           a task started from a link function might get a flow-not-linked
1846           result when trying to push because the other thread where the
1847           linking happens hasn't had a chance to set the peers yet. This
1848           might happen for example when a queue gets linked to a downstream
1849           element, as queue starts a streaming task when its source pad
1850           gets linked. Happens in real life when playing back flac/musepack
1851           files in playbin (#332390).
1852           
1853 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
1854
1855         * gst/gstindex.h:
1856         * gst/gstxml.h:
1857         * libs/gst/base/gstadapter.h:
1858         * libs/gst/base/gstbasesink.h:
1859         * libs/gst/base/gstbasesrc.h:
1860         * libs/gst/base/gstbasetransform.h:
1861         * libs/gst/base/gstcollectpads.h:
1862         * libs/gst/base/gstpushsrc.h:
1863         Fix broken GObject macros
1864
1865 2006-04-07  Wim Taymans  <wim@fluendo.com>
1866
1867         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1868         Initialize start and stop times, thanks valgrind.
1869
1870 2006-04-07  Wim Taymans  <wim@fluendo.com>
1871
1872         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
1873         Be a bit nicer to badly behaving upstream elements that expect
1874         us to deal with non TIME segments and timestamps (such as fakesrc
1875         in the testsuite).
1876
1877 2006-04-07  Wim Taymans  <wim@fluendo.com>
1878
1879         * gst/gstbus.c:
1880         Small documentation clarification about the signal watch.
1881
1882         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
1883         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
1884         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
1885         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
1886         (gst_base_sink_get_position_last),
1887         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
1888         Convert and store timestamps in stream time and running time, the
1889         raw timestamps are not usefull, also document this better.
1890         Use different window sizes for good and bad QoS observations so
1891         we react to badness a little quicker.
1892         Keep track of the amount of rendered and dropped buffers.
1893         Send QoS timestamps in running time.
1894
1895         * libs/gst/base/gstbasetransform.c:
1896         (gst_base_transform_sink_eventfunc),
1897         (gst_base_transform_handle_buffer):
1898         Compare QoS timestamps against running time.
1899
1900 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1901
1902         * gst/gstpad.c:
1903           Typo fixes in docs.
1904
1905 2006-04-06  Michael Smith  <msmith@fluendo.com>
1906
1907         * gst/gstpad.c: (gst_pad_set_property):
1908           Use g_value_get_object() instead of g_value_dup_gst_object(),
1909           to avoid double-reffing the pad template (which we then sink,
1910           so this worked previously if (and only if) the pad template
1911           was floating.
1912
1913         * gst/gstpadtemplate.c: (gst_pad_template_init),
1914         (gst_pad_template_pad_created):
1915           Never return floating references to pad templates, create
1916           them as initially-sunken.
1917
1918           Document an extra function (and make this stop sinking our
1919           pad template, since that is now guaranteed to do nothing,
1920           since we created it sunken).
1921
1922         * gst/gstghostpad.c:
1923           Fix docs typo.
1924
1925 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
1926
1927         * gst/gstinfo.c: (__gst_in_valgrind):
1928           Add some newlines.
1929
1930         * plugins/elements/gsttypefindelement.c:
1931         (gst_type_find_element_chain):
1932           Don't leak buffer caps.
1933
1934 2006-04-06  Michael Smith  <msmith@fluendo.com>
1935
1936         * gst/parse/grammar.y:
1937           Fix a leak in parse-launch for any source-or-sink named element 
1938           references used.
1939
1940         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
1941           Unref the pipeline if it exists after we've failed parsing.
1942
1943 2006-04-05  Michael Smith  <msmith@fluendo.com>
1944
1945         * gst/gstpipeline.c: (gst_pipeline_init):
1946           When we create a pipeline bus, initially create it in flushing mode.
1947           Fixes leaks in at least one test, and makes a new pipeline work the
1948           same as one that has gone to READY and then back to NULL.
1949
1950         * gst/gstelement.c:
1951           Typo fix in docs.
1952
1953 2006-04-05  Michael Smith  <msmith@fluendo.com>
1954
1955         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
1956           Unref a pad we reffed.
1957         * tests/check/gst/gstutils.c: (GST_START_TEST):
1958           Unref bins
1959
1960 2006-04-05  Michael Smith  <msmith@fluendo.com>
1961
1962         * gst/gstquery.c: (gst_query_set_formats),
1963         (gst_query_set_formatsv):
1964           Fix leaking GValues in queries, as shown by valgrind/testsuite.
1965
1966 2006-04-05  Michael Smith  <msmith@fluendo.com>
1967
1968         * tests/check/generic/sinks.c: (GST_START_TEST):
1969           Fix a variety of memleaks in sinks check, which are only sometimes 
1970           shown by running the tests under valgrind (weird?).
1971
1972 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
1973
1974         * docs/version.entities.in:
1975           Fix the substituted entity name after thomas' changes on the
1976           weekend.
1977
1978 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1979
1980         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
1981         VALGRIND_PRINTF
1982         
1983 2006-04-05  Andy Wingo  <wingo@pobox.com>
1984
1985         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
1986
1987         * libs/gst/base/gstbasetransform.c
1988         (gst_base_transform_sink_eventfunc): When resetting our segment on
1989         FLUSH_STOP, also update the flag saying we haven't seen a
1990         newsegment.
1991
1992 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
1993
1994         Patch by: Paolo Borelli  <pborelli at katamail dot com>
1995
1996         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
1997         (gst_plugin_check_license):
1998           minor clean-ups: G_DEFINE_TYPE already takes care of the
1999           parent_class stuff, no need to do it twice. Mark array of
2000           license strings as constant. (#337103)
2001           
2002 2006-04-04  Michael Smith  <msmith@fluendo.com>
2003
2004         * tools/gst-inspect.c: (print_element_list):
2005           Free the right plugin list; fixes a memory leak.
2006
2007 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2008
2009         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
2010
2011         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2012           Don't error out on empty buffers (#336945).
2013           
2014 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
2015
2016         * docs/libs/gstreamer-libs-sections.txt:
2017         * gst/gsttaglist.c:
2018         * libs/gst/base/gstbasesink.c:
2019         * libs/gst/base/gstbasesink.h:
2020         * libs/gst/base/gstbasesrc.c:
2021         * libs/gst/base/gstbasesrc.h:
2022           Documentation updates. Make BaseSink and BaseSrc docs contain the
2023           class structure so that people can actually see the prototypes for
2024           virtual functions they're supposed to be overriding.
2025
2026 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
2027
2028         * plugins/elements/gsttypefindelement.c:
2029         (gst_type_find_element_chain):
2030           More debug info; when skipping typefinding, send cached
2031           events in all cases.
2032
2033 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
2034
2035         * configure.ac:
2036           use new AS_VERSION and AS_NANO macros
2037         * gst/gst-i18n-lib.h:
2038         * gst/gst.c:
2039         * gst/gsterror.c:
2040         * gst/gstversion.h.in:
2041         * win32/common/config.h:
2042         * win32/common/config.h.in:
2043           update accordingly
2044
2045 2006-03-31  Michael Smith  <msmith@fluendo.com>
2046
2047         * plugins/elements/gsttypefindelement.c:
2048         (gst_type_find_element_chain):
2049           Do not typefind content if the buffers already have caps.
2050           Neccesary for icydemux (#333657), and the right thing to do anyway.
2051
2052 2006-03-30  Wim Taymans  <wim@fluendo.com>
2053
2054         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2055         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
2056         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
2057         (gst_base_sink_record_qos_observation),
2058         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2059         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2060         (gst_base_sink_change_state):
2061         More QoS measurements as described in the design doc.
2062         Get rid of ringbuffer with observations, running average is
2063         more simple and equally good.
2064         Calculates valid proportion now.
2065         Added beginning of flood measurement.
2066
2067 2006-03-29  Wim Taymans  <wim@fluendo.com>
2068
2069         * docs/design/part-qos.txt:
2070         * gst/gstclock.c:
2071         Small documentation updates and additions.
2072
2073 2006-03-29  Wim Taymans  <wim@fluendo.com>
2074
2075         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2076         (gst_base_src_send_event), (gst_base_src_loop),
2077         (gst_base_src_change_state):
2078         Perform the EOS logic when we reach the segment stop position.
2079         Fix compilation on gcc4.1
2080
2081 2006-03-29  Wim Taymans  <wim@fluendo.com>
2082
2083         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
2084
2085         * plugins/elements/gstqueue.c: (gst_queue_init),
2086         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
2087         (gst_queue_set_property):
2088         * plugins/elements/gstqueue.h:
2089         In queue, when EOS is received, if minimum threshold > max_size -
2090         current_level, there is chance that queue blocks forever in conditional
2091         item del wait. This is because the queue is not emptied completely due
2092         to minimum threshold.  Here is another approach. Instead of setting
2093         cur_levels to max in EOS, just zero all minimum threshold levels. This
2094         should make sure that queue gives out all data. When going to READY
2095         (stop) state, just reset the original minimum threshold levels.
2096         Fixes #336336.
2097
2098 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
2099
2100         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
2101         (gst_type_find_element_handle_event),
2102         (gst_type_find_element_send_cached_events),
2103         (gst_type_find_element_change_state):
2104         * plugins/elements/gsttypefindelement.h:
2105           When typefinding is done in push mode, we should cache
2106           events we receive during typefinding instead of just
2107           dropping them (e.g. newsegment, custom events from
2108           dvdreadsrc etc.) and then send them out once we've
2109           determined the type of the stream (and decodebin
2110           has had a chance to plug in a decoder/demuxer).
2111           
2112 2006-03-27  Wim Taymans  <wim@fluendo.com>
2113
2114         * docs/design/part-qos.txt:
2115         First QoS ideas.
2116
2117 2006-03-27  Wim Taymans  <wim@fluendo.com>
2118
2119         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
2120
2121         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
2122         (gst_base_src_send_event), (gst_base_src_change_state):
2123         Handle element seek correctly when we are streaming.
2124         Fixes #326998.
2125
2126 2006-03-24  Michael Smith  <msmith@fluendo.com>
2127
2128         * docs/faq/gst-uninstalled:
2129           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
2130           allow you to correctly run intalled applications built against old 
2131           core, using plugins that require updated core (e.g. running
2132           installed totem against a full uninstalled gstreamer stack)
2133
2134 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2135
2136         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
2137         more debug details
2138
2139 2006-03-24  Wim Taymans  <wim@fluendo.com>
2140
2141         * docs/gst/gstreamer-sections.txt:
2142         Rearrange the order of the methods so that related methods
2143         are grouped together in sections.
2144
2145 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2146
2147         * gst/gstelement.c:
2148           Little clarification in the docs
2149
2150 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
2151
2152         * docs/README:
2153         formatting fix
2154         * plugins/elements/gstidentity.c:
2155         * plugins/elements/gstqueue.c:
2156         * plugins/elements/gsttee.c:
2157         * plugins/elements/gsttypefindelement.c:
2158         GST_ELEMENT_DETAILS formatting
2159
2160 2006-03-24  Wim Taymans  <wim@fluendo.com>
2161
2162         * libs/gst/base/gstbasesink.h:
2163         Only add fields, not insert or we break ABI.
2164
2165 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2166
2167         * win32/common/libgstbase.def:
2168         * win32/common/libgstreamer.def:
2169           Update, add recently added functions.
2170
2171 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2172
2173         * docs/gst/gstreamer-sections.txt:
2174         * gst/gstutils.c: (gst_pad_query_peer_position),
2175         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
2176         * gst/gstutils.h:
2177           API: add some new utility functions:
2178            - gst_pad_query_peer_position()
2179            - gst_pad_query_peer_duration()
2180            - gst_pad_query_peer_convert()
2181           
2182 2006-03-23  Wim Taymans  <wim@fluendo.com>
2183
2184         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2185         (gst_base_sink_init), (gst_base_sink_finalize),
2186         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
2187         (gst_base_sink_set_property), (gst_base_sink_get_property),
2188         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
2189         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
2190         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
2191         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
2192         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
2193         (gst_base_sink_preroll_object), (gst_base_sink_event),
2194         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
2195         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
2196         (gst_base_sink_query), (gst_base_sink_change_state):
2197         Decouple max-lateness and the fact that QoS messages are generated
2198         with a new property (qos).
2199         added API: GstBaseSink::async_play()
2200         Add vmethod so subclasses can be notified of ASYNC playing
2201         state changes.
2202         Collect timestamp start and stop to report better current
2203         position in EOS/PLAYING/PAUSED/READY/NULL.
2204         Refactor QoS/frame dropping and other measurements.
2205         API: GstBaseSrc::qos
2206         Fixes #326311
2207
2208         * libs/gst/base/gstbasesink.h:
2209         Added Private struct.
2210         API: gst_base_sink_set_qos_enabled()
2211         API: gst_base_sink_is_qos_enabled()
2212
2213 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
2214
2215         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
2216           If compiling against GLib-2.8 or newer, try to read the
2217           registry file using GMappedFile first before falling back
2218           to fopen() + fread() (#332151).
2219
2220 2006-03-22  Wim Taymans  <wim@fluendo.com>
2221
2222         * gst/gstinfo.c: (gst_debug_set_active),
2223         (gst_debug_category_set_threshold):
2224         Disable debugging unless explicitly activated.
2225         Fixes #335480.
2226
2227 2006-03-22  Wim Taymans  <wim@fluendo.com>
2228
2229         * gst/gstelement.c: (gst_element_set_locked_state),
2230         (gst_element_dispose):
2231         Cleanup the error case.
2232
2233         * gst/gstobject.c: (gst_object_dispose):
2234         print a critical when some object was disposed with
2235         a parent, also revive the object since it might
2236         crash the parent.
2237
2238 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
2239
2240         * tools/gst-launch.1.in:
2241           Fix another typo.
2242
2243 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2244
2245         * configure.ac:
2246         * tests/check/Makefile.am:
2247           disable some tests when we don't have a registry
2248         * tests/check/gst/gstutils.c: (gst_utils_suite):
2249           don't build the part that needs parsing
2250
2251 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
2252
2253         * gst/Makefile.am
2254         * tests/examples/Makefile.am:
2255           fix --disable-parse build
2256
2257 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2258
2259         * tools/gst-feedback.1.in:
2260           Fix typo: s/feeback/feedback/ (#133494).
2261
2262 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2263
2264         * tools/Makefile.am:
2265         * tools/gst-launch.1.in:
2266           Add FILES section and correct entry about GST_REGISTRY_PATH
2267           environment variable (#133495; #133494).
2268
2269 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2270
2271         * tools/Makefile.am:
2272         * tools/gst-md5sum.1.in:
2273         * tools/gst-md5sum.c:
2274           Remove gst-md5sum and man page (the md5sink element
2275           required was removed ages ago)
2276
2277 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2278
2279         * gst/gststructure.c: (gst_structure_id_set_value):
2280           Make sure that string fields in structures/taglists
2281           contain valid UTF-8 - we don't want to pass rubbish to
2282           applications because of a buggy plugin (cp. #334167).
2283
2284 2006-03-21  Edward Hervey  <edward@fluendo.com>
2285
2286         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
2287         (gst_bin_handle_message_func):
2288         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
2289         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
2290         (gst_element_set_bus_func):
2291         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
2292         * gst/gstminiobject.c: (gst_value_set_mini_object),
2293         (gst_value_take_mini_object):
2294         * gst/gstpad.c: (gst_pad_set_pad_template):
2295         * gst/gstpipeline.c: (gst_pipeline_dispose),
2296         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
2297         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
2298         (gst_collect_pads_chain):
2299         * libs/gst/net/gstnettimeprovider.c:
2300         (gst_net_time_provider_set_property):
2301         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
2302         It's in fact all issues with gst_*object_replace().
2303
2304 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
2305
2306         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
2307         
2308         * pkgconfig/gstreamer-check-uninstalled.pc.in:
2309         * pkgconfig/gstreamer-check.pc.in:
2310           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
2311
2312 2006-03-21  Edward Hervey  <edward@fluendo.com>
2313
2314         * gst/gstbuffer.h:
2315         * gst/gstevent.h:
2316         * gst/gstmessage.h:
2317         gst_[buffer|event|message]_ref() macros are replaced by a static
2318         inline functions because gcc-4.1 will about if the return value
2319         isn't used.
2320         * tests/check/gst/gstevent.c: (event_probe):
2321         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
2322
2323 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
2324
2325         * gst/gstutils.h:
2326         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
2327         the type' case. (Closes: #335195 for now). In the future, when we
2328         depend on GLib 2.10, we could also intern the type name using
2329         g_intern_static_string()
2330
2331 2006-03-20  Wim Taymans  <wim@fluendo.com>
2332
2333         * gst/gstbin.c: (gst_bin_handle_message_func),
2334         (bin_query_max_init), (bin_query_position_fold),
2335         (bin_query_position_done), (gst_bin_query):
2336         Position query should also take max of all streams.
2337
2338 2006-03-20  Wim Taymans  <wim@fluendo.com>
2339
2340         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
2341         (gst_fake_src_finalize):
2342         Fix leaks in fakesrc.
2343
2344         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2345         Fix leaks in the testcase.
2346
2347 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
2348
2349         * gst/gst_private.h:
2350           add win32 specific import decoration(__declspec(dllimport)) 
2351           for all extern GstDebugCategory * variables
2352         * win32/common/libgstbase.def:
2353         * win32/common/libgstcontroller.def:
2354         * win32/common/libgstreamer.def:
2355           Add some exports, remove empty lines
2356         * win32/common/libgstdataprotocol.def:
2357         * win32/common/libgstdataprotocol.dsp:
2358         * win32/common/libgstnet.def:
2359         * win32/common/libgstnet.dsp:
2360           new project files and exportation files added
2361         
2362 2006-03-19  Wim Taymans  <wim@fluendo.com>
2363
2364         * tests/check/libs/basesrc.c: (eos_event_counter):
2365         Use proper return value for probe.
2366
2367 2006-03-17  Wim Taymans  <wim@fluendo.com>
2368
2369         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2370         (gst_pad_push):
2371         Don't leak buffers, caps and pads on negotiation errors.
2372
2373 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
2374
2375         * docs/faq/cvs.xml:
2376         * docs/faq/dependencies.xml:
2377         * docs/faq/developing.xml:
2378         * docs/faq/faq.xml:
2379         * docs/faq/general.xml:
2380         * docs/faq/getting.xml:
2381         * docs/faq/legal.xml:
2382         * docs/faq/troubleshooting.xml:
2383         * docs/faq/using.xml:
2384         Faq review and update.
2385
2386 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
2387
2388         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
2389         (gst_pad_push):
2390         Don't pound the cpu to pieces by checking get_caps when accept_caps
2391         is called with the same caps as the pad already has.
2392         Use GST_DEBUG_OBJECT when outputting caps change information.
2393
2394 2006-03-15  Wim Taymans  <wim@fluendo.com>
2395
2396         * gst/gstclock.c: (gst_clock_class_init):
2397         Fix docs.
2398
2399 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
2400
2401         * gst/gstbuffer.h:
2402         Documentation fix.
2403
2404         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
2405         (gst_pad_accept_caps), (gst_pad_configure_sink),
2406         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
2407         Make the default acceptcaps behaviour be to check the requested 
2408         caps against the gst_pad_get_caps output. 
2409
2410         Ensure that gst_pad_accept_caps is used to check caps when a pad
2411         doesn't have a setcaps function, so that pads automatically refuse 
2412         caps that they don't allow in their pad template. (Fixes #332986)
2413
2414         When a buffer with attached caps is pushed, ensure that the source 
2415         pad receives those caps even if the element didn't call
2416         gst_pad_set_caps first.
2417
2418 2006-03-15  Wim Taymans  <wim@fluendo.com>
2419
2420         * libs/gst/base/gstadapter.c:
2421         Add some docs.
2422
2423 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
2424
2425         * win32/common/libgstbase.def:
2426         * win32/common/libgstcontroller.def:
2427         * win32/common/libgstreamer.def:
2428           Add a whole bunch of missing functions (#334434).
2429
2430 2006-03-14  Wim Taymans  <wim@fluendo.com>
2431
2432         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
2433         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
2434         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
2435         Better debug info when we receive a segment event.
2436         Reorganize a bit so we can pass the get_times() results around.
2437         Use the segment format when calculating the running time.
2438         Don't do QoS is sync is disabled or we have no clock or the
2439         element does not want us to sync to the clock.
2440         Don't drop buffers if QoS is disabled for now.
2441
2442 2006-03-14  Wim Taymans  <wim@fluendo.com>
2443
2444         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
2445         Marked the stats property as unimplemented so people don't get
2446         wild ideas.
2447         Add debug message when regression goes wrong.
2448         Added some more docs.
2449
2450 2006-03-14  Wim Taymans  <wim@fluendo.com>
2451
2452         * gst/gstsegment.c: (gst_segment_to_stream_time):
2453         Return correct return type in case of errors.
2454
2455 2006-03-14  Wim Taymans  <wim@fluendo.com>
2456
2457         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
2458           Don't segfault on invalid formats.
2459
2460 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2461
2462         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
2463           Can't use gst_segment_to_running_time() when the segment
2464           is not in GST_TIME_FORMAT (like with filesink, for example).
2465           Stops flac encoding pipelines from spewing critical warnings
2466           at EOS (#331248).
2467           
2468 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
2469
2470         * gst/gstpipeline.c: (gst_pipeline_class_init):
2471           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
2472
2473         * plugins/elements/gsttypefindelement.c:
2474         (gst_type_find_element_handle_event):
2475           Don't try to typefind empty streams.
2476
2477 2006-03-14  Wim Taymans  <wim@fluendo.com>
2478
2479         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
2480         (gst_base_sink_do_qos):
2481         Separate QoS calculation.
2482         Only drop buffers when lateness is bigger than the 
2483         duration of the buffer.
2484
2485 2006-03-13  Wim Taymans  <wim@fluendo.com>
2486
2487         * gst/gstpipeline.c: (gst_pipeline_set_property),
2488         (gst_pipeline_get_property), (do_pipeline_seek),
2489         (gst_pipeline_change_state), (gst_pipeline_set_delay),
2490         (gst_pipeline_get_delay):
2491         Don't deadlock when reading properties.
2492
2493 2006-03-13  Wim Taymans  <wim@fluendo.com>
2494
2495         * libs/gst/base/gstbasetransform.c:
2496         (gst_base_transform_class_init), (gst_base_transform_init),
2497         (gst_base_transform_sink_event),
2498         (gst_base_transform_sink_eventfunc),
2499         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
2500         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
2501         (gst_base_transform_set_property),
2502         (gst_base_transform_get_property),
2503         (gst_base_transform_change_state), (gst_base_transform_update_qos),
2504         (gst_base_transform_set_qos_enabled),
2505         (gst_base_transform_is_qos_enabled):
2506         * libs/gst/base/gstbasetransform.h:
2507         Make basetransform virtual method for src events too.
2508         Handle QOS in basetransform.
2509         API: gst_base_transform_update_qos()
2510         API: gst_base_transform_set_qos_enabled()
2511         API: gst_base_transform_is_qos_enabled()
2512
2513 2006-03-13  Wim Taymans  <wim@fluendo.com>
2514
2515         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
2516         (gst_base_sink_do_sync):
2517         Small cleanups.
2518         Use QOS debug category.
2519
2520 2006-03-13  Wim Taymans  <wim@fluendo.com>
2521
2522         * plugins/elements/gstqueue.c:
2523         Very small doc update.
2524
2525 2006-03-13  Wim Taymans  <wim@fluendo.com>
2526
2527         * gst/gst_private.h:
2528         * gst/gstinfo.c: (_gst_debug_init):
2529         Added QOS debug category
2530
2531 2006-03-13  Wim Taymans  <wim@fluendo.com>
2532
2533         * docs/gst/gstreamer-sections.txt:
2534         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
2535         * gst/gstbin.h:
2536         * gst/gstbus.c: (gst_bus_class_init):
2537         * gst/gstbus.h:
2538         * gst/gstclock.c:
2539         * gst/gstelement.c: (gst_element_set_locked_state):
2540         * gst/gstsegment.c:
2541         Documentation updates.
2542
2543         * gst/gstpipeline.c: (gst_pipeline_get_type),
2544         (gst_pipeline_class_init), (gst_pipeline_init),
2545         (gst_pipeline_dispose), (gst_pipeline_set_property),
2546         (gst_pipeline_get_property), (do_pipeline_seek),
2547         (gst_pipeline_send_event), (gst_pipeline_change_state),
2548         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
2549         (gst_pipeline_get_delay):
2550         * gst/gstpipeline.h:
2551         Added methods for setting the delay.
2552         API: gst_pipeline_set_delay()
2553         API: gst_pipeline_get_delay()
2554         Add pipeline debug category
2555         Various cleanups.
2556         Updated docs.
2557         Don't reset stream time when seek failed.
2558
2559 2006-03-13  Wim Taymans  <wim@fluendo.com>
2560
2561         * docs/design/draft-klass.txt:
2562         * docs/design/part-clocks.txt:
2563         * docs/design/part-events.txt:
2564         * docs/design/part-gstbin.txt:
2565         * docs/design/part-gstpipeline.txt:
2566         * docs/design/part-messages.txt:
2567         * docs/design/part-negotiation.txt:
2568         * docs/design/part-overview.txt:
2569         * docs/design/part-preroll.txt:
2570         * docs/design/part-seeking.txt:
2571         * docs/design/part-states.txt:
2572         * docs/design/part-streams.txt:
2573         Documentation updates.
2574
2575 2006-03-12  Julien MOUTTE  <julien@moutte.net>
2576
2577         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
2578         us to leak strings...
2579
2580 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
2581
2582         * libs/gst/net/gstnettimeprovider.c:
2583           fix docs
2584         * win32/common/config.h:
2585           update
2586
2587 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
2588
2589         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
2590
2591         * configure.ac:
2592           Don't check for libgnomeui (leftover from old examples
2593           that aren't built or disted any longer) (#334303).
2594           
2595 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
2596
2597         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
2598         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
2599           Emit RESOURCE_NO_SPACE_LEFT error here as well when
2600           there's no space left on the device.
2601
2602 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
2603
2604         * gst/gstclock.h:
2605           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
2606           to cast the input to GstClockTime before comparing with
2607           another GstClockTime value.
2608
2609 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
2610
2611         * configure.ac:
2612           back to trunk
2613
2614 === release 0.10.4 ===
2615
2616 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
2617
2618         * configure.ac:
2619           releasing 0.10.4, "Light"
2620
2621 2006-03-10  Michael Smith  <msmith@fluendo.com>
2622
2623         * libs/gst/dataprotocol/dataprotocol.c:
2624           Fix docs for dataprocotol to not get the return types completely
2625           wrong for a few functions.
2626
2627 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2628
2629         * docs/gst/gstreamer-sections.txt:
2630         * gst/gstpipeline.c: (gst_pipeline_class_init),
2631         (gst_pipeline_init), (gst_pipeline_set_property),
2632         (gst_pipeline_get_property), (gst_pipeline_change_state),
2633         (gst_pipeline_set_auto_flush_bus),
2634         (gst_pipeline_get_auto_flush_bus):
2635         * gst/gstpipeline.h:
2636           Add new API: gst_pipeline_set_auto_flush_bus() and
2637           gst_pipeline_get_auto_flush_bus() to disable automatic
2638           flushing of the pipeline's GstBus when going from READY
2639           to NULL state (#332045).
2640
2641 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2642
2643         * docs/gst/gstreamer-sections.txt:
2644         * gst/gsturi.c: (gst_uri_has_protocol):
2645         * gst/gsturi.h:
2646            Add new API: gst_uri_has_protocol() (#333779).
2647
2648 2006-03-09  Wim Taymans  <wim@fluendo.com>
2649
2650         * gst/gstclock.c: (gst_clock_entry_new),
2651         (gst_clock_id_compare_func), (gst_clock_id_wait),
2652         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
2653         (gst_clock_init), (gst_clock_get_internal_time),
2654         (gst_clock_set_master), (do_linear_regression),
2655         (gst_clock_add_observation), (gst_clock_set_property):
2656         * gst/gstclock.h:
2657         Review docs.
2658         Small cleanups.
2659         Fix a possible segfault when the window-size is made smaller.
2660         Calculate jitter before performing the clock wait. Ideally
2661         the clock implementation should calculate jitter but we need
2662         API breakage for that.
2663
2664         * gst/gstsystemclock.c: (gst_system_clock_init):
2665         Docs review.
2666         
2667         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2668         Remove leftover else
2669
2670         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
2671         (gst_systemclock_suite):
2672         Added check to test GST_CLOCK_DIFF.
2673
2674 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
2675
2676         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
2677         (gst_type_find_helper_get_range):
2678           If we are provided with the size, we should implement
2679           GstTypeFind::get_length, so that typefind functions who
2680           want to can actually peek at the middle of a file.
2681
2682 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
2683
2684         * docs/manual/advanced-dataaccess.xml:
2685           Add some very very basic error checking.
2686
2687         * docs/pwg/appendix-checklist.xml:
2688           Some updates to the list of things to check when writing an element.
2689
2690 2006-03-08  Wim Taymans  <wim@fluendo.com>
2691
2692         * docs/design/part-element-transform.txt:
2693         Added some docs about the design of tranform elements.
2694
2695         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
2696         (gst_base_src_loop), (gst_base_src_change_state):
2697         Mark buffers with the DISCONT flag.
2698
2699 2006-03-08  Michael Smith  <msmith@fluendo.com>
2700
2701         * gst/gstregistry.h:
2702         * gst/gstregistryxml.c: (gst_registry_save),
2703         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
2704         (gst_registry_xml_save_pad_template),
2705         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
2706         (gst_registry_xml_write_cache):
2707           Rewrite registry-saving to avoid race conditions and check for
2708           failed writes.
2709
2710 2006-03-08  Wim Taymans  <wim@fluendo.com>
2711
2712         * libs/gst/base/gstbasetransform.c:
2713         (gst_base_transform_transform_caps),
2714         (gst_base_transform_transform_size),
2715         (gst_base_transform_prepare_output_buffer),
2716         (gst_base_transform_get_unit_size),
2717         (gst_base_transform_buffer_alloc),
2718         (gst_base_transform_handle_buffer),
2719         (gst_base_transform_change_state):
2720         Cleanups, separate normal flow from errors, add sensible
2721         DEBUG lines.
2722         Don't try to renegotiate when allocating an output buffer.
2723         Also copy DISCONT buffer flag when copying a buffer.
2724         Reset the transform after we finish streaming, not during.
2725
2726 2006-03-08  Wim Taymans  <wim@fluendo.com>
2727
2728         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
2729         Use last buffer timestamp in qos message.
2730
2731 2006-03-07  Wim Taymans  <wim@fluendo.com>
2732
2733         Patch by: Christophe Fergeau
2734
2735         * docs/pwg/advanced-tagging.xml:
2736         * docs/pwg/building-pads.xml:
2737           fixes #333416
2738
2739 2006-03-07  Wim Taymans  <wim@fluendo.com>
2740
2741         * docs/libs/gstreamer-libs-sections.txt:
2742         Added basesink new methods.
2743
2744         * gst/gstevent.c:
2745         * gst/gstevent.h:
2746         Docs updates. Flesh out the QoS docs.
2747
2748         * libs/gst/base/gstadapter.c:
2749         Small doc clarification about ownership and flushing.
2750
2751         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
2752         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
2753         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
2754         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2755         * libs/gst/base/gstbasesink.h:
2756         API additions: 
2757         Added new methods to allow subclass to control max-lateness 
2758         and sync.
2759         Generate very basic QoS events based on last sync observation.
2760         Updated docs, fix typo, added some QoS blurb.
2761
2762         * libs/gst/base/gstbasesrc.c:
2763         Remove obsolete _get_state() calls from docs.
2764
2765 2006-03-07  Wim Taymans  <wim@fluendo.com>
2766
2767         * docs/libs/gstreamer-libs-sections.txt:
2768         * libs/gst/base/gstbasetransform.h:
2769         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
2770         Fix docs for GstBaseSrc.
2771
2772 2006-03-07  Wim Taymans  <wim@fluendo.com>
2773
2774         * docs/gst/gstreamer-sections.txt:
2775         * gst/gstbuffer.h:
2776         * gst/gstvalue.c:
2777         * libs/gst/base/gstbasetransform.h:
2778         Small documentation fixes.
2779
2780 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2781
2782         * gst/gstvalue.c:
2783           Document thread-unsafety of gst_value_register_foo_func()
2784           when used at the same time as gst_value_foo() (#322628).
2785
2786 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
2787
2788         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
2789         (gst_push_src_check_get_range):
2790           Push sources don't support pull mode by default.
2791
2792 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2793
2794         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
2795         (gst_base_src_init), (gst_base_src_pad_check_get_range),
2796         (gst_base_src_default_check_get_range):
2797         * libs/gst/base/gstbasesrc.h:
2798           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
2799           provide default implementation, and rename
2800           gst_base_src_check_get_range() to
2801           gst_base_src_pad_check_get_range() for clarity.
2802
2803 2006-03-06  Wim Taymans  <wim@fluendo.com>
2804
2805         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
2806         Make property overridable.
2807
2808 2006-03-06  Wim Taymans  <wim@fluendo.com>
2809
2810         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
2811         (gst_base_sink_init), (gst_base_sink_set_property),
2812         (gst_base_sink_get_property), (gst_base_sink_do_sync):
2813         * libs/gst/base/gstbasesink.h:
2814         API addition: Make max-lateness a property.
2815
2816 2006-03-06  Wim Taymans  <wim@fluendo.com>
2817
2818         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
2819         (gst_base_sink_do_sync), (gst_base_sink_render_object):
2820         Don't ever draw a frame that is >10ms late.
2821
2822 2006-03-06  Michael Smith  <msmith@fluendo.com>
2823
2824         * gst/gstmessage.c: (_gst_message_copy):
2825           When copying a message, set the parent_refcount of the enclosed
2826           structure to point at the copy, not the original message.
2827
2828 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
2829
2830         Patch by: Christophe Fergeau
2831
2832         * gst/gstutils.h:
2833           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
2834           usable in c++ code (#333417)
2835
2836 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
2837
2838         * gst/gstclock.h:
2839           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
2840
2841 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
2842
2843         * libs/gst/base/gstbasetransform.c:
2844         (gst_base_transform_transform_caps):
2845           Make sure caps are writable before passing them to
2846           gst_caps_append().
2847
2848 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2849
2850         * gst/gsterror.h:
2851           Fix some minor docs errors.
2852
2853 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
2854
2855           Patch by: Ross Burton <ross at burtonini dot com>
2856
2857         * gst/gsterror.c: (_gst_resource_errors_init):
2858         * gst/gsterror.h:
2859           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
2860
2861 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2862
2863         * gst/gst.c:
2864         Add a check and output a g_warning when GStreamer is built
2865         against GLib 2.6 but running against 2.8 or higher, and vice 
2866         versa. (Closes: #323542)
2867
2868 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
2869
2870         * gst/parse/parse.l:
2871           Commit patch for parse_launch syntax from #331255. Removes 
2872           support for quoted strings and mimetypes when writing filtered 
2873           caps. See the bug report for more details - I'm pretty sure this
2874           obscure feature is not in use by _anyone_ anywhere.
2875
2876           With this simple change, the size of the gstreamer.so here 
2877           drops from 2193KB to 1565KB.
2878
2879 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2880
2881         * plugins/elements/gsttypefindelement.h:
2882         * plugins/elements/gsttypefindelement.c:
2883         (gst_type_find_element_src_event), (start_typefinding),
2884         (stop_typefinding), (gst_type_find_element_handle_event),
2885         (gst_type_find_element_chain),
2886         (gst_type_find_element_chain_do_typefinding):
2887           Use gst_type_find_helper_for_buffer() for chain-based
2888           typefinding.
2889
2890 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2891
2892         * plugins/elements/gsttypefindelement.c:
2893         (gst_type_find_element_class_init),
2894         (gst_type_find_element_set_property),
2895         (gst_type_find_element_get_property):
2896           Deprecate "maximum" property (not only was it only taken into
2897           account for typefinding in push-mode anyway, it also was never
2898           actually possible to set it in the first place because the
2899           property was registered with the numeric property ID for the
2900           "minimum" property). Register "maximum" property correctly,
2901           for the sake of future copy'n'pasters. Remove some cruft
2902           from property get/set functions.
2903
2904 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
2905
2906         * plugins/elements/gsttypefindelement.c:
2907         (gst_type_find_element_activate):
2908           Use gst_type_find_helper_get_range() here, so we
2909           can honour the "minimum" property and also emit
2910           the signal with the correct probability of the found caps.
2911
2912 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
2913
2914         * docs/libs/gstreamer-libs-sections.txt:
2915         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
2916         (helper_find_suggest), (gst_type_find_helper_get_range),
2917         (gst_type_find_helper):
2918         * libs/gst/base/gsttypefindhelper.h:
2919           New API: gst_type_find_helper_get_range() (#333042).
2920
2921 2006-03-02  Michael Smith  <msmith@fluendo.com>
2922
2923         * gst/gstregistryxml.c: (load_feature):
2924           Asserting on a failure to read part of the registry is Not Cool.
2925           Just log a warning and return NULL (which is already handled)
2926
2927 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
2928
2929         * win32/common/libgstbase.def:
2930           added export of gst_type_find_helper_for_buffer
2931         * win32/common/libgstbase.def:
2932           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
2933           gst_ghost_pad_get_target
2934
2935 2006-02-28  Wim Taymans  <wim@fluendo.com>
2936
2937         * docs/design/draft-klass.txt:
2938         We use Filter now.
2939         Added Connector to mark elements that are only used to
2940         allow pipeline connections.
2941         Moved Debug to extra feature since most of them are 
2942         functionally something else.
2943
2944 2006-02-28  Wim Taymans  <wim@fluendo.com>
2945
2946         * docs/design/draft-klass.txt:
2947         Some updates and clarifications.
2948
2949 2006-02-28  Wim Taymans  <wim@fluendo.com>
2950
2951         * docs/design/draft-klass.txt:
2952         Proposal for klass field values.
2953
2954         * docs/design/part-streams.txt:
2955         Start of a doc describing stream anatomy.
2956
2957 2006-02-28  Wim Taymans  <wim@fluendo.com>
2958
2959         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
2960         Help the compiler a bit with type registration.
2961         Use existing forward cod path instead of duplicating it when 
2962         handling a message.
2963         
2964         * gst/gstbus.c: (gst_bus_get_type):
2965         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
2966         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
2967         * gst/gstclock.c: (gst_clock_get_type):
2968         * gst/gstelement.c: (gst_element_get_type),
2969         * gst/gstelementfactory.c: (gst_element_factory_get_type):
2970         * gst/gstindexfactory.c: (gst_index_factory_get_type):
2971         * gst/gstminiobject.c: (gst_mini_object_get_type):
2972         * gst/gstpad.c: (gst_pad_get_type):
2973         * gst/gstsegment.c: (gst_segment_get_type):
2974         * gst/gststructure.c: (gst_structure_get_type):
2975         * gst/gstsystemclock.c: (gst_system_clock_get_type):
2976         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
2977         * gst/gstvalue.c:
2978         Help compiler with type registration.
2979
2980         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
2981         Small doc update.
2982
2983 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2984
2985         * plugins/elements/gsttypefindelement.c:
2986         (gst_type_find_element_handle_event):
2987           When we get an EOS event and have not found a type yet
2988           (most likely because we had not yet accumulated
2989           TYPE_FIND_MIN_SIZE of data yet), try to determine the
2990           type given the data we have so far. Fixes typefinding
2991           for very short streams again, most notably quicktime
2992           redirections as used on Apple's trailer site (#331701).
2993
2994 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
2995
2996         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
2997         (gst_type_find_helper):
2998           Try typefinding factories with the highest rank first.
2999
3000 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3001
3002         * docs/libs/gstreamer-libs-docs.sgml:
3003         * docs/libs/gstreamer-libs-sections.txt:
3004         * libs/gst/base/gsttypefindhelper.c:
3005           Add section for typefind helper and add documentation
3006           for the old and the new function.
3007
3008 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3009
3010         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
3011         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
3012         (gst_type_find_helper_for_buffer):
3013         * libs/gst/base/gsttypefindhelper.h:
3014           New API: gst_type_find_helper_for_buffer() (#332723).
3015           
3016 2006-02-27  Michael Smith  <msmith@fluendo.com>
3017
3018         Patch by: Loïc Minier
3019
3020         * configure.ac:
3021         * docs/Makefile.am:
3022         * docs/slides/Makefile.am:
3023           prevent CVS directories getting disted.
3024
3025 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
3026
3027         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
3028           Use the REFCOUNTING category for caps refcounting.
3029           
3030 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3031
3032         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
3033           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
3034
3035 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
3036
3037         * plugins/elements/gsttypefindelement.c:
3038         (gst_type_find_element_activate):
3039           Use gst_pad_check_pull_range() before _activate_pull()
3040           to avoid unnecessary open/close (see #331690).
3041
3042 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3043
3044         * gst/gstutils.c:
3045           Docs enhancement: make it crystal clear what the
3046           gst_pad_add_*_probe() callbacks should look like.
3047
3048 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
3049
3050         * libs/gst/base/gstbasesrc.c:
3051           Document how applications can stop recording from
3052           live sources (see #330996).
3053
3054 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3055
3056         * tests/check/Makefile.am:
3057         * tests/check/libs/basesrc.c: (eos_event_counter),
3058         (basesrc_eos_events_pull), (basesrc_eos_events_push),
3059         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
3060         (gst_basesrc_suite), (main):
3061           ... and add some tests for the base source EOS stuff.
3062
3063 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3064
3065         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
3066           Test case originally showed the problem fixed below,
3067           but was then amended. Add checks back at the place
3068           where they used to be.
3069
3070 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3071
3072         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
3073         (gst_base_src_init), (gst_base_src_loop),
3074         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3075         (gst_base_src_change_state):
3076         * libs/gst/base/gstbasesrc.h:
3077           Don't unconditionally send EOS when going from PAUSED to
3078           READY state, esp. make sure we don't send two EOS events
3079           in some cases (e.g. one when reaching EOS and one when
3080           going from PAUSED to READY). Also, we don't want to send
3081           EOS events when operating in pull mode. However, we do
3082           want to send an EOS event when shutting down a live
3083           source explicitly, for example (fixes #330996).
3084           
3085 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
3086
3087         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
3088           Update src->read_position after a seek when not using mmap.
3089           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
3090
3091 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
3092
3093         * gst/Makefile.am:
3094         * gst/gstparse.h:
3095         * gst/gstutils.c:
3096         * gst/gstutils.h:
3097         Make things work with --disable-parse as they do with 
3098         --disable-load-save - the symbols involved disappear, but the
3099         header is still installed and GST_DISABLE_PARSE is included via
3100         gstconfig.h
3101
3102 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3103
3104         * libs/gst/base/gstbasetransform.c:
3105         (gst_base_transform_change_state): Fix a stupid bug. I was 
3106         sure I compiled that.
3107
3108 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3109
3110         * gst/gstpad.c: (gst_pad_set_blocked_async):
3111         * gst/gstutils.c: (gst_pad_add_data_probe),
3112         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
3113         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
3114         (gst_pad_remove_buffer_probe): Make those function act on the
3115         ghostpad target when it's a ghostpad. (Closes #331727)
3116
3117 2006-02-20  Julien MOUTTE  <julien@moutte.net>
3118
3119         * libs/gst/base/gstbasetransform.c:
3120         (gst_base_transform_change_state): Make basetransform reusable.
3121         (Closes #331898)
3122
3123 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
3124
3125         * docs/random/release:
3126         Move the current documentation of how to do a release to the top
3127         of the file.
3128
3129         * gst/gstbin.c: (gst_bin_class_init),
3130         (gst_bin_handle_message_func):
3131         Allow multiple state-recalculation threads. (Closes #328873)
3132
3133 2006-02-19  Julien MOUTTE  <julien@moutte.net>
3134
3135         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
3136         * gst/gstpad.c: (gst_pad_set_event_function),
3137         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3138         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
3139         2 strings. You can't use the STR_NULL macro on that.
3140
3141 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
3142
3143         * gst/gstpad.c: (gst_pad_set_event_function),
3144         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
3145         (gst_pad_set_getcaps_function)
3146         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
3147           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
3148           So now, we can use --gst-debug-level=5 on Windows
3149         * win32/common/libgstcontroller.def:
3150           Added export of gst_controller_init
3151         * win32/vs6/libgstcontroller.dsp:
3152           Fixed Release post build configuration
3153
3154 2006-02-17  Wim Taymans  <wim@fluendo.com>
3155
3156         * tests/check/gst/gstquery.c: (GST_START_TEST):
3157         Added another check.
3158
3159 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
3160
3161         * plugins/elements/gsttypefindelement.c: (find_peek):
3162           We can do peeks at non-zero offsets, as long as they
3163           fall within the buffer we have.
3164
3165 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
3166
3167         * tests/check/Makefile.am:
3168         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
3169         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
3170         (parse_suite), (main):
3171           Add testsuite for parse launch syntax
3172
3173 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
3174
3175         * plugins/elements/gsttypefindelement.c:
3176         (gst_type_find_element_chain):
3177           When typefinding is unsuccessful in the chain function, don't
3178           error out immediately. Only error out with NO_CAPS_FOUND if
3179           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
3180           otherwise simply wait for more data so we can try typefinding
3181           again with more data later. Also, don't attempt to typefind
3182           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
3183           this should improve typefinding from network sources where the
3184           size of the first buffer can be somewhat random.
3185
3186 2006-02-14  Wim Taymans  <wim@fluendo.com>
3187
3188         * docs/gst/gstreamer-sections.txt:
3189         * gst/gstpadtemplate.c:
3190         * gst/gstpadtemplate.h:
3191         Fix padtemplate docs, fixes #328805.
3192
3193 2006-02-14  Wim Taymans  <wim@fluendo.com>
3194
3195         * tools/gst-launch.c: (main):
3196         NO_PREROLL is not an ERROR so don't send confusing messages
3197         to the user.
3198
3199 2006-02-14  Wim Taymans  <wim@fluendo.com>
3200
3201         Patch by: Torsten Schoenfeld
3202
3203         * gst/gstregistry.c: (gst_registry_get_default),
3204         (_gst_registry_cleanup):
3205         Protect default registry with lock and ref/sink it.
3206         Fixes #324818
3207
3208 2006-02-14  Wim Taymans  <wim@fluendo.com>
3209
3210         * gst/gstbuffer.c:
3211         * gst/gstquery.c: (gst_query_list_add_format),
3212         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3213         (gst_query_parse_formats_nth):
3214         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3215         Docs fixes.
3216
3217 2006-02-14  Wim Taymans  <wim@fluendo.com>
3218
3219         * docs/gst/gstreamer-sections.txt:
3220         Reworked query docs.
3221
3222         * gst/gstquery.c: (gst_query_new_formats),
3223         (gst_query_list_add_format), (gst_query_set_formats),
3224         (gst_query_set_formatsv), (gst_query_parse_formats_length),
3225         (gst_query_parse_formats_nth):
3226         * gst/gstquery.h:
3227         Flesh out formats query, added some new methods.
3228         Fix part of #324398.
3229
3230         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
3231         Added query creation tests.
3232
3233 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
3234
3235         * gst/gstpad.c: (fixate_value):
3236         Add a default fixation for fraction lists.
3237
3238 2006-02-13  Wim Taymans  <wim@fluendo.com>
3239
3240         * gst/gsttask.c: (gst_task_init), (gst_task_func),
3241         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
3242         (gst_task_join):
3243         * gst/gsttask.h:
3244         Detect and warn for obvious deadlocks. fixes #320340
3245         Fix error case where lock was not released.
3246
3247         * tests/check/Makefile.am:
3248         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
3249         (task_func), (gst_element_suite), (main):
3250         Add task check.
3251
3252 2006-02-13  Wim Taymans  <wim@fluendo.com>
3253
3254         * docs/gst/gstreamer-sections.txt:
3255         * gst/gstbus.c:
3256         Add new functions to docs.
3257
3258 2006-02-13  Wim Taymans  <wim@fluendo.com>
3259
3260         * docs/design/part-TODO.txt:
3261         Updated TODO list, basesrc supports seeking to non-bytes
3262         formats.
3263
3264         * docs/design/part-element-sink.txt:
3265         Update docs.
3266
3267         * gst/gstbin.c: (bin_replace_message),
3268         (gst_bin_handle_message_func):
3269         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
3270         * gst/gstevent.c: (gst_event_finalize):
3271         * gst/gstpad.c: (gst_pad_event_default_dispatch),
3272         (gst_pad_send_event):
3273         Use shiny new _TYPE_NAME macros.
3274
3275         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3276         Move debug statement up.
3277
3278         * gst/gstelement.c: (gst_element_set_locked_state):
3279         Add some debugging.
3280
3281 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
3282
3283         * docs/gst/gstreamer-sections.txt:
3284         * gst/gstmessage.h:
3285         * gst/gstquery.h:
3286           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
3287           macros (#330906). Also, document the already existing
3288           GST_QUERY_TYPE macro.
3289
3290 2006-02-13  Wim Taymans  <wim@fluendo.com>
3291
3292         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
3293         (event_probe), (GST_START_TEST):
3294         Only events up to the pipeline EOS are counted, there are
3295         some more when going to NULL currently which we don't care
3296         about for now.
3297
3298 2006-02-13  Wim Taymans  <wim@fluendo.com>
3299
3300         * gst/gstpad.c: (gst_pad_send_event):
3301         Correctly check flushing and emit probes. fixes #330125
3302
3303 2006-02-10  Andy Wingo  <wingo@pobox.com>
3304
3305         * gst/gstbus.c (gst_bus_class_init): Declare our private data
3306         structure.
3307         (gst_bus_init): Cache the location of the private data in the
3308         instance structure.
3309         (gst_bus_enable_sync_message_emission) 
3310         (gst_bus_disable_sync_message_emission): Implement new public
3311         functions.
3312         (gst_bus_post): Emit the sync-message signal if the user asked for
3313         it. Fixes #330684.
3314
3315         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
3316         location of the bus-private structure.
3317         (gst_bus_enable_sync_message_emission)
3318         (gst_bus_disable_sync_message_emission): API addition
3319
3320 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
3321
3322         Patch by: Vincent Torri
3323
3324         * docs/pwg/building-boiler.xml:
3325         PWG patch from #326800
3326
3327 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
3328
3329         * configure.ac:
3330         * docs/Makefile.am:
3331         * docs/design/Makefile.am:
3332           Dist design docs.
3333
3334 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3335
3336         * configure.ac:
3337           back to CVS
3338
3339 === release 0.10.3 ===
3340
3341 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
3342
3343         * configure.ac:
3344           releasing 0.10.3, "Like a virgin"
3345
3346 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
3347
3348         * configure.ac:
3349           2nd prerelease of 0.10.3
3350           Bump libtool versioning.
3351
3352 2006-02-07  Andy Wingo  <wingo@pobox.com>
3353
3354         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
3355         update last_stop if we're in TIME format and the timestamp is
3356         valid.
3357
3358         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
3359         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
3360         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
3361         If we get a new newsegment with a different format, adapt
3362         accordingly.
3363
3364         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
3365         of 0. Not a problem, really.
3366
3367         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
3368         warn if sync=true.
3369
3370 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
3371
3372         * configure.ac:
3373           Prelease of 0.10.3
3374
3375 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
3376
3377         * win32/vs7:
3378           project files updated to the default vs7 configuration
3379         * win32/common/libgstbase.def:
3380         * win32/common/libgstreamer.def:
3381           added new symbols,
3382           removed empty lines,
3383           sorted all exported symbols alphabetically
3384         * win32/common/dirent.c:
3385         * win32/common/dirent.h:
3386         * win32/common/gchar.h:
3387           use windows line end.
3388           
3389 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3390
3391         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
3392           Send EOS event when stopping.
3393
3394 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
3395
3396         * docs/README:
3397           Tell folks what to do if the plugin-foobar.xml file
3398           hasn't been generated for a newly-added plugin.
3399
3400 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3401
3402         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
3403         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
3404         (gst_collect_pads_start), (gst_collect_pads_stop),
3405         (gst_collect_pads_event): Collectpads now holds a reference
3406         to the GstPad that was added. Indeed we don't want to look
3407         at pads that might just go away with no warning...
3408
3409 2006-02-05  Julien MOUTTE  <julien@moutte.net>
3410
3411         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
3412         (gst_collect_pads_start), (gst_collect_pads_stop),
3413         (gst_collect_pads_event), (gst_collect_pads_chain):
3414         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
3415         Mark Nauwelaerts's patch on bug #328491.
3416
3417 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3418
3419         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
3420         (gst_utils_suite):
3421           Add some simple tests for gst_parse_bin_from_description() and
3422           gst_bin_find_unconnected_pad() (#329069).
3423
3424 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
3425
3426         * tools/gst-launch.c: (event_loop), (main):
3427           Catch errors during preroll (#320084).
3428
3429 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
3430
3431         * plugins/elements/gsttypefindelement.c:
3432         (gst_type_find_element_activate):
3433           Post TYPE_NOT_FOUND error message when typefinding
3434           is unsuccessful in the activate function as well.
3435
3436 2006-02-02  Wim Taymans  <wim@fluendo.com>
3437
3438         * docs/design/part-element-sink.txt:
3439         Updated doc.
3440
3441 2006-02-02  Wim Taymans  <wim@fluendo.com>
3442
3443         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
3444         (gst_base_sink_render_object),
3445         (gst_base_sink_queue_object_unlocked):
3446         Only keep track of prerollable items when we are 
3447         prerolling.
3448         Before rendering after preroll, always check if we
3449         have queued items.
3450         Added some more debugging.
3451
3452 2006-02-02  Wim Taymans  <wim@fluendo.com>
3453
3454         * gst/gstelement.c: (gst_element_continue_state),
3455         (gst_element_set_state_func), (gst_element_change_state):
3456         Fixed #326576, been running this for quite some time with
3457         no regressions at all.
3458
3459 2006-02-02  Wim Taymans  <wim@fluendo.com>
3460
3461         * common/gst.supp:
3462         Added more suppressions
3463
3464 2006-02-02  Wim Taymans  <wim@fluendo.com>
3465
3466         * docs/design/part-element-sink.txt:
3467         Updated document.
3468
3469         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3470         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
3471         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
3472         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
3473         (gst_base_sink_do_sync), (gst_base_sink_render_object),
3474         (gst_base_sink_preroll_object),
3475         (gst_base_sink_queue_object_unlocked),
3476         (gst_base_sink_queue_object), (gst_base_sink_event),
3477         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
3478         (gst_base_sink_loop), (gst_base_sink_activate_pull),
3479         (gst_base_sink_get_position), (gst_base_sink_change_state):
3480         * libs/gst/base/gstbasesink.h:
3481         Totally refactored matching the design doc.
3482         Use two segments, one to clip incomming buffers and another to
3483         perform sync.
3484         Handle queueing correctly, bypass the queue when playing.
3485         Make EOS cancelable.
3486         Handle errors correctly when operating in pull based mode.
3487
3488         * tests/check/elements/fakesink.c: (GST_START_TEST),
3489         (fakesink_suite):
3490         Added new check for sinks.
3491
3492 2006-02-02  Wim Taymans  <wim@fluendo.com>
3493
3494         * gst/gstsegment.c: (gst_segment_clip):
3495         No reason to refuse to clip when start == -1
3496
3497 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
3498
3499         * docs/README:
3500         * docs/manual/intro-basics.xml:
3501         * docs/manual/intro-preface.xml:
3502         * docs/manual/manual.xml:
3503         * docs/pwg/advanced-dparams.xml:
3504         * docs/pwg/intro-basics.xml:
3505         * docs/pwg/intro-preface.xml:
3506         * docs/pwg/pwg.xml:
3507           describe dparams (controller) for plugins
3508           unify docs a little more
3509
3510 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
3511
3512         * docs/gst/gstreamer-sections.txt:
3513         * gst/gstutils.c: (element_find_unconnected_pad),
3514         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
3515         * gst/gstutils.h:
3516           Add new API: gst_parse_bin_from_description() and
3517           gst_bin_find_unconnected_pad() (#329069).
3518
3519 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
3520
3521         * docs/manual/README:
3522           uncover a nasty detail of the docs build
3523
3524 2006-01-31  Wim Taymans  <wim@fluendo.com>
3525
3526         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
3527         Don't cache duration messages if we're not going to use or
3528         free them.
3529
3530 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
3531
3532         * docs/manual/advanced-dparams.xml:
3533         * docs/pwg/advanced-dparams.xml:
3534           more dparam docs
3535         * gst/gstindex.c:
3536           fix docs
3537         * libs/gst/controller/lib.c: (gst_controller_init):
3538           init just once
3539
3540 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
3541
3542         * gst/gstelement.c: (gst_element_message_full):
3543           also show file/line/func if no additional debug was given
3544
3545 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
3546         
3547         * win32/vs7/grammar.vcproj:
3548           activate copy of autogenerated files for Release mode
3549
3550 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3551         
3552         * win32/common/libgstreamer.def:
3553           export gst_value_compare
3554
3555 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
3556
3557         * plugins/elements/Makefile.am:
3558         * plugins/elements/gstelements.c:
3559         * plugins/elements/gstfdsink.c: (_do_init),
3560         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
3561         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
3562         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
3563         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
3564         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
3565         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
3566         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
3567         * plugins/elements/gstfdsink.h:
3568         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
3569
3570 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
3571
3572         * docs/manual/advanced-dparams.xml:
3573           describe controller
3574         * docs/manual/advanced-position.xml:
3575         * docs/manual/basics-init.xml:
3576         * docs/manual/manual.xml:
3577         * docs/manual/titlepage.xml:
3578         * docs/pwg/pwg.xml:
3579         * docs/pwg/titlepage.xml:
3580           cleanup xml (more to come)
3581         * libs/gst/controller/gstcontroller.c:
3582           fix typo
3583
3584 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
3585         
3586         * win32/vs6/grammar.dsp:
3587           add autogen of gstmarshal.c,h for Release mode
3588                 
3589 2006-01-30  Wim Taymans  <wim@fluendo.com>
3590
3591         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
3592         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
3593         (gst_base_sink_handle_object), (gst_base_sink_event),
3594         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
3595         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
3596         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
3597         (gst_base_sink_deactivate), (gst_base_sink_activate),
3598         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
3599         (gst_base_sink_query), (gst_base_sink_change_state):
3600         Basesink cleanups, remove some old code.
3601         Handle the case where a subclass can preroll in the render
3602         method (mostly audiosinks).
3603         Handle more events.
3604         Remove some locks around variables that are now protected
3605         with the PREROLL_LOCK (clock_id, flushing, ..).
3606         Optimize position query some more, do correct locking.
3607         Remove old code to push queue in state change, this is not
3608         needed anymore since preroll blocks on all prerollable items 
3609         now.
3610         Almost implemented as described in design doc.
3611
3612 2006-01-30  Wim Taymans  <wim@fluendo.com>
3613
3614         * tests/check/gst/gstbin.c: (GST_START_TEST):
3615         Wait for refcount to settle down before checking.
3616
3617 2006-01-30  Wim Taymans  <wim@fluendo.com>
3618
3619         * docs/design/part-element-sink.txt:
3620         Pseudo code overview of desired sink behaviour regarding
3621         preroll.
3622
3623 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3624         * win32/vs6/grammar.dsp:
3625           fix some bugs in Release mode for autogenerated files
3626                 
3627 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3628         * win32/common/libgstbase.def:
3629         * win32/common/libgstreamer.def:
3630           export some new symbols: gst_base_src_set_format,
3631           gst_iterator_next, gst_structure_set_valist
3632
3633 2006-01-29  Julien MOUTTE  <julien@moutte.net>
3634
3635         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
3636         Set pad functions unconditionally. Fixes #329105.
3637
3638 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
3639         * win32/vs8:
3640           add vs8 project files created by Sergey Scobich
3641
3642 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
3643
3644         * gst/gstutils.c: (gst_element_unlink_pads):
3645         Don't leak pad references.
3646
3647         * tests/check/elements/fakesink.c: (GST_START_TEST):
3648         * tests/check/generic/sinks.c: (GST_START_TEST):
3649         * tests/check/generic/states.c: (GST_START_TEST):
3650         * tests/check/gst/gstbin.c: (GST_START_TEST):
3651         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3652         * tests/check/gst/gstelement.c: (GST_START_TEST):
3653         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
3654         * tests/check/gst/gstiterator.c: (GST_START_TEST):
3655         * tests/check/gst/gstvalue.c: (GST_START_TEST):
3656         Fix a bunch of leaks. Make generic/sinks.c
3657         use a bit less cpu by slowing the buffer rate
3658         between fakesrc and fakesink.
3659         
3660 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
3661         * gst/gstcaps.c:
3662         * gst/gstelement.c: (gst_element_send_event):
3663         * gst/gstevent.c:
3664         * gst/gstinfo.c:
3665         * gst/gstiterator.c:
3666         * gst/gstiterator.h:
3667         * gst/gstpad.c: (gst_pad_send_event):
3668         * gst/gststructure.c:
3669         * gst/gsturi.c:
3670         * gst/gstutils.c:
3671         * gst/gstvalue.c:
3672         * libs/gst/base/gstadapter.c:
3673           doc fixes, to link to function, just write gst_cool_function(), don't
3674           prefix with '#'
3675
3676 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3677
3678         * plugins/elements/gsttee.c: (gst_tee_do_push),
3679         (gst_tee_handle_buffer):
3680         Always prefer an actual return value from a src
3681         pad in place of NOT_LINKED. This means we return
3682         WRONG_STATE when all src pads are WRONG_STATE
3683         instead of NOT_LINKED.
3684
3685         Lock when replacing the last message to prevent
3686         racing with the get_property method.
3687
3688         Add debug output
3689
3690 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3691
3692         * tests/check/Makefile.am:
3693         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
3694         (main):
3695         Add a very simple check that should have caught the memleak I fixed
3696         last night (if not for the slice allocator hiding it)
3697
3698 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
3699
3700         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
3701         (gst_bin_remove_func), (gst_bin_handle_message_func),
3702         (bin_query_duration_fold), (bin_query_generic_fold):
3703         Clean up references to the clock provider when disposed or when
3704         handling a clock-lost message from it.
3705
3706         Unref sinks when performing a query via gst_iterator_fold, as the
3707         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
3708
3709         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
3710         (gst_clock_set_master):
3711         Drop our reference to the master clock, if any, when we are disposed.
3712
3713         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
3714         Chain up in dispose. 
3715
3716 2006-01-26  Wim Taymans  <wim@fluendo.com>
3717
3718         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
3719         Add some debugging.
3720
3721 2006-01-26  Julien MOUTTE  <julien@moutte.net>
3722
3723         * plugins/elements/gsttee.c: (gst_tee_do_push),
3724         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
3725         handles pad being NOT_LINKED or in WRONG_STATE.
3726
3727 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3728
3729         * win32/MANIFEST:
3730           more updating
3731
3732 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3733
3734         * win32/MANIFEST:
3735           remove obsolete entry
3736
3737 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
3738
3739         * docs/gst/gstreamer-sections.txt:
3740         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
3741         (gst_bin_iterate_sources), (gst_bin_send_event):
3742         * gst/gstbin.h:
3743         * gst/gstelement.c: (gst_element_send_event):
3744         * gst/gstevent.c:
3745         * gst/gstpad.c: (gst_pad_send_event):
3746           added code for downstream events, reviewed docs in gstevent.c
3747
3748 2006-01-25  Julien MOUTTE  <julien@moutte.net>
3749
3750         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3751         We only query position using the clock in the playing state.
3752         Query peer in the other cases.
3753         * win32/common/config.h: Updates.
3754
3755 2006-01-24  Wim Taymans  <wim@fluendo.com>
3756
3757         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
3758         A clock entry that is scheduled for the exact time of the
3759         clock is still in time.
3760
3761         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3762         (gst_base_sink_do_sync):
3763         Add some more debug info.
3764
3765 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3766
3767         * win32/vs7:
3768           Add new vs7 project files and solution.
3769
3770 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
3771
3772         * win32/vs7:
3773           all files removed as they were out-dated.
3774
3775 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3776
3777         * docs/random/release:
3778           update notes
3779         * gst/gstbin.c: (gst_bin_init):
3780         * gst/gstbus.c: (gst_bus_new):
3781         * gst/gstbus.h:
3782         * gst/gstpipeline.c: (gst_pipeline_init):
3783           use gst_bus_new(), improve logging, fix docs
3784         * win32/common/config.h:
3785           update for cvs build
3786
3787 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
3788
3789         * autogen.sh:
3790           up required version of automake to 1.7
3791
3792 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
3793
3794         * win32/common/libgstreamer.def:
3795           export gst_buffer_is_metadata_writable
3796
3797 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
3798
3799         * docs/gst/gstreamer-sections.txt:
3800         * gst/gstevent.h:
3801           Add gst_event_replace() (#327001)
3802
3803 2006-01-20  Wim Taymans  <wim@fluendo.com>
3804
3805         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
3806         Make it actually compile too..
3807
3808 2006-01-20  Wim Taymans  <wim@fluendo.com>
3809
3810         * gst/gstcaps.c:
3811         Clarify behaviour of _is_equal() when passing NULL parameters.
3812
3813         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
3814         (gst_pad_set_caps):
3815         Cleanups. Don't unref NULL caps.
3816         When setting the same caps, protect caps of the pad with
3817         proper lock.
3818         Use full functionality of _is_equal() when comparing caps.
3819
3820 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3821
3822         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
3823         Don't loop infinitely if there are no buffers to present. Partially
3824         fixes #327197, but collectpads is just broken for reusing elements
3825         to do multiple encodes atm.
3826
3827 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
3828
3829         * tools/gst-inspect.c: (print_element_features):
3830         * tools/gst-xmlinspect.c: (main):
3831         URL_HANDLER is not a plugin feature we can search for in
3832         the registry.
3833
3834 2006-01-19  Edward Hervey  <edward@fluendo.com>
3835
3836         * gst/gstelement.c: (gst_element_pads_activate): 
3837         When activating, do src pads first, then sink pads.
3838         When de-activating, do sink pads first, then src pads.
3839
3840 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3841
3842         * docs/gst/gstreamer-sections.txt:
3843         Add gst_index_add_associationv to the docs
3844
3845 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3846
3847         * gst/gstevent.c:
3848           Fix docs typo
3849
3850         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
3851         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
3852           Do some refactoring. Doesn't actually change functionality,
3853           but makes landing the DRAIN event easier later.
3854
3855 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
3856
3857         * docs/pwg/advanced-scheduling.xml:
3858           Update from 0.9.x to 0.10 API and make example a bit
3859           clearer.
3860
3861 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3862
3863         * docs/gst/gstreamer-sections.txt:
3864         Add gst_buffer_(is|make)_metadata_writable methods.
3865
3866 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
3867
3868         * docs/design/part-sparsestreams.txt:
3869         Update sparse streams doc, hopefully for greater clarity
3870
3871 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
3872
3873         * docs/design/part-events.txt:
3874         Remove mention of FILLER events.
3875         Add DRAIN event.
3876
3877         * docs/design/part-sparsestreams.txt:
3878         Write some things about using NEWSEGMENT to keep sparse streams
3879         flowing.
3880
3881 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3882
3883         * gst/gstbin.c: (gst_bin_dispose):
3884           Guard gst_object_unref call against a NULL object (dispose
3885           can theoretically be called multiple times).
3886           
3887 2006-01-18  Wim Taymans  <wim@fluendo.com>
3888
3889         * gst/gstbin.c: (gst_bin_element_set_state):
3890         * gst/gstclock.c: (gst_clock_id_wait):
3891         Added some more debug info.
3892
3893         * libs/gst/base/gstadapter.c:
3894         Added more docs.
3895
3896         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3897         (gst_base_sink_do_sync), (gst_base_sink_chain):
3898         Added some comments.
3899
3900 2006-01-18  Wim Taymans  <wim@fluendo.com>
3901
3902         * tests/check/Makefile.am:
3903         * tests/check/elements/fakesink.c: (chain_async_buffer),
3904         (chain_async), (chain_async_return), (GST_START_TEST),
3905         (fakesink_suite), (main):
3906         Added fakesink test that checks prerolling and clipping
3907         behaviour.
3908
3909         * tests/check/gst/gstutils.c: (GST_START_TEST):
3910         Make check run faster so that buildbots don't timeout.
3911
3912 2006-01-18  Wim Taymans  <wim@fluendo.com>
3913
3914         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
3915         (gst_base_sink_do_sync):
3916         Some cleanups.
3917         When the sink finishes blocking on the preroll buffer, it can
3918         immediatly render it instead of rendering when the next buffer
3919         arrives.
3920
3921 2006-01-18  Wim Taymans  <wim@fluendo.com>
3922
3923         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
3924         (gst_base_sink_get_property), (gst_base_sink_do_sync),
3925         (gst_base_sink_chain):
3926         Small cleanups.
3927         GST_ELEMENT_CLOCK and sync are protected with LOCK.
3928         Don't store _last_stop if the buffer is dropped.
3929
3930 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
3931
3932         * plugins/elements/gsttypefindelement.c:
3933         (gst_type_find_element_class_init):
3934           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
3935           object method handler that sets the caps on the pad and we want
3936           that to happen before we emit the signal (fixes e.g. feeding a
3937           plain text file to decodebin).
3938
3939 2006-01-18  Christian Schaller  <Christian@fluendo.com>
3940
3941         * gst/gstplugin.c: Add MPL and Proprietary as license options
3942
3943 2006-01-18  Andy Wingo  <wingo@pobox.com>
3944
3945         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
3946         symbol was exported before, it appears this was just an oversight.
3947         Fixes #168703.
3948         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
3949
3950         * gst/gstindex.c (gst_index_add_associationv): Changed int in
3951         prototype to gint. OK since this prototype was not in the header.
3952
3953 2006-01-17  Andy Wingo  <wingo@pobox.com>
3954
3955         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
3956         registry while we remove plugins.
3957
3958         * tools/gst-inspect.c (print_element_info): Don't unref the
3959         factory arg, that should be the responsibility of whatever code
3960         received the ref. Fixes a double-free when called from
3961         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
3962         (main): Unref the factory if we have one.
3963         (print_element_list): No change -- relies on the
3964         plugin_feature_list_free to free the list of features.
3965
3966 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
3967
3968         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
3969         (gst_buffer_make_metadata_writable):
3970         * gst/gstbuffer.h:
3971         * libs/gst/base/gstbasetransform.c:
3972         (gst_base_transform_prepare_output_buf):
3973         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
3974         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
3975           Replace gst_buffer_(make|is)_metadata_writable patch now
3976           that the release is out.
3977
3978 2006-01-17  Andy Wingo  <wingo@pobox.com>
3979
3980         * gst/gstregistry.c: Reflow design comment. Update so as to speak
3981         in the present tense without reference to versions.
3982
3983         * gst/gstregistry.c (gst_registry_add_plugin)
3984         (gst_registry_remove_plugin, gst_registry_remove_feature)
3985         (gst_registry_find_feature, gst_registry_get_feature_list)
3986         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
3987         (gst_registry_lookup, gst_registry_scan_path)
3988         (_gst_registry_remove_cache_plugins)
3989         (gst_registry_get_feature_list_by_plugin): Add argument
3990         validation.
3991
3992 === release 0.10.2 ===
3993
3994 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
3995
3996         * configure.ac:
3997           releasing 0.10.2, "If man is five"
3998
3999 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4000
4001         * gst/gstbuffer.c:
4002         * gst/gstbuffer.h:
4003         * libs/gst/base/gstbasetransform.c:
4004         (gst_base_transform_prepare_output_buf):
4005         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4006         * tests/check/gst/gstbuffer.c: (gst_test_suite):
4007           Back out patch until after the release.
4008
4009 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4010
4011         * gst/gstminiobject.c:
4012           Spelling fix in docs.
4013         * ChangeLog - remove conflict indicator
4014
4015 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
4016
4017         Reviewed By: Andy Wingo
4018
4019         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
4020         (gst_buffer_make_metadata_writable):
4021         * gst/gstbuffer.h:
4022           Add gst_buffer_(is|make)_metadata_writable as analogues of
4023           gst_buffer_(is|make)_writable.
4024
4025         * libs/gst/base/gstbasetransform.c:
4026         (gst_base_transform_prepare_output_buf):
4027         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
4028           Use name gst_buffer_(is|make)_metadata_writable functions.
4029
4030         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
4031           Test gst_buffer_(is|make)_metadata_writable
4032         
4033           (Closes: #324162)
4034
4035 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
4036
4037         * docs/manual/Makefile.am:
4038           don't do parallel make
4039         * configure.ac:
4040           AC_SUBST HOST_CPU
4041         * win32/common/config.h.in:
4042           add generations for HOST_CPU and GST_MAJORMINOR
4043         * win32/common/config.h:
4044           commit generated result
4045
4046 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
4047
4048         * docs/manual/appendix-integration.xml:
4049           Update GNOME integration section to use gst_init_get_option_group()
4050           instead of the old popt stuff (#322911). Also, GNOME applications
4051           should  now use gconf*sink and gconf*src instead of the old gconf
4052           helper lib we had.
4053
4054 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
4055
4056
4057         * docs/gst/gstreamer-docs.sgml:
4058         * docs/gst/gstreamer-sections.txt:
4059         * docs/libs/gstreamer-libs-sections.txt:
4060           add new API entries to the docs
4061         * libs/gst/controller/Makefile.am:
4062         * libs/gst/controller/gstcontroller.c:
4063         * libs/gst/controller/gstcontroller.h:
4064         * libs/gst/controller/gstcontrollerprivate.h:
4065         * libs/gst/controller/gsthelper.c:
4066         * libs/gst/controller/gstinterpolation.c:
4067           move private structs to private header
4068         * po/README:
4069           gstreamer-0.7 -> gstreamer-0.10
4070         * tests/check/libs/struct_i386.h:
4071           remove private structs
4072
4073 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4074
4075         * plugins/indexers/Makefile.am:
4076           Fixes as part of #317048
4077
4078 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4079
4080         * plugins/indexers/Makefile.am:
4081           fix #316086 - compilation when mmap is missing
4082
4083 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
4084
4085         * libs/gst/base/gstbasesink.c:
4086           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
4087           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
4088         * win32/common/config.h:
4089           added some defines GST_MAJORMINOR and HOST_CPU
4090         * win32/common/libgstbase.def:
4091         * win32/common/libgstreamer.def:
4092           added some exported functions.
4093
4094 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4095
4096         * libs/gst/controller/gstcontroller.c:
4097         (gst_controlled_property_set_interpolation_mode),
4098         (gst_controlled_property_new):
4099         * libs/gst/controller/gstcontroller.h:
4100         * libs/gst/controller/gstinterpolation.c:
4101         (interpolate_none_get_string_value_array):
4102           make G_TYPE_STRING controlable
4103
4104 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
4105
4106         * tools/README:
4107         * tools/gst-feedback.1.in:
4108         * tools/gst-inspect.1.in:
4109         * tools/gst-launch.1.in:
4110         * tools/gst-md5sum.1.in:
4111         * tools/gst-typefind.1.in:
4112         * tools/gst-xmlinspect.1.in:
4113         * tools/gst-xmllaunch.1.in:
4114           cleanup man-pages, remove reference to gst-register, document env-vars
4115
4116 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
4117
4118         * gst/gstbuffer.c: (gst_buffer_span):
4119           gst_buffer_span should copy the timestamp of the first buffer
4120           if they were both originally overlapping subbuffers of the 
4121           same parent, using the same logic as the 'slow copy' case.
4122
4123 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
4124
4125         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
4126           Need to awaken ALL the pads when we pop a buffer, otherwise
4127           collectpads only works when there is 2 input streams.
4128
4129 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
4130
4131         * docs/random/ensonic/media-device-daemon.txt:
4132           more ideas (dbus)
4133         * gst/gstbuffer.c:
4134           fix doc example, add clarification
4135         * tools/gst-launch.1.in:
4136           add initial info about GST_PLUGIN_PATH, needs more work
4137
4138 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
4139
4140         * docs/manual/basics-bins.xml:
4141         * docs/manual/basics-elements.xml:
4142         * docs/manual/intro-basics.xml:
4143           Some more minor docs additions and updates.
4144
4145 2006-01-11  Wim Taymans  <wim@fluendo.com>
4146
4147         * docs/manual/basics-bins.xml:
4148         * docs/manual/basics-elements.xml:
4149         Some small fixes as pointed out by Ser-ver on IRC.
4150
4151 2006-01-10  Edward Hervey  <edward@fluendo.com>
4152
4153         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
4154         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
4155         the single-segment mode.
4156
4157 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
4158
4159         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4160
4161         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
4162         (gst_base_src_perform_seek), (gst_base_src_send_event),
4163         (gst_base_src_set_property), (gst_base_src_get_property),
4164         (gst_base_src_loop), (gst_base_src_start),
4165         (gst_base_src_activate_push):
4166         * libs/gst/base/gstbasesrc.h:
4167           Name (private) union; makes Sun's Forte compiler happy (#324900).
4168
4169 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
4170
4171         * README:
4172           gst-register is gone.
4173
4174 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
4175
4176         * gst/gstvalue.c: (_gst_value_initialize):
4177           make the G_TYPE_DATE instantiation work if debug is disabled
4178
4179 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
4180
4181         * gst/gstmessage.c: (gst_message_parse_tag),
4182         (gst_message_parse_error), (gst_message_parse_warning):
4183           Don't crash when return location for error/warning debug
4184           string is NULL; add fact that return locations can be
4185           NULL to docs where appropriate.
4186
4187 2006-01-05  Wim Taymans  <wim@fluendo.com>
4188
4189         * gst/gstplugin.c: (gst_plugin_load_file):
4190         Replace strdup by g_strdup.
4191
4192 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4193
4194         * docs/pwg/advanced-types.xml:
4195           fix doc borkage
4196
4197 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4198
4199         submitted by: Abel Cheung
4200
4201         * po/LINGUAS:
4202         * po/zh_TW.po:
4203           Added Chinese (traditional) translation
4204
4205 2006-01-04  Wim Taymans  <wim@fluendo.com>
4206
4207         * docs/manual/basics-pads.xml:
4208         * docs/plugins/Makefile.am:
4209         * docs/plugins/gstreamer-plugins-docs.sgml:
4210         * docs/plugins/gstreamer-plugins-sections.txt:
4211         * docs/pwg/advanced-clock.xml:
4212         * docs/pwg/advanced-scheduling.xml:
4213         * docs/pwg/advanced-types.xml:
4214         * plugins/elements/gstfdsink.c:
4215         * plugins/elements/gstfdsrc.c:
4216         * plugins/elements/gstfdsrc.h:
4217         * plugins/elements/gstidentity.c: (gst_identity_class_init):
4218         * plugins/elements/gstidentity.h:
4219         * plugins/elements/gstqueue.h:
4220         * plugins/elements/gsttee.c:
4221         * plugins/elements/gsttee.h:
4222         * plugins/elements/gsttypefindelement.c:
4223         (gst_type_find_element_class_init):
4224         * plugins/elements/gsttypefindelement.h:
4225         Small updates to various docs.
4226         Added core plugins to docs.
4227
4228 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4229
4230         * common/gst.supp:
4231           add a suppression for liboil's uninitialized variable
4232
4233 2006-01-02  James Livingston  <jrl at ids dot org dot au>
4234
4235         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
4236
4237         * gst/gstutils.h:
4238           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
4239           macro, so that gcc doesn't complain if the -Wmissing-prototypes
4240           compiler switch is being used (#325429).
4241
4242 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
4243
4244         * gst/gstbin.c: (gst_bin_query):
4245           Disable duration query caching in bins until it gets
4246           fixed (see #324807).
4247
4248 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4249
4250         * tools/gst-inspect.c: (print_element_properties_info):
4251           Handle properties of POINTER and BOXED type.
4252
4253 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
4254
4255         * gst/gst.c: (init_post):
4256           Init tags stuff and some other things before loading
4257           any static plugins (there may be other static plugins
4258           than just the GStreamer ones, and they may want to
4259           register their own tags or formats or whatever, and
4260           preferably without segfaulting).
4261
4262         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
4263           Print at least a warning in the debug logs if we drop a
4264           query just because we don't know how to adjust the value
4265           in the particular format.
4266
4267 2005-12-24  David Schleef  <ds@schleef.org>
4268
4269         * tools/gstreamer-completion:
4270           Replacement for gst-complete written in sh and sed.  Only
4271           completes names of features, but that's 90% of what I want
4272           it for.  Properties are not available in registry.xml.  (Maybe
4273           they should be...)
4274
4275 === release 0.10.1 ===
4276
4277 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
4278
4279         * configure.ac:
4280           releasing 0.10.1, "Nollaig chridheil"
4281
4282 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
4283
4284         * docs/faq/cvs.xml:
4285           Add missing quote, should be make ERROR_CFLAGS="".
4286
4287 2005-12-20  Wim Taymans  <wim@fluendo.com>
4288
4289         * docs/design/part-trickmodes.txt:
4290         More documentation on trickmodes.
4291
4292 2005-12-20  Edward Hervey  <edward@fluendo.com>
4293
4294         * gst/gstcaps.c: (gst_static_caps_get_type):
4295         * gst/gstcaps.h:
4296           API addition: GST_TYPE_STATIC_CAPS
4297         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
4298         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
4299         * gst/gstpadtemplate.h:
4300           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
4301         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
4302         bindings.
4303
4304 2005-12-18  Wim Taymans  <wim@fluendo.com>
4305
4306         * libs/gst/base/gstadapter.c:
4307         * libs/gst/base/gstadapter.h:
4308         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
4309         (gst_base_sink_get_position):
4310         * libs/gst/base/gstbasesink.h:
4311         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4312         (gst_base_src_default_query), (gst_base_src_default_do_seek),
4313         (gst_base_src_do_seek), (gst_base_src_perform_seek),
4314         (gst_base_src_send_event), (gst_base_src_update_length),
4315         (gst_base_src_get_range), (gst_base_src_loop),
4316         (gst_base_src_start):
4317         * libs/gst/base/gstbasesrc.h:
4318         * libs/gst/base/gstbasetransform.h:
4319         * libs/gst/base/gstcollectpads.h:
4320         * libs/gst/base/gstpushsrc.c:
4321         * libs/gst/base/gstpushsrc.h:
4322         * libs/gst/dataprotocol/dataprotocol.c:
4323         * libs/gst/dataprotocol/dataprotocol.h:
4324         * libs/gst/net/gstnetclientclock.h:
4325         * libs/gst/net/gstnettimeprovider.h:
4326         Documentation updates.
4327
4328 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
4329
4330         * docs/manual/basics-helloworld.xml:
4331           Remove superfluous closing bracket in helloworld example.
4332
4333 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
4334
4335         * tools/gst-launch.1.in:
4336           Update gst-launch man page; add a section with useful
4337           environment variables. Fixes #323882.
4338
4339 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
4340
4341         * gst/gst.c:
4342         * gst/gst_private.h:
4343           change some char* into char[]
4344
4345 2005-12-16  Wim Taymans  <wim@fluendo.com>
4346
4347         * gst/gstregistryxml.c: (load_feature):
4348         Cleanups.
4349         Don't use g_object_unref on GstObjects so that we avoid
4350         leaks on unsafe glibs.
4351
4352 2005-12-16  Wim Taymans  <wim@fluendo.com>
4353
4354         * gst/gstbin.c: (gst_bin_recalc_state):
4355         Small doc updates.
4356
4357 2005-12-16  Wim Taymans  <wim@fluendo.com>
4358
4359         * common/check.mak:
4360         Added make forever target for check.
4361
4362 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
4363
4364         * gst/gst.c: (init_post):
4365           make the registry cache file HOST_CPU-dependent
4366
4367 2005-12-16  Andy Wingo  <wingo@pobox.com>
4368
4369         * plugins/elements/gstbufferstore.c
4370         (gst_buffer_store_cleared_func): Pay attention to g_list_append
4371         return value.
4372
4373         * tests/check/gst/gstobject.c
4374         (test_fake_object_name_threaded_unique): Pay attention to
4375         g_list_sort return value.
4376
4377 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
4378
4379         * tools/gst-feedback-m.m:
4380           Update for 0.9/0.10 (fixes #323870).
4381
4382 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
4383
4384         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
4385           Fix lcopy for mini objects, the mini object needs to be ref'ed.
4386           
4387         * tests/check/gst/gstminiobject.c: (my_foo_init),
4388         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
4389         (test_value_collection), (gst_mini_object_suite):
4390           Add test to ensure refcounts end up as expected when passing
4391           GstMiniObjects through g_object_get() and g_object_set().
4392
4393 2005-12-14  Julien MOUTTE  <julien@moutte.net>
4394
4395         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
4396         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
4397         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
4398         of collectpads. This version removes a lot of races without
4399         touching API/ABI. Yay !
4400
4401 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
4402
4403         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
4404           Don't allow activation of a srcpad in pull_range if it has no
4405           getrange function.
4406           Change some debug statements to be a little clearer
4407
4408         * plugins/elements/gsttypefindelement.c:
4409         (gst_type_find_handle_src_query):
4410           Check that we have a peer before executing queries thereupon.
4411
4412         * tests/examples/metadata/read-metadata.c: (message_loop):
4413           Use gst_bus_pop instead of gst_bus_poll when we just want it to
4414           immediately return us any available message with 0 timeout.
4415
4416 2005-12-12  Michael Smith  <msmith@fluendo.com>
4417
4418         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
4419           Don't unref factories after calling them.
4420         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
4421         * plugins/elements/gsttypefindelement.c:
4422         (gst_type_find_element_chain):
4423           Free lists of factories after using them. Fixing typefinding memory
4424           leaks.
4425
4426 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4427
4428         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
4429         (gst_plugin_feature_load):
4430           more meaningful debug output
4431         * configure.ac:
4432         * tests/Makefile.am:
4433         * tests/old/examples/Makefile.am:
4434           make make distcheck happy again
4435
4436 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4437
4438         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
4439           Catch the special case where we are operating chain-based,
4440           but the downstream peer pad has no chain function. Emit a
4441           custom error message in this case instead of letting the
4442           core generate one implying that this is some sort of core
4443           bug. It's not, it just means that whatever got plugged
4444           into the pipeline downstream when we announced the type
4445           can only operate pull-based, while our source can only
4446           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
4447           Error string has not been marked for translation yet, as
4448           it probably needs some more work first.
4449
4450         (gst_type_find_element_get_best_possibility):
4451           Add helper function to find the best of all available
4452           found possibilities that qualify given the min. threshold.
4453
4454         (gst_type_find_element_handle_event):
4455           Fix the case where we get an EOS while still in TYPEFIND
4456           mode (we want to chose the best of all possible types,
4457           not just the first type that happens to be in our unsorted
4458           list of possible types).
4459
4460         (gst_type_find_element_chain):
4461           Make sure we return GST_FLOW_ERROR when we errored out
4462           in stop_typefinding(); also, don't just find the best of
4463           all found type entries and then use the last examined
4464           type entry, but actually use the best entry.
4465
4466 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
4467
4468         * tests/examples/typefind/typefind.c: (type_found):
4469         * tests/examples/xml/runxml.c: (xml_loaded):
4470           More gcc4 fixes and a mem leak fix.
4471
4472 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4473
4474         * tests/examples/xml/createxml.c: (object_saved):
4475           gcc 4 fixes
4476
4477 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4478
4479         * tests/Makefile.am:
4480           enable the examples even more
4481
4482 2005-12-12  Andy Wingo  <wingo@pobox.com>
4483
4484         * libs/gst/net/gstnettimeprovider.c
4485         (gst_net_time_provider_class_init, gst_net_time_provider_init)
4486         (gst_net_time_provider_set_property)
4487         (gst_net_time_provider_get_property):
4488         API addition: Export "active" as a GObject property.
4489         (gst_net_time_provider_thread): Only respond to time queries if
4490         the time provider is active.
4491
4492         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
4493         NetTimeProvider, preserving binary compat.
4494
4495 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4496
4497         * tests/examples/controller/audio-example.c: (main):
4498         * tests/examples/launch/Makefile.am:
4499           convert comments again
4500
4501 2005-12-12  Wim Taymans  <wim@fluendo.com>
4502
4503         * libs/gst/base/gstpushsrc.c:
4504         Fix typo.
4505
4506 2005-12-12  Wim Taymans  <wim@fluendo.com>
4507
4508         * docs/libs/gstreamer-libs-sections.txt:
4509         Added new symbol to docs.
4510
4511         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4512         (gst_base_src_init), (gst_base_src_set_format),
4513         (gst_base_src_default_query), (gst_base_src_query),
4514         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
4515         (gst_base_src_perform_seek), (gst_base_src_send_event),
4516         (gst_base_src_default_event), (gst_base_src_event_handler),
4517         (gst_base_src_set_property), (gst_base_src_get_property),
4518         (gst_base_src_wait), (gst_base_src_do_sync),
4519         (gst_base_src_update_length), (gst_base_src_get_range),
4520         (gst_base_src_check_get_range), (gst_base_src_loop),
4521         (gst_base_src_default_negotiate), (gst_base_src_start),
4522         (gst_base_src_activate_push), (gst_base_src_activate_pull),
4523         (gst_base_src_change_state):
4524         * libs/gst/base/gstbasesrc.h:
4525         Implement seeking to other formats than _BYTES.
4526         Implement more seeking methods correctly.
4527         Doc updates.
4528         Added query vmethod.
4529         Added do_seek vmethod to make life easier for subclasses
4530         when seeking.
4531         API addition: gst_base_src_set_format()
4532
4533 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4534
4535         * tests/examples/Makefile.am:
4536           added that too
4537
4538 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
4539
4540         * configure.ac:
4541         * docs/random/ensonic/media-device-daemon.txt:
4542         * tests/examples/controller/.cvsignore:
4543         * tests/examples/controller/Makefile.am:
4544         * tests/examples/controller/audio-example.c: (main):
4545         * tests/examples/helloworld/.cvsignore:
4546         * tests/examples/helloworld/Makefile.am:
4547         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
4548         * tests/examples/launch/.cvsignore:
4549         * tests/examples/launch/Makefile.am:
4550         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
4551         * tests/examples/metadata/.cvsignore:
4552         * tests/examples/metadata/Makefile.am:
4553         * tests/examples/metadata/read-metadata.c: (message_loop),
4554         (make_pipeline), (print_tag), (main):
4555         * tests/examples/queue/.cvsignore:
4556         * tests/examples/queue/Makefile.am:
4557         * tests/examples/queue/queue.c: (event_loop), (main):
4558         * tests/examples/typefind/.cvsignore:
4559         * tests/examples/typefind/Makefile.am:
4560         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
4561         (main):
4562         * tests/examples/xml/.cvsignore:
4563         * tests/examples/xml/Makefile.am:
4564         * tests/examples/xml/createxml.c: (object_saved), (main):
4565         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
4566         * tests/old/examples/Makefile.am:
4567         * tests/old/examples/TODO:
4568         * tests/old/examples/controller/.cvsignore:
4569         * tests/old/examples/controller/Makefile.am:
4570         * tests/old/examples/controller/audio-example.c:
4571         * tests/old/examples/helloworld/.cvsignore:
4572         * tests/old/examples/helloworld/Makefile.am:
4573         * tests/old/examples/helloworld/helloworld.c:
4574         * tests/old/examples/launch/.cvsignore:
4575         * tests/old/examples/launch/Makefile.am:
4576         * tests/old/examples/launch/mp3parselaunch.c:
4577         * tests/old/examples/launch/mp3play:
4578         * tests/old/examples/manual/Makefile.am:
4579         * tests/old/examples/metadata/Makefile.am:
4580         * tests/old/examples/metadata/read-metadata.c:
4581         * tests/old/examples/queue/.cvsignore:
4582         * tests/old/examples/queue/Makefile.am:
4583         * tests/old/examples/queue/queue.c:
4584         * tests/old/examples/typefind/.cvsignore:
4585         * tests/old/examples/typefind/Makefile.am:
4586         * tests/old/examples/typefind/typefind.c:
4587         * tests/old/examples/xml/.cvsignore:
4588         * tests/old/examples/xml/Makefile.am:
4589         * tests/old/examples/xml/createxml.c:
4590         * tests/old/examples/xml/runxml.c:
4591           applied some simple fixing to some examples
4592           re-enabled the working examples
4593
4594 2005-12-12  Wim Taymans  <wim@fluendo.com>
4595
4596         * gst/gstsegment.c: (gst_segment_init),
4597         (gst_segment_set_last_stop), (gst_segment_set_seek),
4598         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
4599         (gst_segment_to_running_time):
4600         Added more documentation.
4601         Make sure the last_pos value is updated properly.
4602         Make sure to_stream_time and to_running_time don't
4603         operate on wrong values.
4604
4605         * tests/check/gst/gstsegment.c: (GST_START_TEST):
4606         Update check.
4607
4608 2005-12-12  Michael Smith  <msmith@fluendo.com>
4609
4610         * plugins/elements/gsttypefindelement.c: (free_entry),
4611         (gst_type_find_element_chain):
4612           Now that we're not leaking factories, make sure we keep references
4613           to them while we need them.
4614
4615 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4616
4617         * tests/check/gst/struct_i386.h:
4618           ifdef out the XML structs
4619
4620 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
4621
4622         * gst/gstvalue.c: (gst_value_transform_double_fraction):
4623           floor is not needed, F is always positive; this obviates the
4624           need for adding -lm when building without libxml
4625
4626 2005-12-12  Wim Taymans  <wim@fluendo.com>
4627
4628         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4629         Take current playback rate into account when reporting
4630         the position.
4631
4632 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4633
4634         * docs/manual/mime-world.fig:
4635           Let's try this again, this time with a file that is
4636           actually in XFig format.
4637
4638 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4639
4640         * docs/manual/mime-world.fig:
4641           Add audioconvert element to diagram so that it
4642           matches the text and the code (fixes #319526).
4643
4644 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4645
4646         * docs/pwg/building-chainfn.xml:
4647         * docs/pwg/building-pads.xml:
4648         * docs/pwg/building-state.xml:
4649         * docs/pwg/other-source.xml:
4650           Update state change stuff for 0.10 (fixes #322969).
4651
4652 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4653
4654         * docs/manual/advanced-dataaccess.xml:
4655         * docs/manual/appendix-checklist.xml:
4656         * docs/manual/appendix-programs.xml:
4657         * docs/manual/basics-pads.xml:
4658         * docs/manual/highlevel-components.xml:
4659         * docs/manual/manual.xml:
4660           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
4661           add converters in front of pipelines; remove curly
4662           brackets for threads stuff, they no longer exist; use
4663           GST_TYPE_FRACTION for framerates; update some pieces of
4664           code to 0.10, but there's plenty more to do.
4665
4666         * docs/manual/appendix-porting.xml:
4667           Expand on asynchroneous state changes; s/0.9/0.10/;
4668           mention disappearance of gst_init_get_popt_table()
4669           (fixes #322916).
4670
4671 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
4672
4673         * docs/faq/using.xml:
4674           Spider no longer exists, and neither does gst-launch-ext.
4675           Update examples to use decodebin and playbin and put
4676           converters in front of sinks (fixes #323726).
4677
4678 2005-12-09  Michael Smith  <msmith@fluendo.com>
4679
4680         * plugins/elements/gsttypefindelement.c: (find_peek),
4681         (gst_type_find_element_chain):
4682           Fix leaking element factories in typefinding.
4683           Fix problem where we forgot about a probable type on non-seekable
4684           files, and thus later mis-typefound it.
4685
4686 2005-12-09  Michael Smith  <msmith@fluendo.com>
4687
4688         * common/m4/gst-makecontext.m4:
4689         * common/m4/gst-mcsc.m4:
4690         * configure.ac:
4691         * win32/common/config.h:
4692         * win32/common/config.h.in:
4693           Remove makecontext stuff; not used in 0.10 and causes problems on
4694           HPUX according to bug #322441
4695
4696 2005-12-07  Wim Taymans  <wim@fluendo.com>
4697
4698         * tests/check/Makefile.am:
4699         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
4700         (main):
4701         * tests/check/libs/struct_i386.h:
4702         Added ABI check for libs
4703
4704 2005-12-07  Wim Taymans  <wim@fluendo.com>
4705
4706         * tests/check/Makefile.am:
4707         And add the struct_i386.h to dist.
4708
4709 2005-12-07  Wim Taymans  <wim@fluendo.com>
4710
4711         * tests/check/Makefile.am:
4712         * tests/check/gst/.cvsignore:
4713         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
4714         (main):
4715         * tests/check/gst/struct_i386.h:
4716         Added check for ABI compatibility.
4717
4718 2005-12-07  Wim Taymans  <wim@fluendo.com>
4719
4720         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4721         (gst_fake_src_get_times), (gst_fake_src_create):
4722         Fix broken sync option, fixes #323259
4723
4724 2005-12-07  Wim Taymans  <wim@fluendo.com>
4725
4726         * gst/gstbuffer.c:
4727         Small docs update.
4728
4729         * gst/gstcaps.c: (gst_caps_is_equal):
4730         Don't assert on NULL <--> X. Fixes #323260
4731
4732         * gst/gstminiobject.c: (gst_mini_object_replace):
4733         If we're doing atomic operations, we might just as well use
4734         the proper way to get an atomic pointer.
4735
4736         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
4737         Clean up debugging.
4738
4739 2005-12-07  Michael Smith  <msmith@fluendo.com>
4740
4741         * gst/parse/grammar.y:
4742           Remove handling of { } for threads.
4743
4744 2005-12-06  David Schleef  <ds@schleef.org>
4745
4746         * libs/gst/base/gstbasetransform.c: speling fix.
4747
4748 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
4749
4750         * docs/libs/tmpl/gstdataprotocol.sgml:
4751         * docs/random/omega/testing/gstobject.c:
4752         * gst/gst.c:
4753         * gst/gstclock.c:
4754         * gst/gstelement.c:
4755         * gst/gstelementfactory.c:
4756         * gst/gsterror.c:
4757         * gst/gstevent.c:
4758         * gst/gstghostpad.c:
4759         * gst/gstinfo.c:
4760         * gst/gstpadtemplate.c:
4761         * gst/gstregistryxml.c:
4762         * gst/gsttaglist.c:
4763         * gst/gsttagsetter.c:
4764         * gst/gsttypefind.c:
4765         * gst/gstvalue.c:
4766         * libs/gst/base/gstbasesrc.c:
4767         * libs/gst/net/gstnetclientclock.c:
4768         * libs/gst/net/gstnettimeprovider.c:
4769         * plugins/elements/gstfakesrc.c:
4770         * plugins/elements/gstfdsrc.c:
4771         * plugins/elements/gstfilesrc.c:
4772         * plugins/elements/gstidentity.c:
4773         * plugins/elements/gstqueue.c:
4774         * plugins/elements/gsttypefindelement.c:
4775         * plugins/indexers/gstfileindex.c:
4776         * plugins/indexers/gstmemindex.c:
4777         * tests/check/gst/gsttag.c:
4778         * tests/old/examples/cutter/cutter.c:
4779         * tests/old/examples/mixer/mixer.c:
4780         * tests/old/examples/xml/runxml.c: (main):
4781         * tests/old/testsuite/caps/normalisation.c:
4782         * tests/old/testsuite/debug/global.c:
4783         * tests/old/testsuite/parse/parse1.c:
4784         * tools/gst-xmlinspect.c:
4785         * win32/common/dirent.c:
4786           expand tabs
4787
4788 === release 0.10.0 ===
4789
4790 2005-12-05   <thomas (at) apestaart (dot) org>
4791
4792         * configure.ac:
4793           releasing 0.10.0, "Maroilles"
4794
4795 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4796
4797         submitted by: Funda Wang <fundawang@linux.net.cn>
4798
4799         * po/LINGUAS:
4800         * po/zh_CN.po:
4801           added Chinese (Traditional) translation
4802
4803 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4804
4805         * docs/gst/gstreamer-sections.txt:
4806         * docs/libs/tmpl/gstdataprotocol.sgml:
4807         * docs/random/thomasvs/TODO:
4808         * gst/gstutils.c:
4809         * gst/gstutils.h:
4810           fix docs
4811
4812 2005-12-05  Andy Wingo  <wingo@pobox.com>
4813
4814         patch by: Wim Taymans <wim@fluendo.com>
4815
4816         * libs/gst/base/gstbasetransform.c
4817         (gst_base_transform_prepare_output_buf)
4818         (gst_base_transform_buffer_alloc):
4819         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
4820         alloc_buffer_and_set_caps.
4821
4822         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
4823         set_caps on the source pad.
4824         (gst_pad_alloc_buffer_and_set_caps): New function, does what
4825         alloc_buffer used to do. Fixes #322874.
4826
4827         * docs/gst/gstreamer-sections.txt: 
4828         * docs/design/part-negotiation.txt: 
4829         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
4830         changes.
4831
4832 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
4833
4834         patch by: Sebastien Moutte
4835
4836         * win32/MANIFEST:
4837         * win32/common/config.h.in:
4838         * win32/vs6/libgstcontroller.dsp:
4839           win32 build fixes
4840
4841 2005-12-05  Wim Taymans  <wim@fluendo.com>
4842
4843         * gst/gstcaps.c: (gst_caps_is_equal):
4844         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4845         (gst_fake_src_create):
4846         Back out previous code changes, leave doc updates, file bugs 
4847         instead. 
4848
4849 2005-12-05  Wim Taymans  <wim@fluendo.com>
4850
4851         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
4852         (gst_fake_src_get_times), (gst_fake_src_create):
4853         * plugins/elements/gstfakesrc.h:
4854         Fix broken sync code.
4855
4856 2005-12-05  Wim Taymans  <wim@fluendo.com>
4857
4858         * gst/gstcaps.c: (gst_caps_is_equal):
4859         Comparing NULL against !NULL yields different caps, not a
4860         failure.
4861
4862 2005-12-05  Wim Taymans  <wim@fluendo.com>
4863
4864         * gst/gstpipeline.c:
4865         Fix small typo in docs.
4866
4867 2005-12-05  Andy Wingo  <wingo@pobox.com>
4868
4869         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
4870
4871         * gst/gst.c (init_post): remove hard-coded 0.9 location for
4872         registries/plugins with a MAJORMINOR one.
4873         (plugin_desc): Rename library from gstcoreleements to
4874         staticelements. Fixes #323222.
4875
4876 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
4877
4878         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
4879           Change debug category to 'collectpads' from 'collect_pads'
4880           (fixes #323250).
4881
4882 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4883
4884         patch by: Sebastien Moutte
4885
4886         * libs/gst/controller/gstinterpolation.c:
4887           use convert function for uint64/double
4888         * win32/vs6/libgstcontroller.dsp:
4889           link to GLib
4890
4891 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
4892
4893         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
4894         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
4895         * gst/gstutils.h:
4896         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4897           add tests that seem to show that the guint64/gdouble conversions
4898           are correct.
4899
4900 2005-12-02  Wim Taymans  <wim@fluendo.com>
4901
4902         * gst/gstregistry.c: (gst_registry_add_path):
4903         * gst/gstregistry.h:
4904         * gst/gstregistryxml.c:
4905         Fix docs again.
4906
4907 2005-12-02  Wim Taymans  <wim@fluendo.com>
4908
4909         * gst/gstutils.c: (gst_util_uint64_scale_int64),
4910         (gst_util_uint64_scale_int):
4911         Small cleanup.
4912
4913         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
4914         Add debug log line.
4915
4916         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
4917         Add FIXME.
4918
4919 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4920
4921         * win32/MANIFEST:
4922         * win32/common/config.h:
4923         * win32/vs6/gstreamer.dsw:
4924         * win32/vs6/libgstcoreelements.dsp:
4925         * win32/vs6/libgstelements.dsp:
4926           renamed core elements plugin
4927
4928 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
4929
4930         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
4931         (get_candidates):
4932           do piece-wise major/minor comparison so 0.9 < 0.10
4933           also allow .exe extensions for tools
4934
4935 2005-12-02  Michael Smith  <msmith@fluendo.com>
4936
4937         * gst/gst.c:
4938           Escape a % to make gtkdoc happier; bug 322958.
4939
4940 === release 0.9.7 ===
4941
4942 2005-12-01   <thomas (at) apestaart (dot) org>
4943
4944         * configure.ac:
4945           releasing 0.9.7, "My Dog Has No Nose"
4946
4947 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4948
4949         * common/gst-xmlinspect.py:
4950         * configure.ac:
4951         * docs/libs/tmpl/gstdataprotocol.sgml:
4952         * docs/random/release:
4953         * po/af.po:
4954         * po/az.po:
4955         * po/bg.po:
4956         * po/ca.po:
4957         * po/cs.po:
4958         * po/de.po:
4959         * po/en_GB.po:
4960         * po/fr.po:
4961         * po/it.po:
4962         * po/nb.po:
4963         * po/nl.po:
4964         * po/ru.po:
4965         * po/sq.po:
4966         * po/sr.po:
4967         * po/sv.po:
4968         * po/tr.po:
4969         * po/uk.po:
4970         * po/vi.po:
4971         * win32/common/config.h:
4972         * win32/common/config.h.in:
4973         * win32/vs6/gst_inspect.dsp:
4974         * win32/vs6/gst_launch.dsp:
4975         * win32/vs6/libgstbase.dsp:
4976         * win32/vs6/libgstelements.dsp:
4977         * win32/vs6/libgstreamer.dsp:
4978         * win32/vs7/GStreamer.vcproj:
4979         * win32/vs7/gst-inspect.vcproj:
4980         * win32/vs7/gst-launch.vcproj:
4981         * win32/vs7/libgstbase.vcproj:
4982           bump GST_MAJORMINOR to 0.10
4983           reset libtool version
4984
4985 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4986
4987         * po/LINGUAS:
4988         * po/bg.po:
4989           Added Bulgarian translation by (Alexander Shopov)
4990
4991 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4992
4993         * tests/check/gst/gstplugin.c:
4994           fix test
4995
4996 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
4997
4998         * common/gst-xmlinspect.py:
4999         * common/gtk-doc-plugins.mak:
5000         * configure.ac:
5001         * docs/Makefile.am:
5002         * docs/gst/Makefile.am:
5003         * docs/gst/gstreamer-docs.sgml:
5004         * docs/gst/gstreamer-sections.txt:
5005         * docs/gst/gstreamer.types:
5006         * docs/gst/gstreamer.types.in:
5007         * docs/plugins/Makefile.am:
5008         * docs/plugins/gstreamer-plugins-docs.sgml:
5009         * docs/plugins/gstreamer-plugins-sections.txt:
5010         * docs/plugins/gstreamer-plugins.types:
5011         * docs/plugins/inspect.stamp:
5012         * docs/plugins/inspect/plugin-coreelements.xml:
5013         * docs/plugins/inspect/plugin-coreindexers.xml:
5014         * docs/plugins/scanobj-build.stamp:
5015         * gstreamer.spec.in:
5016         * plugins/elements/Makefile.am:
5017         * plugins/elements/gstelements.c:
5018         * plugins/elements/gstfakesink.c:
5019         * plugins/elements/gstfakesrc.c:
5020         * plugins/elements/gstfilesink.c:
5021         * plugins/elements/gstfilesrc.c:
5022         * plugins/elements/gstqueue.c:
5023         * plugins/indexers/Makefile.am:
5024         * plugins/indexers/gstindexers.c:
5025           document core plugins in a separate document just like all the
5026           others
5027           rename these plugins to something starting with core
5028
5029 2005-12-01  Andy Wingo  <wingo@pobox.com>
5030
5031         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
5032         padding here before, but it missed the commit.
5033
5034 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5035
5036         * libs/gst/controller/gstinterpolation.c:
5037           whitespace prices have crashed, we should feel free to use some now
5038           use gst_guint64_to_gdouble
5039
5040 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5041
5042         * libs/gst/controller/gstcontroller.c:
5043         * libs/gst/controller/gsthelper.c:
5044         * libs/gst/controller/gstinterpolation.c:
5045         * libs/gst/controller/lib.c:
5046           wrap config.h include
5047
5048 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5049
5050         * docs/gst/gstreamer-sections.txt:
5051           update docs
5052
5053 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5054
5055         * plugins/elements/gstelements.c:
5056         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
5057         (gst_fd_sink__class_init), (gst_fd_sink__init),
5058         (gst_fd_sink__chain), (gst_fd_sink__set_property),
5059         (gst_fd_sink__get_property):
5060         * plugins/elements/gstfdsink.h:
5061         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
5062         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
5063         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
5064         (gst_fd_src_unlock), (gst_fd_src_set_property),
5065         (gst_fd_src_get_property), (gst_fd_src_create),
5066         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
5067         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
5068         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
5069         (gst_fd_src_uri_handler_init):
5070         * plugins/elements/gstfdsrc.h:
5071         * plugins/elements/gstqueue.c: (gst_queue_get_type):
5072           more anal cleanup
5073
5074 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5075
5076         * docs/gst/Makefile.am:
5077         * docs/gst/gstreamer.types.in:
5078         * gst/Makefile.am:
5079           fix the docs build
5080
5081 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5082
5083         * configure.ac:
5084         * gst/Makefile.am:
5085         * gst/gst.c:
5086         * gst/gstplugin.h:
5087         * gst/gstregistry.h:
5088         * tests/benchmarks/complexity.c:
5089         * tests/benchmarks/mass-elements.c:
5090         * tests/check/Makefile.am:
5091         * tools/Makefile.am:
5092         * tools/gst-inspect.c:
5093         * tools/gst-xmlinspect.c:
5094           various fixes to make
5095           --disable-nls --disable-registry --disable-loadsave
5096           --disable-parse --disable-gst-debug
5097           work and get the core .so down to 360444 bytes after stripping
5098
5099 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5100
5101         * Makefile.am:
5102         * configure.ac:
5103           descend into tests
5104         * docs/random/thomasvs/TODO:
5105         * tests/Makefile.am:
5106         * tests/README:
5107           add a README
5108
5109 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5110
5111         * win32/GStreamer.vcproj:
5112         * win32/MANIFEST:
5113         * win32/Makefile:
5114         * win32/Makefile.inspect:
5115         * win32/Makefile.launch:
5116         * win32/Makefile.register:
5117         * win32/README.txt:
5118         * win32/gst-inspect.vcproj:
5119         * win32/gst-launch.vcproj:
5120         * win32/gst-register.vcproj:
5121         * win32/gstelements.vcproj:
5122         * win32/gstgetbits.def:
5123         * win32/gstgetbits.vcproj:
5124         * win32/gstreamer-dbg.def:
5125         * win32/gstreamer.def:
5126         * win32/libgstbase.def:
5127         * win32/libgstbase.vcproj:
5128         * win32/link_oldruntime.c:
5129         * win32/mman.c:
5130         * win32/mman.h:
5131         * win32/mman.inl:
5132         * win32/msvc71.sln:
5133           move even more stuff, win32/ is nice and clean now
5134
5135 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5136
5137         * libs/gst/control/.cvsignore:
5138         * win32/MANIFEST:
5139         * win32/config.h:
5140         * win32/dirent.c:
5141         * win32/dirent.h:
5142         * win32/gstbytestream.def:
5143         * win32/gstbytestream.vcproj:
5144         * win32/gstconfig.h:
5145         * win32/gstenumtypes.c:
5146         * win32/gstenumtypes.h:
5147         * win32/gstoptimalscheduler.vcproj:
5148         * win32/gstversion.h:
5149         * win32/gtchar.h:
5150         * win32/testsuite/bins.vcproj:
5151         * win32/testsuite/bytestream.vcproj:
5152         * win32/testsuite/caps.vcproj:
5153         * win32/testsuite/cleanup.vcproj:
5154         * win32/testsuite/clock.vcproj:
5155         * win32/testsuite/debug.vcproj:
5156         * win32/testsuite/dlopen.vcproj:
5157         * win32/testsuite/dynparams.vcproj:
5158         * win32/testsuite/elements.vcproj:
5159         * win32/testsuite/ghostpads.vcproj:
5160         * win32/testsuite/indexers.vcproj:
5161         * win32/testsuite/negotiation.vcproj:
5162         * win32/testsuite/parse.vcproj:
5163         * win32/testsuite/plugin.vcproj:
5164         * win32/testsuite/refcounting.vcproj:
5165         * win32/testsuite/schedulers.vcproj:
5166         * win32/testsuite/states.vcproj:
5167         * win32/testsuite/tags.vcproj:
5168         * win32/testsuite/threads.vcproj:
5169           remove old win32 stuff that isn't maintained and should be
5170           reorganized
5171
5172 2005-11-30  Andy Wingo  <wingo@pobox.com>
5173
5174         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
5175         loading the gst.interfaces python module bork.
5176
5177         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
5178         available since GLib 2.2. Fixes #318031.
5179
5180 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5181
5182         * Makefile.am:
5183         * check/.cvsignore:
5184         * check/Makefile.am:
5185         * check/elements/.cvsignore:
5186         * check/elements/fakesrc.c:
5187         * check/elements/fdsrc.c:
5188         * check/elements/identity.c:
5189         * check/generic/.cvsignore:
5190         * check/generic/states.c:
5191         * check/gst-libs/.cvsignore:
5192         * check/gst-libs/controller.c:
5193         * check/gst-libs/gdp.c:
5194         * check/gst/.cvsignore:
5195         * check/gst/capslist.h:
5196         * check/gst/gst.c:
5197         * check/gst/gstbin.c:
5198         * check/gst/gstbuffer.c:
5199         * check/gst/gstbus.c:
5200         * check/gst/gstcaps.c:
5201         * check/gst/gstelement.c:
5202         * check/gst/gstevent.c:
5203         * check/gst/gstghostpad.c:
5204         * check/gst/gstiterator.c:
5205         * check/gst/gstmessage.c:
5206         * check/gst/gstminiobject.c:
5207         * check/gst/gstobject.c:
5208         * check/gst/gstpad.c:
5209         * check/gst/gstpipeline.c:
5210         * check/gst/gstplugin.c:
5211         * check/gst/gstsegment.c:
5212         * check/gst/gststructure.c:
5213         * check/gst/gstsystemclock.c:
5214         * check/gst/gsttag.c:
5215         * check/gst/gstutils.c:
5216         * check/gst/gstvalue.c:
5217         * check/net/.cvsignore:
5218         * check/net/gstnetclientclock.c:
5219         * check/net/gstnettimeprovider.c:
5220         * check/pipelines/.cvsignore:
5221         * check/pipelines/cleanup.c:
5222         * check/pipelines/simple_launch_lines.c:
5223         * check/pipelines/stress.c:
5224         * check/states/.cvsignore:
5225         * check/states/sinks.c:
5226         * configure.ac:
5227         * examples/Makefile.am:
5228         * examples/appreader/.cvsignore:
5229         * examples/appreader/Makefile.am:
5230         * examples/appreader/appreader.c:
5231         * examples/controller/.cvsignore:
5232         * examples/controller/Makefile.am:
5233         * examples/controller/audio-example.c:
5234         * examples/cutter/.cvsignore:
5235         * examples/cutter/Makefile.am:
5236         * examples/cutter/cutter.c:
5237         * examples/cutter/cutter.h:
5238         * examples/events/Makefile.am:
5239         * examples/events/seek.c:
5240         * examples/helloworld/.cvsignore:
5241         * examples/helloworld/Makefile.am:
5242         * examples/helloworld/helloworld.c:
5243         * examples/helloworld2/.cvsignore:
5244         * examples/helloworld2/Makefile.am:
5245         * examples/helloworld2/helloworld2.c:
5246         * examples/launch/.cvsignore:
5247         * examples/launch/Makefile.am:
5248         * examples/launch/mp3parselaunch.c:
5249         * examples/launch/mp3play:
5250         * examples/manual/.cvsignore:
5251         * examples/manual/Makefile.am:
5252         * examples/manual/extract.pl:
5253         * examples/metadata/Makefile.am:
5254         * examples/metadata/read-metadata.c:
5255         * examples/mixer/.cvsignore:
5256         * examples/mixer/Makefile.am:
5257         * examples/mixer/mixer.c:
5258         * examples/mixer/mixer.h:
5259         * examples/pingpong/.cvsignore:
5260         * examples/pingpong/Makefile.am:
5261         * examples/pingpong/pingpong.c:
5262         * examples/plugins/.cvsignore:
5263         * examples/plugins/Makefile.am:
5264         * examples/plugins/example.c:
5265         * examples/plugins/example.h:
5266         * examples/pwg/.cvsignore:
5267         * examples/pwg/Makefile.am:
5268         * examples/pwg/extract.pl:
5269         * examples/queue/.cvsignore:
5270         * examples/queue/Makefile.am:
5271         * examples/queue/queue.c:
5272         * examples/queue2/.cvsignore:
5273         * examples/queue2/Makefile.am:
5274         * examples/queue2/queue2.c:
5275         * examples/queue3/.cvsignore:
5276         * examples/queue3/Makefile.am:
5277         * examples/queue3/queue3.c:
5278         * examples/queue4/.cvsignore:
5279         * examples/queue4/Makefile.am:
5280         * examples/queue4/queue4.c:
5281         * examples/retag/.cvsignore:
5282         * examples/retag/Makefile.am:
5283         * examples/retag/retag.c:
5284         * examples/retag/transcode.c:
5285         * examples/thread/.cvsignore:
5286         * examples/thread/Makefile.am:
5287         * examples/thread/thread.c:
5288         * examples/typefind/.cvsignore:
5289         * examples/typefind/Makefile.am:
5290         * examples/typefind/typefind.c:
5291         * examples/xml/.cvsignore:
5292         * examples/xml/Makefile.am:
5293         * examples/xml/createxml.c:
5294         * examples/xml/runxml.c:
5295         * tests/Makefile.am:
5296         * tests/check/Makefile.am:
5297         * testsuite/.cvsignore:
5298         * testsuite/Makefile.am:
5299         * testsuite/Rules:
5300         * testsuite/caps/.cvsignore:
5301         * testsuite/caps/Makefile.am:
5302         * testsuite/caps/app_fixate.c:
5303         * testsuite/caps/audioscale.c:
5304         * testsuite/caps/caps.c:
5305         * testsuite/caps/caps.h:
5306         * testsuite/caps/caps_strings:
5307         * testsuite/caps/compatibility.c:
5308         * testsuite/caps/deserialize.c:
5309         * testsuite/caps/enumcaps.c:
5310         * testsuite/caps/eratosthenes.c:
5311         * testsuite/caps/filtercaps.c:
5312         * testsuite/caps/fixed.c:
5313         * testsuite/caps/fraction-convert.c:
5314         * testsuite/caps/fraction-multiply-and-zero.c:
5315         * testsuite/caps/intersect2.c:
5316         * testsuite/caps/intersection.c:
5317         * testsuite/caps/normalisation.c:
5318         * testsuite/caps/random.c:
5319         * testsuite/caps/renegotiate.c:
5320         * testsuite/caps/sets.c:
5321         * testsuite/caps/simplify.c:
5322         * testsuite/caps/string-conversions.c:
5323         * testsuite/caps/structure.c:
5324         * testsuite/caps/subtract.c:
5325         * testsuite/caps/union.c:
5326         * testsuite/debug/.cvsignore:
5327         * testsuite/debug/Makefile.am:
5328         * testsuite/debug/category.c:
5329         * testsuite/debug/commandline.c:
5330         * testsuite/debug/global.c:
5331         * testsuite/debug/output.c:
5332         * testsuite/debug/printf_extension.c:
5333         * testsuite/dlopen/.cvsignore:
5334         * testsuite/dlopen/Makefile.am:
5335         * testsuite/dlopen/dlopen_gst.c:
5336         * testsuite/dlopen/loadgst.c:
5337         * testsuite/elements/.cvsignore:
5338         * testsuite/elements/Makefile.am:
5339         * testsuite/elements/gst-inspect-check.in:
5340         * testsuite/elements/struct_i386.h:
5341         * testsuite/elements/struct_size.c:
5342         * testsuite/indexers/.cvsignore:
5343         * testsuite/indexers/Makefile.am:
5344         * testsuite/indexers/cache1.c:
5345         * testsuite/indexers/indexdump.c:
5346         * testsuite/parse/.cvsignore:
5347         * testsuite/parse/Makefile.am:
5348         * testsuite/parse/parse1.c:
5349         * testsuite/parse/parse2.c:
5350         * testsuite/plugin/.cvsignore:
5351         * testsuite/plugin/Makefile.am:
5352         * testsuite/plugin/README:
5353         * testsuite/plugin/dynamic.c:
5354         * testsuite/plugin/linked.c:
5355         * testsuite/plugin/loading.c:
5356         * testsuite/plugin/registry.c:
5357         * testsuite/plugin/static.c:
5358         * testsuite/plugin/static2.c:
5359         * testsuite/plugin/testplugin.c:
5360         * testsuite/plugin/testplugin2.c:
5361         * testsuite/plugin/testplugin2_s.c:
5362         * testsuite/plugin/testplugin_s.c:
5363         * testsuite/refcounting/.cvsignore:
5364         * testsuite/refcounting/Makefile.am:
5365         * testsuite/refcounting/bin.c:
5366         * testsuite/refcounting/element.c:
5367         * testsuite/refcounting/element_pad.c:
5368         * testsuite/refcounting/mainloop.c:
5369         * testsuite/refcounting/mem.c:
5370         * testsuite/refcounting/mem.h:
5371         * testsuite/refcounting/object.c:
5372         * testsuite/refcounting/pad.c:
5373         * testsuite/refcounting/sched.c:
5374         * testsuite/refcounting/thread.c:
5375         * testsuite/states/.cvsignore:
5376         * testsuite/states/Makefile.am:
5377         * testsuite/states/bin.c:
5378         * testsuite/states/locked.c:
5379         * testsuite/states/parent.c:
5380         * testsuite/threads/.cvsignore:
5381         * testsuite/threads/159566.c:
5382         * testsuite/threads/159852.c:
5383         * testsuite/threads/Makefile.am:
5384         * testsuite/threads/queue.c:
5385         * testsuite/threads/signals.c:
5386         * testsuite/threads/staticrec.c:
5387         * testsuite/threads/thread.c:
5388         * testsuite/threads/threadb.c:
5389         * testsuite/threads/threadc.c:
5390         * testsuite/threads/threadd.c:
5391         * testsuite/threads/threade.c:
5392         * testsuite/threads/threadf.c:
5393         * testsuite/threads/threadg.c:
5394         * testsuite/threads/threadh.c:
5395         * testsuite/threads/threadi.c:
5396           move all of these under tests
5397
5398 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5399
5400         * configure.ac:
5401         * tests/Makefile.am:
5402           fix distcheck
5403
5404 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5405
5406         * docs/gst/gstreamer-sections.txt:
5407         * tests/sched/.cvsignore:
5408         * tests/sched/Makefile.am:
5409         * tests/sched/cases/(fs-fs).xml:
5410         * tests/sched/cases/(fs-i-fs).xml:
5411         * tests/sched/cases/(fs-i-i-fs).xml:
5412         * tests/sched/cases/(fs-i-q[i-fs]).xml:
5413         * tests/sched/dynamic-pipeline.c:
5414         * tests/sched/interrupt1.c:
5415         * tests/sched/interrupt2.c:
5416         * tests/sched/interrupt3.c:
5417         * tests/sched/runtestcases:
5418         * tests/sched/runxml.c:
5419         * tests/sched/sched-stress.c:
5420         * tests/sched/sort.c:
5421         * tests/sched/testcases:
5422         * tests/sched/testcases1.tc:
5423         * tests/seeking/.cvsignore:
5424         * tests/seeking/Makefile.am:
5425         * tests/seeking/seeking1.c:
5426         * tests/threadstate/.cvsignore:
5427         * tests/threadstate/Makefile.am:
5428         * tests/threadstate/test1.c:
5429         * tests/threadstate/test2.c:
5430         * tests/threadstate/threadstate1.c:
5431         * tests/threadstate/threadstate2.c:
5432         * tests/threadstate/threadstate3.c:
5433         * tests/threadstate/threadstate4.c:
5434         * tests/threadstate/threadstate5.c:
5435           remove obsolete tests
5436         * configure.ac:
5437         * tests/bench-complexity.scm:
5438         * tests/bench-mass_elements.scm:
5439         * tests/complexity.c:
5440         * tests/complexity.gnuplot:
5441         * tests/instantiate/.cvsignore:
5442         * tests/instantiate/Makefile.am:
5443         * tests/instantiate/caps.c:
5444         * tests/mass_elements.c:
5445         * tests/network-clock-utils.scm:
5446         * tests/network-clock.scm:
5447         * tests/plot-data:
5448         First pass at cleaning up tests/ dir before moving the rest
5449         Combined with CVS surgery
5450
5451 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5452
5453         * po/POTFILES.in:
5454           queue has moved, update
5455
5456 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5457
5458         * docs/gst/gstreamer-sections.txt:
5459           remove double entries from the docs
5460         * gst/gst_private.h:
5461         * gst/gstinfo.c: (_gst_debug_init):
5462           remove the THREAD debug category
5463         * gst/Makefile.am:
5464         * gst/gstqueue.c:
5465         * gst/gstqueue.h:
5466         * docs/gst/gstreamer.types:
5467         * plugins/elements/gstqueue.c: (gst_queue_get_type),
5468         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
5469           completely move queue and fix up debugging categories
5470
5471 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5472
5473         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
5474           make initialization portable, using LL is not
5475
5476 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5477
5478         * win32/common/gstconfig.h:
5479           add large padding
5480
5481 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5482
5483         * win32/common/libgstreamer.def:
5484           rename symbols; sort base section
5485
5486 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5487
5488         * gst/gstclock.c: (do_linear_regression):
5489           remove crack non-portable handrolled DEBUG macro
5490
5491 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5492
5493         * docs/random/release:
5494           update notes
5495         * win32/common/gstenumtypes.c: (register_gst_object_flags),
5496         (gst_object_flags_get_type), (register_gst_bin_flags),
5497         (gst_bin_flags_get_type), (register_gst_buffer_flag),
5498         (gst_buffer_flag_get_type), (register_gst_bus_flags),
5499         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
5500         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
5501         (gst_caps_flags_get_type), (register_gst_clock_return),
5502         (gst_clock_return_get_type), (register_gst_clock_entry_type),
5503         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
5504         (gst_clock_flags_get_type), (register_gst_state),
5505         (gst_state_get_type), (register_gst_state_change_return),
5506         (gst_state_change_return_get_type), (register_gst_state_change),
5507         (gst_state_change_get_type), (register_gst_element_flags),
5508         (gst_element_flags_get_type), (register_gst_core_error),
5509         (gst_core_error_get_type), (register_gst_library_error),
5510         (gst_library_error_get_type), (register_gst_resource_error),
5511         (gst_resource_error_get_type), (register_gst_stream_error),
5512         (gst_stream_error_get_type), (register_gst_event_type_flags),
5513         (gst_event_type_flags_get_type), (register_gst_event_type),
5514         (gst_event_type_get_type), (register_gst_seek_type),
5515         (gst_seek_type_get_type), (register_gst_seek_flags),
5516         (gst_seek_flags_get_type), (register_gst_format),
5517         (gst_format_get_type), (register_gst_index_certainty),
5518         (gst_index_certainty_get_type), (register_gst_index_entry_type),
5519         (gst_index_entry_type_get_type),
5520         (register_gst_index_lookup_method),
5521         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
5522         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
5523         (gst_index_resolver_method_get_type), (register_gst_index_flags),
5524         (gst_index_flags_get_type), (register_gst_debug_level),
5525         (gst_debug_level_get_type), (register_gst_debug_color_flags),
5526         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
5527         (gst_iterator_result_get_type), (register_gst_iterator_item),
5528         (gst_iterator_item_get_type), (register_gst_message_type),
5529         (gst_message_type_get_type), (register_gst_mini_object_flags),
5530         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
5531         (gst_pad_link_return_get_type), (register_gst_flow_return),
5532         (gst_flow_return_get_type), (register_gst_activate_mode),
5533         (gst_activate_mode_get_type), (register_gst_pad_direction),
5534         (gst_pad_direction_get_type), (register_gst_pad_flags),
5535         (gst_pad_flags_get_type), (register_gst_pad_presence),
5536         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
5537         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
5538         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
5539         (gst_plugin_error_get_type), (register_gst_plugin_flags),
5540         (gst_plugin_flags_get_type), (register_gst_rank),
5541         (gst_rank_get_type), (register_gst_query_type),
5542         (gst_query_type_get_type), (register_gst_tag_merge_mode),
5543         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
5544         (gst_tag_flag_get_type), (register_gst_task_state),
5545         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
5546         (gst_alloc_trace_flags_get_type),
5547         (register_gst_type_find_probability),
5548         (gst_type_find_probability_get_type), (register_gst_uri_type),
5549         (gst_uri_type_get_type), (register_gst_parse_error),
5550         (gst_parse_error_get_type):
5551         * win32/common/gstenumtypes.h:
5552         * win32/common/gstversion.h:
5553           update visual studio generated files
5554
5555 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5556
5557         * win32/vs6/libgstbase.dsp:
5558         * win32/vs6/libgstelements.dsp:
5559           update project files for new locations
5560
5561 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
5562
5563         * Makefile.am:
5564           remove some files
5565         * README:
5566           reinstate and update
5567         * DEVEL:
5568         * REQUIREMENTS:
5569           removed
5570         * LICENSE:
5571         * docs/random/LICENSE:
5572           moved to random
5573
5574 2005-11-30  Edward Hervey  <edward@fluendo.com>
5575
5576         * gst/gsttypefind.c: (gst_type_find_register):
5577         * gst/gsttypefind.h:
5578         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
5579         (gst_type_find_factory_dispose):
5580         * gst/gsttypefindfactory.h:
5581         Fix memory leak in GstTypeFindFactory.
5582
5583 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5584
5585         * gst/gst.c:
5586         * plugins/elements/Makefile.am:
5587         * plugins/elements/gstelements.c:
5588         * plugins/elements/gstqueue.c:
5589           move queue from core to the elements plugin
5590
5591 2005-11-29  Andy Wingo  <wingo@pobox.com>
5592
5593         * libs/gst/base/gstbasetransform.h: 
5594         * libs/gst/base/gstbasesrc.h: 
5595         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
5596
5597         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
5598         of pointers by which to pad very extensible base classes (like the
5599         ones in libs/gst/base).
5600
5601 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5602
5603         * docs/gst/gstreamer-docs.sgml:
5604         * docs/gst/gstreamer-sections.txt:
5605         * docs/libs/gstreamer-libs-docs.sgml:
5606         * docs/libs/gstreamer-libs-sections.txt:
5607           moving documentation from core to lib
5608
5609 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5610
5611         * check/Makefile.am:
5612         * configure.ac:
5613         * docs/gst/Makefile.am:
5614         * gst/Makefile.am:
5615         * gst/base/.cvsignore:
5616         * gst/base/Makefile.am:
5617         * gst/base/README:
5618         * gst/base/gstadapter.c:
5619         * gst/base/gstadapter.h:
5620         * gst/base/gstbasesink.c:
5621         * gst/base/gstbasesink.h:
5622         * gst/base/gstbasesrc.c:
5623         * gst/base/gstbasesrc.h:
5624         * gst/base/gstbasetransform.c:
5625         * gst/base/gstbasetransform.h:
5626         * gst/base/gstcollectpads.c:
5627         * gst/base/gstcollectpads.h:
5628         * gst/base/gstpushsrc.c:
5629         * gst/base/gstpushsrc.h:
5630         * gst/base/gsttypefindhelper.c:
5631         * gst/base/gsttypefindhelper.h:
5632         * gst/check/Makefile.am:
5633         * gst/check/gstcheck.c:
5634         * gst/check/gstcheck.h:
5635         * gst/net/Makefile.am:
5636         * gst/net/gstnet.h:
5637         * gst/net/gstnetclientclock.c:
5638         * gst/net/gstnetclientclock.h:
5639         * gst/net/gstnettimepacket.c:
5640         * gst/net/gstnettimepacket.h:
5641         * gst/net/gstnettimeprovider.c:
5642         * gst/net/gstnettimeprovider.h:
5643         * libs/gst/Makefile.am:
5644         * libs/gst/base/Makefile.am:
5645         * libs/gst/base/gstbasetransform.c:
5646         * libs/gst/check/Makefile.am:
5647         * plugins/elements/Makefile.am:
5648         * po/POTFILES.in:
5649           CVS surgery + support to move base, check, and net out of gst
5650           and into libs/gst
5651
5652 2005-11-29  Andy Wingo  <wingo@pobox.com>
5653
5654         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
5655
5656         * gst/gststructure.h (struct _GstStructure): Only one pointer of
5657         padding.
5658
5659         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
5660
5661         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
5662
5663         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
5664
5665         * gst/gstobject.h: (struct _GstObject): Only one pointer of
5666         padding; reduces object size by about 30%. We don't expect
5667         anything else to go into gstobject.
5668
5669         * gst/gstminiobject.h (struct _GstMiniObject)
5670         (struct _GstMiniObjectClass): Only one pointer of padding; the
5671         payload is only a pointer and two ints anyway. For the class there
5672         are only two methods as well.
5673         
5674         * gst/gstelement.h (struct _GstElementClass): Removed
5675         the state_changed signal callback, it is not used.
5676
5677 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5678
5679         * docs/gst/gstreamer.types:
5680           fix includes, though they are a little dinky
5681
5682 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5683
5684         * check/Makefile.am:
5685           look in the right place for elements, a lot more chance of
5686           success
5687         * gst/Makefile.am:
5688           remove indexers and elements subdirs
5689         * plugins/Makefile.am:
5690           make indexers conditional
5691
5692 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5693
5694         * Makefile.am:
5695         * configure.ac:
5696         * plugins/elements/Makefile.am:
5697         * plugins/elements/gstcapsfilter.c:
5698         * plugins/elements/gstfilesink.c:
5699         * plugins/elements/gstfilesrc.c:
5700         * plugins/elements/gstidentity.c:
5701         * plugins/indexers/Makefile.am:
5702           do CVS surgery and related build fixery to move elements
5703           and indexers in a new gstreamer/plugins directory, out of the
5704           gst/ directory
5705
5706 2005-11-29  Andy Wingo  <wingo@pobox.com>
5707
5708         * check/Makefile.am:
5709         * pkgconfig/gstreamer-net-uninstalled.pc.in:
5710         * pkgconfig/gstreamer-net.pc.in:
5711         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
5712         #322257.
5713
5714 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5715
5716         * tools/Makefile.am:
5717         * tools/gst-complete.1.in:
5718         * tools/gst-complete.c:
5719         * tools/gst-compprep.1.in:
5720         * tools/gst-compprep.c:
5721           removing -compprep and -complete
5722
5723 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
5724
5725         * gst/gstevent.c: (gst_event_new_new_segment),
5726         (gst_event_parse_new_segment):
5727         * gst/gstevent.h:
5728           fix #320529 - clean up new_segment API and structure.
5729           Let's hope everyone was using the methods, and not the structure.
5730
5731 2005-11-29  Edward Hervey  <edward@fluendo.com>
5732
5733         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
5734         (gst_base_sink_event), (gst_base_sink_do_sync),
5735         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
5736         Properly handle non GST_FORMAT_TIME segment
5737         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
5738         Properly handle non GST_FORMAT_TIME segment
5739         * gst/gstsegment.c:
5740         This function is valid if the accumulator is 0 and the format
5741         is different from the requested format.
5742         
5743 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5744
5745         * docs/gst/gstreamer-sections.txt:
5746         Add gst_query_new_seeking and gst_query_parse_seeking to the
5747         docs.
5748
5749 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
5750
5751         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
5752           Treat a pad alloc with new caps the same as if we were not
5753           negotiated, in order to allow a changing upstream output
5754           to produce a new format of data.
5755
5756 2005-11-29  Edward Hervey  <edward@fluendo.com>
5757
5758         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
5759         (gst_base_transform_event), (gst_base_transform_eventfunc):
5760         The event virtual method is now properly implemented, with a default
5761         handler
5762         Sub classes should call the parent_class event method. They should
5763         return FALSE if they had a problem handling the given event, or don't
5764         want GstBaseTransform to send that even downstream
5765         * gst/elements/gstidentity.c: (gst_identity_class_init),
5766         (gst_identity_init), (gst_identity_event),
5767         (gst_identity_transform_ip), (gst_identity_set_property),
5768         (gst_identity_get_property):
5769         * gst/elements/gstidentity.h:
5770         Added the single-segment boolean property.
5771         If set to TRUE, it will output a single segment of data, starting from
5772         0, will eat up all incoming newsegment, and modify the timestamp of the
5773         buffers accordingly
5774
5775 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
5776
5777         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
5778           Don't ref NULL target pad (#322751). Improve docs.
5779
5780 2005-11-29  Michael Smith  <msmith@fluendo.com>
5781
5782         * gst/gstregistryxml.c: (load_plugin):
5783           Don't crash if we failed to load a feature from a plugin. 
5784
5785 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5786
5787         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
5788         (GST_START_TEST):
5789           use more check API and less GLib API
5790
5791 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5792
5793         * Makefile.am:
5794           don't run checks if we don't have check
5795         * common/check.mak:
5796           remove the registry when running make torture
5797         * docs/gst/gstreamer-sections.txt:
5798           remove second multiply
5799         * gst/gstqueue.c: (gst_queue_loop):
5800           fix a compile warning when disabling debug
5801
5802 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5803
5804         * gst/gstinfo.h:
5805         Hey! Let's print the pad name if the pointer != NULL instead
5806         of when it == NULL :-)
5807
5808 2005-11-28  Wim Taymans  <wim@fluendo.com>
5809
5810         * check/gst/gstutils.c: (GST_START_TEST):
5811         Updated check, add some scaling accuracy checking code.
5812
5813         * gst/gstutils.c: (gst_util_div128_64),
5814         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
5815         (gst_util_uint64_scale_int):
5816         Fix 6 times faster division code. Optimize for common 
5817         1/1 and less common X/1 cases.
5818
5819 2005-11-28  Wim Taymans  <wim@fluendo.com>
5820
5821         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5822         More checks.
5823
5824         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
5825         (do_linear_regression), (gst_clock_add_observation):
5826         Cleanups.
5827         Release lock when the clock cannot be slaved.
5828         Catch the case where the regression returned an invalid denominator.
5829
5830         * gst/gstutils.c: (gst_util_div128_64_iterate),
5831         (gst_util_div128_64), (gst_util_uint64_scale_int64),
5832         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
5833         Add protentially more performant non-iterative 128/64 divide function
5834         that unfortunatly does not work yet.
5835         Shortcut the trivial 0/X = 0 case.
5836         Remove the warnings on overflow.
5837
5838 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5839
5840         * gst/gstplugin.c: (gst_plugin_register_func):
5841           everything causing a plugin not to load should be at least a WARNING
5842
5843 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
5844
5845         * docs/random/ensonic/dparams.txt:
5846           some TODOs for the next dev cycle
5847         * libs/gst/controller/gstcontroller.c:
5848         (gst_controlled_property_set_interpolation_mode),
5849         (gst_controlled_property_new):
5850         * libs/gst/controller/gstcontroller.h:
5851           use base type to assign acccessor functions
5852
5853 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5854
5855         * check/Makefile.am:
5856         Oops, that should have been top_srcdir
5857
5858 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
5859
5860         * check/Makefile.am:
5861         * check/elements/fdsrc.c: (GST_START_TEST):
5862         Use a cmdline define to specify the location of a file to use for
5863         testing, to avoid breaking distcheck.
5864
5865 2005-11-28  Andy Wingo  <wingo@pobox.com>
5866
5867         * gst/gstpad.c (fixate_value): Use array functions for arrays.
5868
5869 2005-11-28  Edward Hervey  <edward@fluendo.com>
5870
5871         * tools/gst-launch.c: (main):
5872         Clarify the output strings, makes it easier to translate.
5873         Fixes #322626
5874
5875 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5876
5877         * gst/Makefile.am:
5878           don't try and build net if we don't even have <sys/socket.h>
5879
5880 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
5881
5882         * check/Makefile.am:
5883         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
5884         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
5885           Add tests for fdsrc seekability
5886
5887         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
5888         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
5889         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
5890         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
5891         * gst/elements/gstfdsrc.h:
5892           fdsrc should not be a 'live' source.
5893           Implement seeking on seekable fd's.
5894
5895         * gst/gstquery.c: (gst_query_new_seeking),
5896         (gst_query_parse_seeking):
5897         * gst/gstquery.h:
5898           Implement SEEKING query functions: 
5899             *_new_seeking and *_parse_seeking
5900
5901 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
5902
5903         * gst/gstelement.c: (gst_element_dispose):
5904           don't loop forever
5905
5906         * gst/gstiterator.c:
5907         * gst/gststructure.c:
5908           doc fixes
5909
5910         * libs/gst/controller/gstcontroller.c:
5911         (gst_controlled_property_set_interpolation_mode):
5912         * libs/gst/controller/gstcontroller.h:
5913         * libs/gst/controller/gstinterpolation.c:
5914         (interpolate_none_get_enum_value_array):
5915           support controlling enums
5916
5917 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5918
5919         * gst/gstvalue.c:
5920           Improve documentation for gst_value_union().
5921
5922         * gst/gstvalue.h:
5923           Change return value for union, intersect and subtract functions
5924           from gint to gboolean.
5925
5926 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
5927
5928         * gst/gstvalue.c: (gst_value_serialize_any_list),
5929         (gst_value_transform_any_list_string),
5930         (gst_value_deserialize_list), (gst_value_deserialize_array),
5931         (gst_value_set_int_range), (gst_value_deserialize_int_range),
5932         (gst_value_set_double_range), (gst_value_deserialize_double_range),
5933         (gst_value_set_fraction_range_full),
5934         (gst_value_deserialize_fraction_range),
5935         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
5936         (gst_value_deserialize_boolean),
5937         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
5938         (gst_value_serialize_float), (gst_value_deserialize_float),
5939         (gst_string_wrap), (gst_value_deserialize_string),
5940         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
5941         (gst_value_union_int_range_int_range),
5942         (gst_value_intersect_int_range_int_range),
5943         (gst_value_intersect_double_range_double_range),
5944         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
5945         (gst_value_subtract_int_range_int_range),
5946         (gst_value_subtract_double_double_range),
5947         (gst_value_subtract_double_range_double_range),
5948         (gst_value_deserialize_fraction):
5949         * gst/gstvalue.h:
5950           Use gint, gdouble and gchar in our API instead of int, double and
5951           char (and make usage in gstvalue.c more consistent).
5952
5953 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5954
5955         * check/Makefile.am:
5956         * libs/gst/controller/Makefile.am:
5957         * libs/gst/dataprotocol/Makefile.am:
5958           fix up Makefile.am and remove GST_ENABLE_NEW
5959
5960 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5961
5962         * configure.ac:
5963         * gst/Makefile.am:
5964         * gst/base/Makefile.am:
5965         * gst/check/Makefile.am:
5966         * gst/elements/Makefile.am:
5967         * gst/net/Makefile.am:
5968           update LDFLAGS use some more
5969
5970 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
5971
5972         * common/m4/gst-doc.m4:
5973           Fixes #312589
5974
5975 2005-11-26  Edward Hervey  <edward@fluendo.com>
5976
5977         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
5978         This shouldn't issue a g_warning since it returns NULL if it
5979         couldn't find the plugin, and all functions using this behave
5980         properly on a NULL return. Switching to a GST_WARNING.
5981
5982 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
5983
5984         * gst/gstbin.c: (gst_bin_handle_message_func):
5985         Don't leak clock messages.
5986
5987 2005-11-25  Wim Taymans  <wim@fluendo.com>
5988
5989         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5990         (gst_util_uint64_scale_int):
5991         Optimisations, remove unneeded vars.
5992
5993 2005-11-25  Wim Taymans  <wim@fluendo.com>
5994
5995         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
5996         Added more checks for the high precision uint64 cases.
5997
5998         * gst/gstutils.c: (gst_util_uint64_scale_int64),
5999         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
6000         Implement high precision (guint64 * guint64) / guint64.
6001
6002 2005-11-24  Wim Taymans  <wim@fluendo.com>
6003
6004         * gst/base/gstbasesrc.c: (gst_base_src_query):
6005         Fix wrong percentage query.
6006
6007         * gst/gstutils.c: (gst_util_uint64_scale),
6008         (gst_util_uint64_scale_int):
6009         Add some more common cases that can be handled 
6010         efficiently to _scale.
6011
6012 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6013
6014         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
6015         (gst_mini_object_suite):
6016           don't use check calls from threads; check probably isn't
6017           threadsafe and using a lock to make it threadsafe would
6018           defeat the purpose of this check
6019         * gst/check/gstcheck.c:
6020         * gst/check/gstcheck.h:
6021           use GST_DEBUG some more
6022
6023 2005-11-24  Wim Taymans  <wim@fluendo.com>
6024
6025         * gst/gstutils.c: (gst_util_uint64_scale),
6026         (gst_util_uint64_scale_int):
6027         Chain trivial case to _scale_int.
6028
6029 2005-11-24  Wim Taymans  <wim@fluendo.com>
6030
6031         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6032         Added test for scaling.
6033
6034         * gst/gstclock.h:
6035         Small doc fix.
6036
6037         * gst/gstutils.c: (gst_util_uint64_scale_int):
6038         Implemented high precision scaling code.
6039
6040 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
6041
6042         * gst/gstinfo.h:
6043           do not crash on pad==NULL
6044
6045 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6046
6047         Patch by: Stefan Kost
6048
6049         * common/gtk-doc.mak:
6050         * docs/gst/Makefile.am:
6051         * docs/libs/Makefile.am:
6052           Fix distcheck issues for the libraries docs build
6053           Closes #319599.
6054
6055 2005-11-24  Michael Smith <msmith@fluendo.com>
6056
6057         * docs/manual/basics-helloworld.xml:
6058           Fix bug #315027: memory leak in example code in docs.
6059
6060 2005-11-24  Michael Smith <msmith@fluendo.com>
6061
6062         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6063           Unlock the PREROLL_LOCK in a failure case.
6064
6065 2005-11-24  Wim Taymans  <wim@fluendo.com>
6066
6067         * docs/gst/gstreamer-sections.txt:
6068         * gst/base/gstadapter.h:
6069         * gst/base/gstbasesink.h:
6070         * gst/base/gstbasesrc.h:
6071         * gst/base/gstbasetransform.h:
6072         * gst/base/gstpushsrc.h:
6073         * gst/elements/gstfakesink.h:
6074         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
6075         * gst/elements/gstfakesrc.h:
6076         * gst/elements/gstfilesink.h:
6077         * gst/elements/gstfilesrc.h:
6078         * gst/gst.c:
6079         * gst/gstbin.c:
6080         * gst/gstbuffer.c: (_gst_buffer_copy):
6081         * gst/gstbus.h:
6082         * gst/gstcaps.c:
6083         * gst/gstchildproxy.c:
6084         * gst/gstclock.c:
6085         * gst/gstelement.c:
6086         * gst/gstelementfactory.c:
6087         * gst/gstelementfactory.h:
6088         * gst/gstevent.c:
6089         * gst/gstghostpad.h:
6090         * gst/gstindex.h:
6091         * gst/gstinterface.h:
6092         * gst/gstminiobject.c:
6093         * gst/gstminiobject.h:
6094         * gst/gstpad.c:
6095         * gst/gstpad.h:
6096         * gst/gstpadtemplate.h:
6097         * gst/gstpipeline.h:
6098         * gst/gstpluginfeature.h:
6099         * gst/gstquery.h:
6100         * gst/gstqueue.h:
6101         * gst/gsttaglist.c:
6102         * gst/gsttaglist.h:
6103         * gst/gsttagsetter.c:
6104         * gst/gsttagsetter.h:
6105         * gst/gsttrace.c:
6106         * gst/gsttrace.h:
6107         * gst/gsttypefind.h:
6108         * gst/gsturi.h:
6109         * gst/gstvalue.c:
6110         * gst/net/gstnetclientclock.c:
6111         * gst/net/gstnetclientclock.h:
6112         * gst/net/gstnettimepacket.c:
6113         * gst/net/gstnettimeprovider.c:
6114         * gst/net/gstnettimeprovider.h:
6115         Doc fixes.
6116
6117 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6118
6119         * configure.ac: back to HEAD
6120
6121 === release 0.9.6 ===
6122
6123 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
6124
6125         * configure.ac:
6126           releasing 0.9.6, "Always On Time"
6127
6128 2005-11-23  Wim Taymans  <wim@fluendo.com>
6129
6130         * docs/gst/gstreamer-sections.txt:
6131         * gst/glib-compat.c:
6132         * gst/gsttagsetter.c:
6133         * gst/gstvalue.c:
6134         * gst/net/gstnetclientclock.c:
6135         * gst/net/gstnettimepacket.h:
6136         Doc updates.
6137
6138 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
6139
6140         * docs/faq/using.xml:
6141         * docs/libs/tmpl/gstcontrol.sgml:
6142         * docs/manual/advanced-dparams.xml:
6143         * docs/manual/appendix-checklist.xml:
6144         * docs/manual/basics-elements.xml:
6145         * docs/pwg/other-source.xml:
6146         * docs/random/moving-plugins:
6147         * gst/gstpad.c:
6148         * tools/gst-launch.1.in:
6149           remove mentions of sinesrc
6150
6151 2005-11-23  Michael Smith <msmith@fluendo.com>
6152
6153         * docs/gst/gstreamer-sections.txt:
6154           Update for new API and API changes.
6155         * gst/gstobject.h:
6156           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
6157         * gst/gstvalue.c:
6158           Documentation typo fix.
6159         * gst/net/gstnettimepacket.c:
6160           Documentation fixes for arguments.
6161
6162 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
6163
6164         * gst/gststructure.c: (gst_structure_get_fraction),
6165         (gst_structure_parse_value),
6166         (gst_structure_fixate_field_nearest_fraction):
6167         * gst/gststructure.h:
6168         * gst/gstutils.c: (gst_util_uint64_scale_int):
6169         * gst/gstutils.h:
6170         * scripts/update-funcnames:
6171         API Changes. 
6172         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
6173         Make gst_structure_fixate_field_nearest_fraction take a numerator
6174         and denominator argument instead of a GValue
6175         add gst_structure_get_fraction helper function.
6176
6177 2005-11-23  Wim Taymans  <wim@fluendo.com>
6178
6179         * docs/design/part-TODO.txt:
6180         Update TODO.
6181
6182         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
6183         * gst/net/gstnetclientclock.h:
6184         Use parent fields for timeout and window_size.
6185
6186 2005-11-23  Andy Wingo  <wingo@pobox.com>
6187
6188         * check/net/gstnetclientclock.c (test_functioning): Adjust to
6189         rate_num/rate_denom change.
6190
6191         * gst/net/gstnetclientclock.c
6192         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
6193         OBJECT_LOCK. Don't call add_observation with the lock.
6194
6195         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
6196         fraction.
6197         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
6198         rate fraction.
6199         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
6200         deal with rate as a fraction whose numerator and denominator are
6201         GstClockTime values.
6202         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
6203         master; the other fields are protected by the SLAVE_LOCK.
6204         (do_linear_regression): Note that this must be called with the
6205         SLAVE_LOCK.
6206         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
6207         OBJECT_LOCK. Call set_calibration instead of touching the
6208         variables directly.
6209         (gst_clock_set_property, gst_clock_get_property): Protect
6210         master/slave parameters with the SLAVE_LOCK.
6211
6212         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
6213         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
6214         note that all of the instance variables that add_observation and
6215         the set_master functions use are protected by that lock and not
6216         the OBJECT_LOCK.
6217         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
6218
6219         * gst/gstclock.c (gst_clock_add_observation): No longer requires
6220         the caller to take the object lock.
6221
6222 2005-11-23  Wim Taymans  <wim@fluendo.com>
6223
6224         * gst/gsterror.c: (_gst_core_errors_init):
6225         * gst/gsterror.h:
6226         Add error for clock stuff.
6227
6228         * gst/gstpipeline.c: (gst_pipeline_change_state),
6229         (gst_pipeline_set_clock):
6230         Post clock error when clock cannot be used in a pipeline.
6231
6232 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
6233
6234         * docs/gst/gstreamer-sections.txt:
6235           make two symbols from gstinfo private for the docs
6236         * gst/base/gstcollectpads.h:
6237         * gst/gstutils.c:
6238           fix doc typos, update docs
6239
6240 2005-11-22  Wim Taymans  <wim@fluendo.com>
6241
6242         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
6243         (gst_base_sink_wait), (gst_base_sink_do_sync),
6244         (gst_base_sink_handle_event):
6245         * gst/base/gstbasesink.h:
6246         No need to store the clock, the parent element class already
6247         has it.
6248
6249         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
6250         Updates for clock_set returning a gboolean
6251
6252         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
6253         (gst_clock_id_wait_async), (gst_clock_class_init),
6254         (gst_clock_init), (gst_clock_finalize),
6255         (gst_clock_get_internal_time), (gst_clock_get_time),
6256         (gst_clock_slave_callback), (gst_clock_set_master),
6257         (gst_clock_get_master), (do_linear_regression),
6258         (gst_clock_add_observation), (gst_clock_set_property),
6259         (gst_clock_get_property):
6260         * gst/gstclock.h:
6261         Implement master/slave. When setting a clock as a slave, a
6262         periodic timeout is scheduled to sample master and slave times.
6263         Then the slave clock is recalibrated to match offset and rate
6264         of the master clock.
6265         Update logging a bit.
6266         Add flag so that a clock can state that is cannot be slaved to
6267         another clock.
6268
6269         * gst/gstelement.c: (gst_element_set_clock):
6270         * gst/gstelement.h:
6271         The set clock returns a gboolean for when an element cannot
6272         deal with the selected clock in the pipeline. 
6273
6274         * gst/gstpipeline.c: (gst_pipeline_change_state),
6275         (gst_pipeline_set_clock):
6276         * gst/gstpipeline.h:
6277         Handle the case where the selected clock cannot be set on
6278         the pipeline.
6279
6280         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
6281         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
6282         (gst_net_client_clock_set_property),
6283         (gst_net_client_clock_get_property),
6284         (gst_net_client_clock_observe_times):
6285         * gst/net/gstnetclientclock.h:
6286         Use regression code in GstClock parent, remove duplicated
6287         functionality.
6288
6289 2005-11-22  Michael Smith <msmith@fluendo.com>
6290
6291         * gst/gstutils.c: (gst_util_clock_time_scale):
6292         * gst/gstutils.h:
6293         * docs/gst/gstreamer-sections.txt:
6294           Rename method to have extra underscore.
6295
6296 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6297
6298         * gst/elements/Makefile.am:
6299         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
6300         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6301         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
6302         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
6303         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
6304         * gst/elements/gstfakesrc.h:
6305         * gst/gstqueue.c: (queue_leaky_get_type):
6306           correctly fix GEnumValues so that nick is the short lowercase
6307           dashed tag
6308         * tools/gst-inspect.c: (print_element_properties_info):
6309           also show the nick, since it's useful to use from parse_launch
6310           syntax
6311           Fixes #322139
6312
6313 2005-11-22  Michael Smith <msmith@fluendo.com>
6314
6315         * gst/gstutils.c: (gst_util_clocktime_scale):
6316         * gst/gstutils.h:
6317         * docs/gst/gstreamer-sections.txt:
6318           Add util method for scaling a clocktime by a fraction. Useful 
6319           implementation is left as an exercise for the reader.
6320
6321 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6322
6323         * gst/gstvalue.c: (gst_value_collect_fraction_range):
6324         If needed, allocate storage in the destination value during
6325         collection.
6326
6327 2005-11-22  Edward Hervey  <edward@fluendo.com>
6328
6329         * docs/gst/gstreamer-sections.txt:
6330         * gst/Makefile.am:
6331         * gst/gst.h:
6332         * gst/gsturitype.c:
6333         * gst/gsturitype.h:
6334         * gst/gstutils.c: (gst_util_set_object_arg):
6335         * tools/gst-compprep.c: (main):
6336         * tools/gst-inspect.c: (print_element_properties_info):
6337         Removed GstURI, closes bug #321061
6338
6339 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6340
6341         * check/gst/gststructure.c: (GST_START_TEST):
6342         * gst/gststructure.c: (gst_structure_parse_value):
6343           Oops, broke automatic string type parsing.
6344           Add a test to catch it in future.
6345
6346 2005-11-22  Andy Wingo  <wingo@pobox.com>
6347
6348         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
6349         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
6350         Actually rename the function implementations. Grr.
6351
6352 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6353
6354         * check/gst/capslist.h:
6355           Comment test cases
6356         * check/gst/gststructure.c: (GST_START_TEST),
6357         (gst_structure_suite):
6358           Test automatic value type detection in gst_structure_from_string.
6359         * gst/gststructure.c: (gst_structure_parse_value):
6360           Add fraction as a type we try and guess automatically in
6361           caps/structure strings.
6362
6363 2005-11-22  Andy Wingo  <wingo@pobox.com>
6364
6365         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
6366
6367         * gst/gsttagsetter.h:
6368         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
6369         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
6370         (gst_tag_setter_add_tag_valist)
6371         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
6372         _add_values, _add_valist, and _add_valist_values. Since this is an
6373         interface the function suffixes should be more explicit so
6374         language binding don't end up with element.add_valist ->
6375         gst_tag_setter_add_valist, for example. Fixes #322069.
6376
6377 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6378
6379         * check/gst/gstcaps.c: (GST_START_TEST):
6380           Extend caps string tests to check that a caps to string
6381           conversion is reversible and produces the same caps.
6382
6383         * gst/gststructure.c: (gst_structure_value_get_generic_type):
6384           Output "fraction" as the generic type fraction range, so caps
6385           serialisation and deserialisation works.
6386         * check/gst/capslist.h:
6387         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6388           Support 'MIN' and 'MAX' for deserialising fractions.
6389
6390 2005-11-22  Andy Wingo  <wingo@pobox.com>
6391
6392         * gst/gstevent.h (gst_event_new_new_segment)
6393         (gst_event_parse_new_segment, gst_event_new_buffer_size)
6394         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
6395         Renamed from *_newsegment, *_buffersize, *_notarget.
6396
6397         * scripts/update-funcnames: New script, performs the changes
6398         listed above.
6399
6400 2005-11-22  Wim Taymans  <wim@fluendo.com>
6401
6402         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
6403         Make sure the GstFlowReturn is returned.
6404
6405         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
6406         (gst_bus_add_signal_watch):
6407         * gst/gstbus.h:
6408         add gst_bus_add_signal_watch_full.
6409
6410         * gst/gstplugin.c: (gst_plugin_load_file):
6411         Small style cleanup.
6412
6413 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6414
6415         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
6416           Block the fakesrc srcpad when we send an event, to avoid
6417           contention on the stream_lock causing random test failures.
6418
6419 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6420
6421         * check/gst/gstvalue.c: (GST_START_TEST):
6422         * gst/gstvalue.c: (gst_value_fraction_subtract):
6423           Fix subtraction.
6424
6425 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
6426
6427         * gst/gst.h:
6428           include "gstchildproxy.h"
6429         * gst/gstchildproxy.h:
6430         * libs/gst/controller/gstcontroller.h:
6431           use G_GNUC_NULL_TERMINATED
6432
6433 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
6434
6435         * check/gst/capslist.h:
6436         * check/gst/gstcaps.c: (GST_START_TEST):
6437         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6438         * gst/gststructure.c: (gst_structure_parse_range),
6439         (gst_structure_fixate_field_nearest_fraction):
6440         * gst/gststructure.h:
6441         * gst/gstvalue.c: (gst_value_init_fraction_range),
6442         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
6443         (gst_value_collect_fraction_range),
6444         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
6445         (gst_value_set_fraction_range_full),
6446         (gst_value_get_fraction_range_min),
6447         (gst_value_get_fraction_range_max),
6448         (gst_value_serialize_fraction_range),
6449         (gst_value_transform_fraction_range_string),
6450         (gst_value_compare_fraction_range),
6451         (gst_value_deserialize_fraction_range),
6452         (gst_value_intersect_fraction_fraction_range),
6453         (gst_value_intersect_fraction_range_fraction_range),
6454         (gst_value_subtract_fraction_fraction_range),
6455         (gst_value_subtract_fraction_range_fraction),
6456         (gst_value_subtract_fraction_range_fraction_range),
6457         (gst_value_collect_fraction), (gst_value_fraction_multiply),
6458         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
6459         (gst_value_transform_string_fraction), (_gst_value_initialize):
6460         * gst/gstvalue.h:
6461           Implement fraction ranges and extend GstFraction to support
6462           arithmetic subtraction, as well as deserialization from integer
6463           strings such as "100"
6464           Add a testsuite as for int and double range set operations
6465
6466 2005-11-21  Andy Wingo  <wingo@pobox.com>
6467
6468         * gst/gsttaglist.h: 
6469         * gst/gstcaps.h: 
6470         * gst/gststructure.h: Add glib-compat.h.
6471
6472 2005-11-21  Wim Taymans  <wim@fluendo.com>
6473
6474         * gst/gstbin.c: (gst_bin_change_state_func):
6475         Fix for #321595
6476
6477 2005-11-21  Wim Taymans  <wim@fluendo.com>
6478
6479         * gst/gstsegment.h:
6480         And add a nice define too.
6481
6482 2005-11-21  Wim Taymans  <wim@fluendo.com>
6483
6484         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
6485         (gst_segment_new), (gst_segment_free), (gst_segment_init),
6486         (gst_segment_set_duration), (gst_segment_set_last_stop),
6487         (gst_segment_set_seek), (gst_segment_set_newsegment),
6488         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6489         (gst_segment_clip):
6490         * gst/gstsegment.h:
6491         Make binding friendly.
6492
6493 2005-11-21  Andy Wingo  <wingo@pobox.com>
6494
6495         * gst/gsttagsetter.h: 
6496         * gst/gsttaglist.h: 
6497         * gst/gststructure.h: 
6498         * gst/gstcaps.h: 
6499         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
6500         #319940.
6501
6502         * gst/gsterror.c (_gst_core_errors_init):
6503         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
6504         category.
6505
6506         * gst/Makefile.am (gst_headers): Add glib-compat.h.
6507         (noinst_HEADERS): noinst the -private.
6508
6509 2005-11-21  Michael Smith <msmith@fluendo.com>
6510
6511         * gst/gstplugin.h:
6512         * gst/gstregistry.h:
6513           Remove unimplemented declarations for which we can see no sensible
6514           use.
6515
6516 2005-11-21  Andy Wingo  <wingo@pobox.com>
6517
6518         * gst/gst.h: Include glib-compat.h.
6519
6520         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
6521
6522         * gst/glib-compat.c: Include the public and the private header.
6523
6524         * gst/glib-compat-private.h: Copied here from glib-compat.h.
6525
6526         * gst/gstvalue.c: 
6527         * gst/gstpad.c: 
6528         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
6529
6530         * check/gst/gstevent.c (create_custom_events): Check that
6531         FLUSH_STOP is serialized.
6532
6533         * check/elements/identity.c (event_func): 
6534         * check/elements/fakesrc.c (event_func): No stream lock, the core
6535         takes it.
6536
6537         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
6538         stream lock taking, yay.
6539
6540         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
6541         ensure that core takes the stream lock.
6542
6543         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
6544         lock name change.
6545
6546         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
6547         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
6548         it already. For the flush start we do take it though so we get the
6549         right preroll state change messages.
6550
6551         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
6552         the stream lock here, the core does it for us.
6553
6554         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
6555         GST_STREAM_GET_LOCK.
6556         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
6557         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
6558         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
6559         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
6560         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
6561         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
6562
6563         * gst/gstpad.c: Update for stream lock name change.
6564
6565         * gst/base/gstbasesink.c: Update for preroll lock name change.
6566
6567 2005-11-21  Wim Taymans  <wim@fluendo.com>
6568
6569         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
6570         (gst_clock_get_master):
6571         * gst/gstclock.h:
6572         * gst/gstsystemclock.c: (gst_system_clock_init):
6573         Convert Clock flags to object flags.
6574         Added methods to manage master/slave clocks.
6575
6576 2005-11-21  Wim Taymans  <wim@fluendo.com>
6577
6578         * check/gst/gstsegment.c: (GST_START_TEST):
6579         * docs/design/part-TODO.txt:
6580         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
6581         (gst_base_sink_event), (gst_base_sink_do_sync),
6582         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
6583         (gst_base_sink_query), (gst_base_sink_change_state):
6584         * gst/base/gstbasesink.h:
6585         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
6586         (gst_base_src_default_newsegment),
6587         (gst_base_src_configure_segment), (gst_base_src_do_seek),
6588         (gst_base_src_get_range), (gst_base_src_loop),
6589         (gst_base_src_change_state):
6590         * gst/base/gstbasesrc.h:
6591         * gst/base/gstbasetransform.c:
6592         (gst_base_transform_prepare_output_buf),
6593         (gst_base_transform_event), (gst_base_transform_change_state):
6594         * gst/base/gstbasetransform.h:
6595         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
6596         (gst_collect_pads_event):
6597         * gst/base/gstcollectpads.h:
6598         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
6599         (gst_fake_src_create):
6600         * gst/elements/gstfakesrc.h:
6601         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
6602         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6603         (gst_segment_set_last_stop), (gst_segment_set_seek),
6604         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
6605         (gst_segment_to_running_time), (gst_segment_clip):
6606         * gst/gstsegment.h:
6607         More segment updates, replace code in plugins with segment
6608         helper functions.
6609
6610 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6611
6612         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
6613         Don't ignore sscanf results
6614
6615 2005-11-21  Andy Wingo  <wingo@pobox.com>
6616
6617         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
6618
6619         * *.h:
6620         * *.c: Ran scripts/update-macros. Oh yes.
6621
6622         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
6623         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
6624         GST_GET_LOCK, etc.
6625
6626         * scripts/update-macros: New script. Run it on your files to
6627         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
6628         well.
6629
6630 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6631
6632         * docs/gst/Makefile.am:
6633         * docs/gst/gstreamer-docs.sgml:
6634         * docs/gst/gstreamer-sections.txt:
6635         * docs/gst/gstreamer.types:
6636         * gst/gstinfo.h:
6637           more docs fixes, add new api to the docs
6638
6639 2005-11-21  Andy Wingo  <wingo@pobox.com>
6640
6641         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
6642         state_broadcast call.
6643
6644         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
6645
6646 2005-11-21  Julien MOUTTE  <julien@moutte.net>
6647
6648         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
6649         function calls for arrays.
6650
6651 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
6652
6653         * docs/random/ensonic/media-device-daemon.txt:
6654           wild idea, can this be done?
6655         * docs/gst/gstreamer-sections.txt:
6656         * gst/gsterror.h:
6657         * gst/gstfilter.c:
6658         * gst/gstfilter.h:
6659         * gst/gstplugin.h:
6660         * gst/gstpluginfeature.c:
6661         * gst/gsttrace.c:
6662         * gst/gstvalue.c:
6663         * gst/gstvalue.h:
6664           doc fixes and additions
6665
6666 2005-11-21  Andy Wingo  <wingo@pobox.com>
6667
6668         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
6669         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
6670         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
6671         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
6672         private to the basesrc implementation.
6673
6674         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
6675         behalf of event function if necessary. It should no longer be
6676         necessary to take the stream lock in pad's event functions. Fixes
6677         #320299.
6678
6679 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6680         * docs/gst/gstreamer-sections.txt:
6681         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
6682         (gst_structure_fixate_field_nearest_double),
6683         (gst_structure_fixate_field_boolean):
6684         * gst/gststructure.h:
6685         * win32/common/libgstreamer.def:
6686         * win32/gstreamer.def:
6687
6688         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
6689         (#322027)
6690
6691 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
6692
6693         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
6694         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
6695         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
6696         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
6697         (gst_fdsrc_uri_handler_init):
6698         * gst/elements/gstfdsrc.h:
6699           Port fd:// URI handler from 0.8 to fdsrc
6700
6701 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6702
6703         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
6704         (gst_value_serialize_fourcc):
6705         * gst/gstvalue.h:
6706           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
6707           consistent with our other format defines (#320324).
6708
6709 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6710
6711         * gst/gstvalue.c: (gst_value_is_fixed):
6712           Revert previous commit. Value lists are by definition
6713           not fixed, as they are a list of possible values.
6714
6715 2005-11-21  Andy Wingo  <wingo@pobox.com>
6716
6717         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
6718         during the stable series if we need it. Fixes #319178.
6719
6720         * gst/gstevent.c (gst_event_new_filler): Removed.
6721
6722         * check/gst/gstevent.c: Update comment about filler events.
6723
6724 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6725
6726         * gst/gstvalue.c: (gst_value_is_fixed):
6727           Should handle both value arrays and value lists.
6728
6729 2005-11-21  Andy Wingo  <wingo@pobox.com>
6730
6731         patch by: Alessandro Dessina <alessandro nnva org>
6732
6733         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
6734         functions to access arrays. Fixes #321962.
6735
6736 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6737
6738         * docs/gst/gstreamer.types:
6739           gst_collectpads_get_type => gst_collect_pads_get_type.
6740           
6741         * gst/base/gstbasetransform.c:
6742           Remove unused SIGNAL_HANDOFF enum.
6743
6744 2005-11-21  Andy Wingo  <wingo@pobox.com>
6745
6746         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
6747         the event type (upstream, downstream, serialized). Renamed
6748         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
6749         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
6750         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
6751
6752         * gst/gstevent.c: Update for new CUSTOM event names.
6753
6754         * check/gst/gstevent.c: Update check for new CUSTOM event names.
6755
6756         * gst/gstevent.h:
6757         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
6758         bug #319392.
6759
6760 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6761
6762         * docs/gst/gstreamer-sections.txt:
6763         * win32/common/libgstbase.def:
6764         * win32/libgstbase.def:
6765         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6766         (gst_collect_pads_class_init), (gst_collect_pads_init),
6767         (gst_collect_pads_finalize), (gst_collect_pads_new),
6768         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
6769         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
6770         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
6771         (gst_collect_pads_start), (gst_collect_pads_stop),
6772         (gst_collect_pads_peek), (gst_collect_pads_pop),
6773         (gst_collect_pads_available), (gst_collect_pads_read),
6774         (gst_collect_pads_flush), (gst_collect_pads_event),
6775         (gst_collect_pads_chain):
6776         * gst/base/gstcollectpads.h:
6777           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
6778           unimplemented functions as unimplemented. Add padding to
6779           GstCollectData. (#320766, #320423)
6780
6781 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
6782
6783         * gst/gstmessage.c:
6784           Improve docs for DURATION message (usage of duration parameter)
6785           (#320113)
6786
6787 2005-11-20  Wim Taymans  <wim@fluendo.com>
6788
6789         * check/Makefile.am:
6790         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
6791         (main):
6792         * gst/Makefile.am:
6793         * gst/gst.h:
6794         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
6795         (gst_segment_set_seek), (gst_segment_set_newsegment),
6796         (gst_segment_to_stream_time), (gst_segment_to_running_time),
6797         (gst_segment_clip):
6798         * gst/gstsegment.h:
6799         Added segment helper structure and methods. Not fully implemented
6800         yet.
6801         Added segment check.
6802
6803 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
6804
6805         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6806           Add a deserialisation test for fractions
6807         * examples/metadata/read-metadata.c: (message_loop),
6808         (make_pipeline), (main):
6809           Fix up metadata reading sample.
6810         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
6811           Debug format fix
6812         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
6813           Don't try and fixate empty caps
6814         * gst/gst_private.h:
6815           Wrap in G_BEGIN_DECLS/G_END_DECLS
6816         * gst/gstvalue.c: (gst_value_collect_fraction),
6817         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
6818         (gst_value_transform_string_fraction),
6819         (gst_value_compare_fraction):
6820           Add some extra guards to ensure that we don't end up 
6821           with an invalid denominator of 0 in a gstfraction and
6822           that fractions always get reduced.
6823
6824 2005-11-20  Wim Taymans  <wim@fluendo.com>
6825
6826         * docs/gst/gstreamer-sections.txt:
6827         * gst/gstbuffer.h:
6828         * gst/gstelement.c:
6829         * gst/gstformat.c:
6830         * gst/gstformat.h:
6831         * gst/gstindex.h:
6832         * gst/gstquery.c:
6833         * gst/gstquery.h:
6834         * gst/gstvalue.c:
6835         Doc fixes.
6836
6837 2005-11-20  Wim Taymans  <wim@fluendo.com>
6838
6839         * docs/design/part-TODO.txt:
6840         * gst/gstcaps.h:
6841         Make a proper enum of the flag.
6842
6843 2005-11-19  Wim Taymans  <wim@fluendo.com>
6844
6845         * docs/design/part-TODO.txt:
6846         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
6847         (gst_format_to_quark), (gst_format_register):
6848         * gst/gstformat.h:
6849         * gst/gstquery.c: (_gst_query_initialize),
6850         (gst_query_type_get_name), (gst_query_type_to_quark),
6851         (gst_query_type_register):
6852         * gst/gstquery.h:
6853         Add type to quark and type to string conversions.
6854
6855 2005-11-19  Andy Wingo  <wingo@pobox.com>
6856
6857         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
6858         #320097.
6859
6860 2005-11-19  Wim Taymans  <wim@fluendo.com>
6861
6862         * docs/design/part-TODO.txt:
6863         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
6864         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
6865         (gst_bin_handle_message_func):
6866         * gst/gstbin.h:
6867         Make message handling overridable.
6868
6869 2005-11-19  Andy Wingo  <wingo@pobox.com>
6870
6871         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
6872
6873         * gst/gstclock.h:
6874         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
6875         be a GstClockTime.
6876         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
6877         is a GstClockTime. Fixes #321710.
6878
6879         * gst/gstclock.h (GstClock): Remove offset property. Add
6880         internal_calibration and external_calibration. Fix padding. Pad
6881         also by GstClockTime so we don't run into problems.
6882
6883         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
6884         (gst_clock_get_rate_offset): Remove.
6885         (gst_clock_set_time_adjust): Remove. Fixes #321712.
6886
6887         * gst/gstutils.h:
6888         * gst/gstutils.c (g_static_rec_cond_wait)
6889         (g_static_rec_cond_timed_wait): Removed, no longer needed.
6890
6891         * gst/gstbin.c: Remove terrible continue_state prototype.
6892
6893         * gst/gstelement.h (gst_element_continue_state): Make public.
6894
6895         * gst/gstelement.h:
6896         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
6897         by continue_state. Fixes #319389.
6898
6899         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
6900         Really fixes #168438. However I don't see anywhere where the
6901         filter function is called... stupid GStreamer...
6902         
6903         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
6904         don't have a dispose function, so it won't get called when the
6905         object is unreffed, but oh well!
6906
6907         * gst/gstindex.c (gst_index_set_filter_full): New API function,
6908         allows a destroy function to be set so user_data can be freed.
6909         Fixes #168438.
6910         (gst_index_set_filter): Call gst_index_set_filter_full.
6911
6912         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
6913
6914         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
6915         string should produce an error, given the lack of a way to
6916         represent NULL strings. Fixes #165650.
6917         
6918         * gst/gstvalue.h: 
6919         * gst/gstvalue.c (gst_value_array_append_value) 
6920         (gst_value_array_prepend_value, gst_value_array_get_size) 
6921         (gst_value_array_get_value): New API, copied from
6922         gst_value_list_*, only operates on arrays.
6923         (gst_value_list_append_value, gst_value_list_prepend_value) 
6924         (gst_value_list_concat, gst_value_list_get_size) 
6925         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
6926
6927         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
6928         init_list, because it works on both.
6929         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
6930         (gst_value_copy_list_or_array): Renamed from copy_list.
6931         (gst_value_free_list_or_array): Renamed from free_list.
6932         (gst_value_collect_list_or_array): Renamed from collect_list.
6933         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
6934         (gst_value_list_or_array_peek_pointer): Renamed from
6935         list_peek_pointer.
6936         (_gst_value_array_value_table, _gst_value_list_value_table):
6937         Update value table functions.
6938         (gst_value_compare_list_or_array): Renamed from compare_list.
6939
6940         * gsttaglist.h: Whoops, foreach function returns void. Also fix
6941         some constness.
6942
6943         * gst/gsttaglist.c:
6944         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
6945         GstTagList*. Fixes #143472.
6946
6947         * gst/gststructure.h: Clarify what the foreach/map functions can
6948         or can't do to their arguments.
6949
6950 2005-11-18  Wim Taymans  <wim@fluendo.com>
6951
6952         * gst/gstclock.c: (gst_clock_set_calibration),
6953         (gst_clock_get_calibration):
6954         Doc and API fixes.
6955         Calibration can be set with internal time equal to current
6956         internal time too.
6957
6958 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
6959
6960         * gst/gsterror.c:
6961         * gst/gsterror.h:
6962           document
6963
6964 2005-11-18  Andy Wingo  <wingo@pobox.com>
6965
6966         * configure.ac: 
6967         * pkgconfig/gstreamer-net.pc.in:
6968         * pkgconfig/gstreamer-net-uninstalled.pc.in:
6969         * pkgconfig/Makefile.am: Add net pkgconfig files.
6970
6971 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
6972
6973         * gst/gstcaps.c:
6974         * gst/gstghostpad.c:
6975         * gst/gsttrace.c:
6976         * gst/gstvalue.c:
6977         * gst/gstvalue.h:
6978           docs fixes
6979
6980 2005-11-18  Andy Wingo  <wingo@pobox.com>
6981
6982         * gst/net/gstnetclientclock.c: Turn off debugging.
6983
6984         * check/net/gstnetclientclock.c (test_functioning): Assert that the
6985         times connverge somewhat. Can't make a real test.
6986
6987         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
6988         integer arithmetic. Return the minimum of the domain, which can be
6989         set as "internal" for gst_clock_set_calibration.
6990         (gst_net_client_clock_observe_times): Call _set_calibration.
6991         (gst_net_client_clock_new): Call _set_calibration instead of
6992         rate_offset.
6993
6994         * check/net/gstnetclientclock.c (test_functioning): Use the right
6995         adjustment api.
6996
6997         * gst/gstclock.h:
6998         * gst/gstclock.c (gst_clock_get_calibration) 
6999         (gst_clock_set_calibration): New functions, obsolete the ones I
7000         added yesterday. Doh. Precision issues mean we have to extrapolate
7001         from a point in the more recent past than 1970.
7002         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
7003         obsolete.
7004         (gst_clock_adjust_unlocked): Use the right calibration data.
7005
7006 2005-11-18  Edward Hervey  <edward@fluendo.com>
7007
7008         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
7009         Also reset the ->current_* values in READY->PAUSED
7010
7011 2005-11-18  Andy Wingo  <wingo@pobox.com>
7012
7013         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
7014         Whoops, check the right fd. Also add some debugging.
7015         (gst_net_client_clock_observe_times): Adjust for int64 offset.
7016         (do_linear_regression): Add a crapload of debugging. Subtract off
7017         the minimum values from the input series to discard unneeded bits.
7018         Use only int arithmetic. There is still double arithmetic when
7019         calculating the intercept that needs fixing. Return boolean to
7020         indicate success; FALSE would mean the domain or range is too
7021         great. Still needs fixes.
7022
7023 2005-11-18  Wim Taymans  <wim@fluendo.com>
7024
7025         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
7026         For the current position in stream time, we need to subtract
7027         accumulated time.
7028         
7029         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
7030         Release lock before calling the callback function of async
7031         entries.
7032
7033 2005-11-18  Andy Wingo  <wingo@pobox.com>
7034
7035         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
7036         Port goes all the way to MAXUINT16.
7037
7038         * gst/net/gstnettimeprovider.c: Make the port range the same as
7039         for the kernel: 0 assigns, otherwise ports are less than
7040         MAXUINT16.
7041
7042         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
7043         port change.
7044
7045         * check/net/gstnetclientclock.c (test_functioning): Add the start
7046         of another test. 
7047
7048 2005-11-18  Wim Taymans  <wim@fluendo.com>
7049
7050         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
7051         (gst_bin_remove_func), (bin_bus_handler):
7052         * gst/gstbin.h:
7053         Removing a clock provider from a bin, triggers a clock lost message
7054         so that a new clock will be selected.
7055         Adding a clock to a bin triggers a clock provider message.
7056         Make sure we reselect a clock when we received a clock lost message.
7057         Keep a reference to the element that provided the clock.
7058
7059 2005-11-18  Andy Wingo  <wingo@pobox.com>
7060
7061         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
7062         the clock initially so it produces values around the base time.
7063         (gst_net_client_clock_class_init): Typo fix.
7064         (gst_net_client_clock_thread): Add note on when the socket gets
7065         closed.
7066
7067 2005-11-17  Wim Taymans  <wim@fluendo.com>
7068
7069         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
7070         Free remote and local time arrays.
7071
7072 2005-11-17  Wim Taymans  <wim@fluendo.com>
7073
7074         * gst/net/gstnetclientclock.c: (do_linear_regression),
7075         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
7076         Fix compilation, uninitialized vars and a forgotten continue.
7077
7078 2005-11-17  Andy Wingo  <wingo@pobox.com>
7079
7080         * check/Makefile.am (check_PROGRAMS): 
7081         * check/net/gstnetclientclock.c: Add a most minimal test for the
7082         net client clock. More to come later.
7083
7084         * gst/net/gstnet.h: 
7085         * gst/net/Makefile.am: Add netclientclock.
7086
7087         * gst/net/gstnetclientclock.h:
7088         * gst/net/gstnetclientclock.c: New files, implement an untested
7089         GstClock that takes its time from a network time provider.
7090         Implements the algorithm in network-clock.scm.
7091
7092         * tests/network-clock.scm (*window-size*): Rename from
7093         *queue-length*.
7094         * tests/network-clock.scm (network-time): 
7095         * tests/network-clock-utils.scm (q-push): Update callers.
7096
7097 2005-11-17  Wim Taymans  <wim@fluendo.com>
7098
7099         * gst/gstbin.c: (gst_bin_provide_clock_func),
7100         (gst_bin_sort_iterator_new):
7101         And unref the child too..
7102
7103 2005-11-17  Wim Taymans  <wim@fluendo.com>
7104
7105         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7106         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
7107         Refactor the sort iterator so it can be used while holding the
7108         LOCK too.
7109         Make clock selection select a clock closest to the source.
7110
7111 2005-11-17  Michael Smith <msmith@fluendo.com>
7112
7113         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
7114         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
7115         * gst/gstclock.h:
7116           Anonymous structs are a gcc (and some other compilers) extension, so
7117           don't use them. Since this is only for ABI-compatibility, and our
7118           API/ABI freeze is over in a few days, this whole thing will only
7119           last a few days, so don't bother trying to think up a meaningful
7120           name for the struct.
7121
7122 2005-11-17  Andy Wingo  <wingo@pobox.com>
7123
7124         * gst/gstclock.h (GstClock): Add rate and offset properties,
7125         preserving ABI stability. Add rate/offset accessors. Will file bug
7126         for the freeze break.
7127
7128         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
7129         and offset, trying to keep precision and avoiding
7130         underflow/overflow.
7131         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
7132         functions. Make gst_clock_set_time_adjust obsolete.
7133         (gst_clock_set_time_adjust): Note that this function is obsolete.
7134         Will file bug soon.
7135
7136         * gst/base/gstbasetransform.h: Make the ABI-stability hack
7137         greppable by using GST_PADDING-1+1.
7138
7139 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
7140
7141         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7142
7143         * gst/gstmessage.c: (gst_message_parse_clock_lost):
7144           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
7145
7146         * gst/gstpadtemplate.h:
7147         * gst/gstpluginfeature.h:
7148           Don't use c++ style comments in headers (#321638).
7149
7150 2005-11-16  Andy Wingo  <wingo@pobox.com>
7151
7152         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
7153         buffer.
7154
7155         * check/net/gstnettimeprovider.c: Check to see that the time
7156         provider actually provides times. Works, yo!
7157
7158 2005-11-16  Wim Taymans  <wim@fluendo.com>
7159
7160         * check/Makefile.am:
7161         Enable more tests.
7162
7163         * check/elements/fakesrc.c: (GST_START_TEST):
7164         Set element to NULL before disposing it.
7165
7166 2005-11-16  Andy Wingo  <wingo@pobox.com>
7167
7168         * gst/net/Makefile.am:
7169         * gst/net/gstnet.h:
7170         * gst/net/gstnettimeprovider.c: 
7171         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
7172         provider, include it from gstnet.h, and add it to the build.
7173
7174         * gst/net/gstnettimepacket.h: 
7175         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
7176         sending and receiving.
7177
7178 2005-11-16  Wim Taymans  <wim@fluendo.com>
7179
7180         * check/Makefile.am:
7181         Enable valgrind check.
7182
7183         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
7184         (gst_fake_src_alloc_buffer):
7185         Fix memleak.
7186
7187 2005-11-16  Wim Taymans  <wim@fluendo.com>
7188
7189         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
7190         Call parent finalize too.
7191
7192 2005-11-16  Wim Taymans  <wim@fluendo.com>
7193
7194         * check/Makefile.am:
7195         Enable valgrind check that should work fine now.
7196
7197         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7198         * gst/gstqueue.c: (gst_queue_init):
7199         Fix memleaks in pad allocation.
7200
7201 2005-11-16  Andy Wingo  <wingo@pobox.com>
7202
7203         * gst/net/Makefile.am:
7204         * gst/net/gstnet.h: New part of core to hold network elements and
7205         objects. Put in core because it exposes API that applications want
7206         to use. The library is named libgstnet-tempname right now because
7207         of the existing libgstnet in gst-plugins-base. Solution is
7208         probably to rename the one in plugins-base; will file a bug for
7209         the freeze break.
7210
7211         * gst/net/gstnettimeprovider.c: 
7212         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
7213         get_time call over the network.
7214
7215         * configure.ac: 
7216         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
7217
7218         * check/Makefile.am:
7219         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
7220         get additions shortly.
7221
7222 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7223
7224         * gst/gstpad.c: (gst_pad_new_from_static_template):
7225         * gst/gstpad.h:
7226           add gst_pad_new_from_static_template functions
7227         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
7228         (gst_check_setup_sink_pad):
7229         * gst/elements/gsttee.c: (gst_tee_init):
7230           and use them
7231
7232 2005-11-16  Wim Taymans  <wim@fluendo.com>
7233
7234         * gst/gstpad.c: (gst_pad_pause_task):
7235         Removed warning, it's not really an error either.
7236
7237 2005-11-16  Wim Taymans  <wim@fluendo.com>
7238
7239         * gst/base/gstbasetransform.c:
7240         (gst_base_transform_prepare_output_buf),
7241         (gst_base_transform_event):
7242         Check if the caps are NULL, this can happen if the element
7243         is shutting down and the pad caps are set to NULL.
7244
7245 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7246
7247         * gst/elements/gsttee.c: (gst_tee_init):
7248           fix pad template leak in tee
7249
7250 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7251
7252         * gst/glib-compat.c: (g_value_dup_gst_object):
7253         * gst/glib-compat.h:
7254         * gst/gstpad.c: (gst_pad_set_property):
7255           use gst_object_ref when setting the pad template; this will
7256           trigger the pad template leaks on GLib 2.6 and the slaves
7257
7258 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7259
7260         * gst/glib-compat.c: (gst_flags_get_first_value):
7261         * gst/glib-compat.h:
7262         * gst/gstregistryxml.c:
7263           remove functions copied from GLib 2.6
7264
7265 2005-11-16  Michael Smith <msmith@fluendo.com>
7266
7267         * gst/Makefile.am:
7268           Don't link against VALGRIND_LIBS. That was always the wrong thing to
7269           do, but only breaks with newer valgrind versions. We're not a
7270           valgrind tool, we have no link-time dependencies on libcoregrind.
7271
7272 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7273
7274         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
7275           some debug changes
7276         * gst/gstmessage.h:
7277           typo fixes
7278
7279 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
7280
7281         * gst/base/gstbasesrc.c: (gst_base_src_init):
7282         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7283         * gst/gstqueue.c: (gst_queue_init):
7284         * gst/gstregistryxml.c: (load_feature):
7285           Revert all these unrefs, they don't even pass make check !
7286
7287 2005-11-15  Johan Dahlin  <johan@gnome.org>
7288
7289         * gst/base/gstbasesrc.c: (gst_base_src_init):
7290         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7291         * gst/gstqueue.c: (gst_queue_init): 
7292         Free pad templates, fixes a couple of leaks.
7293
7294 2005-11-15  Daniel Fischer  <dan at f3c dot com>
7295
7296         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
7297
7298         * gst/gstpad.c: (gst_pad_get_property):
7299           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
7300           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
7301           (#321452)
7302
7303 2005-11-15  Wim Taymans  <wim@fluendo.com>
7304
7305         * gst/gstevent.c:
7306         Small doc update.
7307
7308 2005-11-15  Andy Wingo  <wingo@pobox.com>
7309
7310         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
7311
7312         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
7313         using GST_CLOCK_TIME_NONE to disable base time management.
7314         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
7315         time if it was NONE before.
7316         (gst_pipeline_change_state): Only munge the base time if
7317         stream_time != GST_CLOCK_TIME_NONE.
7318
7319         * check/gst/gstpipeline.c (test_base_time): Punt around the
7320         problem of the probe not being called, because that's not the
7321         issue I'm looking at. Add a check that setting stream_time to NONE
7322         disables base time management.
7323         
7324 2005-11-15  Wim Taymans  <wim@fluendo.com>
7325
7326         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
7327         segment_stop == -1 at startup.
7328
7329         * gst/base/gstbasetransform.c: (gst_base_transform_event),
7330         (gst_base_transform_change_state):
7331         Init segment values at start.
7332
7333 2005-11-15  Wim Taymans  <wim@fluendo.com>
7334
7335         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
7336         0 segment values are 0 in any format.
7337
7338         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7339         * gst/base/gstbasetransform.h:
7340         Parse newsegment correctly in basetransform
7341
7342         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
7343         Sync to clock using updated segment values.
7344
7345 2005-11-15  Andy Wingo  <wingo@pobox.com>
7346
7347         * check/gst/gstpipeline.c (test_base_time): Add check that the
7348         base time and stream time are reset correctly.
7349
7350 2005-11-15  Wim Taymans  <wim@fluendo.com>
7351
7352         * docs/design/part-TODO.txt:
7353         Some more TODO items.
7354
7355 2005-11-15  Andy Wingo  <wingo@pobox.com>
7356
7357         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
7358         error if the user selected "no clock" as the clocking method.
7359
7360         * check/gst/gstpipeline.c (test_base_time): New test for buffer
7361         timestamps with live capture.
7362
7363         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
7364         is 0 but we are a live source, timestamp the buffers using the
7365         element's clock.
7366
7367 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
7368
7369         * docs/gst/gstreamer-sections.txt:
7370         * gst/gsterror.c:
7371         * gst/gstghostpad.c:
7372         * gst/gstobject.h:
7373         * gst/gstxml.c:
7374           more section docs
7375
7376 2005-11-14  Wim Taymans  <wim@fluendo.com>
7377
7378         * common/gst.supp:
7379           add suppressions from Wim's Debian machine
7380
7381 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
7382
7383         * common/gst.supp:
7384           add suppressions from Andy's AMD64 Ubuntu machine
7385
7386 2005-11-14  Andy Wingo  <wingo@pobox.com>
7387
7388         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
7389         STATE_LOCK not necessary. Fixes #311489.
7390
7391         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
7392         #305291.
7393
7394         * gst/gstindex.c (gst_index_add_object): Note in the docs that
7395         this function is not implemented.
7396
7397 2005-11-14  Julien MOUTTE  <julien@moutte.net>
7398
7399         * gst/base/gstbasetransform.c:
7400         (gst_base_transform_prepare_output_buf):
7401         Ref the source pad caps while we need them.
7402         Fixes (#321386)
7403
7404 2005-11-11  Wim Taymans  <wim@fluendo.com>
7405
7406         * docs/gst/gstreamer-sections.txt:
7407         Added some docs for GstCollectData.
7408
7409         * gst/base/gstadapter.c:
7410         Some small code example fix.
7411
7412         * gst/base/gstcollectpads.c:
7413         * gst/base/gstcollectpads.h:
7414         Document some more.
7415
7416 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
7417
7418         * configure.ac: back to HEAD
7419
7420 === release 0.9.5 ===
7421
7422 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
7423
7424         * configure.ac:
7425           releasing 0.9.5, "Bike Lunch Day"
7426
7427 2005-11-11  Wim Taymans  <wim@fluendo.com>
7428
7429         * gst/gstbuffer.c: (_gst_buffer_copy):
7430         Copy more flags.
7431
7432         * gst/gstcaps.c: (gst_caps_is_equal):
7433         Fix some docs.
7434         Make _is_equal fast in the trivial cases.
7435
7436         * gst/gstminiobject.c:
7437         * gst/gstminiobject.h:
7438         More docs. Spifify .h file.
7439
7440         * gst/gstutils.c:
7441         Small doc update.
7442
7443 2005-11-11  Wim Taymans  <wim@fluendo.com>
7444
7445         * gst/base/gstbasetransform.c:
7446         (gst_base_transform_prepare_output_buf),
7447         (gst_base_transform_handle_buffer):
7448         Small cleanups.
7449         If we're processing a buffer and need to allocate an output
7450         buffer, we cannot accept a format change. If we did get a 
7451         format change, we have to alloc a buffer ourselves of the 
7452         right size.
7453
7454 2005-11-11  Wim Taymans  <wim@fluendo.com>
7455
7456         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
7457         While checking the flag for reentrancy in the gstcaps function
7458         is nice to detect recursive invocations, it also makes it 
7459         impossible to call getcaps from multiple threads, which must be
7460         possible. So, checking for recursive calls has to go.
7461
7462 2005-11-11  Michael Smith <msmith@fluendo.com>
7463
7464         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7465           Don't sync on buffers that fall partially outside our current
7466           segment. Prevents an assertion failure/abort playing some files.
7467
7468 2005-11-10  Andy Wingo  <wingo@pobox.com>
7469
7470         * check/gst/gstbin.c (test_message_state_changed_children): Style
7471         fix..
7472
7473         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
7474         gst_bus_poll with the signal watch. Ensures that poll and a signal
7475         watch see the same messages.
7476
7477         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
7478         a poll and a watch at the same time get the same messages.
7479
7480 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7481
7482         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
7483         * gst/gstcaps.c: (gst_caps_intersect):
7484           Don't call gst_caps_do_simplify - it doesn't respect order of caps
7485           and it's not needed.
7486
7487 2005-11-10  Wim Taymans  <wim@fluendo.com>
7488
7489         * docs/design/part-TODO.txt:
7490         Updated todo.
7491
7492 2005-11-10  Wim Taymans  <wim@fluendo.com>
7493
7494         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7495         * gst/base/gstbasesrc.c: (gst_base_src_wait),
7496         (gst_base_src_do_sync), (gst_base_src_get_range):
7497         Implement clock sync in base class.
7498
7499 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7500
7501         patch by: Tim-Philipp Müller <tim at centricular dot net>
7502
7503         * gst/gststructure.c: (gst_structure_parse_field),
7504         (gst_structure_from_string):
7505           Forward-port a 0.8 patch to handle escaped spaces in structure string,
7506           so that gst_parse_launch() can deal with spaces in filtered link
7507           caps (fixes #164479)
7508         * check/gst/capslist.h:
7509         * check/gst/gststructure.c: (GST_START_TEST):
7510           add unit tests for this change
7511
7512 2005-11-10  Wim Taymans  <wim@fluendo.com>
7513
7514         * docs/gst/gstreamer-sections.txt:
7515         * gst/gstelement.c:
7516         * gst/gstelement.h:
7517         Fix docs, move some STATE macros to private.
7518
7519 2005-11-10  Wim Taymans  <wim@fluendo.com>
7520
7521         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
7522         Added check for bug #317341
7523
7524         * gst/gstbuffer.c:
7525         * gst/gstbuffer.h:
7526         Some more spiffifying.
7527
7528         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
7529         Call peer linkfunction if we are a source pad. Totally fixes
7530         #317341
7531
7532         * gst/gstpad.c:
7533         Update docs, source pads should call the peer linkfunction
7534         so they can atomically perform the pad link.
7535
7536 2005-11-09  Wim Taymans  <wim@fluendo.com>
7537
7538         * gst/gstbuffer.c:
7539         * gst/gstbuffer.h:
7540         Uber-spiffy-spiffify some more.
7541
7542 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
7543
7544         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
7545         * gst/elements/gstfilesink.c: (gst_file_sink_init):
7546         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
7547         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
7548         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
7549         * gst/gstpad.c: (gst_pad_init):
7550           Use GST_DEBUG_FUNCPTR() more extensively.
7551
7552 2005-11-09  Wim Taymans  <wim@fluendo.com>
7553
7554         * gst/gstobject.c: (gst_object_class_init):
7555         * gst/gstobject.h:
7556         Documentation fixes.
7557
7558 2005-11-09  Edward Hervey  <edward@fluendo.com>
7559
7560         * gst/gsttypefindfactory.c:
7561         Fix docs.
7562         
7563 2005-11-09  Edward Hervey  <edward@fluendo.com>
7564
7565         * gst/base/gsttypefindhelper.c:
7566         * gst/gsttypefind.c:
7567         * gst/gsttypefind.h:
7568         Fix docs.
7569
7570 2005-11-09  Wim Taymans  <wim@fluendo.com>
7571
7572         * gst/gstiterator.c:
7573         Fix revision data.
7574
7575         * gst/gsttask.c:
7576         * gst/gsttask.h:
7577         Fix docs.
7578
7579 2005-11-09  Wim Taymans  <wim@fluendo.com>
7580
7581         * gst/gstevent.h:
7582         * gst/gsturi.h:
7583         Fix docs.
7584
7585 2005-11-09  Wim Taymans  <wim@fluendo.com>
7586
7587         * docs/gst/gstreamer-sections.txt:
7588         Moved the message async delivery private lock and cond
7589         to the private section.
7590
7591         * gst/gstmessage.c:
7592         * gst/gstmessage.h:
7593         Fixed docs.
7594
7595 2005-11-09  Edward Hervey  <edward@fluendo.com>
7596
7597         * docs/gst/gstreamer-sections.txt:
7598         * gst/gsturi.c:
7599         * gst/gsturi.h:
7600         Document GstURIHandler
7601
7602 2005-11-09  Wim Taymans  <wim@fluendo.com>
7603
7604         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
7605         (gst_iterator_find_custom):
7606         * gst/gstiterator.h:
7607         Fix iterator docs.
7608
7609 2005-11-09  Wim Taymans  <wim@fluendo.com>
7610
7611         * gst/gstbin.h:
7612         Document another field.
7613
7614         * gst/gststructure.c:
7615         * gst/gststructure.h:
7616         Document.
7617
7618 2005-11-09  Wim Taymans  <wim@fluendo.com>
7619
7620         * gst/gstbin.h:
7621         Documented structs.
7622
7623 2005-11-09  Wim Taymans  <wim@fluendo.com>
7624
7625         * docs/gst/gstreamer-sections.txt:
7626         Added some new macros.
7627
7628         * gst/gstclock.c:
7629         * gst/gstclock.h:
7630         * gst/gstobject.h:
7631         Docs updates.
7632
7633 2005-11-09  Wim Taymans  <wim@fluendo.com>
7634
7635         * docs/design/part-TODO.txt:
7636         Some more items for the TODO
7637
7638         * gst/gstcaps.c:
7639         * gst/gstcaps.h:
7640         Document GstCaps.
7641
7642 2005-11-09  Andy Wingo  <wingo@pobox.com>
7643
7644         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
7645         to work on something else now tho...
7646
7647         * gst/base/gstadapter.c: More adapter docs.
7648
7649         * gst/elements/gstfilesink.c (gst_file_sink_start) 
7650         (gst_file_sink_stop): New functions, replace the state change
7651         handler.
7652         (gst_file_sink_class_init): Hook up the start and stop functions.
7653         (gst_file_sink_base_init): Don't set the state change handler any
7654         more. It was a bit ugly too, being set from here...
7655         (gst_file_sink_get_property, gst_file_sink_set_property):
7656         Cleanups...
7657         (gst_file_sink_set_location): More robust check that doesn't call
7658         GST_STATE. Ugggggg.
7659
7660 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
7661
7662         * gst/base/gstbasetransform.c: (gst_base_transform_event):
7663           Hold STREAM_LOCK while pushing newsegment or tag events as well.
7664
7665 2005-11-08  Wim Taymans  <wim@fluendo.com>
7666
7667         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
7668         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
7669         (gst_base_sink_chain), (gst_base_sink_change_state):
7670         * gst/base/gstbasesink.h:
7671         * gst/base/gstbasesrc.h:
7672         * gst/gstelement.h:
7673         * gst/gstevent.h:
7674         Avoid excessive typechecking in macros.
7675
7676         * gst/gstminiobject.c: (gst_mini_object_get_type),
7677         (gst_mini_object_init), (gst_mini_object_new),
7678         (gst_mini_object_free):
7679         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
7680         (gst_object_finalize):
7681         Remove cruft code, optimize alloc_trace.
7682
7683 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
7684
7685         * docs/faq/gst-uninstalled:
7686           fix up PS1 for systems that try to reset it
7687
7688 2005-11-07  Wim Taymans  <wim@fluendo.com>
7689
7690         * gst/base/gstbasesrc.c: (gst_base_src_init),
7691         (gst_base_src_get_range):
7692         Set the segment_end to -1 initially. Fixed typefind.
7693
7694 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
7695
7696         * gst/base/gstadapter.c:
7697           Debug category should be 'adapter', not 'GstAdapter'.
7698           
7699         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
7700         (gst_collectpads_class_init), (gst_collectpads_init),
7701         (gst_collectpads_peek), (gst_collectpads_pop),
7702         (gst_collectpads_event), (gst_collectpads_chain):
7703           Add debug category and some debugging output. Use boilerplate
7704           macros. Remove some extraneous words from docs.
7705
7706 2005-11-05  Andy Wingo  <wingo@pobox.com>
7707
7708         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
7709         macro.
7710
7711 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7712
7713         * docs/gst/gstreamer-sections.txt:
7714         * gst/gstcaps.h:
7715         * gst/gstinfo.c:
7716         * gst/gstminiobject.h:
7717         * gst/gstobject.h:
7718         * gst/gstutils.h:
7719           more docs added
7720
7721 2005-11-04  Wim Taymans  <wim@fluendo.com>
7722
7723         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7724         Small update to stop at the configured segment_end
7725         position.
7726
7727 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
7728
7729         * gst/gstregistry.c:
7730         * gst/gstregistry.h:
7731           added missing docs
7732
7733 2005-11-04  Edward Hervey  <edward@fluendo.com>
7734
7735         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
7736         Check if we are doing a segment seek and have arrived at the
7737         end of that segment.
7738
7739 2005-11-04  Wim Taymans  <wim@fluendo.com>
7740
7741         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
7742         Don't leak a mutex unlock in case of an error.
7743
7744         * gst/gstbus.h:
7745         Doc fixes.
7746
7747 2005-11-04  Wim Taymans  <wim@fluendo.com>
7748
7749         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
7750         (gst_bus_post):
7751         Get the context to wake up only once.
7752
7753 2005-11-03  Wim Taymans  <wim@fluendo.com>
7754
7755         * check/states/sinks.c: (GST_START_TEST):
7756         Uncomment fixed check.
7757
7758         * docs/design/part-TODO.txt:
7759         Updated TODO.
7760
7761         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7762         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7763         (gst_base_sink_get_position):
7764         If we are going to PLAYING, post the right pending state
7765         when we post the intermediate paused message.
7766
7767         * gst/gstelement.c: (gst_element_continue_state),
7768         (gst_element_set_state_func), (gst_element_change_state):
7769         Don't post state changes that were between the same state
7770         and were not ASYNC.
7771
7772 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7773
7774         * docs/gst/gstreamer-sections.txt:
7775         * gst/gstcaps.h:
7776         * gst/gstinfo.c:
7777         * gst/gstminiobject.h:
7778         * gst/gstobject.h:
7779         * gst/gstutils.h:
7780           more docs and doc style fixes
7781
7782 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
7783
7784         * docs/gst/gstreamer-sections.txt:
7785         * gst/gstelement.c:
7786         * gst/gstminiobject.c:
7787         doc fixes
7788
7789 2005-11-03  Andy Wingo  <wingo@pobox.com>
7790
7791         * check/states/sinks.c (test_livesrc_sink): Add checks that the
7792         state-changed messages actually have the right order and the right
7793         values.
7794
7795 2005-11-03  Wim Taymans  <wim@fluendo.com>
7796
7797         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
7798         Added some more checks. Specifically the case where NO_PREROLL
7799         elements are in the pipeline.
7800
7801         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
7802         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
7803         (gst_base_sink_get_position):
7804         Post READY->PAUSED state change messages too.
7805         Fix bug where VOID was posted as pending state...
7806
7807         * gst/gstbin.c: (gst_bin_recalc_state):
7808         use _element_continue_state() to continue the state change.
7809
7810         * gst/gstelement.c: (gst_element_continue_state),
7811         (gst_element_commit_state), (gst_element_set_state_func),
7812         (gst_element_change_state), (gst_element_change_state_func):
7813         Lots of state change cleanups, assign the STATE_RETURN in
7814         a new continue_state() function that also propagates the
7815         last return value from a state change to the app.
7816         Update some debug statements with proper category.
7817
7818 2005-11-03  Wim Taymans  <wim@fluendo.com>
7819
7820         * docs/design/part-events.txt:
7821         * docs/design/part-gstpipeline.txt:
7822         * docs/design/part-messages.txt:
7823         * docs/design/part-overview.txt:
7824         * docs/design/part-seeking.txt:
7825         * docs/design/part-states.txt:
7826         * docs/design/part-trickmodes.txt:
7827         * docs/manual/advanced-position.xml:
7828         Small docs updates.
7829
7830         * gst/gstobject.h:
7831         People think !! is ugly, this looks better.
7832
7833         * gst/gstpad.c: (gst_pad_set_blocked_async):
7834         Remove !! since it's fixed elsewhere now.
7835
7836 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7837
7838         * gst/gstminiobject.h:
7839         * gst/gstobject.h:
7840           Add !! to _FLAG_IS_SET macros to make the result boolean.
7841
7842 2005-11-03  Edward Hervey  <edward@fluendo.com>
7843
7844         * gst/gstpad.c: (gst_pad_set_blocked_async):
7845         comparing a flag and a gboolean rarely returns coherent results...
7846         Added two characters (!!) to make that work correctly.
7847         
7848 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7849
7850         * gst/gstbus.c: (gst_bus_class_init):
7851           Fix some typos.
7852           
7853         * gst/gstqueue.c: (gst_queue_loop):
7854           Don't assume a miniobject that isn't a buffer is an
7855           event (it could be that there is a refcounting
7856           problem somewhere and the pointer is stale and
7857           refers to an already destroyed miniobject).
7858
7859 2005-11-03  Julien MOUTTE  <julien@moutte.net>
7860
7861         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
7862
7863 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
7864
7865         * docs/manual/advanced-position.xml:
7866           Update seek example and explanations to current 0.9 API.
7867
7868         * gst/elements/gsttypefindelement.c:
7869         (gst_type_find_element_activate):
7870           Remove FIXME comment now that the found caps
7871           are unreffed.
7872
7873 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
7874
7875         * gst/gstregistryxml.c: (load_feature):
7876           Add another GST_STR_NULL instance
7877
7878 2005-11-02  Edward Hervey  <edward@fluendo.com>
7879
7880         * gst/gstpad.c: (handle_pad_block):
7881         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
7882         
7883 2005-11-02  Wim Taymans  <wim@fluendo.com>
7884
7885         * gst/gstbin.c:
7886         Fix typo in docs.
7887
7888         * gst/gstelement.c: (gst_element_commit_state):
7889         Remove unused value.
7890
7891         * gst/gstiterator.c:
7892         Mention that the returned element is reffed in the docs.
7893
7894 2005-11-02  Wim Taymans  <wim@fluendo.com>
7895
7896         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
7897         (gst_pad_push), (gst_pad_push_event):
7898         Unlock blocked pads when they are flushed.
7899
7900 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7901
7902         * docs/README:
7903         * docs/gst/gstreamer-sections.txt:
7904         * gst/gstbin.c:
7905           doc updates
7906         * gst/gstregistry.c: (gst_registry_scan_path_level):
7907           fix for a nasty little missed situation where an installed plug-in
7908           which was in the cache did not get overridden by an uninstalled one
7909           which was earlier in the plugin path because the newly created plugin
7910           for the uninstalled one (not in the registry) didn't get its
7911           ->registered set to TRUE
7912
7913 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7914
7915         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
7916         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
7917         (gst_collectpads_is_active), (gst_collectpads_collect),
7918         (gst_collectpads_collect_range), (gst_collectpads_start),
7919         (gst_collectpads_stop), (gst_collectpads_peek),
7920         (gst_collectpads_pop), (gst_collectpads_available),
7921         (gst_collectpads_read), (gst_collectpads_flush):
7922           Guard public API with assertions.
7923         
7924         * gst/gstpad.c:
7925           Fix docs for gst_pad_set_link_function().
7926
7927 2005-11-02  Johan Dahlin  <johan@gnome.org>
7928
7929         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
7930         Unref found_caps after we used it.
7931
7932 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
7933
7934         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
7935           Don't try to ref NULL.
7936
7937 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7938
7939         * win32/common/config.h.in:
7940           provide a GST_FUNCTION that just gives a string for now
7941
7942 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
7943
7944         * win32/common/gstenumtypes.c: (register_gst_object_flags),
7945         (gst_object_flags_get_type), (register_gst_bin_flags),
7946         (gst_bin_flags_get_type), (register_gst_buffer_flag),
7947         (gst_buffer_flag_get_type), (register_gst_bus_flags),
7948         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
7949         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
7950         (gst_clock_return_get_type), (register_gst_clock_entry_type),
7951         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
7952         (gst_clock_flags_get_type), (register_gst_state),
7953         (gst_state_get_type), (register_gst_state_change_return),
7954         (gst_state_change_return_get_type), (register_gst_state_change),
7955         (gst_state_change_get_type), (register_gst_element_flags),
7956         (gst_element_flags_get_type), (register_gst_core_error),
7957         (gst_core_error_get_type), (register_gst_library_error),
7958         (gst_library_error_get_type), (register_gst_resource_error),
7959         (gst_resource_error_get_type), (register_gst_stream_error),
7960         (gst_stream_error_get_type), (register_gst_event_type),
7961         (gst_event_type_get_type), (register_gst_seek_type),
7962         (gst_seek_type_get_type), (register_gst_seek_flags),
7963         (gst_seek_flags_get_type), (register_gst_format),
7964         (gst_format_get_type), (register_gst_index_certainty),
7965         (gst_index_certainty_get_type), (register_gst_index_entry_type),
7966         (gst_index_entry_type_get_type),
7967         (register_gst_index_lookup_method),
7968         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
7969         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
7970         (gst_index_resolver_method_get_type), (register_gst_index_flags),
7971         (gst_index_flags_get_type), (register_gst_debug_level),
7972         (gst_debug_level_get_type), (register_gst_debug_color_flags),
7973         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
7974         (gst_iterator_result_get_type), (register_gst_iterator_item),
7975         (gst_iterator_item_get_type), (register_gst_message_type),
7976         (gst_message_type_get_type), (register_gst_mini_object_flags),
7977         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
7978         (gst_pad_link_return_get_type), (register_gst_flow_return),
7979         (gst_flow_return_get_type), (register_gst_activate_mode),
7980         (gst_activate_mode_get_type), (register_gst_pad_direction),
7981         (gst_pad_direction_get_type), (register_gst_pad_flags),
7982         (gst_pad_flags_get_type), (register_gst_pad_presence),
7983         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
7984         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
7985         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
7986         (gst_plugin_error_get_type), (register_gst_plugin_flags),
7987         (gst_plugin_flags_get_type), (register_gst_rank),
7988         (gst_rank_get_type), (register_gst_query_type),
7989         (gst_query_type_get_type), (register_gst_tag_merge_mode),
7990         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
7991         (gst_tag_flag_get_type), (register_gst_task_state),
7992         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
7993         (gst_alloc_trace_flags_get_type),
7994         (register_gst_type_find_probability),
7995         (gst_type_find_probability_get_type), (register_gst_uri_type),
7996         (gst_uri_type_get_type), (register_gst_parse_error),
7997         (gst_parse_error_get_type):
7998         * win32/common/gstversion.h:
7999           update win32 copies
8000
8001 2005-11-01  Luca Ognibene  <luogni@tin.it>
8002
8003         * gst/gst.c:
8004           fix docs. popt is dead, long live GOption.
8005
8006 2005-10-31  Wim Taymans  <wim@fluendo.com>
8007
8008         * gst/gstbuffer.h:
8009         Small doc fix.
8010
8011 2005-10-31  Andy Wingo  <wingo@pobox.com>
8012
8013         * Boo!
8014
8015         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
8016
8017         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
8018         need to serialize property notifications on GLib 2.8. GLib 2.6 has
8019         the possibility of deadlocks here if code calling notify() or
8020         set() has a lock that can be taken in another notify handler (ABBA
8021         with class lock and e.g. python GIL state lock).
8022
8023 2005-10-28  Julien MOUTTE  <julien@moutte.net>
8024
8025         * gst/gstbus.c: Doc updates.
8026
8027 2005-10-28  Wim Taymans  <wim@fluendo.com>
8028
8029         * docs/design/part-TODO.txt:
8030         * gst/gstiterator.c:
8031         * gst/gstsystemclock.c:
8032         * gst/gstsystemclock.h:
8033         Doc updates.
8034
8035 2005-10-28  Edward Hervey  <edward@fluendo.com>
8036
8037         * docs/gst/gstreamer-docs.sgml:
8038         * docs/gst/gstreamer-sections.txt:
8039         the GstURIType documentation page is private, it only defines GstURIType
8040         which should be defined in the GstURIHandler page
8041         
8042 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
8043
8044         * gst/gstbin.c: (gst_bin_class_init):
8045         * gst/gstbin.h:
8046         * gst/gstutils.c:
8047         Documentation updates.
8048
8049 2005-10-28  Wim Taymans  <wim@fluendo.com>
8050
8051         * docs/gst/gstreamer-sections.txt:
8052         * gst/gstclock.c:
8053         * gst/gstclock.h:
8054         Documented the clocks.
8055
8056 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
8057
8058         * docs/gst/gstreamer-sections.txt:
8059           move some macros to private sections
8060         * gst/gstminiobject.c:
8061         * gst/gstminiobject.h:
8062           add descriptions provided by ds and some more
8063         * gst/gstpad.h:
8064           mark macro as to be removed
8065
8066 2005-10-28  Wim Taymans  <wim@fluendo.com>
8067
8068         * docs/design/part-TODO.txt:
8069         Add an item to TODO.
8070
8071         * gst/gstiterator.c: (gst_iterator_fold),
8072         (gst_iterator_find_custom):
8073         * gst/gstiterator.h:
8074         Add iterator docs.
8075
8076 2005-10-28  Wim Taymans  <wim@fluendo.com>
8077
8078         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
8079         (gst_base_transform_init):
8080         Don't leak class.
8081
8082         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
8083         An EOS event marks the queue as completely filled.
8084
8085 2005-10-27  Wim Taymans  <wim@fluendo.com>
8086
8087         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8088         (gst_base_sink_do_sync), (gst_base_sink_get_position):
8089         Some more debugging.
8090
8091         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
8092         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
8093         (gst_base_transform_event), (gst_base_transform_getrange),
8094         (gst_base_transform_chain):
8095         * gst/base/gstbasetransform.h:
8096         Fix debugging,
8097         Protect transform and concurrent buffer alloc with a new lock.
8098         Try not to break ABI/API.
8099
8100 2005-10-27  Wim Taymans  <wim@fluendo.com>
8101
8102         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
8103         (gst_base_src_init), (gst_base_src_query),
8104         (gst_base_src_default_newsegment),
8105         (gst_base_src_configure_segment), (gst_base_src_do_seek),
8106         (gst_base_src_send_event), (gst_base_src_event_handler),
8107         (gst_base_src_pad_get_range), (gst_base_src_loop),
8108         (gst_base_src_unlock), (gst_base_src_default_negotiate),
8109         (gst_base_src_start), (gst_base_src_deactivate),
8110         (gst_base_src_activate_push), (gst_base_src_change_state):
8111         Move some stuff around and cleanup things.
8112
8113 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
8114
8115         * gst/base/gstbasesrc.c: (gst_base_src_query):
8116           Add missing break statements.
8117
8118 2005-10-27  Wim Taymans  <wim@fluendo.com>
8119
8120         * check/gst/gstbin.c: (GST_START_TEST):
8121         An extra refcount is taken in basesrc.
8122
8123         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
8124         (gst_base_src_get_range), (gst_base_src_pad_get_range),
8125         (gst_base_src_loop):
8126         Small cleanups, check for flushing after being unlocked from the 
8127         LIVE_LOCK. take refcounts correctly (not yet everywhere).
8128         Don't send out EOS when going to READY.
8129
8130 2005-10-27  Wim Taymans  <wim@fluendo.com>
8131
8132         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8133         (gst_base_sink_get_position):
8134         Some more debug.
8135
8136         * gst/gstbin.c: (message_check), (bin_replace_message),
8137         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8138         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8139         (bin_query_duration_init), (bin_query_duration_fold),
8140         (bin_query_duration_done), (bin_query_generic_fold),
8141         (gst_bin_query):
8142         * tools/gst-launch.c: (main):
8143         Remove old option.
8144
8145 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
8146
8147         * examples/controller/audio-example.c: (main):
8148         * examples/queue/queue.c: (event_loop):
8149         * gst/base/gstbasetransform.h:
8150         * gst/gstelement.c: (gst_element_send_event):
8151         * gst/gstevent.h:
8152         * gst/gstpad.c: (gst_pad_send_event):
8153           fixing examples
8154           fixing docs typos
8155           changing log priority in error situations
8156
8157 2005-10-25  Wim Taymans  <wim@fluendo.com>
8158
8159         * gst/gstbin.c: (message_check), (bin_replace_message),
8160         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8161         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8162         (bin_query_duration_init), (bin_query_duration_fold),
8163         (bin_query_duration_done), (bin_query_generic_fold),
8164         (gst_bin_query):
8165         Some doc and debug updates.
8166         Cache previously requested query DURATION for speed. invalidate
8167         cached duration if element posts a DURATION message.
8168
8169 2005-10-25  Wim Taymans  <wim@fluendo.com>
8170
8171         * docs/design/part-TODO.txt:
8172         Update TODO.
8173
8174         * gst/gstbin.c: (message_check), (bin_replace_message),
8175         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8176         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
8177         (bin_query_duration_init), (bin_query_duration_fold),
8178         (bin_query_duration_done), (bin_query_generic_fold),
8179         (gst_bin_query):
8180         Handle SEGMENT_START/DONE messages correctly.
8181         More evolved query algorithm that handles duration queries
8182         correctly.
8183
8184         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
8185         (gst_element_get_state_func), (gst_element_abort_state),
8186         (gst_element_commit_state), (gst_element_lost_state):
8187         Some more debugging.
8188
8189         * gst/gstmessage.h:
8190         Added doc.
8191
8192 2005-10-25  Wim Taymans  <wim@fluendo.com>
8193
8194         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
8195         Don't use invalid stream_time.
8196
8197         * gst/gstevent.c: (gst_event_new_newsegment):
8198         stream_time in newsegment cannot be undefined.
8199
8200 2005-10-24  Wim Taymans  <wim@fluendo.com>
8201
8202         * gst/gstbus.c:
8203         Doc fix.
8204
8205         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
8206         (gst_queue_loop):
8207         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
8208
8209 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
8210
8211         * docs/libs/tmpl/gstdparam.sgml:
8212         * docs/libs/tmpl/gstdplinint.sgml:
8213         * docs/libs/tmpl/gstdpman.sgml:
8214         * docs/libs/tmpl/gstdpsmooth.sgml:
8215         * docs/libs/tmpl/gstunitconvert.sgml:
8216           these are obsolete
8217
8218 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
8219
8220         * configure.ac:
8221           back to HEAD
8222
8223 === release 0.9.4 ===
8224
8225 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8226
8227         * configure.ac:
8228           releasing 0.9.4, "Tyrannosaurus Rex"
8229
8230 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
8231
8232         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8233         (gst_file_sink_get_current_offset):
8234           Use fseeko() and ftello() if available. When falling back on
8235           lseek() to get the current offset, fflush() first to make sure
8236           everything is up-to-date and we get the right offset.
8237
8238 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
8239
8240         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8241         * gst/base/gstbasesrc.c: (gst_base_src_loop):
8242         * gst/gsterror.c: (_gst_stream_errors_init):
8243         * gst/gsterror.h:
8244         * gst/gstqueue.c: (gst_queue_loop):
8245         * po/POTFILES.in:
8246           remove prematurely added error category and clean up the instances
8247
8248 2005-10-21  Wim Taymans  <wim@fluendo.com>
8249
8250         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8251         (gst_base_sink_get_position), (gst_base_sink_query),
8252         (gst_base_sink_change_state):
8253         Simply set the right flag when going to playing, that's all
8254         we need to do instead of calling a function inside the object
8255         lock (that could take the lock as well and deadlock)
8256
8257 2005-10-21  Wim Taymans  <wim@fluendo.com>
8258
8259         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
8260         (gst_base_src_loop):
8261         Don't warn, the peer element knows what to do best when
8262         the seek failed, it might try something else.
8263
8264 2005-10-21  Wim Taymans  <wim@fluendo.com>
8265
8266         * gst/base/gstbasesrc.c: (gst_base_src_init),
8267         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
8268         Fix seeking.
8269
8270 2005-10-21  Wim Taymans  <wim@fluendo.com>
8271
8272         * docs/design/part-segments.txt:
8273         More docs.
8274
8275         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
8276         Correctly set caps, even on the subbufer.
8277
8278 2005-10-21  Wim Taymans  <wim@fluendo.com>
8279
8280         * docs/gst/gstreamer-docs.sgml:
8281         * docs/gst/gstreamer-sections.txt:
8282         * gst/gstelement.h:
8283         * gst/gstevent.c:
8284         * gst/gstevent.h:
8285         * gst/gstmessage.h:
8286         * gst/gstpad.h:
8287         * gst/gstparse.h:
8288         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
8289         * gst/gsttask.h:
8290         * gst/gstutils.c:
8291         * gst/gstutils.h:
8292         And 2% more doc coverage.
8293
8294 2005-10-21  Andy Wingo  <wingo@pobox.com>
8295
8296         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
8297         position reporting.
8298
8299 2005-10-20  Wim Taymans  <wim@fluendo.com>
8300
8301         * gst/gsterror.c: (gst_error_get_message):
8302         * gst/gstparse.h:
8303         * gst/gstquery.h:
8304         * gst/gststructure.c:
8305         * gst/gsttrace.c:
8306         * gst/gstutils.c:
8307         More docs.
8308
8309 2005-10-20  Wim Taymans  <wim@fluendo.com>
8310
8311         * gst/gstbuffer.h:
8312         * gst/gstpad.c:
8313         * gst/gstparse.c:
8314         Another 1% more coverage.
8315
8316 2005-10-20  Wim Taymans  <wim@fluendo.com>
8317
8318         * docs/gst/gstreamer-sections.txt:
8319         * gst/gstelement.c: (gst_element_get_state_func),
8320         (gst_element_abort_state), (gst_element_commit_state),
8321         (gst_element_lost_state):
8322         * gst/gstevent.h:
8323         * gst/gstquery.c: (gst_query_set_position),
8324         (gst_query_parse_position), (gst_query_set_duration),
8325         (gst_query_parse_duration), (gst_query_new_convert):
8326         * gst/gstutils.c:
8327         Yay! 1% more docs coverage.
8328
8329 2005-10-20  Wim Taymans  <wim@fluendo.com>
8330
8331         * gst/gstpad.h:
8332         * gst/gstquery.c: (gst_query_set_position),
8333         (gst_query_parse_position), (gst_query_set_duration),
8334         (gst_query_parse_duration), (gst_query_new_convert):
8335         * gst/gstquery.h:
8336         * gst/gstutils.c: (gst_element_query_convert):
8337         * gst/gstutils.h:
8338         Docs and consistency fixes.
8339
8340 2005-10-20  Wim Taymans  <wim@fluendo.com>
8341
8342         * gst/gsttask.c:
8343         * gst/gsttask.h:
8344         More docs.
8345
8346 2005-10-20  Wim Taymans  <wim@fluendo.com>
8347
8348         * gst/gstbin.c: (message_check), (bin_replace_message),
8349         (bin_remove_messages), (is_eos), (gst_bin_add_func),
8350         (update_degree), (gst_bin_sort_iterator_next),
8351         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
8352         Reworked the message handling a bit, cache the messages instead of
8353         only the senders. alows us to do more in the future.
8354
8355 2005-10-20  Wim Taymans  <wim@fluendo.com>
8356
8357         * docs/design/part-TODO.txt:
8358         Update TODO
8359
8360         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8361         (gst_base_sink_query):
8362         Don't use clock time to report position when in EOS.
8363
8364 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
8365
8366         * tools/gst-inspect.c: (print_interfaces),
8367         (print_element_properties_info), (print_element_info):
8368           Fix interface output with gst-inspect -a; don't print
8369           newlines after double/float properties.
8370
8371 2005-10-20  Wim Taymans  <wim@fluendo.com>
8372
8373         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
8374         (gst_base_sink_query):
8375         Speed up current position calculation.
8376
8377         * gst/base/gstbasesrc.c: (gst_base_src_query),
8378         (gst_base_src_default_newsegment):
8379         Correctly set stream position in newsegment.
8380
8381         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
8382         (update_degree), (gst_bin_sort_iterator_next),
8383         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
8384         * gst/gstmessage.c: (gst_message_new_custom):
8385         Clean up debugging info
8386
8387         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
8388         (gst_queue_loop), (gst_queue_handle_src_query):
8389         Pause task faster.
8390
8391 2005-10-19  Wim Taymans  <wim@fluendo.com>
8392
8393         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8394         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8395         Fix query handling again.
8396
8397 2005-10-19  Wim Taymans  <wim@fluendo.com>
8398
8399         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8400         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
8401         * gst/base/gstbasesrc.c: (gst_base_src_query):
8402         * gst/elements/gstfilesink.c: (gst_file_sink_query):
8403         * gst/elements/gsttypefindelement.c:
8404         (gst_type_find_handle_src_query), (find_element_get_length),
8405         (gst_type_find_element_activate):
8406         API change fix.
8407
8408         * gst/gstquery.c: (gst_query_new_position),
8409         (gst_query_set_position), (gst_query_parse_position),
8410         (gst_query_new_duration), (gst_query_set_duration),
8411         (gst_query_parse_duration), (gst_query_set_segment),
8412         (gst_query_parse_segment):
8413         * gst/gstquery.h:
8414         Bundling query position/duration is not a good idea since duration
8415         does not change much and we don't want to recalculate it for every
8416         position query, so they are separated again..
8417         Base value in segment query is not needed.
8418
8419         * gst/gstqueue.c: (gst_queue_handle_src_query):
8420         * gst/gstutils.c: (gst_element_query_position),
8421         (gst_element_query_duration), (gst_pad_query_position),
8422         (gst_pad_query_duration):
8423         * gst/gstutils.h:
8424         Updates for query API change.
8425         Added some docs here and there.
8426
8427 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
8428
8429         * check/gst/gstbin.c: (GST_START_TEST):
8430         * check/gst/gstghostpad.c: (GST_START_TEST):
8431         * check/pipelines/cleanup.c: (GST_START_TEST):
8432           wait on thread to die so we can check refcount correctly
8433
8434 2005-10-18  Wim Taymans  <wim@fluendo.com>
8435
8436         * check/pipelines/stress.c: (GST_START_TEST):
8437         Make check a little more time consuming.
8438
8439 2005-10-18  Wim Taymans  <wim@fluendo.com>
8440
8441         * check/Makefile.am:
8442         * check/pipelines/stress.c: (GST_START_TEST),
8443         (simple_launch_lines_suite), (main):
8444         Small state change torture test.
8445
8446         * docs/design/part-states.txt:
8447         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
8448         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
8449         (gst_base_sink_change_state):
8450         Never take state lock from streaming thread, clean up ugly
8451         hacks. Unfortunatly core does not yet support nice ways to
8452         async commit state.
8453         
8454         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
8455         (bin_bus_handler):
8456         Start state recalc if a STATE_DIRTY message is posted, but only
8457         on the toplevel bin.
8458
8459         * gst/gstelement.c: (gst_element_sync_state_with_parent),
8460         (gst_element_get_state_func), (gst_element_abort_state),
8461         (gst_element_commit_state), (gst_element_lost_state),
8462         (gst_element_set_state_func), (gst_element_change_state):
8463         * gst/gstelement.h:
8464         State variables are now protected with the LOCK, the state
8465         lock is only used to serialize _set_state().
8466
8467 2005-10-18  Wim Taymans  <wim@fluendo.com>
8468
8469         * check/gst/gstbin.c: (GST_START_TEST):
8470         * check/gst/gstmessage.c: (GST_START_TEST):
8471         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8472         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
8473         (bin_bus_handler):
8474         * gst/gstelement.c: (gst_element_abort_state),
8475         (gst_element_commit_state), (gst_element_lost_state):
8476         * gst/gstmessage.c: (gst_message_new_state_changed),
8477         (gst_message_new_state_dirty), (gst_message_new_segment_start),
8478         (gst_message_new_segment_done), (gst_message_new_duration),
8479         (gst_message_parse_state_changed),
8480         (gst_message_parse_segment_start),
8481         (gst_message_parse_segment_done), (gst_message_parse_duration):
8482         * gst/gstmessage.h:
8483         * tools/gst-launch.c: (event_loop):
8484         Seriously, this is better than a previous commit as we only need
8485         to notify the fact that an element changed state in a streaming
8486         thread, marking the state of the parents dirty, hence the 
8487         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
8488         message.
8489
8490 2005-10-18  Wim Taymans  <wim@fluendo.com>
8491
8492         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
8493         (gst_bin_recalc_func):
8494         * gst/gstelement.c: (gst_element_set_clock),
8495         (gst_element_abort_state), (gst_element_lost_state):
8496         Cleanups, prepare for state change fixes.
8497
8498 2005-10-18  Wim Taymans  <wim@fluendo.com>
8499
8500         * gst/gstbin.h:
8501         * gst/gstelement.c: (gst_element_class_init),
8502         (gst_element_set_state), (gst_element_set_state_func):
8503         * gst/gstelement.h:
8504         Pending ABI changes.
8505         GThreadPool in GstBinClass to monitor async state changes.
8506         state_cookie in GstElement to detect concurrent gst/set state.
8507         set_state is now virtual too in case a very complicated element
8508         has to be constructed.
8509
8510 2005-10-18  Wim Taymans  <wim@fluendo.com>
8511
8512         * check/gst/gstbin.c: (GST_START_TEST):
8513         * check/gst/gstmessage.c: (GST_START_TEST):
8514         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
8515         * gst/gstbin.c: (bin_bus_handler):
8516         * gst/gstelement.c: (gst_element_commit_state),
8517         (gst_element_lost_state):
8518         * gst/gstmessage.c: (gst_message_new_state_changed),
8519         (gst_message_new_segment_start), (gst_message_new_segment_done),
8520         (gst_message_new_duration), (gst_message_parse_state_changed),
8521         (gst_message_parse_segment_start),
8522         (gst_message_parse_segment_done), (gst_message_parse_duration):
8523         * gst/gstmessage.h:
8524         * tools/gst-launch.c: (event_loop):
8525         Make messages future proof.
8526         state-change gets a flag if it was a message comming from the
8527         streaming thread.
8528         segment-start/stop can also be specified in other formats.
8529         A message to notify an app that a pipeline changed playback 
8530         duration.
8531         Also fix a GstMessage leak in -launch
8532
8533 2005-10-18  Andy Wingo  <wingo@pobox.com>
8534
8535         * gst/gstelement.c (gst_element_dispose): More helpful message.
8536
8537 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8538
8539         reviewed by: <delete if not using a buddy>
8540
8541         * common/gtk-doc.mak:
8542
8543 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
8544
8545         * gst/gstregistry.c: (gst_registry_scan_path_level):
8546           unref a plug-in we get that was already initialized
8547
8548 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
8549
8550         * docs/gst/gstreamer-sections.txt:
8551         * docs/libs/gstreamer-libs-sections.txt:
8552         * gst/gstelement.h:
8553           add new api entries
8554           hide internal macro
8555
8556 2005-10-17  Andy Wingo  <wingo@pobox.com>
8557
8558         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
8559         cleanup.
8560
8561         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
8562
8563         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
8564
8565         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
8566         (gst_element_get_state_func): Better debug message.
8567         (gst_element_commit_state): s/INFO/DEBUG/.
8568         (gst_element_lost_state, gst_element_change_state): 
8569
8570         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
8571         (gst_message_new_custom): s/INFO/LOG/.
8572
8573 2005-10-17  Michael Smith <msmith@fluendo.com>
8574
8575         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8576           Check if end time is valid using end time, not start time.
8577
8578 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
8579
8580         * check/gst-libs/controller.c: (GST_START_TEST),
8581         (gst_controller_suite):
8582         * libs/gst/controller/gstcontroller.c:
8583         (gst_controlled_property_set_interpolation_mode):
8584         * libs/gst/controller/gstcontroller.h:
8585         * libs/gst/controller/gstinterpolation.c:
8586         * testsuite/controller/.cvsignore:
8587         * testsuite/controller/Makefile.am:
8588         * testsuite/controller/interpolator.c:
8589           merge controller testsuites
8590           fix broken tests
8591           remove mem-chunk from docs
8592
8593 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8594
8595         * gst/gstmemchunk.c:
8596         * gst/gstmemchunk.h:
8597         * gst/gsttrashstack.c:
8598         * gst/gsttrashstack.h:
8599           out.  get out.  you're fired.  to the Attic !
8600
8601 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
8602
8603         * gst/gstcaps.c: (gst_caps_intersect):
8604           fix signedness issues in a (hopefully) correct way
8605         * gst/gstelement.c: (gst_element_pads_activate):
8606           some debugging
8607         * gst/gstobject.c: (gst_object_set_parent):
8608           some debugging
8609
8610 2005-10-17  Julien MOUTTE  <julien@moutte.net>
8611
8612         * gst/gstvalue.h: Fix prototypes.
8613
8614 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8615
8616         * docs/gst/gstreamer-sections.txt:
8617         * gst/gst.c: (gst_version_string):
8618         * gst/gst.h:
8619         * gst/gstversion.h.in:
8620         * win32/common/libgstreamer.def:
8621           add gst_version_string ()
8622
8623 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8624
8625         * configure.ac:
8626           clean up further
8627         * gst/gst.c: (init_post):
8628         * win32/common/config.h.in:
8629           it's PLUGINDIR now
8630         * gst/gstcaps.c: (gst_caps_intersect):
8631           use gint64, the range could be bigger than a guint
8632
8633 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8634
8635         * gst/gstclock.h:
8636           document potential problem in 2038
8637
8638 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8639
8640         * gst/gstcaps.c: (gst_caps_intersect):
8641           Fix guint j diving under 0
8642
8643 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8644
8645         * configure.ac:
8646         * win32/common/config.h:
8647         * win32/common/config.h.in:
8648           check for process.h, declares getpid() on Windows
8649         * gst/gstinfo.c:
8650           include process.h if we have it
8651         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
8652         * gst/gstmemchunk.h:
8653           fix signedness issues
8654         * win32/common/libgstreamer.def:
8655           fix get_type's
8656
8657 2005-10-16  Julien MOUTTE  <julien@moutte.net>
8658
8659         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
8660         fix. Because of unsigned ints, caps intersection was going nuts and
8661         trying to access structures with G_MAXUINT index. That fixes
8662         videotestsrc ! ffmpegcolorspace ! fakesink
8663         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
8664         consistency.
8665
8666 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8667
8668         * configure.ac:
8669           use the gettext macro
8670         * gst/elements/gstelements.c:
8671         * gst/gst.c:
8672         * gst/indexers/gstindexers.c:
8673           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
8674         * win32/common/config.h:
8675           updated config.h
8676         * win32/common/config.h.in:
8677           add the template to generate config.h
8678         * win32/common/gstenumtypes.c:
8679         * win32/common/gstversion.h:
8680           updated copies
8681
8682 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
8683
8684         * gst/gst.c: (gst_version):
8685         * gst/gstversion.h.in:
8686           add the nano
8687
8688 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8689
8690         * gst/gstevent.h:
8691           Oops, add missing closing bracket.
8692
8693 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8694
8695         * configure.ac:
8696           use common m4's for argument checking
8697
8698 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
8699
8700         * docs/gst/gstreamer-sections.txt:
8701         * gst/gstevent.h:
8702           Add GST_EVENT_TYPE_NAME() macro.
8703
8704 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8705
8706         * gst/gstinfo.c:
8707         * gst/gstpluginfeature.c:
8708         * gst/gsttask.c:
8709           privatize more symbols
8710
8711 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8712
8713         * configure.ac:
8714           add srcdir, builddir includes to GST_ALL_CFLAGS, since
8715           everything that uses GStreamer API should have the includes
8716
8717 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8718
8719         * docs/gst/gstreamer-sections.txt:
8720         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
8721         * gst/gstvalue.h:
8722           give each value a _get_type, removes the DATA exports
8723
8724 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8725
8726         * gst/gst.c:
8727         * gst/gst.h:
8728           remove _gst_registry_auto_load, not used anymore
8729         * gst/gstbin.c: (gst_bin_get_type):
8730         * gst/gstbin.h:
8731         * gst/gstelement.c: (gst_element_get_type):
8732         * gst/gstelement.h:
8733         * gst/gstobject.c: (gst_object_get_type):
8734         * gst/gstobject.h:
8735         * gst/gstpad.c: (gst_pad_get_type):
8736         * gst/gstpad.h:
8737           make _get_type functions similar, fixes data export from library
8738
8739 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8740
8741         * configure.ac:
8742           correctly make conditionals
8743         * gst/elements/Makefile.am:
8744         * gst/elements/gstelements.c:
8745           fix typo causing fdsrc not to build
8746
8747 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8748
8749         * testsuite/Makefile.am:
8750         * testsuite/bytestream/.cvsignore:
8751         * testsuite/bytestream/Makefile.am:
8752         * testsuite/bytestream/filepadsink.c:
8753         * testsuite/bytestream/gstbstest.c:
8754         * testsuite/bytestream/test1.c:
8755         * testsuite/bytestream/testfile1:
8756         * testsuite/caps/normalisation.c:
8757         * testsuite/caps/random.c: (main):
8758         * testsuite/cleanup/.cvsignore:
8759         * testsuite/cleanup/Makefile.am:
8760         * testsuite/cleanup/cleanup1.c:
8761         * testsuite/cleanup/cleanup2.c:
8762         * testsuite/cleanup/cleanup3.c:
8763         * testsuite/cleanup/cleanup4.c:
8764         * testsuite/cleanup/cleanup5.c:
8765         * testsuite/controller/interpolator.c:
8766         * testsuite/debug/printf_extension.c: (main):
8767         * testsuite/elements/tee.c:
8768         * testsuite/negotiation/.cvsignore:
8769         * testsuite/negotiation/Makefile.am:
8770         * testsuite/negotiation/pad_link.c:
8771         * testsuite/pad/Makefile.am:
8772         * testsuite/pad/chainnopull.c:
8773         * testsuite/pad/getnopush.c:
8774         * testsuite/pad/link.c:
8775         * testsuite/refcounting/sched.c: (create_pipeline):
8776         * testsuite/registry/Makefile.am:
8777         * testsuite/registry/gst-print-formats.c:
8778         * testsuite/schedulers/.cvsignore:
8779         * testsuite/schedulers/142183-2.c:
8780         * testsuite/schedulers/142183.c:
8781         * testsuite/schedulers/143777-2.c:
8782         * testsuite/schedulers/143777.c:
8783         * testsuite/schedulers/147713.c:
8784         * testsuite/schedulers/147819.c:
8785         * testsuite/schedulers/147894-2.c:
8786         * testsuite/schedulers/147894.c:
8787         * testsuite/schedulers/Makefile.am:
8788         * testsuite/schedulers/group_link.c:
8789         * testsuite/schedulers/queue_link.c:
8790         * testsuite/schedulers/relink.c:
8791         * testsuite/schedulers/unlink.c:
8792         * testsuite/schedulers/unref.c:
8793         * testsuite/schedulers/useless_iteration.c:
8794         * testsuite/states/bin.c:
8795           clean out/remove some stuff from the testsuite directories
8796
8797 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8798
8799         * configure.ac:
8800           check for some headers
8801         * gst/elements/Makefile.am:
8802         * gst/elements/gstelements.c:
8803           don't compile fdsrc without sys/socket.h
8804         * gst/indexers/Makefile.am:
8805         * gst/indexers/gstindexers.c: (plugin_init):
8806           don't compile fileindex without mmap
8807
8808 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
8809
8810         * configure.ac:
8811           reorganize
8812           clean up
8813           document more
8814           remove cruft
8815         * check/Makefile.am:
8816         * docs/gst/Makefile.am:
8817         * examples/helloworld/Makefile.am:
8818         * gst/Makefile.am:
8819         * gst/base/Makefile.am:
8820         * gst/check/Makefile.am:
8821         * gst/elements/Makefile.am:
8822         * gst/indexers/Makefile.am:
8823         * gst/parse/Makefile.am:
8824         * libs/gst/controller/Makefile.am:
8825         * libs/gst/dataprotocol/Makefile.am:
8826         * examples/helloworld/helloworld.c: (event_loop):
8827           compile fixes, though it's not being compiled currently
8828
8829 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8830
8831         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
8832           Add some simple tests for the new taglist date API.
8833
8834 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8835
8836         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
8837         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
8838           Beautify 'last-message' output: print 'none' for buffer timestamps
8839           and durations if none is set; improve alignment with next messages.
8840
8841 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
8842
8843         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
8844         * gst/gstpluginfeature.h:
8845         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
8846         * gst/gstregistry.h:
8847         * docs/gst/gstreamer-sections.txt:
8848           Add new API to check plugin feature version requirements.
8849
8850         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
8851           Some basic tests for the above.         
8852
8853 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8854
8855         * gst/gststructure.c: (gst_structure_to_string):
8856           guard against NULL printf - happens when for example
8857           a message structure with GstClock gets serialized
8858
8859 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8860
8861         * gst/base/gstcollectpads.c: (gst_collectpads_event):
8862           Fix presumable copy'n'pasto.
8863
8864 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8865
8866         * gst/elements/gstfakesrc.h:
8867         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
8868         * gst/elements/gsttypefindelement.c:
8869           fix some signedness
8870         * gst/elements/gstfilesink.c: (gst_file_sink_render):
8871           I wonder if this could actually write +2GB files before
8872
8873 2005-10-13  Andy Wingo  <wingo@pobox.com>
8874
8875         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
8876         Fix Timmeke Waymans bug.
8877         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
8878         string of the proper length to gst_caps_from_string. There's a
8879         potential for, before this fix, that this could cause someone
8880         connecting over the network to cause a segfault if the payload is
8881         not NUL-terminated.
8882
8883 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8884
8885         * docs/design/draft-push-pull.txt:
8886         * docs/design/part-overview.txt:
8887         * docs/random/TODO-pre-0.9:
8888         * docs/random/old/ChangeLog.gstreamer:
8889         * gst/base/gstpushsrc.c:
8890         * gst/gstclock.c:
8891           fixed typos
8892
8893 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8894
8895         * gst/glib-compat.c: (gst_flags_get_first_value):
8896         * gst/glib-compat.h:
8897         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
8898         (gst_value_compare_double), (gst_value_serialize_flags):
8899           GLib 2.6 g_flags_get_first_value has a bug that triggers an
8900           infinite loop
8901
8902 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8903
8904         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8905         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
8906           fix up debugging
8907         * tools/gst-launch.c: (event_loop):
8908           print out clock nicely
8909
8910 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
8911
8912         * docs/gst/gstreamer-sections.txt:
8913         * gst/gsttaglist.h:
8914         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
8915         (gst_tag_list_get_date_index):
8916           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
8917           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
8918
8919 2005-10-13  Julien MOUTTE  <julien@moutte.net>
8920
8921         * gst/base/gstcollectpads.c: (gst_collectpads_event),
8922         (gst_collectpads_chain):
8923         * gst/base/gstcollectpads.h: Handle newsegment and store informations
8924         in CollectData.
8925
8926 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
8927
8928         * docs/gst/gstreamer-sections.txt:
8929         * gst/gst.c:
8930         * gst/gsterror.h:
8931         * tools/gst-inspect.c: (main):
8932         * tools/gst-launch.c: (main):
8933         * tools/gst-run.c: (main):
8934         * tools/gst-xmlinspect.c: (main):
8935           fix GOption context leaks
8936           doc fixes
8937
8938 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
8939
8940         * gst/gstbus.c:
8941           use HAVE_UNISTD_H
8942         * win32/common/config.h:
8943           update config
8944         * win32/vs6/grammar.dsp:
8945         * win32/vs6/libgstelements.dsp:
8946         * win32/vs6/libgstreamer.dsp:
8947           update vs6 files
8948
8949 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8950
8951         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
8952         * gst/base/gstbasesrc.c: (gst_base_src_query):
8953           fix more guint64<->gdouble conversions
8954
8955 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8956
8957         * Makefile.am:
8958           add win32-update target
8959         * win32/common/gstconfig.h:
8960         * win32/common/gstenumtypes.c:
8961         * win32/common/gstenumtypes.h:
8962         * win32/common/gstversion.h:
8963           add files that visual studio can't generate
8964
8965 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
8966
8967         * Makefile.am:
8968           add a win32-update target
8969         * configure.ac:
8970
8971 2005-10-12  Wim Taymans  <wim@fluendo.com>
8972
8973         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
8974         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
8975         * gst/gstelement.c: (gst_element_commit_state),
8976         (gst_element_set_state):
8977         Protect flags with proper lock.
8978         unref provided cached clock in dispose.
8979
8980 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
8981
8982         * gst/gst.c:
8983         * gst/gstminiobject.h:
8984         * gst/gstpad.h:
8985         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
8986           removed unused flags from miniobject
8987           doc fixes
8988
8989 2005-10-12  Wim Taymans  <wim@fluendo.com>
8990
8991         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
8992         (gst_file_sink_event), (gst_file_sink_render):
8993         Flush before seeking.
8994
8995 2005-10-12  Andy Wingo  <wingo@pobox.com>
8996
8997         * gst/gst.c (gst_init_check): Ignore unknown options, as has
8998         always been the case.
8999
9000 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
9001
9002         * check/gst/gstbin.c: (GST_START_TEST):
9003         * docs/gst/gstreamer-sections.txt:
9004         * gst/base/gstbasesink.c: (gst_base_sink_init):
9005         * gst/base/gstbasesrc.c: (gst_base_src_init),
9006         (gst_base_src_get_range), (gst_base_src_check_get_range),
9007         (gst_base_src_start), (gst_base_src_stop):
9008         * gst/base/gstbasesrc.h:
9009         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
9010         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
9011         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
9012         (bin_bus_handler):
9013         * gst/gstbin.h:
9014         * gst/gstbuffer.h:
9015         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
9016         * gst/gstbus.h:
9017         * gst/gstelement.c: (gst_element_is_locked_state),
9018         (gst_element_set_locked_state), (gst_element_commit_state),
9019         (gst_element_set_state):
9020         * gst/gstelement.h:
9021         * gst/gstindex.c: (gst_index_init):
9022         * gst/gstindex.h:
9023         * gst/gstminiobject.h:
9024         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
9025         (gst_object_set_parent):
9026         * gst/gstobject.h:
9027         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
9028         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
9029         * gst/gstpad.h:
9030         * gst/gstpadtemplate.h:
9031         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
9032         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
9033         * gst/gstpipeline.h:
9034         * gst/indexers/gstfileindex.c: (gst_file_index_load),
9035         (gst_file_index_commit):
9036         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
9037         * testsuite/pad/link.c: (gst_test_src_init),
9038         (gst_test_filter_init), (gst_test_sink_init):
9039         * testsuite/states/locked.c: (main):
9040           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
9041           moved bitshift from macro to enum definition
9042
9043 2005-10-12  Wim Taymans  <wim@fluendo.com>
9044
9045         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
9046         * gst/elements/gstfilesink.c: (gst_file_sink_event),
9047         (gst_file_sink_render):
9048         Some more debugging info.
9049
9050 2005-10-12  Wim Taymans  <wim@fluendo.com>
9051
9052         * docs/design/part-states.txt:
9053         * tools/gst-launch.c: (main):
9054         Some doc updates.
9055         Revert non-intentional change.
9056
9057 2005-10-12  Wim Taymans  <wim@fluendo.com>
9058
9059         * check/gst/gstbin.c: (GST_START_TEST):
9060         * check/gst/gstelement.c: (GST_START_TEST):
9061         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
9062         * check/gst/gstghostpad.c: (GST_START_TEST):
9063         * check/gst/gstpipeline.c: (GST_START_TEST):
9064         * check/pipelines/simple_launch_lines.c: (run_pipeline):
9065         * check/states/sinks.c: (GST_START_TEST):
9066         * gst/elements/gsttypefindelement.c: (stop_typefinding):
9067         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9068         (gst_bin_remove_func), (gst_bin_get_state_func),
9069         (gst_bin_recalc_state), (gst_bin_change_state_func),
9070         (bin_bus_handler):
9071         * gst/gstelement.c: (gst_element_get_state_func),
9072         (gst_element_get_state), (gst_element_abort_state),
9073         (gst_element_commit_state), (gst_element_set_state),
9074         (gst_element_change_state), (gst_element_change_state_func):
9075         * gst/gstelement.h:
9076         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
9077         (gst_pipeline_provide_clock_func):
9078         * gst/gstutils.c: (gst_element_link_pads_filtered):
9079         * tools/gst-launch.c: (main):
9080         * tools/gst-typefind.c: (main):
9081         Use GstClockTime in _get_state() instead of GTimeVal.
9082         Remove old code in gstutils.c
9083
9084 2005-10-12  Andy Wingo  <wingo@pobox.com>
9085
9086         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
9087         removed.
9088
9089         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
9090         there is no task. Shouldn't affect any code, as nothing in our
9091         plugins checks this return value.
9092         (gst_pad_stop_task): Also take the stream lock if the pad has no
9093         task. Docs updated.
9094
9095 2005-10-12  Wim Taymans  <wim@fluendo.com>
9096
9097         * gst/gstpad.c: (pre_activate), (post_activate),
9098         (gst_pad_activate_pull), (gst_pad_activate_push):
9099         Cleanup activation code. Reset old state if
9100         activation failed.
9101
9102 2005-10-12  Wim Taymans  <wim@fluendo.com>
9103
9104         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9105         (gst_base_sink_change_state):
9106         No need to prerol after receiving EOS.
9107
9108         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
9109         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
9110         * gst/elements/gstidentity.c: (gst_identity_event):
9111         Print events more verbosely.
9112
9113 2005-10-12  Wim Taymans  <wim@fluendo.com>
9114
9115         * check/Makefile.am:
9116         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
9117         * check/states/sinks2.c:
9118         Moved sinks2 testcode in sinks check.
9119
9120         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
9121         (gst_bin_remove_func), (gst_bin_recalc_state),
9122         (gst_bin_change_state_func), (bin_bus_handler):
9123         Fix potential race condition when _get_state() iterated over an
9124         ASYNC element right before it posted a state completion.
9125
9126         * gst/gstclock.h:
9127         Do proper cast here.
9128
9129         * gst/gstevent.c: (gst_event_new_newsegment),
9130         (gst_event_parse_newsegment):
9131         A playback rate of 0.0 is not allowed.
9132
9133 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9134
9135         * win32/common/config.h:
9136         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
9137         (_trewinddir), (_ttelldir), (_tseekdir):
9138         * win32/common/dirent.h:
9139         * win32/common/gtchar.h:
9140         * win32/common/libgstbase.def:
9141         * win32/common/libgstreamer.def:
9142         * win32/vs6/grammar.dsp:
9143         * win32/vs6/gst_inspect.dsp:
9144         * win32/vs6/gst_launch.dsp:
9145         * win32/vs6/gstreamer.dsw:
9146         * win32/vs6/libgstbase.dsp:
9147         * win32/vs6/libgstelements.dsp:
9148         * win32/vs6/libgstreamer.dsp:
9149           Visual Studio 6 project files, and a new common directory.
9150           Phear.
9151
9152 2005-10-11  Wim Taymans  <wim@fluendo.com>
9153
9154         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9155         (gst_base_sink_do_sync), (gst_base_sink_query),
9156         (gst_base_sink_change_state):
9157         * gst/base/gstbasesink.h:
9158         Correctly parse newsegment info.
9159
9160 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9161
9162         * gst/gst.c: (init_post):
9163           split plugin paths correctly
9164
9165 2005-10-11  Wim Taymans  <wim@fluendo.com>
9166
9167         * check/gst/gstevent.c: (GST_START_TEST):
9168         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9169         (gst_base_sink_change_state):
9170         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
9171         * gst/base/gstbasetransform.c: (gst_base_transform_event):
9172         * gst/elements/gstfilesink.c: (gst_file_sink_event):
9173         * gst/gstevent.c: (gst_event_new_newsegment),
9174         (gst_event_parse_newsegment):
9175         * gst/gstevent.h:
9176         Added extra flag to newsegment for future API freeze.
9177         Updated check and base elements.
9178
9179 2005-10-11  Julien MOUTTE  <julien@moutte.net>
9180
9181         * gst/base/gstcollectpads.c: (gst_collectpads_init),
9182         (gst_collectpads_add_pad), (gst_collectpads_pop),
9183         (gst_collectpads_event), (gst_collectpads_chain):
9184         * gst/base/gstcollectpads.h: Handle EOS correctly.
9185
9186 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9187
9188         * tools/gst-launch.c: (main):
9189           more null protecting
9190
9191 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9192
9193         * gst/gst-i18n-lib.h:
9194           check for ENABLE_NLS, not GETTEXT_PACKAGE
9195         * gst/gstregistry.c: (gst_registry_add_plugin),
9196         (gst_registry_scan_path_level),
9197         (_gst_registry_remove_cache_plugins):
9198           protect possibly NULL strings
9199         * gst/parse/types.h:
9200           config.h already included before
9201         * tools/gst-inspect.c: (main):
9202           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
9203           check for ENABLE_NLS, not GETTEXT_PACKAGE
9204         * tools/gst-launch.c: (main):
9205           check for ENABLE_NLS, not GETTEXT_PACKAGE
9206
9207 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9208
9209         * configure.ac:
9210           if we don't have glib, fail before testing 2.8
9211         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
9212           fix a leak, should fix plugins-base testsuite
9213
9214 2005-10-11  Andy Wingo  <wingo@pobox.com>
9215
9216         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
9217         take the mode we're going to as an arg. Go head and set the mode
9218         and flushing flags now, so that if the activate function starts a
9219         thread all the flags will be in the right state.
9220         (post_activate): Renamed also. Just handle making sure streaming
9221         finishes for the deactivation case, and setting the deactivated
9222         mode.
9223         (gst_pad_set_active): Complain loudly if deactivation fails.
9224         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
9225         (gst_pad_activate_push): Adapt to pre/post_activate changes,
9226         remove the terrible hack.
9227
9228 2005-10-11  Wim Taymans  <wim@fluendo.com>
9229
9230         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9231         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
9232         (gst_bin_recalc_state), (gst_bin_change_state_func),
9233         (gst_bin_dispose), (bin_bus_handler):
9234         * gst/gstbin.h:
9235         Prepare to make current EOS message queue more generic.
9236         Fix some typos.
9237
9238         * gst/gstevent.c: (gst_event_new_newsegment),
9239         (gst_event_parse_newsegment):
9240         * gst/gstevent.h:
9241         Rename base to stream_time.
9242
9243         * gst/gstmessage.h:
9244         Fix typo in docs.
9245
9246 2005-10-11  Wim Taymans  <wim@fluendo.com>
9247
9248         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
9249         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
9250         (gst_bin_change_state_func), (bin_bus_handler):
9251         * gst/gstbin.h:
9252         Work on proper clock selection.
9253
9254 2005-10-11  Edward Hervey  <edward@fluendo.com>
9255
9256         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
9257         * libs/gst/controller/gstcontroller.h:
9258         Added GList* version of _remove_properties() in order to be able to wrap
9259         it in bindings.
9260
9261 2005-10-11  Wim Taymans  <wim@fluendo.com>
9262
9263         * docs/design/part-states.txt:
9264         Some more docs.
9265
9266         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
9267         (gst_bin_change_state_func), (bin_bus_handler):
9268         Doc updates. Don't distribute the same clock over and over again.
9269
9270         * gst/gstclock.c:
9271         * gst/gstclock.h:
9272         Doc updates.
9273
9274         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
9275         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
9276         (gst_pad_send_event):
9277         * gst/gstpad.h:
9278         Make probe emission threadsafe again.
9279         Register quarks and move _get_name() from utils.
9280         Doc updates.
9281
9282         * gst/gstpipeline.c: (gst_pipeline_class_init),
9283         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9284         Only redistribute the clock of it changed.
9285
9286         * gst/gstsystemclock.h:
9287         Doc updates. 
9288
9289         * gst/gstutils.c:
9290         * gst/gstutils.h:
9291         Moved the _flow_get_name() to GstPad.
9292
9293 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9294
9295         * check/gst-libs/gdp.c: (GST_START_TEST):
9296         * check/gst/gstcaps.c: (GST_START_TEST):
9297         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
9298         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
9299         (gst_dp_packet_from_caps):
9300           fix more valgrind warnings before turning up the heat
9301
9302 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
9303
9304         * gst/parse/grammar.y:
9305           some cleanup before the hacking
9306
9307 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9308
9309         * gst/base/gstbasesrc.c: (gst_base_src_query):
9310           use conversions
9311         * gst/gstutils.c: (gst_guint64_to_gdouble),
9312         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
9313         * gst/gstutils.h:
9314           externalize, basesrc uses it
9315           obviously the implementation needs testing
9316
9317 2005-10-10  Wim Taymans  <wim@fluendo.com>
9318
9319         * tests/sched/Makefile.am:
9320         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
9321         (make_pipeline3), (make_pipeline4), (print_elem), (main):
9322
9323 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9324
9325         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
9326           apparently converting from guint64 to double is not implemented
9327           on MSVC
9328
9329 2005-10-10  Wim Taymans  <wim@fluendo.com>
9330
9331         * check/Makefile.am:
9332         * check/generic/states.c: (GST_START_TEST):
9333         * check/gst/gstbin.c: (GST_START_TEST):
9334         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
9335         * check/states/sinks.c: (GST_START_TEST):
9336         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
9337         (main):
9338         Check fixes, use API as stated in design docs, remove hacks.
9339
9340         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9341         (gst_base_sink_change_state):
9342         Catch stopping our task while we're shutting down.
9343
9344         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
9345         (gst_bin_remove_func), (gst_bin_get_state_func),
9346         (gst_bin_recalc_state), (gst_bin_change_state_func),
9347         (bin_bus_handler):
9348         * gst/gstbin.h:
9349         * gst/gstelement.c: (gst_element_init),
9350         (gst_element_get_state_func), (gst_element_abort_state),
9351         (gst_element_commit_state), (gst_element_lost_state),
9352         (gst_element_set_state), (gst_element_change_state),
9353         (gst_element_change_state_func):
9354         * gst/gstelement.h:
9355         New state change algorithm (see #318116)
9356
9357         * gst/gstpipeline.c: (gst_pipeline_class_init),
9358         (gst_pipeline_init), (gst_pipeline_set_property),
9359         (gst_pipeline_get_property), (do_pipeline_seek),
9360         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
9361         * gst/gstpipeline.h:
9362         Remove crude state change hacks.
9363
9364         * gst/gstutils.h:
9365         Remove crude hacks.
9366
9367         * tools/gst-launch.c: (main):
9368         Fixes for state change. Needs some more work to fully use the
9369         new stuff.
9370
9371 2005-10-10  Andy Wingo  <wingo@pobox.com>
9372
9373         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
9374
9375         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
9376         this flag, but it's not even in GLib 2.6. Odd. Hack around the
9377         issue.
9378
9379 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9380
9381         * gst/gstiterator.c: (gst_iterator_new):
9382           Fix my previous commit: GTypes passed to gst_iterator_new()
9383           can be fundamental types.
9384
9385 2005-10-10  Wim Taymans  <wim@fluendo.com>
9386
9387         * gst/gstelement.c: (gst_element_iterate_pad_list),
9388         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
9389         (gst_element_iterate_sink_pads):
9390         Use src/sink pads lists for the respective iterators instead
9391         of filtering.
9392
9393 2005-10-10  Andy Wingo  <wingo@pobox.com>
9394
9395         Merged in popt removal + GOption addition patch from Ronald, bug
9396         #169772.
9397
9398         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
9399         GstElement macros around, remove popt-related symbols, add goption
9400         stuff.
9401
9402         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
9403         
9404         * docs/gst/Makefile.am:
9405         * docs/libs/Makefile.am: No POPT_CFLAGS.
9406         
9407         * examples/manual/Makefile.am:
9408         * docs/manual/basics-init.xml: Doc updates with an example.
9409         
9410         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
9411         (gst_init), (parse_one_option), (parse_goption_arg):
9412         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
9413         bit of hand merging and debugging to get the GOption stuff working
9414         tho.
9415         
9416         * tests/Makefile.am:
9417         * tools/Makefile.am:
9418         * tools/gst-inspect.c: (main):
9419         * tools/gst-launch.c: (main):
9420         * tools/gst-run.c: (main):
9421         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
9422
9423 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9424
9425         * gst/gstiterator.c: (gst_iterator_new):
9426           Add assertions to make sure passed GType is likely to really
9427           be a GType (as the compiler won't catch it if the size and
9428           GType arguments get mixed up, see #318447).
9429
9430 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
9431
9432         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9433
9434         * gst/gstbin.c: (gst_bin_iterate_sorted):
9435           Pass GType and size arguments to gst_iterator_new() in the right
9436           order (maybe we should make _new() take the GType as first argument
9437           just like _new_list()?) (#318447).
9438           
9439
9440 2005-10-10  Wim Taymans  <wim@fluendo.com>
9441
9442         * gst/gstelement.c: (gst_element_finalize):
9443         And free the GStaticRecMutex too
9444
9445 2005-10-10  Andy Wingo  <wingo@pobox.com>
9446
9447         * gst/gstelement.c (gst_element_init, gst_element_finalize):
9448         Allocate and free the mutex properly.
9449
9450         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
9451         New macros.
9452         (GstElement): The state_lock is now recursive. Rebuild your
9453         plugins, suckers. Old macros adapted.
9454
9455         * docs/gst/gstreamer-sections.txt: Doc updates.
9456
9457         * gst/gstutils.h:
9458         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
9459         (g_static_rec_cond_wait): Ported from state changes patch, while
9460         we wait on bug #317802 to be solved in a well-distributed GLib.
9461
9462         * gst/gstelement.c (gst_element_change_state_func): Renamed from
9463         gst_element_change_state, variable name changes.
9464         (gst_element_change_state): Split out of gst_element_set_state in
9465         preparation for the state change merge. Doesn't pay attention to
9466         the 'transition' argument.
9467         (gst_element_set_state): Updates, hopefully purely cosmetic.
9468         (gst_element_sync_state_with_parent): MT-safety. Ported from the
9469         state change patch.
9470         (gst_element_get_state_func): Renamed from get_state, cosmetic
9471         changes.
9472
9473 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9474
9475         * gst/elements/gstelements.c:
9476         * win32/GStreamer.vcproj:
9477         * win32/config.h:
9478         * win32/dirent.c: (_tseekdir):
9479         * win32/gst-inspect.vcproj:
9480         * win32/gst-launch.vcproj:
9481         * win32/gstconfig.h:
9482         * win32/gstelements.vcproj:
9483         * win32/gstenumtypes.c: (gst_object_flags_get_type):
9484         * win32/gstreamer.def:
9485         * win32/msvc71.sln:
9486           updates for the win32 build (patch from Sebastien Moutte)
9487
9488 2005-10-10  Andy Wingo  <wingo@pobox.com>
9489
9490         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
9491         gst_bin_get_state, cleaned up (but no logic changes).
9492         (bin_element_is_sink): Comment updates.
9493         (sink_iterator_filter): Remove needless cast.
9494         (gst_bin_iterate_sinks): Doc update.
9495         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
9496         cleaned up (but no logic changes).
9497
9498         * check/states/sinks.c (test_src_sink): Cleanups from the state
9499         change patch.
9500         (test_livesrc_sink): Sync on the state.
9501
9502         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
9503         the state change patch.
9504
9505         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
9506         change patch.
9507
9508         * check/gst/gstbin.c: Merge in some style fixes and additional
9509         checks from Wim's state change patch.
9510
9511 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
9512
9513         * gst/base/gsttypefindhelper.c: (helper_find_peek),
9514         (gst_type_find_helper):
9515           Check whether we have the requested data already in our list of
9516           cached buffers before pulling a new buffer; also make the buffer
9517           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
9518
9519 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
9520
9521         * gst/gstcaps.c:
9522         * gst/gstevent.c:
9523           doc updates
9524         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
9525           don't use long long, it's not portable.  Replacing with
9526           gint64 seems to work; let's hope no skeletons fall out of the closet.
9527
9528 2005-10-10  Andy Wingo  <wingo@pobox.com>
9529
9530         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
9531
9532 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
9533
9534         * docs/gst/gstreamer-sections.txt:
9535         * gst/gstevent.c:
9536         * gst/gstevent.h:
9537         * gst/gstinfo.c:
9538         * gst/gstinfo.h:
9539         * gst/gstmessage.c: (gst_message_parse_state_changed):
9540         * gst/gstpad.c:
9541         * gst/gstpad.h:
9542           more docs, fix compilation
9543
9544 2005-10-09  Philippe Khalaf <burger@speedy.org>
9545         * gst/gstmessage.c:
9546           Fixed a few forgotten variables on previous commit
9547
9548 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
9549
9550         * gst/base/gsttypefindhelper.c: (helper_find_peek):
9551           Fix evil typefind crasher: getrange() might return a short
9552           buffer at the end of a file, but gst_type_find_peek() must
9553           either return the full data as requested or NULL, but
9554           never a short buffer.
9555
9556 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
9557
9558         * gst/gstmessage.c: (gst_message_new_state_changed),
9559         (gst_message_parse_state_changed):
9560         * gst/gstmessage.h:
9561           don't use "new", it's a C++ keyword
9562
9563 2005-10-08  Wim Taymans  <wim@fluendo.com>
9564
9565         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
9566         * gst/gstelement.c: (gst_element_post_message):
9567         * gst/gstpipeline.c: (gst_pipeline_change_state):
9568         Small docs and debug updates.
9569
9570 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9571
9572         * docs/gst/gstreamer-sections.txt:
9573         * gst/gstelementfactory.c:
9574         * gst/gstevent.c:
9575         * gst/gsttaglist.c:
9576           more docs
9577
9578 2005-10-08  Wim Taymans  <wim@fluendo.com>
9579
9580         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
9581         (gst_bin_dispose), (bin_bus_handler):
9582         Fix typos, add comments.
9583         Clear EOS list when going to PAUSED from any direction and do it
9584         in a threadsafe way.
9585         Get base time in a threadsafe way too.
9586         Fix confusing debug in the change_state function.
9587         Various other small cleanups.
9588         
9589         * gst/gstelement.c: (gst_element_post_message):
9590         Fix very verbose bus posting code.
9591
9592         * gst/gstpipeline.c: (gst_pipeline_class_init),
9593         (gst_pipeline_set_property), (gst_pipeline_get_property),
9594         (gst_pipeline_change_state):
9595         Small ARG_ -> PROP_ cleanup
9596
9597 2005-10-08  Wim Taymans  <wim@fluendo.com>
9598
9599         * gst/gstbin.c: (is_eos), (bin_bus_handler):
9600         Do a less CPU demanding EOS check because we can.
9601
9602 2005-10-08  Wim Taymans  <wim@fluendo.com>
9603
9604         * libs/gst/dataprotocol/dataprotocol.c:
9605         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
9606         (gst_dp_packet_from_event):
9607         * libs/gst/dataprotocol/dataprotocol.h:
9608         * libs/gst/dataprotocol/dp-private.h:
9609         It's about time we bump the version number.
9610         Since event types don't fit in the guint8 anymore describing
9611         the payload type, make payload type 16 bits wide.
9612
9613 2005-10-08  Wim Taymans  <wim@fluendo.com>
9614
9615         * docs/design/part-TODO.txt:
9616         * docs/design/part-clocks.txt:
9617         * docs/design/part-events.txt:
9618         * docs/design/part-gstbin.txt:
9619         * docs/design/part-gstelement.txt:
9620         * docs/design/part-gstpipeline.txt:
9621         * docs/design/part-live-source.txt:
9622         * docs/design/part-messages.txt:
9623         * docs/design/part-overview.txt:
9624         * docs/design/part-states.txt:
9625         Many doc updates.
9626
9627 2005-10-08  Wim Taymans  <wim@fluendo.com>
9628
9629         * gst/gstevent.c:
9630         * gst/gstevent.h:
9631         Fix event quark registration.
9632         Add some space between events so we can insert them in the
9633         right groups.
9634
9635 2005-10-08  Wim Taymans  <wim@fluendo.com>
9636
9637         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9638         (gst_base_sink_handle_buffer):
9639         Better log message.
9640
9641         * gst/gstbus.h:
9642         * gst/gstelement.h:
9643         More docs.
9644
9645         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
9646         (gst_queue_set_property), (gst_queue_get_property):
9647         * gst/gstqueue.h:
9648         Remove old unused properties.
9649
9650 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
9651         * docs/gst/gstreamer-sections.txt:
9652         * gst/gstmessage.c:
9653         * gst/gstmessage.h:
9654         * gst/gstminiobject.c:
9655         * gst/gstminiobject.h:
9656         * gst/gstobject.h:
9657         * gst/gstpad.h:
9658         * gst/gstutils.h:
9659           lots of new docs and doc fixes
9660
9661 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9662
9663         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
9664         * gst/gstplugin.h:
9665         * gst/gstregistry.c: (gst_registry_lookup_locked),
9666         (gst_registry_scan_path_level):
9667         * gst/gstregistryxml.c: (load_plugin):
9668           Only ever load one plugin for a given plugin basename.
9669           This ensures correct overriding of GST_PLUGIN_PATH over
9670           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
9671           system installed plugins.
9672
9673 2005-10-08  Wim Taymans  <wim@fluendo.com>
9674
9675         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9676         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
9677         Prepare for doing QOS.
9678
9679 2005-10-08  Wim Taymans  <wim@fluendo.com>
9680
9681         * check/gst/gstbin.c: (GST_START_TEST):
9682         * check/pipelines/cleanup.c: (GST_START_TEST):
9683         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
9684         Allow new clock message too.
9685
9686 2005-10-08  Wim Taymans  <wim@fluendo.com>
9687
9688         * gst/gstmessage.c: (gst_message_new_error),
9689         (gst_message_new_warning), (gst_message_new_tag),
9690         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9691         (gst_message_new_clock_lost), (gst_message_new_new_clock),
9692         (gst_message_new_segment_start), (gst_message_new_segment_done),
9693         (gst_message_parse_state_changed),
9694         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
9695         (gst_message_parse_new_clock):
9696         * gst/gstmessage.h:
9697         Also carry the clock in question.
9698
9699 2005-10-08  Wim Taymans  <wim@fluendo.com>
9700
9701         * gst/gstmessage.c: (gst_message_new_custom),
9702         (gst_message_new_eos), (gst_message_new_error),
9703         (gst_message_new_warning), (gst_message_new_tag),
9704         (gst_message_new_state_changed), (gst_message_new_clock_provide),
9705         (gst_message_new_new_clock), (gst_message_new_segment_start),
9706         (gst_message_new_segment_done), (gst_message_parse_state_changed),
9707         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
9708         * gst/gstmessage.h:
9709         Clean up.
9710         Added clock related messages.
9711
9712         * gst/gstpipeline.c: (gst_pipeline_change_state):
9713         Post message when the clock changed.
9714
9715         * tools/gst-launch.c: (event_loop):
9716         Print new clock.
9717
9718 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
9719
9720         * tools/gst-inspect.c: (print_element_properties_info):
9721           Can't pass NULL strings to g_print() on windows.
9722
9723 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9724
9725         * docs/Makefile.am:
9726         * docs/gst/Makefile.am:
9727         * docs/gst/gstreamer-docs.sgml:
9728         * docs/gst/running.xml:
9729         * docs/version.entities.in:
9730           add a chapter on running GStreamer.
9731           document GST_DEBUG and GST_PLUGIN* env vars
9732
9733 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9734
9735         * Makefile.am:
9736           remove include dir
9737         * configure.ac:
9738           remove PLUGINS_BUILDDIR stuff
9739         * gst/gst.c: (init_post):
9740           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
9741         * idiottest.mak:
9742           remove, it was condescending and not needed
9743
9744 2005-10-08  Wim Taymans  <wim@fluendo.com>
9745
9746         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
9747         (gst_base_sink_handle_object), (gst_base_sink_event),
9748         (gst_base_sink_wait), (gst_base_sink_handle_event),
9749         (gst_base_sink_change_state):
9750         * gst/base/gstbasesink.h:
9751         Repost EOS message while going to PLAYING if still EOS.
9752         Make sure that when receiving a FLUSH_START we don't attempt
9753         to sync on the clock anymore.
9754
9755 2005-10-08  Wim Taymans  <wim@fluendo.com>
9756
9757         * tools/gst-launch.c: (event_loop):
9758         Better message printout.
9759
9760 2005-10-08  Wim Taymans  <wim@fluendo.com>
9761
9762         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
9763         (gst_bin_child_proxy_get_children_count):
9764         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
9765         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
9766         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
9767         (gst_child_proxy_set_valist):
9768         * gst/parse/grammar.y:
9769         Make ChildProxy threadsafe and fix mem leaks.
9770
9771 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9772
9773         * gst/gst.c: (init_post):
9774           debug the GST_PLUGIN_ env vars
9775
9776 2005-10-08  Wim Taymans  <wim@fluendo.com>
9777
9778         * check/gst/gstbin.c: (GST_START_TEST):
9779         * check/gst/gstmessage.c: (GST_START_TEST):
9780         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
9781         * gst/gstelement.c: (gst_element_commit_state),
9782         (gst_element_lost_state):
9783         * gst/gstmessage.c: (gst_message_new_state_changed),
9784         (gst_message_parse_state_changed):
9785         * gst/gstmessage.h:
9786         * tools/gst-launch.c: (event_loop):
9787         Added extra field to STATE_CHANGE message with the pending
9788         state, which will be different from the new state soon.
9789
9790 2005-10-08  Wim Taymans  <wim@fluendo.com>
9791
9792         * gst/gstbus.c: (gst_bus_pop):
9793         * gst/gstclock.c:
9794         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
9795         Small cleanups and doc updates.
9796
9797 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
9798
9799         * gst/gst.c: (init_pre):
9800         * gst/gstbin.c: (gst_bin_add_func):
9801           log distributing clocks and base time
9802         * gst/gstregistry.c: (gst_registry_add_plugin),
9803         (gst_registry_scan_path_level), (gst_registry_scan_path):
9804           clean up the debugging output a little
9805         * gst/gstutils.c: (gst_element_state_get_name):
9806           warn about a memleak (I've actually seen this be used, though
9807           it was probably a bug)
9808
9809 2005-10-07  Wim Taymans  <wim@fluendo.com>
9810
9811         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
9812         (gst_base_src_init), (gst_base_src_default_newsegment),
9813         (gst_base_src_newsegment), (gst_base_src_do_seek),
9814         (gst_base_src_loop), (gst_base_src_start):
9815         * gst/base/gstbasesrc.h:
9816         Make the newsegment event customizable by subclasses.
9817
9818 2005-10-07  Wim Taymans  <wim@fluendo.com>
9819
9820         * gst/gstevent.c: (gst_event_new_buffersize),
9821         (gst_event_parse_buffersize):
9822         * gst/gstevent.h:
9823         New event for future idea.
9824
9825 2005-10-07  Andy Wingo  <wingo@pobox.com>
9826
9827         * gst/gstelement.c (gst_element_post_message): Doc update.
9828
9829         * docs/gst/gstreamer-sections.txt: Update.
9830
9831         * gst/gstmessage.c (gst_message_new_application): Made into a
9832         function like honest API calls.
9833         (gst_message_new_element): New message type.
9834
9835         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
9836
9837         * check/elements/fakesrc.c (test_no_preroll): New check, checks
9838         that setting a live fakesrc to PAUSED returns NO_PREROLL both
9839         times.
9840
9841         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
9842         NO_PREROLL from gst_element_change_state to fall through.
9843
9844 2005-10-07  Wim Taymans  <wim@fluendo.com>
9845
9846         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
9847         (gst_ghost_pad_do_activate_push):
9848         Activating a ghostpad with no internal pad in push mode
9849         is ok.
9850
9851 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9852
9853         * gst/gstobject.h:
9854           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
9855           Fixes compilation on Windows.
9856
9857 2005-10-07  Michael Smith <msmith@fluendo.com>
9858
9859         * tools/gst-inspect.c:
9860           Print out feature and plugin count at the end when printing out
9861           all features.
9862
9863 2005-10-04  Michael Smith <msmith@fluendo.com>
9864
9865         * gst/gsterror.c: (_gst_stream_errors_init):
9866           Add another error string used in a few existing plugins.
9867
9868         * gst/gstplugin.c:
9869         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
9870         * tools/gst-inspect.c: (print_element_info):
9871           When a feature disappears from a plugin (and the feature exists in
9872           the cached registry file), things went horribly wrong. This isn't a
9873           complete fix, we should actually be removing the 'missing' features
9874           from the features list when we load the actual plugin. That's not
9875           yet implemented. 
9876
9877 2005-10-04  Johan Dahlin  <johan@gnome.org>
9878
9879         * check/gst/gstiterator.c: (GST_START_TEST):
9880         * gst/gstbin.c: (gst_bin_iterate_elements),
9881         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
9882         * gst/gstelement.c: (gst_element_iterate_pads):
9883         * gst/gstformat.c: (gst_format_iterate_definitions):
9884         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
9885         (gst_iterator_new_list), (gst_iterator_filter):
9886         * gst/gstiterator.h:
9887         * gst/gstquery.c: (gst_query_type_iterate_definitions):
9888         Add a GType to GstIterator, update callsites and tests.
9889
9890 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9891
9892         * gst/gstpad.c: (gst_pad_event_default_dispatch):
9893           give events a chance to be handled by event probes when the pad
9894           is not linked
9895
9896 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9897
9898         * gst/gstevent.c: (gst_event_type_get_name),
9899         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
9900         * gst/gstevent.h:
9901           add string representations for event types
9902
9903 2005-10-06  Wim Taymans  <wim@fluendo.com>
9904
9905         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
9906         Don't use NULL pointers.
9907
9908 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9909
9910         * gst/gst_private.h:
9911         * gst/gstbus.c:
9912         * gst/gstelement.c:
9913         * gst/gstinfo.c:
9914         * gst/gstpluginfeature.c:
9915           widen the debug category in output to fit the biggest one we have
9916           add a bus category and use it
9917           play with the colors
9918           fix up some categories
9919
9920 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9921
9922         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
9923           add push activation of sink ghost pads.
9924           Andye, please verify
9925
9926 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9927
9928         * gst/gstutils.c: (gst_element_link_pads):
9929           fix a bug in the case where neither element has a pad
9930         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
9931           add a test for that case
9932
9933 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9934
9935         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
9936           emit have-data before checking for peers.  This allows
9937           for probe handlers to connect elements.  This helps autopluggers.
9938         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
9939         (gst_pad_suite):
9940           add six checks, linked/unlinked with no/true/false probe
9941
9942 2005-10-04  Wim Taymans  <wim@fluendo.com>
9943
9944         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
9945         (gst_fake_sink_event), (gst_fake_sink_preroll),
9946         (gst_fake_sink_render), (gst_fake_sink_change_state):
9947         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
9948         (gst_fake_src_get_property), (gst_fake_src_create),
9949         (gst_fake_src_stop):
9950         * gst/elements/gstidentity.c: (gst_identity_stop):
9951         Protect last_message with lock.
9952
9953 2005-10-04  Edward Hervey  <edward@fluendo.com>
9954
9955         * gst/gstformat.h: 
9956         Added precision in the comments for GST_FORMAT_DEFAULT
9957
9958 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
9959
9960         * tools/gst-launch.c: (main):
9961           Don't try to run erroneous pipelines.
9962
9963 2005-10-04  Julien MOUTTE  <julien@moutte.net>
9964
9965         * gst/gstbus.c: We don't need this header.
9966
9967 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9968
9969         * configure.ac:
9970           back to development
9971
9972 === release 0.9.3 ===
9973
9974 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
9975
9976         * README:
9977         * configure.ac:
9978           Releasing 0.9.3, "Unregistered"
9979
9980 2005-10-03  Andy Wingo  <wingo@pobox.com>
9981
9982         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
9983         whereby calling a pad's activatepush() function can start a thread
9984         that starts to push or pull before the pad gets the FLUSHING flag
9985         unset. Hack around it by holding the stream lock until the flag is
9986         set. Need to replace this with a proper solution. Together with
9987         the ghost pad fixes, this fixes mp3 playing/tagreading.
9988
9989         * docs/design/part-gstghostpad.txt: Add a note about activation of
9990         proxy pads outside of ghost pads.
9991
9992         * gst/gstghostpad.c: Implement the ghost pad activation design.
9993
9994 2005-10-02  Andy Wingo  <wingo@pobox.com>
9995
9996         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
9997         It is volatile, after all.
9998
9999         * docs/design/part-gstghostpad.txt: Flesh out activation with
10000         ghost pads.
10001
10002         * gst/base/gstbasesrc.c (gst_base_src_init): Use
10003         GST_DEBUG_FUNCPTR.
10004
10005 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
10006
10007         * configure.ac:
10008           Fix (unused) AM_CONDITIONAL tests.
10009
10010 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
10011
10012         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10013
10014         * gst/gstutils.c: (gst_pad_query_convert):
10015           Add assertion that makes sure src_val is >=0, just like
10016           gst_query_new_convert() has. (#315895)
10017
10018 2005-09-30  Edward Hervey  <edward@fluendo.com>
10019
10020         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
10021         Let's not iterate pads we're not interested in, it avoids getting 
10022         sky-high refcounts on sinkpad.
10023
10024 2005-09-30  Wim Taymans  <wim@fluendo.com>
10025
10026         * gst/gstelement.c: (gst_element_set_state),
10027         (gst_element_change_state):
10028         Small tweak, element in ASYNC remains ASYNC.
10029
10030 2005-09-30  Wim Taymans  <wim@fluendo.com>
10031
10032         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
10033         Only error is an error.
10034
10035         * gst/gstbin.c: (gst_bin_change_state):
10036         Better debugging.
10037
10038         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
10039         Also call pad_block in pad alloc.
10040
10041         * gst/gstutils.c: (gst_flow_get_name):
10042         Better debugging.
10043
10044 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10045
10046         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
10047         (gst_base_src_get_range):
10048           Fix documentation typos. Add some more debug info.
10049
10050 2005-09-29  David Schleef  <ds@schleef.org>
10051
10052         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
10053           more end-user friendly.
10054         * tools/gst-inspect.c: (main): Check if command-line argument is
10055           a file and attempt to load that file as a plugin.
10056
10057 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10058
10059         * check/gst/gstbin.c:
10060         * check/states/sinks.c:
10061           fix tests for the new warning
10062         * check/gst/gstpipeline.c:
10063           add a test for pipeline and bus interaction
10064         * gst/gstelement.c:
10065           elements should be NULL if they get disposed; add a warning if not
10066
10067 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10068
10069         * gst/gstobject.c:
10070           for 2.6 refcounting, make debug log more correct by printing
10071           the actual refcounts at the time of swap (Wim)
10072
10073 2005-09-29  Andy Wingo  <wingo@pobox.com>
10074
10075         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
10076         removes signal watches previously added via
10077         gst_bus_add_signal_watch.
10078         (gst_bus_add_signal_watch): Don't return the source id, just store
10079         it on the bus if there wasn't an id already.
10080
10081         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
10082         add_signal_watch and remove_signal_watch.
10083
10084 2005-09-29  Edward Hervey  <edward@fluendo.com>
10085
10086         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
10087         Better if we actually iterate the list :)
10088
10089 2005-09-29  Wim Taymans  <wim@fluendo.com>
10090
10091         * check/gst/gstbin.c: (GST_START_TEST):
10092         Change for new bus API.
10093
10094         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
10095         (send_messages), (GST_START_TEST), (gstbus_suite):
10096         Change for new bus signal API.
10097
10098         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
10099         (gst_bus_source_prepare), (gst_bus_source_check),
10100         (gst_bus_create_watch), (gst_bus_add_watch_full),
10101         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
10102         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
10103         * gst/gstbus.h:
10104         Remove support for multiple GSources operating on different
10105         message types as it is too complex and unneeded when using
10106         signals.
10107         Added support for receiving signals from the bus.
10108
10109 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10110
10111         * docs/libs/tmpl/gstdataprotocol.sgml:
10112         * docs/manual/advanced-dataaccess.xml:
10113         * gst/elements/gstcapsfilter.c:
10114         * gst/gstutils.c:
10115           rename filter-caps to caps property
10116
10117 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10118
10119         * gst/gstvalue.c: (gst_value_deserialize_fraction):
10120           More robust fraction string parsing.
10121
10122         * docs/pwg/appendix-porting.xml:
10123           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
10124
10125 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
10126
10127         * gst/gstcaps.c: (gst_caps_do_simplify):
10128           Thou shalt not free a structure and then continue using it
10129           in the next loop iteration.
10130
10131         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
10132         (gst_caps_suite):
10133           Add test case for caps simplification.
10134
10135 2005-09-29  Wim Taymans  <wim@fluendo.com>
10136
10137         * check/gst/gstbin.c: (GST_START_TEST):
10138         Oops.
10139
10140 2005-09-29  Wim Taymans  <wim@fluendo.com>
10141
10142         * check/gst/gstbin.c: (GST_START_TEST):
10143         Add bus to bin.
10144
10145         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
10146         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10147         (find_element), (gst_bin_sort_iterator_next),
10148         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10149         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10150         (gst_bin_change_state), (gst_bin_dispose):
10151         A bin does not have a bus, it gets the bus from the parent.
10152
10153         * gst/gstelement.c: (gst_element_requires_clock),
10154         (gst_element_provides_clock), (gst_element_is_indexable),
10155         (gst_element_is_locked_state), (gst_element_change_state),
10156         (gst_element_set_bus_func):
10157         Small cleanups.
10158
10159         * gst/gstpipeline.c: (gst_pipeline_class_init),
10160         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
10161         The pipeline provides a bus.
10162
10163 2005-09-28  Johan Dahlin  <johan@gnome.org>
10164
10165         * gst/gstmessage.c (gst_message_parse_state_changed): Use
10166         gst_structure_get_enum instead of gst_structure_get_int
10167
10168         * gst/gststructure.c (gst_structure_get_enum): Impl.
10169
10170         * gst/gststructure.h (gst_structure_get_enum): Add
10171
10172         * docs/gst/gstreamer-sections.txt: Ditto
10173
10174         * gst/gstmessage.c (gst_message_new_state_changed): Use
10175         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
10176         which does introspection.
10177         Reviewed by Christian Schaller
10178
10179 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10180
10181         * gst/gstinfo.c: (gst_debug_log_default):
10182           don't do dummy g_strdup()s
10183         * libs/gst/controller/gstcontroller.c:
10184         (on_object_controlled_property_changed),
10185         (gst_controlled_property_new), (gst_controller_new_valist),
10186         (gst_controller_new_list),
10187         (gst_controller_remove_properties_valist), (gst_controller_set),
10188         (gst_controller_get), (gst_controller_sync_values),
10189         (gst_controller_get_value_array), (_gst_controller_class_init),
10190         (gst_controller_get_type):
10191         * libs/gst/controller/gstcontroller.h:
10192         * libs/gst/controller/gstinterpolation.c:
10193         (gst_controlled_property_find_timed_value_node):
10194           convert // to /**/ comments
10195
10196 2005-09-28  Wim Taymans  <wim@fluendo.com>
10197
10198         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
10199         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
10200         (gst_bus_sync_signal_handler):
10201         * gst/gstbus.h:
10202         Added async-message and sync-message signals to the bus.
10203         Added helper BusFunc to emit signals for all posted messages.
10204
10205         * gst/gstmessage.c: (gst_message_type_get_name),
10206         (gst_message_type_to_quark), (gst_message_get_type):
10207         * gst/gstmessage.h:
10208         Register quarks for message names.
10209
10210 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
10211
10212         * docs/libs/gstreamer-libs-sections.txt:
10213         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
10214         (gst_controller_new_list):
10215         * libs/gst/controller/gstcontroller.h:
10216           added another constructor for language bindings
10217
10218 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10219
10220         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
10221           add another check
10222         * gst/gstbus.c:
10223           add some doc
10224         * gst/gstinfo.c: (_gst_debug_init):
10225           slightly more readable color for refcount debugging
10226
10227 2005-09-28  Wim Taymans  <wim@fluendo.com>
10228
10229         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
10230         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
10231         (find_element), (gst_bin_sort_iterator_next),
10232         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10233         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10234         (gst_bin_change_state), (gst_bin_dispose):
10235         Small doc fixes. get_clock -> provide_clock.
10236
10237         * gst/gstelement.c: (gst_element_class_init),
10238         (gst_element_provides_clock), (gst_element_provide_clock),
10239         (gst_element_get_clock), (gst_element_commit_state),
10240         (gst_element_lost_state):
10241         * gst/gstelement.h:
10242         Make get/set_clock() symetric. Add provide_clock vmethod since
10243         that is actually what this function does.
10244
10245         * gst/gstpipeline.c: (gst_pipeline_class_init),
10246         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
10247         (gst_pipeline_get_clock):
10248         get_clock -> provide_clock.
10249
10250 2005-09-28  Andy Wingo  <wingo@pobox.com>
10251
10252         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
10253         lieu of real docs...
10254
10255         * gst/elements/gstfdsrc.c: Cleaned up a bit.
10256
10257 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
10258
10259         * gst/elements/gstcapsfilter.c:
10260         * gst/elements/gstfakesink.c:
10261         * gst/elements/gstfakesrc.c:
10262         * gst/elements/gstfdsink.c:
10263         * gst/elements/gstfdsrc.c:
10264         * gst/elements/gstfilesink.c:
10265         * gst/elements/gstfilesrc.c:
10266         * gst/elements/gstidentity.c:
10267         * gst/elements/gsttee.c:
10268         * gst/elements/gsttypefindelement.c:
10269           Make element details static.
10270
10271 2005-09-28  Wim Taymans  <wim@fluendo.com>
10272
10273         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10274         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10275         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10276         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10277         (gst_bin_change_state), (gst_bin_dispose):
10278         Some documentation updates.
10279         Clean up dispose handlers.
10280
10281         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
10282         * gst/gstpad.c: (gst_pad_dispose):
10283         Clean up dispose handler.
10284
10285         * gst/gstpipeline.c: (gst_pipeline_change_state):
10286         Removed spurious UNLOCK.
10287
10288 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
10289
10290         * docs/gst/gstreamer-sections.txt:
10291         * gst/base/gstbasesrc.h:
10292         * gst/gstelement.h:
10293         * gst/gstevent.h:
10294         * gst/gstobject.h:
10295         * gst/gstpad.h:
10296         * gst/gstpipeline.c:
10297         * gst/gstpipeline.h:
10298         * gst/gstutils.h:
10299         * gst/gstxml.h:
10300           added two new functions to the docs
10301                 documents all undocumented GstXXXFlags
10302                 completed some incomplete docs 
10303
10304 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
10305
10306         * gst/gstbin.c: (gst_bin_dispose):
10307         * gst/gstelement.c: (gst_element_dispose):
10308           remove now useless and leaky resurrection code in dispose
10309         * gst/base/gstbasesrc.c: (gst_base_src_init):
10310         * gst/gstelementfactory.c: (gst_element_factory_create):
10311         * gst/gstobject.c: (gst_object_set_parent):
10312           add some debugging
10313
10314 2005-09-27  Wim Taymans  <wim@fluendo.com>
10315
10316         * docs/design/part-TODO.txt:
10317         Update TODO.
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/gstelement.h:
10325         Remove element variable, we keep element info in the iterator now.
10326
10327 2005-09-27  Andy Wingo  <wingo@pobox.com>
10328
10329         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
10330         values.
10331
10332 2005-09-27  Wim Taymans  <wim@fluendo.com>
10333
10334         * check/gst/gstbin.c: (GST_START_TEST):
10335         Enable check that works now.
10336
10337         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
10338         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
10339         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
10340         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
10341         (gst_bin_change_state):
10342         * gst/gstbin.h:
10343         Redid the state change algorithm using a topological sort algo.
10344         Handles all cases correctly.
10345         Exposed iterator for state change order.
10346
10347         * gst/gstelement.h:
10348         Temp storage for state changes. Need to get rid of this soon.
10349
10350 2005-09-27  Wim Taymans  <wim@fluendo.com>
10351
10352         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
10353         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
10354         (link_fold_func), (gst_pad_proxy_setcaps):
10355         Leak fixes, the fold functions need to unref the passed object and
10356         _get_parent_*() returns ref to parent.
10357
10358 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10359
10360         * check/gst/gstbuffer.c: (test_make_writable):
10361           Plug leak in test case and fix 'make check-valgrind'
10362
10363 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10364
10365         * gst/gstbuffer.c: (gst_subbuffer_init):
10366           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
10367           works correctly in all circumstances (we could have just copied
10368           the parent buffer's readonly flag, but conceptually it seems
10369           cleaner to mark all subbuffers as read-only). (based on patch
10370           by Alessandro Decina, #314710).
10371         
10372         * check/gst/gstbuffer.c: (create_read_only_buffer),
10373         (test_make_writable), (test_subbuffer_make_writable),
10374         (gst_test_suite):
10375           Add some tests for gst_buffer_make_writable().
10376
10377 2005-09-27  Wim Taymans  <wim@fluendo.com>
10378
10379         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
10380         use gst_object_has_ancestor().
10381
10382         * gst/gstobject.c: (gst_object_has_ancestor):
10383         * gst/gstobject.h:
10384         gst_object_has_ancestor() copied from gstbin.c as it is a
10385         usefull function.
10386
10387         * tests/instantiate/create.c: (create_all_elements):
10388         * tests/lat.c: (handoff_src), (handoff_sink):
10389         * tests/sched/runxml.c: (main):
10390         * tests/seeking/seeking1.c: (main):
10391         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
10392         (main):
10393         Fix compilation of some tests.
10394
10395 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
10396
10397         * gst/gsterror.h:
10398           Remove comment. GST_TYPE_G_ERROR is here to stay,
10399           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
10400           (#316961, #300610).
10401
10402 2005-09-26  Wim Taymans  <wim@fluendo.com>
10403
10404         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
10405         Added check that shows error in state change order.
10406
10407 2005-09-26  Wim Taymans  <wim@fluendo.com>
10408
10409         * gst/gstbin.c: (gst_bin_change_state):
10410         Make state change function use 3 queues again, we were
10411         adding elements in the wrong order.
10412
10413         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
10414         Some debug info,
10415
10416         * gst/gstpad.c: (gst_pad_dispose):
10417         Added some debug info first.
10418
10419 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
10420
10421         * docs/design/draft-push-pull.txt:
10422         * docs/design/part-events.txt:
10423         * docs/design/part-overview.txt:
10424         * docs/design/part-scheduling.txt:
10425           Replace all _pull_region() with _pull_range()
10426           
10427 2005-09-26  Andy Wingo  <wingo@pobox.com>
10428
10429         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
10430
10431         * check/gst-libs/controller.c: Update for controller api change.
10432
10433         * configure.ac: 
10434         * tests/Makefile.am:
10435         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
10436         over by GLib bug 118439.
10437         
10438         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
10439         routines to a function.
10440
10441         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
10442
10443         * libs/gst/controller/gsthelper.c:
10444         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
10445         (gst_object_sync_values): Renamed from sink_values. Ugh.
10446
10447         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
10448
10449         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
10450         Renamed from controller_key, as it is exported.
10451
10452         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
10453
10454 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
10455
10456         * gst/Makefile.am:
10457         * gst/gst.h:
10458         * gst/gstpad.h:
10459         * gst/gstpadtemplate.h:
10460         * gst/gstquery.c:
10461         * gst/gstquery.h:
10462         * gst/gstqueryutils.c:
10463         * gst/gstqueryutils.h:
10464           remove queryutils headers after moving the two used functions
10465           to gstquery.  also fixes build problem for gstsiddec
10466
10467 2005-09-26  Michael Smith <msmith@fluendo.com>
10468
10469         * tools/gst-launch.1.in:
10470         Correct documentation in manpage of debug syntax
10471
10472 2005-09-26  Wim Taymans  <wim@fluendo.com>
10473
10474         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
10475         (gst_base_src_is_seekable), (gst_base_src_change_state):
10476         Some more debugging info.
10477
10478 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10479
10480         * docs/gst/gstreamer-sections.txt:
10481         * gst/base/gstbasetransform.h:
10482         * gst/gstindex.h:
10483           added more docs
10484
10485 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10486
10487         * docs/gst/.cvsignore:
10488         * docs/gst/tmpl/.cvsignore:
10489         * docs/gst/tmpl/gstpipeline.sgml:
10490         * docs/gst/tmpl/gstplugin.sgml:
10491         * gst/gstpipeline.c:
10492         * gst/gstplugin.c:
10493         * gst/gstplugin.h:
10494           inlined the last two docs files
10495           removed the tmpl directory from cvs (no more conflicts here!)
10496
10497 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
10498
10499         * docs/gst/gstreamer-sections.txt:
10500         * docs/gst/tmpl/.cvsignore:
10501         * docs/gst/tmpl/gstpad.sgml:
10502         * docs/gst/tmpl/gstpadtemplate.sgml:
10503         * gst/Makefile.am:
10504         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
10505         (gst_pad_finalize), (gst_pad_set_pad_template):
10506         * gst/gstpad.h:
10507         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
10508         (gst_pad_template_class_init), (gst_pad_template_init),
10509         (gst_pad_template_dispose), (name_is_valid),
10510         (gst_static_pad_template_get), (gst_pad_template_new),
10511         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
10512         (gst_pad_template_pad_created):
10513         * gst/gstpadtemplate.h:
10514           inlined two more docs
10515           factored gstpadtemplate out of gstpad
10516
10517 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
10518
10519         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10520         (test_children_state_change_order_semi_sink):
10521           Fix test case: we can't rely on a fixed state change order when
10522           going from READY => PAUSED because the sink might commit its 
10523           new state first when the first buffer created by the source 
10524           reaches the sink before the source has finished its change state.
10525           (Test case still fails at times, see #316856, comment 5 onwards)
10526
10527 2005-09-24  Wim Taymans  <wim@fluendo.com>
10528
10529         * docs/design/part-events.txt:
10530         * docs/design/part-gstbus.txt:
10531         * docs/design/part-gstpipeline.txt:
10532         * docs/design/part-messages.txt:
10533         * docs/design/part-overview.txt:
10534         * docs/design/part-segments.txt:
10535         * gst/gstbin.c:
10536         * gst/gstbuffer.c:
10537         * gst/gstclock.c:
10538         * gst/gstelement.c:
10539         * gst/gstevent.c:
10540         * gst/gstfilter.c:
10541         * gst/gstiterator.c:
10542         Various documentation updates.
10543
10544 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
10545
10546         * gst/gstclock.h:
10547           Well, that's embarassing.  Luckily we weren't using
10548           GST_CLOCK_DIFF anywhere.
10549
10550 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10551
10552         * common/gtk-doc.mak:
10553           don't fail on building XML, FC4 slave shows a bunch of doc
10554           missing bits that I don't get
10555         * gst/gstpad.c:
10556         * gst/gstpipeline.c:
10557         * gst/gststructure.c:
10558           some doc updates
10559
10560 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10561
10562         * docs/design/part-gstbin.txt:
10563         * docs/design/part-gstbus.txt:
10564         * gst/gstbus.c:
10565           Add blurb about how the bus goes into flushing mode and
10566           drops all messages when its bin goes from READY into NULL 
10567           state.
10568
10569 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10570
10571         * docs/gst/gstreamer-sections.txt:
10572         * gst/gststructure.c: (gst_structure_get_clock_time):
10573         * gst/gststructure.h:
10574           add a method to get a GstClockTime out of a structure
10575
10576 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
10577
10578         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
10579         (test_children_state_change_order_semi_sink), (gst_bin_suite):
10580           Added test to check state change order in bins (can still be made
10581           to fail here under heavy disk load; bails out with 'Push on pad
10582           fakesink:sink0, but it was not activated in push mode').
10583
10584         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
10585           Fix state change order when there is only a semi sink (#316856)
10586
10587         * gst/gstbus.c: (gst_bus_class_init):
10588           Use _class_peek_parent(), not _class_ref(); fix docs to say
10589           'default main context' instead of 'mainloop' where that is
10590           what's meant.
10591
10592         * gst/gstelement.c: (gst_element_commit_state),
10593         (gst_element_set_state):
10594           Fix typos in debug messages
10595
10596 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10597
10598         * docs/README:
10599         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
10600         * gst/gstpluginfeature.c:
10601         * gst/gstutils.c:
10602           various doc updates
10603         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10604           change an assert into an error until it gets fixed properly
10605
10606 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
10607
10608         * docs/gst/gstreamer-sections.txt:
10609         * docs/gst/tmpl/.cvsignore:
10610         * docs/gst/tmpl/gstelement.sgml:
10611         * docs/gst/tmpl/gstinfo.sgml:
10612         * docs/gst/tmpl/gstobject.sgml:
10613         * gst/gstelement.c:
10614         * gst/gstelement.h:
10615         * gst/gstinfo.c:
10616         * gst/gstinfo.h:
10617         * gst/gstobject.c: (gst_object_class_init):
10618         * gst/gstobject.h:
10619           inlined 3 more biiiig doc files and added some missing docs on the fly
10620
10621 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
10622
10623         * check/gst/.cvsignore:
10624         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
10625         * gst/gstregistryxml.c: (load_plugin),
10626         (gst_registry_xml_save_plugin):
10627           put back source in registry.  add checks for find_plugin.
10628         * testsuite/states/bin.c: (assert_state), (empty_bin),
10629         (test_adding_one_element), (main):
10630         * testsuite/states/locked.c: (main):
10631           some compile/run fixes
10632
10633 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
10634
10635         * check/gst/gstvalue.c: (GST_START_TEST):
10636           fix leaks in the test itself
10637
10638 2005-09-22  Wim Taymans  <wim@fluendo.com>
10639
10640         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10641         (gst_base_sink_send_event), (gst_base_sink_peer_query),
10642         (gst_base_sink_query):
10643         Prepare for more accurate position reporting and query
10644         handling.
10645
10646         * gst/gstelement.c: (gst_element_send_event),
10647         (gst_element_set_state):
10648         Add some comment.
10649
10650 2005-09-22  Wim Taymans  <wim@fluendo.com>
10651
10652         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
10653         (gst_query_parse_segment):
10654         * gst/gstquery.h:
10655         More documentation.
10656         Add segment query for future use.
10657
10658 2005-09-22  Wim Taymans  <wim@fluendo.com>
10659
10660         * gst/gstbin.c: (gst_bin_add_func):
10661         Some more debug info.
10662
10663         * gst/gstelement.c: (gst_element_send_event):
10664         Simplify send_event
10665
10666         * gst/gstelement.h:
10667         Don't know how flags got broken.
10668
10669         * gst/gstquery.h:
10670         Added new query.
10671
10672 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10673
10674         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
10675           Add simplistic test suite for GST_TYPE_DATE serialisation and
10676           deserialisation.
10677
10678 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
10679
10680         * docs/gst/gstreamer-sections.txt:
10681         * gst/gststructure.c: (gst_structure_set_valist),
10682         (gst_structure_get_date):
10683         * gst/gststructure.h:
10684         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
10685         (gst_date_copy), (gst_value_compare_date),
10686         (gst_value_serialize_date), (gst_value_deserialize_date),
10687         (gst_value_transform_date_string),
10688         (gst_value_transform_string_date), (_gst_value_initialize):
10689         * gst/gstvalue.h:
10690           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
10691           bunch of utility functions along with a hack that checks that
10692           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
10693           is required. Part of the grand scheme in #170777.
10694
10695 2005-09-22  Andy Wingo  <wingo@pobox.com>
10696
10697         * gst/gstconfig.h.in: Psych out gtk-doc.
10698
10699         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
10700
10701         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
10702
10703         * tools/gst-inspect.c (print_element_list): Plug some
10704         inconsequential leaks.
10705
10706         * gst/gstregistry.c (gst_registry_get_default): Doc.
10707
10708         * check/gst/gstplugin.c: 
10709         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
10710         * gst/gstelementfactory.c (gst_element_factory_create): 
10711         * gst/gstindexfactory.c (gst_index_factory_create): Update for
10712         refcount changes.
10713
10714         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
10715         (gst_plugin_feature_load): Doc, don't eat refs.
10716
10717         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
10718         (gst_plugin_list_free): Doc.
10719         (gst_plugin_load_file): Doc updates.
10720
10721         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
10722         accessors returning refcounted objects, return a ref.
10723
10724         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
10725         accessor for caps. IDEMPOTENCE. Oh yes.
10726
10727 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
10728
10729         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
10730
10731         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
10732         (_gst_debug_register_funcptr):
10733           Add mutex to serialise access to the hash table with
10734           the function pointer => function name string mapping;
10735           make that hash table static scope (#316809).
10736
10737         * gst/registries/.cvsignore:
10738           Remove left-over file.
10739
10740 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10741
10742         * docs/pwg/appendix-porting.xml:
10743           And something about newsegment events and caps-on-buffers to
10744           the porting guide (feel free to improve).
10745
10746 2005-09-21  Andy Wingo  <wingo@pobox.com>
10747
10748         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
10749         data and event probes on the same pad.
10750         (test_buffer_probe_once): Test that removing probes from within
10751         the probe functions works.
10752
10753 2005-09-21  Andy Wingo  <wingo@pobox.com>
10754
10755         * check/gst/gstutils.c: New file.
10756         (test_buffer_probe_n_times): A simple buffer probe test. More to
10757         come, foolios.
10758
10759         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
10760         have-data::buffer, not have-data.
10761         (gst_pad_add_event_probe): Likewise for have-data::event.
10762         (gst_pad_add_data_probe): More docs. The part about 'resolving the
10763         peer' isn't quite right yet though.
10764         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
10765         (gst_pad_remove_data_probe): Change to take the guint handler_id
10766         as their arg, not the function+data, which is more glib-like.
10767
10768         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
10769         the signal emission to indicate if the data is a buffer or an
10770         event.
10771         (gst_pad_get_type): Initialize buffer and event quarks.
10772         (gst_pad_class_init): have-data is now a detailed signal, yes it
10773         is.
10774
10775 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
10776
10777         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
10778         * gst/gstutils.c: (gst_util_set_value_from_string),
10779         (gst_util_set_object_arg):
10780           Don't put functional code in g_return_if_fail() or
10781           g_return_val_if_fail() statements, otherwise things will 
10782           break when G_DISABLE_CHECKS is defined during compilation.
10783
10784 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10785
10786         * docs/gst/tmpl/.cvsignore:
10787         * docs/gst/tmpl/gstvalue.sgml:
10788         * gst/gstvalue.c:
10789         * gst/gstvalue.h:
10790           inlied another one and added  some obvious docs
10791
10792 2005-09-21  Wim Taymans  <wim@fluendo.com>
10793
10794         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10795         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
10796         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
10797         (gst_fdsrc_get_property), (gst_fdsrc_create):
10798         * gst/elements/gstfdsrc.h:
10799         Properly implement fdsrc. Removed signal and timeout,
10800         better implemented somewhere else.
10801
10802 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10803
10804         * docs/gst/tmpl/.cvsignore:
10805         * docs/gst/tmpl/gstimplementsinterface.sgml:
10806         * gst/gstinterface.c:
10807           inlined more docs
10808
10809 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10810
10811         * docs/gst/gstreamer-sections.txt:
10812         * docs/gst/tmpl/.cvsignore:
10813         * docs/gst/tmpl/gstenumtypes.sgml:
10814           remove obsolete doc file
10815
10816 2005-09-21  David Schleef  <ds@schleef.org>
10817
10818         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
10819         little beer, fix a little leak.
10820
10821 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
10822
10823         * docs/gst/gstreamer-docs.sgml:
10824         * docs/gst/gstreamer-sections.txt:
10825         * docs/gst/tmpl/.cvsignore:
10826         * gst/Makefile.am:
10827         * gst/gst.h:
10828         * gst/gstbin.c:
10829         * gst/gstelement.h:
10830         * gst/gstindex.c: (gst_index_class_init):
10831         * gst/gstindex.h:
10832         * gst/gstindexfactory.c: (gst_index_factory_get_type),
10833         (gst_index_factory_class_init), (gst_index_factory_init),
10834         (gst_index_factory_finalize), (gst_index_factory_new),
10835         (gst_index_factory_destroy), (gst_index_factory_find),
10836         (gst_index_factory_create), (gst_index_factory_make):
10837         * gst/gstindexfactory.h:
10838         * gst/gstpluginfeature.c:
10839         * gst/gstpluginfeature.h:
10840         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10841           more docs inlined, splitted gstindex.{c,h}
10842
10843 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10844
10845         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10846           fix a leak
10847
10848 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10849
10850         * gst/elements/gstfilesink.c: (gst_file_sink_init):
10851           Set sync to FALSE by default.
10852
10853 2005-09-20  Wim Taymans  <wim@fluendo.com>
10854
10855         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10856         (gst_base_sink_init):
10857         Make sync property settable from subclass.
10858
10859         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
10860         (gst_fake_sink_change_state):
10861         Set sync to FALSE by default.
10862
10863 2005-09-20  Wim Taymans  <wim@fluendo.com>
10864
10865         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
10866         * tools/gst-launch.c: (main):
10867         The timeout handler should have lower priority than the source
10868         so we don't timeout before popping a message with 0 timeout.
10869         Dump error messages after failed state change.
10870
10871 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
10872
10873         * tools/gst-inspect.c: (print_element_properties_info):
10874           Fix two typos.
10875
10876 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10877
10878         * check/gst/gstevent.c:
10879         * gst/elements/gstfakesink.c:
10880         * gst/elements/gstfakesink.h:
10881           remove the sync property from fakesink.
10882           has the side effect of setting sync TRUE
10883           for fakesink, which is a change.  Anyone who knows how
10884           to fix this nicely in a GObject-y way, feel free.
10885
10886 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10887
10888         * docs/gst/gstreamer-docs.sgml:
10889           remove probe refsection
10890
10891 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10892
10893         * check/Makefile.am:
10894           disable valgrinding the controller test again
10895         * docs/gst/gstreamer-sections.txt:
10896           update for api-changes
10897
10898 2005-09-20  Wim Taymans  <wim@fluendo.com>
10899
10900         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
10901         (gst_base_sink_set_property), (gst_base_sink_get_property),
10902         (gst_base_sink_do_sync):
10903         * gst/base/gstbasesink.h:
10904         Added sync property to basesink to disable clock sync.
10905
10906 2005-09-20  Andy Wingo  <wingo@pobox.com>
10907
10908         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
10909         eating the caller's refcount.
10910
10911         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
10912         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
10913         refcount.
10914
10915         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
10916         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
10917         of GLib 2.8 public, so we can know which refcount to check in
10918         tests.
10919
10920         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
10921         (gst_object_init): Only set the gst refcount if we're going ahead
10922         with the refcount hack.
10923
10924 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10925
10926         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10927         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
10928           more leaks plumbed, added more debug-logging
10929         * gst/gstmacros.h:
10930           whitespace fix
10931
10932 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10933
10934         * gst/gstmessage.c:
10935           remove include of gstmemchunk.h
10936
10937 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10938
10939         * gst/gstclock.c: (_gst_clock_id_free):
10940           Commit from the Political Party For More Atomic CVS Commits,
10941           so that people don't waste too much of their day fishing
10942           out obvious leaks out of massive commits.
10943           Oh, and fix a pretty damn obvious leak in the memchunk
10944           removal code.
10945
10946 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
10947
10948         * check/Makefile.am:
10949         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
10950           plug mem-leak, re-add to valgrindable tests
10951
10952 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
10953
10954         * gst/gstplugin.h:
10955           unbreak the build for those who have chronic arthritis
10956           and typing "make check" is just too taxing on the hands
10957
10958 2005-09-20  Andy Wingo  <wingo@pobox.com>
10959
10960         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
10961         really want it out, you should fix plugins at the same time.
10962
10963 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
10964
10965         * configure.ac:
10966         * docs/gst/gstreamer-sections.txt:
10967         * gst/gstobject.c:
10968           added missing symbols to api docs
10969           disable ref-count hack if we have glib >= 2.8
10970
10971 2005-09-19  David Schleef  <ds@schleef.org>
10972
10973         * docs/gst/Makefile.am: Ignore a few more internal headers
10974         * docs/gst/gstreamer-docs.sgml: Remove old sections
10975         * docs/gst/gstreamer-sections.txt: Remove old sections
10976         * docs/gst/tmpl/gstobject.sgml: update
10977         * docs/gst/tmpl/gstplugin.sgml: update
10978         * docs/gst/tmpl/gstpluginfeature.sgml: update
10979         * docs/random/ds/0.9-suggested-changes: update.
10980         * gst/Makefile.am: remove memchunk and trashstack, since they're
10981           not used.
10982         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
10983         * gst/gst.h: don't include some headers
10984         * gst/gstchildproxy.c: add gstmarshal.h
10985         * gst/gstclock.c: Don't use memchunks
10986         * gst/gstminiobject.c: Add some docs
10987         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
10988         * gst/gstobject.h: same
10989         * gst/gstplugin.c: include gstmacros.h
10990         * gst/gstplugin.h: don't include gstmacros.h, since it's private
10991         * gst/gstquery.c: don't use memchunks
10992         * gst/gstregistry.c: rename gst_registry_deinit()
10993         * gst/gstregistry.h: same
10994
10995 2005-09-19  David Schleef  <ds@schleef.org>
10996
10997         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
10998         * docs/libs/gstreamer-libs-sections.txt:
10999         * docs/libs/tmpl/gstgetbits.sgml:
11000         * docs/libs/tmpl/gstputbits.sgml:
11001
11002 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
11003
11004         * win32/gstenumtypes.c:
11005         * win32/gstenumtypes.h:
11006           Update.
11007
11008 2005-09-19  Wim Taymans  <wim@fluendo.com>
11009
11010         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
11011         Automatically PAUSE and RESUME a pipeline when a flushing seek
11012         is performed.
11013
11014 2005-09-19  Andy Wingo  <wingo@pobox.com>
11015
11016         * gst/gstregistry.h: Spacing fixen.
11017
11018 2005-09-19  Wim Taymans  <wim@fluendo.com>
11019
11020         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
11021         Handle state change failure more correctly.
11022
11023 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11024
11025         * check/Makefile.am:
11026         * check/pipelines/cleanup.c: (run_pipeline):
11027         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11028         (GST_START_TEST):
11029           enable cleanup again after fixing the leak
11030         * docs/README:
11031           some more info on docs
11032
11033 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11034
11035         * check/Makefile.am:
11036           re-enable tests now that leaks are plugged
11037         * check/gst/gst.c:
11038         * check/gst/gstbin.c:
11039         * check/gst/gstpipeline.c:
11040           add some more tests while fixing leaks
11041         * common/check.mak:
11042           make sure binaries are uptodate when valgrinding/gdbing
11043         * gst/gst.c:
11044         * gst/gstelementfactory.c:
11045           remove a ref too many, and add a FIXME for when we get
11046           round to disposing of classes
11047         * gst/gstplugin.c:
11048           fix the refcounting when loading a plugin from a file and
11049           the code pretends that the pointer is the same even though
11050           of course it can change
11051         * gst/gstpluginfeature.c:
11052           unref plugins marked cached (a bit confusing as a name)
11053           as the docs state should be done
11054           various doc additions to explain refcounting
11055         * gst/gstregistry.c:
11056         * gst/gstregistryxml.c:
11057           debugging
11058
11059 2005-09-19  Wim Taymans  <wim@fluendo.com>
11060
11061         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
11062         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
11063         (send_messages), (GST_START_TEST), (gstbus_suite):
11064         * check/gst/gstpipeline.c: (GST_START_TEST):
11065         * check/pipelines/cleanup.c: (run_pipeline):
11066         * check/pipelines/simple_launch_lines.c: (run_pipeline),
11067         (GST_START_TEST):
11068         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
11069         (gst_bus_source_check), (gst_bus_source_dispatch),
11070         (gst_bus_create_watch), (gst_bus_add_watch_full),
11071         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
11072         * gst/gstbus.h:
11073         * tools/gst-launch.c: (event_loop):
11074         * tools/gst-md5sum.c: (event_loop):
11075         GstBusHandler -> GstBusFunc, return value has the same meaning as
11076         any other GSource (FALSE == remove source).
11077         _add_watch() and _add_watch_full() now take a MessageType mask to
11078         only handle specific types of messages.
11079         _poll() returns the GstMessage instead of the message type to avoid
11080         race conditions.
11081         _have_pending() takes a MessageType mask now too.
11082         Added testsuite for multiple bus watches.
11083         Fix testsuites and applications for new bus API.
11084
11085 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
11086
11087         * check/Makefile.am:
11088           mark a bunch of the tests as to fix until we fix them
11089
11090 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11091
11092         * common/check.mak:
11093           use GST_PLUGIN settings for valgrind tests as well, so we're
11094           valgrinding the correct thing
11095         * gst/gst.c: (init_post):
11096           plug another leak
11097
11098 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11099
11100         * gst/gst.c: (init_post), (gst_deinit):
11101         * gst/gstelementfactory.c: (gst_element_factory_class_init),
11102         (gst_element_factory_finalize), (gst_element_factory_cleanup):
11103         * gst/gstindex.c: (gst_index_factory_class_init),
11104         (gst_index_factory_finalize):
11105         * gst/gstobject.c: (gst_object_dispose):
11106         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
11107         (gst_plugin_load_file), (gst_plugin_desc_free):
11108         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
11109         (gst_plugin_feature_finalize):
11110         * gst/gstregistry.c: (gst_registry_class_init),
11111         (gst_registry_init), (gst_registry_finalize),
11112         (gst_registry_get_default), (gst_registry_deinit):
11113         * gst/gstregistry.h:
11114         * gst/gstregistryxml.c: (load_feature), (load_plugin):
11115           various cleanups and memleak plugging.  make valgrind is happy now.
11116
11117 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
11118
11119         * common/check.mak:
11120           add a check-valgrind target
11121
11122 2005-09-18  David Schleef  <ds@schleef.org>
11123
11124         * tools/gst-inspect.c: Revert the GOption code.
11125
11126 2005-09-17  David Schleef  <ds@schleef.org>
11127
11128         * check/Makefile.am: Fix environment variables.
11129         * check/gst/gstplugin.c: Fix for API changes.
11130         * tools/gst-inspect.c: Fix for API changes.
11131         * tools/gst-xmlinspect.c: Fix for API changes.
11132         * gst/gstelementfactory.c:
11133         * gst/gstplugin.c:
11134         * gst/gstplugin.h:
11135         * gst/gstpluginfeature.c:
11136         * gst/gstpluginfeature.h:
11137         * gst/gstregistry.c:
11138         * gst/gstregistry.h:
11139         * gst/gstregistryxml.c:
11140         * gst/gsttypefind.c:
11141         * gst/gsttypefindfactory.c:
11142         * gst/indexers/gstfileindex.c:
11143         * gst/indexers/gstmemindex.c:
11144         * gst/schedulers/Makefile.am:
11145           Change registry to keep track of both plugins and features,
11146           removing the feature tracking from plugins themselves.
11147
11148 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
11149
11150         * check/Makefile.am:
11151         * tools/gst-register.1.in:
11152           remove gst-register
11153
11154 2005-09-15  David Schleef  <ds@schleef.org>
11155
11156         * check/gst/gstplugin.c:
11157         * gst/gstelementfactory.c:
11158         * gst/gstplugin.c:
11159         * gst/gstpluginfeature.c:
11160         * gst/gstregistry.c:
11161           Getting tired of debugging.  Disabled all the unreffing of
11162           plugins and features, which fixes the segfaults, but of
11163           course leaks like crazy.  At least playbin works.
11164
11165 2005-09-15  David Schleef  <ds@schleef.org>
11166
11167         * check/gst/gstplugin.c: (register_check_elements),
11168         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
11169         More testing
11170         * gst/elements/gsttypefindelement.c: Fix refcounting.
11171         * gst/gsttypefind.c:
11172         * gst/gsttypefindfactory.c:
11173         * gst/gsttypefindfactory.h:
11174
11175 2005-09-15  David Schleef  <ds@schleef.org>
11176
11177         * gst/gstindex.c: get refcounting correct.
11178         * gst/gstregistry.c: Handle the case where a feature/plugin is
11179           not found.
11180
11181 2005-09-15  David Schleef  <ds@schleef.org>
11182
11183         * check/Makefile.am:
11184         * check/gst/gstplugin.c: Add test
11185         * gst/gstplugin.c: Fix problems noticed by testsuite
11186         * gst/gstplugin.h:
11187         * gst/gstregistry.c: 
11188         * gst/gstregistry.h:
11189
11190 2005-09-15  David Schleef  <ds@schleef.org>
11191
11192         * gst/gstplugin.c: Implement semi-decent recounting and locking
11193           in plugins and plugin features.
11194         * gst/gstplugin.h:
11195         * gst/gstpluginfeature.c:
11196         * gst/gstpluginfeature.h:
11197         * gst/gstregistry.c:
11198
11199 2005-09-15  Michael Smith <msmith@fluendo.com>
11200
11201         * gst/gstregistry.c: (gst_registry_get_feature_list):
11202           Implement this. Makes oggdemux work; decodebin still broken.
11203
11204 2005-09-14  David Schleef  <ds@schleef.org>
11205
11206         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
11207           #316076)
11208         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
11209         * gst/check/Makefile.am:
11210         * libs/gst/controller/Makefile.am:
11211         * libs/gst/dataprotocol/Makefile.am:
11212
11213 2005-09-14  David Schleef  <ds@schleef.org>
11214
11215         * configure.ac: Remove getbits library.  Nothing uses it, and
11216           it should be in something like liboil if someone did want
11217           to use it.
11218         * libs/gst/Makefile.am:
11219         * libs/gst/getbits/Makefile.am:
11220         * libs/gst/getbits/gbtest.c:
11221         * libs/gst/getbits/getbits.c:
11222         * libs/gst/getbits/getbits.h:
11223         * libs/gst/getbits/gstgetbits_generic.c:
11224         * libs/gst/getbits/gstgetbits_i386.s:
11225         * libs/gst/getbits/gstgetbits_inl.h:
11226
11227 2005-09-14  David Schleef  <ds@schleef.org>
11228
11229         * gst/Makefile.am: Dist glib-compat.h
11230
11231 2005-09-14  David Schleef  <ds@schleef.org>
11232
11233         * configure.ac: Remove gst/registries, since it's no longer used.
11234         * gst/registries/Makefile.am:
11235         * gst/registries/gstlibxmlregistry.c:
11236         * gst/registries/gstlibxmlregistry.h:
11237         * gst/registries/gstxmlregistry.c:
11238         * gst/registries/gstxmlregistry.h:
11239         * gst/registries/registrytest.c:
11240
11241 2005-09-14  David Schleef  <ds@schleef.org>
11242
11243         * gst/glib-compat.h:
11244         * gst/gstregistryxml.c:
11245           Convergence is near.  Seriously.
11246
11247 2005-09-14  David Schleef  <ds@schleef.org>
11248
11249         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11250         * gst/glib-compat.h:
11251           Attempt #4 to appease the buildbots.
11252
11253 2005-09-14  David Schleef  <ds@schleef.org>
11254
11255         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11256           Attempt #3.
11257
11258 2005-09-14  David Schleef  <ds@schleef.org>
11259
11260         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11261         Attempt #2.
11262
11263 2005-09-14  David Schleef  <ds@schleef.org>
11264
11265         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
11266           the new functions.
11267
11268 2005-09-14  David Schleef  <ds@schleef.org>
11269
11270         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
11271         * gst/glib-compat.h: Add some functions that are in newer versions
11272           of glib than we care to require.
11273         * gst/gstregistryxml.c: Use them.
11274
11275 2005-09-14  David Schleef  <ds@schleef.org>
11276
11277         * po/POTFILES.in: remove gst-register.c
11278
11279 2005-09-14  David Schleef  <ds@schleef.org>
11280
11281         * docs/gst/gstreamer-docs.sgml:
11282         * docs/gst/gstreamer-sections.txt:
11283         * docs/gst/gstreamer.types:
11284         * docs/gst/tmpl/gstelement.sgml:
11285         * docs/gst/tmpl/gstplugin.sgml:
11286         * docs/gst/tmpl/gstpluginfeature.sgml:
11287           Documentation updates for registry changes.
11288
11289 2005-09-14  David Schleef  <ds@schleef.org>
11290
11291         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
11292           because we don't require glib-2.8.
11293
11294 2005-09-14  David Schleef  <ds@schleef.org>
11295
11296         * gst/gstregistryxml.c: Added.  Essentially moved out of the
11297           registries directory.
11298
11299 2005-09-14  David Schleef  <ds@schleef.org>
11300
11301         * check/Makefile.am:
11302         * check/generic/states.c:
11303         * gst/Makefile.am:
11304         * gst/gst.c:
11305         * gst/gst.h:
11306         * gst/gst_private.h:
11307         * gst/gstelementfactory.c:
11308         * gst/gstindex.c:
11309         * gst/gstinfo.c:
11310         * gst/gstplugin.c:
11311         * gst/gstplugin.h:
11312         * gst/gstpluginfeature.c:
11313         * gst/gstpluginfeature.h:
11314         * gst/gstregistry.c:
11315         * gst/gstregistry.h:
11316         * gst/gstregistrypool.c: remove
11317         * gst/gstregistrypool.h: remove
11318         * gst/gsttypefind.c:
11319         * gst/gsttypefindfactory.c:
11320         * gst/gsturi.c:
11321         * tools/Makefile.am:
11322         * tools/gst-compprep.c:
11323         * tools/gst-inspect.c:
11324         * tools/gst-register.c: remove
11325         * tools/gst-xmlinspect.c:
11326           Registry rewrite.  Changes registry from being a file created
11327           by a tool into a simple cache file created automatically by 
11328           libgstreamer.  Removed gst-register (because it's no longer
11329           needed).  Remove registry pools, because we only have one
11330           registry implementation (XML).  Fix up other subsystems as
11331           necessary.
11332
11333 2005-09-13  Michael Smith <msmith@fluendo.com>
11334
11335         * gst/gstconfig.h.in:
11336           Don't Use windows linking attributes for MinGW. Fixes #316157
11337
11338 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
11339
11340         * gst/gstutils.c: (set_state_async_thread_func),
11341         (gst_element_set_state_async):
11342           Apparently people think it's better if this function doesn't
11343           try to set the state to whatever state was asked for on the first
11344           call to this function for any object.  Seriously.
11345
11346 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11347
11348         * check/gst/gstpipeline.c: (GST_START_TEST):
11349         * docs/gst/gstreamer-sections.txt:
11350         * gst/gstutils.c: (set_state_async_thread_func),
11351         (gst_element_set_state_async):
11352         * gst/gstutils.h:
11353           add a "gst_element_set_state_async" method that
11354           sets the state and starts a thread to make sure the state
11355           change completes as best as it can
11356
11357 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11358
11359         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
11360           codify design+behaviour in testsuite after discussion
11361
11362 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
11363
11364         * docs/gst/tmpl/gstelement.sgml:
11365         * docs/manual/appendix-quotes.xml:
11366           add a quote
11367         * gst/gstelement.c: (gst_element_set_state):
11368           add some debug
11369
11370 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
11371
11372         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11373         (gst_base_transform_prepare_output_buf),
11374         (gst_base_transform_handle_buffer):
11375         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
11376         (gst_capsfilter_prepare_buf):
11377           Remove the requirement for sub-classes to call the parent
11378           implementation of prepare_output_buffer with a wrapper function.
11379           
11380         * gst/gsttaglist.h:
11381         * gst/gsttagsetter.h:
11382           Fix #define wrapper
11383
11384 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
11385
11386         * docs/gst/gstreamer-sections.txt:
11387           more doc cleanups
11388
11389 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11390
11391         * docs/gst/gstreamer-sections.txt:
11392         * docs/gst/tmpl/gstelement.sgml:
11393         * docs/gst/tmpl/gstplugin.sgml:
11394         * gst/gstminiobject.c:
11395         * gst/gstvalue.h:
11396           docs now stop throwing warnings
11397
11398 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11399
11400         * docs/gst/gstreamer-sections.txt:
11401         * docs/gst/gstreamer.types:
11402         * docs/gst/tmpl/gstpad.sgml:
11403         * docs/gst/tmpl/gsttypes.sgml:
11404         * gst/base/gstadapter.h:
11405         * gst/base/gstbasesink.h:
11406         * gst/base/gstbasesrc.h:
11407         * gst/gstbin.h:
11408         * gst/gstbuffer.h:
11409         * gst/gstbus.h:
11410         * gst/gstcaps.h:
11411         * gst/gstclock.h:
11412         * gst/gstelement.h:
11413         * gst/gstevent.h:
11414         * gst/gstmessage.h:
11415         * gst/gstpad.h:
11416         * gst/gststructure.c:
11417         * gst/registries/gstlibxmlregistry.h:
11418           various documentation fixes
11419
11420 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
11421
11422         * docs/gst/gstreamer-sections.txt:
11423         * docs/gst/tmpl/gstvalue.sgml:
11424           rearrange gstvalue section
11425         * gst/gstutils.c: (gst_element_state_get_name):
11426           NONE -> VOID
11427         * gst/gstvalue.c: (_gst_value_initialize):
11428         * gst/gstvalue.h:
11429           doc updates
11430
11431 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
11432
11433         * check/gst-libs/controller.c:
11434           Header include fix.
11435         * gst/base/gstbasetransform.c:
11436         (gst_base_transform_default_prepare_buf),
11437         (gst_base_transform_handle_buffer):
11438         * gst/base/gstbasetransform.h:
11439           Some more basetransform changes and fixes to enable sub-classes
11440           that modify buffer metadata only.
11441         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
11442         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
11443         (gst_capsfilter_prepare_buf):
11444           If the output pad has fixed allowed caps and input buffers 
11445           don't have any, set the fixed caps on outgoing buffers.
11446
11447 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
11448         * check/elements/identity.c: (GST_START_TEST):
11449           Make the error a little clearer when the test fails because
11450           identity made a copy of the buffer.
11451         * docs/gst/gstreamer-sections.txt:
11452           New symbols in gstbasetransform.h
11453         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11454         (gst_base_transform_init), (gst_base_transform_transform_size),
11455         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
11456         (gst_base_transform_default_prepare_buf),
11457         (gst_base_transform_get_unit_size),
11458         (gst_base_transform_buffer_alloc),
11459         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
11460         (gst_base_transform_change_state),
11461         (gst_base_transform_set_passthrough),
11462         (gst_base_transform_set_in_place),
11463         (gst_base_transform_is_in_place):
11464         * gst/base/gstbasetransform.h:
11465           Change BaseTransform to separate in_place operate from same_caps
11466           output. in_place implies that the element can perform the transform
11467           on incoming buffers in-place, even if the caps on the output are
11468           different.
11469           Sub-class elements can now implement special buffer allocation
11470           methods for outgoing buffers if they wish to.
11471           Big documentation addition.
11472         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
11473         * gst/elements/gstelements.c:
11474           Changes for basetransform modifications.
11475         * gst/elements/Makefile.am:
11476         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
11477           Compile fix. Extra debug output.
11478
11479 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11480
11481         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
11482         (gst_pad_suite):
11483           add tests for valid pad naming
11484         * gst/check/gstcheck.c: (gst_check_log_message_func),
11485         (gst_check_log_critical_func):
11486           add ASSERT_WARNING
11487           remove printing of code, it is fragile when the code contains
11488           % and the line number is enough info
11489         * gst/check/gstcheck.h:
11490         * gst/gstpad.c: (gst_pad_template_new):
11491           fix memleaks
11492
11493 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11494
11495         * configure.ac:
11496           say what CHECK flags we use
11497         * docs/libs/gstreamer-libs.types:
11498         * libs/gst/controller/Makefile.am:
11499         * libs/gst/controller/gst-controller.c:
11500         * libs/gst/controller/gst-controller.h:
11501         * libs/gst/controller/gst-helper.c:
11502         * libs/gst/controller/gst-interpolation.c:
11503         * libs/gst/controller/gstcontroller.c:
11504         * libs/gst/controller/gsthelper.c:
11505         * libs/gst/controller/gstinterpolation.c:
11506         * tools/gst-inspect.c: (print_plugin_info):
11507           we don't use dashes in header names
11508
11509 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
11510
11511         * check/Makefile.am:
11512         * check/gst/.cvsignore:
11513         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
11514         (gst_pipeline_suite), (main):
11515           adding a test for pipelines and state changes
11516         * gst/gstutils.c: (get_state_func):
11517           add some debugging
11518         * gstreamer.spec.in:
11519           fix up spec file
11520
11521 2005-09-08  Michael Smith <msmith@fluendo.com>
11522
11523         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
11524         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
11525         (gst_file_src_is_seekable), (gst_file_src_get_size),
11526         (gst_file_src_start):
11527         * gst/elements/gstfilesrc.h:
11528           Various fixes for unseekable, unmmapable, and non-normal files, so
11529           that fallback to read() rather than mmap() works.
11530         * gst/gstevent.c: (gst_event_new_newsegment):
11531           Allow newsegment events with segment_start == segment_end, as will
11532           correctly happen if you use filesrc on a zero-size file, for
11533           example.
11534
11535 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11536
11537         * gst/gstplugin.c: (gst_plugin_load_file):
11538           Call g_module_close when we don't load the module
11539
11540         * gst/registries/gstlibxmlregistry.c:
11541         (gst_xml_registry_get_property):
11542           Port leak fix from 0.8
11543
11544 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11545
11546         * docs/gst/gstreamer-docs.sgml:
11547         * docs/gst/tmpl/.cvsignore:
11548         * docs/gst/tmpl/gsttrace.sgml:
11549         * docs/gst/tmpl/gsttrashstack.sgml:
11550         * gst/Makefile.am:
11551         * gst/gst.h:
11552         * gst/gstelement.h:
11553         * gst/gstevent.h:
11554         * gst/gstmessage.c:
11555         * gst/gstmessage.h:
11556         * gst/gsttag.c:
11557         * gst/gsttag.h:
11558         * gst/gsttaginterface.c:
11559         * gst/gsttaginterface.h:
11560         * gst/gsttaglist.c:
11561         * gst/gsttaglist.h:
11562         * gst/gsttagsetter.c:
11563         * gst/gsttagsetter.h:
11564         * gst/gsttrace.c:
11565         * gst/gsttrace.h:
11566         * gst/gsttrashstack.c:
11567           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
11568           inlined docs for gsttrace, gsttrashstack
11569
11570 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11571
11572         * gst/Makefile.am:
11573         * gst/elements/gstbufferstore.h:
11574         * gst/elements/gsttypefindelement.c:
11575         * gst/elements/gsttypefindelement.h:
11576         * gst/gst.h:
11577         * gst/gsttypefind.c:
11578         * gst/gsttypefind.h:
11579         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
11580         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
11581         (gst_type_find_factory_dispose),
11582         (gst_type_find_factory_unload_thyself),
11583         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
11584         (gst_type_find_factory_get_caps),
11585         (gst_type_find_factory_get_extensions),
11586         (gst_type_find_factory_call_function):
11587         * gst/gsttypefindfactory.h:
11588         * gst/registries/gstlibxmlregistry.c:
11589         * gst/registries/gstxmlregistry.c:
11590           splitted gsttypefind into gsttypefind, gsttypefindfactory
11591
11592 2005-09-07  Andy Wingo  <wingo@pobox.com>
11593
11594         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
11595         condition whereby the pad's task function is entered before the
11596         pad_mode variable was set.
11597
11598 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
11599
11600         * gst/gstpad.c: (gst_pad_alloc_buffer):
11601           Catch misbehaving pad_alloc functions that don't
11602           set up caps and do it for them.
11603
11604 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
11605
11606         * check/pipelines/simple_launch_lines.c: (run_pipeline):
11607           test for pipe!=NULL
11608         * docs/gst/tmpl/.cvsignore:
11609         * docs/gst/tmpl/gstmemchunk.sgml:
11610         * docs/gst/tmpl/gstparse.sgml:
11611         * docs/gst/tmpl/gsttaglist.sgml:
11612         * docs/gst/tmpl/gsttagsetter.sgml:
11613         * docs/gst/tmpl/gsttypefind.sgml:
11614         * docs/gst/tmpl/gsttypefindfactory.sgml:
11615         * gst/gstmemchunk.c:
11616         * gst/gstparse.c:
11617         * gst/gsttag.c:
11618         * gst/gsttaginterface.c:
11619         * gst/gsttypefind.c:
11620         * gst/gsttypefind.h:
11621           inlined more docs
11622
11623 === release 0.9.2 ===
11624
11625 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
11626
11627         * NEWS:
11628         * RELEASE:
11629         * configure.ac:
11630           releasing 0.9.2, "South"
11631
11632 2005-09-05  Andy Wingo  <wingo@pobox.com>
11633
11634         * gst/registries/gstxmlregistry.h:
11635         * gst/registries/gstxmlregistry.c: Um... resurrect...
11636         
11637         * gst/registries/gstxmlregistry.h:
11638         * gst/registries/gstxmlregistry.c: and update to newer API.
11639         Incidentally they should be a bit faster now that they don't have
11640         to parse the caps.
11641         
11642 2005-09-05  Andy Wingo  <wingo@pobox.com>
11643
11644         * gst/registries/gstxmlregistry.h:
11645         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
11646         replaced by the libxml registry a while back
11647
11648 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11649
11650         * docs/gst/tmpl/gstplugin.sgml:
11651         * gst/elements/gstelements.c:
11652         * gst/gst.c:
11653         * gst/gstplugin.c: (gst_plugin_register_func),
11654         (gst_plugin_desc_copy), (gst_plugin_desc_free),
11655         (gst_plugin_get_source):
11656         * gst/gstplugin.h:
11657         * gst/registries/gstlibxmlregistry.c: (load_plugin),
11658         (gst_xml_registry_save_plugin):
11659         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
11660         (gst_xml_registry_save_plugin):
11661         * tools/gst-inspect.c: (print_plugin_info):
11662           add a "source" plugin description field, to represent the source
11663           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
11664           will set it to PACKAGE, which is automake's idea of the name of
11665           the source project.
11666
11667 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
11668
11669         * Makefile.am:
11670         * autogen.sh:
11671         * configure.ac:
11672         * docs/Makefile.am:
11673         * docs/faq/Makefile.am:
11674         * docs/gst/tmpl/gstelement.sgml:
11675         * docs/gst/tmpl/gsttypes.sgml:
11676         * docs/htmlinstall.mak:
11677         * docs/manual/Makefile.am:
11678         * docs/pwg/Makefile.am:
11679           reorganize doc build a little
11680           split out docbook and gtk-doc stuff
11681           have two separate --enable's and enable them through autogen
11682           but disable by default in configure (to be similar to other
11683           projects)
11684         * gstreamer.spec.in:
11685           clean up docs install
11686         * po/af.po:
11687         * po/az.po:
11688         * po/ca.po:
11689         * po/cs.po:
11690         * po/de.po:
11691         * po/en_GB.po:
11692         * po/fr.po:
11693         * po/it.po:
11694         * po/nb.po:
11695         * po/nl.po:
11696         * po/ru.po:
11697         * po/sq.po:
11698         * po/sr.po:
11699         * po/sv.po:
11700         * po/tr.po:
11701         * po/uk.po:
11702         * po/vi.po:
11703           translation updates
11704
11705 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
11706
11707         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
11708           Add comment.
11709           
11710         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
11711         (gst_fake_sink_change_state):
11712           Make state change function thread-safe.
11713           
11714         * gst/gstpad.c: (gst_pad_alloc_buffer):
11715           Set offset on generic buffer allocated by fallback.
11716
11717 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
11718
11719         * docs/gst/gstreamer-sections.txt:
11720         * docs/gst/tmpl/gstelement.sgml:
11721         * gst/gstpad.c:
11722         * libs/gst/controller/gst-controller.c:
11723         (gst_controlled_property_set_interpolation_mode),
11724         (gst_controlled_property_new),
11725         (gst_controller_find_controlled_property):
11726          run the wingo-magic script against the docs
11727
11728 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11729
11730         * docs/gst/gstreamer-docs.sgml:
11731         * docs/gst/gstreamer-sections.txt:
11732         * docs/gst/tmpl/.cvsignore:
11733         * docs/gst/tmpl/gstelementdetails.sgml:
11734         * docs/gst/tmpl/gstelementfactory.sgml:
11735         * gst/gst.c:
11736         * gst/gstbus.c:
11737         * gst/gstelementfactory.c:
11738         * gst/gstelementfactory.h:
11739           merged elementdetails docs into elementfactory docs
11740           inlined both
11741
11742 2005-09-02  Andy Wingo  <wingo@pobox.com>
11743
11744         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
11745         consider this enum an enum and not a flags.
11746
11747 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
11748
11749         * docs/gst/gstreamer-docs.sgml:
11750         * docs/gst/tmpl/.cvsignore:
11751         * docs/gst/tmpl/gstghostpad.sgml:
11752         * docs/gst/tmpl/gstiterator.sgml:
11753         * docs/gst/tmpl/gstmacros.sgml:
11754         * docs/gst/tmpl/gstrealpad.sgml:
11755         * docs/gst/tmpl/gstregistry.sgml:
11756         * docs/gst/tmpl/gstregistrypool.sgml:
11757         * docs/gst/tmpl/gststructure.sgml:
11758         * docs/gst/tmpl/gstsystemclock.sgml:
11759         * docs/gst/tmpl/gsttrace.sgml:
11760         * gst/gstghostpad.c:
11761         * gst/gstmacros.h:
11762         * gst/gstmemchunk.c:
11763         * gst/gstmemchunk.h:
11764         * gst/gstqueue.c:
11765         * gst/gstregistry.c:
11766         * gst/gstregistrypool.c:
11767         * gst/gststructure.c:
11768         * gst/gstsystemclock.c:
11769           more docs inlined
11770
11771 2005-09-02  Andy Wingo  <wingo@pobox.com>
11772
11773         * gst/gstelement.h (GstState): Renamed from GstElementState,
11774         changed to be a normal enum instead of flags.
11775         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
11776         munged to be GST_STATE_CHANGE_*.
11777         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
11778         work with the new state representation.
11779         (GstStateChange): New enumeration of possible state transitions.
11780         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
11781         (GstElementClass::change_state): Pass the GstStateChange along as
11782         an argument. Helps language bindings, so they don't have to use
11783         tricky lock-needing macros like GST_STATE_CHANGE ().
11784
11785         * scripts/update-states (file): New script. Run it on a file to
11786         update it for state naming and API changes. Updates files in
11787         place.
11788
11789         * All files updated for the new API.
11790
11791 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
11792
11793         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
11794         * gst/gstutils.c: (gst_util_set_value_from_string),
11795         (gst_util_set_object_arg):
11796           fix a bunch of unchecked return values
11797         * tools/gst-complete.c: (main):
11798         * gstreamer.spec.in:
11799           clean up a little
11800
11801 2005-09-01  Wim Taymans  <wim@fluendo.com>
11802
11803         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11804         (gst_base_sink_event), (gst_base_sink_do_sync),
11805         (gst_base_sink_handle_event):
11806         * gst/base/gstbasesink.h:
11807         Handle newsegments more correctly.
11808
11809         * gst/gstbus.c:
11810         Fix docs.
11811
11812         * gst/gstevent.c: (gst_event_new_newsegment):
11813         A newsegment cannot have a start_time of -1
11814
11815 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
11816
11817         * win32/gstenumtypes.c:
11818         * win32/gstenumtypes.h:
11819           Update
11820
11821 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11822
11823         * libs/gst/controller/gst-controller.c:
11824         (gst_controlled_property_set_interpolation_mode),
11825         (gst_controlled_property_new):
11826          fixed boolean again
11827
11828 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
11829
11830         * docs/faq/gst-uninstalled:
11831           add -good
11832         * gst/gstevent.c:
11833         * gst/gstevent.h:
11834           remove wrong docs
11835         * gst/gstutils.c: (gst_element_link_filtered):
11836         * gst/gstutils.h:
11837           add gst_element_link_filtered
11838
11839 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11840
11841         * docs/gst/gstreamer-docs.sgml:
11842         * docs/gst/gstreamer-sections.txt:
11843         * docs/gst/tmpl/.cvsignore:
11844         * docs/gst/tmpl/gsterror.sgml:
11845         * docs/gst/tmpl/gstfilter.sgml:
11846         * docs/gst/tmpl/gsturihandler.sgml:
11847         * docs/gst/tmpl/gsturitype.sgml:
11848         * docs/gst/tmpl/gstutils.sgml:
11849         * docs/gst/tmpl/gstxml.sgml:
11850         * gst/gsterror.c:
11851         * gst/gsterror.h:
11852         * gst/gstfilter.c:
11853         * gst/gsturi.c:
11854         * gst/gsturitype.c:
11855         * gst/gstutils.c:
11856         * gst/gstxml.c:
11857           inlined more docs, fixed double id-ref
11858
11859 2005-08-31  Wim Taymans  <wim@fluendo.com>
11860
11861         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11862         (gst_base_transform_handle_buffer):
11863         Passthrough elements don't need the caps as they don't care.
11864
11865 2005-08-31  Wim Taymans  <wim@fluendo.com>
11866
11867         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
11868         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
11869         Don't leak refcounts on buffers.
11870
11871 2005-08-31  Wim Taymans  <wim@fluendo.com>
11872
11873         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
11874         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
11875         (gst_base_transform_chain), (gst_base_transform_change_state):
11876         * gst/base/gstbasetransform.h:
11877         Handle the case where we are not negotiated more gracefully.
11878
11879 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
11880
11881         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
11882         (gst_file_src_map_region):
11883           Set READONLY flag on mmap'ed buffers, otherwise
11884           gst_buffer_make_writable() won't work properly (#314708).
11885
11886 2005-08-31  Wim Taymans  <wim@fluendo.com>
11887
11888         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
11889         passthrough elements can even do inplace on non writable
11890         buffers (as they don't touch them).
11891
11892 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
11893
11894         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
11895         (gst_test_mono_source_set_property),
11896         (gst_test_mono_source_class_init), (GST_START_TEST),
11897         (gst_controller_suite):
11898           more tests (hehe I have the most)
11899         * gst/gstbus.c:
11900           describe popping messages whenusing mulltiple sources
11901         * libs/gst/controller/gst-controller.c:
11902         (gst_controlled_property_set_interpolation_mode),
11903         (gst_controlled_property_new):
11904         * libs/gst/controller/gst-controller.h:
11905         * libs/gst/controller/gst-interpolation.c:
11906           implement boolean properties
11907
11908 2005-08-31  Wim Taymans  <wim@fluendo.com>
11909
11910         * gst/gstminiobject.c: (gst_mini_object_ref):
11911         Cannot assert that the refcount has to be positive
11912         since a disposed object can be resurrected.
11913
11914 2005-08-31  Wim Taymans  <wim@fluendo.com>
11915
11916         * gst/gstpad.c: (gst_pad_init):
11917         Revert change, need to first fix badly behaving 
11918         apps.
11919
11920 2005-08-30  Wim Taymans  <wim@fluendo.com>
11921
11922         * check/elements/fakesrc.c: (setup_fakesrc):
11923         * check/elements/identity.c: (setup_identity):
11924         Activate pads before using them.
11925
11926 2005-08-30  Wim Taymans  <wim@fluendo.com>
11927
11928         * gst/base/gstadapter.c: (gst_adapter_flush):
11929         Flushing out 0 bytes is ok for this function.
11930
11931         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11932         no newsegment gives a warning and sets the start/stop to 
11933         invalid.
11934
11935         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
11936         (gst_base_transform_set_passthrough):
11937         Some debug info.
11938
11939         * gst/gstminiobject.c: (gst_mini_object_ref):
11940         Check refcount here too.
11941
11942         * gst/gstpad.c: (gst_pad_init):
11943         Pads are initially flushing and refusing data.
11944
11945         * gst/gstutils.c: (gst_element_link_pads_filtered):
11946         When adding a capsfilter element make sure it has the
11947         same state as the parent bin.
11948
11949 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11950
11951         * docs/gst/tmpl/.cvsignore:
11952         * docs/gst/tmpl/gstformat.sgml:
11953         * docs/gst/tmpl/gstversion.sgml:
11954         * gst/gstbus.h:
11955         * gst/gstformat.c:
11956         * gst/gstformat.h:
11957         * gst/gstversion.h.in:
11958           more docs and two more inlined
11959
11960 2005-08-30  Wim Taymans  <wim@fluendo.com>
11961
11962         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
11963         Don't sync to clock.
11964
11965 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11966
11967         * docs/gst/gstreamer-sections.txt:
11968           ultral33t func10ns deserve to appear in the docs actually
11969         * docs/gst/tmpl/.cvsignore:
11970         * docs/gst/tmpl/gstcompat.sgml:
11971         * docs/gst/tmpl/gstconfig.sgml:
11972         * gst/check/gstcheck.c:
11973         * gst/gstcompat.h:
11974         * gst/gstconfig.h.in:
11975           inlined more docs
11976
11977 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11978
11979         * docs/gst/tmpl/.cvsignore:
11980         * docs/gst/tmpl/gstquery.sgml:
11981         * docs/gst/tmpl/gstutils.sgml:
11982         * gst/gstquery.c:
11983         * gst/gstquery.h:
11984           inlined and extended docs
11985
11986 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
11987
11988         * check/gst-libs/controller.c: (GST_START_TEST),
11989         (gst_controller_suite):
11990           more tests
11991         * docs/gst/tmpl/gstutils.sgml:
11992         * docs/libs/gstreamer-libs-sections.txt:
11993         * docs/libs/tmpl/gstdataprotocol.sgml:
11994           include path fixes
11995         * examples/controller/audio-example.c: (main):
11996           controller example works now
11997         * gst/gstclock.h:
11998           doc fixes
11999         * tools/gst-inspect.c: (print_element_properties_info):
12000           show param spec flags
12001
12002 2005-08-29  Andy Wingo  <wingo@pobox.com>
12003
12004         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
12005
12006 2005-08-28  Andy Wingo  <wingo@pobox.com>
12007
12008         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
12009         as having two arguments instead of just one. Allows superclasses
12010         to access information on subclasses -- see the terrible for() loop
12011         in gtype.c:g_type_create_instance for the reason why. All callers
12012         changed.
12013
12014 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12015
12016         * docs/design/part-messages.txt:
12017           update info
12018         * docs/gst/tmpl/.cvsignore:
12019         * docs/gst/tmpl/gstcaps.sgml:
12020         * docs/gst/tmpl/gstclock.sgml:
12021         * gst/gstbus.c:
12022         * gst/gstcaps.c:
12023         * gst/gstcaps.h:
12024         * gst/gstclock.c:
12025         * gst/gstclock.h:
12026         * gst/gstmessage.c:
12027           added descriptions for bus and message
12028           inline caps and clock docs
12029
12030 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12031
12032         * gst/gstmessage.c:
12033         * gst/gstmessage.h:
12034           doc fixes
12035
12036 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
12037
12038         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
12039           fix div-by-zero
12040
12041 2005-08-26  Andy Wingo  <wingo@pobox.com>
12042
12043         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
12044         element_set_state's return val.
12045         (test_2_elements): Add test that's been disabled for months.
12046
12047         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
12048         can-activate-pull properties.
12049
12050         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
12051         can-activate-pull properties. Implement is_seekable so fakesrc can
12052         operate in pull mode.
12053
12054         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
12055         properties.
12056         (gst_base_sink_activate, gst_base_sink_activate_pull)
12057         (gst_base_sink_activate_push): Make activation mode choosing work.
12058         Cleanups.
12059         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
12060         is right. Make pull mode work. Post an eos before pausing in pull
12061         mode.
12062         (gst_base_sink_change_state): Pay attention to the core's
12063         change_state() return val.
12064         
12065         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
12066         has-getrange properties. Cleanups.
12067         
12068         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
12069         has_getrange and replace with can_activate_pull and
12070         can_activate_push.
12071
12072         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
12073         locking comments. Remove has_loop, has_chain and replace with
12074         can_activate_pull and can_activate_push.
12075
12076 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
12077
12078         * configure.ac:
12079         * examples/Makefile.am:
12080         * examples/metadata/Makefile.am:
12081         * examples/metadata/read-metadata.c: (message_loop),
12082         (have_pad_handler), (make_pipeline), (print_tag), (main):
12083           Add metadata reading example that loops over a list of filenames,
12084           dumping any tags found.
12085
12086         * gst/gstbus.c: (gst_bus_dispose):
12087         * gst/gstelement.c: (gst_element_dispose):
12088           Release a few potentially-held references in dispose.
12089
12090 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12091
12092         * docs/gst/tmpl/gstminiobject.sgml:
12093           do *not* add tmpl/*.sgml files to CVS!
12094
12095 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12096
12097         * libs/gst/bytestream/.cvsignore:
12098         * libs/gst/bytestream/Makefile.am:
12099         * libs/gst/bytestream/adapter.c:
12100         * libs/gst/bytestream/adapter.h:
12101         * libs/gst/bytestream/bytestream.c:
12102         * libs/gst/bytestream/bytestream.h:
12103         * libs/gst/bytestream/filepad.c:
12104         * libs/gst/bytestream/filepad.h:
12105           removing obsolete files
12106
12107 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12108
12109         * docs/gst/gstreamer-docs.sgml:
12110         * docs/libs/gstreamer-libs-docs.sgml:
12111           disabed additional index entries again, as this makes docs-gen just
12112           slow and they aren't useful yet
12113         * docs/libs/gstreamer-libs-sections.txt:
12114           little -section.txt cleanup for libs
12115
12116 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
12117
12118         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12119         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
12120           fix up some debugging
12121         (gst_base_transform_get_unit_size),
12122         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
12123         (gst_base_transform_handle_buffer):
12124         * gst/base/gstbasetransform.h:
12125           handle and store timed NEWSEGMENT events so that subclasses that
12126           calculate time by counting samples have a segment_start time they
12127           need to add to their timestamps - see audioresample
12128
12129 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
12130
12131         * gst/gstbin.h:
12132           removed ';' from the end of macro defs
12133         * docs/gst/gstreamer-docs.sgml:
12134         * docs/gst/gstreamer-sections.txt:
12135         * docs/gst/tmpl/.cvsignore:
12136         * gst/gstbus.h:
12137         * gst/gstelement.c: (gst_element_class_init),
12138         (gst_element_set_state), (activate_pads),
12139         (gst_element_save_thyself):
12140         * gst/gstevent.c: (gst_event_new_newsegment):
12141         * gst/gstevent.h:
12142         * gst/gstiterator.c:
12143         * gst/gstiterator.h:
12144         * gst/gstpad.c:
12145         * gst/gstprobe.h:
12146         * gst/gstutils.c: (gst_pad_query_convert):
12147         * gst/gstutils.h:
12148           fixed parameter name mismatches between source, header and docs
12149           added some more docs, resolved the last batch of unused elements in
12150           docs (now someone needs to doc them)
12151
12152 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12153
12154         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
12155         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
12156           don't walk through the plugins backwards.  Where is all this
12157           reversed logic coming from ?
12158
12159 2005-08-25  Wim Taymans  <wim@fluendo.com>
12160
12161         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12162         (gst_base_transform_transform_size),
12163         (gst_base_transform_configure_caps),
12164         (gst_base_transform_get_unit_size),
12165         (gst_base_transform_buffer_alloc),
12166         (gst_base_transform_change_state):
12167         * gst/base/gstbasetransform.h:
12168         Cache caps unit_size.
12169         Make sure we cannot negotiate up and downstream at the
12170         same time.
12171
12172 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12173
12174         * gst/gst.c: (init_pre), (init_post):
12175           register the installed plugin path after the env var
12176         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
12177         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
12178           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
12179           directories, so the tests can prefer uninstalled over installed
12180
12181 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
12182
12183         * gst/base/gstbasetransform.h:
12184           comment
12185         * gst/gstpad.c:
12186           add to docs
12187
12188 2005-08-25  Wim Taymans  <wim@fluendo.com>
12189
12190         * gst/gstbin.c: (bin_bus_handler):
12191         Be a bit more conservative about the posted message.
12192         
12193         * gst/gstbus.c: (gst_bus_post):
12194         Some cleanups, warn wrong return values.
12195
12196 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
12197
12198         * check/gst/gstbin.c: (GST_START_TEST):
12199         * gst/gstbin.c: (bin_bus_handler):
12200         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12201         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12202         (gst_message_new_warning), (gst_message_new_tag),
12203         (gst_message_new_state_changed), (gst_message_new_segment_start),
12204         (gst_message_new_segment_done), (gst_message_new_custom):
12205         * gst/gstmessage.h:
12206         * tools/gst-launch.c: (event_loop):
12207         * tools/gst-md5sum.c: (event_loop):
12208           Revert unpopular change for GST_MESSAGE_SRC to GObject.
12209
12210 2005-08-25  Wim Taymans  <wim@fluendo.com>
12211
12212         * check/generic/states.c: (GST_START_TEST):
12213         Cleanup can be done at the end.
12214
12215         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
12216         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12217         (gst_task_get_state), (gst_task_start), (gst_task_pause):
12218         Oh boy.. Thanks for finding this, Thomas. 
12219
12220 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12221
12222         * docs/gst/gstreamer.types:
12223           added missing types
12224
12225 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
12226
12227         * docs/gst/gstreamer-docs.sgml:
12228         * docs/gst/gstreamer-sections.txt:
12229         * docs/gst/tmpl/.cvsignore:
12230         * gst/gstbin.c:
12231         * gst/gstiterator.c:
12232         * gst/gstutils.c:
12233         * gst/registries/gstxmlregistry.h:
12234           added missing classes and symbols (123 more to go)
12235           removed removed symbols from section file
12236           fixed many doc-comments
12237
12238 2005-08-24  Wim Taymans  <wim@fluendo.com>
12239
12240         * check/generic/states.c: (GST_START_TEST):
12241         Make sure all tasks are stopped.
12242
12243         * check/gst/gstbin.c: (GST_START_TEST):
12244         Unref after usage for proper valgrinding.
12245
12246         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
12247         Really wait for the task to stop before destroying the
12248         mutex.
12249
12250         * gst/gstqueue.c: (gst_queue_sink_activate_push),
12251         (gst_queue_src_activate_push):
12252         Small cleanups. Don't stop the task when we did not start
12253         it.
12254
12255         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
12256         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
12257         (gst_task_get_state), (gst_task_start), (gst_task_pause),
12258         (gst_task_join):
12259         * gst/gsttask.h:
12260         Protect the stream lock with the object lock.
12261         Disallow setting the stream lock when running.
12262         Add cleanup_all to wait for the threadpool to finish.
12263         Remove code to autoallocate a mutex if none was provided.
12264         Add _join() to wait for a task to stop.
12265         Protect the thread pool with a global lock.
12266
12267 2005-08-24  Wim Taymans  <wim@fluendo.com>
12268
12269         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
12270         (gst_base_sink_get_times), (gst_base_sink_do_sync),
12271         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
12272         * gst/base/gstbasesink.h:
12273         Handle newsegment events correctly.
12274         Drop buffers out of the segment range.
12275
12276 2005-08-22  Andy Wingo  <wingo@pobox.com>
12277
12278         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
12279         macro, implements an interface and gstimplementsinterface for a
12280         new type.
12281
12282 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12283
12284         * check/Makefile.am:
12285         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
12286           add a test that does a bunch of state changes on elements
12287           needs some fixing for valgrind
12288         * check/states/sinks.c: (gst_object_suite):
12289           whitespace
12290         * gst/gstcaps.h:
12291           add prototype for gst_caps_is_equal_fixed
12292         * gst/gstplugin.c:
12293         * gst/gstregistrypool.c:
12294           doc fixes
12295
12296 2005-08-24  Andy Wingo  <wingo@pobox.com>
12297
12298         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
12299         convert a negative value. Doesn't make much sense. Mostly this is
12300         here to force callers to ensure -1 maps to -1.
12301
12302 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12303
12304         * docs/pwg/advanced-types.xml:
12305           Well done to Michael for catching my deliberate introduction
12306           of this spelling mistake. 
12307         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
12308         * gst/gstelement.h:
12309           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
12310           unlink pads before removing the element from the bin.
12311
12312 2005-08-24  Andy Wingo  <wingo@pobox.com>
12313
12314         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
12315         the same thing as GST_DEBUG=*:4.
12316         (parse_debug_level, parse_debug_category): New helper parsers.
12317
12318 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
12319
12320         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12321         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
12322         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
12323         (gst_base_transform_buffer_alloc),
12324         (gst_base_transform_handle_buffer):
12325           use gboolean return values and pointers to size so we can use the
12326           full GST_BUFFER_SIZE range (guint) for buffer sizes
12327           use GstPadDirection for transform_caps
12328         * gst/base/gstbasetransform.h:
12329           rename get_size to get_unit_size since that's what it is
12330         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
12331           use GstPadDirection for transform_caps
12332         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12333         * gst/gstutils.h:
12334           cleanup and debugging
12335
12336 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12337
12338         * gst/gstelement.c: (gst_element_class_init),
12339         (gst_element_set_state), (activate_pads),
12340         (gst_element_save_thyself):
12341         * tools/gst-compprep.c: (main):
12342         * tools/gst-inspect.c: (print_element_properties_info):
12343         * tools/gst-xmlinspect.c: (print_element_properties):
12344           Fixed long standing mem-leak
12345
12346 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
12347
12348         * check/gst/gstbin.c: (GST_START_TEST):
12349         * gst/gstbin.c: (bin_bus_handler):
12350         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
12351         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
12352         (gst_message_new_warning), (gst_message_new_tag),
12353         (gst_message_new_state_changed), (gst_message_new_segment_start),
12354         (gst_message_new_segment_done), (gst_message_new_custom):
12355         * gst/gstmessage.h:
12356         * tools/gst-launch.c: (event_loop):
12357         * tools/gst-md5sum.c: (event_loop):
12358           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
12359           that applications can sensibly post custom messages with references
12360           to their own objects.
12361
12362 2005-08-24  Andy Wingo  <wingo@pobox.com>
12363
12364         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
12365         already.
12366
12367 2005-08-24  Wim Taymans  <wim@fluendo.com>
12368
12369         * gst/base/gstbasetransform.c: (gst_base_transform_init),
12370         (gst_base_transform_transform_caps),
12371         (gst_base_transform_transform_size),
12372         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
12373         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
12374         (gst_base_transform_handle_buffer):
12375         * gst/base/gstbasetransform.h:
12376         Many fixes and new features added by Thomas. Can now also do
12377         transforms with variable sizes and a custom fixate_caps function.
12378
12379 2005-08-24  Wim Taymans  <wim@fluendo.com>
12380
12381         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12382         Some debugging.
12383
12384         * gst/gstclock.h:
12385         Cast to ClockTime before formatting to time.
12386
12387         * gst/gstutils.h:
12388         Cleanups.
12389
12390 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
12391
12392         * check/gst-libs/controller.c: (GST_START_TEST),
12393         (gst_controller_suite):
12394         * docs/gst/tmpl/gstcaps.sgml:
12395         * docs/gst/tmpl/gstghostpad.sgml:
12396         * docs/gst/tmpl/gstquery.sgml:
12397         * docs/gst/tmpl/gstutils.sgml:
12398         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
12399         (gst_object_sink_values), (gst_object_get_value_arrays),
12400         (gst_object_get_value_array):
12401           gracefully handle helper method calls to objects that are not beeing
12402           controlled, added test case for that          
12403
12404 2005-08-23  Wim Taymans  <wim@fluendo.com>
12405
12406         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
12407         (gst_event_new_newsegment), (gst_event_parse_newsegment),
12408         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
12409         (gst_event_parse_qos), (gst_event_new_seek),
12410         (gst_event_parse_seek):
12411         * gst/gstevent.h:
12412         Some more debugging output and doc cleanups.
12413
12414         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12415         Fix possible deadlock.
12416
12417 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12418
12419         * docs/gst/gstreamer-docs.sgml:
12420         * docs/gst/gstreamer-sections.txt:
12421         * docs/gst/gstreamer.types:
12422         * docs/gst/tmpl/.cvsignore:
12423         * gst/gstbin.h:
12424         * gst/gstbus.c:
12425         * gst/gstelement.c:
12426         * gst/gstevent.h:
12427           added 100 symbols from gstreamer-unused.txt to the right sections
12428           fixed more broken comments
12429           added GstBus to docs
12430
12431 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12432
12433         * docs/gst/gstreamer-sections.txt:
12434         * docs/gst/tmpl/.cvsignore:
12435         * docs/gst/tmpl/gstbin.sgml:
12436         * docs/gst/tmpl/gstbuffer.sgml:
12437         * gst/base/gstbasesrc.c:
12438         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
12439         * gst/gstbuffer.c:
12440         * gst/gstbuffer.h:
12441         * tools/gst-launch.1.in:
12442           inlined more doc comments, added missing comments and fixed comments
12443           fixed typos
12444
12445 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
12446
12447         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
12448           some debugging
12449         * gst/gstcaps.h:
12450           whitespace fixes
12451         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
12452           more debugging
12453         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
12454         * gst/gststructure.h:
12455           add a fixate function for booleans; add a FIXME that these func
12456           names should probably be gst_structure_fixate_*
12457
12458 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
12459
12460         * docs/gst/gstreamer-docs.sgml:
12461         * docs/gst/gstreamer-sections.txt:
12462         * gst/Makefile.am:
12463         * gst/gstbin.c: (gst_bin_get_type),
12464         (gst_bin_child_proxy_get_child_by_index),
12465         (gst_bin_child_proxy_get_children_count),
12466         (gst_bin_child_proxy_init):
12467         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
12468         (gst_child_proxy_get_child_by_index),
12469         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
12470         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
12471         (gst_child_proxy_get), (gst_child_proxy_set_property),
12472         (gst_child_proxy_set_valist), (gst_child_proxy_set),
12473         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
12474         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
12475         * gst/gstchildproxy.h:
12476         * gst/parse/grammar.y:
12477         * tools/gst-inspect.c: (print_interfaces),
12478         (print_element_properties_info), (print_element_info):
12479           ported gstchildproxy over from 0.8
12480           ported gst-inspect fixes and enhancements over from 0.8
12481
12482 2005-08-22  Wim Taymans  <wim@fluendo.com>
12483
12484         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
12485         (gst_base_transform_handle_buffer):
12486         Also call the transform function if we have ANY caps.
12487
12488         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
12489         Fix debug info.
12490
12491 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12492
12493         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
12494           Don't pretend to handle seek events if the source is not seekable
12495
12496 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
12497
12498         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12499           Remove extra parameter to debug output
12500
12501         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12502         (gst_base_src_do_seek), (gst_base_src_activate_push):
12503           Fix seek event handling.
12504
12505         * gst/gstpipeline.c: (gst_pipeline_change_state):
12506         * gst/gstqueue.c: (gst_queue_handle_sink_event),
12507         (gst_queue_src_activate_push):
12508           Don't start the src pad task on FLUSH_STOP if the pad
12509           isn't linked.
12510           Debug changes.
12511
12512 2005-08-22  Wim Taymans  <wim@fluendo.com>
12513
12514         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
12515         Added check for gst_static_caps_get() refcounting.
12516
12517 2005-08-22  Wim Taymans  <wim@fluendo.com>
12518
12519         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
12520         Make _static_caps_get() refcounting sane.
12521         
12522         * gst/gstelement.c: (gst_element_set_state):
12523         Add g_return_val_if_fail() to protect against segfaults.
12524
12525 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
12526
12527         * docs/gst/tmpl/gstevent.sgml:
12528         * gst/gstevent.c:
12529         * gst/gstevent.h:
12530           inlined remaining docs, added missing doc comments
12531
12532 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
12533
12534         * check/gst/gstbin.c: (GST_START_TEST):
12535           since we don't know when preroll is done, use refcount range
12536           check for the sink
12537         * gst/check/gstcheck.h:
12538           add macro for checking refcount range
12539
12540 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12541
12542         * check/Makefile.am:
12543           clean up environment for when registry gets built versus
12544           when actual tests are run; valgrind seems to not report
12545           leaks if GST_PLUGIN_PATH is set to some specific values
12546         * check/gst/gstbin.c: (GST_START_TEST):
12547           add more refcounting checks; maybe this exposes a
12548           preroll lock bug ?
12549         * common/check.mak:
12550         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12551         * gst/check/gstcheck.h:
12552         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
12553         (gst_bin_change_state):
12554         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
12555           add/fix debugging/whitespace
12556
12557 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12558
12559         * check/gst/gstevent.c: (event_probe), (test_event),
12560         (GST_START_TEST):
12561          Er, don't call gst_bin_watch_for_state_change you idiot.
12562
12563 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
12564
12565         * check/Makefile.am:
12566           Use CHECK_CFLAGS and CHECK_LIBS
12567         * check/gst/gstevent.c: (event_probe), (test_event),
12568         (GST_START_TEST):
12569           Don't leak events.
12570         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
12571         (gst_base_src_start), (gst_base_src_stop),
12572         (gst_base_src_activate_push), (gst_base_src_activate_pull),
12573         (gst_base_src_change_state):
12574           Sprinkle gst_base_src_stop liberally around error paths to fix
12575           problems reusing a source after failed state changes.
12576         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12577         (helper_find_suggest), (gst_type_find_helper):
12578           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
12579         * gst/gstevent.h:
12580         * docs/gst/tmpl/gstevent.sgml:
12581           Migrate part of the docs from the SGML file. Wait for ensonic to
12582           tell me how I did it wrong ;)
12583         * tools/gst-typefind.c: (main):
12584           Extra robustness to state changes between files.
12585
12586 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
12587
12588         * check/Makefile.am:
12589           don't valgrind the controller test - it's leaking - Stefan, HELP
12590         * gst/check/gstcheck.c: (gst_check_message_error),
12591         (gst_check_chain_func), (gst_check_setup_element),
12592         (gst_check_teardown_element), (gst_check_setup_src_pad),
12593         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
12594         (gst_check_teardown_sink_pad):
12595         * gst/check/gstcheck.h:
12596           add a bunch of methods to set up elements, and src and sink pads
12597         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
12598         * check/elements/identity.c: (setup_identity), (cleanup_identity),
12599         (GST_START_TEST):
12600           use them
12601         * gst/gstmessage.c:
12602         * gst/gsttag.h:
12603           whitespace/doc fixes
12604
12605 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12606
12607         * gst/gstelement.h:
12608           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
12609           be handled by the application and not always printed as well
12610
12611 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12612
12613         * check/Makefile.am:
12614           set GST_TOOLS_DIR
12615         * gst/check/gstcheck.c: (gst_check_message_error):
12616         * gst/check/gstcheck.h:
12617           add a fail_unless_equals_int
12618           add fail_unless for error messages
12619
12620 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12621
12622         * check/Makefile.am:
12623         * check/gst.supp:
12624         * common/Makefile.am:
12625         * common/check.mak:
12626         * common/gst.supp:
12627           factor out some of the common stuff so we can use it
12628
12629 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12630
12631         * check/Makefile.am:
12632         * check/gst/gstiterator.c: (GST_START_TEST):
12633         * check/gst/gstsystemclock.c: (GST_START_TEST),
12634         (gst_systemclock_suite):
12635         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
12636         * gst/gstclock.c:
12637           valgrind more tests
12638
12639 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
12640
12641         * check/elements/.cvsignore:
12642         * check/elements/gstfakesrc.c:
12643           rename to name of element
12644         * check/elements/identity.c: (chain_func), (event_func),
12645         (setup_identity), (cleanup_identity), (GST_START_TEST),
12646         (identity_suite), (main):
12647           add a test for identity
12648         * check/Makefile.am:
12649         * pkgconfig/Makefile.am:
12650         * pkgconfig/gstreamer-check.pc.in:
12651         * pkgconfig/gstreamer-check-uninstalled.pc.in:
12652         * gst/check:
12653         * gst/Makefile.am:
12654         * configure.ac:
12655           move the check stuff to a library that gets installed
12656         * check/gst-libs/controller.c: (GST_START_TEST):
12657         * check/gst-libs/gdp.c:
12658         * check/gst/gst.c: (GST_START_TEST):
12659         * check/gst/gstbin.c:
12660         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12661         * check/gst/gstbus.c:
12662         * check/gst/gstcaps.c: (GST_START_TEST):
12663         * check/gst/gstelement.c:
12664         * check/gst/gstghostpad.c:
12665         * check/gst/gstiterator.c:
12666         * check/gst/gstmessage.c:
12667         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
12668         * check/gst/gstobject.c:
12669         * check/gst/gstpad.c: (GST_START_TEST):
12670         * check/gst/gststructure.c: (GST_START_TEST):
12671         * check/gst/gstsystemclock.c: (GST_START_TEST),
12672         (gst_systemclock_suite):
12673         * check/gst/gsttag.c: (gst_tag_suite):
12674         * check/gst/gstvalue.c:
12675         * check/pipelines/cleanup.c:
12676         * check/pipelines/simple_launch_lines.c:
12677         * check/states/sinks.c:
12678           change include statement
12679
12680         * docs/gst/gstreamer-sections.txt:
12681         * docs/gst/tmpl/gstpad.sgml:
12682           document more pad stuff
12683         * gst/gstminiobject.c: (gst_mini_object_ref),
12684         (gst_mini_object_unref):
12685           debug refcounting
12686
12687 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
12688
12689         * docs/gst/tmpl/gst.sgml:
12690         * gst/gst.c:
12691           eliminate another tmpl file, fix spelling in the long-description
12692
12693 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12694
12695         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12696         (test_event), (timediff), (gstevents_suite):
12697           Should fix build on 64-bit arch's
12698
12699 2005-08-18  Andy Wingo  <wingo@pobox.com>
12700
12701         Make sure that when a pipeline goes to PLAYING, that data has
12702         actually hit the sink.
12703
12704         * check/states/sinks.c (test_sink): A sink that doesn't get any
12705         data shouldn't return SUCCESS for going to either PLAYING or
12706         PAUSED. Test also the return values on the way back down.
12707
12708         * gst/gstelement.c (gst_element_set_state): When changing the
12709         state of an element currently changing state asynchronously, go to
12710         lost-state after commiting the pending state. Makes future calls
12711         to get_state continue to return ASYNC.
12712
12713         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
12714         ASYNC when going to PLAYING if we still don't have preroll, as can
12715         happen with live sources.
12716
12717 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12718
12719         * docs/pwg/advanced-types.xml:
12720           Hack long paragraph into 2 chunks as a workaround for buggy
12721           jadetex version in sid and breezy that loops infinitely and
12722           eats all RAM.
12723
12724 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12725
12726         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12727         (test_event), (timediff), (gstevents_suite):
12728           Provide more error margin in clock measurements to allow for 
12729           g_get_current_time inaccuracies.
12730
12731 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12732
12733         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12734         (test_event), (timediff), (gstevents_suite):
12735            Fix error message output so I might be able to tell why the
12736            test works here but fails on the build farm.
12737
12738 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
12739
12740         * check/Makefile.am:
12741         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
12742         (test_event), (timediff), (gstevents_suite), (main):
12743           I wrote a test!
12744
12745         * docs/design/part-seeking.txt:
12746           Spelling correction
12747
12748         * docs/gst/tmpl/gstevent.sgml:
12749         * docs/gst/tmpl/gstfakesrc.sgml:
12750           Docs updates.
12751
12752         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12753           Treat a buffer-without-newsegment the same as a receiving 
12754           a newsegment not in time format, and disable syncing to the clock
12755           with a warning.
12756
12757         * gst/gstbus.c: (gst_bus_set_sync_handler):
12758           Assert if anyone tries to replace the existing sync_handler for bus, 
12759           as only the owner should be setting it.
12760
12761         * gst/gstevent.h:
12762           Have a fixed set of custom event enums with events identified by
12763           their structure name (as in 0.8), rather than a free-for-all
12764           allowing collisions between enum values from different plugins.
12765
12766         * gst/gstpad.c: (gst_pad_class_init):
12767           Docs change.
12768           
12769         * gst/gstqueue.c: (gst_queue_handle_sink_event):
12770           Handle out-of-band downstream events from the sending thread.
12771
12772 2005-08-17  Andy Wingo  <wingo@pobox.com>
12773
12774         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
12775         play-timeout==0 to mean no timeout at all. In that case, don't
12776         bother with a get_state or a warning, just return directly, even
12777         if it's ASYNC.
12778
12779         * gst/base/gstbasetransform.c: Debug changes.
12780
12781         * gst/gstutils.h:
12782         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
12783         ensure bins post state change messages. A bit of a hack but I can't
12784         think of a way to avoid it.
12785
12786         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
12787
12788 2005-08-16  Andy Wingo  <wingo@pobox.com>
12789
12790         * gst/base/gstadapter.h:
12791         * gst/base/gstadapter.c (gst_adapter_take): New function, like
12792         peek() but you own the data. Not terribly efficient atm.
12793
12794 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12795
12796         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
12797         (gst_element_found_tags):
12798         * gst/gstutils.h:
12799           Add two utility functions for tag handling.
12800
12801 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12802
12803         * docs/manual/advanced-dataaccess.xml:
12804         * docs/manual/basics-helloworld.xml:
12805           Fix docs to use _bin_add() before _link(), which fixes the examples
12806           with recent core versions (reported by Madhan Raj M
12807           <raj_madan@rediffmail.com>, #313199).
12808
12809 2005-08-16  Wim Taymans  <wim@fluendo.com>
12810
12811         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12812         Added subtract checks.
12813
12814         * docs/design/part-events.txt:
12815         Some more docs about newsegment
12816
12817         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
12818         Fix FIXME
12819
12820         * gst/gstcaps.c: (gst_caps_to_string):
12821         Add comments, cleanups.
12822         
12823         * gst/gstelement.c: (gst_element_save_thyself):
12824         cleanups
12825         
12826         * gst/gstvalue.c: (gst_value_collect_int_range),
12827         (gst_string_unwrap), (gst_value_union_int_int_range),
12828         (gst_value_union_int_range_int_range),
12829         (gst_value_intersect_int_int_range),
12830         (gst_value_intersect_int_range_int_range),
12831         (gst_value_intersect_double_double_range),
12832         (gst_value_intersect_double_range_double_range),
12833         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
12834         (gst_value_subtract_int_range_int),
12835         (gst_value_subtract_double_range_double),
12836         (gst_value_subtract_double_range_double_range),
12837         (gst_value_subtract_from_list), (gst_value_subtract_list),
12838         (gst_value_can_compare), (gst_value_compare_fraction):
12839         Cleanups, add comments, remove unneeded asserts.
12840
12841 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12842
12843         * tools/gst-launch.c: (event_loop):
12844           don't convert NULL structures to strings
12845
12846 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
12847
12848         * docs/gst/gstreamer-sections.txt:
12849           made some defines private
12850         * docs/gst/tmpl/gstconfig.sgml:
12851         * docs/gst/tmpl/gstqueue.sgml:
12852         * docs/gst/tmpl/gsttaglist.sgml:
12853         * docs/gst/tmpl/gsttypes.sgml:
12854         * docs/gst/tmpl/gstutils.sgml:
12855         * docs/pwg/appendix-porting.xml:
12856         * gst/base/gstbasesink.h:
12857         * gst/base/gstbasesrc.c:
12858         * gst/base/gstbasesrc.h:
12859         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
12860         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
12861         * gst/gstelement.c: (gst_element_class_init):
12862         * gst/gstpad.c: (gst_pad_class_init):
12863         * gst/gstqueue.c: (gst_queue_class_init):
12864         * gst/gstxml.c: (gst_xml_class_init):
12865           documented all undocumented signal inline
12866         * libs/gst/controller/gst-controller.h:
12867           added padding
12868
12869 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12870
12871         * docs/pwg/appendix-porting.xml:
12872           Document _set_link_function -> _set_setcaps_function.
12873
12874 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
12875
12876         * check/Makefile.am:
12877           add a .check target for running the check
12878         * check/gst-libs/controller.c: (GST_START_TEST):
12879           cosmetic fixups
12880         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
12881           complete checks for gstbuffer; would be nice if I could get the
12882           gcov stuff to work so I can see if I actually completed gstbuffer.c
12883         * check/gstcheck.h:
12884           add ASSERT_BUFFER_REFCOUNT
12885
12886 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
12887
12888         * docs/gst/gstreamer-sections.txt:
12889         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
12890         * gst/gsttag.h:
12891           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
12892           spew out a warning if a tag that is already registered
12893           is re-registered, unless it is re-registered with a 
12894           different type (#308438).
12895
12896 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
12897
12898         * docs/pwg/appendix-porting.xml:
12899         * docs/pwg/building-state.xml:
12900           Add some paragraphs about state changes in 0.9 to the PWG
12901           and the porting guide, in particular about the new meaning
12902           of GST_STATE_PAUSED and how to write state change functions
12903           with concurrent access by multiple threads in mind.
12904
12905 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
12906
12907         * docs/gst/gstreamer-docs.sgml:
12908         * docs/libs/gstreamer-libs-docs.sgml:
12909           added deprecation and since indexes
12910         * libs/gst/controller/gst-controller.c:
12911         * libs/gst/controller/gst-helper.c:
12912           added since tags
12913
12914
12915 2005-08-11  Wim Taymans  <wim@fluendo.com>
12916
12917         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
12918         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
12919         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
12920         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
12921         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
12922         (gst_ghost_pad_set_target):
12923         Actually implement (re)setting the target on a ghostpad
12924         as described in the docs.
12925
12926 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12927
12928         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
12929           Check whether GST_DEBUG_NO_COLOR environment variable is
12930           set and disable coloured debug output if that is the case.
12931
12932 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
12933
12934         * gst/base/gsttypefindhelper.c: (helper_find_peek),
12935         (gst_type_find_helper):
12936           The memory returned by gst_type_find_peek() needs to
12937           stay valid until the end of a typefind function, and
12938           typefind functions may keep results from different 
12939           offsets around, so we can't just unref the buffer from
12940           the previous _peek(), but have to save all buffers 
12941           returned by _peek() until typefinding is done and only
12942           free them then.
12943
12944 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
12945
12946         * docs/gst/gstreamer-sections.txt:
12947         * gst/gstutils.h:
12948           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
12949
12950 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12951
12952         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
12953           Fix a pretty good memleak.
12954
12955 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12956
12957         * gst/gstiterator.h:
12958           Fix wrong include and 'make distcheck'.
12959
12960 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12961
12962         * gst/gstbin.c: (bin_bus_handler):
12963           Use gst_element_post_message() instead.
12964
12965 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
12966
12967         * gst/base/gstadapter.h:
12968         * gst/base/gstbasesink.h:
12969         * gst/base/gstbasesrc.h:
12970         * gst/base/gstbasetransform.h:
12971         * gst/base/gstcollectpads.h:
12972         * gst/base/gstpushsrc.h:
12973         * gst/gstiterator.h:
12974           Add padding to our base elements' class and instance structs and
12975           to GstIterator (you will need to rebuild all plugins and apps!)
12976
12977 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12978
12979         * gst/gstbin.c: (bin_bus_handler):
12980           Make default message forwarding from child->bus to bin->bus
12981           threadsafe and make it not emit warnings if the parent has no bus.
12982
12983 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12984
12985         * gst/gstelement.c: (activate_pads):
12986           On paused->ready, set pad->caps to NULL, as is the documented
12987           behaviour in this state change. Fixes playback of series of
12988           media files when visualization is enabled in Totem.
12989
12990 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
12991
12992         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
12993           Allow NULL as filter-caps (which means "any").
12994
12995 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
12996
12997         * docs/libs/gstreamer-libs-sections.txt:
12998         * libs/gst/controller/gst-controller.c:
12999         * libs/gst/controller/gst-controller.h:
13000         * libs/gst/controller/gst-helper.c:
13001           adding more entries to the docs and fix small doc-bugs
13002
13003 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13004
13005         * docs/gst/gstreamer-docs.sgml:
13006         * docs/gst/gstreamer-sections.txt:
13007         * docs/gst/gstreamer.types:
13008         * docs/gst/tmpl/gstbasesink.sgml:
13009         * docs/gst/tmpl/gstbasesrc.sgml:
13010         * docs/gst/tmpl/gstbasetransform.sgml:
13011         * docs/gst/tmpl/gstfakesrc.sgml:
13012         * gst/base/gstcollectpads.c:
13013         * gst/base/gstcollectpads.h:
13014         * libs/gst/controller/gst-controller.c:
13015         * libs/gst/controller/gst-controller.h:
13016         * libs/gst/controller/gst-helper.c:
13017         * libs/gst/controller/gst-interpolation.c:
13018         * libs/gst/controller/lib.c:
13019           added long/short desc for controller docs
13020           added collectpads base class docs
13021           added correct includes to base-class docs
13022
13023 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
13024
13025         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
13026         (gst_test_mono_source_set_property),
13027         (gst_test_mono_source_class_init), (GST_START_TEST),
13028         (gst_controller_suite):
13029         * docs/gst/gstreamer-docs.sgml:
13030         * docs/gst/gstreamer-sections.txt:
13031         * docs/gst/gstreamer.types:
13032         * docs/libs/gstreamer-libs-docs.sgml:
13033         * docs/libs/gstreamer-libs-sections.txt:
13034         * gst/base/gstadapter.c:
13035         * libs/gst/controller/gst-controller.c:
13036         (gst_controlled_property_new), (gst_controlled_property_free),
13037         (gst_controller_new_valist),
13038         (gst_controller_remove_properties_valist),
13039         (gst_controller_sink_values), (_gst_controller_finalize):
13040         * libs/gst/controller/gst-controller.h:
13041         * libs/gst/controller/gst-helper.c:
13042         (gst_object_control_properties), (gst_object_uncontrol_properties),
13043         (gst_object_get_controller), (gst_object_set_controller),
13044         (gst_object_sink_values), (gst_object_get_value_arrays),
13045         (gst_object_get_value_array):
13046           more tests (and fixes) for the controller
13047           more docs for the controller
13048           integrated companies docs for the adapter 
13049
13050 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
13051
13052         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
13053         (GST_START_TEST), (fakesrc_suite):
13054           add tests for sizetype
13055
13056 2005-08-04  Andy Wingo  <wingo@pobox.com>
13057
13058         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
13059         fixes buffer_alloc proxying among other things.
13060
13061         * gst/base/gstbasetransform.c:
13062         * gst/base/gstbasetransform.h:
13063         Revert patch to gstbasetransform from 7-28 removing
13064         delay_configure.
13065
13066         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
13067         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
13068         Semantics changed, should return not the size of the output buffer
13069         but the byte size of a buffer with a given caps.
13070
13071         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
13072         debug object.
13073         (gst_base_transform_configure_caps): Don't set out_size here: (in,
13074         out) are not the pad caps until setcaps finishes.
13075         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
13076         not-in-place case as well. Deal with changing from in-place to
13077         not-in-place within calling pad_alloc_buffer. Still a bit
13078         concerned about the overhead here...
13079
13080 2005-08-03  Andy Wingo  <wingo@pobox.com>
13081
13082         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
13083         fixating is an error.
13084
13085 2005-08-04  Edward Hervey  <edward@fluendo.com>
13086
13087         * gst/base/gstadapter.h: 
13088         Added gst_adapter_get_type() to the header
13089
13090 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13091
13092         * check/Makefile.am:
13093         * check/gst-libs/controller.c:
13094         * libs/gst/controller/gst-controller.c:
13095         (gst_controller_new_valist):
13096           added check test suite for the controller
13097         * gst/base/gstpushsrc.c:
13098           fixed a doc typo
13099
13100 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13101
13102         * docs/gst/Makefile.am:
13103         * docs/gst/gstreamer-docs.sgml:
13104         * docs/gst/gstreamer-sections.txt:
13105         * docs/gst/gstreamer.types:
13106         * docs/gst/tmpl/gstfakesrc.sgml:
13107         * gst/base/README:
13108         * gst/base/gstbasesink.c:
13109         * gst/base/gstbasesink.h:
13110         * gst/base/gstbasesrc.c:
13111         * gst/base/gstbasesrc.h:
13112         * gst/base/gstbasetransform.c:
13113         * gst/base/gstpushsrc.c:
13114         * gst/base/gstpushsrc.h:
13115           add short/long description docs to base classes
13116           add pushsrc to the docs
13117           remove consolidated doc fragments
13118
13119 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
13120
13121         * configure.ac:
13122         * docs/libs/Makefile.am:
13123         * docs/libs/gstreamer-libs-docs.sgml:
13124         * docs/libs/gstreamer-libs-sections.txt:
13125         * docs/libs/gstreamer-libs.types:
13126         * examples/Makefile.am:
13127         * examples/controller/.cvsignore:
13128         * examples/controller/Makefile.am:
13129         * examples/controller/audio-example.c: (main):
13130         * libs/gst/Makefile.am:
13131         * libs/gst/controller/.cvsignore:
13132         * libs/gst/controller/Makefile.am:
13133         * libs/gst/controller/gst-controller.c:
13134         (on_object_controlled_property_changed), (gst_timed_value_compare),
13135         (gst_timed_value_find),
13136         (gst_controlled_property_set_interpolation_mode),
13137         (gst_controlled_property_new), (gst_controlled_property_free),
13138         (gst_controller_find_controlled_property),
13139         (gst_controller_new_valist), (gst_controller_new),
13140         (gst_controller_remove_properties_valist),
13141         (gst_controller_remove_properties), (gst_controller_set),
13142         (gst_controller_set_from_list), (gst_controller_unset),
13143         (gst_controller_get), (gst_controller_get_all),
13144         (gst_controller_sink_values), (gst_controller_get_value_arrays),
13145         (gst_controller_get_value_array),
13146         (gst_controller_set_interpolation_mode),
13147         (_gst_controller_finalize), (_gst_controller_init),
13148         (_gst_controller_class_init), (gst_controller_get_type):
13149         * libs/gst/controller/gst-controller.h:
13150         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
13151         (g_object_uncontrol_properties), (g_object_get_controller),
13152         (g_object_set_controller), (g_object_sink_values),
13153         (g_object_get_value_arrays), (g_object_get_value_array):
13154         * libs/gst/controller/gst-interpolation.c:
13155         (gst_controlled_property_find_timed_value_node),
13156         (interpolate_none_get), (interpolate_trigger_get),
13157         (interpolate_trigger_get_value_array):
13158         * libs/gst/controller/lib.c: (gst_controller_init):
13159         * pkgconfig/Makefile.am:
13160         * pkgconfig/gstreamer-control-uninstalled.pc.in:
13161         * pkgconfig/gstreamer-control.pc.in:
13162         * testsuite/Makefile.am:
13163         * testsuite/controller/.cvsignore:
13164         * testsuite/controller/Makefile.am:
13165         * testsuite/controller/interpolator.c: (main):
13166           added controller code
13167           removed dparam pc files
13168
13169 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13170         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
13171         (gst_collectpads_stop):
13172           Broadcast the condition when shutting down, to make sure we wake all
13173           threads up. Shut down pads on finalize, for safety.
13174
13175 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
13176         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13177         (gst_base_transform_handle_buffer),
13178         (gst_base_transform_change_state):
13179           Handle PAUSED->READY->PAUSED transition after negotiation
13180           occurred already.
13181         * gst/gstmessage.c: (gst_message_init):
13182           Extra piece of debug for new messages.
13183
13184 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
13185
13186         * configure.ac:
13187         * docs/gst/tmpl/gstbasesrc.sgml:
13188         * docs/gst/tmpl/gstelement.sgml:
13189         * docs/gst/tmpl/gstevent.sgml:
13190         * docs/gst/tmpl/gstfakesrc.sgml:
13191         * docs/gst/tmpl/gstformat.sgml:
13192         * docs/gst/tmpl/gstghostpad.sgml:
13193         * docs/gst/tmpl/gstpad.sgml:
13194         * docs/gst/tmpl/gstquery.sgml:
13195         * docs/gst/tmpl/gststructure.sgml:
13196         * docs/gst/tmpl/gsttaglist.sgml:
13197         * docs/gst/tmpl/gstvalue.sgml:
13198         * docs/libs/gstreamer-libs-docs.sgml:
13199         * docs/libs/gstreamer-libs-sections.txt:
13200         * docs/libs/gstreamer-libs.types:
13201         * libs/gst/Makefile.am:
13202         * libs/gst/control/.cvsignore:
13203         * libs/gst/control/Makefile.am:
13204         * libs/gst/control/control.c:
13205         * libs/gst/control/control.h:
13206         * libs/gst/control/dparam.c:
13207         * libs/gst/control/dparam.h:
13208         * libs/gst/control/dparam_smooth.c:
13209         * libs/gst/control/dparam_smooth.h:
13210         * libs/gst/control/dparamcommon.h:
13211         * libs/gst/control/dparammanager.c:
13212         * libs/gst/control/dparammanager.h:
13213         * libs/gst/control/dplinearinterp.c:
13214         * libs/gst/control/dplinearinterp.h:
13215         * libs/gst/control/unitconvert.c:
13216         * libs/gst/control/unitconvert.h:
13217         * testsuite/Makefile.am:
13218         * testsuite/dynparams/.cvsignore:
13219         * testsuite/dynparams/Makefile.am:
13220         * testsuite/dynparams/dparamstest.c:
13221         * tools/Makefile.am:
13222         * tools/gst-inspect.c: (print_element_info), (main):
13223         * tools/gst-xmlinspect.c: (print_element_info), (main):
13224           deactivate and remove dparams (libgstcontrol)
13225
13226 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13227
13228         * gst/elements/gsttypefindelement.c:
13229         (gst_type_find_element_have_type), (gst_type_find_element_init),
13230         (stop_typefinding), (gst_type_find_element_handle_event),
13231         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13232         * gst/elements/gsttypefindelement.h:
13233           Set caps on all outgoing buffers, not just the first one.
13234
13235 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13236
13237         * gst/elements/gsttypefindelement.c:
13238         (gst_type_find_element_have_type),
13239         (gst_type_find_element_check_set_buffer_caps),
13240         (gst_type_find_element_init), (stop_typefinding),
13241         (gst_type_find_element_handle_event),
13242         (gst_type_find_element_chain), (gst_type_find_element_getrange):
13243         * gst/elements/gsttypefindelement.h:
13244           Set caps on first outgoing buffer when we've found the type.
13245
13246 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
13247
13248         * docs/gst/gstreamer-docs.sgml:
13249         * docs/gst/gstreamer-sections.txt:
13250         * docs/gst/tmpl/gstscheduler.sgml:
13251         * docs/gst/tmpl/gstschedulerfactory.sgml:
13252           Remove some old cruft from docs.
13253
13254 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
13255
13256         * gst/gstpad.h:
13257           Fix inline docs for GstPadLinkReturn.
13258           
13259         * gst/gststructure.c: (gst_structure_has_name):
13260         * gst/gststructure.h:
13261         * docs/gst/gstreamer-sections.txt:
13262           New API: gst_structure_has_name().
13263
13264 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
13265
13266         * configure.ac:
13267           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
13268           and _LARGEFILE_SOURCE in config.h as required. Do not 
13269           export those flags in our .pc files any longer (#142209).
13270
13271           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
13272
13273         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
13274         (gst_file_sink_do_seek), (gst_file_sink_event),
13275         (gst_file_sink_get_current_offset), (gst_file_sink_render):
13276           Redo seek/tell calls with large file support in mind; add some
13277           debugging messages; add log message that tells us when large
13278           file support is unavailable or not enabled for some reason.
13279
13280         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
13281           Add log message that tells us when large file support 
13282           is unavailable or not enabled for some reason.
13283
13284 2005-07-29  Wim Taymans  <wim@fluendo.com>
13285
13286         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13287         Added test for removing an element with ghostpad from a bin.
13288         Fixed test as current implementation does the right thing.
13289
13290         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
13291         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
13292         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
13293         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
13294         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
13295         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
13296         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
13297         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
13298         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
13299         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
13300         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
13301         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
13302         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
13303         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
13304         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
13305         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
13306         * gst/gstghostpad.h:
13307         Clean up ghostpads, remove properties for internal stuff.
13308         Make threadsafe.
13309         Fix refcounting.
13310         Prepare for switching targets, not all use cases work yet.
13311
13312 2005-07-29  Wim Taymans  <wim@fluendo.com>
13313
13314         * docs/design/part-gstghostpad.txt:
13315         Small update.
13316
13317         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13318         (gst_bin_remove_func):
13319         Unlinking pads while holding the bin LOCK is not a good
13320         idea.
13321
13322         * gst/gstpad.c: (gst_pad_class_init),
13323         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
13324         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
13325         No prob setting template after creating the pad.
13326
13327 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
13328
13329         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
13330         (gst_bus_peek), (gst_bus_source_dispatch),
13331         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
13332         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
13333           gst_bus_poll may be called from other threads. Handle
13334           this nicely by not making poll_data disappear off the
13335           stack once gst_bus_poll returns.
13336           gst_bus_peek now increments the refcount on the returned
13337           message.
13338
13339 2005-07-29  Wim Taymans  <wim@fluendo.com>
13340
13341         * docs/design/part-gstghostpad.txt:
13342         Overview of current GhostPad datastructures and use
13343         cases for changing the target.
13344
13345 2005-07-28  Wim Taymans  <wim@fluendo.com>
13346
13347         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
13348         Added checks for hierarchy consistency whan adding linked
13349         elements to bins.
13350
13351         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
13352         Added check to test element scheduling without bin/pipeline.
13353
13354         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
13355         First add elements to bin, then link.
13356         
13357         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
13358         (gst_bin_remove_func):
13359         Unlink pads from elements added/removed from bin to maintain
13360         hierarchy consistency.
13361
13362 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13363
13364         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
13365         (gst_base_transform_handle_buffer):
13366         * gst/base/gstbasetransform.h:
13367           Remove broken delay_configure (fixes renegotiation of software
13368           scaling pipelines); remove some leftover printf()s.
13369
13370 2005-07-28  Wim Taymans  <wim@fluendo.com>
13371
13372         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
13373         Added some more tests for wrong hierarchy
13374
13375         * docs/design/part-overview.txt:
13376         Some updates.
13377
13378         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
13379         Cleanups.
13380
13381         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
13382         (gst_element_dispose):
13383         Some more cleanups.
13384
13385         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
13386         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
13387         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13388         (gst_pad_set_caps), (gst_pad_send_event):
13389         Check for correct hierarchy when linking pads. Moving to
13390         strict requirement for ghostpads when linking elements in
13391         different bins.
13392
13393         * gst/gstpad.h:
13394         Clean ups. Added WRONG_HIERARCHY return value.
13395
13396 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13397
13398         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
13399           Better debug if no transform is possible.
13400
13401 2005-07-27  Wim Taymans  <wim@fluendo.com>
13402
13403         * docs/random/wtay/network-transp:
13404         Some old doc I had.
13405
13406 2005-07-27  Wim Taymans  <wim@fluendo.com>
13407
13408         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13409         (gst_dp_event_from_packet):
13410         Fix serialization of seek events.
13411
13412 2005-07-27  Wim Taymans  <wim@fluendo.com>
13413
13414         * check/gst-libs/gdp.c: (GST_START_TEST):
13415         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13416         Fix compilation and fix event serialization.
13417
13418 2005-07-27  Wim Taymans  <wim@fluendo.com>
13419
13420         * CHANGES-0.9:
13421         * docs/design/part-TODO.txt:
13422         * docs/design/part-events.txt:
13423         Some docs updates
13424
13425         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13426         (gst_base_sink_event), (gst_base_sink_do_sync),
13427         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13428         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13429         (gst_base_src_do_seek), (gst_base_src_event_handler),
13430         (gst_base_src_loop):
13431         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13432         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13433         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13434         (gst_base_transform_event), (gst_base_transform_handle_buffer),
13435         (gst_base_transform_set_passthrough),
13436         (gst_base_transform_is_passthrough):
13437         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
13438         * gst/elements/gstfilesink.c: (gst_file_sink_event):
13439         Event updates.
13440
13441         * gst/gstbuffer.h:
13442         Use faster casts.
13443
13444         * gst/gstelement.c: (gst_element_seek):
13445         * gst/gstelement.h:
13446         Update gst_element_seek.
13447
13448         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
13449         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
13450         (gst_event_new_flush_start), (gst_event_new_flush_stop),
13451         (gst_event_new_eos), (gst_event_new_newsegment),
13452         (gst_event_parse_newsegment), (gst_event_new_tag),
13453         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
13454         (gst_event_parse_qos), (gst_event_new_seek),
13455         (gst_event_parse_seek), (gst_event_new_navigation):
13456         * gst/gstevent.h:
13457         Make GstEvent use GstStructure. Add parsing code, make sure the
13458         API is sufficiently generic.
13459         Mark possible directions of events and serialization.
13460
13461         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
13462         (_gst_message_copy), (gst_message_new_segment_start),
13463         (gst_message_new_segment_done), (gst_message_new_custom),
13464         (gst_message_parse_segment_start),
13465         (gst_message_parse_segment_done):
13466         Small cleanups.
13467
13468         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13469         (gst_pad_set_caps), (gst_pad_send_event):
13470         Update for new events. 
13471         Catch events sent in wrong directions.
13472
13473         * gst/gstqueue.c: (gst_queue_link_src),
13474         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
13475         (gst_queue_handle_src_query):
13476         Event updates.
13477
13478         * gst/gsttag.c:
13479         * gst/gsttag.h:
13480         Remove event code from this file.
13481
13482         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
13483         (gst_dp_event_from_packet):
13484         Event updates.
13485
13486 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13487
13488         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
13489         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13490         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
13491           Make debugging actually useful.
13492
13493 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13494
13495         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
13496         (gst_pad_fixate_caps):
13497           Implement default fixation once again, so that gst_pad_fixate()
13498           actually does anything at all. This probably needs to be some
13499           sort of a last resort, and use profile-based fixation first, but
13500           since that doesn't exist yet, this is the best we have. Fixes
13501           visualization in Totem.
13502
13503 2005-07-22  Wim Taymans  <wim@fluendo.com>
13504
13505         * docs/design/part-events.txt:
13506         Small update.
13507
13508         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13509         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
13510         (gst_base_sink_activate_pull):
13511         Some more comments.
13512
13513         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
13514         (gst_fake_src_create):
13515         Fix handoff marshall.
13516
13517         * gst/elements/gstidentity.c: (gst_identity_class_init),
13518         (gst_identity_transform_ip):
13519         We're a real inplace element.
13520
13521         * gst/gstbus.c: (gst_bus_post):
13522         Added some comments.
13523
13524         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
13525         * tests/muxing/case1.c: (main):
13526         * tests/sched/dynamic-pipeline.c: (main):
13527         * tests/sched/interrupt1.c: (main):
13528         * tests/sched/interrupt2.c: (main):
13529         * tests/sched/interrupt3.c: (main):
13530         * tests/sched/runxml.c: (main):
13531         * tests/sched/sched-stress.c: (main):
13532         * tests/seeking/seeking1.c: (event_received), (main):
13533         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
13534         (main):
13535         * tests/threadstate/threadstate3.c: (main):
13536         * tests/threadstate/threadstate4.c: (main):
13537         * tests/threadstate/threadstate5.c: (main):
13538         Fix the tests.
13539
13540 2005-07-21  Wim Taymans  <wim@fluendo.com>
13541
13542         * docs/design/part-seeking.txt:
13543         Some small additions.
13544
13545         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13546         (gst_base_sink_get_times), (gst_base_sink_do_sync),
13547         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
13548         * gst/base/gstbasesink.h:
13549         discont values are gint64, handle the math correctly.
13550
13551         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13552         Make the basesrc report error if the source pad is not linked.
13553
13554         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13555         (gst_queue_loop), (gst_queue_handle_src_query),
13556         (gst_queue_src_activate_push):
13557         Make queue collect data even if the srcpad is not linked.
13558         Start pushing out data as soon as it is linked.
13559
13560         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
13561         * gst/gstutils.h:
13562         Added gst_flow_get_name() to ease error reporting.
13563
13564 2005-07-20  Wim Taymans  <wim@fluendo.com>
13565
13566         * gst/gstmessage.c: (gst_message_new_segment_start),
13567         (gst_message_new_segment_done), (gst_message_parse_segment_start),
13568         (gst_message_parse_segment_done):
13569         * gst/gstmessage.h:
13570         Added a bunch of messages for advanced seeking.
13571
13572         * gst/parse/grammar.y:
13573         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
13574         (gst_dpman_state_changed):
13575         Fix some new-pad -> pad-added signals
13576
13577 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13578
13579         * docs/manual/appendix-porting.xml:
13580         * docs/pwg/appendix-porting.xml:
13581           Document new-pad/state-change signal renames and the FixedList
13582           type rename.
13583
13584 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13585
13586         * docs/manual/advanced-autoplugging.xml:
13587         * docs/manual/basics-helloworld.xml:
13588         * docs/manual/basics-pads.xml:
13589         * docs/random/ds/0.9-suggested-changes:
13590         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
13591         * gst/gstelement.h:
13592         * gst/gstevent.h:
13593         * gst/gstformat.h:
13594         * gst/gstquery.h:
13595         * gst/gststructure.c: (gst_structure_value_get_generic_type),
13596         (gst_structure_parse_array), (gst_structure_parse_value):
13597         * gst/gstvalue.c: (gst_type_is_fixed),
13598         (gst_value_list_prepend_value), (gst_value_list_append_value),
13599         (gst_value_list_get_size), (gst_value_list_get_value),
13600         (gst_value_transform_array_string), (gst_value_serialize_array),
13601         (gst_value_deserialize_array), (gst_value_intersect_array),
13602         (gst_value_is_fixed), (_gst_value_initialize):
13603         * gst/gstvalue.h:
13604           GstElement::new-pad -> pad-added, GstElement::state-change ->
13605           state-changed, GstValueFixedList -> GstValueArray, add format and
13606           flags as their own arguments in gst_element_seek() (should improve
13607           "bindeability"), remove function generators since they don't work
13608           under a whole bunch of compilers (they were deprecated already
13609           anyway).
13610
13611 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13612
13613         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
13614         (_gst_debug_register_funcptr):
13615         * gst/gstinfo.h:
13616           Fix illegal cast on some platforms (#309253).
13617
13618 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13619
13620         * gst/gstmessage.c: (gst_message_new_custom):
13621         * gst/gstmessage.h:
13622           Add _new_custom, make _new_application a macro to _new_custom.
13623
13624 2005-07-20  Wim Taymans  <wim@fluendo.com>
13625
13626         * gst/base/gstbasesrc.c: (gst_base_src_init),
13627         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13628         * gst/base/gstbasesrc.h:
13629         Add a gboolean to decide when to push out a discont.
13630
13631         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13632         (gst_queue_loop), (gst_queue_handle_src_query),
13633         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
13634         (gst_queue_set_property), (gst_queue_get_property):
13635         Some cleanups.
13636
13637         * tests/threadstate/threadstate1.c: (main):
13638         Make a thread test compile and run... very silly..
13639
13640
13641 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13642
13643         * docs/manual/appendix-porting.xml:
13644           Mention removal of libgstgconf-0.9.la and existence of gconf
13645           elements.
13646
13647 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
13648
13649         * docs/pwg/advanced-clock.xml:
13650         * docs/pwg/appendix-porting.xml:
13651         * docs/pwg/intro-preface.xml:
13652         * docs/pwg/other-base.xml:
13653         * docs/pwg/other-manager.xml:
13654         * docs/pwg/other-nton.xml:
13655         * docs/pwg/other-ntoone.xml:
13656         * docs/pwg/other-oneton.xml:
13657         * docs/pwg/pwg.xml:
13658           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
13659           demuxer), remove n-to-n (was never written), fix some code examples
13660           and links and update the porting section to include all this.
13661
13662 2005-07-19  Wim Taymans  <wim@fluendo.com>
13663
13664         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
13665         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
13666         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
13667         (gst_queue_src_activate_push), (gst_queue_change_state),
13668         (gst_queue_get_property):
13669         * gst/gstqueue.h:
13670         Propagate GstFlowReturn more intelligently upstream and output
13671         an ERROR/EOS when streaming stopped due to fatal error.
13672
13673 2005-07-19  Wim Taymans  <wim@fluendo.com>
13674
13675         * tools/gst-launch.c: (check_intr), (event_loop), (main):
13676         Don't block forever for the state change to complete, the
13677         pipeline already did with a sensible timeout.
13678
13679 2005-07-19  Wim Taymans  <wim@fluendo.com>
13680
13681         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13682         Make sure we never call the create function is we
13683         got deactivated.
13684
13685 2005-07-19  Andy Wingo  <wingo@pobox.com>
13686
13687         * gst/parse/parse.l: Attempt to solve bug #172815.
13688
13689 2005-07-19  Wim Taymans  <wim@fluendo.com>
13690
13691         * docs/design/part-clocks.txt:
13692         * docs/design/part-events.txt:
13693         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
13694         Small docs updates.
13695         Only update the seeking values when we are not
13696         busy streaming.
13697
13698 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13699
13700         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13701           Oops, ignore the result of gst_pad_push_event here.
13702
13703 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
13704
13705         * gst/base/gstbasesrc.c: (gst_base_src_loop),
13706         (gst_base_src_activate_push):
13707           Send discont event from the loop function, as pads
13708           aren't activated yet in the activate_push handler.
13709
13710         * gst/gstbin.c: (bin_bus_handler):
13711           Don't leak element name.
13712
13713 2005-07-18  Andy Wingo  <wingo@pobox.com>
13714
13715         * configure.ac: Use AS_LIBTOOL_TAGS.
13716
13717 2005-07-18  Wim Taymans  <wim@fluendo.com>
13718
13719         * docs/gst/gstreamer.types:
13720         Remove deleted types.
13721
13722 2005-07-18  Wim Taymans  <wim@fluendo.com>
13723
13724         * check/elements/gstfakesrc.c: (GST_START_TEST):
13725         * configure.ac:
13726         * gst/Makefile.am:
13727         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
13728         (init_popt_callback):
13729         * gst/gst.h:
13730         * gst/gst_private.h:
13731         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
13732         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
13733         * gst/gstbin.h:
13734         * gst/gstbus.h:
13735         * gst/gstconfig.h.in:
13736         * gst/gstelement.c: (gst_element_class_init),
13737         (gst_element_set_base_time), (gst_element_get_base_time),
13738         (iterator_fold_with_resync), (gst_element_change_state),
13739         (gst_element_dispose), (gst_element_get_bus):
13740         * gst/gstelement.h:
13741         * gst/gstelementfactory.h:
13742         * gst/gsterror.c: (_gst_core_errors_init):
13743         * gst/gsterror.h:
13744         * gst/gstevent.h:
13745         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13746         * gst/gstindex.c:
13747         * gst/gstinfo.c: (_gst_debug_init):
13748         * gst/gstmessage.c: (_gst_message_copy):
13749         * gst/gstmessage.h:
13750         * gst/gstminiobject.h:
13751         * gst/gstobject.c:
13752         * gst/gstobject.h:
13753         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
13754         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
13755         * gst/gstpad.h:
13756         * gst/gstparse.h:
13757         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
13758         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13759         (gst_pipeline_get_last_stream_time):
13760         * gst/gstpipeline.h:
13761         * gst/gstpluginfeature.h:
13762         * gst/gstquery.h:
13763         * gst/gstscheduler.c:
13764         * gst/gstscheduler.h:
13765         * gst/gststructure.h:
13766         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
13767         (gst_task_finalize), (gst_task_func), (gst_task_create),
13768         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
13769         (gst_task_stop), (gst_task_pause):
13770         * gst/gsttask.h:
13771         * gst/gsttypefind.h:
13772         * gst/gsttypes.h:
13773         * gst/registries/gstlibxmlregistry.c: (load_feature),
13774         (gst_xml_registry_load), (gst_xml_registry_save_feature):
13775         * gst/registries/gstxmlregistry.c:
13776         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
13777         * gst/schedulers/threadscheduler.c:
13778         * libs/gst/control/dparammanager.h:
13779         * tools/gst-inspect.c: (print_element_list),
13780         (print_plugin_features), (print_element_features):
13781         * tools/gst-xmlinspect.c: (print_element_list),
13782         (print_plugin_info), (main):
13783         Removed plugable schedulers.
13784         Removed Scheduler/Manager from elements.
13785         Removed gsttypes.h, rearranged includes.
13786         Removed dependency pad<->element, element<>pipeline, and
13787         various others,  fix includes.
13788         implement gst_pad_get_parent() with gst_object_get_parent()
13789         Make GstTask sefcontained.
13790         Fix _get_state() on GstBin, it did not return ASYNC with a 0
13791         timeout.
13792         Fix endless loop in iterator_fold_with_resync.
13793
13794
13795 2005-07-18  Wim Taymans  <wim@fluendo.com>
13796
13797         * gst/Makefile.am:
13798         * gst/gstarch.h:
13799         Remove old file.
13800
13801 2005-07-18  Wim Taymans  <wim@fluendo.com>
13802
13803         * gst/Makefile.am:
13804         No more cothreads.h
13805
13806 2005-07-18  Wim Taymans  <wim@fluendo.com>
13807
13808         * gst/cothreads.c:
13809         * gst/cothreads.h:
13810         Let's remove these.
13811
13812 2005-07-18  Wim Taymans  <wim@fluendo.com>
13813
13814         * docs/design/part-dynamic.txt:
13815         * docs/design/part-events.txt:
13816         * docs/design/part-seeking.txt:
13817         Some more docs in the works.
13818
13819         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
13820         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
13821         (gst_base_transform_setcaps), (gst_base_transform_get_size),
13822         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
13823         (gst_base_transform_handle_buffer),
13824         (gst_base_transform_sink_activate_push),
13825         (gst_base_transform_src_activate_pull),
13826         (gst_base_transform_set_passthrough),
13827         (gst_base_transform_is_passthrough):
13828         Refcounting fixes.
13829
13830         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
13831         Cleanups.
13832
13833         * gst/gstevent.c: (gst_event_finalize):
13834         Set SRC to NULL.
13835
13836         * gst/gstutils.c: (gst_element_unlink),
13837         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
13838         (gst_pad_proxy_setcaps):
13839         * gst/gstutils.h:
13840         Add _get_parent_element() to get a pads parent as an element.
13841
13842 2005-07-18  Wim Taymans  <wim@fluendo.com>
13843
13844         * check/gst/gstbin.c: (GST_START_TEST):
13845         Remove bogus test.
13846
13847 2005-07-18  Wim Taymans  <wim@fluendo.com>
13848
13849         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
13850         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
13851         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
13852         (gst_base_sink_event), (gst_base_sink_do_sync),
13853         (gst_base_sink_chain), (gst_base_sink_loop),
13854         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
13855         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
13856         Refcounting fixes.
13857         Fix logic for returning ASYNC when not prerolled.
13858
13859 2005-07-18  Wim Taymans  <wim@fluendo.com>
13860
13861         * gst/gstqueue.c: (gst_queue_handle_sink_event):
13862         Fix nasty refcount bug.
13863
13864 2005-07-16 Philippe Khalaf <burger@speedy.org>
13865
13866         * gst/elements/gstfdsrc.c:
13867         * gst/elements/gstfdsrc.h:
13868         * gst/elements/gstelements.c:
13869         * gst/elements/Makefile.am:
13870         Ported fdsrc to 0.9.
13871
13872 2005-07-16  Wim Taymans  <wim@fluendo.com>
13873
13874         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13875         (gst_base_sink_do_sync):
13876         Fix compile error.
13877
13878 2005-07-16  Wim Taymans  <wim@fluendo.com>
13879
13880         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13881         (gst_base_sink_event), (gst_base_sink_get_times),
13882         (gst_base_sink_do_sync), (gst_base_sink_change_state):
13883         * gst/base/gstbasesink.h:
13884         Store and use discont values when syncing buffers as described
13885         in design docs.
13886         
13887         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
13888         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
13889         (gst_base_src_activate_push):
13890         Push discont event when starting.
13891
13892         * gst/elements/gstidentity.c: (gst_identity_transform):
13893         Small cleanups.
13894
13895         * gst/gstbin.c: (gst_bin_change_state):
13896         Small cleanups in base_time  distribution.
13897
13898         * gst/gstelement.c: (gst_element_set_base_time),
13899         (gst_element_get_base_time), (gst_element_change_state):
13900         * gst/gstelement.h:
13901         Added methods for the base_time of the element.
13902         Some MT fixes.
13903
13904         * gst/gstpipeline.c: (gst_pipeline_send_event),
13905         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
13906         (gst_pipeline_get_last_stream_time):
13907         * gst/gstpipeline.h:
13908         MT fixes.
13909         Handle seeking as described in design doc, remove stream_time
13910         hack.
13911         Cleanups clock and stream_time selection code. Added accessors
13912         for the stream_time.
13913         
13914
13915 2005-07-16  Andy Wingo  <wingo@pobox.com>
13916
13917         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
13918         (#305291).
13919
13920 2005-07-16  Wim Taymans  <wim@fluendo.com>
13921
13922         * check/gst/gstbin.c: (GST_START_TEST):
13923         Make elements silent as the deep_notify refs the
13924         parent, which might make the test fail.
13925
13926         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
13927         Don't hold the lock for too long.
13928
13929 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
13930
13931         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
13932           Don't unref the caps we passed to gst_caps_make_writable() after
13933           passing them. gst_caps_make_writable() will do that for us.
13934
13935 2005-07-15  Andy Wingo  <wingo@pobox.com>
13936
13937         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
13938         (#157311).
13939
13940         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
13941         own marshalling function for the handoff signal. Properly type the
13942         buffer as a buffer. Fixes some warnings. Should do a more general
13943         solution.
13944         (gst_identity_class_init): Plug into the right marshaller.
13945
13946 2005-07-15  Wim Taymans  <wim@fluendo.com>
13947
13948         * docs/design/part-TODO.txt:
13949         * docs/design/part-clocks.txt:
13950         * docs/design/part-element-sink.txt:
13951         * docs/design/part-events.txt:
13952         * docs/design/part-gstpipeline.txt:
13953         Updated docs, mostly DISCONT related.
13954
13955 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
13956
13957         * docs/pwg/building-pads.xml:
13958           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
13959
13960 2005-07-15  Andy Wingo  <wingo@pobox.com>
13961
13962         * tools/gst-typefind.c: Update, add copyright block.
13963
13964         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
13965         Normalize and truncate caps before fixation.
13966
13967         * gst/gstcaps.h:
13968         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
13969         discards all but the first structure from its argument.
13970
13971 2005-07-15  Wim Taymans  <wim@fluendo.com>
13972
13973         * gst/base/gstbasetransform.c: (gst_base_transform_init),
13974         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
13975         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
13976         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
13977         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
13978         (gst_base_transform_chain), (gst_base_transform_change_state),
13979         (gst_base_transform_set_passthrough),
13980         (gst_base_transform_is_passthrough):
13981         * gst/base/gstbasetransform.h:
13982         Make passthrough work using the bufferpools.
13983         Changed API a bit, subclasses have to write into a buffer
13984         provided by the base class.
13985         More debug info in nego functions.
13986         
13987         * gst/elements/gstidentity.c: (gst_identity_init),
13988         (gst_identity_transform):
13989         Port to new base class.
13990
13991 2005-07-15  Wim Taymans  <wim@fluendo.com>
13992
13993         * gst/gstmessage.c: (gst_message_new_state_changed):
13994         * tools/gst-launch.c: (event_loop), (main):
13995         Totally dump messages in -launch with the -m option.
13996         Fix message name for State messages,
13997
13998 2005-07-14  Wim Taymans  <wim@fluendo.com>
13999
14000         * gst/base/gstbasesrc.c: (gst_base_src_loop):
14001         Post error messages on errors.
14002
14003 2005-07-14  Wim Taymans  <wim@fluendo.com>
14004
14005         * gst/gstcaps.c: (gst_caps_do_simplify):
14006         Remove debug info.
14007
14008         * gst/gsterror.h:
14009         Define error for stream stopped.
14010
14011         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
14012         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
14013         Do proper return values.
14014
14015         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
14016         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
14017         (gst_pad_get_range):
14018         Better return values.
14019
14020         * gst/gstpad.h:
14021         Reorganise return values, add macro to check for fatal errors.
14022
14023         * gst/gstqueue.c: (gst_queue_chain):
14024         Return proper GstFlowReturn values,
14025
14026 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
14027
14028         * docs/gst/gstreamer-sections.txt:
14029         * docs/gst/gstreamer.types:
14030         * docs/gst/tmpl/gst.sgml:
14031         * docs/gst/tmpl/gstbasesink.sgml:
14032         * docs/gst/tmpl/gstbasesrc.sgml:
14033         * docs/gst/tmpl/gstbasetransform.sgml:
14034         * docs/gst/tmpl/gstbin.sgml:
14035         * docs/gst/tmpl/gstbuffer.sgml:
14036         * docs/gst/tmpl/gstcaps.sgml:
14037         * docs/gst/tmpl/gstclock.sgml:
14038         * docs/gst/tmpl/gstcompat.sgml:
14039         * docs/gst/tmpl/gstconfig.sgml:
14040         * docs/gst/tmpl/gstelement.sgml:
14041         * docs/gst/tmpl/gstelementdetails.sgml:
14042         * docs/gst/tmpl/gstelementfactory.sgml:
14043         * docs/gst/tmpl/gstenumtypes.sgml:
14044         * docs/gst/tmpl/gsterror.sgml:
14045         * docs/gst/tmpl/gstevent.sgml:
14046         * docs/gst/tmpl/gstfakesink.sgml:
14047         * docs/gst/tmpl/gstfakesrc.sgml:
14048         * docs/gst/tmpl/gstfilesink.sgml:
14049         * docs/gst/tmpl/gstfilesrc.sgml:
14050         * docs/gst/tmpl/gstfilter.sgml:
14051         * docs/gst/tmpl/gstformat.sgml:
14052         * docs/gst/tmpl/gstghostpad.sgml:
14053         * docs/gst/tmpl/gstimplementsinterface.sgml:
14054         * docs/gst/tmpl/gstindex.sgml:
14055         * docs/gst/tmpl/gstindexfactory.sgml:
14056         * docs/gst/tmpl/gstinfo.sgml:
14057         * docs/gst/tmpl/gstiterator.sgml:
14058         * docs/gst/tmpl/gstmacros.sgml:
14059         * docs/gst/tmpl/gstmemchunk.sgml:
14060         * docs/gst/tmpl/gstminiobject.sgml:
14061         * docs/gst/tmpl/gstobject.sgml:
14062         * docs/gst/tmpl/gstpad.sgml:
14063         * docs/gst/tmpl/gstpadtemplate.sgml:
14064         * docs/gst/tmpl/gstparse.sgml:
14065         * docs/gst/tmpl/gstpipeline.sgml:
14066         * docs/gst/tmpl/gstplugin.sgml:
14067         * docs/gst/tmpl/gstpluginfeature.sgml:
14068         * docs/gst/tmpl/gstquery.sgml:
14069         * docs/gst/tmpl/gstqueue.sgml:
14070         * docs/gst/tmpl/gstregistry.sgml:
14071         * docs/gst/tmpl/gstregistrypool.sgml:
14072         * docs/gst/tmpl/gstscheduler.sgml:
14073         * docs/gst/tmpl/gstschedulerfactory.sgml:
14074         * docs/gst/tmpl/gststructure.sgml:
14075         * docs/gst/tmpl/gstsystemclock.sgml:
14076         * docs/gst/tmpl/gsttaglist.sgml:
14077         * docs/gst/tmpl/gsttagsetter.sgml:
14078         * docs/gst/tmpl/gsttrace.sgml:
14079         * docs/gst/tmpl/gsttrashstack.sgml:
14080         * docs/gst/tmpl/gsttypefind.sgml:
14081         * docs/gst/tmpl/gsttypefindfactory.sgml:
14082         * docs/gst/tmpl/gsttypes.sgml:
14083         * docs/gst/tmpl/gsturihandler.sgml:
14084         * docs/gst/tmpl/gsturitype.sgml:
14085         * docs/gst/tmpl/gstutils.sgml:
14086         * docs/gst/tmpl/gstvalue.sgml:
14087         * docs/gst/tmpl/gstversion.sgml:
14088         * docs/gst/tmpl/gstxml.sgml:
14089         * docs/libs/tmpl/gstcontrol.sgml:
14090         * docs/libs/tmpl/gstdataprotocol.sgml:
14091         * docs/libs/tmpl/gstdparam.sgml:
14092         * docs/libs/tmpl/gstdplinint.sgml:
14093         * docs/libs/tmpl/gstdpman.sgml:
14094         * docs/libs/tmpl/gstdpsmooth.sgml:
14095         * docs/libs/tmpl/gstgetbits.sgml:
14096         * docs/libs/tmpl/gstunitconvert.sgml:
14097         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
14098         (gst_push_src_base_init), (gst_push_src_class_init),
14099         (gst_push_src_init), (gst_push_src_create):
14100         * gst/base/gstpushsrc.h:
14101         * gst/elements/gstelements.c:
14102         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
14103         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
14104         (gst_fake_sink_init), (gst_fake_sink_set_property),
14105         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
14106         (gst_fake_sink_event), (gst_fake_sink_preroll),
14107         (gst_fake_sink_render), (gst_fake_sink_change_state):
14108         * gst/elements/gstfakesink.h:
14109         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
14110         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
14111         (gst_fake_src_base_init), (gst_fake_src_class_init),
14112         (gst_fake_src_init), (gst_fake_src_event_handler),
14113         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
14114         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
14115         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
14116         (gst_fake_src_create_buffer), (gst_fake_src_create),
14117         (gst_fake_src_start), (gst_fake_src_stop):
14118         * gst/elements/gstfakesrc.h:
14119         * gst/elements/gstfilesink.c: (_do_init),
14120         (gst_file_sink_base_init), (gst_file_sink_class_init),
14121         (gst_file_sink_init), (gst_file_sink_dispose),
14122         (gst_file_sink_set_location), (gst_file_sink_set_property),
14123         (gst_file_sink_get_property), (gst_file_sink_open_file),
14124         (gst_file_sink_close_file), (gst_file_sink_query),
14125         (gst_file_sink_event), (gst_file_sink_render),
14126         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
14127         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
14128         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
14129         * gst/elements/gstfilesink.h:
14130         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
14131         (gst_file_src_class_init), (gst_file_src_init),
14132         (gst_file_src_finalize), (gst_file_src_set_location),
14133         (gst_file_src_set_property), (gst_file_src_get_property),
14134         (gst_file_src_map_region), (gst_file_src_map_small_region),
14135         (gst_file_src_create_mmap), (gst_file_src_create_read),
14136         (gst_file_src_create), (gst_file_src_is_seekable),
14137         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
14138         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
14139         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
14140         (gst_file_src_uri_handler_init):
14141         * gst/elements/gstfilesrc.h:
14142           more autistic cleanliness in functions/names/defines
14143
14144 2005-07-13  Andy Wingo  <wingo@pobox.com>
14145
14146         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
14147         source couldn't negotiate.
14148
14149         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
14150         connections again.
14151
14152         * gst/gstutils.h:
14153         * gst/gstutils.c (gst_element_link_pads_filtered): New old
14154         function. I am channeling Hades. Put your boots on suckers!!!
14155
14156 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14157
14158         * testsuite/caps/Makefile.am:
14159         * testsuite/caps/value_compare.c:
14160         * testsuite/caps/value_intersect.c:
14161         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
14162           move two testsuite apps over to the check dir
14163
14164 2005-07-12  Wim Taymans  <wim@fluendo.com>
14165
14166         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
14167         Added more debug info in the negotiate process.
14168
14169         * gst/gstmessage.h:
14170         Prepare for segment playback.
14171
14172         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
14173         Better debugging.
14174
14175         * gst/gstutils.c:
14176         Some more docs.
14177
14178         * tools/gst-launch.c: (main):
14179         NULL pipeline on errors.
14180
14181 2005-07-12  Andy Wingo  <wingo@pobox.com>
14182
14183         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
14184         not it comes from a malloc region. Make sure our copy gets freed.
14185
14186 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14187
14188         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
14189         * check/gst/gstmessage.c: (GST_START_TEST):
14190         * check/gst/gststructure.c: (GST_START_TEST),
14191         (gst_structure_suite), (main):
14192           more testing
14193         * gst/gstelement.c: (gst_element_message_full):
14194           clean up GError and debug string now that they get copied
14195         * gst/gstmessage.c: (gst_message_new_error),
14196         (gst_message_new_warning), (gst_message_parse_error),
14197         (gst_message_parse_warning):
14198           use GST_TYPE_G_ERROR for structure_new, and take copies of
14199           arguments, so that we don't mess up refcounting
14200
14201 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14202
14203         * check/Makefile.am:
14204           add per-test valgrind targets
14205         * check/gst-libs/gdp.c: (GST_START_TEST),
14206         (gst_data_protocol_suite), (main):
14207           clean up
14208
14209 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14210
14211         * check/Makefile.am:
14212           instate more valgrindable tests
14213         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14214         (GST_START_TEST), (fakesrc_suite):
14215         * check/gst/gstpad.c: (GST_START_TEST):
14216         * check/gst/gststructure.c: (GST_START_TEST):
14217           fix test leaks
14218         * docs/gst/tmpl/gstminiobject.sgml:
14219         * gst/gstpad.c: (gst_pad_finalize):
14220           fix the static mutex leak
14221
14222 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14223
14224         * check/Makefile.am:
14225           add two more tests for valgrinding
14226         * check/gst/gstvalue.c: (GST_START_TEST):
14227           test refcount of deserialized buffer, found a leak
14228         * docs/gst/gstreamer-docs.sgml:
14229         * docs/gst/gstreamer-sections.txt:
14230         * docs/gst/gstreamer.types:
14231         * docs/gst/tmpl/gstminiobject.sgml:
14232           add miniobject to docs
14233         * gst/gstminiobject.c:
14234           add some docs
14235         * gst/gstvalue.c: (gst_value_deserialize_buffer),
14236         (gst_string_unwrap):
14237           fix a hard-to-find invalid write for one of the tests
14238           fix a leak for deserialized buffers
14239
14240 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14241
14242         * docs/pwg/advanced-events.xml:
14243         * docs/pwg/advanced-request.xml:
14244         * docs/pwg/advanced-scheduling.xml:
14245         * docs/pwg/appendix-porting.xml:
14246         * docs/pwg/building-boiler.xml:
14247         * docs/pwg/intro-preface.xml:
14248         * docs/pwg/other-ntoone.xml:
14249           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
14250           of example code and explanation for pad activation, loop() and
14251           getrange() functions and a bit more. Remove old comments pointing
14252           to loop-functions.
14253         * examples/pwg/Makefile.am:
14254           Add loop/getrange examples.
14255
14256 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14257
14258         * configure.ac:
14259           check for valgrind binary + some fixes
14260         * check/gst.supp:
14261           valgrind suppressions for the tests
14262         * check/Makefile.am:
14263           add a valgrind: target that valgrinds the unit tests
14264         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
14265         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
14266         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14267         * check/gst/gstghostpad.c:
14268           added some cleanup
14269         * check/gst/gstdata.c:
14270           removed
14271         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
14272         (thread_unref), (gst_mini_object_suite), (main):
14273           added
14274         * gst/gst.c: (gst_deinit):
14275         * gst/gst.h:
14276           add a method to clean up.
14277         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14278         (gst_system_clock_obtain):
14279           allow for disposing the system clock.
14280         * tools/gst-launch.c: (main):
14281           deinit
14282
14283 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14284
14285         * docs/gst/tmpl/gstbasesrc.sgml:
14286         * docs/gst/tmpl/gstfakesrc.sgml:
14287         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14288         (gst_base_src_init), (gst_base_src_set_property),
14289         (gst_base_src_get_property), (gst_base_src_get_range),
14290         (gst_base_src_start):
14291         * gst/base/gstbasesrc.h:
14292           add num-buffers property
14293         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14294         (gst_fakesrc_init), (gst_fakesrc_set_property),
14295         (gst_fakesrc_get_property), (gst_fakesrc_create),
14296         (gst_fakesrc_start):
14297           remove num-buffers property
14298
14299 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14300
14301         * docs/gst/gstreamer-sections.txt:
14302         * docs/gst/tmpl/gstbasesink.sgml:
14303         * docs/gst/tmpl/gstbasesrc.sgml:
14304         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
14305         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
14306         (gst_base_sink_finalize), (gst_base_sink_set_clock),
14307         (gst_base_sink_set_property), (gst_base_sink_get_property),
14308         (gst_base_sink_handle_object), (gst_base_sink_event),
14309         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
14310         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
14311         (gst_base_sink_loop), (gst_base_sink_deactivate),
14312         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
14313         (gst_base_sink_change_state):
14314         * gst/base/gstbasesink.h:
14315         * gst/base/gstbasesrc.h:
14316         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
14317         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
14318         (gst_filesink_init):
14319           more macro splitting
14320
14321 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14322
14323         * gst/gstelement.c: (gst_element_get_bus):
14324           add debug
14325         * tools/gst-launch.c: (check_intr), (event_loop):
14326           fix bus leaks
14327
14328 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14329
14330         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
14331           fix a caps leak
14332
14333 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14334
14335         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14336         (gst_base_src_finalize):
14337           add finalize method and clean up properly
14338         * gst/gstpipeline.c: (gst_pipeline_dispose):
14339           add debug
14340
14341 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14342
14343         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
14344         (gst_bin_suite):
14345           add more things to check
14346         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
14347         * gst/gstelement.c:
14348           more debug
14349
14350 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14351
14352         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14353         (GST_START_TEST), (fakesrc_suite):
14354         * check/gst-libs/gdp.c: (GST_START_TEST):
14355         * check/gst/gst.c: (GST_START_TEST):
14356         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
14357         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
14358         * check/gst/gstbus.c: (GST_START_TEST):
14359         * check/gst/gstcaps.c: (GST_START_TEST):
14360         * check/gst/gstdata.c: (GST_START_TEST):
14361         * check/gst/gstelement.c: (GST_START_TEST):
14362         * check/gst/gstghostpad.c: (GST_START_TEST):
14363         * check/gst/gstiterator.c: (GST_START_TEST):
14364         * check/gst/gstmessage.c: (GST_START_TEST):
14365         * check/gst/gstobject.c: (GST_START_TEST):
14366         * check/gst/gstpad.c: (GST_START_TEST):
14367         * check/gst/gststructure.c: (GST_START_TEST):
14368         * check/gst/gstsystemclock.c: (GST_START_TEST),
14369         (gst_systemclock_suite):
14370         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
14371         * check/gst/gstvalue.c: (GST_START_TEST):
14372         * check/pipelines/cleanup.c: (GST_START_TEST):
14373         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14374         * check/states/sinks.c: (GST_START_TEST):
14375         * check/gstcheck.c: (gst_check_init):
14376         * check/gstcheck.h:
14377           add debugging category
14378           use GST_START_TEST now, so we add a debug line
14379
14380 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14381
14382         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
14383           add test for state change message on a bin
14384         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
14385           add another test
14386         * gst/gstbin.c: (gst_bin_init):
14387         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
14388         * gst/gstelement.c: (gst_element_post_message),
14389         (gst_element_set_state):
14390         * gst/gstelementfactory.c: (gst_element_factory_create):
14391         * gst/gstmessage.c: (gst_message_new):
14392         * gst/gstscheduler.c:
14393           various debugging additions and cleanups
14394
14395 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14396
14397         * check/Makefile.am:
14398         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
14399         (main):
14400           adding tests for elements
14401         * gst/gstelement.c: (gst_element_dispose):
14402
14403 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14404
14405         * gst/registries/gstlibxmlregistry.c: (load_feature):
14406           plug more leaks.  A simple gst_init() now is leakfree, yay.
14407
14408 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14409
14410         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
14411         (gst_xml_registry_load):
14412           plug another memleak
14413
14414 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14415
14416         * configure.ac:
14417           use GST_SET_ERROR_CFLAGS
14418         * docs/faq/cvs.xml:
14419           change to ERROR_CFLAGS
14420
14421 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14422
14423         * configure.ac:
14424           make GST_ERROR_CFLAGS overridable and re-enable Werror
14425         * docs/faq/cvs.xml:
14426           add a note about error CFLAGS
14427         * docs/gst/tmpl/gstfakesrc.sgml:
14428         * gst/elements/gstfakesrc.c:
14429           comment out some unused code
14430         * gst/gst.c: (split_and_iterate):
14431         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
14432         (load_feature):
14433           plug some memleaks
14434
14435 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14436
14437         * common/Makefile.am:
14438         * common/gtk-doc.mak:
14439         * docs/gst/Makefile.am:
14440           factor out gtk-doc.mak
14441
14442 2005-07-07  Wim Taymans  <wim@fluendo.com>
14443
14444         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
14445         (gst_thread_scheduler_dispose):
14446         Unlock the STREAM_LOCK completely.
14447
14448 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14449
14450         * check/Makefile.am:
14451         * check/elements/.cvsignore:
14452         * check/elements/gstfakesrc.c: (chain_func), (event_func),
14453         (START_TEST), (fakesrc_suite), (main):
14454         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
14455         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
14456         (gst_fakesrc_create), (gst_fakesrc_start):
14457         * gst/elements/gstfakesrc.h:
14458           adding a first element test
14459
14460 2005-07-07  Andy Wingo  <wingo@pobox.com>
14461
14462         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
14463         debug message.
14464
14465 2005-07-07  Wim Taymans  <wim@fluendo.com>
14466
14467         * gst/gstquery.c:
14468         * gst/gstquery.h:
14469         Remove old types
14470
14471 2005-07-07  Wim Taymans  <wim@fluendo.com>
14472
14473         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
14474         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
14475         Allow subclasses to implement their own negotiation.
14476
14477 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14478
14479         * docs/design/part-gstbin.txt:
14480         * docs/design/part-gstpipeline.txt:
14481           Update design notes to reflect the movement of
14482           responsibility for bus handling from GstPipeline to
14483           GstBin
14484
14485 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14486
14487         * configure.ac:
14488           Remove unnecessary queue2/3/4 examples.
14489
14490 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
14491
14492         * examples/Makefile.am:
14493         * examples/helloworld/helloworld.c: (event_loop), (main):
14494         * examples/queue/queue.c: (event_loop), (main):
14495         * examples/queue2/queue2.c: (main):
14496           Update a couple of the examples to work again.
14497
14498         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14499         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
14500          Spelling corrections and extra debug.
14501         
14502         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
14503         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
14504         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
14505         * gst/gstbin.h:
14506         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
14507         (gst_pipeline_change_state):
14508         * gst/gstpipeline.h:
14509           Move the bus handler for children to the GstBin, and create a
14510           separate bus for receiving messages from children to the one the
14511           bus sends 'upwards' on.
14512
14513 2005-07-06  Wim Taymans  <wim@fluendo.com>
14514
14515         * gst/base/README:
14516         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14517         (gst_base_sink_handle_object), (gst_base_sink_loop),
14518         (gst_base_sink_change_state):
14519         * gst/base/gstbasesink.h:
14520         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14521         (gst_base_src_init), (gst_base_src_setcaps),
14522         (gst_base_src_getcaps), (gst_base_src_loop),
14523         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
14524         (gst_base_src_start), (gst_base_src_change_state):
14525         * gst/base/gstbasesrc.h:
14526         Make basesrc negotiate.
14527         Handle the case where preroll fails in basesink.
14528         Update README.
14529
14530 2005-07-06  Wim Taymans  <wim@fluendo.com>
14531
14532         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
14533         Implement the fixate function.
14534         Clean up acceptcaps.
14535
14536 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14537
14538         * docs/pwg/building-filterfactory.xml:
14539         * docs/pwg/pwg.xml:
14540           Remove never-written filter-factory chapter; I'll add the various
14541           base classes to part 4 ("other element types") later on.
14542
14543 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14544
14545         * docs/pwg/advanced-negotiation.xml:
14546         * docs/pwg/building-boiler.xml:
14547         * docs/pwg/building-pads.xml:
14548         * docs/pwg/pwg.xml:
14549         * examples/pwg/Makefile.am:
14550           Add a chapter on caps negotiation, simplify the original code
14551           samples a bit w.r.t. caps negotiation, add link to the advanced
14552           section. Add a bunch of examples showing different use cases of
14553           different types of caps negotiation. Upstream renegotiation isn't
14554           fully documented yet since nobody knows how that works.
14555
14556 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14557
14558         * check/gst/gstpad.c:
14559         * check/gstcheck.c:
14560         * gst/gstpad.c: (gst_pad_get_internal_links_default):
14561           if pad has no parent, return NULL as list of internal links
14562
14563 2005-07-05  Andy Wingo  <wingo@pobox.com>
14564
14565         * gst/elements/gstfilesrc.c:
14566         * gst/elements/gstfakesrc.c: 
14567         * gst/base/gstpushsrc.c:
14568         * gst/base/gstbasesrc.h: 
14569         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
14570         
14571 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
14572
14573         * Makefile.am:
14574           better report generation target (lcov needs a patch)
14575
14576 2005-07-05  Andy Wingo  <wingo@pobox.com>
14577
14578         * gst/elements, testsuite: Null if we got it...
14579
14580 2005-07-05  Wim Taymans  <wim@fluendo.com>
14581
14582         * configure.ac:
14583         * libs/gst/dataprotocol/Makefile.am:
14584         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
14585         * libs/gst/dataprotocol/dataprotocol.h:
14586         * pkgconfig/Makefile.am:
14587         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
14588         * pkgconfig/gstreamer-dataprotocol.pc.in:
14589         Ported dataprotol to 0.9. 
14590         Added pkgconfig files.
14591
14592 2005-07-05  Andy Wingo  <wingo@pobox.com>
14593
14594         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
14595         Default to returning TRUE for the case when tranform_caps returns
14596         a fixed caps, like for identity or volume.
14597
14598         * check/gst/gstbus.c (pound_bus_with_messages): 
14599         * check/gst/gstmessage.c (START_TEST): 
14600         * check/pipelines/simple_launch_lines.c (got_handoff): Application
14601         message API change.
14602
14603         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
14604         logic weaks here: always run transform_caps, trying passthrough
14605         operation only if the original caps intersects with the transform.
14606
14607         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
14608         source and sink caps.
14609
14610         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
14611         Intersect the peer caps with the pad template before going into
14612         transform_caps.
14613         (gst_base_transform_transform_caps): More debugging.
14614
14615         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
14616         src argument.
14617
14618 2005-07-04  Edward Hervey  <edward@fluendo.com>
14619
14620         * gst/gstutils.c:
14621         * gst/gstutils.h:
14622         (gst_pad_add_*_probe): now returns the signal id for better wrapping
14623         in bindings.
14624
14625 2005-07-04  Andy Wingo  <wingo@pobox.com>
14626
14627         * check/gst/gstpad.c: Only set explicit caps on pads.
14628
14629 2005-07-01  Andy Wingo  <wingo@pobox.com>
14630
14631         * tests/network-clock.scm: Commentary update.
14632
14633         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
14634         Didn't really make sense, not implementable with basetransform,
14635         etc.
14636         (gst_identity_transform): Unref inbuf via make_writable. Feeble
14637         attempt at implementing the sync property, needs an unlock method.
14638
14639         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
14640         New func, by default returns the same caps (the identity
14641         transformation).
14642         (gst_base_transform_getcaps): Uses transform_caps to return
14643         something sensible.
14644         (gst_base_transform_setcaps): Complicated logic to get caps on
14645         both pads, even if they are different, and to call set_caps once
14646         for every time both pads get their caps set.
14647         (gst_base_transform_handle_buffer): Give the ref to the transform
14648         function. Allows in-place modification of the buffer.
14649
14650         * gst/base/gstbasetransform.h (transform_caps): New class method.
14651         Given caps on one side, what can I do on the other.
14652         (set_caps): Take two caps, one for each side of the element.
14653
14654         * gst/gstpad.h:
14655         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
14656         caps in place. This is safe because we can check the mutability of
14657         the caps, and a good idea because fixate functions are just called
14658         as a matter of last resort. (Not actually implemented.)
14659         (gst_pad_set_caps): If the caps we're setting is actually the same
14660         as the existing pad caps, just update the pointer without calling
14661         setcaps. Assert that caps is either NULL or fixed, as per the
14662         docs.
14663
14664         * gst/gstghostpad.c: Update for fixate changes.
14665
14666 2005-07-02  Andy Wingo  <wingo@pobox.com>
14667
14668         * gst/gstcaps.c:
14669         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
14670         two refcounts makes it immutable, which is enough. Doc more.
14671
14672 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
14673
14674         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
14675           Put the mini_object into GValue as a mini_object,
14676           not a gpointer, since that's how we declared
14677           the signal.
14678
14679 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14680
14681         * examples/pwg/Makefile.am:
14682           Fix buildbot again.
14683
14684 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14685
14686         * docs/pwg/building-testapp.xml:
14687           Add extra check.
14688         * examples/pwg/Makefile.am:
14689           Fix buildbot.
14690
14691 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14692
14693         * configure.ac:
14694         * examples/Makefile.am:
14695         * examples/pwg/Makefile.am:
14696         * examples/pwg/extract.pl:
14697           Enable building the PWG examples.
14698         * docs/pwg/advanced-interfaces.xml:
14699           Add URI interface stub.
14700         * docs/pwg/advanced-types.xml:
14701         * docs/pwg/other-autoplugger.xml:
14702         * docs/pwg/appendix-porting.xml:
14703         * docs/pwg/pwg.xml:
14704           Add porting guide (mostly stubs), remove autoplugging (see ADM).
14705         * docs/pwg/building-boiler.xml:
14706         * docs/pwg/building-chainfn.xml:
14707         * docs/pwg/building-pads.xml:
14708         * docs/pwg/building-props.xml:
14709         * docs/pwg/building-state.xml:
14710         * docs/pwg/building-testapp.xml:
14711           Update the building-*.xml parts for 0.9 changes. All examples
14712           code blocks compile in examples/pwg/*.
14713
14714 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14715
14716         * docs/manual/advanced-autoplugging.xml:
14717         * docs/manual/appendix-checklist.xml:
14718         * docs/manual/appendix-integration.xml:
14719         * docs/manual/highlevel-components.xml:
14720           Fix playbin/decodebin examples, update docs a bit, mention bus
14721           instead of signals in various places, mention kmplayer and
14722           kaffeine since they have a working GStreamer backend in the KDE
14723           section.
14724
14725 2005-06-30  Wim Taymans  <wim@fluendo.com>
14726
14727         * CHANGES-0.9:
14728         * docs/design/draft-ghostpads.txt:
14729         * docs/design/draft-push-pull.txt:
14730         * docs/design/draft-query.txt:
14731         * docs/design/part-TODO.txt:
14732         * docs/design/part-query.txt:
14733         Added CHANGES-0.9 doc, updated status of other docs.
14734         
14735         * gst/gstquery.h:
14736         Remove "hmm" macro
14737
14738 2005-06-30  Wim Taymans  <wim@fluendo.com>
14739
14740         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
14741         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
14742         (gst_base_sink_change_state):
14743         * gst/base/gstbasesink.h:
14744         Some tweaks, only EOS and a buffer complete a preroll.
14745
14746 2005-06-30  Andy Wingo  <wingo@pobox.com>
14747
14748         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
14749         activate_push down to the internal pad as well.
14750
14751 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
14752
14753         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14754
14755         * gst/gsttaginterface.c:
14756           Some documentation fixes (#307394 and #307397).
14757
14758 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
14759
14760         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14761
14762         * gst/gstvalue.c: (gst_value_intersect_list):
14763           Fix memleak (#309125).
14764
14765 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14766
14767         * docs/manual/advanced-dataaccess.xml:
14768           Fix fakesrc example to compile; doesn't work, bug somewhere...?
14769         * docs/manual/basics-pads.xml:
14770           Add reference for filtered caps to above chapter.
14771
14772 2005-06-30  Wim Taymans  <wim@fluendo.com>
14773
14774         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
14775         (gst_bin_change_state):
14776         Probes are gone.
14777         Lame attempt at making the state change function a bit
14778         more readable.
14779
14780 2005-06-30  Wim Taymans  <wim@fluendo.com>
14781
14782         * docs/design/part-clocks.txt:
14783         * docs/design/part-element-sink.txt:
14784         * docs/design/part-events.txt:
14785         * docs/design/part-preroll.txt:
14786         * docs/design/part-states.txt:
14787         Some more tweeks and additions to the docs.
14788
14789 2005-06-30  Wim Taymans  <wim@fluendo.com>
14790
14791         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14792         (default_have_data), (gst_pad_class_init), (gst_pad_init),
14793         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14794         (gst_pad_check_pull_range), (gst_pad_get_range),
14795         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
14796         * gst/gstpad.h:
14797         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
14798         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14799         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14800         (gst_pad_remove_buffer_probe):
14801         Removed atomic operations, use existing LOCK.
14802         Move exception handling out of main code path.
14803
14804 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14805
14806         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14807         (silly_return_true_function), (gst_pad_class_init),
14808         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
14809         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
14810         (gst_pad_send_event):
14811           Fix accumulator, add default value by using _emitv() instead
14812           of _emit() for signal emission.
14813
14814 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14815
14816         * docs/manual/advanced-dataaccess.xml:
14817         * examples/manual/Makefile.am:
14818           Add probe example.
14819         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
14820           Make work (??).
14821
14822 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
14823
14824         * gst/elements/gstfilesink.c: (gst_filesink_render):
14825           Simplify code so that we don't have to handle short
14826           writes and return GST_FLOW_ERROR if an error occured.
14827
14828 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14829
14830         * docs/gst/gstreamer-docs.sgml:
14831           Remove probes more.
14832
14833 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14834
14835         * docs/gst/gstreamer-sections.txt:
14836         * docs/gst/tmpl/gstpad.sgml:
14837         * docs/gst/tmpl/gstprobe.sgml:
14838         * gst/Makefile.am:
14839         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
14840         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
14841         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
14842         (gst_pad_push_event), (gst_pad_send_event):
14843         * gst/gstpad.h:
14844         * gst/gstutils.c: (gst_pad_add_data_probe),
14845         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
14846         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
14847         (gst_pad_remove_buffer_probe):
14848         * gst/gstutils.h:
14849           Remove old probes, add new g-signal-based probes and some utility
14850           functions.
14851
14852 2005-06-29  Edward Hervey  <edward@fluendo.com>
14853
14854         * gst/gstelementfactory.c:
14855         * gst/gstutils.h:
14856         * gst/gstutils.c:
14857         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
14858         the definition to the header file.
14859
14860 2005-06-29  Andy Wingo  <wingo@pobox.com>
14861
14862         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
14863         plugins from the source directory.
14864
14865 2005-06-29  Wim Taymans  <wim@fluendo.com>
14866
14867         * docs/gst/tmpl/gstbuffer.sgml:
14868         * docs/gst/tmpl/gstclock.sgml:
14869         Some fixings for blantently wrong text.
14870
14871 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14872
14873         * check/Makefile.am:
14874         * gst/gst.c: (add_path_func), (init_pre):
14875         * gst/gstregistry.c: (gst_registry_add_path):
14876           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
14877           only scan the GST_PLUGIN_PATH locations, and not add
14878           system locations
14879
14880 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
14881
14882         * docs/gst/gstreamer-sections.txt:
14883         * docs/gst/tmpl/gstbasesrc.sgml:
14884         * gst/gstelement.c:
14885         * gst/gstelement.h:
14886         * gst/gstevent.c:
14887         * gst/gstutils.c:
14888           doc fixes
14889
14890 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14891
14892         * docs/manual/advanced-autoplugging.xml:
14893           Fix autoplugging example.
14894
14895 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14896
14897         * docs/manual/advanced-autoplugging.xml:
14898         * docs/manual/mime-world.fig:
14899           Try to get autoplugging working, fix type detection. Fix text
14900           in hello-world image.
14901
14902 2005-06-29  Wim Taymans  <wim@fluendo.com>
14903
14904         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14905         (gst_base_sink_change_state):
14906         Small debug line.
14907
14908         * gst/gstclock.h:
14909         map SIGNAL and BROADCAST to the right function.
14910
14911         * gst/gstobject.h:
14912         Remove redundant braces.
14913
14914         * gst/gstpad.c: (gst_pad_set_caps):
14915         Don't call setcaps function when reseting caps to NULL.
14916
14917         * gst/gstsystemclock.c: (gst_system_clock_dispose),
14918         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
14919         (gst_system_clock_id_unschedule):
14920         Use BROADCAST as this is what we do.
14921
14922 2005-06-29  Wim Taymans  <wim@fluendo.com>
14923
14924         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14925         We are actually prerolling before commiting the state
14926         change. 
14927
14928 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
14929
14930         * docs/manual/advanced-clocks.xml:
14931         * docs/manual/advanced-interfaces.xml:
14932         * docs/manual/advanced-metadata.xml:
14933         * docs/manual/advanced-position.xml:
14934         * docs/manual/advanced-schedulers.xml:
14935         * docs/manual/advanced-threads.xml:
14936         * docs/manual/appendix-porting.xml:
14937         * docs/manual/basics-bins.xml:
14938         * docs/manual/basics-bus.xml:
14939         * docs/manual/basics-elements.xml:
14940         * docs/manual/basics-helloworld.xml:
14941         * docs/manual/basics-pads.xml:
14942         * docs/manual/highlevel-components.xml:
14943         * docs/manual/manual.xml:
14944         * docs/manual/thread.fig:
14945           Update (until threads/scheduling) Application Development Manual;
14946           remove GstThread, add GstBus, add simple porting checklist, add
14947           documentation for tag writing, clocks, make all examples until this
14948           part compile and run.
14949         * examples/manual/Makefile.am:
14950           Update from changes to Application Development Manual; add bus
14951           example, remove thread example.
14952
14953 2005-06-28  Wim Taymans  <wim@fluendo.com>
14954
14955         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
14956         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
14957         (gst_bus_source_dispatch):
14958         Add debugging messages.
14959         Make internal methods static.
14960         Handle the case where the bus is flushed in the handler.
14961         
14962         * gst/gstelement.c: (gst_element_get_bus):
14963         Fix refcount in _get_bus();
14964
14965         * gst/gstpipeline.c: (gst_pipeline_change_state),
14966         (gst_pipeline_get_clock_func):
14967         Clock refcounting fixes.
14968         Handle the case where preroll timed out more gracefully.
14969         
14970         * gst/gstsystemclock.c: (gst_system_clock_dispose):
14971         Clean up the internal thread in dispose. This is needed
14972         for subclasses that actually get disposed.
14973         
14974         * gst/schedulers/threadscheduler.c:
14975         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
14976         (gst_thread_scheduler_dispose):
14977         Free thread pool in dispose.
14978
14979 2005-06-28  Andy Wingo  <wingo@pobox.com>
14980
14981         * tests/network-clock-utils.scm (debug, print-event): New utils.
14982
14983         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
14984         (*packet-loss*): Unified loss probability.
14985         (network-time): Report out-of-band events.
14986
14987         * tests/plot-data: Add support for out-of-band events. Hack it
14988         into this script instead of passing it down the pipe; should fix
14989         this later.
14990
14991 2005-06-28  Wim Taymans  <wim@fluendo.com>
14992
14993         * docs/gst/gstreamer.types:
14994         * docs/gst/tmpl/gstbasesrc.sgml:
14995         * docs/gst/tmpl/gstpad.sgml:
14996         Docs fixes.
14997
14998 2005-06-28  Wim Taymans  <wim@fluendo.com>
14999
15000         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15001         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
15002         (gst_proxy_pad_do_fixatecaps):
15003         Correctly proxy the check_pull_range function.
15004
15005 2005-06-28  Andy Wingo  <wingo@pobox.com>
15006
15007         * tests/network-clock.scm: Removed need for slib.
15008         
15009 2005-06-28  Wim Taymans  <wim@fluendo.com>
15010
15011         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
15012         (gst_basesink_preroll_queue_flush):
15013         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
15014         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
15015         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15016         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
15017         (gst_proxy_pad_set_property):
15018         * gst/gstpad.c:
15019         * gst/gstpad.h:
15020         * gst/gstqueue.c: (gst_queue_init):
15021         The deprecated pad loop function is removed now.
15022
15023 2005-06-28  Andy Wingo  <wingo@pobox.com>
15024
15025         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
15026         New parameters, simulate network packet loss.
15027
15028         * tests/network-clock-utils.scm: Initialize the RNG.
15029
15030 2005-06-28  Wim Taymans  <wim@fluendo.com>
15031
15032         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
15033         (gst_basesink_event), (gst_basesink_deactivate):
15034         Flushing the preroll queue always needs to unlock the waiters.
15035
15036 2005-06-28  Edward Hervey  <edward@fluendo.com>
15037
15038         * gst/gstpipeline.c: (gst_pipeline_send_event): 
15039         Wheen a seek was successful on a pipeline, set the stream_time to the
15040         seek offset in order to have a synchronized stream_time.
15041
15042 2005-06-28  Wim Taymans  <wim@fluendo.com>
15043
15044         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
15045         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
15046         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
15047         (gst_proxy_pad_do_fixatecaps):
15048         Call wrapper function instead of just calling the function
15049         pointers. This takes care of any locking and whatmore.
15050
15051 2005-06-28  Wim Taymans  <wim@fluendo.com>
15052
15053         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
15054         (gst_pad_pull_range):
15055         * gst/gstpad.h:
15056         CONNECTED -> LINKED.
15057
15058 2005-06-28  Andy Wingo  <wingo@pobox.com>
15059
15060         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
15061         source-munging commit!!!
15062
15063         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
15064         (gst_object_sink): Take gpointer arguments, not GstObject --
15065         avoids casts. Like GLib.
15066
15067         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
15068         activate.
15069
15070 2005-06-27  Andy Wingo  <wingo@pobox.com>
15071
15072         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
15073         remaining buffer.
15074
15075         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
15076         returns a sorted copy of the trace list.
15077         (gst_alloc_trace_print_live): New API, only prints traces with
15078         live objects. Sort the list.
15079         (gst_alloc_trace_print_all): Sort the list.
15080         (gst_alloc_trace_print): Align columns.
15081
15082         * gst/elements/gstttypefindelement.c:
15083         * gst/elements/gsttee.c:
15084         * gst/base/gstbasesrc.c:
15085         * gst/base/gstbasesink.c:
15086         * gst/base/gstbasetransform.c:
15087         * gst/gstqueue.c: Adapt for pad activation changes.
15088
15089         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
15090         sched.
15091         (gst_pipeline_dispose): Drop ref on sched.
15092
15093         * gst/gstpad.c (gst_pad_init): Set the default activate func.
15094         (gst_pad_activate_default): Push mode by default.
15095         (pre_activate_switch, post_activate_switch): New stubs, things to
15096         do before and after switching activation modes on pads.
15097         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
15098         the pad's activate function to choose which mode to activate.
15099         Shortcut on deactivation and call the right function directly.
15100         (gst_pad_activate_pull): New API, (de)activates a pad in pull
15101         mode.
15102         (gst_pad_activate_push): New API, same for push mode.
15103         (gst_pad_set_activate_function) 
15104         (gst_pad_set_activatepull_function) 
15105         (gst_pad_set_activatepush_function): Setters for new API.
15106
15107         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
15108         Trace all miniobjects.
15109         (gst_mini_object_make_writable): Unref the arg if we copy, like
15110         gst_caps_make_writable.
15111
15112         * gst/gstmessage.c (_gst_message_initialize): No trace init.
15113
15114         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
15115         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
15116         Adapt for new pad API.
15117
15118         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
15119
15120         * gst/gstelement.h:
15121         * gst/gstelement.c (gst_element_iterate_src_pads) 
15122         (gst_element_iterate_sink_pads): New API functions.
15123         
15124         * gst/gstelement.c (iterator_fold_with_resync): New utility,
15125         should fold into gstiterator.c in some form.
15126         (gst_element_pads_activate): Simplified via use of fold and
15127         delegation of decisions to gstpad->activate.
15128
15129         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
15130         help in debugging.
15131
15132         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
15133         class once in init, like gstmessage. Didn't run into this issue
15134         but it seems correct. Don't initialize a trace, gstminiobject does
15135         that.
15136
15137         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
15138         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
15139         to the bus.
15140         (assert_live_count): New util function, uses alloc traces to check
15141         cleanup.
15142
15143         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
15144         To be modified when unlink drops the internal pad.
15145
15146 2005-06-27  Wim Taymans  <wim@fluendo.com>
15147
15148         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
15149         (gst_bin_change_state):
15150         Cleanup the get_state() function a little, make sure it
15151         iterates the same set of elements.
15152         Added stub iterate_state_order().
15153
15154 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15155
15156         * docs/gst/gstreamer-docs.sgml:
15157         * docs/gst/gstreamer-sections.txt:
15158         * docs/gst/gstreamer.types:
15159         * docs/gst/tmpl/gstbasesink.sgml:
15160         * docs/gst/tmpl/gstbasesrc.sgml:
15161         * docs/gst/tmpl/gstbasetransform.sgml:
15162         * docs/gst/tmpl/gstelement.sgml:
15163         * docs/gst/tmpl/gstiterator.sgml:
15164         * gst/base/gstbasesrc.c:
15165         * gst/base/gstbasesrc.h:
15166         * gst/base/gstbasetransform.h:
15167         * gst/gstelement.c:
15168         * gst/gstiterator.h:
15169           adding basetransform and iterator docs
15170
15171 2005-06-27  Andy Wingo  <wingo@pobox.com>
15172
15173         * docs/design/part-activation.txt: Notes on how activation should
15174         work -- not quite implemented yet.
15175
15176 2005-06-25  Wim Taymans  <wim@fluendo.com>
15177
15178         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
15179         At least get the chain function correct, needs more
15180         fixing.
15181
15182 2005-06-25  Wim Taymans  <wim@fluendo.com>
15183
15184         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15185         (gst_basesink_handle_object), (gst_basesink_event),
15186         (gst_basesink_do_sync), (gst_basesink_handle_event),
15187         (gst_basesink_change_state):
15188         * gst/gsttask.h:
15189         Right, two problems here: ghostpads don't take locks and
15190         glib _rec_mutex_lock_full() with depth==0 still locks.
15191         Catch illegal locking and g_warn them.
15192
15193 2005-06-25  Wim Taymans  <wim@fluendo.com>
15194
15195         * check/states/sinks.c: (START_TEST), (gst_object_suite):
15196         Have to check for completion now...
15197
15198 2005-06-25  Wim Taymans  <wim@fluendo.com>
15199
15200         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
15201         (gst_basesink_handle_object), (gst_basesink_event),
15202         (gst_basesink_do_sync), (gst_basesink_handle_event),
15203         (gst_basesink_change_state):
15204         * gst/gstpad.h:
15205         Unlock STREAM_LOCK whatever the recursion was.
15206
15207 2005-06-25  Wim Taymans  <wim@fluendo.com>
15208
15209         * gst/base/gstbasesink.c: (gst_basesink_set_property),
15210         (gst_basesink_preroll_queue_empty),
15211         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
15212         (gst_basesink_event), (gst_basesink_do_sync),
15213         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
15214         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
15215         (gst_basesink_change_state):
15216         Reworked the base sink, handle event and buffer serialisation
15217         correctly and removed possible deadlock.
15218         Handle EOS correctly.
15219
15220 2005-06-25  Wim Taymans  <wim@fluendo.com>
15221
15222         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
15223         (gst_pipeline_change_state):
15224         * tools/gst-launch.c: (check_intr), (event_loop), (main):
15225         Allow elements to post EOS in the state change function.
15226         Fix up -launch, make it exit the poll loop when the
15227         pipeline actually changed state.
15228         Fix up warning parsing in -launch.
15229
15230 2005-06-25  Wim Taymans  <wim@fluendo.com>
15231
15232         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
15233         (gst_tee_sink_activate):
15234         Core takes STREAM_LOCK for us now.
15235
15236 2005-06-25  Wim Taymans  <wim@fluendo.com>
15237
15238         * gst/gstelement.c: (gst_element_get_state_func),
15239         (gst_element_set_state):
15240         * gst/gstelement.h:
15241         * gst/gstmessage.c: (gst_message_parse_error),
15242         (gst_message_parse_warning):
15243         Keep track of current target state while performing a state
15244         change so that subclasses can do something interesting.
15245         Fix parsing of warning/error messages when GError is NULL.
15246
15247 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15248
15249         * docs/gst/Makefile.am:
15250         * docs/gst/gstreamer-docs.sgml:
15251         * docs/gst/gstreamer-sections.txt:
15252         * docs/gst/gstreamer.types:
15253         * docs/gst/tmpl/gstbasesink.sgml:
15254         * docs/gst/tmpl/gstbasesrc.sgml:
15255         * docs/gst/tmpl/gstbin.sgml:
15256         * docs/gst/tmpl/gstcompat.sgml:
15257         * docs/gst/tmpl/gstfakesink.sgml:
15258         * docs/gst/tmpl/gstfakesrc.sgml:
15259         * docs/gst/tmpl/gstfilesink.sgml:
15260         * docs/gst/tmpl/gstfilesrc.sgml:
15261         * docs/gst/tmpl/gstindex.sgml:
15262         * docs/manual/appendix-quotes.xml:
15263         * gst/base/gstbasesrc.h:
15264         * gst/elements/gstfakesrc.h:
15265         * gst/gstmessage.h:
15266           start pulling in base classes and elements in our docs
15267
15268 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
15269
15270         * docs/gst/Makefile.am:
15271         * docs/libs/Makefile.am:
15272           fixed make distcheck with gtk-doc 1.3
15273
15274 2005-06-23  Wim Taymans  <wim@fluendo.com>
15275
15276         * gst/gstelement.c: (gst_element_get_state_func),
15277         (gst_element_set_state), (gst_element_change_state):
15278         When the state did not change, also report NO_PREROLL
15279         when it matters.
15280
15281 2005-06-23  Wim Taymans  <wim@fluendo.com>
15282
15283         * gst/gstpad.c: (gst_pad_event_default):
15284         * gst/gstqueue.c: (gst_queue_loop):
15285         No unsafe task pausing please.
15286
15287 2005-06-23  Wim Taymans  <wim@fluendo.com>
15288
15289         * gst/schedulers/threadscheduler.c:
15290         (gst_thread_scheduler_task_start),
15291         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
15292         Ref the task before pushing it on the threadpool. This
15293         makes sure that we have a ref when the threadfunction is
15294         actually called.
15295
15296 2005-06-23  Andy Wingo  <wingo@pobox.com>
15297
15298         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
15299         offset is greater than the file's size.
15300
15301         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
15302         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
15303         * gst/gstobject.c (gst_object_class_init): Make the class lock
15304         recursive. Wim won't let me drop deep_notify. Decodebin works
15305         again, whoopdy doo.
15306
15307         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
15308         internal pad, and hacks accordingly. Doesn't do it on the target
15309         pad because we change its caps. Probably catches all cases of
15310         interest tho.
15311         (gst_ghost_pad_set_property): Connect to notify::caps as
15312         appropritate.
15313
15314         * tests/network-clock.scm (plot-simulation): Pipe data to the
15315         elite python skript.
15316
15317         * tests/network-clock-utils.scm (define-parameter): New macro,
15318         defines a parameter that can be set via the command line.
15319         (set-parameter!, parse-parameter-arguments): Command line args
15320         parser.
15321
15322         * tests/plot-data: Simple matplotlib-based plotter, takes input on
15323         stdin.
15324
15325 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
15326
15327         * gst/elements/gsttypefindelement.c:
15328         (gst_type_find_element_handle_event):
15329           Don't restart typefinding on a discont.
15330         * gst/gstelement.c: (gst_element_set_state):
15331           Debug spelling fix.
15332         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
15333           Allow changing mode of an active pad.
15334           Debug output fixes.
15335         * gst/registries/gstlibxmlregistry.c: (load_feature):
15336           Don't cast a static pad template to a normal pad template.
15337
15338 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15339
15340         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15341         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15342           remove gst_strtoll completely, since it didn't actually do
15343           anything more than what g_ascii_strtoull already does.
15344           check for range errors when deserializing
15345           do a cast for the unsigned cases; but further fixing needs
15346           a decision on what the interpretation of "(int)" and
15347           deserialization should be for values that fall outside the
15348           type's boundaries (ie, refuse, or interpret as casting)
15349
15350 2005-06-23  Wim Taymans  <wim@fluendo.com>
15351
15352         * check/Makefile.am:
15353         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
15354         * docs/design/part-live-source.txt:
15355         * docs/design/part-states.txt:
15356         * gst/base/gstbasesrc.c: (gst_basesrc_init),
15357         (gst_basesrc_set_live), (gst_basesrc_is_live),
15358         (gst_basesrc_get_range), (gst_basesrc_activate),
15359         (gst_basesrc_change_state):
15360         * gst/base/gstbasesrc.h:
15361         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
15362         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
15363         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
15364         * gst/gstelement.c: (gst_element_get_state_func),
15365         (gst_element_set_state):
15366         * gst/gstelement.h:
15367         * gst/gsttypes.h:
15368         * tools/gst-launch.c: (event_loop), (main):
15369         Added support for live sources and other elements that
15370         cannot do preroll.
15371         Updated design docs, added live-source design doc.
15372         Implemented live source functionality in basesrc
15373         Fix error condition in _bin_get_state()
15374         Implement live source handling in -launch.
15375         Added check for live sources.
15376         Fixed case in GstBin where elements were changed state
15377         multiple times.
15378
15379
15380 2005-06-23  Andy Wingo  <wingo@pobox.com>
15381
15382         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
15383         borken refcounting.
15384
15385         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
15386         gst_caps_replace takes care of this for us.
15387
15388         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
15389         gst_pad_set_caps on the target, not just its setcaps() function.
15390
15391         * tests/network-clock.scm: 
15392         * tests/network-clock-utils.scm: A network clock simulator.
15393         Something of an algorithmic testbed before doing something in C.
15394
15395 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15396
15397         * check/Makefile.am:
15398         * check/gst/capslist.h:
15399           copy over from 0.8, and add two with bitmasks specified with
15400           (int) 0xFF...
15401         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15402           add test to parse everything from capslist.h
15403         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
15404         (main):
15405           add test for structure deserialization
15406         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15407           add tests for deserialization of strings to int types
15408         * gst/gststructure.c: (gst_structure_nth_field_name):
15409         * gst/gststructure.h:
15410           add a way to get the name of a field referenced by index
15411         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
15412           instead of checking if the resulting long long lies between
15413           min and max, we check if the long long would fit into
15414           a number of bytes for the final type.
15415           This fixes cases where a string represents 2^32 - 1, which
15416           when cast to int would be the (valid) -1, but is bigger than
15417           G_MAXINT
15418
15419 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15420
15421         * gst/parse/grammar.y:
15422           add a log line for type deserialization
15423
15424 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15425
15426         * check/gst/gstvalue.c: (START_TEST):
15427         * gst/gstvalue.c: (gst_value_deserialize):
15428           return long long, not int, so gint64 deserialization actually
15429           works.  Is there any flag that makes the compiler check this ?
15430           Fixes #308559
15431
15432 2005-06-22  Wim Taymans  <wim@fluendo.com>
15433
15434         * gst/gstbuffer.h:
15435         Added convenience macros for setting buffers in GValue.
15436
15437 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15438
15439         * check/gst/.cvsignore:
15440         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
15441           add a test deserializing int64, and comment part out because
15442           it fails, yay !
15443
15444 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
15445
15446         * check/Makefile.am:
15447         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
15448         * testsuite/Makefile.am:
15449         * testsuite/caps/Makefile.am:
15450         * testsuite/caps/value_serialize.c:
15451         * testsuite/test_gst_init.c:
15452           move a value_serialize test over
15453
15454 2005-06-20  Wim Taymans  <wim@fluendo.com>
15455
15456         * gst/gstpad.c:
15457         Small doc updates.
15458         
15459         * gst/gstvalue.c: (gst_value_compare_buffer),
15460         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
15461         (gst_value_compare_flags), (gst_value_serialize_flags),
15462         (gst_value_deserialize_flags), (_gst_value_initialize):
15463         Fix serialisation of buffers, they are not boxed types anymore
15464
15465 2005-06-20  Wim Taymans  <wim@fluendo.com>
15466
15467         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
15468         Testcase to show error in buffer-on-caps serialisation.
15469
15470 2005-06-20  Andy Wingo  <wingo@pobox.com>
15471
15472         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
15473         will be adding to later.
15474
15475         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
15476         if its socks fill with rocks.
15477         (gst_system_clock_obtain): Set the name on object construction.
15478         Avoid double-checked locking.
15479
15480 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
15481
15482         * gst/gsturi.c: (gst_element_make_from_uri):
15483           Fix potential endless loop.
15484
15485 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15486
15487         * check/Makefile.am:
15488           add gsttag
15489         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
15490         (main):
15491           move over from testsuite dir and clean up
15492         * configure.ac:
15493         * gst/gsttag.c:
15494         * testsuite/Makefile.am:
15495         * testsuite/tags/.cvsignore:
15496         * testsuite/tags/Makefile.am:
15497         * testsuite/tags/merge.c:
15498           remove testsuite/tags
15499
15500 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15501
15502         * docs/gst/gstreamer-sections.txt:
15503         * docs/gst/tmpl/gstenumtypes.sgml:
15504         * win32/gstenumtypes.c:
15505           clean up documentation build a little
15506
15507 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15508
15509         * check/gstcheck.h:
15510           add macros for checking refcounts on objects and caps
15511         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
15512           add some more unit tests
15513         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
15514         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
15515           fix leaked refcounts (I hope :)) so unittest works
15516         * gst/gstpad.h:
15517           whitespace removal
15518
15519 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
15520
15521         * configure.ac: back to HEAD
15522
15523 === release 0.9.1 ===
15524
15525 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
15526
15527         * NEWS:
15528         * RELEASE:
15529           updated
15530
15531 2005-06-17  Andy Wingo  <wingo@pobox.com>
15532
15533         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
15534         assert; it's always possible that the pad gets deactivated in
15535         between the checks in gstpad.c and the implementation. Rely on
15536         finish_preroll() to return a FLUSHING or similar instead of on the
15537         assert.
15538         
15539         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
15540         clock and post an EOS message if we come out of finish_preroll in
15541         the playing state.
15542
15543 2005-06-16  David Schleef  <ds@schleef.org>
15544
15545         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
15546         (gst_capsfilter_set_property): Allow NULL as possible value
15547         for filter_caps property, indicating GST_CAPS_ANY.
15548
15549 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15550
15551         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
15552           fix debug output
15553         * gst/schedulers/Makefile.am:
15554           use libgst prefix
15555         * gstreamer.spec.in:
15556           fix spec for it
15557
15558 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
15559
15560         * gstreamer.spec.in:
15561           clean up
15562
15563 2005-06-08  Andy Wingo  <wingo@pobox.com>
15564
15565         * gst/gstutils.c: RPAD fixes all around.
15566         (gst_element_link_pads): Refcounting fixes.
15567
15568         * tools/gst-inspect.c:
15569         * tools/gst-xmlinspect.c:
15570         * parse/grammar.y:
15571         * gst/base/gsttypefindhelper.c:
15572         * gst/base/gstbasesink.c:
15573         * gst/gstqueue.c: RPAD fixes.
15574
15575         * gst/gstghostpad.h:
15576         * gst/gstghostpad.c: New ghost pad implementation as full proxy
15577         pads. The tricky thing is they provide both source and sink
15578         interfaces, since they proxy the internal pad for the external
15579         pad, and vice versa. Implement with lower-level ProxyPad objects,
15580         with the interior proxy pad as a child of the exterior ghost pad.
15581         Should write a doc on this.
15582         
15583         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
15584         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
15585         gst_object API.
15586         
15587         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
15588         pads are real pads. No ghost pads in this file. Not documenting
15589         the myriad s/RPAD/PAD/ and REALIZE fixes.
15590         (gst_pad_class_init): Add properties for "direction" and
15591         "template". Both are construct-only, so they can't change during
15592         the life of the pad. Fixes properly deriving from GstPad.
15593         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
15594         derived objects, just set properties when creating the objects via
15595         g_object_new.
15596         (gst_pad_get_parent): Implement as a function, return NULL if the
15597         parent is not an element.
15598         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
15599         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
15600         
15601         * gst/gstobject.c (gst_object_class_init): Make name a construct
15602         property. Don't set it in the object init.
15603
15604         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
15605         with UNKNOWN direction.
15606         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
15607         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
15608         (gst_element_remove_pad): Remove ghost-pad special cases.
15609         (gst_element_pads_activate): Remove rpad cruft.
15610
15611         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
15612         catch the pad's-parent-not-an-element case.
15613
15614         * gst/gst.h: Include gstghostpad.h.
15615
15616         * gst/gst.c (init_post): No more real, ghost pads.
15617
15618         * gst/Makefile.am: Add gstghostpad.[ch].
15619
15620         * check/Makefile.am:
15621         * check/gst/gstbin.c:
15622         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
15623         into a bin creates ghost pads, and that the refcounts are right.
15624         Partly moved from gstbin.c.
15625
15626 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15627
15628         * check/gst-libs/.cvsignore:
15629         * check/gst/.cvsignore:
15630         * check/pipelines/.cvsignore:
15631           ignore more
15632         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
15633         (START_TEST), (cleanup_suite), (main):
15634           add some tests related to cleanup after running pipelines
15635
15636 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15637
15638         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
15639           add a testsuite for GstBuffer
15640
15641 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15642
15643         * gst/gstminiobject.h:
15644           add defines for accessing the refcount
15645
15646 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
15647
15648         * Makefile.am: added support for html unit test coverage reports
15649
15650 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
15651
15652         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
15653           Free existing caps if the capsfilter changes. Add a FIXME about
15654           setting those caps on the pads.
15655
15656         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
15657           Before adding a ghost pad to a parent bin, check that there isn't
15658           already one for the element on the bin. Prevents infinite recursion
15659           when using decodebin in parse pipelines. Andy says he'll rewrite the
15660           way this works anyway, so ignore the hack.
15661
15662 2005-06-02  Andy Wingo  <wingo@pobox.com>
15663
15664         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
15665         file size, pass it on to the type find helper.
15666
15667         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
15668         segment_start and segment_end properly according to the seek
15669         method. Segment_end is still a bit flaky because offset can be
15670         negative for CUR and END cases, but it takes -1 as an "unset"
15671         value.
15672
15673 2005-06-02  Wim Taymans  <wim@fluendo.com>
15674
15675         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
15676         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
15677         (gst_basesink_activate):
15678         * gst/base/gstbasesink.h:
15679         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15680         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15681         (gst_pad_query), (gst_pad_start_task):
15682         * gst/gstpad.h:
15683         * gst/gstqueue.c: (gst_queue_bufferalloc),
15684         (gst_queue_handle_sink_event), (gst_queue_chain):
15685         Bufferalloc: return GstFlowReturn to more accuratly report
15686         why allocation failed.
15687
15688 2005-06-02  Wim Taymans  <wim@fluendo.com>
15689
15690         * gst/gstpipeline.c: (gst_pipeline_send_event):
15691         Take snapshot of state without blocking.
15692
15693 2005-06-02  Wim Taymans  <wim@fluendo.com>
15694
15695         * docs/design/part-TODO.txt:
15696         * docs/design/part-caps.txt:
15697         * docs/design/part-clocks.txt:
15698         * docs/design/part-negotiation.txt:
15699         * docs/design/part-preroll.txt:
15700         Small doc updates 
15701
15702 2005-05-30  Wim Taymans  <wim@fluendo.com>
15703
15704         * gst/elements/gstidentity.c: (gst_identity_event),
15705         (gst_identity_transform), (gst_identity_get_property):
15706         Protect last_message property as it is accessed from
15707         multiple threads.
15708
15709 2005-05-30  Wim Taymans  <wim@fluendo.com>
15710
15711         * gst/gstelement.c: (gst_element_init),
15712         (gst_element_pads_activate), (gst_element_change_state):
15713         Slicker pad activation code.
15714
15715 2005-05-30  Wim Taymans  <wim@fluendo.com>
15716
15717         * gst/Makefile.am:
15718         * gst/gstelement.h:
15719         * gst/gstelementfactory.h:
15720         * gst/gsttypes.h:
15721         Move elementfactory methods to separate .h file.
15722
15723 2005-05-30  Wim Taymans  <wim@fluendo.com>
15724
15725         * docs/design/part-overview.txt:
15726         * gst/gstsystemclock.h:
15727         Small typo fixes, doc updates.
15728
15729 2005-05-30  Wim Taymans  <wim@fluendo.com>
15730
15731         * gst/gst.c: (gst_init_get_popt_table), (init_post),
15732         (init_popt_callback):
15733         Remove cpu-opt flag.
15734
15735 2005-05-30  Wim Taymans  <wim@fluendo.com>
15736
15737         * gst/gstbuffer.c: (gst_subbuffer_finalize),
15738         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
15739         * gst/gstbuffer.h:
15740         Avoid typechecking in places where not needed.
15741         Added accessor for malloc_data.
15742
15743 2005-05-30  Wim Taymans  <wim@fluendo.com>
15744
15745         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
15746         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
15747         (gst_pad_configure_sink), (gst_pad_configure_src),
15748         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
15749         (gst_pad_start_task):
15750         Propagate errors from _set_caps() in configure_src/sink
15751         functions instead of returning TRUE.
15752         FLUSH events can travel up and downstream
15753
15754
15755 2005-05-30  Wim Taymans  <wim@fluendo.com>
15756
15757         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15758         (gst_basesink_activate):
15759         Handle EOS in preroll.
15760
15761 2005-05-30  Wim Taymans  <wim@fluendo.com>
15762
15763         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15764         (gst_queue_loop), (gst_queue_handle_src_event):
15765         Remove old pieces of code
15766         Flushing the queue in an upstream event is a very bad idea.
15767
15768 2005-05-26  Andy Wingo  <wingo@pobox.com>
15769
15770         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
15771         gst_value_set_mini_object so as to add a ref on the object (which
15772         will be removed when the value is unset).
15773
15774         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
15775         arg type in ::handoff.
15776
15777         * gst/gstelement.c (gst_element_change_state): Also deactivate
15778         pads in READY->NULL, just in case the element didn't make it to
15779         PAUSED. Wingo tested, Wim approved.
15780
15781 2005-05-26  Wim Taymans  <wim@fluendo.com>
15782
15783         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15784         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
15785         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
15786         A flushing pad cannot be used to alloc_buffer from.
15787
15788 2005-05-26  Wim Taymans  <wim@fluendo.com>
15789
15790         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
15791         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
15792         (gst_bus_source_dispatch), (gst_bus_source_finalize),
15793         (gst_bus_create_watch), (gst_bus_add_watch_full):
15794         * gst/gstbus.h:
15795         Implement a real GSource and use g_main_context_wakeup() to
15796         signal new messages instead of the socketpair.
15797
15798 2005-05-25  Wim Taymans  <wim@fluendo.com>
15799
15800         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
15801         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
15802         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15803         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15804         (gst_pad_send_event), (gst_pad_start_task):
15805         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
15806         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
15807         (gst_queue_sink_activate), (gst_queue_src_activate),
15808         (gst_queue_change_state):
15809         * gst/gstqueue.h:
15810         Fix state changes for non sinks. We now change sinks, then elements
15811         with unconnected srcpads, then the rest.
15812         More efficient queue unlocking in flush and state changes.
15813         Set the pad activate mode even if it does not have an activate
15814         function.
15815
15816 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15817
15818         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
15819           Don't go in pull mode for non-seekable sources.
15820         * gst/elements/gsttypefindelement.h:
15821         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
15822         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
15823         (free_entry), (stop_typefinding),
15824         (gst_type_find_element_handle_event), (find_peek),
15825         (gst_type_find_element_chain), (do_pull_typefind),
15826         (gst_type_find_element_change_state):
15827           Allow typefinding (w/o seeking) in push-mode, simplified version
15828           of what was in 0.8.
15829         * gst/gstutils.c: (gst_buffer_join):
15830         * gst/gstutils.h:
15831           gst_buffer_join() from 0.8.
15832
15833 2005-05-25  Wim Taymans  <wim@fluendo.com>
15834
15835         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
15836         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
15837         (gst_pad_send_event), (gst_pad_start_task):
15838         Disable attempt at mode switching until it is figured out.
15839
15840 2005-05-25  Wim Taymans  <wim@fluendo.com>
15841
15842         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
15843         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
15844         (gst_basesink_finish_preroll), (gst_basesink_chain),
15845         (gst_basesink_loop), (gst_basesink_activate),
15846         (gst_basesink_change_state):
15847         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
15848         (gst_basesrc_get_range), (gst_basesrc_loop),
15849         (gst_basesrc_activate):
15850         * gst/elements/gsttee.c: (gst_tee_sink_activate):
15851         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
15852         (gst_real_pad_init), (gst_real_pad_set_property),
15853         (gst_real_pad_get_property), (gst_pad_set_active),
15854         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
15855         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
15856         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
15857         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
15858         (gst_pad_event_default_dispatch), (gst_pad_event_default),
15859         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
15860         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
15861         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
15862         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
15863         (gst_pad_stop_task):
15864         * gst/gstpad.h:
15865         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
15866         (gst_queue_loop), (gst_queue_src_activate):
15867         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
15868         (gst_task_get_state):
15869         * gst/gsttask.h:
15870         * gst/schedulers/threadscheduler.c:
15871         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
15872         Implement gst_pad_pause/start/stop_task(), take STREAM lock
15873         in task function.
15874         Remove ACTIVE pad flag, use FLUSHING everywhere
15875         Added _pad_chain(), _pad_get_range() to call chain/getrange 
15876         functions.
15877         Add locks around IS_FLUSHING when reading.
15878         Take STREAM lock in chain(), get_range() functions so plugins
15879         don't need to take it anymore.
15880         
15881
15882
15883 2005-05-25  Wim Taymans  <wim@fluendo.com>
15884
15885         * tools/gst-launch.c: (event_loop):
15886         Unref message after using its contents instead of
15887         before.
15888
15889 2005-05-24  Wim Taymans  <wim@fluendo.com>
15890
15891         * docs/design/draft-ghostpads.txt:
15892         * docs/design/draft-push-pull.txt:
15893         * docs/design/draft-query.txt:
15894         * docs/design/part-overview.txt:
15895         Docs updates, added general overview doc.
15896
15897 2005-05-21  David Schleef  <ds@schleef.org>
15898
15899         * docs/gst/tmpl/old/GstBin.sgml:
15900         * docs/gst/tmpl/old/GstBuffer.sgml:
15901         * docs/gst/tmpl/old/GstCaps.sgml:
15902         * docs/gst/tmpl/old/GstClock.sgml:
15903         * docs/gst/tmpl/old/GstCompat.sgml:
15904         * docs/gst/tmpl/old/GstData.sgml:
15905         * docs/gst/tmpl/old/GstElement.sgml:
15906         * docs/gst/tmpl/old/GstEvent.sgml:
15907         * docs/gst/tmpl/old/GstIndex.sgml:
15908         * docs/gst/tmpl/old/GstStructure.sgml:
15909         * docs/gst/tmpl/old/GstTag.sgml:
15910         * docs/gst/tmpl/old/cothreads.sgml:
15911         * docs/gst/tmpl/old/cothreads_compat.sgml:
15912         * docs/gst/tmpl/old/gettext.sgml:
15913         * docs/gst/tmpl/old/gobject2gtk.sgml:
15914         * docs/gst/tmpl/old/grammar.tab.sgml:
15915         * docs/gst/tmpl/old/gst-i18n-app.sgml:
15916         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
15917         * docs/gst/tmpl/old/gst_private.sgml:
15918         * docs/gst/tmpl/old/gstaggregator.sgml:
15919         * docs/gst/tmpl/old/gstarch.sgml:
15920         * docs/gst/tmpl/old/gstatomic_impl.sgml:
15921         * docs/gst/tmpl/old/gstbufferstore.sgml:
15922         * docs/gst/tmpl/old/gstdata_private.sgml:
15923         * docs/gst/tmpl/old/gstdisksink.sgml:
15924         * docs/gst/tmpl/old/gstdisksrc.sgml:
15925         * docs/gst/tmpl/old/gstelementfactory.sgml:
15926         * docs/gst/tmpl/old/gstextratypes.sgml:
15927         * docs/gst/tmpl/old/gstfakesink.sgml:
15928         * docs/gst/tmpl/old/gstfakesrc.sgml:
15929         * docs/gst/tmpl/old/gstfdsink.sgml:
15930         * docs/gst/tmpl/old/gstfdsrc.sgml:
15931         * docs/gst/tmpl/old/gstfilesink.sgml:
15932         * docs/gst/tmpl/old/gstfilesrc.sgml:
15933         * docs/gst/tmpl/old/gsthttpsrc.sgml:
15934         * docs/gst/tmpl/old/gstidentity.sgml:
15935         * docs/gst/tmpl/old/gstindexfactory.sgml:
15936         * docs/gst/tmpl/old/gstmarshal.sgml:
15937         * docs/gst/tmpl/old/gstmd5sink.sgml:
15938         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
15939         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
15940         * docs/gst/tmpl/old/gstpadtemplate.sgml:
15941         * docs/gst/tmpl/old/gstpipefilter.sgml:
15942         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
15943         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
15944         * docs/gst/tmpl/old/gstshaper.sgml:
15945         * docs/gst/tmpl/old/gstspider.sgml:
15946         * docs/gst/tmpl/old/gstspideridentity.sgml:
15947         * docs/gst/tmpl/old/gststatistics.sgml:
15948         * docs/gst/tmpl/old/gsttee.sgml:
15949         * docs/gst/tmpl/old/gsttimecache.sgml:
15950         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
15951         * docs/gst/tmpl/old/gstxmlregistry.sgml:
15952         * docs/gst/tmpl/old/gthread-cothreads.sgml:
15953         * docs/gst/tmpl/old/types.sgml:
15954           I didn't intend to add these or check them in.
15955
15956 2005-05-19  David Schleef  <ds@schleef.org>
15957
15958         * configure.ac: Use -no-common everywhere.  In a sane world, it
15959           would be the default in libtool, because without it, you can't
15960           build DLLs on Windows.
15961         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
15962         * docs/gst/gstreamer-sections.txt:
15963         * docs/gst/tmpl/gstcpu.sgml:
15964         * docs/gst/tmpl/gstdata.sgml:
15965         * docs/gst/tmpl/gstthread.sgml:
15966
15967 2005-05-19  David Schleef  <ds@schleef.org>
15968
15969         * gst/gstminiobject.c: (gst_value_set_mini_object),
15970         (gst_value_take_mini_object), (gst_value_get_mini_object):
15971         * gst/gstminiobject.h: Add GValue set/get functions.
15972
15973 2005-05-19  Wim Taymans  <wim@fluendo.com>
15974
15975         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
15976         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
15977         (gst_subbuffer_init), (gst_buffer_is_span_fast):
15978         * gst/gstbuffer.h:
15979         * gst/gstbus.c: (gst_bus_post):
15980         * gst/gstelement.c: (gst_element_get_random_pad):
15981         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
15982         Make subbufer unref the parent in finalize.
15983         some more debugging info.
15984
15985
15986 2005-05-19  Wim Taymans  <wim@fluendo.com>
15987
15988         * gst/base/gstbasesink.c: (gst_basesink_class_init),
15989         (gst_basesink_init), (gst_basesink_finalize),
15990         (gst_basesink_activate), (gst_basesink_change_state):
15991         Don't free preroll queue too early.
15992
15993 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
15994
15995         * gst/Makefile.am:
15996         * gst/ROADMAP:
15997           Hi, I'm outdated. Please shoot me.
15998
15999 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16000
16001         * gst/gstpipeline.c: (gst_pipeline_send_event):
16002           Do not access variables after they have been deleted.
16003
16004 2005-05-19  Wim Taymans  <wim@fluendo.com>
16005
16006         * tools/gst-inspect.c: (print_plugin_features):
16007         A plugin feature does unfortunatly not use the
16008         object name yet...
16009
16010 2005-05-18  Wim Taymans  <wim@fluendo.com>
16011
16012         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
16013         Port _span() functions to new subbuffers.
16014
16015 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16016
16017         * gst/gstbin.c: (gst_bin_add_func):
16018           Fix clock settery in bins when adding kids after the clock has
16019           been selected.
16020
16021 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16022
16023         * gst/elements/gstidentity.c: (gst_identity_class_init):
16024           Workaround until signals support GstMiniObject.
16025
16026 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
16027
16028         * gst/gstbuffer.c:
16029         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
16030
16031 2005-05-18  Wim Taymans  <wim@fluendo.com>
16032
16033         * gst/base/Makefile.am:
16034         * gst/base/gstadapter.c: (gst_adapter_base_init),
16035         (gst_adapter_class_init), (gst_adapter_init),
16036         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
16037         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
16038         (gst_adapter_flush), (gst_adapter_available),
16039         (gst_adapter_available_fast):
16040         * gst/base/gstadapter.h:
16041         Ported and added adapter to the base classes.
16042
16043 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16044
16045         * gst/gst.c:
16046         * gst/gstmessage.c:
16047           Make sure the class is reffed/unreffed once before threads can be
16048           used.  Fixes #304551.
16049
16050 2005-05-17  Wim Taymans  <wim@fluendo.com>
16051
16052         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
16053         (gst_basesink_chain_unlocked), (gst_basesink_activate):
16054         * gst/gstminiobject.c: (gst_mini_object_get_type),
16055         (gst_mini_object_free):
16056         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
16057         (gst_pad_push), (gst_pad_push_event):
16058         * gst/gstqueue.c: (gst_queue_change_state):
16059         Don't queue buffers in basesink when we are flushing.
16060         Unref buffer when flushing in basesink.
16061         Flush queue when going to READY
16062         Unref buffer when _push() returns an error.
16063         Don't free MiniObject instance when refcount is incremented
16064         in _finalize() so that we can recover objects.
16065
16066 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
16067
16068         * docs/manual/advanced-schedulers.xml:
16069         * docs/manual/appendix-checklist.xml:
16070         * docs/pwg/advanced-clock.xml:
16071         * docs/pwg/advanced-interfaces.xml:
16072         * docs/pwg/advanced-request.xml:
16073         * docs/pwg/advanced-types.xml:
16074         * docs/pwg/intro-preface.xml:
16075         * examples/plugins/example.c: (gst_example_get_type),
16076         (gst_example_class_init), (gst_example_chain),
16077         (gst_example_set_property), (gst_example_get_property),
16078         (gst_example_change_state), (plugin_init):
16079         * examples/plugins/example.h:
16080           small doc fixes
16081
16082 2005-05-17  Wim Taymans  <wim@fluendo.com>
16083
16084         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
16085         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
16086         * gst/gstqueue.c: (gst_queue_change_state):
16087         Clear queue when going to READY.
16088         Remove IN_SETCAPS flag too.
16089
16090 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
16091
16092         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
16093           Remove implicit cast from gboolean to GstElementStateReturn;
16094           make sure we still return failure in paused => ready case if
16095           the parent class fails to change state and our own stop 
16096           vfunc succeeds.
16097
16098 2005-05-17  Wim Taymans  <wim@fluendo.com>
16099
16100         * tools/gst-launch.c: (event_loop):
16101         Message was unreffed too soon.
16102
16103 2005-05-16  Andy Wingo  <wingo@pobox.com>
16104
16105         * gst/gstbin.c (sink_iterator_filter): Err... um...
16106
16107         * check/gst/gstbin.c (test_ghost_pads): New test for the
16108         ghosting-if-elements-not-in-same-bin behavior.
16109
16110 2005-05-16  David Schleef  <ds@schleef.org>
16111
16112         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
16113         accessing refcount directly.
16114
16115 2005-05-15  David Schleef  <ds@schleef.org>
16116
16117         * check/Makefile.am: remove GstData checks
16118         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
16119         * gst/Makefile.am: add miniobject, remove data
16120         * gst/gst.h: add miniobject, remove data
16121         * gst/gstdata.c: remove
16122         * gst/gstdata.h: remove
16123         * gst/gstdata_private.h: remove
16124         * gst/gsttypes.h: remove GstEvent and GstMessage
16125         * gst/gstelement.c: (gst_element_post_message): fix for API changes
16126         * gst/gstmarshal.list: change BOXED -> OBJECT
16127
16128         Implement GstMiniObject.
16129         * gst/gstminiobject.c:
16130         * gst/gstminiobject.h:
16131
16132         Modify to be subclasses of GstMiniObject.
16133         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
16134         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
16135         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
16136         (gst_subbuffer_get_type), (gst_subbuffer_init),
16137         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
16138         (gst_buffer_span):
16139         * gst/gstbuffer.h:
16140         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
16141         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
16142         (_gst_event_copy), (gst_event_new):
16143         * gst/gstevent.h:
16144         * gst/gstmessage.c: (_gst_message_initialize),
16145         (gst_message_get_type), (gst_message_class_init),
16146         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
16147         (gst_message_new), (gst_message_new_error),
16148         (gst_message_new_warning), (gst_message_new_tag),
16149         (gst_message_new_state_changed), (gst_message_new_application):
16150         * gst/gstmessage.h:
16151         * gst/gstprobe.c: (gst_probe_perform),
16152         (gst_probe_dispatcher_dispatch):
16153         * gst/gstprobe.h:
16154         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
16155         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
16156         (_gst_query_copy), (gst_query_new):
16157
16158         Update elements for GstData -> GstMiniObject changes
16159         * gst/gstquery.h:
16160         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
16161         (gst_queue_chain), (gst_queue_loop):
16162         * gst/elements/gstbufferstore.c:
16163         (gst_buffer_store_add_buffer_func),
16164         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
16165         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16166         (gst_fakesink_render):
16167         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
16168         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
16169         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
16170         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
16171         (gst_filesrc_create_read):
16172         * gst/elements/gstidentity.c: (gst_identity_class_init):
16173         * gst/elements/gsttypefindelement.c:
16174         (gst_type_find_element_src_event), (free_entry_buffers),
16175         (gst_type_find_element_handle_event):
16176         * libs/gst/dataprotocol/dataprotocol.c:
16177         (gst_dp_header_from_buffer):
16178         * libs/gst/dataprotocol/dataprotocol.h:
16179         * libs/gst/dataprotocol/dp-private.h:
16180
16181 2005-05-15  David Schleef  <ds@schleef.org>
16182
16183         * gst/elements/gstelements.c: Don't include headers that were
16184         just removed.
16185
16186 2005-05-15  David Schleef  <ds@schleef.org>
16187
16188         * gst/elements/Makefile.am: Remove some elements that don't
16189         need to be in the core (or even exist at all).
16190         * gst/elements/gstaggregator.c:
16191         * gst/elements/gstaggregator.h:
16192         * gst/elements/gstmd5sink.c:
16193         * gst/elements/gstmd5sink.h:
16194         * gst/elements/gstmultifilesrc.c:
16195         * gst/elements/gstmultifilesrc.h:
16196         * gst/elements/gstpipefilter.c:
16197         * gst/elements/gstpipefilter.h:
16198         * gst/elements/gstshaper.c:
16199         * gst/elements/gstshaper.h:
16200         * gst/elements/gststatistics.c:
16201         * gst/elements/gststatistics.h:
16202         * po/POTFILES.in: Remove above files.
16203
16204 2005-05-14  Andy Wingo  <wingo@pobox.com>
16205
16206         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
16207         so as to get the refs right.
16208         (sink_iterator_filter): New function, wraps bin_element_is_sink,
16209         unreffing objects that don't pass the filter.
16210
16211         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
16212         gst_element_set_bus.
16213         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
16214         normal cases, this will destroy the bus.
16215
16216         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
16217         object.
16218
16219         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
16220         has no sinks.
16221
16222 2005-05-13  Andy Wingo  <wingo@pobox.com>
16223
16224         * gst/gstutils.c (gst_element_link_pads): Instead of calling
16225         gst_pad_link, call pad_link_maybe_ghosting,
16226         (pad_link_maybe_ghosting): Links pads, making sure that the
16227         elements being linked are in the same bin.
16228         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
16229         Helpers for pad_link_maybe_ghosting.
16230
16231 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16232
16233         * configure.ac:
16234           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
16235
16236 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
16237
16238         * docs/design/part-element-source.txt:
16239           Mention GstPushSrc
16240
16241 2005-05-12  Wim Taymans  <wim@fluendo.com>
16242
16243         * gst/base/gstbasesink.c: (gst_basesink_init),
16244         (gst_basesink_activate):
16245         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
16246         (gst_basesrc_is_seekable):
16247         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
16248         (bin_element_is_sink), (gst_bin_change_state):
16249         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16250         * gst/gstelement.h:
16251         Identify sinks by their flag to avoid overly complicated
16252         checks (fow now).
16253         Do state changes even for elements not reachable from the
16254         sinks.
16255         BaseSink is a sink now :)
16256         Some more debugging info in the basesrc.
16257
16258
16259 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16260
16261         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
16262           Implement _query on a bin, similar to _send_event.
16263
16264 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
16265
16266         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
16267           Discont event offset format should be GST_FORMAT_BYTES,
16268           not GST_FORMAT_TIME.
16269
16270 2005-05-12  Wim Taymans  <wim@fluendo.com>
16271
16272         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
16273         Same fix as Ronald's but without the signal. 
16274
16275 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16276
16277         * gst/gstutils.c: (gst_element_query_position):
16278           No, an element is not a pad.
16279
16280 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16281
16282         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
16283         (gst_bin_get_state):
16284           If a child is removed from a bin while we remove the child from
16285           the bin and while we're retrieving its state, signal this to the
16286           get_state function so we abort the wait (instead of waiting for
16287           a timeout) and can immediately re-iterate over all other elements.
16288
16289 2005-05-12  Wim Taymans  <wim@fluendo.com>
16290
16291         * gst/base/Makefile.am:
16292         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
16293         (gst_basesrc_start):
16294         * gst/base/gstbasesrc.h:
16295         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
16296         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
16297         (gst_pushsrc_init), (gst_pushsrc_create):
16298         * gst/base/gstpushsrc.h:
16299         Added is_seekable to BaseSrc
16300         Added simple PushSrc.
16301
16302 2005-05-11  Wim Taymans  <wim@fluendo.com>
16303
16304         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
16305         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16306         (gst_element_link_pads), (gst_element_query_position),
16307         (gst_element_query_convert), (intersect_caps_func),
16308         (gst_pad_query_position), (gst_pad_query_convert):
16309         Fix refcounting in utils function.
16310         No point in trying to activate a pad when it's added, it could
16311         be added from the state change function and then we deadlock, the
16312         element has to decide what to do.
16313
16314 2005-05-10  Andy Wingo  <wingo@pobox.com>
16315
16316         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
16317         *all* the arguments.
16318
16319         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
16320         stream lock if it's a FLUSH_DONE; normal flushes don't get the
16321         lock (according to the docs -- if this is wrong change the docs).
16322
16323         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
16324         flush messages in the NULL state.
16325
16326         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
16327         message immediately and return.
16328         (gst_bus_set_flushing): New function. If a bus is flushing, it
16329         flushes out any queued messages and immediately unrefs new
16330         messages. This is so when an element goes to NULL, all of the
16331         unhandled messages coming from it can be freed, and their
16332         references to the element dropped. In other words: message source
16333         ref considered harmful :P
16334
16335         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
16336         we're finished with it.
16337
16338         * gst/gstmessage.c (gst_message_new_state_changed): 
16339
16340 2005-05-10  Wim Taymans  <wim@fluendo.com>
16341
16342         * gst/gstvalue.c: (gst_value_compare_flags),
16343         (gst_value_serialize_flags), (gst_value_deserialize_flags),
16344         (_gst_value_initialize):
16345         Added flags serialize/deserialize/compare code.
16346
16347 2005-05-09  Andy Wingo  <wingo@pobox.com>
16348
16349         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
16350         Intersect the peer's caps with our caps.
16351
16352 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16353
16354         * gst/base/gsttypefindhelper.c: (helper_find_peek):
16355         * gst/elements/gsttypefindelement.c: (find_peek):
16356           Handle negative offsets better. Fixes decodebin.
16357
16358 2005-05-09  Wim Taymans  <wim@fluendo.com>
16359
16360         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
16361         (gst_base_transform_event):
16362         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
16363         Implement accept_caps.
16364         Fix silly lock/unlock mismatch in base class.
16365
16366 2005-05-09  Wim Taymans  <wim@fluendo.com>
16367
16368         * docs/design/draft-push-pull.txt:
16369         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
16370         * gst/elements/gstfilesink.c: (gst_filesink_init),
16371         (gst_filesink_query):
16372         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
16373         (gst_type_find_handle_src_query), (find_element_get_length):
16374         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
16375         * gst/gstelement.h:
16376         * gst/gstmessage.c:
16377         * gst/gstmessage.h:
16378         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
16379         (gst_real_pad_get_caps_unlocked),
16380         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
16381         (gst_pad_event_default_dispatch), (gst_pad_event_default),
16382         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
16383         (gst_real_pad_dispose), (gst_real_pad_finalize),
16384         (gst_pad_load_and_link), (gst_pad_save_thyself),
16385         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
16386         (gst_pad_check_pull_range), (gst_pad_pull_range),
16387         (gst_pad_template_get_type), (gst_pad_template_class_init),
16388         (gst_pad_template_init), (gst_pad_template_dispose),
16389         (name_is_valid), (gst_static_pad_template_get),
16390         (gst_pad_template_new), (gst_static_pad_template_get_caps),
16391         (gst_pad_template_get_caps), (gst_pad_set_element_private),
16392         (gst_pad_get_element_private), (gst_pad_start_task),
16393         (gst_pad_pause_task), (gst_pad_stop_task),
16394         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
16395         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
16396         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
16397         (gst_ghost_pad_new):
16398         * gst/gstpad.h:
16399         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
16400         (gst_query_new_position), (gst_query_set_position),
16401         (gst_query_parse_position), (gst_query_new_convert),
16402         (gst_query_set_convert), (gst_query_parse_convert):
16403         * gst/gstquery.h:
16404         * gst/gstqueryutils.c:
16405         * gst/gstqueryutils.h:
16406         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16407         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16408         (gst_queue_handle_src_query):
16409         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16410         (gst_element_query_position), (gst_element_query_convert),
16411         (intersect_caps_func), (gst_pad_query_position),
16412         (gst_pad_query_convert):
16413         * gst/gstutils.h:
16414         * tools/gst-inspect.c: (print_pad_info):
16415         * tools/gst-xmlinspect.c: (print_element_info):
16416         Remove old query functions. Ported old code.
16417         Added position/convert helper functions to gstutils.
16418         Reordered gstpad.c code, grouping relevant things.
16419         Remove gst_message_new(), always need to speficy a specific
16420         message.
16421
16422
16423 2005-05-09  Andy Wingo  <wingo@pobox.com>
16424
16425         * gst/gstiterator.h: Add some includes.
16426
16427         * gst/gstqueryutils.h: Include more headers.
16428
16429         * gst/gstpad.h:
16430         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
16431         some uses of gst_pad_query.
16432
16433         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
16434         NULL out parameters.
16435         (gst_query_new_position): New proc, allocates a new position
16436         query.
16437
16438         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
16439         gstqueryutils.c to the build.
16440
16441         * gst/gststructure.c (gst_structure_set_valist): Implement with
16442         the generic G_VALUE_COLLECT.
16443         
16444 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
16445
16446         * gst/Makefile.am: (gst_headers):
16447         Added gstqueryutils.h to the list of headers to install, that was
16448         a 'nachty' move wingo :)
16449
16450 2005-05-06  Andy Wingo  <wingo@pobox.com>
16451
16452         * gst/gstquery.h
16453         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
16454         GstData, init a memchunk.
16455         (standard_definitions): Add a few query types, deprecate a few.
16456         (gst_query_get_type): New proc.
16457         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
16458         implementation.
16459         (gst_query_new_application, gst_query_get_structure): New public
16460         procs.
16461
16462         * docs/design/draft-query.txt: Removed LINKS from the query types,
16463         because all the rest can be dispatched to other pads -- seemed
16464         ugly to have a query that couldn't be dispatched. internal_links
16465         is fine as a pad method.
16466
16467         * gst/gstpad.h: Add query2 as a pad method, add the new functions
16468         in gstpad.c, but maintain binary compatibility for the moment.
16469         Will fix before 0.9 is out.
16470
16471         * gst/gstqueryutils.c: 
16472         * gst/gstqueryutils.h: New files, implement 3 methods for each
16473         query type: parse_query, parse_response, and set. Probably need an
16474         allocator as well.
16475
16476         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
16477
16478         * gst/elements/gstfilesink.c (gst_filesink_query2):
16479         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
16480         query_types, and formats methods.
16481
16482         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
16483         (gst_pad_set_query2_function): New functions.
16484         (gst_real_pad_init): Set query2_default as the default query2
16485         function. Basically just dispatches to internally linked pads.
16486
16487         Needs review!
16488         
16489         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
16490         without using the atomic operations. Only one thread can possibly
16491         be accessing the data at this point. Changed so as to avoid
16492         gst_atomic operations.
16493
16494 2005-05-06  Wim Taymans  <wim@fluendo.com>
16495
16496         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
16497         Also set caps if we use the fallback buffer alloc.
16498
16499 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
16500
16501         * docs/gst/Makefile.am:
16502         * docs/gst/gstreamer-docs.sgml:
16503         * docs/gst/gstreamer-sections.txt:
16504         * docs/gst/tmpl/gstatomic.sgml:
16505         * docs/gst/tmpl/gstmemchunk.sgml:
16506         * testsuite/elements/struct_i386.h:
16507         * win32/GStreamer.vcproj:
16508         * win32/Makefile:
16509           Purge GstAtomic stuff from docs and win32 makefiles as well
16510
16511 2005-05-06  Wim Taymans  <wim@fluendo.com>
16512
16513         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
16514         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
16515         * gst/gstpad.c: (gst_pad_peer_get_caps):
16516         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
16517         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
16518         (gst_queue_src_activate), (gst_queue_change_state):
16519         * gst/gstqueue.h:
16520         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16521         (intersect_caps_func):
16522         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
16523         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
16524         Some fixes for the peer_get_caps() change.
16525
16526 2005-05-06  Wim Taymans  <wim@fluendo.com>
16527
16528         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
16529         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
16530         (gst_basesink_activate):
16531         Actually do something with error codes returned from the push
16532         functions.
16533
16534 2005-05-06  Wim Taymans  <wim@fluendo.com>
16535
16536         * docs/design/part-element-sink.txt:
16537         * docs/design/part-element-source.txt:
16538         * gst/base/gstbasesink.c: (gst_basesink_class_init),
16539         (gst_basesink_event), (gst_basesink_activate):
16540         * gst/base/gstbasesink.h:
16541         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
16542         (gst_basesrc_activate):
16543         * gst/base/gstbasesrc.h:
16544         * gst/gstelement.c: (gst_element_pads_activate):
16545         Some more documentation.
16546         Fixed scheduling decision in _pads_activate().
16547
16548 2005-05-05  Andy Wingo  <wingo@pobox.com>
16549
16550         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
16551         the test suite.
16552
16553 2005-05-05  Wim Taymans  <wim@fluendo.com>
16554
16555         * gst/base/Makefile.am:
16556         * gst/base/gstbasesink.h:
16557         * gst/base/gstbasesrc.c: (gst_basesrc_init),
16558         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
16559         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
16560         (gst_collectpads_class_init), (gst_collectpads_init),
16561         (gst_collectpads_finalize), (gst_collectpads_new),
16562         (gst_collectpads_set_function), (gst_collectpads_add_pad),
16563         (find_pad), (gst_collectpads_remove_pad),
16564         (gst_collectpads_is_active), (gst_collectpads_collect),
16565         (gst_collectpads_collect_range), (gst_collectpads_start),
16566         (gst_collectpads_stop), (gst_collectpads_peek),
16567         (gst_collectpads_pop), (gst_collectpads_available),
16568         (gst_collectpads_read), (gst_collectpads_flush),
16569         (gst_collectpads_chain):
16570         * gst/base/gstcollectpads.h:
16571         * gst/elements/Makefile.am:
16572         * gst/elements/gstelements.c:
16573         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
16574         (gst_fakesink_get_times), (gst_fakesink_event),
16575         (gst_fakesink_preroll), (gst_fakesink_render):
16576         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
16577         (gst_filesink_init), (gst_filesink_set_location),
16578         (gst_filesink_open_file), (gst_filesink_close_file),
16579         (gst_filesink_pad_query), (gst_filesink_event),
16580         (gst_filesink_render), (gst_filesink_change_state):
16581         * gst/elements/gstfilesink.h:
16582         Added object to help in making collect pad based elements.
16583         Ported filesink.
16584         Make event function in sink baseclass return gboolean.
16585
16586 2005-05-05  Wim Taymans  <wim@fluendo.com>
16587
16588         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
16589         (gst_bin_get_by_name):
16590         * gst/gstbuffer.h:
16591         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
16592         (gst_clock_finalize):
16593         * gst/gstdata.c: (gst_data_replace):
16594         * gst/gstdata.h:
16595         * gst/gstelement.c: (gst_element_request_pad),
16596         (gst_element_pads_activate):
16597         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
16598         (gst_object_unref):
16599         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16600         (gst_pad_set_checkgetrange_function),
16601         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
16602         (gst_pad_check_pull_range), (gst_pad_pull_range),
16603         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16604         (gst_pad_pause_task), (gst_pad_stop_task):
16605         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
16606         (gst_element_request_pad), (gst_pad_proxy_getcaps):
16607         Fix name lookup in GstBin.
16608         Added _data_replace() function and _buffer_replace()
16609         Use finalize method to clean up clock.
16610         Fix refcounting on request pads.
16611         Fix pad schedule mode error.
16612         Some more object refcounting debug info,
16613
16614
16615 2005-05-04  Andy Wingo <wingo@pobox.com>
16616
16617         * check/Makefile.am:
16618         * docs/gst/tmpl/gstatomic.sgml:
16619         * docs/gst/tmpl/gstplugin.sgml:
16620         * gst/base/gstbasesink.c: (gst_basesink_activate):
16621         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
16622         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
16623         (gst_basesrc_query), (gst_basesrc_set_property),
16624         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
16625         (gst_basesrc_activate):
16626         * gst/base/gstbasesrc.h:
16627         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
16628         (gst_base_transform_src_activate):
16629         * gst/elements/gstelements.c:
16630         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
16631         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
16632         * gst/elements/gsttee.c: (gst_tee_sink_activate):
16633         * gst/elements/gsttypefindelement.c: (find_element_get_length),
16634         (gst_type_find_element_checkgetrange),
16635         (gst_type_find_element_activate):
16636         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
16637         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
16638         (gst_caps_load_thyself):
16639         * gst/gstelement.c: (gst_element_pads_activate),
16640         (gst_element_save_thyself), (gst_element_restore_thyself):
16641         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
16642         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
16643         * gst/gstpad.h:
16644         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
16645         (gst_xml_parse_file), (gst_xml_parse_memory),
16646         (gst_xml_get_element), (gst_xml_make_element):
16647         * gst/indexers/gstfileindex.c: (gst_file_index_load),
16648         (_file_index_id_save_xml), (gst_file_index_commit):
16649         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
16650         (read_enum), (load_pad_template), (load_feature), (load_plugin),
16651         (load_paths):
16652         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
16653         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
16654         * tools/gst-complete.c: (main):
16655         * tools/gst-compprep.c: (main):
16656         * tools/gst-inspect.c: (print_element_properties_info):
16657         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
16658         * tools/gst-xmlinspect.c: (print_element_properties):
16659         GCC 4 fixen.
16660         
16661 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16662
16663         * gst/gstplugin.c: (gst_plugin_check_module),
16664         (gst_plugin_check_file), (gst_plugin_load_file):
16665             apply patch from #172526 to make register work on MacOSX
16666
16667 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16668
16669         * docs/gst/tmpl/gstconfig.sgml:
16670         * gst/gstconfig.h.in:
16671           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
16672         * testsuite/debug/printf_extension.c: (main):
16673           Do not use GST_PTR_FORMAT on pointers to types with
16674           sizeof < sizeof(gpointer).  Fixes test on 64-bit
16675         * testsuite/elements/property.h:
16676           use correct printf format
16677
16678 2005-05-02  Wim Taymans  <wim@fluendo.com>
16679
16680         * docs/design/draft-push-pull.txt:
16681         * docs/design/draft-query.txt:
16682         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
16683         (gst_basesrc_start):
16684         Added draft for new query API.
16685         Added draft for better selecting scheduling methods.
16686         Make basesrc ignore length if the subclass does not support
16687         it.
16688
16689 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16690
16691         * gst/Makefile.am:
16692           possible fixes for automake-1.5 - _LIBADD is reserved
16693
16694 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16695
16696         * docs/faq/Makefile.am:
16697         * docs/manual/Makefile.am:
16698         * docs/manuals.mak:
16699         * docs/pwg/Makefile.am:
16700         * gst/Makefile.am:
16701           possible fixes for automake-1.5
16702
16703 2005-04-28  Wim Taymans  <wim@fluendo.com>
16704
16705         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16706         (gst_basesink_pad_getcaps), (gst_basesink_init),
16707         (gst_basesink_do_sync):
16708         * gst/gstclock.c: (gst_clock_entry_new):
16709         * gst/gstevent.c: (gst_event_discont_get_value):
16710         * gst/gstpipeline.c: (pipeline_bus_handler),
16711         (gst_pipeline_change_state):
16712         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
16713         Better debugging of clocking info.
16714         Allow NULL values when getting discont values.
16715
16716 2005-04-27  Wim Taymans  <wim@fluendo.com>
16717
16718         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
16719         * check/gst/gstpad.c: (gst_pad_suite):
16720         Increase timeout for checks.
16721
16722 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
16723
16724         * check/Makefile.am:
16725           fix the broken rule for cleanup.  Apparently this rule is
16726           only needed on FC2, so maybe this warrants further autotool
16727           inspection.
16728
16729 2005-04-26  Wim Taymans  <wim@fluendo.com>
16730
16731         * gst/gsttrashstack.h:
16732         Ooohh. a nasty one! After having a failed pop() from the stack,
16733         it's possible that the stack is empty. In that case, don't
16734         follow the NULL pointer.
16735
16736 2005-04-25  Wim Taymans  <wim@fluendo.com>
16737
16738         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16739         (gst_pad_set_checkgetrange_function),
16740         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
16741         (gst_pad_check_pull_range), (gst_pad_pull_range),
16742         (gst_static_pad_template_get_caps), (gst_pad_start_task),
16743         (gst_pad_pause_task), (gst_pad_stop_task):
16744         * gst/gstplugin.c: (gst_plugin_load):
16745         * gst/gstplugin.h:
16746         Remove gst_library_load as it does more harm than good with
16747         the new g_module flags.
16748         Revert bogus caps template check in pad linking, pad caps
16749         are important when linking not the template, which is more
16750         general than the current caps.
16751
16752 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16753
16754         * gst/autoplug/.cvsignore:
16755         * gst/autoplug/Makefile.am:
16756         * gst/autoplug/gstsearchfuncs.c:
16757         * gst/autoplug/gstsearchfuncs.h:
16758         * gst/autoplug/gstspider.c:
16759         * gst/autoplug/gstspider.h:
16760         * gst/autoplug/gstspideridentity.c:
16761         * gst/autoplug/gstspideridentity.h:
16762         * gst/autoplug/spidertest.c:
16763           Die, spider, die.
16764
16765 2005-04-25  Wim Taymans  <wim@fluendo.com>
16766
16767         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16768         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
16769         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
16770         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
16771         * gst/gstpad.h:
16772         Added stubs for unimplemented functions. 
16773
16774 2005-04-24  David Schleef  <ds@schleef.org>
16775
16776         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
16777         please fix.
16778
16779 2005-04-24  David Schleef  <ds@schleef.org>
16780
16781         Convert everything from GstAtomicInt to g_atomic_int_*, and
16782         remove gstatomic.
16783         * gst/Makefile.am:
16784         * gst/gstatomic.c:
16785         * gst/gstatomic.h:
16786         * gst/gstatomic_impl.h:
16787         * gst/gstbuffer.c:
16788         * gst/gstcaps.c:
16789         * gst/gstcaps.h:
16790         * gst/gstclock.c:
16791         * gst/gstclock.h:
16792         * gst/gstdata.c:
16793         * gst/gstdata.h:
16794         * gst/gstdata_private.h:
16795         * gst/gstevent.c:
16796         * gst/gstinfo.c:
16797         * gst/gstinfo.h:
16798         * gst/gstmessage.c:
16799         * gst/gstobject.c:
16800         * gst/gstobject.h:
16801         * gst/gststructure.c:
16802         * gst/gststructure.h:
16803         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
16804         * gst/gstutils.h:
16805
16806 2005-04-24  David Schleef  <ds@schleef.org>
16807
16808         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
16809         make the regressions tests work.  Remove some code that is no
16810         longer true.
16811         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
16812         Disable warning for pads without templates.
16813
16814 2005-04-24  David Schleef  <ds@schleef.org>
16815
16816         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
16817         functions that handle filtered links.
16818         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
16819         removed functions.
16820         * gst/gstutils.c: Fix/remove utility functions that handle
16821         filtered caps.
16822         * gst/gstutils.h:
16823         * gst/gstvalue.c: Add serialization/deserialization of caps
16824         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
16825         requires fixing so that the filter caps notation creates
16826         a capsfilter element and sets the filter_caps property.  I
16827         think everyone probably wants to keep the shorthand notation.
16828         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
16829         * docs/gst/tmpl/gstpad.sgml:
16830
16831         * gst/elements/gstelements.c: Register capsfilter element.
16832         * gst/Makefile.am: fix spacing
16833         * docs/random/ds/0.9-suggested-changes: random
16834
16835 2005-04-23  David Schleef  <ds@schleef.org>
16836
16837         * gst/elements/Makefile.am:
16838         * gst/elements/gstcapsfilter.c: New element that acts like an
16839         identity, but filters caps.  Will eventually replace filtered
16840         caps in pad linking.
16841         * gst/gstutils.c: (gst_element_create_all_pads): New function
16842         to create all the ALWAYS pads that are registered with an
16843         element class.  This functionality should eventually be
16844         merged in with GstElement initialization.
16845         * gst/gstutils.h:
16846         * testsuite/trigger/README: part of trigger test code that should
16847         have been checked in a long time ago.
16848
16849 2005-04-23  David Schleef  <ds@schleef.org>
16850
16851         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
16852         needed with new versions of libtool (nobody will confirm this),
16853         and hard to carry around.
16854         * gst/autoplug/Makefile.am:
16855         * gst/base/Makefile.am:
16856         * gst/elements/Makefile.am:
16857         * gst/indexers/Makefile.am:
16858         * gst/schedulers/Makefile.am:
16859         * libs/gst/bytestream/Makefile.am:
16860         * libs/gst/control/Makefile.am:
16861         * libs/gst/dataprotocol/Makefile.am:
16862         * libs/gst/getbits/Makefile.am:
16863
16864 2005-04-21  Wim Taymans  <wim@fluendo.com>
16865
16866         * docs/design/draft-push-pull.txt:
16867         * docs/design/part-MT-refcounting.txt:
16868         * docs/design/part-TODO.txt:
16869         * docs/design/part-caps.txt:
16870         * docs/design/part-events.txt:
16871         * docs/design/part-gstbus.txt:
16872         * docs/design/part-gstpipeline.txt:
16873         * docs/design/part-messages.txt:
16874         * docs/design/part-push-pull.txt:
16875         * docs/design/part-query.txt:
16876         Some more docs.
16877
16878 2005-04-21  Wim Taymans  <wim@fluendo.com>
16879
16880         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
16881         (gst_message_new), (gst_message_new_error),
16882         (gst_message_new_warning), (gst_message_new_tag),
16883         (gst_message_new_state_changed), (gst_message_new_application),
16884         (gst_message_get_structure):
16885         * gst/gstmessage.h:
16886         * gst/gststructure.c: (gst_structure_set_parent_refcount),
16887         (gst_structure_copy_conditional):
16888         Use parent refcount in GstMessage to ensure GstStructure
16889         consistency.
16890         Cleaned up headers a bit.
16891         
16892
16893 2005-04-20  Wim Taymans  <wim@fluendo.com>
16894
16895         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16896         (gst_basesink_pad_getcaps), (gst_basesink_init),
16897         (gst_basesink_chain_unlocked):
16898         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
16899         (gst_type_find_helper):
16900         * gst/elements/gsttypefindelement.c:
16901         (gst_type_find_element_have_type), (gst_type_find_element_init),
16902         (stop_typefinding), (gst_type_find_element_handle_event),
16903         (find_suggest), (gst_type_find_element_chain),
16904         (gst_type_find_element_checkgetrange),
16905         (gst_type_find_element_getrange), (do_typefind),
16906         (gst_type_find_element_activate):
16907         * gst/gstbuffer.c: (_gst_buffer_sub_free),
16908         (gst_buffer_default_free), (gst_buffer_default_copy),
16909         (gst_buffer_set_caps):
16910         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
16911         (gst_caps_replace):
16912         * gst/gstmessage.c: (gst_message_new),
16913         (gst_message_new_state_changed):
16914         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
16915         (gst_pad_set_checkgetrange_function),
16916         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
16917         (gst_pad_set_caps), (gst_pad_check_pull_range),
16918         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
16919         * gst/gstpad.h:
16920         * gst/gsttypefind.c: (gst_type_find_register):
16921         Make gst_caps_replace() work like other _replace() functions.
16922         Use _caps_replace() where possible.
16923         Make sure _message_new() initialises its field.
16924         Add gst_static_pad_template_get_caps()
16925
16926
16927 2005-04-18  Andy Wingo  <wingo@pobox.com>
16928
16929         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
16930         on the peer, not the pad. I think that was a typo. Pass an extra
16931         arg to see if random access is possible. Activate the pads as
16932         PULL_RANGE if possible.
16933
16934         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
16935
16936         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
16937         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
16938         to PROP_....
16939
16940 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16941
16942         * docs/faq/using.xml:
16943           Add note on gstreamer-properties (#154996).
16944
16945 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16946
16947         * docs/random/bbb/optional-properties:
16948           Some analysis on optional properties.
16949
16950 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
16951
16952         * docs/gst/tmpl/gstelementfactory.sgml:
16953         * gst/gstelement.h:
16954         * gst/gstelementfactory.c: (gst_element_factory_init),
16955         (gst_element_factory_cleanup), (gst_element_register),
16956         (__gst_element_factory_add_static_pad_template),
16957         (gst_element_factory_get_static_pad_templates),
16958         (gst_element_factory_can_src_caps),
16959         (gst_element_factory_can_sink_caps):
16960         * gst/registries/Makefile.am:
16961         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
16962         (gst_xml_registry_class_init), (gst_xml_registry_init),
16963         (gst_xml_registry_new), (gst_xml_registry_set_property),
16964         (gst_xml_registry_get_property), (get_time), (make_dir),
16965         (gst_xml_registry_get_perms_func),
16966         (plugin_times_older_than_recurse), (plugin_times_older_than),
16967         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
16968         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
16969         (add_to_char_array), (read_string), (read_uint), (read_enum),
16970         (load_pad_template), (load_feature), (load_plugin), (load_paths),
16971         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
16972         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
16973         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
16974         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
16975         (gst_xml_registry_rebuild):
16976         * gst/registries/gstlibxmlregistry.h:
16977         * tools/gst-compprep.c: (main):
16978         * tools/gst-inspect.c: (print_pad_templates_info):
16979         * tools/gst-xmlinspect.c: (print_element_info):
16980           Use libxml2 for registry parsing, use staticpadtemplates in
16981           elementfactories. Makes gst_init() +/- 10x faster.
16982
16983 2005-04-12  Wim Taymans  <wim@fluendo.com>
16984
16985         * gst/base/Makefile.am:
16986         * gst/base/gstbasesink.c: (gst_basesink_base_init),
16987         (gst_basesink_pad_getcaps), (gst_basesink_init),
16988         (gst_basesink_event), (gst_basesink_change_state):
16989         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
16990         (gst_basesrc_init), (gst_basesrc_query),
16991         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
16992         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
16993         (gst_basesrc_check_get_range), (gst_basesrc_loop),
16994         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
16995         (gst_basesrc_stop), (gst_basesrc_activate),
16996         (gst_basesrc_change_state):
16997         * gst/base/gsttypefindhelper.c: (helper_find_peek),
16998         (helper_find_suggest), (gst_type_find_helper):
16999         * gst/base/gsttypefindhelper.h:
17000         * gst/elements/Makefile.am:
17001         * gst/elements/gstelements.c:
17002         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
17003         (gst_fakesink_get_times), (gst_fakesink_event),
17004         (gst_fakesink_preroll), (gst_fakesink_render):
17005         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17006         (gst_fakesrc_init), (gst_fakesrc_event_handler),
17007         (gst_fakesrc_get_property), (gst_fakesrc_create),
17008         (gst_fakesrc_start), (gst_fakesrc_stop):
17009         * gst/elements/gstfakesrc.h:
17010         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
17011         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17012         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17013         (gst_filesrc_create_read), (gst_filesrc_create),
17014         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
17015         (gst_filesrc_start):
17016         * gst/elements/gsttypefindelement.c:
17017         (gst_type_find_element_have_type), (gst_type_find_element_init),
17018         (start_typefinding), (stop_typefinding), (push_buffer_store),
17019         (gst_type_find_element_handle_event),
17020         (gst_type_find_element_chain),
17021         (gst_type_find_element_checkgetrange),
17022         (gst_type_find_element_getrange), (do_typefind),
17023         (gst_type_find_element_activate),
17024         (gst_type_find_element_change_state):
17025         * gst/elements/gsttypefindelement.h:
17026         * gst/gstpipeline.c: (pipeline_bus_handler):
17027         Added typefind helper.
17028         Small preroll fix in the base sink.
17029         Disable typefind code in basesrc.
17030         Crude port of typefindelement.
17031         Fakesrc cleanups.
17032
17033
17034 2005-04-11  Wim Taymans  <wim@fluendo.com>
17035
17036         * check/gst/gstbus.c: (gstbus_suite):
17037         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
17038         * check/gstcheck.h:
17039           Fix up the timeout so that the test does not fail.
17040
17041 2005-04-06  Wim Taymans  <wim@fluendo.com>
17042
17043         * gst/base/README:
17044         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17045         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
17046         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
17047         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
17048         (gst_basesrc_check_get_range), (gst_basesrc_loop),
17049         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
17050         (gst_basesrc_stop), (gst_basesrc_activate),
17051         (gst_basesrc_change_state), (basesrc_find_peek),
17052         (basesrc_find_suggest), (gst_basesrc_type_find):
17053         * gst/base/gstbasesrc.h:
17054         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
17055         (gst_filesrc_class_init), (gst_filesrc_init),
17056         (gst_filesrc_finalize), (gst_filesrc_set_location),
17057         (gst_filesrc_set_property), (gst_filesrc_get_property),
17058         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
17059         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
17060         (gst_filesrc_create_read), (gst_filesrc_create),
17061         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
17062         * gst/elements/gstfilesrc.h:
17063         * gst/gstelement.c: (gst_element_get_state_func),
17064         (gst_element_lost_state), (gst_element_pads_activate):
17065         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17066         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
17067         (gst_pad_pull_range):
17068         * gst/gstpad.h:
17069         More work on the generic source base class, implement seeking,
17070         query.
17071         Make filesrc extend the base source class.
17072         Added gst_pad_set_checkgetrange_function to GstPad.
17073
17074 2005-04-06  Andy Wingo  <wingo@pobox.com>
17075
17076         * pkgconfig/gstreamer-base.pc.in:
17077         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
17078
17079         * pkgconfig/Makefile.am:
17080         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
17081
17082 2005-04-04  Wim Taymans  <wim@fluendo.com>
17083
17084         * gst/base/Makefile.am:
17085         * gst/base/README:
17086         * gst/base/gstbasesink.c: (gst_basesink_base_init),
17087         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17088         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17089         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
17090         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
17091         (gst_basesrc_base_init), (gst_basesrc_class_init),
17092         (gst_basesrc_init), (gst_basesrc_get_formats),
17093         (gst_basesrc_get_query_types), (gst_basesrc_query),
17094         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
17095         (gst_basesrc_set_property), (gst_basesrc_get_property),
17096         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
17097         (gst_basesrc_loop), (gst_basesrc_activate),
17098         (gst_basesrc_change_state):
17099         * gst/base/gstbasesrc.h:
17100         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
17101         (gst_fakesrc_class_init), (gst_fakesrc_init),
17102         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
17103         (gst_fakesrc_get_property), (gst_fakesrc_create):
17104         * gst/elements/gstfakesrc.h:
17105         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
17106         (gst_filesrc_open_file), (gst_filesrc_loop),
17107         (gst_filesrc_activate), (filesrc_find_peek),
17108         (gst_filesrc_type_find):
17109         Made base source class, make fakesrc extend it.
17110         Add comments to basesink class.
17111         Some filesrc cleanup.
17112
17113 2005-03-31  David Schleef  <ds@schleef.org>
17114
17115         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
17116         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
17117         expected to link against libgstreamer.
17118         * gst/base/Makefile.am: link against libgstreamer
17119         * gst/elements/Makefile.am: same
17120
17121 2005-03-31  Andy Wingo  <wingo@pobox.com>
17122
17123         * tests/instantiate/Makefile.am:
17124         * tests/instantiate/caps.c: Add test to test speed of caps copy
17125         and free.
17126
17127         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
17128         GMemChunk to be fair.
17129
17130         * gst/gsttrashstack.h: Remove warning about using the fallback
17131         trash stack implementation, it's still faster than malloc.
17132
17133 2005-03-30  Andy Wingo  <wingo@pobox.com>
17134
17135         * tests/complexity.c: Add a copyright.
17136
17137 2005-03-31  Wim Taymans  <wim@fluendo.com>
17138
17139         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
17140         (gst_base_transform_class_init), (gst_base_transform_init),
17141         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17142         (gst_base_transform_get_property),
17143         (gst_base_transform_sink_activate),
17144         (gst_base_transform_src_activate),
17145         (gst_base_transform_change_state):
17146         * gst/base/gstbasetransform.h:
17147         * gst/elements/gstidentity.c: (gst_identity_class_init),
17148         (gst_identity_event), (gst_identity_check_perfect),
17149         (gst_identity_transform), (gst_identity_start),
17150         (gst_identity_stop):
17151         Added start/stop methods to transform base class so subclasses 
17152         don't need to deal with state changes even.
17153
17154 2005-03-31  Wim Taymans  <wim@fluendo.com>
17155
17156         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
17157         (gst_event_new_discontinuous), (gst_event_discont_get_value):
17158         * gst/gstevent.h:
17159         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17160         (gst_pad_pull_range):
17161         Added rate to the discont event to prepare for variable speed
17162         and reverse playback.
17163
17164 2005-03-29  David Schleef  <ds@schleef.org>
17165
17166         * configure.ac:
17167         * testsuite/trigger/Makefile.am:
17168         * testsuite/trigger/trigger.c: A little example program to show
17169         how trigger-based elements can work.
17170
17171 2005-03-29  Wim Taymans  <wim@fluendo.com>
17172
17173         * gst/base/Makefile.am:
17174         * gst/base/README:
17175         * gst/base/gstbasesink.c: (gst_basesink_get_type),
17176         (gst_basesink_base_init), (gst_basesink_class_init),
17177         (gst_basesink_pad_getcaps), (gst_basesink_init),
17178         (gst_basesink_activate), (gst_basesink_change_state):
17179         * gst/base/gstbasesink.h:
17180         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
17181         (gst_base_transform_base_init), (gst_base_transform_finalize),
17182         (gst_base_transform_class_init), (gst_base_transform_init),
17183         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
17184         (gst_base_transform_event), (gst_base_transform_getrange),
17185         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
17186         (gst_base_transform_set_property),
17187         (gst_base_transform_get_property),
17188         (gst_base_transform_sink_activate),
17189         (gst_base_transform_src_activate),
17190         (gst_base_transform_change_state):
17191         * gst/base/gstbasetransform.h:
17192         * gst/elements/gstidentity.c: (gst_identity_finalize),
17193         (gst_identity_class_init), (gst_identity_init),
17194         (gst_identity_event), (gst_identity_check_perfect),
17195         (gst_identity_transform), (gst_identity_set_property),
17196         (gst_identity_get_property), (gst_identity_change_state):
17197         * gst/elements/gstidentity.h:
17198         * gst/gstelement.c: (gst_element_get_state_func),
17199         (gst_element_lost_state), (gst_element_pads_activate):
17200         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
17201         (gst_pad_check_pull_range), (gst_pad_pull_range):
17202         * gst/gstpad.h:
17203         Simplify pad activation.
17204         Added function to check if pull_range can be performed.
17205         Error out when pulling inactive or flushing pads.
17206         Removed const from refcounted types as it does not make sense.
17207         Simplify pad templates in basesink
17208         Added base class for simple 1-to-1 transforms.
17209         Make identity subclass the base transform.
17210
17211 2005-03-29  Andy Wingo  <wingo@pobox.com>
17212
17213         * docs/libs/gstreamer-libs-overrides.txt: 
17214         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
17215         really don't understand what's going on, but like whatever. I want
17216         green buildbot!
17217
17218         * docs/gst/Makefile.am:
17219         * docs/libs/Makefile.am: Dist the overrides files.
17220
17221         * check/Makefile.am (clean-local): Remove .libs directories.
17222
17223         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
17224         elements to EXTRA_DIST, so po/ files are happy.
17225
17226         * po/POTFILES.in: Er, remove it here.
17227
17228         * po/POTFILES: Remove gstspider.c.
17229
17230         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
17231
17232         * docs/libs/gstreamer-libs-docs.sgml: 
17233         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
17234         bytestream.
17235
17236         * tests/complexity.c (main): Set the length of the preroll queue
17237         on the sinks to prevent a lockup.
17238
17239         * libs/gst/dataprotocol/Makefile.am: 
17240         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
17241         the same as the one in check/gst-libs/gdp.c.
17242
17243         * po/, docs/gst/: Commit automatic changes to docs and po files.
17244
17245         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
17246         the versioned libgstbase.
17247
17248         * check/Makefile.am: Depend on an unversioned gst-register, seems
17249         to make autoconf happier.
17250
17251         * gst/base/Makefile.am: Make libgstbase a versioned lib.
17252
17253 2005-03-28  Wim Taymans  <wim@fluendo.com>
17254
17255         * configure.ac:
17256         * docs/design/part-gstelement.txt:
17257         * docs/design/part-negotiation.txt:
17258         * docs/design/part-preroll.txt:
17259         * docs/design/part-scheduling.txt:
17260         * docs/design/part-states.txt:
17261         * gst/Makefile.am:
17262         * gst/base/Makefile.am:
17263         * gst/base/README:
17264         * gst/base/gstbasesink.c: (gst_basesink_get_template),
17265         (gst_basesink_base_init), (gst_basesink_class_init),
17266         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
17267         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
17268         (gst_basesink_set_pad_functions),
17269         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
17270         (gst_basesink_set_property), (gst_basesink_get_property),
17271         (gst_base_sink_get_template), (gst_base_sink_get_caps),
17272         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
17273         (gst_basesink_preroll_queue_push),
17274         (gst_basesink_preroll_queue_empty),
17275         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
17276         (gst_basesink_event), (gst_basesink_get_times),
17277         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
17278         (gst_basesink_chain_unlocked), (gst_basesink_chain),
17279         (gst_basesink_loop), (gst_basesink_activate),
17280         (gst_basesink_change_state):
17281         * gst/base/gstbasesink.h:
17282         * gst/elements/Makefile.am:
17283         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
17284         (gst_fakesink_class_init), (gst_fakesink_init),
17285         (gst_fakesink_set_property), (gst_fakesink_get_property),
17286         (gst_fakesink_get_times), (gst_fakesink_event),
17287         (gst_fakesink_preroll), (gst_fakesink_render),
17288         (gst_fakesink_change_state):
17289         * gst/elements/gstfakesink.h:
17290         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17291         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
17292         * gst/gstelement.c: (gst_element_add_pad),
17293         (gst_element_get_state_func), (gst_element_abort_state),
17294         (gst_element_commit_state), (gst_element_lost_state),
17295         (gst_element_set_state), (gst_element_pads_activate):
17296         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
17297         * gst/gstpipeline.c: (gst_pipeline_send_event),
17298         (gst_pipeline_change_state):
17299         Added state change code.
17300         Added/updated docs.
17301         Added sink base class, make fakesink extend the base class.
17302         Small cleanups in GstPipeline.
17303
17304 2005-03-26  David Schleef  <ds@schleef.org>
17305
17306         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
17307         is broken and should be implemented in a different library.
17308         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
17309         * gst/gst.h: remove gstcpu.h
17310         * gst/gstcpu.c: remove
17311         * gst/gstcpu.h: remove
17312         * gst/Makefile.am.future: Remove this file.  It's ancient.
17313
17314 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17315
17316         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
17317         (gst_bin_send_event):
17318           Add default event/set_manager handlers. The set_manager handler
17319           takes care that the manager is distributed over kids that were
17320           already in the bin before the manager was set. The event handler
17321           is a utility virtual function that sends the event over all sinks,
17322           so that gst_element_send_event (bin, event); has the expected
17323           behaviour.
17324         * gst/gstpad.c: (gst_pad_event_default):
17325           Re-install default event handling for discontinuities, so that
17326           seeking works without requiring hacks in applications or extra
17327           code in sinks.
17328         * gst/gstpipeline.c: (gst_pipeline_class_init),
17329         (gst_pipeline_send_event):
17330           Half hack, half utility: set a pipeline to PAUSED for seek events,
17331           since that is the only way we can guarantee a/v sync. Means that
17332           you can do gst_element_seek (pipeline, method, pos); on a pipeline
17333           and it "just works".
17334
17335 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17336
17337         * gst/gstpipeline.c: (gst_pipeline_use_clock):
17338           Lock/unlock mismatch.
17339
17340 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17341
17342         * docs/faq/gst-uninstalled:
17343           add gst-plugins-base
17344         * docs/gst/Makefile.am:
17345           don't error out until docs are fixed
17346         * docs/gst/gstreamer.types:
17347           remove thread
17348
17349 2005-03-22  Wim Taymans  <wim@fluendo.com>
17350
17351         * check/Makefile.am:
17352         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
17353         * gst/gststructure.c: (gst_structure_set_valist),
17354         (gst_structure_copy_conditional):
17355         Activated more tests.
17356         Added message test.
17357         Added G_TYPE_POINTER to GstStructure.
17358         
17359
17360 2005-03-22  Wim Taymans  <wim@fluendo.com>
17361
17362         * docs/design/part-TODO.txt:
17363         * docs/design/part-events.txt:
17364         * docs/design/part-gstbin.txt:
17365         * docs/design/part-gstbus.txt:
17366         * docs/design/part-gstpipeline.txt:
17367         * docs/design/part-messages.txt:
17368         * gst/gstbus.c:
17369         * gst/gstmessage.c:
17370         Docs updates
17371
17372 2005-03-21  Wim Taymans  <wim@fluendo.com>
17373
17374         * gst/gstbus.c: (gst_bus_post):
17375         Fix copy-and-paste error.
17376
17377 2005-03-21  Wim Taymans  <wim@fluendo.com>
17378
17379         * check/Makefile.am:
17380         * gst/Makefile.am:
17381         * gst/elements/Makefile.am:
17382         * gst/elements/gstelements.c:
17383         * gst/elements/gstfakesink.c: (gst_fakesink_init),
17384         (gst_fakesink_event), (gst_fakesink_chain):
17385         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
17386         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
17387         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
17388         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
17389         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
17390         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
17391         (gst_fakesrc_loop), (gst_fakesrc_activate),
17392         (gst_fakesrc_change_state):
17393         * gst/elements/gstfakesrc.h:
17394         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
17395         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
17396         (gst_filesrc_open_file), (gst_filesrc_loop),
17397         (gst_filesrc_activate), (gst_filesrc_change_state),
17398         (filesrc_find_peek), (filesrc_find_suggest),
17399         (gst_filesrc_type_find):
17400         * gst/elements/gstidentity.c: (gst_identity_finalize),
17401         (gst_identity_class_init), (gst_identity_init),
17402         (gst_identity_proxy_getcaps), (identity_queue_push),
17403         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
17404         (gst_identity_getrange), (gst_identity_chain),
17405         (gst_identity_sink_loop), (gst_identity_src_loop),
17406         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
17407         (gst_identity_set_property), (gst_identity_get_property),
17408         (gst_identity_change_state):
17409         * gst/elements/gstidentity.h:
17410         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
17411         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
17412         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
17413         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
17414         (gst_tee_sink_activate):
17415         * gst/elements/gsttee.h:
17416         * gst/gst.c: (gst_register_core_elements), (init_post):
17417         * gst/gst.h:
17418         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
17419         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
17420         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
17421         (gst_bin_change_state):
17422         * gst/gstbin.h:
17423         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
17424         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
17425         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
17426         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
17427         (gst_bus_set_sync_handler), (gst_bus_create_watch),
17428         (bus_watch_callback), (bus_watch_destroy),
17429         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
17430         (poll_timeout), (gst_bus_poll):
17431         * gst/gstbus.h:
17432         * gst/gstcaps.h:
17433         * gst/gstdata.h:
17434         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17435         (gst_element_post_message), (gst_element_message_full),
17436         (gst_element_get_state_func), (gst_element_get_state),
17437         (gst_element_abort_state), (gst_element_commit_state),
17438         (gst_element_lost_state), (gst_element_set_state),
17439         (gst_element_pads_activate), (gst_element_change_state),
17440         (gst_element_dispose), (gst_element_set_manager_func),
17441         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
17442         (gst_element_set_manager), (gst_element_get_manager),
17443         (gst_element_set_bus), (gst_element_get_bus),
17444         (gst_element_set_scheduler), (gst_element_get_scheduler):
17445         * gst/gstelement.h:
17446         * gst/gstevent.c: (gst_event_new_segment_seek),
17447         (gst_event_new_flush):
17448         * gst/gstevent.h:
17449         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
17450         (_gst_message_free), (gst_message_get_type), (gst_message_new),
17451         (gst_message_new_eos), (gst_message_new_error),
17452         (gst_message_new_warning), (gst_message_new_tag),
17453         (gst_message_new_state_changed), (gst_message_new_application),
17454         (gst_message_get_structure), (gst_message_parse_tag),
17455         (gst_message_parse_state_changed), (gst_message_parse_error),
17456         (gst_message_parse_warning):
17457         * gst/gstmessage.h:
17458         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
17459         (gst_real_pad_set_property), (gst_pad_set_active),
17460         (gst_pad_is_active), (gst_pad_set_blocked_async),
17461         (gst_pad_set_blocked), (gst_pad_is_blocked),
17462         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
17463         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
17464         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
17465         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
17466         (gst_pad_link_filtered), (gst_pad_relink_filtered),
17467         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
17468         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
17469         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
17470         (gst_pad_set_caps), (gst_pad_configure_sink),
17471         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
17472         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
17473         (gst_real_pad_dispose), (gst_real_pad_finalize),
17474         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
17475         (gst_pad_event_default_dispatch), (gst_pad_event_default),
17476         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
17477         * gst/gstpad.h:
17478         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
17479         (pipeline_bus_handler), (gst_pipeline_change_state),
17480         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
17481         * gst/gstpipeline.h:
17482         * gst/gstprobe.h:
17483         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
17484         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
17485         (gst_queue_link_src), (gst_queue_bufferalloc),
17486         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
17487         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
17488         (gst_queue_loop), (gst_queue_handle_src_event),
17489         (gst_queue_handle_src_query), (gst_queue_src_activate),
17490         (gst_queue_change_state):
17491         * gst/gstqueue.h:
17492         * gst/gstscheduler.c: (gst_scheduler_init),
17493         (gst_scheduler_dispose), (gst_scheduler_create_task),
17494         (gst_scheduler_factory_create):
17495         * gst/gstscheduler.h:
17496         * gst/gststructure.c: (gst_structure_get_type),
17497         (gst_structure_copy_conditional):
17498         * gst/gststructure.h:
17499         * gst/gsttaginterface.h:
17500         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
17501         (gst_task_init), (gst_task_dispose), (gst_task_create),
17502         (gst_task_get_state), (gst_task_start), (gst_task_stop),
17503         (gst_task_pause):
17504         * gst/gsttask.h:
17505         * gst/gstthread.c:
17506         * gst/gstthread.h:
17507         * gst/gsttypes.h:
17508         * gst/schedulers/Makefile.am:
17509         * gst/schedulers/cothreads_compat.h:
17510         * gst/schedulers/entryscheduler.c:
17511         * gst/schedulers/faircothreads.c:
17512         * gst/schedulers/faircothreads.h:
17513         * gst/schedulers/fairscheduler.c:
17514         * gst/schedulers/gstbasicscheduler.c:
17515         * gst/schedulers/gstoptimalscheduler.c:
17516         * gst/schedulers/gthread-cothreads.h:
17517         * gst/schedulers/threadscheduler.c:
17518         (gst_thread_scheduler_task_get_type),
17519         (gst_thread_scheduler_task_class_init),
17520         (gst_thread_scheduler_task_init),
17521         (gst_thread_scheduler_task_start),
17522         (gst_thread_scheduler_task_stop),
17523         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
17524         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
17525         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
17526         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
17527         (plugin_init):
17528         * libs/gst/Makefile.am:
17529         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
17530         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
17531         (gst_file_pad_parent_set):
17532         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
17533         (gst_dp_event_from_packet):
17534         * tests/complexity.c: (main):
17535         * tests/mass_elements.c: (main):
17536         * testsuite/states/locked.c: (message_received), (main):
17537         * testsuite/states/parent.c: (main):
17538         * tools/gst-inspect.c: (print_element_flag_info),
17539         (print_implementation_info), (print_pad_info):
17540         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
17541         (main):
17542         * tools/gst-md5sum.c: (event_loop), (main):
17543         * tools/gst-typefind.c: (main):
17544         * tools/gst-xmlinspect.c: (print_element_info):
17545         Next big merge.
17546         Added GstBus for mainloop integration.
17547         Added GstMessage for sending notifications on the bus.
17548         Added GstTask as an abstraction for pipeline entry points.
17549         Removed GstThread.
17550         Removed Schedulers.
17551         Simplified GstQueue for multithreaded core.
17552         Made _link threadsafe, removed old capsnego.
17553         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
17554         Added pad blocking functions.
17555         Reworked scheduling functions in GstPad to prepare for
17556         scheduling updates soon.
17557         Moved events out of data stream.
17558         Simplified GstEvent types.
17559         Added return values to push/pull.
17560         Removed clocking from GstElement.
17561         Added prototypes for state change function for next merge.
17562         Removed iterate from bins and state change management.
17563         Fixed some elements, disabled others for now.
17564         Fixed -inspect and -launch.
17565         Added check for GstBus.
17566
17567 2005-03-10  Wim Taymans  <wim@fluendo.com>
17568
17569         * docs/design/part-MT-refcounting.txt:
17570         * docs/design/part-clocks.txt:
17571         * docs/design/part-gstelement.txt:
17572         * docs/design/part-gstobject.txt:
17573         * docs/design/part-standards.txt:
17574         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17575         (gst_bin_remove_func), (gst_bin_remove):
17576         * gst/gstbin.h:
17577         * gst/gstbuffer.c:
17578         * gst/gstcaps.h:
17579         * testsuite/clock/clock1.c: (main):
17580         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
17581         (main):
17582         * testsuite/dlopen/loadgst.c: (do_test):
17583         * testsuite/refcounting/bin.c: (add_remove_test1),
17584         (add_remove_test2), (main):
17585         * testsuite/refcounting/element.c: (main):
17586         * testsuite/refcounting/element_pad.c: (main):
17587         * testsuite/refcounting/pad.c: (main):
17588         * tools/gst-launch.c: (sigint_handler_sighandler):
17589         * tools/gst-typefind.c: (main):
17590         Doc updates.
17591         Added doc about clock.
17592         removed gst_bin_iterate_recurse_up(), marked methods
17593         for removal.
17594         Fix more testsuites.
17595
17596 2005-03-09  Wim Taymans  <wim@fluendo.com>
17597
17598         * gst/gstpad.c: (gst_pad_get_direction),
17599         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
17600         (gst_pad_collect_valist):
17601         * testsuite/bins/interface.c: (main):
17602         * testsuite/caps/audioscale.c: (test_caps):
17603         * testsuite/caps/caps.c: (test1), (test2), (test3):
17604         * testsuite/caps/deserialize.c: (main):
17605         * testsuite/caps/enumcaps.c: (main):
17606         * testsuite/caps/filtercaps.c: (main):
17607         * testsuite/caps/intersect2.c: (main):
17608         * testsuite/caps/random.c: (main):
17609         * testsuite/caps/renegotiate.c: (my_fixate), (main):
17610         * testsuite/caps/sets.c: (check_caps):
17611         * testsuite/caps/simplify.c: (check_caps), (main):
17612         * testsuite/caps/subtract.c: (check_caps):
17613         Fix _pad_get_direction wrt ghostpads.
17614         Fix caps testsuite.
17615
17616 2005-03-09  Wim Taymans  <wim@fluendo.com>
17617
17618         * check/Makefile.am:
17619         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
17620         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
17621         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
17622         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
17623         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
17624         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
17625         (gst_bin_remove), (gst_bin_iterate_recurse_up),
17626         (bin_element_is_sink), (gst_bin_iterate_sinks),
17627         (gst_bin_iterate_all_by_interface):
17628         * gst/gstbin.h:
17629         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
17630         (gst_element_change_state), (gst_element_dispose),
17631         (gst_element_finalize), (gst_element_set_loop_function):
17632         * gst/gstelement.h:
17633         * gst/gstiterator.c: (find_custom_fold_func):
17634         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17635         (gst_pad_collectv), (gst_pad_collect_valist),
17636         (gst_pad_template_new):
17637         * gst/gstpipeline.c: (gst_pipeline_class_init),
17638         (gst_pipeline_dispose), (gst_pipeline_set_property),
17639         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
17640         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
17641         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
17642         * gst/gstutils.h:
17643         * gst/schedulers/entryscheduler.c:
17644         * gst/schedulers/gstbasicscheduler.c:
17645         (gst_basic_scheduler_cothreaded_chain),
17646         (gst_basic_scheduler_chain_add_element):
17647         * testsuite/bins/interface.c: (main):
17648         Added GstBin test.
17649         Added GstSystemClock test.
17650         Implemented clock distribution code in GstBin.
17651         Implemented iterate sinks method for future use.
17652         Rearranged gstelement.h
17653         Fix GstIterator comparison bug.
17654         Moved some code to GstPipeline, mostly clocking related.
17655
17656 2005-03-09  Wim Taymans  <wim@fluendo.com>
17657
17658         * configure.ac:
17659         * gst/gst_private.h:
17660         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17661         (gst_bin_remove_func), (gst_bin_remove),
17662         (gst_bin_get_by_name_recurse_up):
17663         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
17664         (gst_clock_id_compare_func), (gst_clock_id_wait),
17665         (gst_clock_id_wait_async), (gst_clock_init),
17666         (gst_clock_adjust_unlocked), (gst_clock_get_time):
17667         * gst/gstelement.h:
17668         * gst/gstinfo.c: (_gst_debug_init):
17669         * gst/gstobject.h:
17670         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
17671         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
17672         * gst/gstpad.h:
17673         Bump version number, we're now 0.9.0
17674         Add future debugging category.
17675         Fix NULL _unref() in _get_by_name_recurse_up
17676         Rearrange gstpad.h.
17677         Update some docs.
17678
17679 2005-03-08  Wim Taymans  <wim@fluendo.com>
17680
17681         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
17682         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
17683         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
17684         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
17685         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
17686         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
17687         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
17688         * gst/elements/gstidentity.c: (gst_identity_class_init):
17689         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
17690         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
17691         * gst/elements/gstshaper.c: (gst_shaper_class_init):
17692         * gst/elements/gststatistics.c: (gst_statistics_class_init):
17693         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
17694         (gst_tee_link):
17695         * gst/gstelement.c: (gst_element_class_init),
17696         (gst_element_base_class_init), (gst_element_init),
17697         (gst_element_get_random_pad), (gst_element_wait_state_change),
17698         (gst_element_change_state), (gst_element_dispose),
17699         (gst_element_finalize), (gst_element_set_loop_function):
17700         * gst/gstelement.h:
17701         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
17702         * gst/gstthread.c: (gst_thread_class_init),
17703         (gst_thread_release_children_locks), (gst_thread_change_state):
17704         * gst/schedulers/gstbasicscheduler.c:
17705         (gst_basic_scheduler_loopfunc_wrapper),
17706         (gst_basic_scheduler_chain_wrapper),
17707         (gst_basic_scheduler_src_wrapper),
17708         (gst_basic_scheduler_remove_element):
17709         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
17710         Remove threadsafe properties. Fix elements because GObject
17711         complains when installing a property before declaring a
17712         set/get_property handler.
17713         Rearrange gstelement.h file, use STATE macros for state locks.
17714         Free mutexes in the finalize method instead of dispose.
17715
17716 2005-03-08  Wim Taymans  <wim@fluendo.com>
17717
17718         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
17719         * gst/gstthread.c: (gst_thread_release_children_locks):
17720         Added parentage check.
17721         Fix build og GstThread again.
17722
17723 2005-03-08  Wim Taymans  <wim@fluendo.com>
17724
17725         * docs/design/part-MT-refcounting.txt:
17726         * docs/design/part-conventions.txt:
17727         * docs/design/part-gstobject.txt:
17728         * docs/design/part-relations.txt:
17729         * docs/design/part-standards.txt:
17730         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
17731         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
17732         (gst_bin_get_by_name), (gst_bin_get_by_interface),
17733         (gst_bin_iterate_all_by_interface):
17734         * gst/gstbuffer.h:
17735         * gst/gstclock.h:
17736         * gst/gstelement.c: (gst_element_class_init),
17737         (gst_element_change_state), (gst_element_set_loop_function):
17738         * gst/gstelement.h:
17739         * gst/gstiterator.c:
17740         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
17741         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
17742         (gst_object_dispatch_properties_changed), (gst_object_set_name),
17743         (gst_object_set_parent), (gst_object_unparent),
17744         (gst_object_check_uniqueness):
17745         * gst/gstobject.h:
17746         Docs updates, clean up some headers.
17747
17748 2005-03-07  Wim Taymans  <wim@fluendo.com>
17749
17750         * check/.cvsignore:
17751         * check/Makefile.am:
17752         * check/gst-libs/.cvsignore:
17753         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
17754         * check/gst/.cvsignore:
17755         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
17756         (START_TEST), (gstbus_suite), (main):
17757         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
17758         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
17759         (gst_data_suite), (main):
17760         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
17761         (add_fold_func), (gstiterator_suite), (main):
17762         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
17763         (thread_name_object), (thread_name_object_default),
17764         (gst_object_name_compare), (gst_object_suite), (main):
17765         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
17766         (gst_pad_suite), (main):
17767         * check/gstcheck.c: (gst_check_log_message_func),
17768         (gst_check_log_critical_func), (gst_check_init):
17769         * check/gstcheck.h:
17770         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
17771         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
17772         Added checks.
17773
17774 2005-03-07  Wim Taymans  <wim@fluendo.com>
17775
17776         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
17777         (gst_list_iterator_next), (gst_list_iterator_resync),
17778         (gst_list_iterator_free), (gst_iterator_new_list),
17779         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
17780         (gst_iterator_free), (gst_iterator_push), (filter_next),
17781         (filter_resync), (filter_uninit), (filter_free),
17782         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
17783         (gst_iterator_foreach), (find_custom_fold_func),
17784         (gst_iterator_find_custom):
17785         * gst/gstiterator.h:
17786         Added missing files.
17787
17788 2005-03-07  Wim Taymans  <wim@fluendo.com>
17789
17790         * Makefile.am:
17791         * configure.ac:
17792         * docs/design/part-MT-refcounting.txt:
17793         * docs/design/part-conventions.txt:
17794         * docs/design/part-gstobject.txt:
17795         * docs/design/part-relations.txt:
17796         * examples/mixer/mixer.c: (main):
17797         * examples/thread/thread.c: (eos), (main):
17798         * gst/Makefile.am:
17799         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
17800         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
17801         (gst_spider_plug_from_srcpad):
17802         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
17803         (gst_spider_identity_change_state),
17804         (gst_spider_identity_sink_loop_type_finding):
17805         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
17806         * gst/elements/gstidentity.c: (gst_identity_init):
17807         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
17808         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
17809         * gst/elements/gsttypefindelement.c: (free_entry):
17810         * gst/gst.c:
17811         * gst/gst.h:
17812         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
17813         (gst_bin_set_clock_func), (gst_bin_auto_clock),
17814         (gst_bin_set_index), (gst_bin_set_element_sched),
17815         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
17816         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
17817         (gst_bin_iterate_elements), (iterate_child_recurse),
17818         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
17819         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
17820         (compare_interface), (gst_bin_get_by_interface),
17821         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
17822         * gst/gstbin.h:
17823         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
17824         (gst_buffer_default_free), (gst_buffer_default_copy),
17825         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
17826         (gst_buffer_create_sub):
17827         * gst/gstbuffer.h:
17828         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
17829         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
17830         (gst_caps_unref), (gst_static_caps_get),
17831         (gst_caps_remove_and_get_structure), (gst_caps_append),
17832         (gst_caps_append_structure), (gst_caps_remove_structure),
17833         (gst_caps_copy_nth), (gst_caps_set_simple),
17834         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
17835         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
17836         (gst_caps_structure_intersect_field), (gst_caps_intersect),
17837         (gst_caps_structure_subtract_field), (gst_caps_subtract),
17838         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
17839         (gst_caps_structure_figure_out_union),
17840         (gst_caps_switch_structures), (gst_caps_do_simplify),
17841         (gst_caps_replace), (gst_caps_from_string),
17842         (gst_caps_copy_conditional):
17843         * gst/gstcaps.h:
17844         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
17845         (_gst_clock_id_free), (gst_clock_id_unref),
17846         (gst_clock_id_compare_func), (gst_clock_id_wait),
17847         (gst_clock_id_wait_async), (gst_clock_class_init),
17848         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
17849         (gst_clock_get_time), (gst_clock_set_time_adjust),
17850         (gst_clock_set_property), (gst_clock_get_property):
17851         * gst/gstclock.h:
17852         * gst/gstcompat.h:
17853         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
17854         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
17855         * gst/gstdata.h:
17856         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
17857         (gst_element_requires_clock), (gst_element_provides_clock),
17858         (gst_element_set_clock), (gst_element_clock_wait),
17859         (gst_element_wait), (gst_element_set_time_delay),
17860         (gst_element_is_indexable), (gst_element_add_pad),
17861         (gst_element_add_ghost_pad), (gst_element_remove_pad),
17862         (pad_compare_name), (gst_element_get_static_pad),
17863         (gst_element_request_pad), (gst_element_get_request_pad),
17864         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
17865         (gst_element_class_get_pad_template_list),
17866         (gst_element_class_get_pad_template), (gst_element_error_func),
17867         (gst_element_get_random_pad), (gst_element_get_event_masks),
17868         (gst_element_send_event), (gst_element_seek),
17869         (gst_element_get_query_types), (gst_element_query),
17870         (gst_element_get_formats), (gst_element_convert),
17871         (gst_element_is_locked_state), (gst_element_set_locked_state),
17872         (gst_element_sync_state_with_parent), (gst_element_change_state),
17873         (gst_element_finalize), (gst_element_yield),
17874         (gst_element_interrupt), (gst_element_set_scheduler),
17875         (gst_element_get_scheduler), (gst_element_set_loop_function):
17876         * gst/gstelement.h:
17877         * gst/gstevent.h:
17878         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
17879         (gst_format_get_by_nick), (gst_format_get_details),
17880         (gst_format_iterate_definitions):
17881         * gst/gstformat.h:
17882         * gst/gstindex.c: (gst_index_gtype_resolver):
17883         * gst/gstinfo.c:
17884         * gst/gstinfo.h:
17885         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
17886         (gst_mem_chunk_free):
17887         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
17888         (gst_object_ref), (gst_object_unref), (gst_object_sink),
17889         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
17890         (gst_object_dispatch_properties_changed),
17891         (gst_object_set_name_default), (gst_object_set_name),
17892         (gst_object_get_name), (gst_object_set_name_prefix),
17893         (gst_object_get_name_prefix), (gst_object_set_parent),
17894         (gst_object_get_parent), (gst_object_unparent),
17895         (gst_object_check_uniqueness), (gst_object_save_thyself),
17896         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
17897         (gst_object_set_property), (gst_object_get_property),
17898         (gst_object_get_path_string):
17899         * gst/gstobject.h:
17900         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
17901         (gst_real_pad_init), (gst_real_pad_get_property),
17902         (gst_pad_custom_new), (gst_pad_get_direction),
17903         (gst_pad_set_active), (gst_pad_is_active),
17904         (gst_pad_set_event_function), (gst_pad_is_linked),
17905         (gst_pad_link_free), (gst_pad_link_intersect),
17906         (gst_pad_link_fixate), (gst_pad_set_caps),
17907         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
17908         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
17909         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
17910         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
17911         (gst_pad_get_caps), (gst_pad_peer_get_caps),
17912         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
17913         (gst_pad_realize), (gst_pad_get_allowed_caps),
17914         (gst_real_pad_dispose), (gst_real_pad_finalize),
17915         (gst_pad_collectv), (gst_pad_collect_valist),
17916         (gst_pad_template_dispose), (gst_pad_template_new),
17917         (gst_pad_get_internal_links):
17918         * gst/gstpad.h:
17919         * gst/gstpipeline.c: (gst_pipeline_dispose),
17920         (gst_pipeline_change_state):
17921         * gst/gstpipeline.h:
17922         * gst/gstplugin.c:
17923         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
17924         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
17925         * gst/gstpluginfeature.h:
17926         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
17927         * gst/gstquery.c: (_gst_query_type_initialize),
17928         (gst_query_type_register), (gst_query_type_get_by_nick),
17929         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
17930         * gst/gstquery.h:
17931         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
17932         * gst/gstscheduler.c: (gst_scheduler_add_element),
17933         (gst_scheduler_factory_create):
17934         * gst/gststructure.c: (gst_structure_set_parent_refcount),
17935         (gst_structure_free), (gst_structure_set_name),
17936         (gst_structure_id_set_value), (gst_structure_set_value),
17937         (gst_structure_set_valist), (gst_structure_remove_field),
17938         (gst_structure_remove_fields),
17939         (gst_structure_remove_fields_valist),
17940         (gst_structure_remove_all_fields), (gst_structure_foreach),
17941         (gst_structure_map_in_place),
17942         (gst_caps_structure_fixate_field_nearest_int),
17943         (gst_caps_structure_fixate_field_nearest_double):
17944         * gst/gststructure.h:
17945         * gst/gstsystemclock.c: (gst_system_clock_class_init),
17946         (gst_system_clock_init), (gst_system_clock_dispose),
17947         (gst_system_clock_async_thread),
17948         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
17949         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
17950         * gst/gstsystemclock.h:
17951         * gst/gsttag.c: (gst_tag_list_add_value_internal),
17952         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
17953         * gst/gsttaginterface.c:
17954         * gst/gstthread.c: (gst_thread_dispose),
17955         (gst_thread_release_children_locks), (gst_thread_change_state),
17956         (gst_thread_main_loop):
17957         * gst/gsttrashstack.h:
17958         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
17959         * gst/gsttypes.h:
17960         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
17961         (gst_element_request_pad), (gst_element_get_pad_from_template),
17962         (gst_element_request_compatible_pad),
17963         (gst_element_get_compatible_pad_filtered),
17964         (gst_element_get_compatible_pad), (gst_element_state_get_name),
17965         (gst_element_link_pads_filtered), (gst_element_link_filtered),
17966         (gst_element_link_many), (gst_element_link),
17967         (gst_element_link_pads), (gst_element_unlink_pads),
17968         (gst_element_unlink_many), (gst_element_unlink),
17969         (gst_pad_can_link_filtered), (gst_pad_can_link),
17970         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
17971         (gst_object_default_error), (gst_bin_add_many),
17972         (gst_bin_remove_many), (gst_element_populate_std_props),
17973         (gst_element_class_install_std_props), (gst_buffer_merge),
17974         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
17975         (link_fold_func), (gst_pad_proxy_setcaps):
17976         * gst/gstutils.h:
17977         * gst/gstvalue.c: (gst_value_deserialize_string):
17978         * gst/parse/grammar.y:
17979         * gst/schedulers/gstbasicscheduler.c:
17980         (gst_basic_scheduler_cothreaded_chain),
17981         (gst_basic_scheduler_chain_recursive_add),
17982         (gst_basic_scheduler_pad_link):
17983         * gst/schedulers/gstoptimalscheduler.c:
17984         (get_group_schedule_function),
17985         (gst_opt_scheduler_state_transition),
17986         (gst_opt_scheduler_add_element), (element_get_reachables_func):
17987         * libs/gst/bytestream/bytestream.c:
17988         * libs/gst/dataprotocol/dataprotocol.c:
17989         (gst_dp_header_from_buffer):
17990         * po/nb.po:
17991         * po/ru.po:
17992         * tests/threadstate/threadstate2.c: (eos):
17993         * tools/gst-compprep.c: (main):
17994         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
17995         (print_pad_info), (print_children_info):
17996         * tools/gst-launch.c: (idle_func), (main):
17997         * tools/gst-md5sum.c: (idle_func), (main):
17998         * tools/gst-xmlinspect.c: (print_element_info):
17999         First THREADED backport attempt, focusing on adding locks and
18000         making sure the API is threadsafe. Needs more work. More docs
18001         follow this week.
18002
18003 2005-02-24  Andy Wingo  <wingo@pobox.com>
18004
18005         * tests/bench-complexity.scm:
18006         * tests/complexity.gnuplot: New files, good for running complexity
18007         benchmarks.
18008
18009         * tests/Makefile.am:
18010         * tests/complexity.c: New test, sets up N elements, at each level
18011         teeing into M streams per element. Eeeenteresting.
18012
18013         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
18014         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
18015         running bench-mass_elements.scm.
18016
18017         * tests/bench-mass_elements.scm: New script, runs mass_elements
18018         for various numbers of identities, outputting the results to a
18019         file. Requires guile 1.6. Just for testing.
18020
18021 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
18022
18023         * gst/schedulers/fairscheduler.c:
18024           compile with debug disabled
18025
18026 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
18027
18028         * configure.ac:
18029           hunting season on 0.9 is now OPEN