gst/gsturi.c: Don't leak plugin feature.
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * gst/gsturi.c: (gst_element_make_from_uri):
4           Don't leak plugin feature.
5
6         * tests/check/Makefile.am:
7         * tests/check/gst/.cvsignore:
8         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
9           Add brain-dead unit test.
10
11 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
12
13         Patch by: Jeroen Wouters <woutersj at gmail com>
14
15         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
16           Treat protocol strings in a case-insensitive way (#437563).
17
18 2007-05-11  Michael Smith <msmith@fluendo.com>
19
20         * gst/gstplugin.c: (gst_plugin_load_file):
21         * gst/gstregistry.c: (gst_registry_scan_path_level):
22           Don't print a g_warning for any failure to load a shared object.
23           Instead, push this down into gstplugin.c, and warn _only_ if we
24           failed to open the module (i.e. failure to link).
25           Avoids warnings on normal, working, non-plugin .so files.
26
27 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
28
29         * gst/gstplugin.c (gst_plugin_load_file):
30         * gst/gstregistry.c (GST_CAT_DEFAULT,
31           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
32           Print a g_warning if there was an error when loading a plugins during
33           registry scan. The shuld help beginners starting with gst-plugin
34           template.
35
36 2007-05-10  Wim Taymans  <wim@fluendo.com>
37
38         * plugins/elements/gstqueue.c: (gst_queue_class_init),
39         (update_time_level), (gst_queue_locked_flush),
40         (gst_queue_handle_sink_event), (gst_queue_chain),
41         (gst_queue_push_one), (gst_queue_loop):
42         * plugins/elements/gstqueue.h:
43         Be smarter when calculating the current amount of data in the queue by
44         measuring the difference between start and end timestamps (in running
45         time) inside the queue. Fixes #432876.
46         API: GstQueue::pushing to notify elements that we are pushing data again
47         since the running signal is rather broken for this purpose.
48
49 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
50
51         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
52           gst_queue_base_init, gst_queue_init):
53           use GST_BOILERPLATE
54
55 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
56
57         * win32/common/libgstreamer.def:
58         Add new exported functions.
59         * win32/vs6/grammar.dsp:
60         Use grammar pre-generated files.
61
62 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
63
64         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
65
66         * gst/Makefile.am:
67         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
68         * gst/gstparse.h:
69         * gst/gstutils.c: (gst_parse_bin_from_description):
70         * gst/gstutils.h:
71           Maintain API and ABI when --disable-parse is used. Now that
72           we have an appropriate error code, we can just return NULL and the
73           appropriate error when gst_parse_launch() is used despite it having
74           been disabled (#342564).
75
76         * tests/check/Makefile.am:
77         * tests/check/pipelines/.cvsignore:
78         * tests/check/pipelines/parse-disabled.c:
79           Make sure these functions exist and return NULL plus a GError when
80           --disable-parse is used.
81
82 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
83
84         * tests/benchmarks/complexity.c: (main):
85         * tests/benchmarks/mass-elements.c: (main):
86           Set a good example and don't leak messages.
87
88 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
89
90         * docs/gst/Makefile.am:
91         * docs/libs/Makefile.am:
92           Correct fixxrefs options.
93
94         * docs/plugins/Makefile.am:
95         * docs/plugins/gstreamer-plugins-docs.sgml:
96         * docs/plugins/gstreamer-plugins-sections.txt:
97         * plugins/elements/Makefile.am:
98         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
99         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
100           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
101           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
102           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
103           _GstCapsFilterClass, trans_class):
104         * plugins/elements/gstelements.c (name, rank, type, _elements):
105         * plugins/elements/gstidentity.c
106           (gst_identity_check_imperfect_timestamp,
107           gst_identity_check_imperfect_offset):
108           Document capsfilter and add doc-blurb to identity.
109
110 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
111
112         * libs/gst/controller/gstcontroller.c:
113         (gst_controlled_property_set_interpolation_mode):
114         * libs/gst/controller/gstinterpolation.c:
115           Don't crash if someone tries to set an interpolation mode that
116           is invalid or that isn't supported yet. Fixes #422295.
117
118         * tests/check/libs/controller.c: (GST_START_TEST),
119         (gst_controller_suite):
120           Add a test case for the above.
121
122 2007-05-03  Edward Hervey  <edward@fluendo.com>
123
124         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
125         Properly set the last_stop position on GstSegment. This will only happen
126         if there is a buffer to push out.
127
128 2007-05-03  Wim Taymans  <wim@fluendo.com>
129
130         * libs/gst/base/gstbasetransform.c:
131         (gst_base_transform_buffer_alloc):
132         always_in_place does not mean that the sink and source caps are the
133         same! Make sure we don't blindly proxy the buffer_alloc in this case.
134
135 2007-05-03  Wim Taymans  <wim@fluendo.com>
136
137         * docs/libs/gstreamer-libs-sections.txt:
138         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
139         (gst_base_src_default_query), (gst_base_src_get_range):
140         * libs/gst/base/gstbasesrc.h:
141         API: gst_base_src_query_latency(). Added method so that subclasses can
142         easily get the latency values of the base source class.
143
144 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
145
146         * tools/gst-inspect.c (print_implementation_info):
147         Remove 0.8 cruft.
148
149 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
150
151         * tools/Makefile.am:
152         * tools/gst-launch.1.in:
153           Don't create a customised man page based on the host architecture,
154           describe the default registry path generically. That way the man
155           page is the same for all architectures and packagers have one
156           multilib issue less to deal with. Fixes #434926.
157
158 2007-05-02  Wim Taymans  <wim@fluendo.com>
159
160         * gst/gstpad.c:
161         Fix documentation as spotted by rg on IRC. 
162
163 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
164
165         * gst/gstutils.c:
166           Improve docs for gst_element_{link,unlink}.
167
168 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
169
170         * docs/design/part-events.txt:
171         * docs/design/part-overview.txt:
172         * gst/gstevent.c:
173         * gst/gsturi.c:
174         * gst/gsturi.h:
175         * libs/gst/base/gstbasesink.c:
176           Typo fixes; minor docs addition.
177
178 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
179
180         * docs/gst/gstreamer-sections.txt:
181         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
182         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
183         * gst/gsturi.h:
184         API: Add gst_uri_protocol_is_supported(), which checks if an sink
185         or src that supports a given URI protocol exists.
186
187 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
188
189         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
190         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
191         Set the location to NULL if "file://" is set as URI. Otherwise
192         some random previous URI would still be set if "file://" is
193         set on an already used filesink/filesrc.
194
195 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
196
197         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
198         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
199         Special case the "file://" URI as as this is used by some
200         applications to test with gst_element_make_from_uri if there's
201         an element that supports the URI protocol.
202         Also move the g_path_is_absolute() check for the location part
203         of the URI to also check this for "file://localhost/bla" URIs.
204
205 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
206
207         * docs/gst/gstreamer-sections.txt:
208         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
209         * gst/gstbuffer.h:
210         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
211         (gst_buffer_suite):
212           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
213
214 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
215
216         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
217         (gst_registry_binary_load_pad_template),
218         (gst_registry_binary_load_plugin),
219         (gst_registry_binary_read_cache):
220         * gst/gstregistrybinary.h:
221           Implement no-mmap alternative for registry reading. Do code cleanups.
222           Add more comments about avoiding strdups for all text data. Comments
223           welcome.
224
225 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
226
227         * gst/gstregistrybinary.h (GstBinaryPluginElement,
228           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
229           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
230           Comment structs and reformat to fix the build (that stuff should go
231           into a priv. header).
232
233 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
234
235         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
236         (gst_registry_binary_load_feature):
237         * gst/gstregistrybinary.h:
238           Refactor so that we can implement multiple features. Add support for
239           TypeFindFactory features.
240
241 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
242
243         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
244
245         * configure.ac:
246           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
247
248 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
249
250         * gst/gstbin.c: (gst_bin_element_set_state),
251         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
252         (bin_handle_async_done), (gst_bin_handle_message_func):
253           Fix build with --gst-disable-gst-debug
254
255 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
256
257         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
258           Make sure streaming has finished before calling the ::stop() vfunc,
259           since that vfunc might clear state which is being used in the
260           streaming thread. This fixes a race that caused crashes in
261           audioresample when shutting down a pipeline (#420106).
262
263 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
264
265         * docs/gst/gstreamer-sections.txt:
266           That was one byte missing.
267
268 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
269
270         * configure.ac:
271         * docs/gst/gstreamer-sections.txt:
272         * gst/Makefile.am:
273         * gst/gstconfig.h.in:
274         * gst/gstobject.c: (gst_object_class_init),
275         (gst_signal_object_class_init):
276         * gst/gstobject.h:
277           2nd attempt to have a xml-less build as a joined effort of #413123
278           and #421480.
279
280 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
281
282         * docs/design/draft-tagreading.txt:
283           Added open issues/thoughts to draft.
284
285 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
286
287         * gst/parse/grammar.tab.pre.c:
288         * gst/parse/grammar.tab.pre.h:
289         * gst/parse/lex._gst_parse_yy.pre.c:
290         Update the prebuild parser sources.
291
292 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
293
294         * gst/parse/Makefile.am:
295         And now fix the building of the flex sources. Now everything should
296         work as expected.
297
298 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
299
300         * gst/parse/Makefile.am:
301         Now hopefully fix the build failures by setting proper rule
302         dependencies and moving instead of copying.
303
304 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
305
306         * tests/benchmarks/complexity.gnuplot:
307         * tests/benchmarks/complexity.scm:
308         * tests/benchmarks/mass-elements.gnuplot:
309         * tests/benchmarks/mass-elements.scm:
310           Total licensification.
311
312 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
313
314         * gst/parse/Makefile.am:
315           Fix the build by correcting the rule that gave wrong files to flex.
316
317 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
318
319         * tests/benchmarks/complexity.c:
320         * tests/benchmarks/mass-elements.c:
321           Change licence to LGPL as granted by Benjamin and Andy.
322
323 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
324
325         * gst/parse/Makefile.am:
326         Add correct grammar.tab.h dependency if compiling without new enough
327         flex. Fixes #431150.
328
329 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
330
331         * gst/parse/Makefile.am:
332         Fix typo and use outdated sources if the flex/bison sources are newer
333         than the pregenerated ones but flex is too old. Print a warning in
334         that case. This should fix the build on the build bot.
335
336 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
337
338         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
339         * gst/parse/Makefile.am:
340         * gst/parse/grammar.y:
341         * gst/parse/parse.l:
342         Make the parser reentrant and recursively callable. This requires flex
343         >= 2.5.31, for older versions pregenerated sources are used as we
344         can't bump the build dependency. Finally fixes #349180.
345
346         * gst/gstparse.c: (gst_parse_launch):
347         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
348         now anyway.
349
350         * docs/gst/Makefile.am:
351         * docs/gst/Makefile.am:
352         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
353         (__gst_parse_strfree), (__gst_parse_link_new),
354         (__gst_parse_link_free), (__gst_parse_chain_new),
355         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
356         (gst_parse_element_set), (gst_parse_free_link),
357         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
358         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
359         (_gst_parse_launch):
360         * gst/parse/grammar.tab.pre.h:
361         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
362         (yy_get_previous_state), (yy_try_NUL_trans), (input),
363         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
364         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
365         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
366         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
367         (_gst_parse_yypop_buffer_state),
368         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
369         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
370         (yy_fatal_error), (_gst_parse_yyget_extra),
371         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
372         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
373         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
374         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
375         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
376         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
377         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
378         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
379         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
380         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
381         (_gst_parse_yyfree):
382         If the installed flex version is too old use pre-generated parser
383         sources. These pre-generated parser sources are always updated when
384         the actual flex/bison sources change but require everybody who wants
385         to change something in the parser to have flex >= 2.5.31 installed.
386
387 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
388
389         * common/m4/gst-gettext.m4:
390         * gst/gst-i18n-lib.h:
391           Make --disable-nls to work
392
393 2007-04-17  Wim Taymans  <wim@fluendo.com>
394
395         * gst/gstconfig.h.in:
396         Revert previous change that broke the build.
397
398 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
399
400         * configure.ac:
401         * gst/Makefile.am:
402         * gst/gstconfig.h.in:
403           Drop libxml2 dependency when building with 
404           --enable-binary-registry --disable-loadsave
405
406 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
407
408         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
409         (gst_registry_binary_read_cache):
410         * gst/gstregistrybinary.h:
411           Remove unnecessary <sys/mman.h> include which broke the win32 build
412           with MingW; move includes from header file to .c file, even if the
413           header file isn't installed; use g_strerror() where UTF-8 strings
414           are expected, such as in GST_DEBUG messages.
415
416 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
417
418         * docs/libs/gstreamer-libs-sections.txt:
419         Remove bogus addition for API I didn't end up keeping.
420
421         * libs/gst/base/gstbasesrc.h:
422         Mention Since: 0.10.13 in the documentation.
423
424         Add the API keyword to the previous ChangeLog entry.
425
426 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
427
428         * docs/libs/gstreamer-libs-sections.txt:
429         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
430         (gst_base_src_default_prepare_seek_segment),
431         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
432         * libs/gst/base/gstbasesrc.h:
433         Allow basesrc derived classes to execute seeks in other formats
434         by providing a prepare_seek_segment vmethod. Sub-classes can choose
435         to prepare the GstSegment in any format that their perform_seek method
436         will be able to understand. The default implementation provides the
437         old behaviour of attempting to convert the seek offsets to the 
438         configured native format.
439
440         API: basesrc::prepare_seek_segment vmethod.
441
442 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
443
444         * gst/gstelement.c: (gst_element_get_state_func):
445         Don't output the same debug statement twice.
446
447         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
448         (gst_adapter_peek), (gst_adapter_take_buffer):
449         Optimise the case where we have buffers at the head of the queue that
450         can be joined quickly (because they're contiguous sub-buffers) by
451         merging them together rather than copying data out into new memory.
452
453         * gst/parse/grammar.y:
454         * tests/check/pipelines/parse-launch.c:
455         Fix a leak in an error path for parse_launch, and add a check 
456         for it to the testsuite.
457
458 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
459
460         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
461           Don't deadlock when releasing a pad - gst_pad_set_active may try
462           and take the multiqueue lock too.
463
464 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
465
466         * gst/gsterror.c: (_gst_core_errors_init):
467         * gst/gsterror.h:
468           API: add GST_CORE_ERROR_DISABLED (#392804).
469
470 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
471
472         * docs/faq/gst-uninstalled:
473           don't get empty paths on the PATH variables
474         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
475           Don't format for the uncommon terminal width of 84 characters.
476
477 2007-04-06  Wim Taymans  <wim@fluendo.com>
478
479         * gst/gstpipeline.c: (reset_stream_time),
480         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
481         Only try to select a different pipeline clock when we went back to
482         PAUSED and not when we merely got flushed.
483
484 2007-04-05  Michael Smith  <msmith@fluendo.com>
485
486         * tools/gst-launch.1.in:
487           fractions are better supported in gstreamer than ractions, so
488           suggest using those.
489
490 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
491
492         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
493
494         * po/LINGUAS:
495         * po/da.po:
496           Added Danish translation.
497
498 2007-04-05  Wim Taymans  <wim@fluendo.com>
499
500         * libs/gst/base/gstbasesink.c:
501         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
502         Fix leak caused when refusing newsegment after EOS.
503
504         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
505         (gst_fake_sink_init), (gst_fake_sink_set_property),
506         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
507         (gst_fake_sink_render), (gst_fake_sink_change_state):
508         * plugins/elements/gstfakesink.h:
509         Add num-buffers property to make the element generate EOS after a
510         configurable amount of buffers.
511         API: fakesink::num-buffers property.
512
513         * tests/check/elements/fakesink.c: (GST_START_TEST),
514         (fakesink_suite):
515         Fix GstBus leak in test.
516         Test for fakesink num-buffers.
517
518 2007-04-05  Wim Taymans  <wim@fluendo.com>
519
520         * libs/gst/base/gstbasesink.c:
521         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
522         (gst_base_sink_change_state):
523         Don't accept anything after an EOS, return UNEXPECTED instead.
524
525         * tests/check/elements/fakesink.c: (GST_START_TEST),
526         (fakesink_suite):
527         Unit test for new EOS behaviour.
528
529 2007-04-05  Wim Taymans  <wim@fluendo.com>
530
531         * gst/gstelement.c: (gst_element_get_request_pad):
532         Make padtemplates also work when they don't contain %s or %d.
533
534 2007-04-05  Wim Taymans  <wim@fluendo.com>
535
536         * docs/gst/gstreamer-sections.txt:
537         * gst/gstclock.c: (gst_clock_adjust_unlocked),
538         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
539         * gst/gstclock.h:
540         Improve _adjust_unlocked() so that it overflows less.
541         Add gst_clock_unadjust_unlocked to convert from external time to
542         internal time based on calibration.
543         Add some more debug.
544         API: GstClock::gst_clock_unadjust_unlocked()
545
546 2007-04-03  Wim Taymans  <wim@fluendo.com>
547
548         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
549
550         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
551         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
552         when releasing sink pad. Fixes #425400.
553
554 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
555
556         * docs/random/ensonic/dynlink.txt:
557           More work on proposal for new core api.
558
559         * docs/libs/gstreamer-libs-sections.txt:
560         * libs/gst/base/gstbasetransform.h:
561           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
562           
563         * libs/gst/controller/gstcontroller.c:
564         (on_object_controlled_property_changed),
565         (gst_controller_sync_values),
566         (gst_controller_set_interpolation_mode):
567         * libs/gst/controller/gstcontroller.h:
568           Less verbose logging add docs for unimplemented parts and correctly
569           return when using unavailable parts.
570
571 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
572
573         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
574         Move all the debug to the CLOCK category, and associate it with
575         the clock object.
576
577 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
578
579         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
580         Make take_buffer a bit quicker by removing redundant checks
581         caused by calling gst_adapter_take.
582
583 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
584
585         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
586           Don't leak GCond.
587
588         * tests/check/Makefile.am:
589         * tests/check/elements/.cvsignore:
590         * tests/check/elements/multiqueue.c: (setup_multiqueue),
591         (GST_START_TEST), (multiqueue_suite):
592           Add some dead simple unit tests for the 'multiqueue' element
593           (some bits don't work yet and are disabled for now).
594
595 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
596
597         * gst/gstelement.c: (gst_element_get_request_pad),
598         (gst_element_class_get_request_pad_template):
599           Make gst_element_get_request_pad() create request pads only for
600           request pad templates and not for, say, sometimes pad templates.
601
602 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
603
604         * docs/design/draft-klass.txt:
605           Add example that needs more thinking.
606         
607         * docs/design/draft-missing-plugins.txt:
608           More thoughts about wrapper plugins.
609         
610         * docs/random/ensonic/embedded.txt:
611         * docs/random/ensonic/profiling.txt:
612           More design work.
613
614 2007-03-25  Wim Taymans  <wim@fluendo.com>
615
616         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
617         (gst_base_src_loop):
618         Only push the segment events in the PLAYING state for live sources.
619
620 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
621
622         * gst/gstpipeline.c: (gst_pipeline_change_state):
623         Modify the clock distribution path in PAUSED->PLAYING so that we 
624         never attempt to choose a new clock unless we're actually leaving
625         the PAUSED state for the first time. This prevents choosing a
626         different clock when the state_change gets called for a 2nd time due
627         to some element doing an async state change.
628
629 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
630
631         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
632         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
633         (gst_pad_chain_unchecked), (gst_pad_push):
634         Revert last commit. This needs some more thoughts.
635
636 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
637
638         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
639         (gst_pad_chain_unchecked), (gst_pad_push):
640         Check in set_caps if the caps are compatible with the pad and remove
641         two functions that are redundant now. Fixes #421543.
642
643 2007-03-22  Wim Taymans  <wim@fluendo.com>
644
645         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
646         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
647         Unref some more to make valgrind happy.
648
649 2007-03-22  Wim Taymans  <wim@fluendo.com>
650
651         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
652         (gst_system_clock_id_wait_jitter),
653         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
654         Fix anoying regression that survived a few releases. When adding an
655         async entry while blocking on a sync entry, the sync entry will unblock
656         but still be busy, so it should continue to wait instead of returning
657         _BUSY to the app.
658         Add some comments here and there.
659
660         * tests/check/gst/gstsystemclock.c: (mixed_thread),
661         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
662         Add testcase for this.
663
664 2007-03-22  Wim Taymans  <wim@fluendo.com>
665
666         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
667         Handle errors from the clock sync better, only UNSCHEDULED indicates a
668         WRONG_STATE and can silently pause the task. All other cases should
669         error out.
670
671 2007-03-22  Wim Taymans  <wim@fluendo.com>
672
673         Patch by: <syrjala at sci dot fi>
674
675         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
676         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
677         Improve debugging.
678
679 2007-03-21  Michael Smith  <msmith@fluendo.com>
680
681         * docs/pwg/advanced-types.xml:
682           Fix some errors in the typefinding docs pointed out on irc.
683
684 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
685
686         * libs/gst/base/gstbasesrc.c:
687         Clarify FIXME comment in the face of having added unlock_stop()
688
689 2007-03-21  Wim Taymans  <wim@fluendo.com>
690
691         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
692         Prepare for release where we warn against possible app breakage in the
693         case of live pipelines along with an env var to enable/disable live
694         preroll mode (GST_COMPAT=[no-]live-preroll).
695
696 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
697
698         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
699         So we should use correct constants for checking for None offset.
700
701 2007-03-20  Wim Taymans  <wim@fluendo.com>
702
703         * docs/design/part-block.txt:
704         Mention the fact that the newly switched element should be set to at
705         least PAUSED.
706
707 2007-03-20  Wim Taymans  <wim@fluendo.com>
708
709         * gst/gst.c:
710         Fix compilation with registry disabled as spotted by Saur.
711
712 2007-03-20  Wim Taymans  <wim@fluendo.com>
713
714         Patch by: Olivier Crete <tester at tester dot ca>
715
716         * gst/gstelement.c: (gst_element_sync_state_with_parent):
717         Look at the pending state too when syncing the element state to the
718         parent. Fixes #420133.
719
720 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
721
722         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
723         (gst_base_sink_change_state):
724         * libs/gst/base/gstbasesink.h:
725         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
726         (gst_base_src_default_event), (gst_base_src_unlock_stop),
727         (gst_base_src_deactivate):
728         * libs/gst/base/gstbasesrc.h:
729         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
730         for sub-classes to correctly clear any state they set trying to
731         unlock, such as clearing out unlock commands from a command fd.
732
733         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
734         (gst_fd_sink_render), (gst_fd_sink_unlock),
735         (gst_fd_sink_unlock_stop):
736         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
737         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
738         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
739
740         Implement unlock_stop in fdsrc and fdsink.
741         Implement seeking in fdsrc when a seekable fd is passed, as in
742         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
743
744 2007-03-19  Wim Taymans  <wim@fluendo.com>
745
746         Patch by: Evan Nemerson <evan at coeus dash group dot com>
747
748         * gst/gstelement.c: (gst_element_class_init):
749         Fix pad-added and pad-removed signal signatures so that the pad type is
750         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
751
752 2007-03-19  Wim Taymans  <wim@fluendo.com>
753
754         * docs/gst/gstreamer-sections.txt:
755         Add new element field and method.
756
757         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
758         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
759         (gst_bin_recalc_state), (gst_bin_get_state_func),
760         (gst_bin_element_set_state), (gst_bin_change_state_func),
761         (gst_bin_continue_func), (bin_bus_handler),
762         (bin_push_state_continue), (bin_handle_async_start),
763         (bin_handle_async_done), (gst_bin_handle_message_func):
764         Make async state changes a bit smarter by using new ASYNC_START and
765         ASYNC_DONE messages. This reduces the number of times we run the state
766         recalculation thread.
767         Don't change state of element with a pending ASYNC_START message.
768         Deprecate STATE_DIRTY messages.
769         
770         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
771         (gst_element_get_state_func), (gst_element_continue_state),
772         (gst_element_lost_state), (gst_element_set_state_func),
773         (gst_element_change_state):
774         * gst/gstelement.h:
775         Keep the state that was last set by the app in a new element field.
776         Don't allow state changes when handling an element event.
777         Post ASYNC_START and ASYNC_DONE messages.
778         Change lost_state so that we go to PAUSED and wait for the parent to set
779         us to PLAYING again (so latency calculation can be performed)
780         Export gst_element_change_state() method so that subclasses can use it.
781         API: gst_element_change_state()
782         API: GST_STATE_TARGET
783
784         * gst/gstpipeline.c: (gst_pipeline_class_init),
785         (reset_stream_time), (gst_pipeline_change_state),
786         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
787         Using the new ASYNC_START message we can reset the base_time when
788         needed. This can then be used to implement base_time redistribution in
789         flushing seeks so that we can remove the explicit seek handling.
790         Perform latency query and configuration when going to PLAYING.
791
792         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
793         (gst_base_sink_query), (gst_base_sink_change_state):
794         Post new ASYNC_START/ASYNC_DONE messages.
795
796         * tests/check/generic/sinks.c: (GST_START_TEST):
797         Fix test because the bin will not set the async element to PLAYING right
798         away.
799
800         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
801         Make the message check a little stronger.
802         Handle ASYNC messages.
803
804         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
805         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
806         Expect ASYNC_DONE messages.
807
808 2007-03-19  Wim Taymans  <wim@fluendo.com>
809
810         * docs/gst/gstreamer-sections.txt:
811         * gst/gstmessage.c: (gst_message_new_async_start),
812         (gst_message_new_async_done), (gst_message_parse_info),
813         (gst_message_parse_async_start):
814         * gst/gstmessage.h:
815         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
816         support.
817
818 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
819
820         * tools/gst-inspect.c:
821         (print_plugin_automatic_install_info_codecs):
822           Now that we don't check for the 'Codec' keyword any longer in the
823           klass, we shouldn't spew a warning if the klass isn't a decoder or
824           encoder (since it might be a Source/Network, for example).
825
826 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
827
828         * tools/gst-inspect.c:
829         (print_plugin_automatic_install_info_codecs):
830           Don't require decoder/demuxer/depayloader elements or
831           encoder/muxer/paylader elements to have 'Codec' as part of their
832           factory class string when introspecting a plugin's capabilities.
833           draft-klass.txt mentions that it might be removed in future, and
834           flump3dec doesn't have it as part of its class string, so chances
835           are others might also not have it.
836
837 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
838
839         * po/af.po:
840         * po/az.po:
841         * po/bg.po:
842         * po/ca.po:
843         * po/cs.po:
844         * po/de.po:
845         * po/en_GB.po:
846         * po/fr.po:
847         * po/it.po:
848         * po/nb.po:
849         * po/nl.po:
850         * po/ru.po:
851         * po/sq.po:
852         * po/sr.po:
853         * po/sv.po:
854         * po/tr.po:
855         * po/uk.po:
856         * po/vi.po:
857         * po/zh_CN.po:
858         * po/zh_TW.po:
859           Update translations from translation project
860
861 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
862
863         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
864         (gst_child_proxy_set_property):
865           Invert precondition check to be alike the ones in the mimiced gobject
866           api.
867
868 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
869
870         * docs/design/draft-tagreading.txt:
871         * docs/random/ensonic/audiobaseclasses.txt:
872           Do some Architect work.
873
874         * gst/gstobject.c: (gst_object_set_name):
875           Add a WARNING.
876
877         * gst/gstpad.c:
878           Add docs that point from gst_pad_get_range to gst_pad_pull_range
879
880 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
881
882         * gst/gstsystemclock.c: (gst_system_clock_init),
883         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
884         Defer starting the async system clock thread until the first async
885         wait is scheduled. Fixes #414986.
886
887 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
888
889         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
890         (gst_single_queue_free):
891           Fix small leak (free GstSingleQueue structure too, not only contents).
892
893 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
894
895         * gst/gstbin.c:(gst_bin_add):
896         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
897         * win32/common/libgstbase.def:
898         * win32/common/libgstreamer.def:
899         Add new exported functions.
900
901 2007-03-09  Wim Taymans  <wim@fluendo.com>
902
903         * docs/plugins/gstreamer-plugins-sections.txt:
904         Fix GstTee docs.
905
906 2007-03-09  Wim Taymans  <wim@fluendo.com>
907
908         * docs/gst/gstreamer-sections.txt:
909         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
910         * gst/gstbuffer.h:
911         Add metadata copy functions. Fixes #393099.
912
913         * gst/gstutils.c: (gst_buffer_stamp):
914         * libs/gst/base/gstbasetransform.c:
915         (gst_base_transform_prepare_output_buffer):
916         Use new metadata copy functions.
917
918 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
919
920         * plugins/elements/gstidentity.c: (gst_identity_class_init),
921         (gst_identity_init), (gst_identity_check_perfect),
922         (gst_identity_check_imperfect_timestamp),
923         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
924         (gst_identity_set_property), (gst_identity_get_property):
925         * plugins/elements/gstidentity.h:
926         Separate out check-imperfect-timestamp and check-imperfect-offset.
927         Put back check-perfect as it was to keep compatibility.
928
929 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
930
931         * gst/gstelement.c: (gst_element_dispose):
932         There's no need to warn if VOID_PENDING is not NONE here, as
933         long as the state is NULL it's ok, and that's checked immediately
934         above.
935
936 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
937
938         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
939         Fix check for perfect stream to ignore buffers with -1 
940         offsets/offset ends when checking data contiguity.
941
942 2007-03-08  Wim Taymans  <wim@fluendo.com>
943
944         * tools/gst-launch.c: (event_loop):
945         Print INFO messages.
946
947 2007-03-08  Wim Taymans  <wim@fluendo.com>
948
949         * libs/gst/base/gstbasetransform.c:
950         (gst_base_transform_sink_eventfunc),
951         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
952         (gst_base_transform_activate):
953         * libs/gst/base/gstbasetransform.h:
954         Add support for dropping buffers with custom GstFlowReturn.
955         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
956         buffers or dropped buffers.
957
958         * docs/libs/gstreamer-libs-sections.txt:
959         docs for new custom return code.
960
961         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
962         Use drop support in base class to implement drop-probability.
963
964 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
965
966         * gst/gst.c: (load_plugin_func):
967         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
968         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
969         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
970           Remove newlines at end of debug log strings.
971
972 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
973
974         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
975         Only post bus message at max, once per buffer received.
976
977 2007-03-07  Wim Taymans  <wim@fluendo.com>
978
979         * docs/design/Makefile.am:
980         * docs/design/part-synchronisation.txt:
981         Add doc about synchronisation
982
983         * docs/design/draft-latency.txt:
984         * docs/design/part-TODO.txt:
985         * docs/design/part-clocks.txt:
986         * docs/design/part-events.txt:
987         * docs/design/part-gstbus.txt:
988         * docs/design/part-gstpipeline.txt:
989         * docs/design/part-live-source.txt:
990         * docs/design/part-messages.txt:
991         * docs/design/part-overview.txt:
992         * docs/design/part-streams.txt:
993         * docs/design/part-trickmodes.txt:
994         Documentation updates.
995
996 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
997
998         * gstreamer.doap:
999         Update the doap file.
1000
1001 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1002
1003         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1004         Rename non-perfect to imperfect for Mike and for the sanctity of the
1005         language.
1006         Also make sure bus message gets emitted for data-incontiguities.
1007
1008 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1009
1010         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
1011         (gst_identity_start):
1012         * plugins/elements/gstidentity.h:
1013         Emit bus message if check-perfect is true and we encounter a
1014         non-perfect stream between 2 consecutive buffers.
1015         Fixes #415394.
1016
1017 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
1018
1019         * configure.ac:
1020         Back to CVS
1021
1022 === release 0.10.12 ===
1023
1024 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
1025
1026         * configure.ac:
1027           releasing 0.10.12, "Inevitable Demise"
1028
1029 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
1030
1031         * configure.ac:
1032          Version 0.10.11.2 (0.10.12 pre-release)
1033          Bump libtool versioning.
1034
1035 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
1036
1037         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1038           Log flow-names and not numbers.
1039
1040 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1041
1042         * configure.ac:
1043           Convert to new AG_GST style.
1044
1045 2007-02-28  Wim Taymans  <wim@fluendo.com>
1046
1047         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
1048         Don't unref query twice.
1049
1050 2007-02-28  Wim Taymans  <wim@fluendo.com>
1051
1052         * gst/gstvalue.c: (gst_value_transform_object_string),
1053         (_gst_value_initialize):
1054         Implement GstObject -> string transform so we print object names
1055         when serializing GValues containing GstObjects.
1056
1057 2007-02-28  Wim Taymans  <wim@fluendo.com>
1058
1059         * docs/gst/gstreamer-sections.txt:
1060         Add new stuff to docs.
1061
1062 2007-02-28  Wim Taymans  <wim@fluendo.com>
1063
1064         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1065         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
1066         (gst_base_sink_change_state):
1067         Improve latency query code.
1068         Don't leak latency events.
1069
1070         * tests/check/gst/gstbin.c: (GST_START_TEST):
1071         Improve debugging.
1072
1073 2007-02-28  Wim Taymans  <wim@fluendo.com>
1074
1075         * gst/gstelement.c: (gst_element_message_full),
1076         (gst_element_get_state_func):
1077         * gst/gstelement.h:
1078         Improve docs a little. Added Since: for new macro.
1079
1080         * gst/gstobject.c: (gst_object_sink):
1081         * gst/gstpipeline.c: (gst_pipeline_change_state),
1082         (gst_pipeline_set_new_stream_time):
1083         * gst/gstpipeline.h:
1084         Improve debugging and docs.
1085
1086         * gst/gstutils.c: (gst_element_state_change_return_get_name):
1087         Improve debugging.
1088
1089 2007-02-28  Wim Taymans  <wim@fluendo.com>
1090
1091         * gst/gstelement.c: (gst_element_message_full),
1092         (gst_element_set_locked_state), (gst_element_get_state_func),
1093         (gst_element_change_state):
1094         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
1095         Documentation updates.
1096         Small code cleanups.
1097
1098         * gst/gstmessage.c: (gst_message_new_info),
1099         (gst_message_parse_info):
1100         * gst/gstmessage.h:
1101         API: gst_message_new_info()
1102         API: gst_message_parse_info()
1103         Add INFO message create and parse code.
1104
1105 2007-02-28  Wim Taymans  <wim@fluendo.com>
1106
1107         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
1108         (bin_query_latency_done):
1109         Also report the live parameter of a latency query.
1110
1111 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1112
1113         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
1114           Copy the current generic/states example from -base and adapt so
1115           we can use the exact same code everywhere.
1116           Check a STATES_IGNORE_ELEMENTS env var which can be used
1117           to ignore certain element factories for this test, which is
1118           what is being done in -base
1119         * tests/check/Makefile.am:
1120           Mention this environment variable.
1121
1122 2007-02-27  Wim Taymans  <wim@fluendo.com>
1123
1124         * docs/gst/gstreamer-sections.txt:
1125         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
1126         (gst_bus_timed_pop), (gst_bus_pop):
1127         * gst/gstbus.h:
1128         API: gst_bus_timed_pop()
1129         Implement gst_bus_timed_pop() to do a blocking timed wait for a
1130         message to arrive on the bus.
1131
1132         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
1133         (gst_bus_suite):
1134         Two unit tests for new _timed_pop() function.
1135
1136 2007-02-23  Wim Taymans  <wim@fluendo.com>
1137
1138         * gst/gstpipeline.c: (gst_pipeline_change_state),
1139         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
1140         Don't ref a NULL clock in _provide_clock_func().
1141         Don't allow an INVALID delay.
1142         Don't try to calculate base_time with an invalid start_time.
1143         Also distribute and notify a NULL clock when it was selected.
1144
1145         * tools/gst-launch.c: (event_loop):
1146         Don't crash when a NULL clock was selected in the pipeline.
1147
1148 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1149
1150         * docs/design/Makefile.am:
1151         * docs/design/draft-missing-plugins.txt:
1152         * docs/random/draft-missing-plugins.txt:
1153           Some small updates: update plugin system identifier prefix
1154           ('gstreamer.net' to 'gstreamer'), mention our new install
1155           API in libgstbaseutils rather than libgimme-codec, add
1156           reference to the online docs.
1157
1158 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1159
1160         * win32/common/config.h:
1161           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
1162           use moap cl ci to only check in what is mentioned in the ChangeLog.
1163
1164 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1165
1166         * docs/gst/gstreamer-sections.txt:
1167         * gst/gstelement.h:
1168           Fix up documentation to link to the correct GstGError section.
1169           Add GST_ELEMENT_INFO macro since someone else added a Info message.
1170
1171 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1172
1173         * tools/gst-launch.c: (event_loop):
1174           Make sure that we actually show the important message part of a
1175           warning message.
1176           No need to check if the gerror is not NULL to free; first of all
1177           g_free accepts NULL; and second the default error handler would
1178           segfault if gerror was NULL.
1179
1180 2007-02-21  Wim Taymans  <wim@fluendo.com>
1181
1182         * docs/gst/gstreamer-sections.txt:
1183         Removed docs as well.
1184
1185 2007-02-21  Wim Taymans  <wim@fluendo.com>
1186
1187         * gst/gstmessage.c: (gst_message_parse_duration):
1188         * gst/gstmessage.h:
1189         Remove new messages for release.
1190
1191 2007-02-20  Wim Taymans  <wim@fluendo.com>
1192
1193         * docs/design/part-gstghostpad.txt:
1194         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
1195         (gst_ghost_pad_new_full):
1196         Make the ghostpad a parent of the internal pad again for better backward
1197         compatibility. Don't write code that relies on this however.
1198
1199         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
1200         (gst_pad_link_check_hierarchy):
1201         Require that parents should be GstElements in the hierarchy check.
1202
1203 2007-02-20  Wim Taymans  <wim@fluendo.com>
1204
1205         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
1206         (gst_bin_change_state_func), (bin_query_min_max_init),
1207         (bin_query_latency_fold), (bin_query_latency_done),
1208         (gst_bin_query):
1209         Improve debug info.
1210         Implement latency query.
1211
1212 2007-02-20  Wim Taymans  <wim@fluendo.com>
1213
1214         * docs/design/part-gstghostpad.txt:
1215         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
1216         (gst_ghost_pad_internal_do_activate_push),
1217         (gst_ghost_pad_internal_do_activate_pull),
1218         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1219         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
1220         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
1221         Do not set the internal pad as a parent anymore so we can avoid
1222         hierarchy linking errors when the ghostpad has no parent yet. This also
1223         fixes failed activation because of unlinked internal pads, which in
1224         turn fixes the impossible case where you have to activate a pad before
1225         you can add it to a running element.
1226         Also fix the docs.
1227
1228         * gst/gstpad.c: (pre_activate), (post_activate),
1229         (gst_pad_set_active), (gst_pad_activate_pull),
1230         (gst_pad_activate_push), (gst_pad_check_pull_range):
1231         Add some more debug info.
1232         Mark activation mode in pre_activate so that we don't try to activate in
1233         endless loops. Fixes #385084.
1234
1235 2007-02-19  Wim Taymans  <wim@fluendo.com>
1236
1237         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
1238         (gst_base_transform_check_get_range):
1239         Implement a checkgetrange function instead of relying on the default
1240         core behaviour that assumes we can operate in pull mode if we have a
1241         getrange function. First step at fixing #385084.
1242
1243 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
1244
1245         * gst/gstchildproxy.h:
1246         * libs/gst/base/gstbasesink.h:
1247         * libs/gst/base/gstbasesrc.h:
1248         * libs/gst/base/gstbasetransform.h:
1249         More docs coverage and some ChangeLog surgery (add missing names)
1250
1251 2007-02-15  Wim Taymans  <wim@fluendo.com>
1252
1253         * docs/design/part-TODO.txt:
1254         * docs/design/part-activation.txt:
1255         * docs/design/part-block.txt:
1256         * docs/design/part-buffering.txt:
1257         * docs/design/part-clocks.txt:
1258         * docs/design/part-element-source.txt:
1259         * docs/design/part-events.txt:
1260         * docs/design/part-gstbin.txt:
1261         * docs/design/part-gstbus.txt:
1262         * docs/design/part-gstpipeline.txt:
1263         * docs/design/part-live-source.txt:
1264         * docs/design/part-messages.txt:
1265         * docs/design/part-overview.txt:
1266         * docs/design/part-qos.txt:
1267         * docs/design/part-query.txt:
1268         * docs/design/part-states.txt:
1269         * docs/design/part-trickmodes.txt:
1270         Some doc updates. Start renaming from stream_time to running_time where
1271         it was used wrongly.
1272
1273 2007-02-15  Wim Taymans  <wim@fluendo.com>
1274
1275         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
1276         Answer LATENCY query.
1277
1278 2007-02-15  Wim Taymans  <wim@fluendo.com>
1279
1280         * tests/check/gst/gstevent.c: (event_probe), (test_event),
1281         (GST_START_TEST):
1282         Improve debugging.
1283
1284 2007-02-15  Wim Taymans  <wim@fluendo.com>
1285
1286         * gst/gstpad.c: (gst_pad_get_internal_links_default),
1287         (gst_pad_dispatcher):
1288         Improve debugging of default pad dispatcher and query functions.
1289
1290 2007-02-15  Wim Taymans  <wim@fluendo.com>
1291
1292         * docs/gst/gstreamer-sections.txt:
1293         Remove old unused method.
1294
1295 2007-02-13  Wim Taymans  <wim@fluendo.com>
1296
1297         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1298         Fix check
1299
1300 2007-02-13  Wim Taymans  <wim@fluendo.com>
1301
1302         * docs/design/part-seeking.txt:
1303         Some small update.
1304
1305         * gst/gstsegment.c: (gst_segment_set_seek):
1306         Revert old bogus change that should make seeking work again.
1307
1308 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
1309
1310         * docs/random/ensonic/dynlink.txt:
1311         * docs/random/ensonic/interfaces.txt:
1312         * docs/random/ensonic/receipies.txt:
1313           Possible dynamic reconnection api, plus some type fixes the other two
1314           docs.
1315
1316 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
1317
1318         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1319         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1320         Also check for an absolute path following file:// in the filesrc
1321         element. Remove redundant check and call g_path_is_absolute() on the
1322         unescaped location.
1323
1324 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
1325
1326         * docs/design/draft-klass.txt:
1327           Add existing category analysis.
1328           
1329         * gst/gstcaps.c:
1330           Fix doc example, framerate is a fraction.
1331
1332 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
1333
1334         * configure.ac:
1335         * docs/gst/Makefile.am:
1336         * docs/gst/gstreamer-sections.txt:
1337         * docs/libs/Makefile.am:
1338           Erm, forgot a bunch of --extra-dir.
1339
1340 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
1341
1342         * configure.ac:
1343         * docs/gst/Makefile.am:
1344         * docs/libs/Makefile.am:
1345         * docs/plugins/Makefile.am:
1346           Add crossreferences to glib/gobject docs.
1347
1348 2007-02-12  Wim Taymans  <wim@fluendo.com>
1349
1350         * docs/design/draft-latency.txt:
1351         Small update.
1352
1353         * docs/libs/gstreamer-libs-sections.txt:
1354         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1355         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
1356         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
1357         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
1358         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
1359         (gst_base_sink_get_position), (gst_base_sink_query),
1360         (gst_base_sink_change_state):
1361         * libs/gst/base/gstbasesink.h:
1362         API: gst_base_sink_query_latency() to let subclasses query the upstream
1363         latency.
1364         API: gst_base_sink_get_latency() to let subclasses query the configured
1365         latency in the sink.
1366         Implement query and set latency.
1367         Update some docs.
1368         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
1369         don't continue preroll when we are flushing. Fixes #405284.
1370
1371         * tests/check/pipelines/stress.c: (change_state_timeout),
1372         (quit_timeout), (GST_START_TEST), (stress_suite):
1373         Test for #405284.
1374
1375 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
1376
1377         Patch by: René Stadler <mail at renestadler de>
1378
1379         * docs/gst/gstreamer-sections.txt:
1380         * gst/gsttaglist.c: (_gst_tag_initialize):
1381         * gst/gsttaglist.h:
1382           API: add GST_TAG_REFERENCE_LEVEL (#403597).
1383
1384 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
1385
1386         * docs/libs/Makefile.am:
1387           Fix path to core docs.
1388
1389         * gst/gstbin.c: (gst_bin_get_by_interface),
1390         (gst_bin_iterate_all_by_interface):
1391           Refix docs by also renaming 'interface' to 'iface' in implementation.
1392
1393         * docs/gst/gstreamer-sections.txt:
1394         * gst/gstcaps.c:
1395         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1396         * gst/gstchildproxy.h:
1397         * gst/gstelementfactory.c:
1398         * gst/gstpadtemplate.h:
1399         * libs/gst/controller/gstcontroller.c:
1400         (gst_controlled_property_new):
1401           Document more.
1402
1403 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
1404
1405         * gst/gstbin.h:(gst_bin_get_by_interface),
1406         (gst_bin_iterate_all_by_interface):
1407         Replace interface parameter name by iface as interface is 
1408         a reserved keyword in Visual Studio for C++ projects so it removes
1409         a build error for application developpers using VS.
1410         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
1411         Fix a bug on Windows in uri format check. Now the prefix checked
1412         is file:// and next we check if the path after file:// is absolute.
1413         * win32/common/libgstbase.def:
1414         * win32/common/libgstdataprotocol.def:
1415         * win32/common/libgstgstreamer.def:
1416         Add new exported functions.
1417
1418 2007-02-09  Andy Wingo  <wingo@pobox.com>
1419
1420         * tests/check/pipelines/simple-launch-lines.c
1421         (simple_launch_lines_suite, test_tee): Disable tee test until I
1422         have time to fix it :-(
1423
1424         * tests/check/Makefile.am (noinst_HEADERS): 
1425         * tests/check/libs/libsabi.c: 
1426         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
1427         * tests/check/gst/gstabi.c: 
1428         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
1429
1430         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
1431         tests for push and pull tee behavior.
1432
1433         * plugins/elements/gsttee.h: 
1434         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
1435         mark as deprecated as well as unimplemented. It was a crack idea.
1436         Add support for tee operating in pull mode, off by default.
1437
1438         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
1439         normal-case logs down to LOG, raise errors to WARNING.
1440         (gst_registry_xml_read_cache): Don't log before calling a function
1441         that logs.
1442
1443         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
1444         exit (registry finalize).
1445         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
1446         DEBUG log when we emit signals that people don't even have the
1447         chance to connect to.
1448         (gst_registry_scan_path_level): Less logging in the normal case.
1449
1450 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
1451
1452         Patch by: Michal Benes <michal dot benes at itonis dot tv>
1453
1454         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1455         Correctly generate EOS for non-seekable files. We don't have a total
1456         length for them and would get an unexpected end of file if we only
1457         special-cased for regular files. (Fixes: #404569)
1458
1459 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
1460
1461         * tests/check/elements/filesrc.c: (GST_START_TEST),
1462         (filesrc_suite):
1463         Add unit test for the GstURIHandler interface in filesrc. This also
1464         tests the newly added file://localhost/foo/bar support.
1465
1466 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1467
1468         * gst/gstelementfactory.h:
1469           The klass string is not a hierarchy. Add reference to the design doc
1470           for more information and common types.
1471
1472 2007-02-02  Wim Taymans  <wim@fluendo.com>
1473
1474         * gst/gstquery.c: (gst_query_new_latency):
1475         Remove old structure field.
1476
1477 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
1478
1479         * tools/gst-launch.1.in:
1480           Give example for network streaming (#351998)
1481
1482 2007-02-02  Wim Taymans  <wim@fluendo.com>
1483
1484         * docs/gst/gstreamer-sections.txt:
1485         Add docs for new methods.
1486
1487         * gst/gstevent.c: (gst_event_new_latency),
1488         (gst_event_parse_latency):
1489         * gst/gstevent.h:
1490         Add new LATENCY event to configure latency in a pipeline.
1491         API: gst_event_new_latency
1492         API: gst_event_parse_latency
1493
1494         * gst/gstmessage.c: (gst_message_new_buffering),
1495         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
1496         (gst_message_new_latency), (gst_message_parse_buffering),
1497         (gst_message_parse_lost_preroll):
1498         * gst/gstmessage.h:
1499         Added messages used in draft-latency.
1500         API: gst_message_new_lost_preroll
1501         API: gst_message_parse_lost_preroll
1502         API: gst_message_new_prerolled
1503         API: gst_message_new_latency
1504
1505         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
1506         (gst_query_parse_latency):
1507         * gst/gstquery.h:
1508         Implemented new latency query as in design doc.
1509         API: gst_query_new_latency
1510         API: gst_query_set_latency
1511         API: gst_query_parse_latency
1512
1513 2007-02-02  Wim Taymans  <wim@fluendo.com>
1514
1515         * docs/design/draft-latency.txt:
1516         Slight redesign to allow for dynamic latency adjustments.
1517
1518         * docs/design/part-negotiation.txt:
1519         Fix some typos.
1520
1521 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
1522
1523         reviewed by: Wim Taymans <wim@fluendo.com>
1524
1525         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1526         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1527         Allow file://localhost/foo/bar URLs and correctly fail for every other
1528         hostname that one sets. This was gnomevfssrc is linked for those if
1529         installed as it can handle it (#403172)
1530
1531 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1532
1533         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1534
1535         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1536         (unref_data), (gst_collect_pads_add_pad_full):
1537         * libs/gst/base/gstcollectpads.h:
1538         Don't put the previously added destroy notify in the GstCollectData
1539         struct as all it's padding is already used and we don't want to break
1540         ABI. Instead put in the pad's GObject data for now. This should be
1541         cleaned up for 0.11 (#402393).
1542
1543 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1544
1545         reviewed by: Wim Taymans <wim@fluendo.com>
1546
1547         * docs/libs/gstreamer-libs-sections.txt:
1548         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1549         (unref_data), (gst_collect_pads_add_pad),
1550         (gst_collect_pads_add_pad_full):
1551         * libs/gst/base/gstcollectpads.h:
1552         API: Add function to specify a destroy notification for custom
1553         GstCollectData when adding new pads in GstCollectPads (#402393).
1554
1555 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
1556
1557         * po/sv.po:
1558           Update Swedish translation (#378255).
1559
1560 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1561
1562         * docs/design/draft-klass.txt:
1563           Fix the previous change, this is a list of categories and not a hierarchy.
1564
1565 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1566
1567         * docs/design/draft-klass.txt:
1568           Add info about how to get a list of used classes.
1569
1570 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
1571
1572         * plugins/elements/gsttypefindelement.c:
1573         (gst_type_find_element_chain_do_typefinding),
1574         (gst_type_find_element_change_state):
1575           Don't leak found caps in chain function (no idea why that never
1576           showed up as a leak anywhere).
1577
1578 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
1579
1580         * gst/gstplugin.h:
1581           Fix and expand GstPluginDesc API docs.
1582
1583 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1584
1585         * gst/gstcaps.c:
1586         * gst/gstelementfactory.c:
1587         * gst/gstpadtemplate.h:
1588           api doc fixes
1589
1590         * libs/gst/controller/gstcontroller.c:
1591         (gst_controlled_property_new):
1592         * tests/examples/controller/audio-example.c:
1593           comment fixes
1594
1595 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1596
1597         * configure.ac:
1598           comment about refining the xml deps
1599
1600         * docs/manuals.mak:
1601           comments about moving away from jade for docs
1602         
1603         * gst/gst.c:
1604           recommit the ifdefs to use the binary registry
1605         
1606         * gst/gstbin.c: (gst_bin_change_state_func):
1607           this break is obsolete
1608
1609         * gst/gstelementfactory.h:
1610           better GST_ELEMENT_DETAILS docs, add comment about translation
1611
1612         * gst/gstinfo.h:
1613           remove eol slash
1614
1615         * gst/gstobject.c: (gst_signal_object_get_type):
1616           add G_UNLIKELY as usual
1617
1618         * gst/gstpad.c: (gst_pad_event_default):
1619           add fall trhu comment
1620
1621         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1622         (gst_registry_binary_initialize_magic),
1623         (gst_registry_binary_save_string),
1624         (gst_registry_binary_save_pad_template),
1625         (gst_registry_binary_save_feature),
1626         (gst_registry_binary_save_plugin),
1627         (gst_registry_binary_write_cache),
1628         (gst_registry_binary_check_magic),
1629         (gst_registry_binary_load_pad_template),
1630         (gst_registry_binary_load_feature),
1631         (gst_registry_binary_load_plugin),
1632         (gst_registry_binary_read_cache):
1633           comment typo and formatting
1634
1635         * gst/gstutils.c: (gst_element_state_get_name),
1636         (gst_element_state_change_return_get_name):
1637           remove obsolete breaks
1638
1639         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1640           add FIXME 0.11 and remove cpp comment
1641
1642 2007-01-29  Edward Hervey  <edward@fluendo.com>
1643
1644         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1645         Fix print statement in an even more portable way.
1646
1647 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
1648
1649         * docs/gst/gstreamer-sections.txt:
1650         * gst/gstutils.h:
1651           API: add GST_ROUND_DOWN_* macros (#401781).
1652
1653 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
1654
1655         * docs/gst/gstreamer.types.in:
1656         * gst/gstregistry.c: (gst_registry_class_init):
1657           Document registry signals and make gtk-doc pick them up (#401381).
1658
1659 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1660
1661         * docs/pwg/building-testapp.xml:
1662           Add some audioconverts and audioresample to the pipeline, and some
1663           more comments and error handling.
1664
1665 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1666
1667         * docs/manual/manual.xml:
1668         * docs/pwg/pwg.xml:
1669           Fix typo (#400987).
1670
1671 2007-01-26  Wim Taymans  <wim@fluendo.com>
1672
1673         * gst/gstcaps.c: (gst_static_caps_get):
1674         Init caps flags too.
1675
1676 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
1677
1678         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
1679
1680         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1681         If not using mmap'ed files try to seek to the end instead of the
1682         start to determine whether we can seek at all. This fixes the case
1683         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
1684         seeks for everything afterwards fail. Fixes #400656
1685
1686 2007-01-25  Wim Taymans  <wim@fluendo.com>
1687
1688         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
1689         Add some refcount debugging.
1690         Make gst_static_caps_get threadsafe, which is needed when autoplugging
1691         in multiple streaming threads.
1692
1693 2007-01-25  Wim Taymans  <wim@fluendo.com>
1694
1695         Patch by: David Schleef <ds at schleef dot org>
1696
1697         * docs/libs/gstreamer-libs-sections.txt:
1698         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
1699         * libs/gst/base/gstadapter.h:
1700         API: gst_adapter_copy() that can reduce the amount of memcpy when
1701         getting data from the adapter. Fixes #388201.
1702
1703 2007-01-25  Edward Hervey  <edward@fluendo.com>
1704
1705         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1706         In print statements, "%x" is for guint. Fixes build on macosx.
1707
1708 2007-01-24  Edward Hervey  <edward@fluendo.com>
1709
1710         * plugins/elements/gstmultiqueue.c:
1711         (gst_multi_queue_loop):
1712         Small fix.
1713         (single_queue_overrun_cb), (single_queue_underrun_cb),
1714         (single_queue_check_full), (gst_single_queue_new):
1715         Implement single queue growth system.
1716         This uses the extra-size properties, and will grow single queues by
1717         that much if one goes full whereas there are others empty. This is
1718         called extra-mode in the code.
1719         When a single queue's levels go back below the initial max-size
1720         limits, it is no longer in extra-mode. This is to ensure we don't
1721         consume too much memory.
1722         Fixes #399875
1723
1724 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
1725
1726         * gst/gst.c: (gst_init_get_option_group):
1727           Make warning about late g_thread_init() calls a bit more explicit,
1728           so that it's more obvious to application developers what they need
1729           to do if a user files a bug against their application.
1730
1731 2007-01-22  Edward Hervey  <edward@fluendo.com>
1732
1733         * plugins/elements/gstmultiqueue.c:
1734         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
1735         Remove previous hack of unsetting the flushing flag for the source pad
1736         instead of activating it. Instead, fix the source pad activate function
1737         so that it no longer depends on having a parent set or not.
1738
1739 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
1740
1741         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
1742
1743         * docs/manual/basics-bus.xml:
1744           Fix example code, gst_element_unref() doesn't exist any longer.
1745
1746 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
1747
1748         Patch by: Mark Nauwelaerts <manauw at skynet be>
1749
1750         * gst/gstpad.c:
1751           Fix two docs typoes (#399094).
1752
1753 2007-01-19  Edward Hervey  <edward@fluendo.com>
1754
1755         * docs/faq/gst-uninstalled:
1756         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
1757         depending on libgstbaseutils can work in uninstalled environment.
1758
1759 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
1760
1761         * gst/gsttaglist.h:
1762         * gst/gsttagsetter.c:
1763         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
1764         statement for new tag.
1765
1766 2007-01-17  Edward Hervey  <edward@fluendo.com>
1767
1768         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
1769         When dynamically creating single queues, activate sinkpad before adding
1770         it.
1771         We should be doing the same thing for the source pad, but we can't
1772         since it would call a method which needs the parent to be set in order
1773         to work propertly. Instead of activating the source pad, we just unset
1774         the flushing flag, which is the minimal requirement for adding a pad
1775         to an element in a state greater than READY.
1776
1777 2007-01-17  Edward Hervey  <edward@fluendo.com>
1778
1779         * docs/faq/gst-uninstalled:
1780         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
1781         Mac OS X.
1782
1783 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1784
1785         * tests/check/gst/gstabi.c:
1786         * tests/check/gst/struct_hppa.h:
1787         * tests/check/libs/libsabi.c:
1788         * tests/check/libs/struct_hppa.h:
1789           Add ABI structs for HPPA (see #393796).
1790
1791 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
1792
1793         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1794           Actually write ABI structs to the file specified in the GST_ABI
1795           environment variable, as the message we print claims we would.
1796
1797 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1798
1799         * tests/check/gst/gsttask.c:
1800           Fix header comment.
1801
1802 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1803
1804         * gst/gsttaglist.c: (_gst_tag_initialize):
1805           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
1806           previous two entries.
1807
1808 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1809
1810         * docs/gst/gstreamer-sections.txt:
1811         * gst/gsttaglist.c: (_gst_tag_initialize):
1812         * gst/gsttaglist.h:
1813           Add tag support for beat-per-minute.
1814
1815 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1816
1817         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1818         (gst_registry_binary_initialize_magic),
1819         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
1820         (gst_registry_binary_save_pad_template),
1821         (gst_registry_binary_save_feature),
1822         (gst_registry_binary_save_plugin),
1823         (gst_registry_binary_write_cache),
1824         (gst_registry_binary_check_magic),
1825         (gst_registry_binary_load_pad_template),
1826         (gst_registry_binary_load_feature),
1827         (gst_registry_binary_load_plugin),
1828         (gst_registry_binary_read_cache):
1829         * gst/gstregistrybinary.h:
1830           Use glib types, cleanup comments, impement interfaces and uri-types.
1831
1832 2007-01-13  Andy Wingo  <wingo@pobox.com>
1833
1834         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
1835         getrange() to return buffers with other caps, while we fix
1836         demuxers and typefind, or otherwise change part-negotiation.txt.
1837
1838 2007-01-12  Andy Wingo  <wingo@pobox.com>
1839
1840         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
1841         Factor start/stop into this private function instead of partially
1842         in activate functions and partially in the change_state function.
1843         Fixes setup before the element has changed from READY->PAUSED, as
1844         is the case in pull-mode pipelines.
1845         (gst_base_transform_sink_activate_push)
1846         (gst_base_transform_src_activate_pull): Refactor to use
1847         gst_base_transform_activate().
1848         (gst_base_transform_change_state): Removed, not needed any more.
1849
1850         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1851         Truncate before fixating.
1852         
1853         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1854         Don't set_caps() if the result of fixating is ANY, as it's not
1855         supported, and not necessary in the case of a link with no
1856         template caps on either side. Fixes tests/check/libs/basesrc in
1857         some pull-mode tests.
1858
1859         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
1860         (gst_base_transform_init, gst_base_transform_sink_activate_push)
1861         (gst_base_transform_src_activate_pull): 
1862         Track the activation mode.
1863         (gst_base_transform_setcaps): In pull mode, when activating the
1864         src pad, after activating the sink pad, activate the sink pad's
1865         peer, as discussed in part-negotiation.txt.
1866
1867         * libs/gst/base/gstbasesrc.h: 
1868         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
1869         vmethod, as in basesink.
1870
1871         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
1872
1873         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
1874         mode, first proxy the setcaps to the peer pad.
1875         (gst_base_sink_pad_fixate): Add a fixate function that calls the
1876         new fixate vmethod.
1877         (gst_base_sink_default_activate_pull): Rename from
1878         gst_base_sink_activate_pull.
1879         (gst_base_sink_negotiate_pull): New function, performs negotiation
1880         in pull mode before calling ::activate_pull().
1881         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
1882         vmethod instead of the default implementation. I have no idea how
1883         this worked before. Negotiate before calling activate_pull.
1884
1885         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
1886         sink pads in pull mode. In addition to being correct, fixes
1887         filesrc ! decodebin ! identity ! fakesink.
1888         (gst_pad_get_range, gst_pad_pull_range): Don't call
1889         gst_pad_set_caps() if the caps changes; instead error out with
1890         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
1891
1892 2007-01-12  Andy Wingo  <wingo@pobox.com>
1893
1894         * docs/design/part-negotiation.txt: Update with more policy.
1895
1896 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1897
1898         * libs/gst/check/gstbufferstraw.h:
1899         * libs/gst/check/gstcheck.h:
1900           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
1901           belongs.
1902
1903 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1904
1905         * tests/check/Makefile.am:
1906         * tests/check/gst/.cvsignore:
1907         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
1908         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
1909         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
1910         (GST_START_TEST), (gst_tag_setter_suite):
1911           Add minimal unit test for beforementioned GstTagSetter bug.
1912
1913 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1914
1915         Patch by: René Stadler <mail at renestadler dot de>
1916
1917         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1918           gst_tag_list_merge() returns a new list, so it's not the best idea
1919           to ingore its return value. Effectively meant that tags could only
1920           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
1921           Also add function guard to require a non-NULL taglist as input (has
1922           always been so due to gst_tag_list_copy(), just making it explicit).
1923
1924 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1925
1926         * docs/random/draft-missing-plugins.txt:
1927           Some additions: mention new API that is supposed to be used at the
1928           various stages; short blob about new gst-inspect introspection
1929           option; mention potential future problem with plugins that have
1930           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
1931
1932 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1933
1934         * tools/gst-inspect.c:
1935         (print_plugin_automatic_install_info_codecs),
1936         (print_plugin_automatic_install_info_protocols),
1937         (print_plugin_automatic_install_info), (main):
1938         Add --print-plugin-auto-install-info option to gst-inspect, so we can
1939         introspect plugin files and get machine-parsable output that corresponds
1940         to the last bit of the missing-plugin installer string (small gotcha:
1941         doesn't take into account ranks).
1942
1943 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
1944
1945         * configure.ac:
1946         * docs/gst/gstreamer-sections.txt:
1947         * gst/Makefile.am:
1948         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
1949         (gst_registry_lookup_locked):
1950         * gst/gstregistry.h:
1951         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1952         (gst_registry_binary_initialize_magic),
1953         (gst_registry_binary_save_string),
1954         (gst_registry_binary_save_pad_template),
1955         (gst_registry_binary_save_feature),
1956         (gst_registry_binary_save_plugin),
1957         (gst_registry_binary_write_cache),
1958         (gst_registry_binary_check_magic),
1959         (gst_registry_binary_load_pad_template),
1960         (gst_registry_binary_load_feature),
1961         (gst_registry_binary_load_plugin),
1962         (gst_registry_binary_read_cache):
1963         * gst/gstregistrybinary.h:
1964         * gst/gstregistryxml.c: (load_feature),
1965         (gst_registry_xml_read_cache):
1966           commit binary registry (disabled by default, see #359653)
1967
1968 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1969
1970         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
1971           Fix 'make check' too.
1972
1973 2007-01-10  Andy Wingo  <wingo@pobox.com>
1974
1975         * docs/design/part-negotiation.txt: Fix a typo, add a couple
1976         notes.
1977         
1978         * docs/design/part-negotiation.txt: Update with, um, one way that
1979         pull-mode negotiation might work?
1980
1981         * gst/gstpad.h: 
1982         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
1983         that the pad must be a src pad; makes sense to call it the other
1984         way in pull mode, and the logic is symmetric anyway.
1985
1986 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
1987
1988         * plugins/elements/gstfilesink.c:
1989           Include <stdio.h> for fseeko().
1990
1991 2007-01-10  Wim Taymans  <wim@fluendo.com>
1992
1993         * gst/gstevent.c:
1994         * gst/gstevent.h:
1995         Reserve LATENCY event.
1996
1997 2007-01-09  Wim Taymans  <wim@fluendo.com>
1998
1999         * docs/design/draft-latency.txt:
2000         Updates.
2001
2002 2007-01-09  Wim Taymans  <wim@fluendo.com>
2003
2004         * docs/design/draft-latency.txt:
2005         Updates.
2006
2007         * gst/gstelement.h:
2008         * gst/gststructure.c:
2009         * gst/gsttrace.c:
2010         Small typo fixes.
2011
2012 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2013
2014         * tests/check/.cvsignore:
2015           Ignore test-registry.xml as well.
2016
2017 2007-01-09  Wim Taymans  <wim@fluendo.com>
2018
2019         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
2020         unref data at the end when we are done with the pad.
2021
2022 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
2023
2024         * docs/gst/gstreamer-sections.txt:
2025         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
2026         (init_post), (gst_deinit), (gst_update_registry):
2027         * gst/gst.h:
2028           API: add gst_update_registry() (#391296).
2029
2030         * tests/check/Makefile.am:
2031         * tests/check/gst/gstregistry.c:
2032         * tests/check/gst/.cvsignore:
2033           Simple unit test for the above.
2034
2035 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
2036
2037         * gst/gstregistry.c: (gst_registry_scan_path_level):
2038           Plugin extension on HP-UX is .sl, add that to the list of approved
2039           plugin extensions (see #393796).
2040
2041         * tests/check/gst/gstpad.c: (GST_START_TEST):
2042           ulong => gulong. Fixes compilation with HP-UX compiler.
2043
2044         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2045           Fix compilation if valgrind headers are not available.
2046
2047 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
2048
2049         * win32/common/libgstreamer.def: 
2050           Add new exported function.
2051         * win32/vs6/libgstbase.dsp: 
2052           Add gstdataqueue.c to the build.
2053         * win32/vs6/libgstcoreelements.dsp:
2054           Add gstmultiqueue.c to the build.
2055         
2056 2007-01-06  Andy Wingo  <wingo@pobox.com>
2057
2058         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
2059         activate_pull(), providing for a way to specialize the process of
2060         spawning a thread to pull on the sink pad. There is a default
2061         implementation.
2062
2063         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
2064         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
2065         (gst_base_sink_init): Renamed pad activation functions (inserting
2066         "_pad" in their names). Refactor to use the new activate_pull
2067         vmethod, as appropriate.
2068         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
2069         default activate_pull function to start a task pulling from the
2070         sink pad, as before.
2071
2072         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
2073         on the pads if necessary, as in push()/chain(). Update docs.
2074         Shouldn't affect existing pull() usage as it is currently only
2075         being used on buffers without caps.
2076
2077 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2078
2079         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
2080         (init_pre):
2081           Call g_thread_init() first thing in gst_init() / gst_check_init().
2082           When initialisation is done via gst_init_get_option_group() and
2083           GOption parsing, issue a warning if the GLib thread system has not
2084           been initialised yet by the time gst_init_get_option_group() is
2085           called, as it's quite likely other GLib functions such as
2086           g_option_context_new() have been called already then, and
2087           g_thread_init() must be called before any other GLib function. The
2088           application in question must be fixed in that case, since memory
2089           corruption might happen otherwise.
2090           We issue the warning because even if the GLib folks decide to work
2091           around the problem on their end in future, this is still an issue
2092           with all GLib versions >= 2.10.0, so we should warn until we depend
2093           on a GLib version we know to be safe.
2094           Update documentation as well.
2095           Closes bug #391278.
2096
2097 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2098
2099         * tools/gst-inspect.c: (main):
2100         * tools/gst-launch.c: (main):
2101         * tools/gst-typefind.c: (main):
2102         * tools/gst-xmlinspect.c: (main):
2103           Call g_thread_init() really really early, before any other GLib
2104           function (see #342564 and recent discussion on gtk-devel-list).
2105
2106 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2107
2108         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
2109
2110         * gst/gst_private.h:
2111         * gst/gstconfig.h.in:
2112         * gst/gstinfo.h:
2113           On win32, all the __declspec stuff for symbol exporting is
2114           apparently only needed with MSVC, but doesn't work with MingW.
2115           Fixes compilation with MingW and #391909.
2116
2117 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2118
2119         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
2120           Change some GST_ERROR_OBJECT that aren't really errors to
2121           GST_WARNING_OBJECT in order to reduce terminal spam.
2122
2123 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
2124
2125         * tests/check/Makefile.am:
2126           disable test again, as there seem to be still race problems
2127
2128 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
2129
2130         * tests/check/Makefile.am:
2131         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2132         (GST_START_TEST), (queue_suite):
2133           enable queue test again, add tests for the leaky behaviour
2134
2135 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
2136
2137         * configure.ac:
2138         * tests/examples/Makefile.am:
2139           Compile adapter test/example only if the required headers are
2140           available (fixes #391915).
2141
2142 2007-01-01  David Schleef  <ds@schleef.org>
2143
2144         * gst/gstplugin.c:
2145           Restore the previous signal handler for SIGSEGV instead of
2146           setting to default, since we may have stolen it away from
2147           someone.  (i.e., Mono)
2148
2149 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
2150
2151         * docs/random/draft-missing-plugins.txt:
2152           Some small additions and clarifications.
2153
2154 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
2155
2156         * gst/gstregistryxml.c: (gst_registry_save_escaped):
2157           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
2158           since that can lead to random memory corruptions and crashes
2159           (may or may not be related to #383244, #386711, and #386711).
2160
2161 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2162
2163         * tests/check/.cvsignore:
2164         * tests/check/Makefile.am:
2165           sync .cvsignome and CLEANFILES
2166
2167 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2168
2169         * tests/check/Makefile.am:
2170           fix distcheck
2171
2172 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2173
2174         * docs/design/part-states.txt:
2175           two tiny additional comments
2176         
2177         * gst/gststructure.c:
2178           doc fixing
2179
2180         * tests/check/Makefile.am:
2181         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2182         (GST_START_TEST):
2183           disable test for now, unless it gets fixed
2184
2185 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2186
2187         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2188         (GST_START_TEST):
2189           fix race in underrun test
2190
2191 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2192
2193         * tests/check/elements/.cvsignore:
2194           ignore more
2195
2196         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2197         (GST_START_TEST):
2198           try to narrow test failure
2199
2200 2006-12-21  David Schleef  <ds@schleef.org>
2201
2202         * plugins/elements/gstfakesrc.c:
2203           Use g_random_int_range(), since it produces better random
2204           numbers in a range than almost-correct floating point code.
2205
2206 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2207
2208         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2209         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2210         (gst_check_teardown_sink_pad):
2211           do not automatically (de)activate pads
2212
2213         * tests/check/Makefile.am:
2214         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2215         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
2216           add new, yet simple tests for queue
2217
2218         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
2219         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
2220         * tests/check/elements/filesrc.c: (cleanup_filesrc),
2221         (GST_START_TEST):
2222         * tests/check/elements/identity.c: (cleanup_identity):
2223           consistent pad (de)activation
2224
2225 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
2226
2227         Patch by: Sebastian Dröge  <slomo ubuntu com>
2228
2229         * libs/gst/base/gstcollectpads.c:
2230           Fix two doc typos (#387866).
2231
2232 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
2233
2234         * docs/manual/advanced-dparams.xml:
2235           Fix typo (g_object_control_properties() doesn't exist).
2236
2237 2006-12-19  Edward Hervey  <edward@fluendo.com>
2238
2239         * gst/gstsegment.c: (gst_segment_set_seek):
2240         Fine tune the cases where the segment start/stop values are really
2241         updated.
2242         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2243         Add tests for the return values of gst_segment_set_seek().
2244
2245 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
2246
2247         * gst/gst.c:
2248           Docs typo fix.
2249
2250         * plugins/elements/gstqueue.c: (gst_queue_class_init),
2251         (gst_queue_init):
2252           Fix incorrect documentation and flesh it out a bit more.
2253           Set default values for the max properties on the GParamSpec as well,
2254           so it shows up correctly in gst-inspect.
2255
2256 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
2257
2258         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
2259           Correct docs of queue, add more detail and crosslink it more.
2260
2261 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2262
2263         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2264           Print additional debug info when the stream isn't perfectly
2265           timestamped; don't try to use invalid durations.
2266
2267 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2268
2269         * docs/design/Makefile.am:
2270           Dist new design docs.
2271
2272 2006-12-16  Wim Taymans  <wim@fluendo.com>
2273
2274         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2275
2276         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
2277         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2278         (gst_collect_pads_stop), (gst_collect_pads_event),
2279         (gst_collect_pads_chain):
2280         * libs/gst/base/gstcollectpads.h:
2281         Add refcounting to the collectpads data so we can track when it's safe
2282         to free the data. Fixes #383382.
2283
2284 2006-12-15  Wim Taymans  <wim@fluendo.com>
2285
2286         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2287         (gst_collect_pads_remove_pad):
2288         Automatically activate/deactivate pads when they are added to a
2289         started/stoped collectpads.
2290
2291 2006-12-15  Wim Taymans  <wim@fluendo.com>
2292
2293         * gst/gstelement.c: (gst_element_add_pad):
2294         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
2295         * gst/gstpad.c: (gst_pad_init):
2296         Set pads to FLUSHING when they are created. Check, warn and fix when a
2297         demuxer adds an inactive pad to itself when running. Fixes #339326.
2298
2299 2006-12-15  Wim Taymans  <wim@fluendo.com>
2300
2301         * gst/gstelement.c: (gst_element_class_init),
2302         (gst_element_default_send_event), (gst_element_send_event),
2303         (gst_element_default_query), (gst_element_query):
2304         Expose default element send_event and query handling as vmethods that
2305         subclasses can chain up to.
2306
2307 2006-12-15  Wim Taymans  <wim@fluendo.com>
2308
2309         * gst/gstelement.c: (gst_element_set_state_func):
2310         Small documentation fixes.
2311
2312 2006-12-15  Wim Taymans  <wim@fluendo.com>
2313
2314         * docs/design/draft-latency.txt:
2315         Checked in draft for handling latency in pipelines.
2316
2317 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2318
2319         * Makefile.am:
2320         * gstreamer.doap:
2321         * gstreamer.spec.in:
2322           adding .doap file
2323
2324 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
2325
2326         * gst/gst.c: (init_pre), (init_post):
2327           init_pre() and init_post() might be called via our GOptionGroup or
2328           from gst_init(), and we should skip both of them if we've already
2329           been initialised, otherwise we will init some things twice or add
2330           two default log functions.
2331
2332 2006-12-13  Edward Hervey  <edward@fluendo.com>
2333
2334         * docs/manual/basics-bus.xml:
2335         No, gst_main_loop does not exist. Its g_main_loop.
2336         Discovered by somebody who abused the copy-paste technique of coding :)
2337
2338 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
2339
2340         * gst/gstghostpad.c:
2341           Log ghostpad debug stuff to the GST_PADS category as well rather
2342           than just to the default category.
2343
2344 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2345
2346         * configure.ac:
2347         * gst/gst.c: (init_pre):
2348           Add some basic system details such as OS and architecture
2349           to the debug output if possible, courtesy of uname().
2350
2351 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2352
2353         * docs/gst/running.xml:
2354           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
2355           environment variables.
2356
2357 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
2358
2359         * tests/check/gst/gstbin.c: (GST_START_TEST):
2360         It is acceptable to have a refcount of 2 or 3 at this point in the
2361         test, because the pipeline might be just posting its state_change
2362         message. The next line then waits for that message to appear using
2363         bus_poll, so that should be fine too.
2364
2365 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
2366
2367         * gst/gst.c: (ensure_current_registry_forking):
2368         Ignore EINTR when reading from the child registry pipe.
2369         Explicitly ignore the return value from close, since it makes no
2370         difference.
2371
2372         * gst/gstminiobject.c: (gst_mini_object_ref),
2373         (gst_mini_object_unref):
2374         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
2375
2376         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
2377         When removing cached plugins, remove their features too, so they're
2378         not visible after they've disappeared.
2379
2380         * gst/gstutils.c: (prepare_link_maybe_ghosting):
2381         In the unlikely case that we are linking pads with no parents, don't
2382         crash trying to get the non-existent parent bin.
2383
2384         * gst/parse/grammar.y:
2385         Output debug in the PIPELINE category
2386
2387 2005-03-08  Wim Taymans  <wim@fluendo.com>
2388
2389         Patch by: René Stadler <mail at renestadler dot de>
2390
2391         * gst/gstclock.c: (gst_clock_new_periodic_id):
2392         Reject invalid clock times for interval of periodic ids.
2393         Fixes ##383506.
2394
2395 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
2396
2397         * gst/gstelementfactory.c: (gst_element_factory_create):
2398         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2399         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
2400         * tools/gst-inspect.c: (print_element_info):
2401         Fix refcounting of gst_plugin_feature_load to match the docs. 
2402         Fixes: #380129
2403
2404 2006-12-07  Wim Taymans  <wim@fluendo.com>
2405
2406         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
2407         (gst_base_sink_get_position):
2408         Improve debugging of events.
2409
2410 2006-12-07  Wim Taymans  <wim@fluendo.com>
2411
2412         Patch by: René Stadler <mail at renestadler dot de>
2413
2414         * gst/gstclock.c: (gst_clock_id_wait):
2415         Make period ids add the interval to the origial requested time instead
2416         of the possibly updated time which can be wrong when there are multiple
2417         waiters for the same id. Fixes #382592.
2418
2419         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
2420         (gst_system_clock_id_wait_jitter_unlocked),
2421         (gst_system_clock_id_wait_jitter):
2422         Fix restart in the async notify thread when an async entry is added to
2423         the front of the list. Fixes #381492. 
2424
2425         * tests/check/gst/gstsystemclock.c: (store_callback),
2426         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
2427         Added test for multiple async waits.
2428         Added test for async wait order.
2429
2430 2006-12-07  Wim Taymans  <wim@fluendo.com>
2431
2432         * gst/gstbin.c: (gst_bin_query):
2433         Add some more docs about the POSITION query.
2434
2435 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
2436
2437         * configure.ac:
2438         Bump version nano - back to CVS.
2439
2440 === release 0.10.11 ===
2441
2442 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
2443
2444         * configure.ac:
2445           releasing 0.10.11, "Love never runs on time"
2446
2447 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
2448
2449         * win32/common/libgstbase.def:
2450         * win32/common/libgstreamer.def:
2451         * win32/vs8/libgstbase.vcproj:
2452         * win32/vs8/libgstcoreelements.vcproj:
2453         * win32/vs8/libgstreamer.vcproj:
2454         Fix compilation on win32 under VS8
2455         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2456         Partially fixes #381175
2457
2458 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2459
2460         * gst/gstvalue.c: (gst_value_compare_fraction):
2461         If someone is foolish enough to compare 2 fractions with denominator =
2462         0, return UNORDERED rather than aborting.
2463
2464 2006-11-28  Edward Hervey  <edward@fluendo.com>
2465
2466         * libs/gst/base/Makefile.am:
2467         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
2468         (gst_data_queue_base_init), (gst_data_queue_class_init),
2469         (gst_data_queue_init), (gst_data_queue_new),
2470         (gst_data_queue_cleanup), (gst_data_queue_finalize),
2471         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
2472         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
2473         (gst_data_queue_is_empty), (gst_data_queue_is_full),
2474         (gst_data_queue_set_flushing), (gst_data_queue_push),
2475         (gst_data_queue_pop), (gst_data_queue_drop_head),
2476         (gst_data_queue_set_property), (gst_data_queue_get_property):
2477         * libs/gst/base/gstdataqueue.h:
2478         New GstDataQueue object for threadsafe queueing. Most useful for
2479         elements that need some queueing functionnality.
2480         * docs/libs/gstreamer-libs-docs.sgml:
2481         * docs/libs/gstreamer-libs-sections.txt:
2482         Insert documentation for GstDataQueue
2483         * plugins/elements/Makefile.am:
2484         * plugins/elements/gstelements.c:
2485         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2486         (gst_multi_queue_class_init), (gst_multi_queue_init),
2487         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2488         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
2489         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
2490         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2491         (gst_multi_queue_loop), (gst_multi_queue_chain),
2492         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2493         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
2494         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
2495         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
2496         (wake_up_next_non_linked), (compute_next_non_linked),
2497         (single_queue_overrun_cb), (single_queue_underrun_cb),
2498         (single_queue_check_full), (gst_single_queue_new):
2499         * plugins/elements/gstmultiqueue.h:
2500         New multiqueue element, using GstDataQueue. Used for queuing multiple
2501         streams.
2502         Closes #344639 and #347785
2503
2504 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
2505
2506         * docs/pwg/advanced-types.xml:
2507           add more missing type details
2508
2509         * tools/gst-run.c: (main):
2510           remove unused variable
2511
2512 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
2513
2514         * docs/libs/Makefile.am:
2515         * docs/libs/gstreamer-libs.types:
2516           add types of base classes to enable gobject specific stuff in the docs
2517
2518         * docs/random/ensonic/embedded.txt:
2519           more ideas about isolating platform specific things
2520
2521 2006-11-20  Wim Taymans  <wim@fluendo.com>
2522
2523         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
2524
2525         * libs/gst/check/gstcheck.h:
2526         Fix compilation and running against 0.9.4. Fixes #377332.
2527
2528 2006-11-20  Wim Taymans  <wim@fluendo.com>
2529
2530         * gst/gstsegment.c: (gst_segment_set_seek),
2531         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2532         (gst_segment_to_running_time):
2533         Fix boundary checking in to_running_time() and to_stream_time().
2534         Fixes #377183.
2535
2536         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2537         stream and running time can now be calculated for the complete
2538         clipped segment.
2539
2540 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
2541
2542         * gst/gstpad.c: (gst_pad_push_event):
2543           Can't access event structure after giving away ownership of
2544           the event.
2545
2546 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
2547
2548         * docs/random/ensonic/embedded.txt:
2549         * docs/random/ensonic/profiling.txt:
2550         * docs/random/ensonic/receipies.txt:
2551           more thinking
2552
2553 2006-11-13  Wim Taymans  <wim@fluendo.com>
2554
2555         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2556
2557         * gst/gstpad.c:
2558         Fix documentation for gst_pad_dispatcher. Fixes #374475.
2559
2560 2006-11-13  Wim Taymans  <wim@fluendo.com>
2561
2562         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
2563
2564         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
2565         Store new length in segment duration so we don't keep on calling the
2566         potentially expensize get_size() call. Fixes #370865.
2567
2568 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
2569
2570         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
2571
2572         * win32/common/libgstreamer.def:
2573           Add two missing symbols (#366492).
2574
2575 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
2576
2577         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
2578         (gst_adapter_take_buffer):
2579         Fix format string to use all its arguments.
2580         Remove useless >= check on a guint
2581
2582 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2583
2584         * tests/examples/adapter/.cvsignore:
2585         Ignore build file as commanded by the build-bot
2586
2587 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2588
2589         * tests/examples/adapter/Makefile.am:
2590         * tests/examples/adapter/adapter_test.c: (run_test_take),
2591         (run_test_take_buffer), (run_tests), (main):
2592
2593         Add new files from the previous commit
2594
2595 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2596
2597         * Makefile.am:
2598         * configure.ac:
2599         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
2600         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
2601         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
2602         * libs/gst/base/gstadapter.h:
2603         * tests/check/libs/adapter.c: (create_and_fill_adapter),
2604         (GST_START_TEST), (gst_adapter_suite):
2605         * tests/examples/Makefile.am:
2606         Do some optimisation work in GstAdapter to avoid copies in more cases.
2607         It could still do slightly better by merging buffers when
2608         gst_buffer_is_span_fast is true, but is already faster. 
2609
2610         Also, avoid traversing a single-linked list to append each incoming 
2611         buffer inside the adapter.
2612
2613         Add simple test app that times the adapter behaviour in different
2614         situations, and extend the unit test to check that bytes enter and
2615         exit the adapter in their original order.
2616
2617 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2618
2619         * docs/random/draft-missing-plugins.txt:
2620           Update: use element message instead of adding a new message
2621           type to the core; don't provide GStreamer API to initiate the
2622           plugin download, just provide API to compose the strings needed
2623           and let an external libgimmestuff handle the rest.
2624
2625 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
2626
2627         * tools/gst-inspect.c: (print_element_properties_info):
2628         Print a string instead of 'unknown type' for GValueArray properties
2629
2630 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
2631
2632         * docs/random/draft-missing-plugins.txt:
2633         More small fixes.
2634
2635 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2636
2637         * tests/examples/typefind/typefind.c: (type_found), (main):
2638           Make typefind element example work again (#371894); add a
2639           license header.
2640
2641 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2642
2643         * docs/random/draft-missing-plugins.txt:
2644           Commit initial draft about how to deal with missing plugins,
2645           needs work (API too).
2646
2647 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
2648
2649         * docs/pwg/advanced-types.xml:
2650           documents the new caps elements (see #363118)
2651
2652 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2653
2654         * gst/gstplugin.c: (gst_plugin_load_file):
2655         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
2656         (gst_file_src_map_region), (gst_file_src_start):
2657         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
2658         (gst_file_index_commit):
2659           Use g_strerror() instead of strerror() - we want UTF-8.
2660
2661 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2662
2663         Patch by: Peter Kjellerstedt <pkj at axis com>
2664
2665         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2666           Another printf fix (#371493).
2667
2668 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2669
2670         * tests/check/gst/gsttag.c:
2671           relicence (okay with author=company)
2672
2673 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2674
2675         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2676         (gst_pad_push_event):
2677           Enhance debug and improve docs
2678         
2679         * gst/gsturi.c:
2680           Fix docs
2681
2682 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2683
2684         * docs/random/ensonic/distributed.txt:
2685         * docs/random/ensonic/profiling.txt:
2686           more ideas
2687
2688 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2689
2690         * docs/gst/gstreamer-sections.txt:
2691           add new API and fix the build
2692           
2693         * gst/gstbin.c: (gst_bin_recalc_state):
2694         * gst/gstelement.c: (gst_element_message_full),
2695         (gst_element_get_state_func), (gst_element_set_state_func):
2696           use new API and improve logging
2697         
2698         * gst/gstutils.c: (gst_element_state_change_return_get_name):
2699         * gst/gstutils.h:
2700           API: add function to get StateChangereturn names to improve logs 
2701
2702 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2703
2704         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2705           I'm considering shooting the next person to put strerror stuff
2706           in the translateable part of the message.
2707
2708 2006-11-03  Wim Taymans  <wim@fluendo.com>
2709
2710         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2711         Get the type and printf conversion specifiers right.
2712
2713 2006-11-03  Wim Taymans  <wim@fluendo.com>
2714
2715         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2716
2717         * gst/gstpad.c: (gst_pad_init), (pre_activate),
2718         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
2719         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
2720         Some small cleanups. Improve debugging.
2721         * gst/gstpad.h:
2722         Signal all waiting threads with a broadcast instead of just one.
2723         Fixes #369942.
2724
2725 2006-11-03  Wim Taymans  <wim@fluendo.com>
2726
2727         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2728         (gst_fd_src_create):
2729         Add some debugging. 
2730         Only update fd when it's different from the old.
2731
2732 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2733
2734         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
2735           Printf fixes for PPC/OSX, take two (#369366).
2736
2737 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2738
2739         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
2740
2741         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2742         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2743         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2744           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
2745           don't cast to long long for portability reasons, but use
2746           GLib's types instead.
2747
2748 2006-10-30  Michael Smith  <msmith@fluendo.com>
2749
2750         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2751           Get the arguments to lseek() the right way around.
2752           Fixes 367677.
2753
2754 2006-10-30  Wim Taymans  <wim@fluendo.com>
2755
2756         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
2757
2758         * gst/gstinfo.h:
2759         _declspec should be __declspec (two underscores, not one). Fixes 366572.
2760
2761 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2762
2763         Patch by: Kjartan Maraas  <kmaraas at gnome org>
2764
2765         * docs/design/part-MT-refcounting.txt:
2766         * docs/random/wtay/capsnego2-docs:
2767         * gst/gstclock.c:
2768         * gst/gstxml.c:
2769           Typo fixes (#366212).
2770
2771 2006-10-28  Wim Taymans  <wim@fluendo.com>
2772
2773         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2774
2775         * gst/gst.c:
2776         * win32/common/libgstbase.def:
2777         * win32/common/libgstreamer.def:
2778         * win32/vs8/libgstbase.vcproj:
2779         * win32/vs8/libgstcontroller.vcproj:
2780         Add needed entries in .def files.
2781         Use HAVE_UNISTD_H.
2782         Rearrange def files in vs8 solutions. Fixes #366286.
2783
2784 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2785
2786         * win32/common/gstconfig.h:
2787           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
2788           hand-made win32 gstconfig.h. Fixes #366321.
2789
2790 2006-10-27  Wim Taymans  <wim@fluendo.com>
2791
2792         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
2793         (gst_ghost_pad_new_full):
2794         Make acceptcaps return TRUE when we don't have a target, just like
2795         setcaps does.
2796
2797 2006-10-27  Wim Taymans  <wim@fluendo.com>
2798
2799         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2800         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
2801
2802 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
2803
2804         * gst/gststructure.c: (gst_structure_id_set_value):
2805           If someone tries to set a non-UTF8 string field on a structure,
2806           don't just print a warning, but also ignore the request and do
2807           not change/add that field to the structure.
2808
2809         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2810           Test for the above.
2811
2812 2006-10-25  David Schleef  <ds@schleef.org>
2813
2814         * gst/gstinfo.c:
2815           g_hash_table_insert() needs a cast to a non-const pointer duh.
2816
2817 2006-10-25  David Schleef  <ds@schleef.org>
2818
2819         * gst/gstinfo.c:
2820         * gst/gstinfo.h:
2821           Change name parameter of _gst_debug_register_funcptr to const
2822           to reflect the constness of its use in the function as well
2823           as to quiet a gcc warning.
2824
2825 2006-10-25  Edward Hervey  <edward@fluendo.com>
2826
2827         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2828         Don't push the buffer if it's empty.
2829         Closes #363095
2830
2831 2006-10-24  Wim Taymans  <wim@fluendo.com>
2832
2833         * gst/gstevent.h:
2834         Add small comment.
2835
2836         * libs/gst/base/gstbasetransform.c:
2837         (gst_base_transform_sink_eventfunc):
2838         Debug segment values *after* updating them as this is more
2839         interesting.
2840
2841 2006-10-23  Wim Taymans  <wim@fluendo.com>
2842
2843         * docs/design/part-events.txt:
2844         Update some docs.
2845
2846         * docs/design/part-block.txt:
2847         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2848         (gst_pad_push_event):
2849         Revert BLOCKING patch, it tries to be smart without really having a
2850         clear idea what or how. So, now we discard all FLUSHING events again on
2851         a blocking pad. Should fix gnonlin again.
2852
2853 2006-10-23  Wim Taymans  <wim@fluendo.com>
2854
2855         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2856
2857         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2858         (gst_base_src_start), (gst_base_src_activate_push):
2859         Make sure size is always initialized. Fixes #364388.
2860
2861 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
2862
2863         * docs/random/ensonic/distributed.txt:
2864           add some ideas about doing distributed processing
2865
2866         * docs/random/ensonic/profiling.txt:
2867           get_rusage look promising
2868
2869 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2870
2871         * docs/manual/basics-helloworld.xml:
2872           Add a cast in example to fix compile warning
2873
2874 2006-10-18  Wim Taymans  <wim@fluendo.com>
2875
2876         * gst/gstsegment.c: (gst_segment_set_last_stop),
2877         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2878         Relax arg checking again, -1 is allowed.
2879
2880 2006-10-18  Wim Taymans  <wim@fluendo.com>
2881
2882         * gst/gstsegment.c: (gst_segment_set_last_stop),
2883         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2884         _set_last_stop() must be with a value != -1
2885         A _TYPE_SET to -1 means seek to 0.
2886         Calc last_stop correctly for negative rates.
2887         Make sure we work with positive durations when updating a segment.
2888
2889 2006-10-18  Wim Taymans  <wim@fluendo.com>
2890
2891         * docs/design/part-live-source.txt:
2892         * gst/gstclock.h:
2893         Small docs fixes.
2894
2895 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
2896
2897         * gst/gstbuffer.h:
2898           Add an explicit cast to GstBuffer** to keep old code that added an
2899           explicit cast to GstMiniObject** for gst_mini_object_replace()
2900           compiling without warning.
2901
2902 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2903
2904         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
2905           check for validity of dates
2906
2907 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2908
2909         * docs/gst/gstreamer-sections.txt:
2910           Forgot this one, makes gtk-doc shut up.
2911
2912 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2913
2914         Patch by: Peter Kjellerstedt <pkj at axis com>
2915
2916         * gst/gstobject.h:
2917           Don't define xmlNodePtr to gpointer if the core was built with
2918           --disable-loadsave and --disable-registry, this will break
2919           applications that want to use libxml2 but are buildling against a
2920           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
2921           instead so we don't have to mess with the libxml2 namespace
2922           (#361675).
2923
2924 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2925
2926         * gst/gstbuffer.h:
2927           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
2928           type-punned pointer warnings.
2929
2930 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2931
2932         * gst/gstelement.h:
2933           Add casts to the correct return type to state <=> state transition
2934           macros.
2935
2936 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
2937
2938         * docs/design/part-live-source.txt:
2939           describe howto handle latency
2940         
2941         * docs/random/ensonic/profiling.txt:
2942           more ideas
2943
2944         * tools/gst-plot-timeline.py:
2945           fix log parsing for solaris, remove unused function
2946
2947 2006-10-16  Wim Taymans  <wim@fluendo.com>
2948
2949         * docs/design/part-trickmodes.txt:
2950         * gst/gstevent.c:
2951         Update some docs regarding reverse playback.
2952
2953 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2954
2955         Patch by: Marcus Granado  <mrc dot gran at gmail com>
2956
2957         * win32/vs8/grammar.vcproj:
2958           Error out with a warning if glib-genmarshal.exe is not in path,
2959           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
2960
2961 2006-10-13  Wim Taymans  <wim@fluendo.com>
2962
2963         * gst/gstsegment.c: (gst_segment_set_seek):
2964         When seeking to stop -1, set last_stop (current position) to the
2965         duration of the segment.
2966
2967 2006-10-13  Wim Taymans  <wim@fluendo.com>
2968
2969         * gst/gstelement.h:
2970         Clarify _NO_PREROLL a bit more.
2971
2972         * gst/gstevent.c:
2973         Fix docs.
2974
2975         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
2976         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
2977         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
2978         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
2979         due to wrong locking order. Fixes #361769.
2980         Remove some redundant/misplaced checks in pad_block.
2981
2982         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2983         For negative rates, count backwards from the duration.
2984
2985 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2986
2987         * gst/gsterror.c: (_gst_library_errors_init):
2988           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
2989           up with something better).
2990
2991 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2992
2993         * win32/vs6/libgstreamer.dsp:
2994         * win32/vs7/libgstreamer.vcproj:
2995         * win32/vs8/libgstreamer.vcproj:
2996           Don't reference glib-compat.c which is currently not used and not
2997           disted; add gstquark.c which was recently added. Fixes #361730.
2998
2999 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
3000
3001         * win32/common/libgstbase.def:
3002         * win32/common/libgstcontroller.def:
3003         * win32/common/libgstreamer.def:
3004           Add gst_caps_merge() and a bunch of other recently-added functions.
3005           Fixes #361732.
3006
3007 2006-10-11  Wim Taymans  <wim@fluendo.com>
3008
3009         * docs/plugins/gstreamer-plugins.args:
3010         * docs/plugins/inspect/plugin-coreelements.xml:
3011         * docs/plugins/inspect/plugin-coreindexers.xml:
3012         Update element args.
3013
3014         * gst/gstsystemclock.c:
3015         Small comment update.
3016
3017         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
3018         (gst_tee_request_new_pad), (gst_tee_release_pad),
3019         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
3020         (gst_tee_sink_activate_pull):
3021         * plugins/elements/gsttee.h:
3022         Some tee loving:
3023         Add default property defines.
3024         Implement release pad function.
3025         Give properties better blubs etc.
3026         Activate pads before adding them to a running tee.
3027         Do simple buffer_alloc on the first requested pad.
3028         Post error when activation fails.
3029
3030 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
3031
3032         * gst/gst.c: (ensure_current_registry_forking):
3033           Check return value of write() to make compiler happy.
3034
3035 2006-10-11  Wim Taymans  <wim@fluendo.com>
3036
3037         Patch by: Sjoerd Simons <sjoerd at luon dot net>
3038
3039         * plugins/elements/gstqueue.c: (gst_queue_chain):
3040         Recheck queue filledness after signalling the overrun when we're about
3041         to leak downstream because we released the lock when emitting the signal
3042         and the queue could be empty again. Fixes #352345.
3043
3044 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
3045
3046         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
3047           Fix refcounting here too, just like we did for _new_valist() a few
3048           days ago (#357180) (thanks to René Stadler). Also remove all those
3049           'Since: 0.9' from the gtk-doc blobs.
3050
3051         * tests/check/libs/controller.c: (controller_refcount_new_list),
3052         (gst_controller_suite):
3053           Unit test for the above.
3054
3055 2006-10-10  Wim Taymans  <wim@fluendo.com>
3056
3057         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
3058
3059         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
3060         (gst_pad_save_thyself):
3061         Update some docs.
3062         Write pad direction in XML output. Fixes #345496.
3063
3064 2006-10-10  Wim Taymans  <wim@fluendo.com>
3065
3066         Patch by: René Stadler <mail at renestadler dot de>
3067
3068         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3069         (gst_controller_new_list), (_gst_controller_dispose),
3070         (_gst_controller_finalize), (_gst_controller_class_init):
3071         Take ref to controlled object so that it cannot disappear. 
3072         Fixes #357432.
3073
3074 2006-10-10  Wim Taymans  <wim@fluendo.com>
3075
3076         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
3077         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
3078         (gst_check_teardown_sink_pad):
3079         Activate/deactivate pads in setup/teardown respectively.
3080
3081 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3082
3083         Patch by: Josep Torre Valles <josep@fluendo.com>
3084
3085         * gst/Makefile.am:
3086         Cast values when making gstenumtypes.h.  This pacifies Forte
3087         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
3088         in the enumeration.
3089
3090 2006-10-09  Wim Taymans  <wim@fluendo.com>
3091
3092         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
3093         Rename some more @cur to @start to fix docs. 
3094
3095         * gst/gstsegment.c: (gst_segment_set_seek):
3096         Fix typo.
3097         time and start must always stay in sync as defined in design doc.
3098
3099         * gst/gsttaglist.c: (gst_tag_list_is_empty):
3100         Rename param to fix docs.
3101
3102         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3103         Check that start and time are in sync.
3104
3105         * tests/check/pipelines/parse-launch.c:
3106         (gst_parse_test_element_change_state):
3107         Activate pad before adding to the element.
3108
3109 2006-10-09  Wim Taymans  <wim@fluendo.com>
3110
3111         * docs/design/part-qos.txt:
3112         Fix typo.
3113
3114         * gst/gstevent.c:
3115         * gst/gstevent.h:
3116         Update seek event docs regarding negative rates.
3117         Rename @cur to @start. 
3118
3119         * gst/gstsegment.c: (gst_segment_set_seek):
3120         * gst/gstsegment.h:
3121         Update set_seek docs regarding negative rates.
3122         Correctly update last_stop to @stop when dealing with negative
3123         rates.
3124         Rename @cur to @start. 
3125
3126         * tests/check/gst/gstpad.c: (GST_START_TEST):
3127         Activate pads before trying to use them.
3128
3129         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3130         (gst_segment_suite):
3131         Add simple check for segments and negative rates.
3132
3133 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3134
3135         * gst/gsttaglist.c: (gst_tag_list_is_empty):
3136         * gst/gsttaglist.h:
3137         * docs/gst/gstreamer-sections.txt:
3138           API: add gst_tag_list_is_empty() (#360467).
3139
3140         * tests/check/gst/gsttag.c: (GST_START_TEST):
3141           And a test case.
3142
3143 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3144
3145         * gst/gstmessage.h:
3146         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
3147         a value that doesn't fit on enumeration.
3148
3149 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3150
3151         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3152         Remove local debugging system and use Gstreamer's instead.
3153
3154 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3155
3156         Patch by: Josep Torre Valles <josep@fluendo.com>
3157
3158         * common/m4/gst-error.m4:
3159         Disable warning of statement not reached on Forte.
3160         * gst/gstmessage.h:
3161         Fix warning on Forte (value doesn't fit on enumeration).
3162         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
3163         Fix warning on Forte (value doesn't fit on enumeration).
3164         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3165         DEBUG macro says it takes minimum of 2 args and so Forte
3166         complains about the use with just 1 arg.
3167         * plugins/elements/gstfdsink.c:
3168         * plugins/elements/gstfdsrc.c:
3169         * plugins/elements/gstfilesink.c:
3170         * plugins/elements/gstfilesrc.c:
3171         Use correct return type for the uri handler implementations.
3172
3173         All these fix warnings in Forte.  Fixes bug #360860.
3174
3175 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3176
3177         * gst/gstelement.h:
3178           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
3179           format string, so don't use G_GNUC_PRINTF for those versions.
3180
3181 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
3182
3183         * gst/gsttaglist.c: (gst_is_tag_list):
3184         * gst/gsttaglist.h:
3185           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
3186
3187         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
3188           Small test for the above.
3189
3190 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
3191
3192         * gst/gsttaglist.h:
3193           Less tabs, more spaces.
3194
3195 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
3196
3197         * gst/gstinfo.h:
3198           Those two function declarations do actually belong there, revert
3199           commit from yesterday that turned them intro macros.
3200
3201 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3202
3203         Patch by: Josep Torre Valles <josep@fluendo.com>
3204
3205         * gst/gst.c: (gst_init_get_option_group):
3206         Fix empty declaration and type mismatch.
3207         * gst/gstbin.c: (gst_bin_change_state_func):
3208         Fix type mismatch.
3209         * gst/gstelement.c: (gst_element_continue_state),
3210         (gst_element_set_state_func), (gst_element_change_state),
3211         (gst_element_change_state_func):
3212         Fix type mismatches.
3213         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
3214         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
3215         Cast as appropriate.
3216         * gst/gstobject.c: (gst_class_signal_connect):
3217         Cast as appropriate.  The function pointer parameter really
3218         has the wrong type but would break API if we change it.
3219         * gst/gstquery.c:
3220         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
3221         order of including string.h.
3222         * gst/gstutils.c: (gst_element_state_get_name):
3223         Remove unreachable line.
3224         * gst/gstxml.c: (gst_xml_parse_doc):
3225         Fix type mismatch.
3226         All these caught by Forte.
3227
3228 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3229
3230         Patch by: Josep Torre Valles <josep@fluendo.com>
3231
3232         * common/m4/gst-error.m4:
3233         Fixed bug #360151.
3234         We need to disable warnings on Forte for empty declarations
3235         due to gst-indent adding ;s to lines that just use macros
3236         where the macro actually doesn't need a ; at end to end
3237         statement.
3238
3239 2006-10-06  Wim Taymans  <wim@fluendo.com>
3240
3241         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
3242         (gst_file_sink_close_file), (gst_file_sink_event),
3243         (gst_file_sink_render):
3244         Add some FIXME for the NEWSEGMENT handling.
3245
3246 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3247
3248         * gst/parse/grammar.y:
3249         Remove static function gst_parse_element_lock as all it does
3250         is return.  Looks like cruft from 0.8.
3251
3252 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3253
3254         Patch by: Josep Torre Valles <josep@fluendo.com>
3255
3256         * common/m4/gst-error.m4:
3257         * configure.ac:
3258         * libs/gst/net/Makefile.am:
3259         Fix a compilation issue with Forte on Solaris.  inet_aton is in
3260         libresolv.
3261
3262 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
3263
3264         * gst/gstpad.c: (pre_activate):
3265         * gst/gstregistry.c: (gst_registry_scan_path_level):
3266         * gst/gstregistryxml.c: (load_plugin):
3267         * libs/gst/controller/gstcontroller.c:
3268         (gst_controlled_property_set_interpolation_mode):
3269         * libs/gst/dataprotocol/dataprotocol.c:
3270         (gst_dp_packet_from_event_1_0):
3271         * libs/gst/net/gstnetclientclock.c:
3272         (gst_net_client_clock_observe_times):
3273         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3274           Printf fixes.
3275
3276 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
3277
3278         * configure.ac:
3279         * docs/gst/gstreamer-sections.txt:
3280         * gst/gstconfig.h.in:
3281         * gst/gstelement.h:
3282         * gst/gstinfo.h:
3283           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
3284           whether we can use G_GNUC_PRINTF in other header files and at
3285           least check the printf format/arguments of debug messages and
3286           GST_ELEMENT_ERROR messages when the printf extension is not
3287           being used.
3288           Replace more tabs with spaces in gstinfo.h and remove two spurious
3289           function declarations in GST_DISABLE_DEBUG part with macros.
3290
3291 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
3292
3293         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
3294           More docs for the sync-message signal (mention that it is not
3295           emitted by default); log message structures of messages posted on
3296           the bus as well.
3297
3298 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
3299
3300         * gst/gst.c: (ensure_current_registry_forking):
3301         Use a pipe pair to receive status results from the forked child, and
3302         ignore the result from waitpid. Fixes #355499
3303
3304 2006-10-02  Wim Taymans  <wim@fluendo.com>
3305
3306         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3307         (gst_ghost_pad_suite):
3308         Fix leak in check.
3309
3310 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3311
3312         * gst/gstpad.c:
3313           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
3314
3315 2006-10-02  Edward Hervey  <edward@fluendo.com>
3316
3317         * docs/design/part-block.txt:
3318         Further explain the use of flushing on blocked pads.
3319         * docs/gst/gstreamer-sections.txt:
3320         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
3321         (gst_pad_push_event):
3322         * gst/gstpad.h:
3323         Added new GstPadFlag : GST_PAD_BLOCKING.
3324         Adds the notion of pads really blocking, which enables to properly
3325         handle FLUSH_START/FLUSH_STOP events on blocked pads.
3326         Fixes #358999
3327         API: gst_pad_is_blocking()
3328         API: GST_PAD_IS_BLOCKING() macro
3329         API: GST_PAD_BLOCKING GstPadFlag
3330         
3331 2006-10-02  Wim Taymans  <wim@fluendo.com>
3332
3333         Patch by: mrcgran <mrc.gran at gmail dot com>
3334
3335         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
3336         Filter the proxied caps against the padtemplate if we have one.
3337
3338         * gst/gstquery.c: (gst_query_new_segment):
3339         Add include for gstinfo.h so that compilation with
3340         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
3341
3342 2006-10-02  Wim Taymans  <wim@fluendo.com>
3343
3344         Patch by: Alessandro Decina  <alessandro at nnva org>
3345
3346         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
3347         (gst_file_sink_set_location), (gst_file_sink_open_file),
3348         (gst_file_sink_close_file), (gst_file_sink_event),
3349         (gst_file_sink_render):
3350         Set file to NULL when closing filesink so that we can set a new filename
3351         in READY. Fixes #358613.
3352
3353 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3354
3355         Patch by: Alessandro Decina  <alessandro at nnva org>
3356
3357         * gst/gstevent.c: (_gst_event_copy):
3358           Fix gst_mini_object_make_writable() and gst_event_copy() for events
3359           with event structures by setting the parent refcount address of the
3360           copied structure to the address of the refcount member of the newly
3361           copied event rather than the address of the refcount member of the
3362           original event. Fixes #358737.
3363
3364         * tests/check/gst/gstevent.c: (GST_START_TEST):
3365           Unit test for the above.
3366
3367 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
3368
3369         * docs/design/Makefile.am:
3370           Dist some more files.
3371
3372 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3373
3374         * tests/check/libs/controller.c: (GST_START_TEST),
3375         (gst_controller_suite):
3376           Add test for the previous fix; add some more tests
3377           for correct refcounting behaviour; fix a few leaks
3378           in test cases; call gst_controller_init() at start
3379           of all tests.
3380
3381 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3382
3383         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3384         (gst_controller_set_from_list):
3385           Don't g_return_val_if_fail() on timed values with invalid timestamps
3386           inside a critical section without unlocking the mutex. Spotted by
3387           René Stadler. (#357617)
3388           Also, fix up refcounting properly: when returning an existing
3389           controller, we should increase the reference only once and not
3390           once per property and when trying to control a property again
3391           we should also increase the refcount.
3392
3393 2006-09-29  Wim Taymans  <wim@fluendo.com>
3394
3395         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3396         * libs/gst/net/gstnettimeprovider.c:
3397         (gst_net_time_provider_thread):
3398         Stop reading commands when EOF as well.
3399
3400         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3401         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3402         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3403         Unify description of the dump property.
3404
3405 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3406
3407         * tests/examples/manual/.cvsignore:
3408         OK, so it's actually cvsignore that needs changing. Stop laughing.
3409
3410 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3411
3412         * tests/examples/manual/Makefile.am:
3413         Gah, declare vars *before* using them
3414
3415 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3416
3417         * gst/gst.c: (init_pre), (scan_and_update_registry),
3418         (ensure_current_registry_nonforking),
3419         (ensure_current_registry_forking), (ensure_current_registry),
3420         (init_post), (gst_debug_help), (gst_deinit):
3421         * gst/gst_private.h:
3422         * gst/gstregistry.c: (gst_registry_finalize),
3423         (gst_registry_remove_features_for_plugin_unlocked),
3424         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3425         (gst_registry_scan_path),
3426         (_priv_gst_registry_remove_cache_plugins),
3427         (_priv_gst_registry_cleanup):
3428         * gst/gstregistry.h:
3429         Re-commit the registry changes, along with an extra fix:
3430           When a cached plugin is encountered at a different file path,
3431           update the stored path in the registry cache so that the parent
3432           process knows where it actually is now when it re-reads the registry
3433           cache. Fixes the thing that broke distcheck with the previous commit.
3434
3435         * tests/check/Makefile.am:
3436         Clean up files named 'core' too when running make clean.
3437
3438         * tests/examples/manual/Makefile.am:
3439         Set up a registry path for running these tests, and clean it properly
3440         for distcheck.
3441
3442 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3443
3444         * configure.ac:
3445         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
3446         want gmodule-no-export-2.0.pc instead so that we don't drag in
3447         --export-dynamic on every project that links to GStreamer.
3448
3449         Also, make our export regex only match the start of symbols, rather 
3450         than any symbol that contains '_gst' somewhere.
3451
3452         * libs/gst/check/Makefile.am:
3453         The libgstcheck we build does however need export-dynamic, as it
3454         produces some symbols that don't match our _gst... style regex.
3455         Fixes: #318031
3456
3457 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
3458
3459         * gst/gst.c: (init_pre), (scan_and_update_registry),
3460         (ensure_current_registry_nonforking),
3461         (ensure_current_registry_forking), (ensure_current_registry),
3462         (init_post), (gst_debug_help), (gst_deinit):
3463         * gst/gst_private.h:
3464         * gst/gstregistry.c: (gst_registry_finalize),
3465         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3466         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
3467         (_gst_registry_cleanup):
3468         * gst/gstregistry.h:
3469           Revert previous change until I figure out why it breaks distcheck.
3470
3471 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
3472
3473         * gst/gst.c: (init_pre), (scan_and_update_registry),
3474         (ensure_current_registry_nonforking),
3475         (ensure_current_registry_forking), (ensure_current_registry),
3476         (init_post), (gst_debug_help), (gst_deinit):
3477
3478           Make init_pre and init_post take the full complement of GOptionFunc
3479           args so they can return useful GErrors. Make the registry updating
3480           functions do so.
3481
3482           Call _priv_gst_registry_remove_cache_plugins after scanning files to
3483           ensure that the registry we're about to write out doesn't contain
3484           stale information about old-deleted plugin files.
3485
3486           Make _priv_gst_registry_remove_cache_plugins return a boolean so
3487           that deletion of plugin files is considered a registry change.
3488
3489         * gst/gst_private.h:
3490         * gst/gstregistry.c: (gst_registry_finalize),
3491         (gst_registry_remove_features_for_plugin_unlocked),
3492         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3493         (gst_registry_scan_path),
3494         (_priv_gst_registry_remove_cache_plugins),
3495         (_priv_gst_registry_cleanup):
3496         * gst/gstregistry.h:
3497         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
3498         by adding _priv prefix, so that they won't appear in the global
3499         symbol table. They still do atm though because of #318031. Move the
3500         prototypes to gst_private.h
3501
3502         When removing a plugin, remove all features for that plugin too. 
3503         Fixes #340878.
3504
3505 2006-09-27  Wim Taymans  <wim@fluendo.com>
3506
3507         * docs/random/moving-plugins:
3508         Make it clear that the "compiled-in descriptions" really mean
3509         the element details.
3510
3511         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3512         (gst_base_sink_wait_preroll):
3513         Update docs.
3514
3515         * docs/libs/gstreamer-libs-sections.txt:
3516         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3517         (gst_base_src_get_range), (gst_base_src_activate_push):
3518         * libs/gst/base/gstbasesrc.h:
3519         Added function to block while waiting for PLAYING, this function
3520         is used by live sources that block on the clock.
3521         API: gst_base_src_wait_playing()
3522
3523 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3524
3525         Patch by: Peter Kjellerstedt <pkj at axis com>
3526
3527         * Makefile.am:
3528           gst-element-check.m4 is generated and should therefore be
3529           copied from the build dir rather than the source dir (#357593).
3530           'make distcheck' hasn't noticed this because we were disting
3531           the file as well, so stop doing that.
3532
3533 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3534
3535         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3536           Add some tests for gst_caps_intersect().
3537
3538         * tools/gst-launch.c: (event_loop):
3539           Print all buffering percentages we get, even the 100% one.
3540
3541 2006-09-26  Wim Taymans  <wim@fluendo.com>
3542
3543         * tools/gst-inspect.c: (print_element_properties_info),
3544         (print_signal_info):
3545         Fix printing of flags to match the look of enums.
3546
3547 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3548
3549         * gst/gstelementfactory.c:
3550           Fix typo in docs blurb.
3551
3552 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3553
3554         * gst/gsturi.c: (search_by_entry):
3555           Don't assert/crash here if a uri handler doesn't return any
3556           supported protocols. The list of protocols could be generated
3557           dynamically at runtime or at plugin registration, and an error
3558           in the underlying library shouldn't be fatal (#353301).
3559
3560 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3561
3562         * gst/gstinfo.c:
3563           Fix warning if HAVE_PRINTF_EXTENSION is undefined
3564           (spotted by Peter Kjellerstedt).
3565
3566 2006-09-23  Wim Taymans  <wim@fluendo.com>
3567
3568         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
3569
3570         * libs/gst/base/gstbasesrc.c:
3571         (gst_base_src_default_check_get_range), (gst_base_src_start),
3572         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3573         (gst_base_src_change_state):
3574         Match _start/_stop calls in the activate functions. Remove redundant
3575         _stop call from the state change function. Fixes #356910.
3576         Turn failure DEBUG into ERROR. 
3577
3578 2006-09-22  Wim Taymans  <wim@fluendo.com>
3579
3580         * docs/design/part-buffering.txt:
3581         * gst/gstmessage.c: (gst_message_new_buffering),
3582         (gst_message_parse_buffering):
3583         Update docs about buffering.
3584
3585         * docs/design/part-trickmodes.txt:
3586         Fix typo.
3587
3588 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
3589
3590         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3591         (gst_controller_new_list):
3592           Ref instances when returning them again (fixes #357180)
3593
3594 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
3595
3596         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
3597           Don't forget to release proxy lock when there's an error.
3598
3599 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
3600
3601         * gst/gstcaps.h:
3602           Add extra initialisers for Caps things, to fix some plugin warnings
3603           when using -Wextra
3604
3605 2006-09-18  Wim Taymans  <wim@fluendo.com>
3606
3607         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
3608           Also set template on the internal pad so that a getcaps from the 
3609           target pad returns the template caps.
3610
3611 2006-09-18  Wim Taymans  <wim@fluendo.com>
3612
3613         * gst/gstelement.c: (gst_element_post_message),
3614         (gst_element_dispose):
3615         Use _DEBUG_OBJECT some more.
3616
3617         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3618         Avoid typechecks.
3619
3620         * tools/gst-launch.c: (main):
3621         If the toplevel element is not a GstPipeline, it must be put in a
3622         pipeline so that a bus and clock is selected.
3623
3624 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3625
3626         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3627           JITTER, RATE, and LATENCY query should be handled by the
3628           default case and not by the CONVERT query code.
3629
3630 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3631
3632         * gst/gstformat.c: (gst_format_register):
3633           Fix locking order (must take lock before using n_values).
3634
3635         * gst/gstvalue.c: (gst_value_serialize_enum),
3636         (gst_value_deserialize_enum_iter_cmp),
3637         (gst_value_deserialize_enum):
3638           Fix serialisation/deserialisation of custom registered GstFormats.
3639
3640         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3641           Unit test for custom format serialisation/deserialisation.
3642
3643 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
3644
3645         * docs/pwg/building-boiler.xml:
3646         * plugins/elements/gstcapsfilter.c:
3647         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
3648         section.
3649
3650 2006-09-16  Edward Hervey  <edward@fluendo.com>
3651
3652         * libs/gst/base/gstbasetransform.c:
3653         (gst_base_transform_buffer_alloc):
3654         Check if requested caps are the same as the sinks caps IF
3655         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
3656         is FALSE.
3657         This fixes the renegotiation issues stated in #352827.
3658
3659 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3660
3661         * configure.ac:
3662         * docs/manual/advanced-autoplugging.xml:
3663         * tests/examples/Makefile.am:
3664         * tests/examples/manual/.cvsignore:
3665         * tests/examples/manual/Makefile.am:
3666         * tests/examples/manual/extract.pl:
3667           Extract the manual examples again like we used to do.
3668           Fix one of them.
3669
3670 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3671
3672         * win32/common/config.h:
3673           update for version
3674
3675 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
3676
3677         * gst/gsterror.c:
3678           Documents how to receive errors.
3679
3680 2006-09-15  Wim Taymans  <wim@fluendo.com>
3681
3682         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
3683         (event_loop), (main):
3684         Added some comments here and there.
3685         Post an application message when an interrupt is caught instead of doing
3686         an uncontrolled state change.
3687         Clean up the event loop.
3688         Handle buffering messages, pause/resume the pipeline.
3689         Make shutdown because of an interrupt more reliable.
3690
3691 2006-09-15  Wim Taymans  <wim@fluendo.com>
3692
3693         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3694         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
3695         (gst_base_sink_preroll_object):
3696         Make sure that our internal state is correct when we commit our state
3697         asynchronously. This solves a race where a state change to PLAYING
3698         could cause the sink to remain blocked in preroll in some situations.
3699
3700 2006-09-15  Wim Taymans  <wim@fluendo.com>
3701
3702         * tools/gst-inspect.c: (print_element_properties_info),
3703         (print_signal_info):
3704         List flags as hex so it's easier to deal with.
3705
3706 2006-09-15  Wim Taymans  <wim@fluendo.com>
3707
3708         * docs/libs/gstreamer-libs-sections.txt:
3709         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
3710         (gst_base_sink_do_sync):
3711         * libs/gst/base/gstbasesink.h:
3712         Expose logic to wait for preroll so that subclasses such as audiosink
3713         can also use this method.
3714         API: gst_base_sink_wait_preroll()
3715
3716 2006-09-15  Wim Taymans  <wim@fluendo.com>
3717
3718         * gst/gstobject.c: (gst_object_set_parent):
3719         * gst/gstpipeline.c: (do_pipeline_seek):
3720         Small cleanups in docs and code.
3721
3722         * gst/gstsegment.c: (gst_segment_clip):
3723         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3724         if stop == start and start is in the segment, no clipping should be
3725         done. Also add a test for this.
3726
3727 2006-09-15  Wim Taymans  <wim@fluendo.com>
3728
3729         * docs/design/part-buffering.txt:
3730         * docs/gst/gstreamer-sections.txt:
3731         * gst/gstmessage.c: (gst_message_new_buffering),
3732         (gst_message_parse_buffering):
3733         * gst/gstmessage.h:
3734         Added methods to create and parse BUFFERING messages.
3735         Added preliminary docs about buffering.
3736         API: gst_message_new_buffering
3737         API: gst_message_parse_buffering
3738
3739 2006-09-06  Wim Taymans  <wim@fluendo.com>
3740
3741         * gst/gstbin.c:
3742         Update documentation.
3743
3744         * gst/gstelement.c: (gst_element_class_init),
3745         (gst_element_release_request_pad), (gst_element_set_clock),
3746         (gst_element_get_index), (gst_element_add_pad),
3747         (gst_element_remove_pad), (gst_element_get_random_pad),
3748         (gst_element_send_event), (gst_element_get_query_types),
3749         (gst_element_query), (gst_element_post_message),
3750         (gst_element_message_full), (gst_element_continue_state),
3751         (gst_element_lost_state), (gst_element_save_thyself),
3752         (gst_element_restore_thyself):
3753         Documentation updates.
3754         Rename last bit of the new-pad -> pad-added signal rename.
3755         Fix the case where an element query would only work if the source
3756         pad was linked.
3757         Avoid some useless type checking in message handling.
3758
3759         * gst/gstevent.c:
3760         * gst/gstevent.h:
3761         * gst/gstutils.c:
3762         Documentation updates.
3763
3764 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3765
3766         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3767           add an INFO line for when we actually update the fd
3768
3769 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3770
3771         * configure.ac:
3772           back to TRUNK
3773
3774 === release 0.10.10 ===
3775
3776 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
3777
3778         * configure.ac:
3779           releasing 0.10.10, "Pais"
3780
3781 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
3782
3783         * docs/manual/advanced-position.xml:
3784           Fix typo in sample code.
3785
3786 2006-09-05  Wim Taymans  <wim@fluendo.com>
3787
3788         * libs/gst/net/gstnetclientclock.c: (inet_aton),
3789         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3790         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
3791         * libs/gst/net/gstnetclientclock.h:
3792         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3793         * libs/gst/net/gstnettimepacket.h:
3794         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
3795         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
3796         (gst_net_time_provider_thread), (gst_net_time_provider_new):
3797         * libs/gst/net/gstnettimeprovider.h:
3798         Make stuff compile on windows. Fixes #345295.
3799
3800 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3801
3802         * gst/gst.c: (ensure_current_registry_forking):
3803           Print better details when child was terminated by signal.
3804
3805 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3806
3807         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
3808           Print a warning rather than g_assert() if a plugin feature
3809           is a URI handler but returns no protocols (#353976).
3810
3811 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
3812
3813         * docs/random/moving-plugins:
3814         Fix two typos.         
3815
3816 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
3817
3818         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
3819           Fix locking order, handle NULL function values properly.
3820
3821         * gst/gstinfo.h:
3822           Fix docs.
3823
3824         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3825           Initialise variable before using it and fix debug statement to
3826           print the address of the function rather than the address of the
3827           variable on the stack holding the address of the function.
3828
3829 2006-09-01  Wim Taymans  <wim@fluendo.com>
3830
3831         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
3832         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
3833         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3834         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
3835         (gst_ghost_pad_parent_unset),
3836         (gst_ghost_pad_internal_do_activate_push),
3837         (gst_ghost_pad_internal_do_activate_pull),
3838         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3839         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3840         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3841         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
3842         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
3843         (gst_ghost_pad_new_no_target_from_template),
3844         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3845         More cleanups.
3846         Avoid needless typechecking in macros.
3847         Since the internal pad is always present and never changes, there is
3848         no need to locking or ref when retrieving it.
3849         Improve debugging a bit.
3850         Handle link errors when setting the target. Fixes #341029.
3851
3852 2006-09-01  Wim Taymans  <wim@fluendo.com>
3853
3854         * docs/libs/gstreamer-libs-sections.txt:
3855         * docs/plugins/gstreamer-plugins-sections.txt:
3856         Fix docs some more.
3857
3858         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3859         (gst_collect_pads_event):
3860         * libs/gst/base/gstcollectpads.h:
3861         Documentation updates.
3862         Free queued buffer when removing a pad.
3863
3864 2006-08-31  Michael Smith  <msmith@fluendo.com>
3865
3866         * gst/gstutils.c: (gst_element_link_pads),
3867         (gst_element_link_pads_filtered):
3868           Ensure that we set a capsfilter to NULL if we failed to link it
3869           when doing filtered linking, to avoid criticals.
3870
3871           No need to check for unreffing srcpad, which is explicly NULLed
3872           above (a trivial code cleanup).
3873
3874 2006-08-31  Wim Taymans  <wim@fluendo.com>
3875
3876         * docs/design/part-gstghostpad.txt:
3877         Update ascii art in documentation.
3878
3879         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
3880         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
3881         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
3882         (gst_ghost_pad_internal_do_activate_push),
3883         (gst_ghost_pad_internal_do_activate_pull),
3884         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3885         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3886         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
3887         (gst_ghost_pad_set_target):
3888         Small cleanups and leak fixes.
3889         Remove some checks now that the internal pad is never NULL.
3890         Fix the case where linking pads without a target would create nasty
3891         criticals. Fixes #341029.
3892         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
3893         value of _set_target().
3894
3895         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3896         (gst_ghost_pad_suite):
3897         Some more tests for creating and linking untargeted ghostpads.
3898
3899 2006-08-31  Edward Hervey  <edward@fluendo.com>
3900
3901         * docs/gst/gstreamer-sections.txt:
3902         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
3903         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
3904         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
3905         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
3906         (gst_ghost_pad_new_from_template),
3907         (gst_ghost_pad_new_no_target_from_template):
3908         * gst/gstghostpad.h:
3909         Refactored *_new() functions.
3910         Templates are now used as a g_object_new() parameter.
3911         Use template in _do_getcaps() if we don't have a target.
3912         Small documentation cleanups.
3913         Added two new constructors:
3914         gst_ghost_pad_new_from_template()
3915         gst_ghost_pad_new_no_target_from_template()
3916         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3917         (gst_ghost_pad_suite):
3918         Added tests for new ghostpad instanciation functions.
3919
3920         API additions: gst_ghost_pad_new_from_template,
3921         gst_ghost_pad_new_no_target_from_template
3922
3923 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
3924
3925         * docs/random/ensonic/profiling.txt:
3926           Ideas about qos profiling.
3927
3928 2006-08-29  Wim Taymans  <wim@fluendo.com>
3929
3930         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
3931         Code cleanups.
3932         Fix memleak.
3933
3934 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
3935
3936         * gst/gstxml.c:
3937           Improve and detypofy docs.
3938
3939         * tests/check/Makefile.am:
3940         * tests/check/gst/.cvsignore:
3941         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
3942           Add a basic test suite for GstXML.
3943
3944 2006-08-29  Wim Taymans  <wim@fluendo.com>
3945
3946         * gst/gstelement.c: (activate_pads), (clear_caps),
3947         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
3948         Clear the pad caps when the element shut down all of the pads and
3949         is not streaming data that could modify the caps. 
3950         Fixes #352958.
3951
3952 2006-08-28  Michael Smith  <msmith@fluendo.com>
3953
3954         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3955           Revert previous change; I misunderstood single-segment mode.
3956
3957 2006-08-28  Michael Smith  <msmith@fluendo.com>
3958
3959         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3960           Unset DISCONT on buffers when using single-segment mode.
3961
3962 2006-08-28  Wim Taymans  <wim@fluendo.com>
3963
3964         * gst/gstcaps.c: (gst_caps_merge_structure):
3965         * gst/gstcaps.h:
3966         Fix docs and indentation again.
3967
3968         * tests/check/gst/gstquery.c: (GST_START_TEST):
3969         Fix leak in tests and add some more tests.
3970
3971 2006-08-28  Edward Hervey  <edward@fluendo.com>
3972
3973         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3974         Inform GstSegment of the last stop position in order for the current
3975         segment to have a proper duration if it doesn't have a specific stop
3976         position from which a duration could be calculated.
3977         This bug was noticeable when a non-flushing, non-update new segment was
3978         followed by another segment (all buffers from the new segment were being
3979         dropped).
3980
3981 2006-08-28  Wim Taymans  <wim@fluendo.com>
3982
3983         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3984         Small comment update.
3985
3986         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3987         (gst_identity_transform_ip):
3988         Drop-probability is broken, mention this in the code with a 
3989         FIXME and also in the property description.
3990         Make silent also be silent about the drop messages.
3991
3992 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
3993
3994         * docs/manual/appendix-win32.xml:
3995           Remove mention of popt, we don't depend on that any
3996           longer (#353136). Add some comments pointing out that
3997           this section is slightly outdated.
3998
3999 2006-08-28  Wim Taymans  <wim@fluendo.com>
4000
4001         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
4002
4003         * gst/gstquery.c: (gst_query_new_segment):
4004         * tests/check/gst/gstquery.c: (GST_START_TEST):
4005         Initialize variables when creating a new segment query.
4006         Fixes #353121.
4007
4008 2006-08-28  Wim Taymans  <wim@fluendo.com>
4009
4010         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
4011
4012         * gst/gstelement.c: (gst_element_get_bus):
4013         * tests/check/gst/gstelement.c: (GST_START_TEST):
4014         Check for NULL before _reffing the bus. Fixes #353122.
4015
4016 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
4017
4018         * docs/manual/basics-bus.xml:
4019           Docs update: fix wrong callback return value explanation; add
4020           some lines about the implicit relationship between main loop
4021           and main context; remove duplicate main loop variable declaration.
4022
4023 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
4024
4025         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4026           Don't leak caps in unit test; add a few more simple
4027           checks. 
4028
4029 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
4030
4031         * docs/gst/gstreamer-sections.txt:
4032         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
4033         (gst_caps_structure_is_subset), (gst_caps_merge),
4034         (gst_caps_merge_structure):
4035         * gst/gstcaps.h:
4036         * libs/gst/base/gstbasetransform.c:
4037         (gst_base_transform_transform_caps):
4038         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4039           implement caps merging (fixes #352580)
4040
4041 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
4042
4043         * tools/Makefile.am:
4044         * tools/gst-plot-timeline.py:
4045           add debug-log plotting developer tool (#340674)
4046
4047 2006-08-23  Wim Taymans  <wim@fluendo.com>
4048
4049         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
4050         (gst_pad_stop_task):
4051         Improve debugging for task functions.
4052
4053         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
4054         (gst_task_start), (gst_task_pause), (gst_task_join):
4055         Make sure that the task function started and finished after a 
4056         join(). 
4057         Don't try to push the task function on the threadpool multiple
4058         times.
4059         Improve the g_warning message with some useful suggestions
4060         about how to fix the problem. 
4061
4062 2006-08-23  Wim Taymans  <wim@fluendo.com>
4063
4064         * gst/gstutils.c: (gst_pad_proxy_getcaps):
4065         Handle RESYNC correctly in _proxy_getcaps.
4066
4067 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
4068
4069         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
4070         (gst_xml_parse_memory), (gst_xml_get_element):
4071           Chain up to parent class in dispose function and also
4072           unref the elements in the toplevel_elements GList.
4073           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
4074           Always return a reference in gst_xml_get_element() rather
4075           than only sometimes.
4076
4077         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4078           Don't leak GstXml object.
4079
4080 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
4081
4082         * docs/gst/gstreamer-sections.txt:
4083         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
4084         (gst_caps_merge):
4085         * gst/gstcaps.h:
4086         * libs/gst/base/gstbasetransform.c:
4087         (gst_base_transform_transform_caps):
4088           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
4089           in a better way
4090
4091 2006-08-21  Edward Hervey  <edward@fluendo.com>
4092
4093         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
4094         Implement GObject::dispose virtual method in GstXML so we can free the
4095         top_elements GList.
4096
4097 2006-08-21  Wim Taymans  <wim@fluendo.com>
4098
4099         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
4100         (gst_buffer_create_sub):
4101         Copy duration/offset_end/caps when creating a subbuffer of the
4102         complete parent.
4103         Make the subbuffer read-only when we make the metadata writable for
4104         now. Fixes #351768.
4105
4106         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4107         Added check for metadata copy when creating subbuffers.
4108
4109 2006-08-21  Edward Hervey  <edward@fluendo.com>
4110
4111         * libs/gst/base/gstbasetransform.c:
4112         (gst_base_transform_buffer_alloc):
4113         Only call downstream buffer_alloc if transform element is passthrough
4114         or always_in_place. Closes #350449.
4115
4116 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4117
4118         * ChangeLog:
4119           ChangeLog surgery to add comments to previous changes
4120
4121 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4122
4123         * gst/gst.c:
4124           Add comments
4125
4126         * gst/gstpad.c: (gst_pad_set_active):
4127           Be more verbose in the log
4128
4129         * libs/gst/base/gstbasetransform.c:
4130         (gst_base_transform_transform_caps):
4131           Simplify caps to get rid of duplicates, fixes #345444
4132
4133 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4134
4135         * gst/gstvalue.c:
4136         * gst/gstvalue.h:
4137           Use these optimizations only internally.
4138
4139 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4140
4141         * gst/gstvalue.c: (gst_value_compare_list),
4142         (gst_value_compare_fraction_range),
4143         (gst_value_intersect_fraction_fraction_range),
4144         (gst_value_intersect_fraction_range_fraction_range),
4145         (gst_value_subtract_fraction_fraction_range),
4146         (gst_value_subtract_fraction_range_fraction_range),
4147         (gst_value_get_compare_func), (gst_value_compare),
4148         (gst_value_compare_with_func):
4149         * gst/gstvalue.h:
4150           Saves the expensive lookup of the compare function in many cases
4151          (#345444)
4152
4153 2006-08-18  Edward Hervey  <edward@fluendo.com>
4154
4155         * tests/check/gst/gstinfo.c: (gst_info_suite):
4156         Disable test that require gstdebug if it wasn't built in core.
4157
4158 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
4159
4160         * docs/random/ensonic/logging.txt:
4161           update ideas
4162           
4163         * gst/gstinfo.c: (gst_debug_log_default):
4164           reorder fields, save some columns, add optional color codes for log
4165           levels
4166
4167 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
4168
4169         * docs/random/ensonic/logging.txt:
4170           add ideas about making the logs a bit more useful
4171
4172 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
4173
4174         * docs/pwg/advanced-events.xml:
4175         * docs/pwg/titlepage.xml:
4176           Update for 0.10 API (#340627). Add myself
4177           to authors list.
4178
4179 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
4180
4181         * docs/libs/gstreamer-libs-docs.sgml:
4182         * docs/libs/gstreamer-libs-sections.txt:
4183         * libs/gst/check/gstbufferstraw.c:
4184           Make gstcheck stuff show up in docs (still needs to
4185           be documented properly though).
4186
4187 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
4188
4189         * docs/gst/gstreamer-sections.txt:
4190         * gst/Makefile.am:
4191         * gst/gst.c: (init_post):
4192         * gst/gst_private.h:
4193         * gst/gstquark.c: (_priv_gst_quarks_initialize):
4194         * gst/gstquark.h:
4195         * gst/gstquery.c: (gst_query_new_position),
4196         (gst_query_set_position), (gst_query_parse_position),
4197         (gst_query_new_duration), (gst_query_set_duration),
4198         (gst_query_parse_duration), (gst_query_new_convert),
4199         (gst_query_set_convert), (gst_query_parse_convert),
4200         (gst_query_new_segment), (gst_query_set_segment),
4201         (gst_query_parse_segment), (gst_query_new_seeking),
4202         (gst_query_set_seeking), (gst_query_parse_seeking):
4203         Add internal helpers for pre-registering quarks from static strings
4204         and using the quark values directly instead of looking them up when
4205         creating and parsing queries. Can be used for event construction too.
4206         Closes #350432.
4207
4208 2006-08-16  Wim Taymans  <wim@fluendo.com>
4209
4210         * gst/gstbin.c:
4211         Fix bogus docs.
4212
4213 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4214
4215         * gst/gstutils.c: (gst_util_set_value_from_string):
4216           Fix memleak (#351502).
4217
4218         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4219           Add unit test for most of gst_util_set_value_from_string()
4220           (not that one would want to encourage use of this function).
4221
4222 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4223
4224         * libs/gst/check/gstcheck.h:
4225           Use const gchar * variables in fail_unless_equals_string
4226           macro to avoid compiler warnings (and don't use tabs for
4227           indenting).
4228
4229 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4230
4231         * tools/gst-launch.c: (print_tag):
4232           More space on the left for the tag names, to cater
4233           for the 'extended comment' tag (not touching the
4234           string for the first line since it's translated).
4235
4236 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4237
4238         * libs/gst/check/gstcheck.h:
4239           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
4240           print something when they fail.
4241
4242 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4243
4244         * docs/gst/gstreamer-sections.txt:
4245         * gst/gsttaglist.c: (_gst_tag_initialize):
4246         * gst/gsttaglist.h:
4247           API: add GST_TAG_EXTENDED_COMMENT (#350935).
4248           Also change merge function for GST_TAG_COMMENT to
4249           use_first.
4250
4251 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4252
4253         * gst/gstinfo.c: (gst_debug_print_object):
4254           Make GST_PTR_FORMAT print messages as well.
4255
4256         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
4257         (GST_START_TEST), (gst_info_suite):
4258           More tests.
4259
4260 2006-08-14  Edward Hervey  <edward@fluendo.com>
4261
4262         * gst/gstelementfactory.c: (gst_element_register):
4263         If the GstElementClass doesn't have a GstElementDetails with all fields
4264         filled up correctly (longname, description AND author), then error out
4265         nicely instead of crashing.
4266
4267 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4268
4269         * gst/gststructure.c:
4270           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
4271
4272         * gst/gstvalue.h:
4273           Expand on the difference between arrays and lists as we use them.
4274           
4275 2006-08-14  Wim Taymans  <wim@fluendo.com>
4276
4277         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4278         If the parent state change function failed, don't assume we can safely
4279         stop the source, this will be done when the pads are deactivated.
4280
4281 2006-08-14  Wim Taymans  <wim@fluendo.com>
4282
4283         * gst/gstbuffer.c:
4284         * gst/gsttask.c: (gst_task_join):
4285         Small doc updates.
4286
4287         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
4288         (gst_pad_stop_task):
4289         When pad (de)activation failed for some reason, restore the old
4290         activation mode and set the pad to flushing instead of assuming the
4291         pad is deactivated.
4292         If the _task_join() failed, reinstall the task on the pad so that it can
4293         be stopped later and return an error.
4294
4295 2006-08-11  Andy Wingo  <wingo@pobox.com>
4296
4297         * configure.ac:
4298         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4299         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
4300         is only for users of API that don't want to see deprecated
4301         functions in the headers; people that want to compile out
4302         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
4303         CFLAGS. Fixes the build of multifdsink, or will soon..
4304
4305 2006-08-11  Wim Taymans  <wim@fluendo.com>
4306
4307         * docs/gst/gstreamer-sections.txt:
4308         Add GstClockClass vmethod docs.
4309
4310         * gst/gstcaps.h:
4311         Mark #endif with comment for associated #if
4312
4313         * gst/gstclock.c: (gst_clock_id_wait):
4314         * gst/gstclock.h:
4315         Add vmethod wait_jitter to avoid an unneeded _get_time() for
4316         most clock implementations.
4317         Document vmethods.
4318         Flesh out docs about resolution methods.
4319         API: GstClockClass::wait_jitter
4320
4321         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4322         (gst_system_clock_async_thread),
4323         (gst_system_clock_id_wait_jitter_unlocked),
4324         (gst_system_clock_id_wait_jitter):
4325         Use base class wait_jitter variant for improved performance
4326         due to less clock polling.
4327
4328 2006-08-11  Edward Hervey  <edward@fluendo.com>
4329
4330         * gst/gst.c: (gst_init_check), (init_post):
4331         Set gst as being initialized before scanning/updating the registry,
4332         since there might be my python plugin loader that calls gst_init() and
4333         we don't want to loop back in.
4334         Closes #350879
4335
4336 2006-08-11  Wim Taymans  <wim@fluendo.com>
4337
4338         * docs/design/part-qos.txt:
4339         Bring docs in line with the code. Mostly the sign of the jitter was
4340         wrong in the docs. Fixes #349943.
4341
4342         * gst/gstclock.c:
4343         Fix the docs for the jitter.
4344
4345         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
4346         (gst_event_parse_tag), (gst_event_new_buffer_size),
4347         (gst_event_parse_buffer_size), (gst_event_parse_qos),
4348         (gst_event_new_seek), (gst_event_parse_seek),
4349         (gst_event_new_navigation):
4350         Make sure the GstStructure has no parent when creating custom
4351         events.
4352         Add some more argument checking so that we avoid 0.0 rates.
4353         Flesh out the docs for the QoS event some more.
4354
4355 2006-08-11  Wim Taymans  <wim@fluendo.com>
4356
4357         * docs/gst/gstreamer-sections.txt:
4358         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4359         (ensure_current_registry_forking), (ensure_current_registry),
4360         (parse_one_option), (parse_goption_arg), (gst_deinit),
4361         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
4362         * gst/gst.h:
4363         Doc updates.
4364         Added API and command line option to disable registry forking in
4365         addition to the environment variable.
4366         Constify some static arrays.
4367         Added some more debug.
4368         Don't deinit twice.
4369         API: gst_registry_fork_is_enabled()
4370         API: gst_registry_fork_set_enabled()
4371         API: --gst-disable-registry-fork command line option
4372         Fixes #348918.
4373
4374 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
4375
4376         * gst/gst.c: (gst_init):
4377           Fix typo in error message.
4378
4379 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
4380
4381         * libs/gst/controller/gstcontroller.h:
4382           fix ABI size-correction
4383
4384         * tests/check/libs/gdp.c: (gst_dp_suite):
4385           make tests that use deprecated API conditional
4386
4387 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
4388
4389         * docs/libs/gstreamer-libs-sections.txt:
4390         * libs/gst/controller/gstcontroller.c:
4391         (_gst_controller_get_property), (_gst_controller_set_property),
4392         (_gst_controller_init), (_gst_controller_class_init):
4393         * libs/gst/controller/gstcontroller.h:
4394         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
4395         (gst_object_set_control_rate):
4396           API: add gst_object_{s,g}et_control_rate(), add private data section,
4397           fix docs
4398
4399         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4400         * libs/gst/dataprotocol/dataprotocol.h:
4401           add deprecation guards to make gtk-doc happy and allow disabling cruft
4402
4403 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
4404
4405         * tests/check/Makefile.am:
4406         * tests/check/gst/.cvsignore:
4407           Let's enable the new unit test as well.
4408
4409 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
4410
4411         * configure.ac:
4412         * docs/gst/gstreamer-sections.txt:
4413         * gst/gstconfig.h.in:
4414         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
4415         (_gst_info_printf_extension_ptr),
4416         (_gst_info_printf_extension_segment):
4417           API: add GST_SEGMENT_FORMAT, which is a printf extension we
4418           register that lets us easily dump GstSegments into debug
4419           logs (#350419).
4420
4421         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
4422         (info_segment_format_printf_extension), (gst_info_suite):
4423           Add simple unit test that logs a bunch of different segments (not
4424           valgrinded at the moment because of leaks in
4425           gst_debug_add_log_function).
4426
4427 2006-08-09  Edward Hervey  <edward@fluendo.com>
4428
4429         * libs/gst/base/gstbasetransform.c:
4430         (gst_base_transform_buffer_alloc):
4431         Even if we can't figure out the proper format to request downstream,
4432         call buffer_alloc() downstream with the input parameters without setting
4433         the caps on the srcpad. This will force negotiation in the chain
4434         function.
4435         Closes #350449
4436
4437 2006-08-08  Edward Hervey  <edward@fluendo.com>
4438
4439         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4440         Unlinking from a pad without a target is now a perfectly valid case
4441         which should NOT raise an assertion.
4442         This case would happen if a linked ghostpad its target set to NULL after
4443         it was previously linked.
4444
4445 2006-08-08  Edward Hervey  <edward@fluendo.com>
4446
4447         * tests/check/libs/gdp.c:
4448         Also comment out the test (see below).
4449
4450 2006-08-08  Edward Hervey  <edward@fluendo.com>
4451
4452         * tests/check/libs/gdp.c: (gst_dp_suite):
4453         Use the architecture information from config.h and not gcc macros
4454         in order to properly disable a test that fails on PPC64.
4455
4456 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
4457
4458         * gst/gstelement.c: (gst_element_remove_pad):
4459           Don't crash printing the warning if the pad has no parent.
4460
4461 2006-08-02  Wim Taymans  <wim@fluendo.com>
4462
4463         * libs/gst/dataprotocol/dataprotocol.c:
4464         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
4465         (gst_dp_crc), (gst_dp_header_payload_length),
4466         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
4467         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
4468         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
4469         (gst_dp_event_from_packet), (gst_dp_validate_header),
4470         (gst_dp_validate_payload):
4471         Make debug category static
4472         Constify the crc table.
4473         Do some more arg checking in public functions.
4474         Fix some docs and do some small cleanups.
4475
4476         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
4477         Add some more checks to see if GDP deals with bogus input.
4478
4479 2006-07-31  Wim Taymans  <wim@fluendo.com>
4480
4481         * gst/gstvalue.c: (gst_value_compare_list):
4482         Fix GstValueList comparison code. Fixes #347293.
4483
4484         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4485         Check to test GstValueList comparison.
4486
4487 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4488
4489         * gst/gstelementfactory.c: (gst_element_factory_create):
4490         Remove unnecessary ref/unref pair
4491
4492         * gst/parse/grammar.y:
4493         Make sure to free the parse buffer on all code paths.
4494         Move a g_free up to the error handler where it's easier to see.
4495
4496         * tests/check/gst/gstevent.c: (test_event):
4497         Extending timeout for downstream travelling events to 10 seconds to
4498         hopefully avoid intermittent failure on the buildbots.
4499
4500         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
4501         Don't manually set the state of the src element - it will happen as a
4502         natural consequence of the pipeline changing state, and that way it
4503         will do it in the right order too.
4504
4505 2006-07-31  Wim Taymans  <wim@fluendo.com>
4506
4507         * libs/gst/base/gstbasetransform.c:
4508         (gst_base_transform_buffer_alloc):
4509         Use OBJECT_LOCK and refcounting to get the pad caps in the
4510         buffer_alloc function because the caps could change while we are
4511         busy with them. Fixes #349105
4512
4513 2006-07-31  Wim Taymans  <wim@fluendo.com>
4514
4515         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
4516         Protect _PAD_CAPS with OBJECT_LOCK.
4517
4518 2006-07-31  Wim Taymans  <wim@fluendo.com>
4519
4520         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4521         (gst_pad_get_property), (gst_pad_activate_pull),
4522         (gst_pad_activate_push), (gst_pad_set_blocked_async),
4523         (gst_pad_set_activate_function),
4524         (gst_pad_set_activatepull_function),
4525         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
4526         (gst_pad_set_getrange_function),
4527         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
4528         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4529         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
4530         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
4531         (gst_pad_set_acceptcaps_function),
4532         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4533         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
4534         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
4535         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
4536         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
4537         (gst_pad_configure_sink), (gst_pad_configure_src),
4538         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
4539         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
4540         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
4541         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
4542         (gst_pad_send_event):
4543         Use _DEBUG_OBJECT when it makes sense.
4544         Protect GST_PAD_CAPS with the OBJECT_LOCK.
4545         Small cleanups and code reflows.
4546         Avoid caps refcounting in _accept_caps.
4547         Refactor alloc_buffer so that the code performed on the peer is in a
4548         separate function. Also if the pad does not implement a buffer alloc
4549         function, we should still check if the pad is flushing before falling
4550         back to the default allocator.
4551
4552 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4553
4554         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4555         Make all uses of identity and fakesink have silent=true to avoid
4556         serialising every passing data structure, which is breaking tests
4557         on FC4 for some unknown reason.
4558
4559 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4560
4561         * gst/parse/Makefile.am:
4562         * gst/parse/grammar.y:
4563         * gst/parse/parse.l:
4564           Reverted previous patch as it required to bump the flex dependency to
4565           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
4566
4567 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4568
4569         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
4570
4571         * gst/parse/Makefile.am:
4572         * gst/parse/grammar.y:
4573         * gst/parse/parse.l:
4574           push & pop the state of the lexer for reentrant use case
4575           Fixes #349180
4576
4577 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
4578
4579         * libs/gst/base/gstbasesrc.h:
4580           Note in the docs that the ::newsegment vfunc is not actually used by
4581           GstBaseSrc.
4582
4583 2006-07-28  Wim Taymans  <wim@fluendo.com>
4584
4585         * libs/gst/base/gstcollectpads.c:
4586         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
4587         (gst_collect_pads_clear), (gst_collect_pads_flush),
4588         (gst_collect_pads_event), (gst_collect_pads_chain):
4589         When flushing a pad, also clear the queued buffer so that we don't
4590         accidentally use it when we shouldn't.
4591         Fix leaks by inreffing incomming buffer.
4592         Flush out queued buffers in case of errors.
4593         Fixes #347452.
4594
4595 2006-07-28  Wim Taymans  <wim@fluendo.com>
4596
4597         * docs/random/phonon-gst:
4598         Random notes about a Phonon backend.
4599
4600 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4601
4602         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4603         Extra debug output
4604         * tests/check/libs/gdp.c: (gst_dp_suite):
4605         Take a whack at fixing the ppc compile using a different define to
4606         disable the broken test.
4607
4608         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4609         Remove excess g_print()
4610
4611 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4612
4613         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4614         Oops, meant to uncomment this line too to dampen the noise a bit.
4615
4616 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4617
4618         * gst/parse/grammar.y:
4619         * gst/parse/parse.l:
4620         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4621         (GST_START_TEST), (parse_suite):
4622         Fix some of the leaks exposed by extending the parse-launch testsuite,
4623         and move the 3 I can't figure out into a separate test that won't run
4624         the pipelines unless the appropriate line is uncommented.
4625
4626 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4627
4628         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4629           Requesting 0 bytes before the end of the file should result in
4630           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
4631           unit test.
4632
4633 2006-07-27  Wim Taymans  <wim@fluendo.com>
4634
4635         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
4636         Fix useless assert, a uint is always positive.
4637
4638         * gst/gststructure.c: (gst_structure_nth_field_name),
4639         (gst_structure_foreach), (gst_structure_map_in_place):
4640         Check input arguments for public functions to avoid obvious crashes.
4641
4642         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
4643         * plugins/elements/gstfakesink.h:
4644         Do less useless typechecking.
4645
4646 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4647
4648         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4649           Do not use mmap() by default since there are a number of error
4650           conditions that we would like to handle in a non-fatal way that
4651           will result in a SIGBUS if we use mmap(). Examples: external
4652           devices (USB harddrive, portable music player) being unplugged
4653           while in use; file on mounted CD/DVD that can't be read because
4654           the medium is partly damaged. Fixes #348455 and #348475.
4655
4656 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4657
4658         * gst/gstquery.h:
4659         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
4660         rates are a gdouble
4661
4662 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
4663
4664         * gst/gstregistry.c:
4665           Move big documentation comment into class section header, so that it
4666           appears in the API docs.
4667
4668 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4669
4670         * docs/gst/gstreamer-sections.txt:
4671         Oops. Commit the docs additions too for new API.
4672         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
4673
4674 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4675
4676         * gst/gststructure.c: (gst_structure_id_set),
4677         (gst_structure_id_set_valist):
4678         * gst/gststructure.h:
4679         Add API for setting values into structures without performing
4680         a quark lookup, if the appropriate quark is already known.
4681
4682         API: gst_structure_id_set
4683         API: gst_structure_id_set_valist
4684
4685         * gst/parse/grammar.y:
4686         * gst/parse/parse.l:
4687         Remove some dead code shown by the coverage information.
4688         Don't throw a critical g_warning when encountering a syntax error,
4689         just warn and let the normal error path handle it.
4690
4691         * plugins/elements/gstelements.c:
4692         Bump the rank of filesink up to PRIMARY so that it is preferred over
4693         gnomevfssink for file:// sink uri's
4694
4695         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4696         (GST_START_TEST), (run_delayed_test),
4697         (gst_parse_test_element_base_init),
4698         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
4699         (gst_parse_test_element_change_state),
4700         (gst_register_parse_element), (parse_suite):
4701         Beef up the tests for parse syntax to check that more error cases
4702         fail as they are supposed to. Increases the test coverage a bit.
4703
4704 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
4705
4706         * docs/manual/basics-elements.xml:
4707           Fix gst_element_link() example.
4708
4709         * gst/gstutils.c:
4710           Mention in API docs that one should usually gst_bin_add()
4711           elements to a bin or pipeline before doing the linking.
4712           
4713 2006-07-26  Wim Taymans  <wim@fluendo.com>
4714
4715         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
4716         (gst_subbuffer_get_type), (gst_buffer_create_sub):
4717         Avoid function call for known types by keeping the buffer and
4718         subbuffer GType global.
4719
4720         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4721         Random silly optimisations in read() path.
4722
4723 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4724
4725         * tools/gst-launch.c: (main):
4726           If the top-level of the parse is a normal bin, it doesn't do the
4727           right logic to run as a top-level element, so place it inside a
4728           pipeline.
4729
4730 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
4731
4732         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
4733           Remove superfluous g_object_notify() calls, GObject does
4734           that for us automatically.
4735
4736 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
4737
4738         * gst/gstinfo.h:
4739           on Win32, use dllspec to export the debug category symbols
4740
4741 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
4742
4743         * gst/gsttaglist.c: (_gst_tag_initialize):
4744           Allow more than one GST_TAG_IMAGE per taglist.
4745
4746 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4747
4748         * gst/gstminiobject.c:
4749           update docs
4750         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
4751         (gst_fd_src_create):
4752           log recurring events at LOG level
4753           add more debug for when the fd gets set
4754
4755 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4756
4757         * gst/gstparse.c: (gst_parse_launch):
4758           Also remove reentrance checks if flex is MT safe (#348179)
4759          Fix my empty ChangeLog entry below
4760
4761 2006-07-21  Andy Wingo  <wingo@pobox.com>
4762
4763         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
4764
4765         * libs/gst/check/Makefile.am
4766         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
4767         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
4768         * libs/gst/check/gstbufferstraw.h:
4769         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
4770         functions, thus proving I am still a GStreamer haxor. OK I wrote
4771         them a long time ago, but anyways.
4772
4773 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4774
4775         * configure.ac:
4776         * gst/gstparse.c: (gst_parse_launch):
4777           Check for flex version and omit mutex if we have a MT save flex
4778           (fixes #348179)
4779
4780 2006-07-21  Wim Taymans  <wim@fluendo.com>
4781
4782         * gst/gstparse.c: (gst_parse_launch):
4783         Protect recursive calls to _parse with a recursive mutex
4784         and busy flag.
4785
4786 2006-07-21  Wim Taymans  <wim@fluendo.com>
4787
4788         * tests/check/gst/gstpad.c: (GST_START_TEST):
4789         Fix leak in test.
4790
4791 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
4792
4793         * gst/gstparse.c: (gst_parse_launch):
4794           Do not hang on recursive usage of gst_parse_launch()
4795
4796 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4797
4798         * gst/gsttaglist.c:
4799           Add some more docs, comments and FIXME 0.11s here and there
4800           and also fix some typos.
4801
4802 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4803
4804         * gst/gstsegment.h:
4805           Convert tabs to spaces for better readability. 
4806
4807 2006-07-20  Edward Hervey  <edward@fluendo.com>
4808
4809         * tests/check/libs/gdp.c: (gst_dp_suite):
4810         the test_buffer test fails at line 140 on ppc64 at the following
4811         check:
4812         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
4813                 GST_BUFFER_FLAG_IN_CAPS),
4814                 "GST_BUFFER_IN_CAPS flag should have been copied !");
4815         See bug #348114 for more details.
4816
4817 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
4818
4819         * docs/pwg/advanced-scheduling.xml:
4820         * gst/gstpad.c:
4821           Fix typos (#348000).
4822
4823 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
4824
4825         * docs/pwg/intro-basics.xml:
4826           Fix wrong links (#347927).
4827
4828 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
4829
4830         * gst/gstregistry.h:
4831         * gst/gstregistryxml.c: (load_feature),
4832         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
4833         * win32/common/config.h:
4834           make --disable-index work (#342564)
4835
4836 2006-07-18  Wim Taymans  <wim@fluendo.com>
4837
4838         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4839
4840         * gst/Makefile.am:
4841         * gst/gsttrace.h:
4842         The attached patch adds two missing defines to gsttrace.h when tracing
4843         is disabled.  It also corrects one existing define.
4844         Fixes #347756.
4845
4846 2006-07-17  Wim Taymans  <wim@fluendo.com>
4847
4848         * docs/gst/gstreamer-sections.txt:
4849         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
4850         * gst/gst.h:
4851         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
4852         Add two functions to check and change the SIGSEGV behaviour
4853         when loading plugins.
4854         Don't mess with the SIGSEGV handler when we were told not to.
4855         Fixes #347794.
4856         API: gst_segtrap_is_enabled
4857         API: gst_segtrap_set_enabled
4858
4859 2006-07-14  Wim Taymans  <wim@fluendo.com>
4860
4861         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4862         * tests/check/elements/filesrc.c: (GST_START_TEST):
4863         Revert fix for regression in #347408 after release.
4864
4865 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
4866
4867         Patch by: Antoine Tremblay <hexa00 at gmail com>
4868
4869         * gst/gstutils.c: (gst_element_unlink):
4870           Free iterator when done (#347311).
4871
4872         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4873           And add a test case for this.
4874
4875 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
4876
4877         * configure.ac:
4878         Bump nano back to CVS
4879
4880 === release 0.10.9 ===
4881
4882 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
4883
4884         * configure.ac:
4885           releasing 0.10.9, "On the road again"
4886
4887 2006-07-13  Wim Taymans  <wim@fluendo.com>
4888
4889         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4890         * tests/check/elements/filesrc.c: (GST_START_TEST):
4891         Revert pull-0 fix for release. Disable check. Fixes #347408.
4892
4893 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4894
4895         * libs/gst/dataprotocol/dataprotocol.c:
4896         (gst_dp_event_from_packet_1_0):
4897           Fixes #347337: failure to deserialize event packets with
4898           empty payload (only event type)
4899
4900 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4901
4902         * gst/Makefile.am:
4903           do not install a .c file in the header directory
4904
4905 2006-07-13  Edward Hervey  <edward@fluendo.com>
4906
4907         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4908         GhostPad no longer implicitely use the padtemplates of the targets.
4909         Fixes #347384
4910
4911 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
4912
4913         * gst/gstvalue.c: (gst_value_compare_list),
4914         (gst_value_compare_array), (_gst_value_initialize):
4915         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4916         Make GstValueArray comparison be order dependent as designed.
4917         Add checks for value lists and value array comparisons.
4918         Fixes #347221
4919
4920 2006-07-11  Edward Hervey  <edward@fluendo.com>
4921
4922         * gst/gstbin.c: (activate_pads),
4923         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
4924         (gst_bin_change_state_func):
4925         (de)activate src pads before calling state_change on the childs.
4926         This is to avoid the case where a src ghostpad is blocked (holding the
4927         stream lock), which would block the deactivation of the ghostpad's
4928         target pad.
4929         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
4930         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
4931         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
4932         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
4933         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
4934         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4935         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4936         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
4937         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
4938         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4939         (gst_ghost_pad_class_init),
4940         (gst_ghost_pad_internal_do_activate_push),
4941         (gst_ghost_pad_internal_do_activate_pull),
4942         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4943         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4944         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
4945         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
4946         GhostPads now create their internal GstProxyPad at creation (and not
4947         when they're linked, as it was being done previously).
4948         The internal and target pads are linked straight away.
4949         The data will also travel through the other pad in order to make
4950         pad blocking and probes non-hackish (the probe/block now really happens
4951         on the GhostPad and not on the target).
4952         * gst/gstpad.c: (gst_pad_set_blocked_async),
4953         (gst_pad_link_prepare), (gst_pad_push_event):
4954         Remove previous ghostpad cruft.
4955         * gst/gstutils.c: (gst_pad_add_data_probe),
4956         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4957         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4958         (gst_pad_remove_buffer_probe):
4959         Remove previous ghost pad cruft.
4960         Added more detailed debug statements.
4961         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4962         Fix the testsuite for refcounting changes.
4963         The comments about who has references were correct, but the refcount
4964         being checked wasn't the same (!?!).
4965
4966         Fixes #341029
4967
4968 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4969
4970         * docs/gst/gstreamer-sections.txt:
4971         * gst/gstconfig.h.in:
4972         More docs for configuration options, add docs to gtk-doc.
4973
4974 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4975
4976         * gst/Makefile.am:
4977         * gst/gstconfig.h.in:
4978         * win32/common/config.h:
4979         Fix build when disabling tracing (fixes #344016). Also start to document
4980         the defines that disable the sub-systems.
4981
4982 2006-07-10  Edward Hervey  <edward@fluendo.com>
4983
4984         * gst/gst.c: (ensure_current_registry_forking):
4985         let's make valgrind happy...
4986
4987 2006-07-09  Wim Taymans  <wim@fluendo.com>
4988
4989         * gst/gstelement.c: (activate_pads),
4990         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
4991         Better pad activation code: Reset the collect value too on resync.
4992         Add some comments.
4993
4994 2006-07-09  Wim Taymans  <wim@fluendo.com>
4995
4996         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
4997         (gst_pad_activate_push):
4998         Use some more macros where it makes sense.
4999         Allow pad mode switching instead of asserting. When a pad
5000         is activated in one mode and we activate it in another, 
5001         deactivate it first before activating it in a different mode.
5002         Fixes #329198.
5003
5004 2006-07-08  Andy Wingo  <wingo@pobox.com>
5005
5006         * tools/gst-launch.c (main): Handle err == NULL.
5007
5008         * gst/gst.c (init_post, ensure_current_registry)
5009         (ensure_current_registry_forking)
5010         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
5011         factoring out the registry scanning into separate functions. Don't
5012         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
5013         Better environment var name/interface suggestions accepted.
5014
5015 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5016
5017         * gst/gstobject.c: (gst_object_set_name_default),
5018         (gst_object_set_name):
5019           Random micro-optimisation: don't use a hash table
5020           with strings as keys and the usual strdup/strcmp
5021           involved, but rather just use the GQuark of the
5022           type name as key, since it needs to be looked up
5023           anyway to get the type name string.
5024
5025         * tests/check/gst/gstobject.c: (GST_START_TEST):
5026           Fix various leaks.
5027
5028 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5029
5030         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
5031         (gst_bin_iterate_all_by_interface):
5032           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
5033           GTypes are gulongs and thus the top 4 bytes might be cut
5034           off on some platforms when doing GPOINTER_TO_INT, leading
5035           to invalid GTypes and bad things happening (see RH bug #179654).
5036           Also add a check to make sure the type passed in is really
5037           an interface type.
5038
5039 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5040
5041         * .cvsignore:
5042           Ignore more.
5043
5044 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5045
5046         * Makefile.am:
5047         * configure.ac:
5048         * gst-element-check.m4:
5049         * gst-element-check.m4.in:
5050           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
5051           instead of the unversioned gst-inspect (#324176, #168659).
5052
5053 2006-07-06  Wim Taymans  <wim@fluendo.com>
5054
5055         * gst/gstmessage.h:
5056         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
5057         warnings.
5058
5059 2006-07-06  Wim Taymans  <wim@fluendo.com>
5060
5061         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5062         (gst_base_src_wait), (gst_base_src_update_length),
5063         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
5064         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
5065         (gst_base_src_loop), (gst_base_src_start),
5066         (gst_base_src_activate_pull):
5067         Update docs.
5068         blocksize == 0 now means the default blocksize when working in push
5069         based mode.
5070         Remove some pointless asserts in _wait function.
5071         Fix offset/length calculations and EOS handling. We can now pull 0
5072         bytes as well, which is allowed.
5073         use _check_get_range() to decide if we can operate in _pull based
5074         mode.
5075         Fix refcounting leak when check_get_range function was not 
5076         implemented.
5077         API GstBaseSrc::blocksize range can be 0 too now (default)
5078
5079         * tests/check/elements/filesrc.c: (GST_START_TEST),
5080         (filesrc_suite):
5081         Added check to test _get_range() behaviour.
5082
5083 2006-07-06  Wim Taymans  <wim@fluendo.com>
5084
5085         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5086         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
5087         (gst_pad_pull_range):
5088         * gst/gstpad.h:
5089         Lots of comments and docs added to the pad functions.
5090         Flesh out the expected behaviour of the get_range() functions.
5091
5092 2006-07-06  Wim Taymans  <wim@fluendo.com>
5093
5094         * gst/gstbus.h:
5095         * gst/gstclock.h:
5096         * gst/gstevent.h:
5097         * gst/gstiterator.h:
5098         * gst/gstpad.h:
5099         * gst/gstplugin.h:
5100         * gst/gsttask.h:
5101         Remove comma at end of enumerator list. 
5102
5103 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
5104
5105         * win32/common/libgstbase.def:
5106         * win32/common/libgstdataprotocol.def:
5107         * win32/common/libsgtreamer.def:
5108         Add new exported functions.
5109
5110 2006-07-05  Wim Taymans  <wim@fluendo.com>
5111
5112         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
5113         Add some more docs here and there.
5114
5115 2006-07-05  Wim Taymans  <wim@fluendo.com>
5116
5117         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
5118         (gst_base_sink_loop), (gst_base_sink_get_position):
5119         When operating in pull mode update the offset so that we
5120         read sequentially.
5121
5122 2006-07-05  Wim Taymans  <wim@fluendo.com>
5123
5124         * gst/gstregistryxml.c: (read_string):
5125         Avoid strdup. (will happen in libxml, but hey!)
5126
5127         * gst/gsturi.c:
5128         Add some more docs.
5129
5130 2006-07-05  Wim Taymans  <wim@fluendo.com>
5131
5132         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
5133         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
5134         (gst_buffer_suite):
5135         No point in checking if the size of the subbuffer > 0, the
5136         code handles it correclty as demonstrated by unit test.
5137         Also add a unit test for the zero sized _new_and_alloc and
5138         _copy. Fixes #346663.
5139
5140 2006-07-05  Wim Taymans  <wim@fluendo.com>
5141
5142         * libs/gst/base/gstbasetransform.c:
5143         (gst_base_transform_prepare_output_buffer),
5144         (gst_base_transform_buffer_alloc),
5145         (gst_base_transform_handle_buffer):
5146         Make sure the buffer we pass to transform_ip has a refcount of
5147         1 and thus is writable. Fixes #343196
5148
5149 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
5150
5151         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5152         (gst_file_src_init), (gst_file_src_set_property),
5153         (gst_file_src_get_property), (gst_file_src_map_region):
5154         * plugins/elements/gstfilesrc.h:
5155         Add "sequential" property, off by default, to use madvise and hint
5156         to the kernel that sequential access is desired.
5157         Touch all retrieved pages by default to ensure they are pulled
5158         into memory. (Closes #345720)
5159
5160 2006-07-03  Wim Taymans  <wim@fluendo.com>
5161
5162         * docs/design/part-block.txt:
5163         * docs/design/part-dynamic.txt:
5164         Small docs updates.
5165
5166 2006-07-03  Wim Taymans  <wim@fluendo.com>
5167
5168         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
5169         (gst_caps_unref), (gst_static_caps_get),
5170         (gst_caps_append_structure):
5171         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
5172         Use GSlice when the glib we build against is >= 2.10
5173
5174 2006-07-03  Wim Taymans  <wim@fluendo.com>
5175
5176         * gst/gstelement.c: (gst_element_pads_activate):
5177         Small cleanup in pad activation code.
5178
5179 2006-07-03  Wim Taymans  <wim@fluendo.com>
5180
5181         Patch by: Peter Kjellerstedt <pkj at axis dot com>
5182
5183         * gst/gst-i18n-app.h:
5184         * gst/gst-i18n-lib.h:
5185         * tools/gst-inspect.c: (print_signal_info):
5186         The attached patch will make the inclusion of gettext.h unconditional in
5187         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
5188         libintl.h in tools/gst-inspect.c.
5189         This allows use of --disable-nls again and fixes #344642.
5190
5191 2006-07-03  Edward Hervey  <edward@fluendo.com>
5192
5193         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
5194         Implement pad blocking on events according to part-block.txt.
5195         More comments on behaviour.
5196         * tests/check/gst/gstevent.c: (test_event):
5197         Send event to peer pad of blocked pad (else it will block).
5198
5199 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5200
5201         * libs/gst/check/gstcheck.c: (gst_check_message_error),
5202         (gst_check_run_suite):
5203           if we get the wrong message, give us the types as string
5204         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
5205           Fix a translatable
5206         * tests/check/elements/filesrc.c: (GST_START_TEST):
5207           add a test for trying to open a non-existing file
5208
5209 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5210
5211         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5212           add a test for adding self
5213
5214 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5215
5216         * libs/gst/check/gstcheck.h:
5217           add some assert_ as alias for fail_unless_*
5218         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
5219           increase test coverage
5220
5221 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5222
5223         * Makefile.am:
5224           include lcov.mak for lcov coverage generation
5225         * tools/Makefile.am:
5226           add to CLEANFILES
5227
5228 2006-07-02  Edward Hervey  <edward@fluendo.com>
5229
5230         * tests/check/elements/.cvsignore:
5231         moaping
5232
5233 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5234
5235         * configure.ac:
5236           don't set CFLAGS and friends for gcov, done from GST_GCOV now
5237         * tests/check/Makefile.am:
5238           clean up gcov files
5239
5240 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5241
5242         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
5243           remove gst_caps_simplify; it was not declared and not used
5244           and deprecated in 0.8
5245
5246 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5247
5248         * docs/faq/gst-uninstalled:
5249           don't put empty paths on PYTHONPATH
5250         * docs/gst/gstreamer-sections.txt:
5251           remove some symbols that are not there
5252
5253 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5254
5255         * gst/gstcaps.c: (gst_caps_compare_structures):
5256           whitespace fixes
5257         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5258         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
5259           add more tests
5260
5261 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5262
5263         * libs/gst/dataprotocol/Makefile.am:
5264           build dataprotocol test by linking to the lib, instead of
5265           compiling the source, so we get coverage
5266         * tests/check/Makefile.am:
5267         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
5268         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
5269           add a test for filesrc
5270
5271 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5272
5273         * tests/check/gst/gststructure.c: (GST_START_TEST),
5274         (gst_structure_suite):
5275           Push coverage from 59.04% to 70.00%
5276
5277 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5278
5279         * tests/check/Makefile.am:
5280           gst-inspect every element; this makes sure that we also get
5281           coverage on element's get/set functions
5282
5283 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5284
5285         * configure.ac:
5286           set CFLAGS and friends to -O0 if gcov is being used
5287           add GCOV LIBS
5288         * gst/Makefile.am:
5289         * libs/gst/base/Makefile.am:
5290         * libs/gst/check/Makefile.am:
5291         * libs/gst/controller/Makefile.am:
5292         * libs/gst/dataprotocol/Makefile.am:
5293         * libs/gst/net/Makefile.am:
5294         * plugins/elements/Makefile.am:
5295         * plugins/indexers/Makefile.am:
5296           add makefile rules to generate gcov data and clean up
5297         * tests/check/Makefile.am:
5298           add a coverage target that generates an html overview
5299           of coverage data
5300
5301 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5302
5303         * tests/check/elements/fakesink.c:
5304         * tests/check/elements/fakesrc.c:
5305         * tests/check/elements/fdsrc.c:
5306         * tests/check/elements/identity.c:
5307         * tests/check/generic/sinks.c: (gst_sinks_suite):
5308         * tests/check/generic/states.c:
5309         * tests/check/gst/gst.c:
5310         * tests/check/gst/gstabi.c:
5311         * tests/check/gst/gstbin.c:
5312         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
5313         * tests/check/gst/gstbus.c: (gst_bus_suite):
5314         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5315         * tests/check/gst/gstelement.c:
5316         * tests/check/gst/gstevent.c: (gst_event_suite):
5317         * tests/check/gst/gstghostpad.c:
5318         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
5319         * tests/check/gst/gstmessage.c: (gst_message_suite):
5320         * tests/check/gst/gstminiobject.c:
5321         * tests/check/gst/gstobject.c:
5322         * tests/check/gst/gstpad.c:
5323         * tests/check/gst/gstpipeline.c:
5324         * tests/check/gst/gstplugin.c:
5325         * tests/check/gst/gstquery.c: (gst_query_suite):
5326         * tests/check/gst/gstsegment.c: (gst_segment_suite):
5327         * tests/check/gst/gststructure.c:
5328         * tests/check/gst/gstsystemclock.c:
5329         * tests/check/gst/gsttag.c:
5330         * tests/check/gst/gsttask.c: (gst_task_suite):
5331         * tests/check/gst/gstutils.c:
5332         * tests/check/gst/gstvalue.c:
5333         * tests/check/libs/adapter.c:
5334         * tests/check/libs/basesrc.c:
5335         * tests/check/libs/collectpads.c:
5336         * tests/check/libs/controller.c:
5337         * tests/check/libs/gdp.c: (gst_dp_suite):
5338         * tests/check/libs/gstnetclientclock.c:
5339         * tests/check/libs/gstnettimeprovider.c:
5340         * tests/check/libs/libsabi.c: (libsabi_suite):
5341         * tests/check/libs/typefindhelper.c:
5342         * tests/check/pipelines/cleanup.c:
5343         * tests/check/pipelines/parse-launch.c:
5344         * tests/check/pipelines/simple-launch-lines.c:
5345         * tests/check/pipelines/stress.c: (stress_suite):
5346           use the new macro
5347
5348 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5349
5350         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
5351         * libs/gst/check/gstcheck.h:
5352           create a macro and function so that the simple unit test
5353           case can be just one macro to create main()
5354
5355 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
5356
5357         * gst/gstbin.c: (gst_bin_restore_thyself):
5358         * gst/gstxml.c: (gst_xml_make_element):
5359           Fix deserialisation from XML. Set parent manually
5360           instead of using gst_bin_add(), since gst_bin_add()
5361           will unlink all pads of the element being added.
5362           Fixes #341667.
5363
5364 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
5365
5366         Patch by: Peter Kjellerstedt <pkj at axis com>
5367
5368         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
5369           Fix missing g_strdup() and double free when using the
5370           --gst-plugin-load command line option (#346097).
5371
5372 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
5373
5374         * gst/gstinfo.c:
5375           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
5376
5377         * libs/gst/net/gstnetclientclock.c:
5378         * libs/gst/net/gstnettimeprovider.c:
5379           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
5380
5381 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
5382
5383         * docs/manual/advanced-dataaccess.xml:
5384           Fix buffer probe example compilation in
5385           ADM (#345708).
5386         
5387 2006-06-22  Edward Hervey  <edward@fluendo.com>
5388
5389         * gst/gstelement.c: (gst_element_pads_activate):
5390         We need to deactivate src pads first and then sink pads.
5391         The reason is the src pads might be blocking while holding the streaming
5392         lock, so we need to deactivate them first so that deactivating the sink
5393         pads doesn't block (since it will require the streaming lock).
5394
5395 2006-06-22  Wim Taymans  <wim@fluendo.com>
5396
5397         * libs/gst/base/gstbasetransform.c:
5398         (gst_base_transform_buffer_alloc):
5399         Forgot to remove two unneeded unrefs.
5400         Simplify a check _is_equal allready checks the obvious case.
5401
5402 2006-06-22  Wim Taymans  <wim@fluendo.com>
5403
5404         * docs/design/part-block.txt:
5405         Some docs about what pad_block should do.
5406
5407 2006-06-22  Wim Taymans  <wim@fluendo.com>
5408
5409         * gst/gstcaps.c: (gst_caps_replace):
5410         Fix crasher when passed NULL. Doc clarification.
5411         Optimize for the trivial case.
5412
5413         * gst/gstpipeline.c: (gst_pipeline_change_state):
5414         Small cleanups.
5415
5416         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
5417         Small documentation cleanup.
5418
5419         * libs/gst/base/gstbasetransform.c:
5420         (gst_base_transform_buffer_alloc):
5421         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
5422         is what we need and it avoids a whole lot of redundant 
5423         refcount operations.
5424
5425 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
5426
5427         Patch by: Philip Jägenstedt  <philip at lysator liu se>
5428
5429         * docs/manual/advanced-dataaccess.xml:
5430           Fix 'Embedding static elements' section to use
5431           GST_PLUGIN_DEFINE_STATIC (#345607).
5432
5433 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5434
5435         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
5436           Attempt to 'fix' spuriously failing test case: it seems like the
5437           timeout of half a second is simply too small when the system is under
5438           load otherwise, and the timeout doesn't really seem to serve any
5439           particular purpose here. Give the pipeline a few seconds to preroll
5440           first, and then give it another half a second to go from PAUSED to
5441           PLAYING and marshal the message into the main thread.
5442
5443 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5444
5445         * tools/gst-feedback-m.m:
5446           Don't only use unversioned tools, try versioned tools as well
5447           (#345086).
5448
5449 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5450
5451         * gst/gstbus.c: (gst_bus_class_init):
5452           Fix some typos, make docs more explicit.
5453
5454 2006-06-20  Wim Taymans  <wim@fluendo.com>
5455
5456         * tests/check/gst/gstghostpad.c: (block_callback),
5457         (GST_START_TEST), (gst_ghost_pad_suite):
5458         Added some more ghostpad tests, mainly blocking
5459         and probes.
5460
5461 2006-06-16  Wim Taymans  <wim@fluendo.com>
5462
5463         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
5464         (gst_file_sink_close_file), (gst_file_sink_do_seek),
5465         (gst_file_sink_event), (gst_file_sink_render):
5466         * plugins/elements/gstfilesink.h:
5467         Check if we can seek in the file instead of assuming
5468         we always can. Post an error when we are asked to seek in a
5469         non-seekable file (like a fifo). Fixes #343312.
5470         Some cleanups.
5471
5472 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
5473
5474         * tools/gst-launch.1.in:
5475           Un-garble (fourcc) bit in filtered caps section.
5476
5477 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
5478
5479         * docs/manual/advanced-autoplugging.xml:
5480         * docs/manual/basics-helloworld.xml:
5481         * docs/manual/highlevel-components.xml:
5482           Don't leak bus reference in sample code.
5483
5484 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
5485
5486         * autogen.sh:
5487           Add default for new --enable-plugin-docs switch.
5488
5489         * configure.ac:
5490           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
5491           Fixes #344039.
5492
5493         * docs/Makefile.am:
5494           Use new ENABLE_PLUGIN_DOCS conditional.
5495
5496 2006-06-14  Wim Taymans  <wim@fluendo.com>
5497
5498         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
5499         Make it clear with a FIXME and a real define what the #if 0
5500         previously disabled.
5501
5502 2006-06-14  Wim Taymans  <wim@fluendo.com>
5503
5504         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
5505         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5506         * libs/gst/base/gstbasetransform.c:
5507         (gst_base_transform_sink_eventfunc):
5508         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
5509         Don't randomly and silently reset a segment when the format 
5510         changes as this is a bug somewhere upstream. Fixes #330379.
5511
5512 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5513
5514         Patch by: Wouter Paesen  <wouter at kangaroot net>
5515
5516         * libs/gst/controller/gstcontroller.c:
5517         (gst_controlled_property_new):
5518           Fix controlling of float properties (#344849).
5519
5520         * tests/check/libs/controller.c:
5521         (gst_test_mono_source_get_property),
5522         (gst_test_mono_source_set_property),
5523         (gst_test_mono_source_class_init), (GST_START_TEST):
5524           While we're at it, add some float stuff to unit test.
5525
5526 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5527
5528         * docs/README:
5529         * docs/images/gdp-header.svg:
5530           add a gdp image
5531         * docs/libs/Makefile.am:
5532         * docs/libs/gdp-header.png:
5533         * libs/gst/dataprotocol/dataprotocol.c:
5534           add it to the API docs
5535         * docs/manual/intro-motivation.xml:
5536           fix typo
5537
5538 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5539
5540         * gst/gst.c: (scan_and_update_registry), (init_post):
5541           If the fork()'ed child process can't write the updated registry cache
5542           file to disk for some reason, make it exit with a failure exit code,
5543           so that the parent can then re-scan the plugins itself and update the
5544           registry structures in memory and work with that (rather than failing
5545           when creating elements because seemingly no plugins are available).
5546           Refactor registry scanning code into separate function for this and
5547           also separate fork() and non-fork() code paths. Fixes #344748.
5548
5549 2006-06-13  Wim Taymans  <wim@fluendo.com>
5550
5551         * docs/manual/advanced-dataaccess.xml:
5552         Fix wrong PluginDesc. Fixes #344755.
5553
5554 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5555
5556         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5557           Fix silly bug that prevented us from creating
5558           ~/.gstreamer-0.10 and writing the registry in one
5559           go (the first call to g_mkstemp() would overwrite the
5560           placeholder in the template string, so the second call
5561           to g_mkstemp() after creating the missing directory
5562           would then error out with 'invalid argument').
5563
5564 2006-06-13  Edward Hervey  <edward@fluendo.com>
5565
5566         * gst/gst.c: (init_post):
5567         Free string.
5568
5569 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5570
5571         * gst/glib-compat-private.h:
5572         * gst/glib-compat.c:
5573         * gst/glib-compat.h:
5574         * gst/gstvalue.c: (gst_value_serialize_flags):
5575           remove GLib 2.6 compatibility code
5576
5577 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
5578
5579         * gst/parse/Makefile.am:
5580           Fix build with 'make -j N' even more (#340016).
5581
5582 2006-06-12  Wim Taymans  <wim@fluendo.com>
5583
5584         * docs/gst/gstreamer-sections.txt:
5585         Fix docs.
5586
5587 2006-06-12  Wim Taymans  <wim@fluendo.com>
5588
5589         * gst/gstsegment.c: (gst_segment_set_duration),
5590         (gst_segment_set_last_stop), (gst_segment_set_seek),
5591         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5592         (gst_segment_to_running_time), (gst_segment_clip):
5593         Use G_UNLIKELY to help the compiler a bit.
5594
5595 2006-06-12  Wim Taymans  <wim@fluendo.com>
5596
5597         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
5598
5599         * gst/gstevent.c: (gst_event_get_type):
5600         * gst/gstmessage.c:
5601         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5602         (gst_pad_push):
5603         constify quark registration strings. Fixes #344115
5604         Avoid unneeded type checking is _pad_push() by internally
5605         calling gst_pad_chain_unchecked().
5606
5607 2006-06-12  Wim Taymans  <wim@fluendo.com>
5608
5609         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
5610         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
5611         (gst_subbuffer_finalize), (gst_buffer_create_sub),
5612         (gst_buffer_is_span_fast), (gst_buffer_span):
5613         Init _type for consistency.
5614         Use _FLAGS macro to avoid type check.
5615         Avoid unneeded type checks in subbufer code.
5616
5617 2006-06-12  Wim Taymans  <wim@fluendo.com>
5618
5619         * gst/gst.c: (gst_debug_help):
5620         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
5621         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5622         (gst_plugin_feature_list_free):
5623         * gst/gstregistry.c: (gst_registry_add_plugin),
5624         (gst_registry_add_feature), (gst_registry_plugin_filter),
5625         (gst_registry_feature_filter), (gst_registry_find_plugin),
5626         (gst_registry_find_feature), (gst_registry_get_plugin_list),
5627         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
5628         * gst/gstregistryxml.c: (load_feature),
5629         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
5630         * gst/gstminiobject.c: (gst_mini_object_unref),
5631         (gst_mini_object_replace), (gst_value_mini_object_free),
5632         (gst_value_mini_object_copy):
5633         Use _CAST macros to avoid unneeded type checking.
5634         Added some more G_UNLIKELY.
5635
5636 2006-06-12  Wim Taymans  <wim@fluendo.com>
5637
5638         * gst/gstbuffer.h:
5639         Avoid unneeded type checking.
5640         API: GST_BUFFER_IS_DISCONT
5641
5642         * gst/gstminiobject.h:
5643         Avoid type check in flag accessor.
5644
5645         * gst/gstelementfactory.h:
5646         * gst/gstplugin.h:
5647         * gst/gstpluginfeature.h:
5648         Add _CAST macros.
5649         API: GST_ELEMENT_FACTORY_CAST
5650         API: GST_PLUGIN_CAST
5651         API: GST_PLUGIN_FEATURE_CAST
5652
5653 2006-06-12  Wim Taymans  <wim@fluendo.com>
5654
5655         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
5656         (gst_object_unref):
5657         Add G_UNLIKELY in type registration.
5658         Avoid type check in _ref/_unref since that is also
5659         done in glib.
5660
5661 2006-06-12  Wim Taymans  <wim@fluendo.com>
5662
5663         * gst/gsterror.c: (gst_g_error_get_type):
5664         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5665         (gst_static_pad_template_get_type):
5666         * gst/gsttaglist.c: (gst_tag_list_get_type):
5667         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
5668         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
5669         * gst/gsturi.c: (gst_uri_handler_get_type):
5670         * gst/gstvalue.c: (gst_date_get_type):
5671         * gst/gstxml.c: (gst_xml_get_type):
5672         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5673         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5674         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
5675         Add G_UNLIKELY in type registration.
5676
5677 2006-06-12  Wim Taymans  <wim@fluendo.com>
5678
5679         * tools/gst-inspect.c: (print_signal_info):
5680         Properly print enum values.
5681
5682 2006-06-12  Wim Taymans  <wim@fluendo.com>
5683
5684         * gst/gstinfo.c: (gst_debug_set_active),
5685         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
5686         * gst/gstinfo.h:
5687         Add some G_[UN]LIKELY.
5688         Maintain __gst_debug_min to avoid formatting the arguments of
5689         debug messages that will be dropped anyway to avoid a lot of 
5690         overhead from the debugging system.
5691
5692 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5693
5694         * po/POTFILES.in:
5695         * po/POTFILES.skip:
5696           add missing files containing translatable strings, tell intltool about
5697           one exception
5698
5699 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5700
5701         * tests/check/libs/.cvsignore:
5702         add test-binary to ignore list
5703
5704 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5705
5706         * docs/libs/gstreamer-libs-docs.sgml:
5707         reorder (put dp into a chapter) and indent
5708
5709 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5710
5711         * configure.ac:
5712           back to HEAD
5713
5714 === release 0.10.8 ===
5715
5716 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
5717
5718         * configure.ac:
5719           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
5720
5721 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5722
5723         * gst/gst.c: (init_post):
5724           move pid declaration to declaration block
5725
5726 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5727
5728         * gst/gst.c: (init_post):
5729           use _exit() instead of exit() in our forked child; this ensures
5730           that none of the registered exit handlers from whatever is using
5731           GStreamer get executed.  This fixes gnome-mixer-applet failing
5732           to load, because ORBit would shut down.
5733           Spotted by: Edward Hervey  <edward@fluendo.com>
5734           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
5735           Fixes #344474
5736
5737 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5738
5739         * configure.ac:
5740           back to TRUNK
5741
5742 === release 0.10.7 ===
5743
5744 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
5745
5746         * configure.ac:
5747           releasing 0.10.7, "Soepeke, ik zie ou"
5748
5749 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5750
5751         * configure.ac:
5752         * po/af.po:
5753         * po/az.po:
5754         * po/bg.po:
5755         * po/ca.po:
5756         * po/cs.po:
5757         * po/de.po:
5758         * po/en_GB.po:
5759         * po/fr.po:
5760         * po/it.po:
5761         * po/nb.po:
5762         * po/nl.po:
5763         * po/ru.po:
5764         * po/sq.po:
5765         * po/sr.po:
5766         * po/sv.po:
5767         * po/tr.po:
5768         * po/uk.po:
5769         * po/vi.po:
5770         * po/zh_CN.po:
5771         * po/zh_TW.po:
5772         * win32/common/config.h:
5773           0.10.6.2 prerelease
5774
5775 2006-06-07  Wim Taymans  <wim@fluendo.com>
5776
5777         * gst/gstindex.c: (gst_index_gtype_resolver):
5778         * tools/gst-xmlinspect.c: (print_plugin_info):
5779         Fix leak spotted by coverity checker. Fixes #343827
5780         Fix another other leak found by paolo borelli.
5781
5782 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5783
5784         * libs/gst/dataprotocol/dataprotocol.c:
5785         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5786         (gst_dp_version_get_type), (gst_dp_init),
5787         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
5788         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
5789         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
5790         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
5791         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
5792         (gst_dp_packetizer_free):
5793         * libs/gst/dataprotocol/dataprotocol.h:
5794           API: add a GstDPPacketizer object, and create/free functions
5795           API: add GstDPVersion enum
5796           Add 1.0 event function that uses the string serialization
5797           Serialize more useful buffer flags
5798           Fixes #343988
5799
5800 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5801
5802         * tests/check/Makefile.am:
5803         * tests/check/gst/gstabi.c:
5804         * tests/check/gst/struct_ppc64.h:
5805         * tests/check/libs/libsabi.c:
5806         * tests/check/libs/struct_ppc64.h:
5807           add ppc64 structure sizes
5808
5809 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5810
5811         * tests/check/Makefile.am:
5812         * tests/check/gst/gstabi.c:
5813         * tests/check/gst/struct_x86_64.h:
5814         * tests/check/libs/libsabi.c:
5815         * tests/check/libs/struct_x86_64.h:
5816           generate and add structure size lists for x86_64
5817
5818 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5819
5820         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5821         * libs/gst/check/gstcheck.h:
5822           factor out the method from tests that checks size of structures,
5823           and add code to generate the header containing these sizes
5824         * tests/check/gst/gstabi.c: (GST_START_TEST):
5825         * tests/check/gst/struct_i386.h:
5826         * tests/check/libs/libsabi.c: (GST_START_TEST):
5827         * tests/check/libs/struct_i386.h:
5828           use it
5829
5830 2006-06-06  Michael Smith  <msmith@fluendo.com>
5831
5832         * gst/gstsegment.h:
5833           Don't use c++-style comments, fixes #343929
5834
5835 2006-06-05  Edward Hervey  <edward@fluendo.com>
5836
5837         * gst/gst.c:
5838         plugin_paths is not used if we build without registry support.
5839
5840         * gst/gstsegment.c: (gst_segment_copy): 
5841         _copy() was always returning NULL...
5842
5843 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5844
5845         * libs/gst/dataprotocol/dataprotocol.c:
5846         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5847         (gst_dp_packet_from_event):
5848           factor out CRC code
5849
5850 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5851
5852         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
5853           make sure we unset caps
5854
5855 2006-06-02  Michael Smith  <msmith@fluendo.com>
5856
5857         * libs/gst/check/gstcheck.c: (gst_check_init),
5858         (gst_check_chain_func):
5859         * libs/gst/check/gstcheck.h:
5860           Add a cond/mutex to the check support lib, signal this whenever we
5861           add to the buffers list. This will allow tests to not busy-wait on
5862           the buffer-list.
5863
5864 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5865
5866         * libs/gst/dataprotocol/dataprotocol.c:
5867         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5868         (gst_dp_packet_from_event):
5869           factor out some common header init code
5870
5871 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5872
5873         * docs/libs/gstreamer-libs-sections.txt:
5874         * docs/libs/tmpl/gstdataprotocol.sgml:
5875         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5876         * libs/gst/dataprotocol/dataprotocol.h:
5877           API: make gst_dp_crc() public
5878
5879 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5880
5881         * plugins/indexers/gstindexers.c: (plugin_init):
5882         conditionally register fileindexer (fixes #343598)
5883
5884 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5885
5886         * gst/gsttagsetter.h:
5887         Can't cast ifaces to a class
5888
5889         * libs/gst/net/gstnetclientclock.h:
5890         * libs/gst/net/gstnettimeprovider.h:
5891         * plugins/elements/gstfakesink.h:
5892         * plugins/elements/gstfakesrc.h:
5893         * plugins/elements/gstfdsink.h:
5894         * plugins/elements/gstfdsrc.h:
5895         * plugins/elements/gstfilesink.h:
5896         * plugins/elements/gstfilesrc.h:
5897         * plugins/elements/gstidentity.h:
5898         * plugins/elements/gstqueue.h:
5899         * plugins/elements/gsttee.h:
5900         * plugins/indexers/gstfileindex.c:
5901         * plugins/indexers/gstmemindex.c:
5902         * tests/old/examples/plugins/example.h:
5903         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
5904
5905 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5906
5907         * libs/gst/dataprotocol/dataprotocol.c:
5908         (gst_dp_header_from_buffer):
5909           make sure we zero the whole ABI-compatible area
5910
5911 2006-06-01  Wim Taymans  <wim@fluendo.com>
5912
5913         Patch by: Alessandro Decina <alessandro at nnva dot org>
5914
5915         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
5916         Make sure the EOS flag is cleared from pads after a flush
5917         or stop. Fixes #343538.
5918
5919         * tests/check/libs/collectpads.c: (GST_START_TEST),
5920         (gst_collect_pads_suite):
5921         Added test for collectpads reusage after EOS.
5922
5923 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
5924
5925         * gst/gst.c:
5926          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
5927         * win32/common/libgstbase.def:
5928          export gst_collect_pads_set_flushing
5929         * win32/common/libgstreamer.def:
5930          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
5931          gst_value_fraction_multiply
5932         * win32/vs6/gst_inspect.dsp:
5933          add a link to intl.lib
5934
5935 2006-05-30  Wim Taymans  <wim@fluendo.com>
5936
5937         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5938         (gst_collect_pads_chain):
5939         Handle the case where a pad is removed from the collection
5940         that could cause the other pads to become collectable.
5941
5942 2006-05-30  Wim Taymans  <wim@fluendo.com>
5943
5944         * gst/gstelement.c:
5945         Clarify the use of _release_request_pad() and
5946         _get_request_pad() a bit better.
5947
5948         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
5949         (gst_adapter_take_buffer):
5950         Fix some doc and comment typos.
5951
5952 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5953
5954         * docs/gst/gstreamer-sections.txt:
5955         * docs/libs/gstreamer-libs-sections.txt:
5956           add declared symbols
5957
5958 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
5959
5960         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5961         Add debug that can be enabled using a #define at the top of the file,
5962         for dumping stats about how late/early we were when waking up from
5963         waiting on the clock.
5964
5965 2006-05-30  Wim Taymans  <wim@fluendo.com>
5966
5967         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
5968         When rebuilding the pad list, don't leak the previous list.
5969
5970 2006-05-30  Wim Taymans  <wim@fluendo.com>
5971
5972         Patch by: Lutz Mueller <lutz at topfrose dot de>
5973
5974         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5975         (gst_base_src_get_query_types), (gst_base_src_update_length):
5976         Publish supported query types.
5977         Update last_stop field in get_range mode so the position
5978         query works. Fixes #342321.
5979
5980 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
5981
5982         * docs/gst/gstreamer-sections.txt:
5983         * gst/gsttaglist.c: (_gst_tag_initialize):
5984         * gst/gsttaglist.h:
5985           API: add GST_TAG_PREVIEW_IMAGE (#343341).
5986
5987 2006-05-30  Wim Taymans  <wim@fluendo.com>
5988
5989         Patch by: Alessandro Decina <alessandro at nnva dot org>
5990
5991         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
5992         Unlock mutex when removing an unknown pad.
5993         Fixes #343334.
5994
5995         * tests/check/Makefile.am:
5996         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
5997         (push_event), (setup), (teardown), (GST_START_TEST),
5998         (gst_collect_pads_suite), (main):
5999         Added collecpads check, disabled for now as check crashes for
6000         some reason.
6001
6002 2006-05-29  Wim Taymans  <wim@fluendo.com>
6003
6004         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
6005         Don't leak pads lists.
6006
6007 2006-05-29  Wim Taymans  <wim@fluendo.com>
6008
6009         * docs/libs/gstreamer-libs-sections.txt:
6010         * libs/gst/base/gstcollectpads.c:
6011         (gst_collect_pads_set_flushing_unlocked),
6012         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
6013         (gst_collect_pads_stop):
6014         * libs/gst/base/gstcollectpads.h:
6015         API: gst_collect_pads_set_flushing()
6016         Added api to set the pads to flushing, useful for seeking
6017         code in elements using collectpads.
6018         Clear segment when receiving a flush.
6019
6020 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
6021
6022         * gst/gst.c: (add_path_func), (init_post):
6023           Don't scan registry paths passed via --gst-plugin-path immediately
6024           (will crash, because absolutely nothing is set up and no types are
6025           registered etc.); do this later in init_post(). Fixes #343057.
6026
6027 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6028
6029         * gst/gst.c: (init_post):
6030           if we have fork, fork while reading/rebuilding the registry
6031           so the parent doesn't take the hit of having all plugins loaded
6032           in memory.  Fixes #342777.
6033         * configure.ac:
6034           Check if we have fork()
6035         * win32/common/config.h.in:
6036           no fork() on win32
6037
6038 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
6039
6040         * plugins/elements/gstelements.c:
6041         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
6042         (gst_file_src_init), (gst_file_src_set_property),
6043         (gst_file_src_get_property), (gst_file_src_start):
6044         * plugins/elements/gstfilesrc.h:
6045           API: GstFileSrc::use-mmap
6046
6047         Add a use-mmap property to enable easier testing of all code paths.
6048         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
6049         in the absence of gnomevfssrc. (Closes #340501)
6050
6051 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6052
6053         * tools/gst-inspect.c:
6054         Add missing include, removes warning of ngettext not being defined on
6055         some arches.
6056
6057 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
6058
6059         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6060         Handle NULL input and output pointers silently as a failed conversion,
6061         rather than g_warnings.
6062
6063 2006-05-25  Wim Taymans  <wim@fluendo.com>
6064
6065         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
6066         Initialize variable before using. Fixes #342820.
6067
6068 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
6069
6070         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
6071           Fix off-by-one bug that would only allow peeks of N-1 bytes
6072           from the start even if the buffer to typefind on contains
6073           in fact N bytes of data (makes vorbis typefinding from a
6074           vorbis identification header buffer work).
6075
6076         * tests/check/Makefile.am:
6077         * tests/check/libs/.cvsignore:
6078         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
6079         (gst_typefindhelper_suite), (main), (foobar_typefind),
6080         (plugin_init):
6081           Add very basic unit test for gst_type_find_helper_for_buffer()
6082           that checks for the problem fixed above.
6083
6084 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6085
6086         * tools/gst-inspect.c: (print_interfaces),
6087         (print_element_properties_info), (print_element_list), (main):
6088           add more translatable strings
6089
6090 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
6091
6092         Patch by: Julien Moutte  <julien at moutte net>
6093
6094         * docs/gst/gstreamer-sections.txt:
6095           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
6096           
6097         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
6098         (gst_fake_sink_preroll):
6099         * plugins/elements/gstfakesink.h:
6100           API: Add new GstFakeSink::preroll-handoff signal (#337100).
6101
6102 2006-05-23  Wim Taymans  <wim@fluendo.com>
6103
6104         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
6105         * gst/gstpad.h:
6106         Added _CUSTOM error and success GstFlowReturn that can be
6107         used be elements internally. 
6108         Added macro to check for SUCCESS flowreturns.
6109         API: GST_FLOW_CUSTOM_SUCCESS
6110         API: GST_FLOW_CUSTOM_ERROR
6111         API: GST_FLOW_IS_SUCCESS
6112
6113         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
6114         Added check for GstFlowReturn sanity.
6115
6116 2006-05-23  Wim Taymans  <wim@fluendo.com>
6117
6118         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
6119
6120         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
6121         (gst_collect_pads_event):
6122         clear/reset segment info in FLUSH_STOP.
6123         Fixes #336929.
6124
6125 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
6126
6127         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
6128         (gst_collect_pads_check_collected):
6129         Flush queued buffer on _stop(), fixes playing again (#342454)
6130
6131 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6132
6133         * tests/check/gst/gststructure.c: (GST_START_TEST),
6134         (gst_structure_suite):
6135           add a test for a complete structure
6136
6137 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
6138
6139         * docs/faq/developing.xml:
6140         * docs/faq/faq.xml:
6141         * docs/faq/troubleshooting.xml:
6142         * docs/faq/using.xml:
6143           Some minor FAQ updates that won't change the fact that
6144           our FAQ is badly structured, full of information hardly
6145           anyone new to GStreamer needs to know and lacking lots
6146           of information people constantly ask for.
6147           
6148 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
6149
6150         * gst/gstpad.c: (gst_pad_set_caps):
6151           Short-circuit gst_pad_set_caps if setting the existing
6152           caps pointer again, and avoid printing debug and 
6153           reffing/unreffing the caps.
6154
6155         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6156           There's actually no need to set the caps before pushing -
6157           the acceptcaps method will handle it anyway.
6158
6159 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
6160
6161         * docs/gst/gstreamer-sections.txt:
6162         * win32/common/libgstreamer.def:
6163         * gst/gstutils.c: (gst_element_seek_simple):
6164         * gst/gstutils.h:
6165           API: add gst_element_seek_simple() (#342238).
6166
6167 2006-05-18  Edward Hervey  <edward@fluendo.com>
6168
6169         * gst/gsttypefind.c: (gst_type_find_get_type):
6170         * gst/gsttypefind.h:
6171         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
6172         registered for GstTypeFind pointers. This allows wrapping the structure
6173         in bindings (i.e. gst-python).
6174
6175 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
6176
6177         * gst/gsttagsetter.c:
6178           Docs additions and fixes (see #339918).
6179
6180 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
6181
6182         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6183         The caps intersection algorithm can produce multiple copies of the
6184         caps. Until that is fixed, we need to simplify the result to be
6185         sure whether the allowed caps are fixed or not.
6186
6187         * plugins/elements/gstqueue.c: (gst_queue_init),
6188         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
6189         (gst_queue_push_one):
6190         Proxied buffer alloc should not set the caps on the source pad.
6191         When pushing buffers, we always accept the caps change that triggers.
6192         This prevents negotiation errors caused by caps changing mid-stream 
6193         and then being refused on our source pad (because upstream is now
6194         refusing those caps).
6195
6196 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
6197
6198         * tests/examples/helloworld/helloworld.c: (main):
6199           Must plug audioconvert and audioresample between decoder
6200           and audio sink.
6201
6202 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
6203
6204         * gst/gstregistryxml.c: (read_string), (load_pad_template),
6205         (load_feature), (load_plugin):
6206         Allow empty strings for some of the plugin fields so we don't 
6207         drop valid plugin entries that were written out correctly
6208         (Fixes #341479)
6209
6210 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
6211         
6212         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
6213           Use g_remove and g_rename instead of remove and rename that don't 
6214           handle utf8 characters. rename was failing for users who had specific
6215           characters in their name then the registry was built at each 
6216           gstreamer init.
6217         * win32/vs6/gst_inspect.dsp:
6218         * win32/vs6/gst_launch.dsp:
6219         * win32/vs6/libgstbase.dsp:
6220         * win32/vs6/libgstcoreelements.dsp:
6221         * win32/vs6/libgstreamer.dsp:
6222           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
6223           build of libgstreamer and clean unused libraries in projects link 
6224           settings.
6225
6226 2006-05-17  Edward Hervey  <edward@fluendo.com>
6227
6228         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6229         The queue is not responsible for pushing an EOS when receiving a fatal
6230         flow error. It's up to the real element driving the pipeline to do that.
6231
6232 2006-05-16  Edward Hervey  <edward@fluendo.com>
6233
6234         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6235         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
6236         buffer returned a fatal error. It should just send an EOS and stop
6237         its task.
6238         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
6239         when pushing buffers on the queue and will be able to handle the event.
6240
6241 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
6242
6243         * docs/manual/basics-bins.xml:
6244         * docs/manual/basics-init.xml:
6245           Fix typos and minor errors in sample code (#341856).
6246
6247 2006-05-16  Wim Taymans  <wim@fluendo.com>
6248
6249         * docs/design/part-qos.txt:
6250         Fix indexes in formulas to make more sense.
6251
6252 2006-05-15  Wim Taymans  <wim@fluendo.com>
6253
6254         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6255         Don't report POSITION based on clock time if sync is
6256         disabled in a sink.
6257
6258 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
6259
6260         * gst/gstobject.h:
6261           Add cast to make compiler happy - refcount variable was a gint
6262           in GstObject but is a guint in GObject and g_atomic_int_get()
6263           wants a gint *.
6264
6265 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6266
6267         * gst/parse/Makefile.am:
6268           chain commands using &&, which also makes parallel make work
6269
6270 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
6271
6272         * docs/gst/gstreamer-sections.txt:
6273         * gst/gstevent.c:
6274         * gst/gstevent.h:
6275         * gst/gstmessage.h:
6276           Minor docs fixes.
6277
6278 === release 0.10.6 ===
6279
6280 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
6281
6282         * configure.ac:
6283           releasing 0.10.6, "Take the cannoli"
6284
6285 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
6286
6287         * tools/gst-launch.c: (print_tag):
6288           Fix use of uninitialized variable in the hypothetical
6289           case that some broken plugin creates a GST_TAG_IMAGE
6290           tag containing a NULL buffer (#341667).
6291
6292 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
6293
6294         * tools/gst-launch.c: (print_tag):
6295           Print something more intelligible for image tags when
6296           using the -t switch (#341556).
6297
6298 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6299
6300         * Makefile.am:
6301           updates for win32
6302         * configure.ac:
6303           define GST_MAJORMINOR so we have it available in win32/common/config.h
6304           Possibly remove it from our Makefile.am files later
6305         * win32/common/config.h:
6306         * win32/common/config.h.in:
6307           added GST_MAJORMINOR
6308         * win32/common/gstenumtypes.c: (register_gst_resource_error):
6309         * win32/common/gstversion.h:
6310           updated
6311
6312 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
6313
6314         * win32/MANIFEST:
6315           Update win32 files listing.
6316         * win32/common/gstversion.h:
6317           Add GST_MAJORMINOR definition.
6318         * win32/common/libgstreamer.def:
6319           Add new exported functions.
6320           
6321 2006-05-12  Michael Smith  <msmith@fluendo.com>
6322
6323         * gst/gstplugin.c: (gst_plugin_load_file):
6324           If an so file has no plugin entry point, unload the module.
6325
6326 2006-05-11  Wim Taymans  <wim@fluendo.com>
6327
6328         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
6329         (gst_queue_set_property):
6330         Don't forget to signal the _chain or _loop function 
6331         when the queue size or thresholds change since that might
6332         cause them to make progres again.
6333
6334 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
6335
6336         * gst/gstclock.c: (gst_clock_class_init):
6337         * gst/gstindex.c: (gst_index_class_init):
6338         * gst/gstobject.c: (gst_object_class_init):
6339         * gst/gstpad.c: (gst_pad_class_init):
6340         * gst/gstpipeline.c: (gst_pipeline_class_init):
6341         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6342         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
6343         * libs/gst/base/gstbasetransform.c:
6344         (gst_base_transform_class_init):
6345         * libs/gst/net/gstnetclientclock.c:
6346         (gst_net_client_clock_class_init):
6347         * libs/gst/net/gstnettimeprovider.c:
6348         (gst_net_time_provider_class_init):
6349         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
6350         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
6351         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
6352         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
6353         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6354         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
6355         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
6356         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6357         * plugins/elements/gsttee.c: (gst_tee_class_init):
6358         * tests/old/examples/plugins/example.c: (gst_example_class_init):
6359         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6360           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
6361
6362 2006-05-11  Wim Taymans  <wim@fluendo.com>
6363
6364         * gst/gstbuffer.c: (_gst_buffer_initialize):
6365         Register subbufer along with the buffer type so that
6366         it does not accidentally gets registered from N
6367         different streaming threads in a non threadsafe way.
6368
6369 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
6370
6371         * gst/gstbuffer.h:
6372         * gst/gstevent.h:
6373         * gst/gstmessage.h:
6374           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
6375           gst_event_ref() and gst_message_ref() functions again
6376           (ugly hack, please do fix if there's a better way besides
6377           overrides.txt, which doesn't seem to work).
6378
6379 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6380
6381         * libs/gst/check/gstcheck.h:
6382           add an assert for setting state to avoid lots of repetitive code
6383           in the future
6384
6385 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6386
6387         * gst/gstvalue.c: (gst_value_serialize_flags):
6388           fix a leak if no flags are set
6389         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6390           fix leak in tests
6391
6392 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
6393
6394         * docs/manual/basics-pads.xml:
6395           Expand a bit on caps and filtered links and update
6396           examples that were still using the no longer existing
6397           gst_pad_link_filtered() (#338206).
6398
6399 2006-05-10  Wim Taymans  <wim@fluendo.com>
6400
6401         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6402         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
6403         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
6404         (gst_collect_pads_stop):
6405         * libs/gst/base/gstcollectpads.h:
6406         No need to call _stop in _finalize.
6407         Iterate the main pad list in _finalize.
6408         Added some more debug.
6409         Free lists and data in the right order.
6410         Also free data whem doing _remove_pad when stopped for
6411         backward compatibility protect ::started with PAD_LOCK as
6412         well.
6413
6414 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6415
6416         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
6417         (gst_structure_parse_value):
6418           add some comments
6419           rename a method so that it actually says what it does better
6420
6421 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6422
6423         * gst/gstevent.c: (_gst_event_initialize):
6424         * gst/gstformat.c: (_gst_format_initialize):
6425           make sure some essential types used by events are registered
6426           as part of gst_init()
6427         * gst/gstvalue.c: (gst_value_serialize_flags):
6428           if no flags are set, serialize them to a value that represents NONE
6429           so that deserializing them works
6430         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6431           add tests for serialization and deserialization of flags
6432
6433 2006-05-10  Wim Taymans  <wim@fluendo.com>
6434
6435         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
6436         (gst_collect_pads_collect_range), (gst_collect_pads_available),
6437         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
6438         (gst_collect_pads_event), (gst_collect_pads_chain):
6439         Update docs.
6440         Better debug info.
6441         Catch and return errors from the collect function
6442         Refuse data on eos pads.
6443
6444 2006-05-10  Edward Hervey  <edward@fluendo.com>
6445
6446         * gst/gstinterface.h:
6447         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
6448         GInterface type checking.
6449         They were previously using non-defined macros.
6450
6451 2006-05-09  Wim Taymans  <wim@fluendo.com>
6452
6453         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
6454         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
6455         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
6456         (gst_collect_pads_start), (gst_collect_pads_stop),
6457         (gst_collect_pads_peek), (gst_collect_pads_pop),
6458         (gst_collect_pads_available), (gst_collect_pads_read),
6459         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
6460         (gst_collect_pads_is_collected), (gst_collect_pads_event),
6461         (gst_collect_pads_chain):
6462         * libs/gst/base/gstcollectpads.h:
6463         Clean up the mess that is collectpads, add comments and
6464         FIXMEs where needed.
6465         Maintain a separate pad list so we can add pads while
6466         collecting the other ones. For this we need a new separate 
6467         lock (see comics).
6468         Fix memory leak in finalize.
6469         Refactor some weird code to set/unset pad flushing flags, mark
6470         with comments.
6471         Don't crash in _available, _read, _flush when we're EOS.
6472
6473         * tests/check/libs/.cvsignore:
6474         Ignore adapter check binary.
6475
6476 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6477
6478         * gst/gstindex.c: (gst_index_resolver_get_type):
6479         * plugins/elements/gstfakesink.c:
6480         (gst_fake_sink_state_error_get_type):
6481         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6482         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
6483         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
6484           Const-ify GEnumValue arrays.
6485
6486 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6487
6488         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6489           Add test case for flags + gst_buffer_make_metadata_writable().
6490
6491 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6492
6493         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
6494           gst_buffer_make_metadata_writable() should maintain the
6495           buffer flags (those that make sense at least) (see #340859).
6496
6497 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6498
6499         * tools/gst-inspect.c:
6500         * tools/gst-launch.c:
6501         * tools/gst-typefind.c:
6502         * tools/gst-xmlinspect.c:
6503         * tools/tools.h:
6504           Fix up includes: need to include stdlib.h in tools.h for exit().
6505
6506 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6507
6508         * gst/gsttaglist.c: (_gst_tag_initialize):
6509         * gst/gsttaglist.h:
6510           API: add GST_TAG_IMAGE tag (#340721).
6511
6512 2006-05-08  Wim Taymans  <wim@fluendo.com>
6513
6514         * gst/gstquery.c:
6515         Added some docs for the segment query.
6516
6517 2006-05-08  Wim Taymans  <wim@fluendo.com>
6518
6519         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6520         (gst_base_src_loop), (gst_base_src_change_state):
6521         Always push non-flushing serialized events in the streaming 
6522         thread.
6523
6524 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6525
6526         * gst/gsterror.c: (_gst_stream_errors_init):
6527           Add a missing error string.
6528
6529 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
6530
6531         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
6532         Add applied_rate to the debug
6533
6534         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6535         Copy applied_rate into the outgoing NEWSEGMENT event
6536
6537 2006-05-08  Wim Taymans  <wim@fluendo.com>
6538
6539         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
6540
6541         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
6542         (gst_base_sink_change_state):
6543         call ::unlock before taking the PREROLL_LOCK so we can safely
6544         handle elements that lock in ::render.
6545         Fixes #340174.
6546
6547 2006-05-08  Edward Hervey  <edward@fluendo.com>
6548
6549         * autogen.sh: (CONFIGURE_DEF_OPT): 
6550         Darwin's libtoolize is in fact called glibtoolize.
6551         Adding glibtoolize to the list of accepted names for libtoolize.
6552
6553 2006-05-08  Wim Taymans  <wim@fluendo.com>
6554
6555         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6556         Unify error handling, don't post an error message
6557         when a push() returns EOS but perform our normal EOS
6558         handling code. Fixes #340772.
6559
6560 2006-05-08  Wim Taymans  <wim@fluendo.com>
6561
6562         * docs/design/part-overview.txt:
6563         Make upsteam/downstream concepts more clear.
6564         Give an example of serialized/non-serialized events.
6565
6566         * docs/design/part-events.txt:
6567         * docs/design/part-streams.txt:
6568         Mention applied_rate.
6569
6570         * docs/design/part-trickmodes.txt:
6571         Mention applied rate, flesh out some more use cases.
6572
6573         * gst/gstevent.c: (gst_event_new_new_segment),
6574         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
6575         (gst_event_parse_new_segment_full), (gst_event_new_tag),
6576         (gst_event_parse_tag), (gst_event_new_buffer_size),
6577         (gst_event_parse_buffer_size), (gst_event_new_qos),
6578         (gst_event_parse_qos), (gst_event_parse_seek),
6579         (gst_event_new_navigation):
6580         * gst/gstevent.h:
6581         Add applied_rate field to NEWSEGMENT event.
6582         API: gst_event_new_new_segment_full()
6583         API: gst_event_parse_new_segment_full()
6584
6585         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
6586         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
6587         (gst_segment_to_stream_time), (gst_segment_to_running_time):
6588         * gst/gstsegment.h:
6589         Add applied_rate to GstSegment structure.
6590         Make calculation of stream_time and running_time more correct
6591         wrt rate/applied_rate.
6592         Add some more docs.
6593         API: GstSegment::applied_rate field
6594         API: gst_segment_set_newsegment_full();
6595
6596         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
6597         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
6598         * libs/gst/base/gstbasetransform.c:
6599         (gst_base_transform_sink_eventfunc),
6600         (gst_base_transform_handle_buffer):
6601         Parse and use applied_rate in the GstSegment field.
6602
6603         * tests/check/gst/gstevent.c: (GST_START_TEST):
6604         Add check for applied_rate field.
6605
6606         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6607         (gstsegments_suite):
6608         Add more checks for various GstSegment operations.
6609
6610 2006-05-08  Wim Taymans  <wim@fluendo.com>
6611
6612         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6613         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
6614         (gst_base_sink_get_position), (gst_base_sink_change_state):
6615         Store the sync time of the buffer end position separatly in a
6616         new variable eos_rtime so we can properly sync the EOS event.
6617         Fixes #340697.
6618         Fix the docs for gst_base_sink_set_qos_enabled().
6619         Don't set segment start to invalid value when we receive a 
6620         non TIME newsegment.
6621         get closer to handling position reporting for negative rates 
6622         correctly.
6623
6624 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6625
6626         * gst/gstcaps.c:
6627         Docs about how to print caps for debug purposes.
6628
6629         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
6630         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
6631
6632 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6633
6634         * gst/gstelement.c:
6635           use full enum names and preprend a '%' in docs strings to make recent 
6636           gtk-doc turn that into a link
6637
6638 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6639
6640         * docs/manual/basics-bins.xml:
6641         * docs/manual/basics-bus.xml:
6642         * docs/manual/basics-pads.xml:
6643           Some typo fixes, some additions, some clarifications. 
6644
6645 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6646
6647         * tools/gst-inspect.c: (main):
6648         * tools/gst-launch.c: (main):
6649         * tools/gst-run.c: (main):
6650         * tools/gst-typefind.c: (main):
6651         * tools/gst-xmlinspect.c: (main):
6652           Use the string passed to g_option_context_new() for
6653           what it's intended for - the program name is already
6654           printed elsewhere.
6655
6656 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6657
6658         * tools/Makefile.am:
6659         * tools/gst-inspect.c: (main):
6660         * tools/gst-launch.c: (main):
6661         * tools/gst-xmlinspect.c: (main):
6662         * tools/tools.h:
6663           Add back --version command line option (#340460).
6664
6665         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
6666           Add --version option and use GOption for argument parsing; refactor a
6667           bit; accept directories as arguments and recurse into them; lastly,
6668           print a decent error message when things go wrong.
6669
6670 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6671
6672         * docs/manual/basics-bins.xml:
6673         Don't mention GstThread (#340611)
6674         * docs/manual/basics-elements.xml:
6675         Update link to GObject tutorial (#340607)
6676         
6677 2006-05-05  Wim Taymans  <wim@fluendo.com>
6678
6679         * gst/gstbuffer.h:
6680         * gst/gstminiobject.c:
6681         Add note about refcounting and miniobject/buffer writeability
6682         to docs. Fixes #340604
6683
6684         * gst/gstelementfactory.h:
6685         Added some explanation about @klass.
6686
6687 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6688
6689         * docs/manual/intro-motivation.xml:
6690         * docs/manual/manual.xml:
6691         Avoid CORBA & Bonobo references (#340598)
6692
6693 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6694
6695         * docs/manual/basics-bus.xml:
6696         * docs/manual/basics-pads.xml:
6697         Fix up some inaccuracies and omissions (#340609)
6698         
6699 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6700
6701         * gst/gstghostpad.c:
6702           Small typo in docs (#340625)
6703
6704 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6705
6706         * gst/parse/Makefile.am:
6707           Make 'make -j' proof (see #340698).
6708
6709 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6710
6711         * configure.ac:
6712           Require GLib-2.8 here as well.
6713
6714 2006-05-05  Wim Taymans  <wim@fluendo.com>
6715
6716         * gst/glib-compat.c:
6717         * gst/gst.c: (init_pre):
6718         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
6719         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
6720         (gst_object_dispatch_properties_changed):
6721         * gst/gstobject.h:
6722         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6723         * gst/gststructure.c: (gst_structure_set_valist):
6724         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6725         Remove pre glib2.8 compatibility, fixes #340508
6726
6727 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6728
6729         * gst/gsttaglist.h:
6730           Mention type of tags in doc blurbs.
6731
6732 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
6733
6734         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6735         (gst_pad_configure_src), (gst_pad_push):
6736         Restore acceptcaps checking behaviour now that good plugins have
6737         been released.
6738
6739 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6740
6741         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
6742
6743         * gst/gst.c:
6744         * gst/gstbus.c:
6745         * gst/gstclock.c:
6746         * gst/gstevent.c:
6747         * gst/gstformat.c:
6748         * gst/gstmessage.c:
6749         * gst/gstparse.c:
6750         * gst/gstquery.c:
6751         * gst/gstutils.c:
6752         * gst/parse/Makefile.am:
6753         * libs/gst/base/gstadapter.c:
6754         * libs/gst/base/gstbasesrc.c:
6755         * libs/gst/base/gstpushsrc.c:
6756         * libs/gst/base/gsttypefindhelper.c:
6757         * plugins/elements/gstfakesrc.c:
6758         * plugins/elements/gstidentity.c:
6759           Make sure gstprivate.h and/or config.h are
6760           always included first, otherwise some of our
6761           defines (like _FILE_OFFSET_BITS) might be
6762           redefined in the system headers. Fixes build
6763           on opensolaris (#340016).
6764
6765 2006-05-04  Wim Taymans  <wim@fluendo.com>
6766
6767         * docs/libs/gstreamer-libs-sections.txt:
6768         API: addition: gst_adapter_take_buffer()
6769         
6770         * libs/gst/base/gstadapter.c: (gst_adapter_push),
6771         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
6772         (gst_adapter_available_fast):
6773         * libs/gst/base/gstadapter.h:
6774         Prepare for optimizing the hell out of this hugely inefficient
6775         piece of code. 
6776         Added gst_adapter_take_buffer() so we can at least start thinking
6777         about subbuffering and merging.
6778         Added some comments.
6779
6780         * tests/check/Makefile.am:
6781         * tests/check/libs/adapter.c: (GST_START_TEST),
6782         (gst_adapter_suite), (main):
6783         Added GstAdapter check.
6784
6785 2006-05-04  Wim Taymans  <wim@fluendo.com>
6786
6787         * docs/design/part-overview.txt:
6788         Fix some typos, add blurb about buffer flags.
6789
6790 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6791
6792         * docs/libs/gstreamer-libs-sections.txt:
6793           make sure GstBaseTransformClass shows up in the docs
6794         * libs/gst/base/gstbasetransform.c:
6795         * libs/gst/base/gstbasetransform.h:
6796           move docs so gtk-doc picks it up now
6797
6798 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6799
6800         * docs/libs/gstreamer-libs-sections.txt:
6801           add missing symbols to docs
6802
6803 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6804
6805         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6806           back out the newsegment handling change, see #340060 for ongoing
6807           discussion
6808
6809 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
6810
6811         * tools/gst-run.c: (get_candidates), (main):
6812           Fix wrong g_file_test() usage (see glib docs for why it doesn't
6813           work); fix typo in error message. Fixes #340079.
6814
6815 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6816
6817         * common/Makefile.am:
6818         * docs/Makefile.am:
6819         * docs/faq/Makefile.am:
6820         * docs/gst/Makefile.am:
6821         * docs/libs/Makefile.am:
6822         * docs/manual/Makefile.am:
6823         * docs/plugins/Makefile.am:
6824         * docs/pwg/Makefile.am:
6825         * docs/slides/Makefile.am:
6826         * docs/upload.mak:
6827         * common/upload.mak:
6828           move upload.mak to common
6829
6830 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6831
6832         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6833           add more asserts on refcounts
6834           do more cleanup at end of tests
6835           fix test leaks showing in FC5
6836
6837 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
6838
6839         * plugins/elements/gsttypefindelement.c:
6840         (gst_type_find_element_handle_event):
6841         reverted wrong change and reflowed code to avoid others falling into
6842         this trap
6843
6844 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6845
6846         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6847           fix changelog entry about last collectpads change,
6848           add notes about proper fix
6849
6850 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6851
6852         * gst/gst.c:
6853         * gst/gstregistry.c: (gst_registry_scan_path_level),
6854         (gst_registry_scan_path):
6855         * gst/gstregistry.h:
6856           only write out registry if it has changed, fixes #338339
6857
6858 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6859
6860         * gst/gstbin.c:
6861         * gst/gstpipeline.c:
6862         * plugins/elements/gstcapsfilter.c:
6863         * plugins/elements/gstfakesink.c:
6864         * plugins/elements/gstfakesrc.c:
6865         * plugins/elements/gstfdsink.c:
6866         * plugins/elements/gstfdsrc.c:
6867         * plugins/elements/gstfilesink.c:
6868         * plugins/elements/gstfilesrc.c:
6869         * plugins/elements/gstidentity.c:
6870         * plugins/elements/gstqueue.c:
6871         * plugins/elements/gsttee.c:
6872         * plugins/elements/gsttypefindelement.c:
6873         (gst_type_find_element_handle_event):
6874           make GstElementDetails const
6875
6876 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6877
6878         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6879         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6880         (gst_collect_pads_is_collected), (gst_collect_pads_event):
6881           more detailed debug and formatting cleanup,
6882           forward newsegments to src-pad (so that e.g. adder not eats them)
6883
6884 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6885
6886         * gst/gstutils.c: (gst_element_link_pads):
6887           cleanup double code
6888
6889 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6890
6891         * libs/gst/controller/gstcontroller.c:
6892         (gst_controller_sync_values):
6893           some little tuning
6894         * tests/check/libs/controller.c: (GST_START_TEST),
6895         (gst_controller_suite):
6896           a new test for live value handling
6897
6898 2006-04-28  Wim Taymans  <wim@fluendo.com>
6899
6900         * gst/gstutils.c: (push_and_ref):
6901         Added some more docs.
6902         Fix refcount issue whith gst_element_found_tags() helper 
6903         function. Fixes #338335
6904
6905         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6906         Added testsuite for gst_element_found_tags().
6907
6908 2006-04-28  Michael Smith  <msmith@fluendo.com>
6909
6910         * gst/gstvalue.c: (gst_value_serialize_flags):
6911           Avoid NULL dereference when trying to serialize flags containing
6912           invalid values.
6913
6914 2006-04-28  Michael Smith  <msmith@fluendo.com>
6915
6916         * plugins/elements/gsttypefindelement.c:
6917         (gst_type_find_element_handle_event):
6918           If we get EOS before any data is accumulated, don't use
6919           uninitialised local variables.
6920
6921 2006-04-28  Michael Smith  <msmith@fluendo.com>
6922
6923         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6924         (gst_dp_event_from_packet):
6925           Fixes in reading/writing events over GDP (not currently used?) - 
6926           dereferencing NULL events for unknown/invalid event types, memory
6927           leak, and change g_warning to GST_WARNING.
6928
6929 2006-04-28  Wim Taymans  <wim@fluendo.com>
6930
6931         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
6932         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6933         (gst_base_sink_get_position), (gst_base_sink_change_state):
6934         When frame dropping is enabled, we should not ignore frames
6935         without a duration.
6936         Update some documentation.
6937
6938 2006-04-28  Wim Taymans  <wim@fluendo.com>
6939
6940         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6941         (gst_base_src_send_event), (gst_base_src_change_state):
6942         Documentation updates.
6943
6944 2006-04-28  Wim Taymans  <wim@fluendo.com>
6945
6946         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
6947         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
6948         handle EAGAIN, EINTR and short writes correctly. Also clean
6949         up some error cases, avoid a deadlock on bad file descriptors and
6950         use GST_DEBUG_OBJECT.
6951         Fixes #339843
6952
6953 2006-04-28  Wim Taymans  <wim@fluendo.com>
6954
6955         * gst/gstvalue.c: (gst_value_serialize_buffer),
6956         (gst_value_deserialize_buffer):
6957         Don't try to serialize a GValue with a NULL buffer. 
6958         Fixes #339821.
6959
6960         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6961         Added check for serialisation of NULL buffers.
6962
6963 2006-04-28  Wim Taymans  <wim@fluendo.com>
6964
6965         * gst/gstminiobject.c: (gst_value_take_mini_object):
6966         Taking a NULL miniobject is valid, fix the case where
6967         we try to unref the NULL miniobject.
6968
6969 2006-04-28  Wim Taymans  <wim@fluendo.com>
6970
6971         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6972
6973         * gst/gstbin.c: (gst_bin_handle_message_func):
6974         Update docs.
6975         Don't leak bin refcount when a state recalc is
6976         in progress and we delay another one #339808.
6977
6978 2006-04-28  Wim Taymans  <wim@fluendo.com>
6979
6980         * docs/design/part-TODO.txt:
6981         Mention QoS as an ongoing work item.
6982
6983         * docs/design/part-buffering.txt:
6984         New doc about buffering that needs to be fleshed out
6985         at some point.
6986
6987         * docs/design/part-qos.txt:
6988         More QoS policy for decoders/demuxers/transforms
6989
6990         * docs/design/part-trickmodes.txt:
6991         Small update.
6992
6993 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6994
6995         * configure.ac:
6996           back to HEAD
6997
6998 === release 0.10.5 ===
6999
7000 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
7001
7002         * configure.ac:
7003           releasing 0.10.5, "Fogo"
7004
7005 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7006
7007         patch by: Wim Taymans
7008
7009         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
7010         (gst_pad_configure_src), (gst_pad_push):
7011         * gst/gstpipeline.c: (gst_pipeline_init):
7012           Fix internal data flow errors.  Fixes #338711.
7013
7014 2006-04-12  Wim Taymans  <wim@fluendo.com>
7015
7016         * tests/check/gst/gstelement.c: (GST_START_TEST):
7017         Don't leak the factory.
7018
7019 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7020
7021         * configure.ac:
7022         * win32/common/config.h:
7023           prerelease
7024
7025 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
7026
7027         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
7028         (gst_controller_unset_all):
7029           Free allocated GstTimedValues when freeing list nodes.
7030           Should fix leaks 'make check-valgrind' complains about.
7031
7032         * win32/common/libgstcontroller.def:
7033           Add gst_controller_unset_all.
7034
7035 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
7036
7037         * docs/libs/gstreamer-libs-sections.txt:
7038         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
7039         (gst_controller_unset_all):
7040         * libs/gst/controller/gstcontroller.h:
7041         API: Added new method gst_controller_unset_all()
7042         fixed gst_controller_unset()
7043         * tests/check/libs/controller.c: (GST_START_TEST),
7044         (gst_controller_suite):
7045         Added two testcases for new and fixed method
7046
7047 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
7048
7049         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
7050           MSG_DONTWAIT is not defined on Cygwin, so work
7051           around that (fixes #317048).
7052           
7053 2006-04-11  Wim Taymans  <wim@fluendo.com>
7054
7055         * gst/gstelementfactory.c: (gst_element_register),
7056         (gst_element_factory_create), (gst_element_factory_make):
7057         Some cleanups.
7058         Fixed a FIXME.
7059         Updated docs (Fixes #131079)
7060
7061         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7062         Small cleanups.
7063
7064         * tests/check/gst/gstelement.c: (GST_START_TEST),
7065         (gst_element_suite):
7066         Added testcase for elementfactory class field.
7067
7068 2006-04-10  Wim Taymans  <wim@fluendo.com>
7069
7070         * gst/gstsegment.c:
7071         Added some more docs.
7072
7073         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
7074         (gst_base_sink_reset_qos):
7075         Calculate more accurate rate values.
7076
7077 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
7078
7079         * gst/gst_private.h:
7080           add a new #ifdef to use __declspec(dllimport) only for
7081           other modules and not for gstreamer core
7082         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
7083           use gst_guint64_to_gdouble for conversion
7084         * win32/common/libgstreamer.def:
7085           add new exported functions
7086         * win32/vs6/gst_inspect.dsp:
7087         * win32/vs6/gst_launch.dsp:
7088         * win32/vs6/libgstbase.dsp:
7089         * win32/vs6/libgstcontroller.dsp:
7090         * win32/vs6/libgstcoreelements.dsp:
7091         * win32/vs6/libgstdataprotocol.dsp:
7092         * win32/vs6/libgstnet.dsp:
7093           update project files
7094
7095 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
7096
7097         * gst/gstbuffer.c: (gst_subbuffer_class_init):
7098         * gst/gstclock.c: (gst_clock_class_init):
7099         * gst/gstelement.c: (gst_element_class_init):
7100         * gst/gstindex.c: (gst_index_class_init):
7101         * gst/gstindexfactory.c: (gst_index_factory_class_init):
7102         * gst/gstobject.c: (gst_object_class_init),
7103         (gst_signal_object_class_init):
7104         * gst/gstpad.c: (gst_pad_class_init):
7105         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
7106         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
7107         * gst/gstregistry.c: (gst_registry_class_init):
7108         * gst/gstsystemclock.c: (gst_system_clock_class_init):
7109         * gst/gsttask.c: (gst_task_class_init):
7110         * gst/gstxml.c: (gst_xml_class_init):
7111         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7112         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7113         (gst_base_src_loop):
7114         * libs/gst/controller/gstcontroller.c:/
7115         (_gst_controller_class_init):
7116         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
7117         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
7118         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
7119         * tests/old/examples/plugins/example.c: (gst_example_class_init):
7120         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
7121         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
7122
7123 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
7124
7125         * gst/gstpad.c: (gst_pad_link):
7126           Must set peer pads before calling the link function, otherwise
7127           a task started from a link function might get a flow-not-linked
7128           result when trying to push because the other thread where the
7129           linking happens hasn't had a chance to set the peers yet. This
7130           might happen for example when a queue gets linked to a downstream
7131           element, as queue starts a streaming task when its source pad
7132           gets linked. Happens in real life when playing back flac/musepack
7133           files in playbin (#332390).
7134           
7135 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
7136
7137         * gst/gstindex.h:
7138         * gst/gstxml.h:
7139         * libs/gst/base/gstadapter.h:
7140         * libs/gst/base/gstbasesink.h:
7141         * libs/gst/base/gstbasesrc.h:
7142         * libs/gst/base/gstbasetransform.h:
7143         * libs/gst/base/gstcollectpads.h:
7144         * libs/gst/base/gstpushsrc.h:
7145         Fix broken GObject macros
7146
7147 2006-04-07  Wim Taymans  <wim@fluendo.com>
7148
7149         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7150         Initialize start and stop times, thanks valgrind.
7151
7152 2006-04-07  Wim Taymans  <wim@fluendo.com>
7153
7154         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7155         Be a bit nicer to badly behaving upstream elements that expect
7156         us to deal with non TIME segments and timestamps (such as fakesrc
7157         in the testsuite).
7158
7159 2006-04-07  Wim Taymans  <wim@fluendo.com>
7160
7161         * gst/gstbus.c:
7162         Small documentation clarification about the signal watch.
7163
7164         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
7165         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
7166         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7167         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
7168         (gst_base_sink_get_position_last),
7169         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
7170         Convert and store timestamps in stream time and running time, the
7171         raw timestamps are not useful, also document this better.
7172         Use different window sizes for good and bad QoS observations so
7173         we react to badness a little quicker.
7174         Keep track of the amount of rendered and dropped buffers.
7175         Send QoS timestamps in running time.
7176
7177         * libs/gst/base/gstbasetransform.c:
7178         (gst_base_transform_sink_eventfunc),
7179         (gst_base_transform_handle_buffer):
7180         Compare QoS timestamps against running time.
7181
7182 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
7183
7184         * gst/gstpad.c:
7185           Typo fixes in docs.
7186
7187 2006-04-06  Michael Smith  <msmith@fluendo.com>
7188
7189         * gst/gstpad.c: (gst_pad_set_property):
7190           Use g_value_get_object() instead of g_value_dup_gst_object(),
7191           to avoid double-reffing the pad template (which we then sink,
7192           so this worked previously if (and only if) the pad template
7193           was floating.
7194
7195         * gst/gstpadtemplate.c: (gst_pad_template_init),
7196         (gst_pad_template_pad_created):
7197           Never return floating references to pad templates, create
7198           them as initially-sunken.
7199
7200           Document an extra function (and make this stop sinking our
7201           pad template, since that is now guaranteed to do nothing,
7202           since we created it sunken).
7203
7204         * gst/gstghostpad.c:
7205           Fix docs typo.
7206
7207 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
7208
7209         * gst/gstinfo.c: (__gst_in_valgrind):
7210           Add some newlines.
7211
7212         * plugins/elements/gsttypefindelement.c:
7213         (gst_type_find_element_chain):
7214           Don't leak buffer caps.
7215
7216 2006-04-06  Michael Smith  <msmith@fluendo.com>
7217
7218         * gst/parse/grammar.y:
7219           Fix a leak in parse-launch for any source-or-sink named element 
7220           references used.
7221
7222         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
7223           Unref the pipeline if it exists after we've failed parsing.
7224
7225 2006-04-05  Michael Smith  <msmith@fluendo.com>
7226
7227         * gst/gstpipeline.c: (gst_pipeline_init):
7228           When we create a pipeline bus, initially create it in flushing mode.
7229           Fixes leaks in at least one test, and makes a new pipeline work the
7230           same as one that has gone to READY and then back to NULL.
7231
7232         * gst/gstelement.c:
7233           Typo fix in docs.
7234
7235 2006-04-05  Michael Smith  <msmith@fluendo.com>
7236
7237         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7238           Unref a pad we reffed.
7239         * tests/check/gst/gstutils.c: (GST_START_TEST):
7240           Unref bins
7241
7242 2006-04-05  Michael Smith  <msmith@fluendo.com>
7243
7244         * gst/gstquery.c: (gst_query_set_formats),
7245         (gst_query_set_formatsv):
7246           Fix leaking GValues in queries, as shown by valgrind/testsuite.
7247
7248 2006-04-05  Michael Smith  <msmith@fluendo.com>
7249
7250         * tests/check/generic/sinks.c: (GST_START_TEST):
7251           Fix a variety of memleaks in sinks check, which are only sometimes 
7252           shown by running the tests under valgrind (weird?).
7253
7254 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
7255
7256         * docs/version.entities.in:
7257           Fix the substituted entity name after thomas' changes on the
7258           weekend.
7259
7260 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7261
7262         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
7263         VALGRIND_PRINTF
7264         
7265 2006-04-05  Andy Wingo  <wingo@pobox.com>
7266
7267         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
7268
7269         * libs/gst/base/gstbasetransform.c
7270         (gst_base_transform_sink_eventfunc): When resetting our segment on
7271         FLUSH_STOP, also update the flag saying we haven't seen a
7272         newsegment.
7273
7274 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7275
7276         Patch by: Paolo Borelli  <pborelli at katamail dot com>
7277
7278         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7279         (gst_plugin_check_license):
7280           minor clean-ups: G_DEFINE_TYPE already takes care of the
7281           parent_class stuff, no need to do it twice. Mark array of
7282           license strings as constant. (#337103)
7283           
7284 2006-04-04  Michael Smith  <msmith@fluendo.com>
7285
7286         * tools/gst-inspect.c: (print_element_list):
7287           Free the right plugin list; fixes a memory leak.
7288
7289 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7290
7291         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
7292
7293         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7294           Don't error out on empty buffers (#336945).
7295           
7296 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
7297
7298         * docs/libs/gstreamer-libs-sections.txt:
7299         * gst/gsttaglist.c:
7300         * libs/gst/base/gstbasesink.c:
7301         * libs/gst/base/gstbasesink.h:
7302         * libs/gst/base/gstbasesrc.c:
7303         * libs/gst/base/gstbasesrc.h:
7304           Documentation updates. Make BaseSink and BaseSrc docs contain the
7305           class structure so that people can actually see the prototypes for
7306           virtual functions they're supposed to be overriding.
7307
7308 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7309
7310         * plugins/elements/gsttypefindelement.c:
7311         (gst_type_find_element_chain):
7312           More debug info; when skipping typefinding, send cached
7313           events in all cases.
7314
7315 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7316
7317         * configure.ac:
7318           use new AS_VERSION and AS_NANO macros
7319         * gst/gst-i18n-lib.h:
7320         * gst/gst.c:
7321         * gst/gsterror.c:
7322         * gst/gstversion.h.in:
7323         * win32/common/config.h:
7324         * win32/common/config.h.in:
7325           update accordingly
7326
7327 2006-03-31  Michael Smith  <msmith@fluendo.com>
7328
7329         * plugins/elements/gsttypefindelement.c:
7330         (gst_type_find_element_chain):
7331           Do not typefind content if the buffers already have caps.
7332           Neccesary for icydemux (#333657), and the right thing to do anyway.
7333
7334 2006-03-30  Wim Taymans  <wim@fluendo.com>
7335
7336         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7337         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
7338         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
7339         (gst_base_sink_record_qos_observation),
7340         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7341         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7342         (gst_base_sink_change_state):
7343         More QoS measurements as described in the design doc.
7344         Get rid of ringbuffer with observations, running average is
7345         more simple and equally good.
7346         Calculates valid proportion now.
7347         Added beginning of flood measurement.
7348
7349 2006-03-29  Wim Taymans  <wim@fluendo.com>
7350
7351         * docs/design/part-qos.txt:
7352         * gst/gstclock.c:
7353         Small documentation updates and additions.
7354
7355 2006-03-29  Wim Taymans  <wim@fluendo.com>
7356
7357         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7358         (gst_base_src_send_event), (gst_base_src_loop),
7359         (gst_base_src_change_state):
7360         Perform the EOS logic when we reach the segment stop position.
7361         Fix compilation on gcc4.1
7362
7363 2006-03-29  Wim Taymans  <wim@fluendo.com>
7364
7365         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
7366
7367         * plugins/elements/gstqueue.c: (gst_queue_init),
7368         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
7369         (gst_queue_set_property):
7370         * plugins/elements/gstqueue.h:
7371         In queue, when EOS is received, if minimum threshold > max_size -
7372         current_level, there is chance that queue blocks forever in conditional
7373         item del wait. This is because the queue is not emptied completely due
7374         to minimum threshold.  Here is another approach. Instead of setting
7375         cur_levels to max in EOS, just zero all minimum threshold levels. This
7376         should make sure that queue gives out all data. When going to READY
7377         (stop) state, just reset the original minimum threshold levels.
7378         Fixes #336336.
7379
7380 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
7381
7382         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
7383         (gst_type_find_element_handle_event),
7384         (gst_type_find_element_send_cached_events),
7385         (gst_type_find_element_change_state):
7386         * plugins/elements/gsttypefindelement.h:
7387           When typefinding is done in push mode, we should cache
7388           events we receive during typefinding instead of just
7389           dropping them (e.g. newsegment, custom events from
7390           dvdreadsrc etc.) and then send them out once we've
7391           determined the type of the stream (and decodebin
7392           has had a chance to plug in a decoder/demuxer).
7393           
7394 2006-03-27  Wim Taymans  <wim@fluendo.com>
7395
7396         * docs/design/part-qos.txt:
7397         First QoS ideas.
7398
7399 2006-03-27  Wim Taymans  <wim@fluendo.com>
7400
7401         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
7402
7403         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7404         (gst_base_src_send_event), (gst_base_src_change_state):
7405         Handle element seek correctly when we are streaming.
7406         Fixes #326998.
7407
7408 2006-03-24  Michael Smith  <msmith@fluendo.com>
7409
7410         * docs/faq/gst-uninstalled:
7411           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
7412           allow you to correctly run intalled applications built against old 
7413           core, using plugins that require updated core (e.g. running
7414           installed totem against a full uninstalled gstreamer stack)
7415
7416 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7417
7418         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
7419         more debug details
7420
7421 2006-03-24  Wim Taymans  <wim@fluendo.com>
7422
7423         * docs/gst/gstreamer-sections.txt:
7424         Rearrange the order of the methods so that related methods
7425         are grouped together in sections.
7426
7427 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7428
7429         * gst/gstelement.c:
7430           Little clarification in the docs
7431
7432 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7433
7434         * docs/README:
7435         formatting fix
7436         * plugins/elements/gstidentity.c:
7437         * plugins/elements/gstqueue.c:
7438         * plugins/elements/gsttee.c:
7439         * plugins/elements/gsttypefindelement.c:
7440         GST_ELEMENT_DETAILS formatting
7441
7442 2006-03-24  Wim Taymans  <wim@fluendo.com>
7443
7444         * libs/gst/base/gstbasesink.h:
7445         Only add fields, not insert or we break ABI.
7446
7447 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7448
7449         * win32/common/libgstbase.def:
7450         * win32/common/libgstreamer.def:
7451           Update, add recently added functions.
7452
7453 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7454
7455         * docs/gst/gstreamer-sections.txt:
7456         * gst/gstutils.c: (gst_pad_query_peer_position),
7457         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
7458         * gst/gstutils.h:
7459           API: add some new utility functions:
7460            - gst_pad_query_peer_position()
7461            - gst_pad_query_peer_duration()
7462            - gst_pad_query_peer_convert()
7463           
7464 2006-03-23  Wim Taymans  <wim@fluendo.com>
7465
7466         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7467         (gst_base_sink_init), (gst_base_sink_finalize),
7468         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
7469         (gst_base_sink_set_property), (gst_base_sink_get_property),
7470         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
7471         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
7472         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
7473         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7474         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7475         (gst_base_sink_preroll_object), (gst_base_sink_event),
7476         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
7477         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
7478         (gst_base_sink_query), (gst_base_sink_change_state):
7479         Decouple max-lateness and the fact that QoS messages are generated
7480         with a new property (qos).
7481         added API: GstBaseSink::async_play()
7482         Add vmethod so subclasses can be notified of ASYNC playing
7483         state changes.
7484         Collect timestamp start and stop to report better current
7485         position in EOS/PLAYING/PAUSED/READY/NULL.
7486         Refactor QoS/frame dropping and other measurements.
7487         API: GstBaseSrc::qos
7488         Fixes #326311
7489
7490         * libs/gst/base/gstbasesink.h:
7491         Added Private struct.
7492         API: gst_base_sink_set_qos_enabled()
7493         API: gst_base_sink_is_qos_enabled()
7494
7495 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7496
7497         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
7498           If compiling against GLib-2.8 or newer, try to read the
7499           registry file using GMappedFile first before falling back
7500           to fopen() + fread() (#332151).
7501
7502 2006-03-22  Wim Taymans  <wim@fluendo.com>
7503
7504         * gst/gstinfo.c: (gst_debug_set_active),
7505         (gst_debug_category_set_threshold):
7506         Disable debugging unless explicitly activated.
7507         Fixes #335480.
7508
7509 2006-03-22  Wim Taymans  <wim@fluendo.com>
7510
7511         * gst/gstelement.c: (gst_element_set_locked_state),
7512         (gst_element_dispose):
7513         Cleanup the error case.
7514
7515         * gst/gstobject.c: (gst_object_dispose):
7516         print a critical when some object was disposed with
7517         a parent, also revive the object since it might
7518         crash the parent.
7519
7520 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
7521
7522         * tools/gst-launch.1.in:
7523           Fix another typo.
7524
7525 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7526
7527         * configure.ac:
7528         * tests/check/Makefile.am:
7529           disable some tests when we don't have a registry
7530         * tests/check/gst/gstutils.c: (gst_utils_suite):
7531           don't build the part that needs parsing
7532
7533 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7534
7535         * gst/Makefile.am
7536         * tests/examples/Makefile.am:
7537           fix --disable-parse build
7538
7539 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7540
7541         * tools/gst-feedback.1.in:
7542           Fix typo: s/feeback/feedback/ (#133494).
7543
7544 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7545
7546         * tools/Makefile.am:
7547         * tools/gst-launch.1.in:
7548           Add FILES section and correct entry about GST_REGISTRY_PATH
7549           environment variable (#133495; #133494).
7550
7551 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7552
7553         * tools/Makefile.am:
7554         * tools/gst-md5sum.1.in:
7555         * tools/gst-md5sum.c:
7556           Remove gst-md5sum and man page (the md5sink element
7557           required was removed ages ago)
7558
7559 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7560
7561         * gst/gststructure.c: (gst_structure_id_set_value):
7562           Make sure that string fields in structures/taglists
7563           contain valid UTF-8 - we don't want to pass rubbish to
7564           applications because of a buggy plugin (cp. #334167).
7565
7566 2006-03-21  Edward Hervey  <edward@fluendo.com>
7567
7568         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7569         (gst_bin_handle_message_func):
7570         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
7571         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
7572         (gst_element_set_bus_func):
7573         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
7574         * gst/gstminiobject.c: (gst_value_set_mini_object),
7575         (gst_value_take_mini_object):
7576         * gst/gstpad.c: (gst_pad_set_pad_template):
7577         * gst/gstpipeline.c: (gst_pipeline_dispose),
7578         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7579         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
7580         (gst_collect_pads_chain):
7581         * libs/gst/net/gstnettimeprovider.c:
7582         (gst_net_time_provider_set_property):
7583         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
7584         It's in fact all issues with gst_*object_replace().
7585
7586 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7587
7588         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
7589         
7590         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7591         * pkgconfig/gstreamer-check.pc.in:
7592           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
7593
7594 2006-03-21  Edward Hervey  <edward@fluendo.com>
7595
7596         * gst/gstbuffer.h:
7597         * gst/gstevent.h:
7598         * gst/gstmessage.h:
7599         gst_[buffer|event|message]_ref() macros are replaced by a static
7600         inline functions because gcc-4.1 will about if the return value
7601         isn't used.
7602         * tests/check/gst/gstevent.c: (event_probe):
7603         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
7604
7605 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
7606
7607         * gst/gstutils.h:
7608         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
7609         the type' case. (Closes: #335195 for now). In the future, when we
7610         depend on GLib 2.10, we could also intern the type name using
7611         g_intern_static_string()
7612
7613 2006-03-20  Wim Taymans  <wim@fluendo.com>
7614
7615         * gst/gstbin.c: (gst_bin_handle_message_func),
7616         (bin_query_max_init), (bin_query_position_fold),
7617         (bin_query_position_done), (gst_bin_query):
7618         Position query should also take max of all streams.
7619
7620 2006-03-20  Wim Taymans  <wim@fluendo.com>
7621
7622         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7623         (gst_fake_src_finalize):
7624         Fix leaks in fakesrc.
7625
7626         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7627         Fix leaks in the testcase.
7628
7629 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
7630
7631         * gst/gst_private.h:
7632           add win32 specific import decoration(__declspec(dllimport)) 
7633           for all extern GstDebugCategory * variables
7634         * win32/common/libgstbase.def:
7635         * win32/common/libgstcontroller.def:
7636         * win32/common/libgstreamer.def:
7637           Add some exports, remove empty lines
7638         * win32/common/libgstdataprotocol.def:
7639         * win32/common/libgstdataprotocol.dsp:
7640         * win32/common/libgstnet.def:
7641         * win32/common/libgstnet.dsp:
7642           new project files and exportation files added
7643         
7644 2006-03-19  Wim Taymans  <wim@fluendo.com>
7645
7646         * tests/check/libs/basesrc.c: (eos_event_counter):
7647         Use proper return value for probe.
7648
7649 2006-03-17  Wim Taymans  <wim@fluendo.com>
7650
7651         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7652         (gst_pad_push):
7653         Don't leak buffers, caps and pads on negotiation errors.
7654
7655 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
7656
7657         * docs/faq/cvs.xml:
7658         * docs/faq/dependencies.xml:
7659         * docs/faq/developing.xml:
7660         * docs/faq/faq.xml:
7661         * docs/faq/general.xml:
7662         * docs/faq/getting.xml:
7663         * docs/faq/legal.xml:
7664         * docs/faq/troubleshooting.xml:
7665         * docs/faq/using.xml:
7666         Faq review and update.
7667
7668 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
7669
7670         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7671         (gst_pad_push):
7672         Don't pound the cpu to pieces by checking get_caps when accept_caps
7673         is called with the same caps as the pad already has.
7674         Use GST_DEBUG_OBJECT when outputting caps change information.
7675
7676 2006-03-15  Wim Taymans  <wim@fluendo.com>
7677
7678         * gst/gstclock.c: (gst_clock_class_init):
7679         Fix docs.
7680
7681 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
7682
7683         * gst/gstbuffer.h:
7684         Documentation fix.
7685
7686         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
7687         (gst_pad_accept_caps), (gst_pad_configure_sink),
7688         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
7689         Make the default acceptcaps behaviour be to check the requested 
7690         caps against the gst_pad_get_caps output. 
7691
7692         Ensure that gst_pad_accept_caps is used to check caps when a pad
7693         doesn't have a setcaps function, so that pads automatically refuse 
7694         caps that they don't allow in their pad template. (Fixes #332986)
7695
7696         When a buffer with attached caps is pushed, ensure that the source 
7697         pad receives those caps even if the element didn't call
7698         gst_pad_set_caps first.
7699
7700 2006-03-15  Wim Taymans  <wim@fluendo.com>
7701
7702         * libs/gst/base/gstadapter.c:
7703         Add some docs.
7704
7705 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
7706
7707         * win32/common/libgstbase.def:
7708         * win32/common/libgstcontroller.def:
7709         * win32/common/libgstreamer.def:
7710           Add a whole bunch of missing functions (#334434).
7711
7712 2006-03-14  Wim Taymans  <wim@fluendo.com>
7713
7714         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7715         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
7716         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
7717         Better debug info when we receive a segment event.
7718         Reorganize a bit so we can pass the get_times() results around.
7719         Use the segment format when calculating the running time.
7720         Don't do QoS is sync is disabled or we have no clock or the
7721         element does not want us to sync to the clock.
7722         Don't drop buffers if QoS is disabled for now.
7723
7724 2006-03-14  Wim Taymans  <wim@fluendo.com>
7725
7726         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
7727         Marked the stats property as unimplemented so people don't get
7728         wild ideas.
7729         Add debug message when regression goes wrong.
7730         Added some more docs.
7731
7732 2006-03-14  Wim Taymans  <wim@fluendo.com>
7733
7734         * gst/gstsegment.c: (gst_segment_to_stream_time):
7735         Return correct return type in case of errors.
7736
7737 2006-03-14  Wim Taymans  <wim@fluendo.com>
7738
7739         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
7740           Don't segfault on invalid formats.
7741
7742 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7743
7744         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7745           Can't use gst_segment_to_running_time() when the segment
7746           is not in GST_TIME_FORMAT (like with filesink, for example).
7747           Stops flac encoding pipelines from spewing critical warnings
7748           at EOS (#331248).
7749           
7750 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7751
7752         * gst/gstpipeline.c: (gst_pipeline_class_init):
7753           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
7754
7755         * plugins/elements/gsttypefindelement.c:
7756         (gst_type_find_element_handle_event):
7757           Don't try to typefind empty streams.
7758
7759 2006-03-14  Wim Taymans  <wim@fluendo.com>
7760
7761         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
7762         (gst_base_sink_do_qos):
7763         Separate QoS calculation.
7764         Only drop buffers when lateness is bigger than the 
7765         duration of the buffer.
7766
7767 2006-03-13  Wim Taymans  <wim@fluendo.com>
7768
7769         * gst/gstpipeline.c: (gst_pipeline_set_property),
7770         (gst_pipeline_get_property), (do_pipeline_seek),
7771         (gst_pipeline_change_state), (gst_pipeline_set_delay),
7772         (gst_pipeline_get_delay):
7773         Don't deadlock when reading properties.
7774
7775 2006-03-13  Wim Taymans  <wim@fluendo.com>
7776
7777         * libs/gst/base/gstbasetransform.c:
7778         (gst_base_transform_class_init), (gst_base_transform_init),
7779         (gst_base_transform_sink_event),
7780         (gst_base_transform_sink_eventfunc),
7781         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
7782         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7783         (gst_base_transform_set_property),
7784         (gst_base_transform_get_property),
7785         (gst_base_transform_change_state), (gst_base_transform_update_qos),
7786         (gst_base_transform_set_qos_enabled),
7787         (gst_base_transform_is_qos_enabled):
7788         * libs/gst/base/gstbasetransform.h:
7789         Make basetransform virtual method for src events too.
7790         Handle QOS in basetransform.
7791         API: gst_base_transform_update_qos()
7792         API: gst_base_transform_set_qos_enabled()
7793         API: gst_base_transform_is_qos_enabled()
7794
7795 2006-03-13  Wim Taymans  <wim@fluendo.com>
7796
7797         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7798         (gst_base_sink_do_sync):
7799         Small cleanups.
7800         Use QOS debug category.
7801
7802 2006-03-13  Wim Taymans  <wim@fluendo.com>
7803
7804         * plugins/elements/gstqueue.c:
7805         Very small doc update.
7806
7807 2006-03-13  Wim Taymans  <wim@fluendo.com>
7808
7809         * gst/gst_private.h:
7810         * gst/gstinfo.c: (_gst_debug_init):
7811         Added QOS debug category
7812
7813 2006-03-13  Wim Taymans  <wim@fluendo.com>
7814
7815         * docs/gst/gstreamer-sections.txt:
7816         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
7817         * gst/gstbin.h:
7818         * gst/gstbus.c: (gst_bus_class_init):
7819         * gst/gstbus.h:
7820         * gst/gstclock.c:
7821         * gst/gstelement.c: (gst_element_set_locked_state):
7822         * gst/gstsegment.c:
7823         Documentation updates.
7824
7825         * gst/gstpipeline.c: (gst_pipeline_get_type),
7826         (gst_pipeline_class_init), (gst_pipeline_init),
7827         (gst_pipeline_dispose), (gst_pipeline_set_property),
7828         (gst_pipeline_get_property), (do_pipeline_seek),
7829         (gst_pipeline_send_event), (gst_pipeline_change_state),
7830         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
7831         (gst_pipeline_get_delay):
7832         * gst/gstpipeline.h:
7833         Added methods for setting the delay.
7834         API: gst_pipeline_set_delay()
7835         API: gst_pipeline_get_delay()
7836         Add pipeline debug category
7837         Various cleanups.
7838         Updated docs.
7839         Don't reset stream time when seek failed.
7840
7841 2006-03-13  Wim Taymans  <wim@fluendo.com>
7842
7843         * docs/design/draft-klass.txt:
7844         * docs/design/part-clocks.txt:
7845         * docs/design/part-events.txt:
7846         * docs/design/part-gstbin.txt:
7847         * docs/design/part-gstpipeline.txt:
7848         * docs/design/part-messages.txt:
7849         * docs/design/part-negotiation.txt:
7850         * docs/design/part-overview.txt:
7851         * docs/design/part-preroll.txt:
7852         * docs/design/part-seeking.txt:
7853         * docs/design/part-states.txt:
7854         * docs/design/part-streams.txt:
7855         Documentation updates.
7856
7857 2006-03-12  Julien MOUTTE  <julien@moutte.net>
7858
7859         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
7860         us to leak strings...
7861
7862 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7863
7864         * libs/gst/net/gstnettimeprovider.c:
7865           fix docs
7866         * win32/common/config.h:
7867           update
7868
7869 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
7870
7871         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
7872
7873         * configure.ac:
7874           Don't check for libgnomeui (leftover from old examples
7875           that aren't built or disted any longer) (#334303).
7876           
7877 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
7878
7879         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
7880         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7881           Emit RESOURCE_NO_SPACE_LEFT error here as well when
7882           there's no space left on the device.
7883
7884 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
7885
7886         * gst/gstclock.h:
7887           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
7888           to cast the input to GstClockTime before comparing with
7889           another GstClockTime value.
7890
7891 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7892
7893         * configure.ac:
7894           back to trunk
7895
7896 === release 0.10.4 ===
7897
7898 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
7899
7900         * configure.ac:
7901           releasing 0.10.4, "Light"
7902
7903 2006-03-10  Michael Smith  <msmith@fluendo.com>
7904
7905         * libs/gst/dataprotocol/dataprotocol.c:
7906           Fix docs for dataprocotol to not get the return types completely
7907           wrong for a few functions.
7908
7909 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7910
7911         * docs/gst/gstreamer-sections.txt:
7912         * gst/gstpipeline.c: (gst_pipeline_class_init),
7913         (gst_pipeline_init), (gst_pipeline_set_property),
7914         (gst_pipeline_get_property), (gst_pipeline_change_state),
7915         (gst_pipeline_set_auto_flush_bus),
7916         (gst_pipeline_get_auto_flush_bus):
7917         * gst/gstpipeline.h:
7918           Add new API: gst_pipeline_set_auto_flush_bus() and
7919           gst_pipeline_get_auto_flush_bus() to disable automatic
7920           flushing of the pipeline's GstBus when going from READY
7921           to NULL state (#332045).
7922
7923 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7924
7925         * docs/gst/gstreamer-sections.txt:
7926         * gst/gsturi.c: (gst_uri_has_protocol):
7927         * gst/gsturi.h:
7928            Add new API: gst_uri_has_protocol() (#333779).
7929
7930 2006-03-09  Wim Taymans  <wim@fluendo.com>
7931
7932         * gst/gstclock.c: (gst_clock_entry_new),
7933         (gst_clock_id_compare_func), (gst_clock_id_wait),
7934         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
7935         (gst_clock_init), (gst_clock_get_internal_time),
7936         (gst_clock_set_master), (do_linear_regression),
7937         (gst_clock_add_observation), (gst_clock_set_property):
7938         * gst/gstclock.h:
7939         Review docs.
7940         Small cleanups.
7941         Fix a possible segfault when the window-size is made smaller.
7942         Calculate jitter before performing the clock wait. Ideally
7943         the clock implementation should calculate jitter but we need
7944         API breakage for that.
7945
7946         * gst/gstsystemclock.c: (gst_system_clock_init):
7947         Docs review.
7948         
7949         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7950         Remove leftover else
7951
7952         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7953         (gst_systemclock_suite):
7954         Added check to test GST_CLOCK_DIFF.
7955
7956 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7957
7958         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
7959         (gst_type_find_helper_get_range):
7960           If we are provided with the size, we should implement
7961           GstTypeFind::get_length, so that typefind functions who
7962           want to can actually peek at the middle of a file.
7963
7964 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
7965
7966         * docs/manual/advanced-dataaccess.xml:
7967           Add some very very basic error checking.
7968
7969         * docs/pwg/appendix-checklist.xml:
7970           Some updates to the list of things to check when writing an element.
7971
7972 2006-03-08  Wim Taymans  <wim@fluendo.com>
7973
7974         * docs/design/part-element-transform.txt:
7975         Added some docs about the design of tranform elements.
7976
7977         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7978         (gst_base_src_loop), (gst_base_src_change_state):
7979         Mark buffers with the DISCONT flag.
7980
7981 2006-03-08  Michael Smith  <msmith@fluendo.com>
7982
7983         * gst/gstregistry.h:
7984         * gst/gstregistryxml.c: (gst_registry_save),
7985         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
7986         (gst_registry_xml_save_pad_template),
7987         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
7988         (gst_registry_xml_write_cache):
7989           Rewrite registry-saving to avoid race conditions and check for
7990           failed writes.
7991
7992 2006-03-08  Wim Taymans  <wim@fluendo.com>
7993
7994         * libs/gst/base/gstbasetransform.c:
7995         (gst_base_transform_transform_caps),
7996         (gst_base_transform_transform_size),
7997         (gst_base_transform_prepare_output_buffer),
7998         (gst_base_transform_get_unit_size),
7999         (gst_base_transform_buffer_alloc),
8000         (gst_base_transform_handle_buffer),
8001         (gst_base_transform_change_state):
8002         Cleanups, separate normal flow from errors, add sensible
8003         DEBUG lines.
8004         Don't try to renegotiate when allocating an output buffer.
8005         Also copy DISCONT buffer flag when copying a buffer.
8006         Reset the transform after we finish streaming, not during.
8007
8008 2006-03-08  Wim Taymans  <wim@fluendo.com>
8009
8010         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8011         Use last buffer timestamp in qos message.
8012
8013 2006-03-07  Wim Taymans  <wim@fluendo.com>
8014
8015         Patch by: Christophe Fergeau
8016
8017         * docs/pwg/advanced-tagging.xml:
8018         * docs/pwg/building-pads.xml:
8019           fixes #333416
8020
8021 2006-03-07  Wim Taymans  <wim@fluendo.com>
8022
8023         * docs/libs/gstreamer-libs-sections.txt:
8024         Added basesink new methods.
8025
8026         * gst/gstevent.c:
8027         * gst/gstevent.h:
8028         Docs updates. Flesh out the QoS docs.
8029
8030         * libs/gst/base/gstadapter.c:
8031         Small doc clarification about ownership and flushing.
8032
8033         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
8034         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
8035         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
8036         (gst_base_sink_get_property), (gst_base_sink_do_sync):
8037         * libs/gst/base/gstbasesink.h:
8038         API additions: 
8039         Added new methods to allow subclass to control max-lateness 
8040         and sync.
8041         Generate very basic QoS events based on last sync observation.
8042         Updated docs, fix typo, added some QoS blurb.
8043
8044         * libs/gst/base/gstbasesrc.c:
8045         Remove obsolete _get_state() calls from docs.
8046
8047 2006-03-07  Wim Taymans  <wim@fluendo.com>
8048
8049         * docs/libs/gstreamer-libs-sections.txt:
8050         * libs/gst/base/gstbasetransform.h:
8051         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
8052         Fix docs for GstBaseSrc.
8053
8054 2006-03-07  Wim Taymans  <wim@fluendo.com>
8055
8056         * docs/gst/gstreamer-sections.txt:
8057         * gst/gstbuffer.h:
8058         * gst/gstvalue.c:
8059         * libs/gst/base/gstbasetransform.h:
8060         Small documentation fixes.
8061
8062 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
8063
8064         * gst/gstvalue.c:
8065           Document thread-unsafety of gst_value_register_foo_func()
8066           when used at the same time as gst_value_foo() (#322628).
8067
8068 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
8069
8070         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
8071         (gst_push_src_check_get_range):
8072           Push sources don't support pull mode by default.
8073
8074 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
8075
8076         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8077         (gst_base_src_init), (gst_base_src_pad_check_get_range),
8078         (gst_base_src_default_check_get_range):
8079         * libs/gst/base/gstbasesrc.h:
8080           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
8081           provide default implementation, and rename
8082           gst_base_src_check_get_range() to
8083           gst_base_src_pad_check_get_range() for clarity.
8084
8085 2006-03-06  Wim Taymans  <wim@fluendo.com>
8086
8087         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
8088         Make property overridable.
8089
8090 2006-03-06  Wim Taymans  <wim@fluendo.com>
8091
8092         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
8093         (gst_base_sink_init), (gst_base_sink_set_property),
8094         (gst_base_sink_get_property), (gst_base_sink_do_sync):
8095         * libs/gst/base/gstbasesink.h:
8096         API addition: Make max-lateness a property.
8097
8098 2006-03-06  Wim Taymans  <wim@fluendo.com>
8099
8100         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
8101         (gst_base_sink_do_sync), (gst_base_sink_render_object):
8102         Don't ever draw a frame that is >10ms late.
8103
8104 2006-03-06  Michael Smith  <msmith@fluendo.com>
8105
8106         * gst/gstmessage.c: (_gst_message_copy):
8107           When copying a message, set the parent_refcount of the enclosed
8108           structure to point at the copy, not the original message.
8109
8110 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
8111
8112         Patch by: Christophe Fergeau
8113
8114         * gst/gstutils.h:
8115           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
8116           usable in c++ code (#333417)
8117
8118 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8119
8120         * gst/gstclock.h:
8121           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
8122
8123 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
8124
8125         * libs/gst/base/gstbasetransform.c:
8126         (gst_base_transform_transform_caps):
8127           Make sure caps are writable before passing them to
8128           gst_caps_append().
8129
8130 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
8131
8132         * gst/gsterror.h:
8133           Fix some minor docs errors.
8134
8135 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
8136
8137           Patch by: Ross Burton <ross at burtonini dot com>
8138
8139         * gst/gsterror.c: (_gst_resource_errors_init):
8140         * gst/gsterror.h:
8141           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
8142
8143 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
8144
8145         * gst/gst.c:
8146         Add a check and output a g_warning when GStreamer is built
8147         against GLib 2.6 but running against 2.8 or higher, and vice 
8148         versa. (Closes: #323542)
8149
8150 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
8151
8152         * gst/parse/parse.l:
8153           Commit patch for parse_launch syntax from #331255. Removes 
8154           support for quoted strings and mimetypes when writing filtered 
8155           caps. See the bug report for more details - I'm pretty sure this
8156           obscure feature is not in use by _anyone_ anywhere.
8157
8158           With this simple change, the size of the gstreamer.so here 
8159           drops from 2193KB to 1565KB.
8160
8161 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8162
8163         * plugins/elements/gsttypefindelement.h:
8164         * plugins/elements/gsttypefindelement.c:
8165         (gst_type_find_element_src_event), (start_typefinding),
8166         (stop_typefinding), (gst_type_find_element_handle_event),
8167         (gst_type_find_element_chain),
8168         (gst_type_find_element_chain_do_typefinding):
8169           Use gst_type_find_helper_for_buffer() for chain-based
8170           typefinding.
8171
8172 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8173
8174         * plugins/elements/gsttypefindelement.c:
8175         (gst_type_find_element_class_init),
8176         (gst_type_find_element_set_property),
8177         (gst_type_find_element_get_property):
8178           Deprecate "maximum" property (not only was it only taken into
8179           account for typefinding in push-mode anyway, it also was never
8180           actually possible to set it in the first place because the
8181           property was registered with the numeric property ID for the
8182           "minimum" property). Register "maximum" property correctly,
8183           for the sake of future copy'n'pasters. Remove some cruft
8184           from property get/set functions.
8185
8186 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8187
8188         * plugins/elements/gsttypefindelement.c:
8189         (gst_type_find_element_activate):
8190           Use gst_type_find_helper_get_range() here, so we
8191           can honour the "minimum" property and also emit
8192           the signal with the correct probability of the found caps.
8193
8194 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
8195
8196         * docs/libs/gstreamer-libs-sections.txt:
8197         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
8198         (helper_find_suggest), (gst_type_find_helper_get_range),
8199         (gst_type_find_helper):
8200         * libs/gst/base/gsttypefindhelper.h:
8201           New API: gst_type_find_helper_get_range() (#333042).
8202
8203 2006-03-02  Michael Smith  <msmith@fluendo.com>
8204
8205         * gst/gstregistryxml.c: (load_feature):
8206           Asserting on a failure to read part of the registry is Not Cool.
8207           Just log a warning and return NULL (which is already handled)
8208
8209 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
8210
8211         * win32/common/libgstbase.def:
8212           added export of gst_type_find_helper_for_buffer
8213         * win32/common/libgstbase.def:
8214           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
8215           gst_ghost_pad_get_target
8216
8217 2006-02-28  Wim Taymans  <wim@fluendo.com>
8218
8219         * docs/design/draft-klass.txt:
8220         We use Filter now.
8221         Added Connector to mark elements that are only used to
8222         allow pipeline connections.
8223         Moved Debug to extra feature since most of them are 
8224         functionally something else.
8225
8226 2006-02-28  Wim Taymans  <wim@fluendo.com>
8227
8228         * docs/design/draft-klass.txt:
8229         Some updates and clarifications.
8230
8231 2006-02-28  Wim Taymans  <wim@fluendo.com>
8232
8233         * docs/design/draft-klass.txt:
8234         Proposal for klass field values.
8235
8236         * docs/design/part-streams.txt:
8237         Start of a doc describing stream anatomy.
8238
8239 2006-02-28  Wim Taymans  <wim@fluendo.com>
8240
8241         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
8242         Help the compiler a bit with type registration.
8243         Use existing forward cod path instead of duplicating it when 
8244         handling a message.
8245         
8246         * gst/gstbus.c: (gst_bus_get_type):
8247         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
8248         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
8249         * gst/gstclock.c: (gst_clock_get_type):
8250         * gst/gstelement.c: (gst_element_get_type),
8251         * gst/gstelementfactory.c: (gst_element_factory_get_type):
8252         * gst/gstindexfactory.c: (gst_index_factory_get_type):
8253         * gst/gstminiobject.c: (gst_mini_object_get_type):
8254         * gst/gstpad.c: (gst_pad_get_type):
8255         * gst/gstsegment.c: (gst_segment_get_type):
8256         * gst/gststructure.c: (gst_structure_get_type):
8257         * gst/gstsystemclock.c: (gst_system_clock_get_type):
8258         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
8259         * gst/gstvalue.c:
8260         Help compiler with type registration.
8261
8262         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8263         Small doc update.
8264
8265 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8266
8267         * plugins/elements/gsttypefindelement.c:
8268         (gst_type_find_element_handle_event):
8269           When we get an EOS event and have not found a type yet
8270           (most likely because we had not yet accumulated
8271           TYPE_FIND_MIN_SIZE of data yet), try to determine the
8272           type given the data we have so far. Fixes typefinding
8273           for very short streams again, most notably quicktime
8274           redirections as used on Apple's trailer site (#331701).
8275
8276 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8277
8278         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
8279         (gst_type_find_helper):
8280           Try typefinding factories with the highest rank first.
8281
8282 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8283
8284         * docs/libs/gstreamer-libs-docs.sgml:
8285         * docs/libs/gstreamer-libs-sections.txt:
8286         * libs/gst/base/gsttypefindhelper.c:
8287           Add section for typefind helper and add documentation
8288           for the old and the new function.
8289
8290 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8291
8292         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
8293         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
8294         (gst_type_find_helper_for_buffer):
8295         * libs/gst/base/gsttypefindhelper.h:
8296           New API: gst_type_find_helper_for_buffer() (#332723).
8297           
8298 2006-02-27  Michael Smith  <msmith@fluendo.com>
8299
8300         Patch by: Loïc Minier
8301
8302         * configure.ac:
8303         * docs/Makefile.am:
8304         * docs/slides/Makefile.am:
8305           prevent CVS directories getting disted.
8306
8307 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8308
8309         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
8310           Use the REFCOUNTING category for caps refcounting.
8311           
8312 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
8313
8314         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
8315           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
8316
8317 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
8318
8319         * plugins/elements/gsttypefindelement.c:
8320         (gst_type_find_element_activate):
8321           Use gst_pad_check_pull_range() before _activate_pull()
8322           to avoid unnecessary open/close (see #331690).
8323
8324 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
8325
8326         * gst/gstutils.c:
8327           Docs enhancement: make it crystal clear what the
8328           gst_pad_add_*_probe() callbacks should look like.
8329
8330 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
8331
8332         * libs/gst/base/gstbasesrc.c:
8333           Document how applications can stop recording from
8334           live sources (see #330996).
8335
8336 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8337
8338         * tests/check/Makefile.am:
8339         * tests/check/libs/basesrc.c: (eos_event_counter),
8340         (basesrc_eos_events_pull), (basesrc_eos_events_push),
8341         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
8342         (gst_basesrc_suite), (main):
8343           ... and add some tests for the base source EOS stuff.
8344
8345 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8346
8347         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
8348           Test case originally showed the problem fixed below,
8349           but was then amended. Add checks back at the place
8350           where they used to be.
8351
8352 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8353
8354         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8355         (gst_base_src_init), (gst_base_src_loop),
8356         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8357         (gst_base_src_change_state):
8358         * libs/gst/base/gstbasesrc.h:
8359           Don't unconditionally send EOS when going from PAUSED to
8360           READY state, esp. make sure we don't send two EOS events
8361           in some cases (e.g. one when reaching EOS and one when
8362           going from PAUSED to READY). Also, we don't want to send
8363           EOS events when operating in pull mode. However, we do
8364           want to send an EOS event when shutting down a live
8365           source explicitly, for example (fixes #330996).
8366           
8367 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8368
8369         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
8370           Update src->read_position after a seek when not using mmap.
8371           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
8372
8373 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
8374
8375         * gst/Makefile.am:
8376         * gst/gstparse.h:
8377         * gst/gstutils.c:
8378         * gst/gstutils.h:
8379         Make things work with --disable-parse as they do with 
8380         --disable-load-save - the symbols involved disappear, but the
8381         header is still installed and GST_DISABLE_PARSE is included via
8382         gstconfig.h
8383
8384 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8385
8386         * libs/gst/base/gstbasetransform.c:
8387         (gst_base_transform_change_state): Fix a stupid bug. I was 
8388         sure I compiled that.
8389
8390 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8391
8392         * gst/gstpad.c: (gst_pad_set_blocked_async):
8393         * gst/gstutils.c: (gst_pad_add_data_probe),
8394         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8395         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8396         (gst_pad_remove_buffer_probe): Make those function act on the
8397         ghostpad target when it's a ghostpad. (Closes #331727)
8398
8399 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8400
8401         * libs/gst/base/gstbasetransform.c:
8402         (gst_base_transform_change_state): Make basetransform reusable.
8403         (Closes #331898)
8404
8405 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
8406
8407         * docs/random/release:
8408         Move the current documentation of how to do a release to the top
8409         of the file.
8410
8411         * gst/gstbin.c: (gst_bin_class_init),
8412         (gst_bin_handle_message_func):
8413         Allow multiple state-recalculation threads. (Closes #328873)
8414
8415 2006-02-19  Julien MOUTTE  <julien@moutte.net>
8416
8417         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
8418         * gst/gstpad.c: (gst_pad_set_event_function),
8419         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8420         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
8421         2 strings. You can't use the STR_NULL macro on that.
8422
8423 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
8424
8425         * gst/gstpad.c: (gst_pad_set_event_function),
8426         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8427         (gst_pad_set_getcaps_function)
8428         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
8429           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
8430           So now, we can use --gst-debug-level=5 on Windows
8431         * win32/common/libgstcontroller.def:
8432           Added export of gst_controller_init
8433         * win32/vs6/libgstcontroller.dsp:
8434           Fixed Release post build configuration
8435
8436 2006-02-17  Wim Taymans  <wim@fluendo.com>
8437
8438         * tests/check/gst/gstquery.c: (GST_START_TEST):
8439         Added another check.
8440
8441 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
8442
8443         * plugins/elements/gsttypefindelement.c: (find_peek):
8444           We can do peeks at non-zero offsets, as long as they
8445           fall within the buffer we have.
8446
8447 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
8448
8449         * tests/check/Makefile.am:
8450         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
8451         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
8452         (parse_suite), (main):
8453           Add testsuite for parse launch syntax
8454
8455 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
8456
8457         * plugins/elements/gsttypefindelement.c:
8458         (gst_type_find_element_chain):
8459           When typefinding is unsuccessful in the chain function, don't
8460           error out immediately. Only error out with NO_CAPS_FOUND if
8461           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
8462           otherwise simply wait for more data so we can try typefinding
8463           again with more data later. Also, don't attempt to typefind
8464           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
8465           this should improve typefinding from network sources where the
8466           size of the first buffer can be somewhat random.
8467
8468 2006-02-14  Wim Taymans  <wim@fluendo.com>
8469
8470         * docs/gst/gstreamer-sections.txt:
8471         * gst/gstpadtemplate.c:
8472         * gst/gstpadtemplate.h:
8473         Fix padtemplate docs, fixes #328805.
8474
8475 2006-02-14  Wim Taymans  <wim@fluendo.com>
8476
8477         * tools/gst-launch.c: (main):
8478         NO_PREROLL is not an ERROR so don't send confusing messages
8479         to the user.
8480
8481 2006-02-14  Wim Taymans  <wim@fluendo.com>
8482
8483         Patch by: Torsten Schoenfeld
8484
8485         * gst/gstregistry.c: (gst_registry_get_default),
8486         (_gst_registry_cleanup):
8487         Protect default registry with lock and ref/sink it.
8488         Fixes #324818
8489
8490 2006-02-14  Wim Taymans  <wim@fluendo.com>
8491
8492         * gst/gstbuffer.c:
8493         * gst/gstquery.c: (gst_query_list_add_format),
8494         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8495         (gst_query_parse_formats_nth):
8496         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8497         Docs fixes.
8498
8499 2006-02-14  Wim Taymans  <wim@fluendo.com>
8500
8501         * docs/gst/gstreamer-sections.txt:
8502         Reworked query docs.
8503
8504         * gst/gstquery.c: (gst_query_new_formats),
8505         (gst_query_list_add_format), (gst_query_set_formats),
8506         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8507         (gst_query_parse_formats_nth):
8508         * gst/gstquery.h:
8509         Flesh out formats query, added some new methods.
8510         Fix part of #324398.
8511
8512         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
8513         Added query creation tests.
8514
8515 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
8516
8517         * gst/gstpad.c: (fixate_value):
8518         Add a default fixation for fraction lists.
8519
8520 2006-02-13  Wim Taymans  <wim@fluendo.com>
8521
8522         * gst/gsttask.c: (gst_task_init), (gst_task_func),
8523         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
8524         (gst_task_join):
8525         * gst/gsttask.h:
8526         Detect and warn for obvious deadlocks. fixes #320340
8527         Fix error case where lock was not released.
8528
8529         * tests/check/Makefile.am:
8530         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
8531         (task_func), (gst_element_suite), (main):
8532         Add task check.
8533
8534 2006-02-13  Wim Taymans  <wim@fluendo.com>
8535
8536         * docs/gst/gstreamer-sections.txt:
8537         * gst/gstbus.c:
8538         Add new functions to docs.
8539
8540 2006-02-13  Wim Taymans  <wim@fluendo.com>
8541
8542         * docs/design/part-TODO.txt:
8543         Updated TODO list, basesrc supports seeking to non-bytes
8544         formats.
8545
8546         * docs/design/part-element-sink.txt:
8547         Update docs.
8548
8549         * gst/gstbin.c: (bin_replace_message),
8550         (gst_bin_handle_message_func):
8551         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
8552         * gst/gstevent.c: (gst_event_finalize):
8553         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8554         (gst_pad_send_event):
8555         Use shiny new _TYPE_NAME macros.
8556
8557         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8558         Move debug statement up.
8559
8560         * gst/gstelement.c: (gst_element_set_locked_state):
8561         Add some debugging.
8562
8563 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
8564
8565         * docs/gst/gstreamer-sections.txt:
8566         * gst/gstmessage.h:
8567         * gst/gstquery.h:
8568           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
8569           macros (#330906). Also, document the already existing
8570           GST_QUERY_TYPE macro.
8571
8572 2006-02-13  Wim Taymans  <wim@fluendo.com>
8573
8574         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
8575         (event_probe), (GST_START_TEST):
8576         Only events up to the pipeline EOS are counted, there are
8577         some more when going to NULL currently which we don't care
8578         about for now.
8579
8580 2006-02-13  Wim Taymans  <wim@fluendo.com>
8581
8582         * gst/gstpad.c: (gst_pad_send_event):
8583         Correctly check flushing and emit probes. fixes #330125
8584
8585 2006-02-10  Andy Wingo  <wingo@pobox.com>
8586
8587         * gst/gstbus.c (gst_bus_class_init): Declare our private data
8588         structure.
8589         (gst_bus_init): Cache the location of the private data in the
8590         instance structure.
8591         (gst_bus_enable_sync_message_emission) 
8592         (gst_bus_disable_sync_message_emission): Implement new public
8593         functions.
8594         (gst_bus_post): Emit the sync-message signal if the user asked for
8595         it. Fixes #330684.
8596
8597         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
8598         location of the bus-private structure.
8599         (gst_bus_enable_sync_message_emission)
8600         (gst_bus_disable_sync_message_emission): API addition
8601
8602 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
8603
8604         Patch by: Vincent Torri
8605
8606         * docs/pwg/building-boiler.xml:
8607         PWG patch from #326800
8608
8609 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
8610
8611         * configure.ac:
8612         * docs/Makefile.am:
8613         * docs/design/Makefile.am:
8614           Dist design docs.
8615
8616 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8617
8618         * configure.ac:
8619           back to CVS
8620
8621 === release 0.10.3 ===
8622
8623 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
8624
8625         * configure.ac:
8626           releasing 0.10.3, "Like a virgin"
8627
8628 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8629
8630         * configure.ac:
8631           2nd prerelease of 0.10.3
8632           Bump libtool versioning.
8633
8634 2006-02-07  Andy Wingo  <wingo@pobox.com>
8635
8636         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
8637         update last_stop if we're in TIME format and the timestamp is
8638         valid.
8639
8640         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
8641         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
8642         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
8643         If we get a new newsegment with a different format, adapt
8644         accordingly.
8645
8646         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
8647         of 0. Not a problem, really.
8648
8649         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
8650         warn if sync=true.
8651
8652 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
8653
8654         * configure.ac:
8655           Prelease of 0.10.3
8656
8657 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
8658
8659         * win32/vs7:
8660           project files updated to the default vs7 configuration
8661         * win32/common/libgstbase.def:
8662         * win32/common/libgstreamer.def:
8663           added new symbols,
8664           removed empty lines,
8665           sorted all exported symbols alphabetically
8666         * win32/common/dirent.c:
8667         * win32/common/dirent.h:
8668         * win32/common/gchar.h:
8669           use windows line end.
8670           
8671 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8672
8673         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8674           Send EOS event when stopping.
8675
8676 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8677
8678         * docs/README:
8679           Tell folks what to do if the plugin-foobar.xml file
8680           hasn't been generated for a newly-added plugin.
8681
8682 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8683
8684         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8685         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8686         (gst_collect_pads_start), (gst_collect_pads_stop),
8687         (gst_collect_pads_event): Collectpads now holds a reference
8688         to the GstPad that was added. Indeed we don't want to look
8689         at pads that might just go away with no warning...
8690
8691 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8692
8693         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8694         (gst_collect_pads_start), (gst_collect_pads_stop),
8695         (gst_collect_pads_event), (gst_collect_pads_chain):
8696         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
8697         Mark Nauwelaerts's patch on bug #328491.
8698
8699 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8700
8701         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
8702         (gst_utils_suite):
8703           Add some simple tests for gst_parse_bin_from_description() and
8704           gst_bin_find_unconnected_pad() (#329069).
8705
8706 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8707
8708         * tools/gst-launch.c: (event_loop), (main):
8709           Catch errors during preroll (#320084).
8710
8711 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
8712
8713         * plugins/elements/gsttypefindelement.c:
8714         (gst_type_find_element_activate):
8715           Post TYPE_NOT_FOUND error message when typefinding
8716           is unsuccessful in the activate function as well.
8717
8718 2006-02-02  Wim Taymans  <wim@fluendo.com>
8719
8720         * docs/design/part-element-sink.txt:
8721         Updated doc.
8722
8723 2006-02-02  Wim Taymans  <wim@fluendo.com>
8724
8725         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8726         (gst_base_sink_render_object),
8727         (gst_base_sink_queue_object_unlocked):
8728         Only keep track of prerollable items when we are 
8729         prerolling.
8730         Before rendering after preroll, always check if we
8731         have queued items.
8732         Added some more debugging.
8733
8734 2006-02-02  Wim Taymans  <wim@fluendo.com>
8735
8736         * gst/gstelement.c: (gst_element_continue_state),
8737         (gst_element_set_state_func), (gst_element_change_state):
8738         Fixed #326576, been running this for quite some time with
8739         no regressions at all.
8740
8741 2006-02-02  Wim Taymans  <wim@fluendo.com>
8742
8743         * common/gst.supp:
8744         Added more suppressions
8745
8746 2006-02-02  Wim Taymans  <wim@fluendo.com>
8747
8748         * docs/design/part-element-sink.txt:
8749         Updated document.
8750
8751         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8752         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
8753         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
8754         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8755         (gst_base_sink_do_sync), (gst_base_sink_render_object),
8756         (gst_base_sink_preroll_object),
8757         (gst_base_sink_queue_object_unlocked),
8758         (gst_base_sink_queue_object), (gst_base_sink_event),
8759         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
8760         (gst_base_sink_loop), (gst_base_sink_activate_pull),
8761         (gst_base_sink_get_position), (gst_base_sink_change_state):
8762         * libs/gst/base/gstbasesink.h:
8763         Totally refactored matching the design doc.
8764         Use two segments, one to clip incomming buffers and another to
8765         perform sync.
8766         Handle queueing correctly, bypass the queue when playing.
8767         Make EOS cancelable.
8768         Handle errors correctly when operating in pull based mode.
8769
8770         * tests/check/elements/fakesink.c: (GST_START_TEST),
8771         (fakesink_suite):
8772         Added new check for sinks.
8773
8774 2006-02-02  Wim Taymans  <wim@fluendo.com>
8775
8776         * gst/gstsegment.c: (gst_segment_clip):
8777         No reason to refuse to clip when start == -1
8778
8779 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
8780
8781         * docs/README:
8782         * docs/manual/intro-basics.xml:
8783         * docs/manual/intro-preface.xml:
8784         * docs/manual/manual.xml:
8785         * docs/pwg/advanced-dparams.xml:
8786         * docs/pwg/intro-basics.xml:
8787         * docs/pwg/intro-preface.xml:
8788         * docs/pwg/pwg.xml:
8789           describe dparams (controller) for plugins
8790           unify docs a little more
8791
8792 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
8793
8794         * docs/gst/gstreamer-sections.txt:
8795         * gst/gstutils.c: (element_find_unconnected_pad),
8796         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
8797         * gst/gstutils.h:
8798           Add new API: gst_parse_bin_from_description() and
8799           gst_bin_find_unconnected_pad() (#329069).
8800
8801 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
8802
8803         * docs/manual/README:
8804           uncover a nasty detail of the docs build
8805
8806 2006-01-31  Wim Taymans  <wim@fluendo.com>
8807
8808         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
8809         Don't cache duration messages if we're not going to use or
8810         free them.
8811
8812 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
8813
8814         * docs/manual/advanced-dparams.xml:
8815         * docs/pwg/advanced-dparams.xml:
8816           more dparam docs
8817         * gst/gstindex.c:
8818           fix docs
8819         * libs/gst/controller/lib.c: (gst_controller_init):
8820           init just once
8821
8822 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8823
8824         * gst/gstelement.c: (gst_element_message_full):
8825           also show file/line/func if no additional debug was given
8826
8827 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
8828         
8829         * win32/vs7/grammar.vcproj:
8830           activate copy of autogenerated files for Release mode
8831
8832 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8833         
8834         * win32/common/libgstreamer.def:
8835           export gst_value_compare
8836
8837 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
8838
8839         * plugins/elements/Makefile.am:
8840         * plugins/elements/gstelements.c:
8841         * plugins/elements/gstfdsink.c: (_do_init),
8842         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
8843         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
8844         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
8845         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
8846         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
8847         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
8848         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
8849         * plugins/elements/gstfdsink.h:
8850         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
8851
8852 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
8853
8854         * docs/manual/advanced-dparams.xml:
8855           describe controller
8856         * docs/manual/advanced-position.xml:
8857         * docs/manual/basics-init.xml:
8858         * docs/manual/manual.xml:
8859         * docs/manual/titlepage.xml:
8860         * docs/pwg/pwg.xml:
8861         * docs/pwg/titlepage.xml:
8862           cleanup xml (more to come)
8863         * libs/gst/controller/gstcontroller.c:
8864           fix typo
8865
8866 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8867         
8868         * win32/vs6/grammar.dsp:
8869           add autogen of gstmarshal.c,h for Release mode
8870                 
8871 2006-01-30  Wim Taymans  <wim@fluendo.com>
8872
8873         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8874         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
8875         (gst_base_sink_handle_object), (gst_base_sink_event),
8876         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
8877         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8878         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
8879         (gst_base_sink_deactivate), (gst_base_sink_activate),
8880         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8881         (gst_base_sink_query), (gst_base_sink_change_state):
8882         Basesink cleanups, remove some old code.
8883         Handle the case where a subclass can preroll in the render
8884         method (mostly audiosinks).
8885         Handle more events.
8886         Remove some locks around variables that are now protected
8887         with the PREROLL_LOCK (clock_id, flushing, ..).
8888         Optimize position query some more, do correct locking.
8889         Remove old code to push queue in state change, this is not
8890         needed anymore since preroll blocks on all prerollable items 
8891         now.
8892         Almost implemented as described in design doc.
8893
8894 2006-01-30  Wim Taymans  <wim@fluendo.com>
8895
8896         * tests/check/gst/gstbin.c: (GST_START_TEST):
8897         Wait for refcount to settle down before checking.
8898
8899 2006-01-30  Wim Taymans  <wim@fluendo.com>
8900
8901         * docs/design/part-element-sink.txt:
8902         Pseudo code overview of desired sink behaviour regarding
8903         preroll.
8904
8905 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8906         * win32/vs6/grammar.dsp:
8907           fix some bugs in Release mode for autogenerated files
8908                 
8909 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8910         * win32/common/libgstbase.def:
8911         * win32/common/libgstreamer.def:
8912           export some new symbols: gst_base_src_set_format,
8913           gst_iterator_next, gst_structure_set_valist
8914
8915 2006-01-29  Julien MOUTTE  <julien@moutte.net>
8916
8917         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
8918         Set pad functions unconditionally. Fixes #329105.
8919
8920 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8921         * win32/vs8:
8922           add vs8 project files created by Sergey Scobich
8923
8924 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
8925
8926         * gst/gstutils.c: (gst_element_unlink_pads):
8927         Don't leak pad references.
8928
8929         * tests/check/elements/fakesink.c: (GST_START_TEST):
8930         * tests/check/generic/sinks.c: (GST_START_TEST):
8931         * tests/check/generic/states.c: (GST_START_TEST):
8932         * tests/check/gst/gstbin.c: (GST_START_TEST):
8933         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8934         * tests/check/gst/gstelement.c: (GST_START_TEST):
8935         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8936         * tests/check/gst/gstiterator.c: (GST_START_TEST):
8937         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8938         Fix a bunch of leaks. Make generic/sinks.c
8939         use a bit less cpu by slowing the buffer rate
8940         between fakesrc and fakesink.
8941         
8942 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
8943         * gst/gstcaps.c:
8944         * gst/gstelement.c: (gst_element_send_event):
8945         * gst/gstevent.c:
8946         * gst/gstinfo.c:
8947         * gst/gstiterator.c:
8948         * gst/gstiterator.h:
8949         * gst/gstpad.c: (gst_pad_send_event):
8950         * gst/gststructure.c:
8951         * gst/gsturi.c:
8952         * gst/gstutils.c:
8953         * gst/gstvalue.c:
8954         * libs/gst/base/gstadapter.c:
8955           doc fixes, to link to function, just write gst_cool_function(), don't
8956           prefix with '#'
8957
8958 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8959
8960         * plugins/elements/gsttee.c: (gst_tee_do_push),
8961         (gst_tee_handle_buffer):
8962         Always prefer an actual return value from a src
8963         pad in place of NOT_LINKED. This means we return
8964         WRONG_STATE when all src pads are WRONG_STATE
8965         instead of NOT_LINKED.
8966
8967         Lock when replacing the last message to prevent
8968         racing with the get_property method.
8969
8970         Add debug output
8971
8972 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8973
8974         * tests/check/Makefile.am:
8975         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
8976         (main):
8977         Add a very simple check that should have caught the memleak I fixed
8978         last night (if not for the slice allocator hiding it)
8979
8980 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8981
8982         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8983         (gst_bin_remove_func), (gst_bin_handle_message_func),
8984         (bin_query_duration_fold), (bin_query_generic_fold):
8985         Clean up references to the clock provider when disposed or when
8986         handling a clock-lost message from it.
8987
8988         Unref sinks when performing a query via gst_iterator_fold, as the
8989         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
8990
8991         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
8992         (gst_clock_set_master):
8993         Drop our reference to the master clock, if any, when we are disposed.
8994
8995         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
8996         Chain up in dispose. 
8997
8998 2006-01-26  Wim Taymans  <wim@fluendo.com>
8999
9000         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9001         Add some debugging.
9002
9003 2006-01-26  Julien MOUTTE  <julien@moutte.net>
9004
9005         * plugins/elements/gsttee.c: (gst_tee_do_push),
9006         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
9007         handles pad being NOT_LINKED or in WRONG_STATE.
9008
9009 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
9010
9011         * win32/MANIFEST:
9012           more updating
9013
9014 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
9015
9016         * win32/MANIFEST:
9017           remove obsolete entry
9018
9019 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
9020
9021         * docs/gst/gstreamer-sections.txt:
9022         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
9023         (gst_bin_iterate_sources), (gst_bin_send_event):
9024         * gst/gstbin.h:
9025         * gst/gstelement.c: (gst_element_send_event):
9026         * gst/gstevent.c:
9027         * gst/gstpad.c: (gst_pad_send_event):
9028           added code for downstream events, reviewed docs in gstevent.c
9029
9030 2006-01-25  Julien MOUTTE  <julien@moutte.net>
9031
9032         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9033         We only query position using the clock in the playing state.
9034         Query peer in the other cases.
9035         * win32/common/config.h: Updates.
9036
9037 2006-01-24  Wim Taymans  <wim@fluendo.com>
9038
9039         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
9040         A clock entry that is scheduled for the exact time of the
9041         clock is still in time.
9042
9043         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9044         (gst_base_sink_do_sync):
9045         Add some more debug info.
9046
9047 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
9048
9049         * win32/vs7:
9050           Add new vs7 project files and solution.
9051
9052 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
9053
9054         * win32/vs7:
9055           all files removed as they were out-dated.
9056
9057 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9058
9059         * docs/random/release:
9060           update notes
9061         * gst/gstbin.c: (gst_bin_init):
9062         * gst/gstbus.c: (gst_bus_new):
9063         * gst/gstbus.h:
9064         * gst/gstpipeline.c: (gst_pipeline_init):
9065           use gst_bus_new(), improve logging, fix docs
9066         * win32/common/config.h:
9067           update for cvs build
9068
9069 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9070
9071         * autogen.sh:
9072           up required version of automake to 1.7
9073
9074 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
9075
9076         * win32/common/libgstreamer.def:
9077           export gst_buffer_is_metadata_writable
9078
9079 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
9080
9081         * docs/gst/gstreamer-sections.txt:
9082         * gst/gstevent.h:
9083           Add gst_event_replace() (#327001)
9084
9085 2006-01-20  Wim Taymans  <wim@fluendo.com>
9086
9087         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9088         Make it actually compile too..
9089
9090 2006-01-20  Wim Taymans  <wim@fluendo.com>
9091
9092         * gst/gstcaps.c:
9093         Clarify behaviour of _is_equal() when passing NULL parameters.
9094
9095         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9096         (gst_pad_set_caps):
9097         Cleanups. Don't unref NULL caps.
9098         When setting the same caps, protect caps of the pad with
9099         proper lock.
9100         Use full functionality of _is_equal() when comparing caps.
9101
9102 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
9103
9104         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
9105         Don't loop infinitely if there are no buffers to present. Partially
9106         fixes #327197, but collectpads is just broken for reusing elements
9107         to do multiple encodes atm.
9108
9109 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
9110
9111         * tools/gst-inspect.c: (print_element_features):
9112         * tools/gst-xmlinspect.c: (main):
9113         URL_HANDLER is not a plugin feature we can search for in
9114         the registry.
9115
9116 2006-01-19  Edward Hervey  <edward@fluendo.com>
9117
9118         * gst/gstelement.c: (gst_element_pads_activate): 
9119         When activating, do src pads first, then sink pads.
9120         When de-activating, do sink pads first, then src pads.
9121
9122 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9123
9124         * docs/gst/gstreamer-sections.txt:
9125         Add gst_index_add_associationv to the docs
9126
9127 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9128
9129         * gst/gstevent.c:
9130           Fix docs typo
9131
9132         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
9133         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
9134           Do some refactoring. Doesn't actually change functionality,
9135           but makes landing the DRAIN event easier later.
9136
9137 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
9138
9139         * docs/pwg/advanced-scheduling.xml:
9140           Update from 0.9.x to 0.10 API and make example a bit
9141           clearer.
9142
9143 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9144
9145         * docs/gst/gstreamer-sections.txt:
9146         Add gst_buffer_(is|make)_metadata_writable methods.
9147
9148 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9149
9150         * docs/design/part-sparsestreams.txt:
9151         Update sparse streams doc, hopefully for greater clarity
9152
9153 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
9154
9155         * docs/design/part-events.txt:
9156         Remove mention of FILLER events.
9157         Add DRAIN event.
9158
9159         * docs/design/part-sparsestreams.txt:
9160         Write some things about using NEWSEGMENT to keep sparse streams
9161         flowing.
9162
9163 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
9164
9165         * gst/gstbin.c: (gst_bin_dispose):
9166           Guard gst_object_unref call against a NULL object (dispose
9167           can theoretically be called multiple times).
9168           
9169 2006-01-18  Wim Taymans  <wim@fluendo.com>
9170
9171         * gst/gstbin.c: (gst_bin_element_set_state):
9172         * gst/gstclock.c: (gst_clock_id_wait):
9173         Added some more debug info.
9174
9175         * libs/gst/base/gstadapter.c:
9176         Added more docs.
9177
9178         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9179         (gst_base_sink_do_sync), (gst_base_sink_chain):
9180         Added some comments.
9181
9182 2006-01-18  Wim Taymans  <wim@fluendo.com>
9183
9184         * tests/check/Makefile.am:
9185         * tests/check/elements/fakesink.c: (chain_async_buffer),
9186         (chain_async), (chain_async_return), (GST_START_TEST),
9187         (fakesink_suite), (main):
9188         Added fakesink test that checks prerolling and clipping
9189         behaviour.
9190
9191         * tests/check/gst/gstutils.c: (GST_START_TEST):
9192         Make check run faster so that buildbots don't timeout.
9193
9194 2006-01-18  Wim Taymans  <wim@fluendo.com>
9195
9196         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9197         (gst_base_sink_do_sync):
9198         Some cleanups.
9199         When the sink finishes blocking on the preroll buffer, it can
9200         immediatly render it instead of rendering when the next buffer
9201         arrives.
9202
9203 2006-01-18  Wim Taymans  <wim@fluendo.com>
9204
9205         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
9206         (gst_base_sink_get_property), (gst_base_sink_do_sync),
9207         (gst_base_sink_chain):
9208         Small cleanups.
9209         GST_ELEMENT_CLOCK and sync are protected with LOCK.
9210         Don't store _last_stop if the buffer is dropped.
9211
9212 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
9213
9214         * plugins/elements/gsttypefindelement.c:
9215         (gst_type_find_element_class_init):
9216           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
9217           object method handler that sets the caps on the pad and we want
9218           that to happen before we emit the signal (fixes e.g. feeding a
9219           plain text file to decodebin).
9220
9221 2006-01-18  Christian Schaller  <Christian@fluendo.com>
9222
9223         * gst/gstplugin.c: Add MPL and Proprietary as license options
9224
9225 2006-01-18  Andy Wingo  <wingo@pobox.com>
9226
9227         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
9228         symbol was exported before, it appears this was just an oversight.
9229         Fixes #168703.
9230         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
9231
9232         * gst/gstindex.c (gst_index_add_associationv): Changed int in
9233         prototype to gint. OK since this prototype was not in the header.
9234
9235 2006-01-17  Andy Wingo  <wingo@pobox.com>
9236
9237         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
9238         registry while we remove plugins.
9239
9240         * tools/gst-inspect.c (print_element_info): Don't unref the
9241         factory arg, that should be the responsibility of whatever code
9242         received the ref. Fixes a double-free when called from
9243         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
9244         (main): Unref the factory if we have one.
9245         (print_element_list): No change -- relies on the
9246         plugin_feature_list_free to free the list of features.
9247
9248 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
9249
9250         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
9251         (gst_buffer_make_metadata_writable):
9252         * gst/gstbuffer.h:
9253         * libs/gst/base/gstbasetransform.c:
9254         (gst_base_transform_prepare_output_buf):
9255         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9256         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9257           Replace gst_buffer_(make|is)_metadata_writable patch now
9258           that the release is out.
9259
9260 2006-01-17  Andy Wingo  <wingo@pobox.com>
9261
9262         * gst/gstregistry.c: Reflow design comment. Update so as to speak
9263         in the present tense without reference to versions.
9264
9265         * gst/gstregistry.c (gst_registry_add_plugin)
9266         (gst_registry_remove_plugin, gst_registry_remove_feature)
9267         (gst_registry_find_feature, gst_registry_get_feature_list)
9268         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
9269         (gst_registry_lookup, gst_registry_scan_path)
9270         (_gst_registry_remove_cache_plugins)
9271         (gst_registry_get_feature_list_by_plugin): Add argument
9272         validation.
9273
9274 === release 0.10.2 ===
9275
9276 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
9277
9278         * configure.ac:
9279           releasing 0.10.2, "If man is five"
9280
9281 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9282
9283         * gst/gstbuffer.c:
9284         * gst/gstbuffer.h:
9285         * libs/gst/base/gstbasetransform.c:
9286         (gst_base_transform_prepare_output_buf):
9287         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9288         * tests/check/gst/gstbuffer.c: (gst_test_suite):
9289           Back out patch until after the release.
9290
9291 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9292
9293         * gst/gstminiobject.c:
9294           Spelling fix in docs.
9295         * ChangeLog - remove conflict indicator
9296
9297 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9298
9299         Reviewed By: Andy Wingo
9300
9301         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
9302         (gst_buffer_make_metadata_writable):
9303         * gst/gstbuffer.h:
9304           Add gst_buffer_(is|make)_metadata_writable as analogues of
9305           gst_buffer_(is|make)_writable.
9306
9307         * libs/gst/base/gstbasetransform.c:
9308         (gst_base_transform_prepare_output_buf):
9309         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9310           Use name gst_buffer_(is|make)_metadata_writable functions.
9311
9312         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9313           Test gst_buffer_(is|make)_metadata_writable
9314         
9315           (Closes: #324162)
9316
9317 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9318
9319         * docs/manual/Makefile.am:
9320           don't do parallel make
9321         * configure.ac:
9322           AC_SUBST HOST_CPU
9323         * win32/common/config.h.in:
9324           add generations for HOST_CPU and GST_MAJORMINOR
9325         * win32/common/config.h:
9326           commit generated result
9327
9328 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
9329
9330         * docs/manual/appendix-integration.xml:
9331           Update GNOME integration section to use gst_init_get_option_group()
9332           instead of the old popt stuff (#322911). Also, GNOME applications
9333           should  now use gconf*sink and gconf*src instead of the old gconf
9334           helper lib we had.
9335
9336 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
9337
9338
9339         * docs/gst/gstreamer-docs.sgml:
9340         * docs/gst/gstreamer-sections.txt:
9341         * docs/libs/gstreamer-libs-sections.txt:
9342           add new API entries to the docs
9343         * libs/gst/controller/Makefile.am:
9344         * libs/gst/controller/gstcontroller.c:
9345         * libs/gst/controller/gstcontroller.h:
9346         * libs/gst/controller/gstcontrollerprivate.h:
9347         * libs/gst/controller/gsthelper.c:
9348         * libs/gst/controller/gstinterpolation.c:
9349           move private structs to private header
9350         * po/README:
9351           gstreamer-0.7 -> gstreamer-0.10
9352         * tests/check/libs/struct_i386.h:
9353           remove private structs
9354
9355 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9356
9357         * plugins/indexers/Makefile.am:
9358           Fixes as part of #317048
9359
9360 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9361
9362         * plugins/indexers/Makefile.am:
9363           fix #316086 - compilation when mmap is missing
9364
9365 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
9366
9367         * libs/gst/base/gstbasesink.c:
9368           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
9369           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
9370         * win32/common/config.h:
9371           added some defines GST_MAJORMINOR and HOST_CPU
9372         * win32/common/libgstbase.def:
9373         * win32/common/libgstreamer.def:
9374           added some exported functions.
9375
9376 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
9377
9378         * libs/gst/controller/gstcontroller.c:
9379         (gst_controlled_property_set_interpolation_mode),
9380         (gst_controlled_property_new):
9381         * libs/gst/controller/gstcontroller.h:
9382         * libs/gst/controller/gstinterpolation.c:
9383         (interpolate_none_get_string_value_array):
9384           make G_TYPE_STRING controlable
9385
9386 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
9387
9388         * tools/README:
9389         * tools/gst-feedback.1.in:
9390         * tools/gst-inspect.1.in:
9391         * tools/gst-launch.1.in:
9392         * tools/gst-md5sum.1.in:
9393         * tools/gst-typefind.1.in:
9394         * tools/gst-xmlinspect.1.in:
9395         * tools/gst-xmllaunch.1.in:
9396           cleanup man-pages, remove reference to gst-register, document env-vars
9397
9398 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
9399
9400         * gst/gstbuffer.c: (gst_buffer_span):
9401           gst_buffer_span should copy the timestamp of the first buffer
9402           if they were both originally overlapping subbuffers of the 
9403           same parent, using the same logic as the 'slow copy' case.
9404
9405 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
9406
9407         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
9408           Need to awaken ALL the pads when we pop a buffer, otherwise
9409           collectpads only works when there is 2 input streams.
9410
9411 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
9412
9413         * docs/random/ensonic/media-device-daemon.txt:
9414           more ideas (dbus)
9415         * gst/gstbuffer.c:
9416           fix doc example, add clarification
9417         * tools/gst-launch.1.in:
9418           add initial info about GST_PLUGIN_PATH, needs more work
9419
9420 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
9421
9422         * docs/manual/basics-bins.xml:
9423         * docs/manual/basics-elements.xml:
9424         * docs/manual/intro-basics.xml:
9425           Some more minor docs additions and updates.
9426
9427 2006-01-11  Wim Taymans  <wim@fluendo.com>
9428
9429         * docs/manual/basics-bins.xml:
9430         * docs/manual/basics-elements.xml:
9431         Some small fixes as pointed out by Ser-ver on IRC.
9432
9433 2006-01-10  Edward Hervey  <edward@fluendo.com>
9434
9435         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9436         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
9437         the single-segment mode.
9438
9439 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
9440
9441         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9442
9443         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
9444         (gst_base_src_perform_seek), (gst_base_src_send_event),
9445         (gst_base_src_set_property), (gst_base_src_get_property),
9446         (gst_base_src_loop), (gst_base_src_start),
9447         (gst_base_src_activate_push):
9448         * libs/gst/base/gstbasesrc.h:
9449           Name (private) union; makes Sun's Forte compiler happy (#324900).
9450
9451 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
9452
9453         * README:
9454           gst-register is gone.
9455
9456 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9457
9458         * gst/gstvalue.c: (_gst_value_initialize):
9459           make the G_TYPE_DATE instantiation work if debug is disabled
9460
9461 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
9462
9463         * gst/gstmessage.c: (gst_message_parse_tag),
9464         (gst_message_parse_error), (gst_message_parse_warning):
9465           Don't crash when return location for error/warning debug
9466           string is NULL; add fact that return locations can be
9467           NULL to docs where appropriate.
9468
9469 2006-01-05  Wim Taymans  <wim@fluendo.com>
9470
9471         * gst/gstplugin.c: (gst_plugin_load_file):
9472         Replace strdup by g_strdup.
9473
9474 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9475
9476         * docs/pwg/advanced-types.xml:
9477           fix doc borkage
9478
9479 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9480
9481         submitted by: Abel Cheung
9482
9483         * po/LINGUAS:
9484         * po/zh_TW.po:
9485           Added Chinese (traditional) translation
9486
9487 2006-01-04  Wim Taymans  <wim@fluendo.com>
9488
9489         * docs/manual/basics-pads.xml:
9490         * docs/plugins/Makefile.am:
9491         * docs/plugins/gstreamer-plugins-docs.sgml:
9492         * docs/plugins/gstreamer-plugins-sections.txt:
9493         * docs/pwg/advanced-clock.xml:
9494         * docs/pwg/advanced-scheduling.xml:
9495         * docs/pwg/advanced-types.xml:
9496         * plugins/elements/gstfdsink.c:
9497         * plugins/elements/gstfdsrc.c:
9498         * plugins/elements/gstfdsrc.h:
9499         * plugins/elements/gstidentity.c: (gst_identity_class_init):
9500         * plugins/elements/gstidentity.h:
9501         * plugins/elements/gstqueue.h:
9502         * plugins/elements/gsttee.c:
9503         * plugins/elements/gsttee.h:
9504         * plugins/elements/gsttypefindelement.c:
9505         (gst_type_find_element_class_init):
9506         * plugins/elements/gsttypefindelement.h:
9507         Small updates to various docs.
9508         Added core plugins to docs.
9509
9510 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9511
9512         * common/gst.supp:
9513           add a suppression for liboil's uninitialized variable
9514
9515 2006-01-02  James Livingston  <jrl at ids dot org dot au>
9516
9517         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9518
9519         * gst/gstutils.h:
9520           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
9521           macro, so that gcc doesn't complain if the -Wmissing-prototypes
9522           compiler switch is being used (#325429).
9523
9524 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
9525
9526         * gst/gstbin.c: (gst_bin_query):
9527           Disable duration query caching in bins until it gets
9528           fixed (see #324807).
9529
9530 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9531
9532         * tools/gst-inspect.c: (print_element_properties_info):
9533           Handle properties of POINTER and BOXED type.
9534
9535 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9536
9537         * gst/gst.c: (init_post):
9538           Init tags stuff and some other things before loading
9539           any static plugins (there may be other static plugins
9540           than just the GStreamer ones, and they may want to
9541           register their own tags or formats or whatever, and
9542           preferably without segfaulting).
9543
9544         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
9545           Print at least a warning in the debug logs if we drop a
9546           query just because we don't know how to adjust the value
9547           in the particular format.
9548
9549 2005-12-24  David Schleef  <ds@schleef.org>
9550
9551         * tools/gstreamer-completion:
9552           Replacement for gst-complete written in sh and sed.  Only
9553           completes names of features, but that's 90% of what I want
9554           it for.  Properties are not available in registry.xml.  (Maybe
9555           they should be...)
9556
9557 === release 0.10.1 ===
9558
9559 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
9560
9561         * configure.ac:
9562           releasing 0.10.1, "Nollaig chridheil"
9563
9564 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
9565
9566         * docs/faq/cvs.xml:
9567           Add missing quote, should be make ERROR_CFLAGS="".
9568
9569 2005-12-20  Wim Taymans  <wim@fluendo.com>
9570
9571         * docs/design/part-trickmodes.txt:
9572         More documentation on trickmodes.
9573
9574 2005-12-20  Edward Hervey  <edward@fluendo.com>
9575
9576         * gst/gstcaps.c: (gst_static_caps_get_type):
9577         * gst/gstcaps.h:
9578           API addition: GST_TYPE_STATIC_CAPS
9579         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
9580         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
9581         * gst/gstpadtemplate.h:
9582           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
9583         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
9584         bindings.
9585
9586 2005-12-18  Wim Taymans  <wim@fluendo.com>
9587
9588         * libs/gst/base/gstadapter.c:
9589         * libs/gst/base/gstadapter.h:
9590         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9591         (gst_base_sink_get_position):
9592         * libs/gst/base/gstbasesink.h:
9593         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9594         (gst_base_src_default_query), (gst_base_src_default_do_seek),
9595         (gst_base_src_do_seek), (gst_base_src_perform_seek),
9596         (gst_base_src_send_event), (gst_base_src_update_length),
9597         (gst_base_src_get_range), (gst_base_src_loop),
9598         (gst_base_src_start):
9599         * libs/gst/base/gstbasesrc.h:
9600         * libs/gst/base/gstbasetransform.h:
9601         * libs/gst/base/gstcollectpads.h:
9602         * libs/gst/base/gstpushsrc.c:
9603         * libs/gst/base/gstpushsrc.h:
9604         * libs/gst/dataprotocol/dataprotocol.c:
9605         * libs/gst/dataprotocol/dataprotocol.h:
9606         * libs/gst/net/gstnetclientclock.h:
9607         * libs/gst/net/gstnettimeprovider.h:
9608         Documentation updates.
9609
9610 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
9611
9612         * docs/manual/basics-helloworld.xml:
9613           Remove superfluous closing bracket in helloworld example.
9614
9615 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
9616
9617         * tools/gst-launch.1.in:
9618           Update gst-launch man page; add a section with useful
9619           environment variables. Fixes #323882.
9620
9621 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
9622
9623         * gst/gst.c:
9624         * gst/gst_private.h:
9625           change some char* into char[]
9626
9627 2005-12-16  Wim Taymans  <wim@fluendo.com>
9628
9629         * gst/gstregistryxml.c: (load_feature):
9630         Cleanups.
9631         Don't use g_object_unref on GstObjects so that we avoid
9632         leaks on unsafe glibs.
9633
9634 2005-12-16  Wim Taymans  <wim@fluendo.com>
9635
9636         * gst/gstbin.c: (gst_bin_recalc_state):
9637         Small doc updates.
9638
9639 2005-12-16  Wim Taymans  <wim@fluendo.com>
9640
9641         * common/check.mak:
9642         Added make forever target for check.
9643
9644 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9645
9646         * gst/gst.c: (init_post):
9647           make the registry cache file HOST_CPU-dependent
9648
9649 2005-12-16  Andy Wingo  <wingo@pobox.com>
9650
9651         * plugins/elements/gstbufferstore.c
9652         (gst_buffer_store_cleared_func): Pay attention to g_list_append
9653         return value.
9654
9655         * tests/check/gst/gstobject.c
9656         (test_fake_object_name_threaded_unique): Pay attention to
9657         g_list_sort return value.
9658
9659 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9660
9661         * tools/gst-feedback-m.m:
9662           Update for 0.9/0.10 (fixes #323870).
9663
9664 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
9665
9666         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
9667           Fix lcopy for mini objects, the mini object needs to be ref'ed.
9668           
9669         * tests/check/gst/gstminiobject.c: (my_foo_init),
9670         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
9671         (test_value_collection), (gst_mini_object_suite):
9672           Add test to ensure refcounts end up as expected when passing
9673           GstMiniObjects through g_object_get() and g_object_set().
9674
9675 2005-12-14  Julien MOUTTE  <julien@moutte.net>
9676
9677         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9678         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
9679         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
9680         of collectpads. This version removes a lot of races without
9681         touching API/ABI. Yay !
9682
9683 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
9684
9685         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
9686           Don't allow activation of a srcpad in pull_range if it has no
9687           getrange function.
9688           Change some debug statements to be a little clearer
9689
9690         * plugins/elements/gsttypefindelement.c:
9691         (gst_type_find_handle_src_query):
9692           Check that we have a peer before executing queries thereupon.
9693
9694         * tests/examples/metadata/read-metadata.c: (message_loop):
9695           Use gst_bus_pop instead of gst_bus_poll when we just want it to
9696           immediately return us any available message with 0 timeout.
9697
9698 2005-12-12  Michael Smith  <msmith@fluendo.com>
9699
9700         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9701           Don't unref factories after calling them.
9702         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
9703         * plugins/elements/gsttypefindelement.c:
9704         (gst_type_find_element_chain):
9705           Free lists of factories after using them. Fixing typefinding memory
9706           leaks.
9707
9708 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9709
9710         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
9711         (gst_plugin_feature_load):
9712           more meaningful debug output
9713         * configure.ac:
9714         * tests/Makefile.am:
9715         * tests/old/examples/Makefile.am:
9716           make make distcheck happy again
9717
9718 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9719
9720         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9721           Catch the special case where we are operating chain-based,
9722           but the downstream peer pad has no chain function. Emit a
9723           custom error message in this case instead of letting the
9724           core generate one implying that this is some sort of core
9725           bug. It's not, it just means that whatever got plugged
9726           into the pipeline downstream when we announced the type
9727           can only operate pull-based, while our source can only
9728           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
9729           Error string has not been marked for translation yet, as
9730           it probably needs some more work first.
9731
9732         (gst_type_find_element_get_best_possibility):
9733           Add helper function to find the best of all available
9734           found possibilities that qualify given the min. threshold.
9735
9736         (gst_type_find_element_handle_event):
9737           Fix the case where we get an EOS while still in TYPEFIND
9738           mode (we want to chose the best of all possible types,
9739           not just the first type that happens to be in our unsorted
9740           list of possible types).
9741
9742         (gst_type_find_element_chain):
9743           Make sure we return GST_FLOW_ERROR when we errored out
9744           in stop_typefinding(); also, don't just find the best of
9745           all found type entries and then use the last examined
9746           type entry, but actually use the best entry.
9747
9748 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9749
9750         * tests/examples/typefind/typefind.c: (type_found):
9751         * tests/examples/xml/runxml.c: (xml_loaded):
9752           More gcc4 fixes and a mem leak fix.
9753
9754 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9755
9756         * tests/examples/xml/createxml.c: (object_saved):
9757           gcc 4 fixes
9758
9759 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9760
9761         * tests/Makefile.am:
9762           enable the examples even more
9763
9764 2005-12-12  Andy Wingo  <wingo@pobox.com>
9765
9766         * libs/gst/net/gstnettimeprovider.c
9767         (gst_net_time_provider_class_init, gst_net_time_provider_init)
9768         (gst_net_time_provider_set_property)
9769         (gst_net_time_provider_get_property):
9770         API addition: Export "active" as a GObject property.
9771         (gst_net_time_provider_thread): Only respond to time queries if
9772         the time provider is active.
9773
9774         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
9775         NetTimeProvider, preserving binary compat.
9776
9777 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9778
9779         * tests/examples/controller/audio-example.c: (main):
9780         * tests/examples/launch/Makefile.am:
9781           convert comments again
9782
9783 2005-12-12  Wim Taymans  <wim@fluendo.com>
9784
9785         * libs/gst/base/gstpushsrc.c:
9786         Fix typo.
9787
9788 2005-12-12  Wim Taymans  <wim@fluendo.com>
9789
9790         * docs/libs/gstreamer-libs-sections.txt:
9791         Added new symbol to docs.
9792
9793         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9794         (gst_base_src_init), (gst_base_src_set_format),
9795         (gst_base_src_default_query), (gst_base_src_query),
9796         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
9797         (gst_base_src_perform_seek), (gst_base_src_send_event),
9798         (gst_base_src_default_event), (gst_base_src_event_handler),
9799         (gst_base_src_set_property), (gst_base_src_get_property),
9800         (gst_base_src_wait), (gst_base_src_do_sync),
9801         (gst_base_src_update_length), (gst_base_src_get_range),
9802         (gst_base_src_check_get_range), (gst_base_src_loop),
9803         (gst_base_src_default_negotiate), (gst_base_src_start),
9804         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9805         (gst_base_src_change_state):
9806         * libs/gst/base/gstbasesrc.h:
9807         Implement seeking to other formats than _BYTES.
9808         Implement more seeking methods correctly.
9809         Doc updates.
9810         Added query vmethod.
9811         Added do_seek vmethod to make life easier for subclasses
9812         when seeking.
9813         API addition: gst_base_src_set_format()
9814
9815 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9816
9817         * tests/examples/Makefile.am:
9818           added that too
9819
9820 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9821
9822         * configure.ac:
9823         * docs/random/ensonic/media-device-daemon.txt:
9824         * tests/examples/controller/.cvsignore:
9825         * tests/examples/controller/Makefile.am:
9826         * tests/examples/controller/audio-example.c: (main):
9827         * tests/examples/helloworld/.cvsignore:
9828         * tests/examples/helloworld/Makefile.am:
9829         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
9830         * tests/examples/launch/.cvsignore:
9831         * tests/examples/launch/Makefile.am:
9832         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
9833         * tests/examples/metadata/.cvsignore:
9834         * tests/examples/metadata/Makefile.am:
9835         * tests/examples/metadata/read-metadata.c: (message_loop),
9836         (make_pipeline), (print_tag), (main):
9837         * tests/examples/queue/.cvsignore:
9838         * tests/examples/queue/Makefile.am:
9839         * tests/examples/queue/queue.c: (event_loop), (main):
9840         * tests/examples/typefind/.cvsignore:
9841         * tests/examples/typefind/Makefile.am:
9842         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
9843         (main):
9844         * tests/examples/xml/.cvsignore:
9845         * tests/examples/xml/Makefile.am:
9846         * tests/examples/xml/createxml.c: (object_saved), (main):
9847         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
9848         * tests/old/examples/Makefile.am:
9849         * tests/old/examples/TODO:
9850         * tests/old/examples/controller/.cvsignore:
9851         * tests/old/examples/controller/Makefile.am:
9852         * tests/old/examples/controller/audio-example.c:
9853         * tests/old/examples/helloworld/.cvsignore:
9854         * tests/old/examples/helloworld/Makefile.am:
9855         * tests/old/examples/helloworld/helloworld.c:
9856         * tests/old/examples/launch/.cvsignore:
9857         * tests/old/examples/launch/Makefile.am:
9858         * tests/old/examples/launch/mp3parselaunch.c:
9859         * tests/old/examples/launch/mp3play:
9860         * tests/old/examples/manual/Makefile.am:
9861         * tests/old/examples/metadata/Makefile.am:
9862         * tests/old/examples/metadata/read-metadata.c:
9863         * tests/old/examples/queue/.cvsignore:
9864         * tests/old/examples/queue/Makefile.am:
9865         * tests/old/examples/queue/queue.c:
9866         * tests/old/examples/typefind/.cvsignore:
9867         * tests/old/examples/typefind/Makefile.am:
9868         * tests/old/examples/typefind/typefind.c:
9869         * tests/old/examples/xml/.cvsignore:
9870         * tests/old/examples/xml/Makefile.am:
9871         * tests/old/examples/xml/createxml.c:
9872         * tests/old/examples/xml/runxml.c:
9873           applied some simple fixing to some examples
9874           re-enabled the working examples
9875
9876 2005-12-12  Wim Taymans  <wim@fluendo.com>
9877
9878         * gst/gstsegment.c: (gst_segment_init),
9879         (gst_segment_set_last_stop), (gst_segment_set_seek),
9880         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
9881         (gst_segment_to_running_time):
9882         Added more documentation.
9883         Make sure the last_pos value is updated properly.
9884         Make sure to_stream_time and to_running_time don't
9885         operate on wrong values.
9886
9887         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9888         Update check.
9889
9890 2005-12-12  Michael Smith  <msmith@fluendo.com>
9891
9892         * plugins/elements/gsttypefindelement.c: (free_entry),
9893         (gst_type_find_element_chain):
9894           Now that we're not leaking factories, make sure we keep references
9895           to them while we need them.
9896
9897 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9898
9899         * tests/check/gst/struct_i386.h:
9900           ifdef out the XML structs
9901
9902 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9903
9904         * gst/gstvalue.c: (gst_value_transform_double_fraction):
9905           floor is not needed, F is always positive; this obviates the
9906           need for adding -lm when building without libxml
9907
9908 2005-12-12  Wim Taymans  <wim@fluendo.com>
9909
9910         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9911         Take current playback rate into account when reporting
9912         the position.
9913
9914 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9915
9916         * docs/manual/mime-world.fig:
9917           Let's try this again, this time with a file that is
9918           actually in XFig format.
9919
9920 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9921
9922         * docs/manual/mime-world.fig:
9923           Add audioconvert element to diagram so that it
9924           matches the text and the code (fixes #319526).
9925
9926 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9927
9928         * docs/pwg/building-chainfn.xml:
9929         * docs/pwg/building-pads.xml:
9930         * docs/pwg/building-state.xml:
9931         * docs/pwg/other-source.xml:
9932           Update state change stuff for 0.10 (fixes #322969).
9933
9934 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9935
9936         * docs/manual/advanced-dataaccess.xml:
9937         * docs/manual/appendix-checklist.xml:
9938         * docs/manual/appendix-programs.xml:
9939         * docs/manual/basics-pads.xml:
9940         * docs/manual/highlevel-components.xml:
9941         * docs/manual/manual.xml:
9942           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
9943           add converters in front of pipelines; remove curly
9944           brackets for threads stuff, they no longer exist; use
9945           GST_TYPE_FRACTION for framerates; update some pieces of
9946           code to 0.10, but there's plenty more to do.
9947
9948         * docs/manual/appendix-porting.xml:
9949           Expand on asynchroneous state changes; s/0.9/0.10/;
9950           mention disappearance of gst_init_get_popt_table()
9951           (fixes #322916).
9952
9953 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9954
9955         * docs/faq/using.xml:
9956           Spider no longer exists, and neither does gst-launch-ext.
9957           Update examples to use decodebin and playbin and put
9958           converters in front of sinks (fixes #323726).
9959
9960 2005-12-09  Michael Smith  <msmith@fluendo.com>
9961
9962         * plugins/elements/gsttypefindelement.c: (find_peek),
9963         (gst_type_find_element_chain):
9964           Fix leaking element factories in typefinding.
9965           Fix problem where we forgot about a probable type on non-seekable
9966           files, and thus later mis-typefound it.
9967
9968 2005-12-09  Michael Smith  <msmith@fluendo.com>
9969
9970         * common/m4/gst-makecontext.m4:
9971         * common/m4/gst-mcsc.m4:
9972         * configure.ac:
9973         * win32/common/config.h:
9974         * win32/common/config.h.in:
9975           Remove makecontext stuff; not used in 0.10 and causes problems on
9976           HPUX according to bug #322441
9977
9978 2005-12-07  Wim Taymans  <wim@fluendo.com>
9979
9980         * tests/check/Makefile.am:
9981         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
9982         (main):
9983         * tests/check/libs/struct_i386.h:
9984         Added ABI check for libs
9985
9986 2005-12-07  Wim Taymans  <wim@fluendo.com>
9987
9988         * tests/check/Makefile.am:
9989         And add the struct_i386.h to dist.
9990
9991 2005-12-07  Wim Taymans  <wim@fluendo.com>
9992
9993         * tests/check/Makefile.am:
9994         * tests/check/gst/.cvsignore:
9995         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
9996         (main):
9997         * tests/check/gst/struct_i386.h:
9998         Added check for ABI compatibility.
9999
10000 2005-12-07  Wim Taymans  <wim@fluendo.com>
10001
10002         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10003         (gst_fake_src_get_times), (gst_fake_src_create):
10004         Fix broken sync option, fixes #323259
10005
10006 2005-12-07  Wim Taymans  <wim@fluendo.com>
10007
10008         * gst/gstbuffer.c:
10009         Small docs update.
10010
10011         * gst/gstcaps.c: (gst_caps_is_equal):
10012         Don't assert on NULL <--> X. Fixes #323260
10013
10014         * gst/gstminiobject.c: (gst_mini_object_replace):
10015         If we're doing atomic operations, we might just as well use
10016         the proper way to get an atomic pointer.
10017
10018         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
10019         Clean up debugging.
10020
10021 2005-12-07  Michael Smith  <msmith@fluendo.com>
10022
10023         * gst/parse/grammar.y:
10024           Remove handling of { } for threads.
10025
10026 2005-12-06  David Schleef  <ds@schleef.org>
10027
10028         * libs/gst/base/gstbasetransform.c: speling fix.
10029
10030 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10031
10032         * docs/libs/tmpl/gstdataprotocol.sgml:
10033         * docs/random/omega/testing/gstobject.c:
10034         * gst/gst.c:
10035         * gst/gstclock.c:
10036         * gst/gstelement.c:
10037         * gst/gstelementfactory.c:
10038         * gst/gsterror.c:
10039         * gst/gstevent.c:
10040         * gst/gstghostpad.c:
10041         * gst/gstinfo.c:
10042         * gst/gstpadtemplate.c:
10043         * gst/gstregistryxml.c:
10044         * gst/gsttaglist.c:
10045         * gst/gsttagsetter.c:
10046         * gst/gsttypefind.c:
10047         * gst/gstvalue.c:
10048         * libs/gst/base/gstbasesrc.c:
10049         * libs/gst/net/gstnetclientclock.c:
10050         * libs/gst/net/gstnettimeprovider.c:
10051         * plugins/elements/gstfakesrc.c:
10052         * plugins/elements/gstfdsrc.c:
10053         * plugins/elements/gstfilesrc.c:
10054         * plugins/elements/gstidentity.c:
10055         * plugins/elements/gstqueue.c:
10056         * plugins/elements/gsttypefindelement.c:
10057         * plugins/indexers/gstfileindex.c:
10058         * plugins/indexers/gstmemindex.c:
10059         * tests/check/gst/gsttag.c:
10060         * tests/old/examples/cutter/cutter.c:
10061         * tests/old/examples/mixer/mixer.c:
10062         * tests/old/examples/xml/runxml.c: (main):
10063         * tests/old/testsuite/caps/normalisation.c:
10064         * tests/old/testsuite/debug/global.c:
10065         * tests/old/testsuite/parse/parse1.c:
10066         * tools/gst-xmlinspect.c:
10067         * win32/common/dirent.c:
10068           expand tabs
10069
10070 === release 0.10.0 ===
10071
10072 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10073
10074         * configure.ac:
10075           releasing 0.10.0, "Maroilles"
10076
10077 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10078
10079         submitted by: Funda Wang <fundawang@linux.net.cn>
10080
10081         * po/LINGUAS:
10082         * po/zh_CN.po:
10083           added Chinese (Traditional) translation
10084
10085 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10086
10087         * docs/gst/gstreamer-sections.txt:
10088         * docs/libs/tmpl/gstdataprotocol.sgml:
10089         * docs/random/thomasvs/TODO:
10090         * gst/gstutils.c:
10091         * gst/gstutils.h:
10092           fix docs
10093
10094 2005-12-05  Andy Wingo  <wingo@pobox.com>
10095
10096         patch by: Wim Taymans <wim@fluendo.com>
10097
10098         * libs/gst/base/gstbasetransform.c
10099         (gst_base_transform_prepare_output_buf)
10100         (gst_base_transform_buffer_alloc):
10101         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
10102         alloc_buffer_and_set_caps.
10103
10104         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
10105         set_caps on the source pad.
10106         (gst_pad_alloc_buffer_and_set_caps): New function, does what
10107         alloc_buffer used to do. Fixes #322874.
10108
10109         * docs/gst/gstreamer-sections.txt: 
10110         * docs/design/part-negotiation.txt: 
10111         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
10112         changes.
10113
10114 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10115
10116         patch by: Sebastien Moutte
10117
10118         * win32/MANIFEST:
10119         * win32/common/config.h.in:
10120         * win32/vs6/libgstcontroller.dsp:
10121           win32 build fixes
10122
10123 2005-12-05  Wim Taymans  <wim@fluendo.com>
10124
10125         * gst/gstcaps.c: (gst_caps_is_equal):
10126         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10127         (gst_fake_src_create):
10128         Back out previous code changes, leave doc updates, file bugs 
10129         instead. 
10130
10131 2005-12-05  Wim Taymans  <wim@fluendo.com>
10132
10133         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10134         (gst_fake_src_get_times), (gst_fake_src_create):
10135         * plugins/elements/gstfakesrc.h:
10136         Fix broken sync code.
10137
10138 2005-12-05  Wim Taymans  <wim@fluendo.com>
10139
10140         * gst/gstcaps.c: (gst_caps_is_equal):
10141         Comparing NULL against !NULL yields different caps, not a
10142         failure.
10143
10144 2005-12-05  Wim Taymans  <wim@fluendo.com>
10145
10146         * gst/gstpipeline.c:
10147         Fix small typo in docs.
10148
10149 2005-12-05  Andy Wingo  <wingo@pobox.com>
10150
10151         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
10152
10153         * gst/gst.c (init_post): remove hard-coded 0.9 location for
10154         registries/plugins with a MAJORMINOR one.
10155         (plugin_desc): Rename library from gstcoreleements to
10156         staticelements. Fixes #323222.
10157
10158 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
10159
10160         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
10161           Change debug category to 'collectpads' from 'collect_pads'
10162           (fixes #323250).
10163
10164 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10165
10166         patch by: Sebastien Moutte
10167
10168         * libs/gst/controller/gstinterpolation.c:
10169           use convert function for uint64/double
10170         * win32/vs6/libgstcontroller.dsp:
10171           link to GLib
10172
10173 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10174
10175         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
10176         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
10177         * gst/gstutils.h:
10178         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10179           add tests that seem to show that the guint64/gdouble conversions
10180           are correct.
10181
10182 2005-12-02  Wim Taymans  <wim@fluendo.com>
10183
10184         * gst/gstregistry.c: (gst_registry_add_path):
10185         * gst/gstregistry.h:
10186         * gst/gstregistryxml.c:
10187         Fix docs again.
10188
10189 2005-12-02  Wim Taymans  <wim@fluendo.com>
10190
10191         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10192         (gst_util_uint64_scale_int):
10193         Small cleanup.
10194
10195         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10196         Add debug log line.
10197
10198         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
10199         Add FIXME.
10200
10201 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10202
10203         * win32/MANIFEST:
10204         * win32/common/config.h:
10205         * win32/vs6/gstreamer.dsw:
10206         * win32/vs6/libgstcoreelements.dsp:
10207         * win32/vs6/libgstelements.dsp:
10208           renamed core elements plugin
10209
10210 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10211
10212         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
10213         (get_candidates):
10214           do piece-wise major/minor comparison so 0.9 < 0.10
10215           also allow .exe extensions for tools
10216
10217 2005-12-02  Michael Smith  <msmith@fluendo.com>
10218
10219         * gst/gst.c:
10220           Escape a % to make gtkdoc happier; bug 322958.
10221
10222 === release 0.9.7 ===
10223
10224 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10225
10226         * configure.ac:
10227           releasing 0.9.7, "My Dog Has No Nose"
10228
10229 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10230
10231         * common/gst-xmlinspect.py:
10232         * configure.ac:
10233         * docs/libs/tmpl/gstdataprotocol.sgml:
10234         * docs/random/release:
10235         * po/af.po:
10236         * po/az.po:
10237         * po/bg.po:
10238         * po/ca.po:
10239         * po/cs.po:
10240         * po/de.po:
10241         * po/en_GB.po:
10242         * po/fr.po:
10243         * po/it.po:
10244         * po/nb.po:
10245         * po/nl.po:
10246         * po/ru.po:
10247         * po/sq.po:
10248         * po/sr.po:
10249         * po/sv.po:
10250         * po/tr.po:
10251         * po/uk.po:
10252         * po/vi.po:
10253         * win32/common/config.h:
10254         * win32/common/config.h.in:
10255         * win32/vs6/gst_inspect.dsp:
10256         * win32/vs6/gst_launch.dsp:
10257         * win32/vs6/libgstbase.dsp:
10258         * win32/vs6/libgstelements.dsp:
10259         * win32/vs6/libgstreamer.dsp:
10260         * win32/vs7/GStreamer.vcproj:
10261         * win32/vs7/gst-inspect.vcproj:
10262         * win32/vs7/gst-launch.vcproj:
10263         * win32/vs7/libgstbase.vcproj:
10264           bump GST_MAJORMINOR to 0.10
10265           reset libtool version
10266
10267 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10268
10269         * po/LINGUAS:
10270         * po/bg.po:
10271           Added Bulgarian translation by (Alexander Shopov)
10272
10273 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10274
10275         * tests/check/gst/gstplugin.c:
10276           fix test
10277
10278 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10279
10280         * common/gst-xmlinspect.py:
10281         * common/gtk-doc-plugins.mak:
10282         * configure.ac:
10283         * docs/Makefile.am:
10284         * docs/gst/Makefile.am:
10285         * docs/gst/gstreamer-docs.sgml:
10286         * docs/gst/gstreamer-sections.txt:
10287         * docs/gst/gstreamer.types:
10288         * docs/gst/gstreamer.types.in:
10289         * docs/plugins/Makefile.am:
10290         * docs/plugins/gstreamer-plugins-docs.sgml:
10291         * docs/plugins/gstreamer-plugins-sections.txt:
10292         * docs/plugins/gstreamer-plugins.types:
10293         * docs/plugins/inspect.stamp:
10294         * docs/plugins/inspect/plugin-coreelements.xml:
10295         * docs/plugins/inspect/plugin-coreindexers.xml:
10296         * docs/plugins/scanobj-build.stamp:
10297         * gstreamer.spec.in:
10298         * plugins/elements/Makefile.am:
10299         * plugins/elements/gstelements.c:
10300         * plugins/elements/gstfakesink.c:
10301         * plugins/elements/gstfakesrc.c:
10302         * plugins/elements/gstfilesink.c:
10303         * plugins/elements/gstfilesrc.c:
10304         * plugins/elements/gstqueue.c:
10305         * plugins/indexers/Makefile.am:
10306         * plugins/indexers/gstindexers.c:
10307           document core plugins in a separate document just like all the
10308           others
10309           rename these plugins to something starting with core
10310
10311 2005-12-01  Andy Wingo  <wingo@pobox.com>
10312
10313         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
10314         padding here before, but it missed the commit.
10315
10316 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10317
10318         * libs/gst/controller/gstinterpolation.c:
10319           whitespace prices have crashed, we should feel free to use some now
10320           use gst_guint64_to_gdouble
10321
10322 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10323
10324         * libs/gst/controller/gstcontroller.c:
10325         * libs/gst/controller/gsthelper.c:
10326         * libs/gst/controller/gstinterpolation.c:
10327         * libs/gst/controller/lib.c:
10328           wrap config.h include
10329
10330 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10331
10332         * docs/gst/gstreamer-sections.txt:
10333           update docs
10334
10335 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10336
10337         * plugins/elements/gstelements.c:
10338         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
10339         (gst_fd_sink__class_init), (gst_fd_sink__init),
10340         (gst_fd_sink__chain), (gst_fd_sink__set_property),
10341         (gst_fd_sink__get_property):
10342         * plugins/elements/gstfdsink.h:
10343         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
10344         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
10345         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
10346         (gst_fd_src_unlock), (gst_fd_src_set_property),
10347         (gst_fd_src_get_property), (gst_fd_src_create),
10348         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
10349         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
10350         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
10351         (gst_fd_src_uri_handler_init):
10352         * plugins/elements/gstfdsrc.h:
10353         * plugins/elements/gstqueue.c: (gst_queue_get_type):
10354           more anal cleanup
10355
10356 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10357
10358         * docs/gst/Makefile.am:
10359         * docs/gst/gstreamer.types.in:
10360         * gst/Makefile.am:
10361           fix the docs build
10362
10363 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10364
10365         * configure.ac:
10366         * gst/Makefile.am:
10367         * gst/gst.c:
10368         * gst/gstplugin.h:
10369         * gst/gstregistry.h:
10370         * tests/benchmarks/complexity.c:
10371         * tests/benchmarks/mass-elements.c:
10372         * tests/check/Makefile.am:
10373         * tools/Makefile.am:
10374         * tools/gst-inspect.c:
10375         * tools/gst-xmlinspect.c:
10376           various fixes to make
10377           --disable-nls --disable-registry --disable-loadsave
10378           --disable-parse --disable-gst-debug
10379           work and get the core .so down to 360444 bytes after stripping
10380
10381 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10382
10383         * Makefile.am:
10384         * configure.ac:
10385           descend into tests
10386         * docs/random/thomasvs/TODO:
10387         * tests/Makefile.am:
10388         * tests/README:
10389           add a README
10390
10391 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10392
10393         * win32/GStreamer.vcproj:
10394         * win32/MANIFEST:
10395         * win32/Makefile:
10396         * win32/Makefile.inspect:
10397         * win32/Makefile.launch:
10398         * win32/Makefile.register:
10399         * win32/README.txt:
10400         * win32/gst-inspect.vcproj:
10401         * win32/gst-launch.vcproj:
10402         * win32/gst-register.vcproj:
10403         * win32/gstelements.vcproj:
10404         * win32/gstgetbits.def:
10405         * win32/gstgetbits.vcproj:
10406         * win32/gstreamer-dbg.def:
10407         * win32/gstreamer.def:
10408         * win32/libgstbase.def:
10409         * win32/libgstbase.vcproj:
10410         * win32/link_oldruntime.c:
10411         * win32/mman.c:
10412         * win32/mman.h:
10413         * win32/mman.inl:
10414         * win32/msvc71.sln:
10415           move even more stuff, win32/ is nice and clean now
10416
10417 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10418
10419         * libs/gst/control/.cvsignore:
10420         * win32/MANIFEST:
10421         * win32/config.h:
10422         * win32/dirent.c:
10423         * win32/dirent.h:
10424         * win32/gstbytestream.def:
10425         * win32/gstbytestream.vcproj:
10426         * win32/gstconfig.h:
10427         * win32/gstenumtypes.c:
10428         * win32/gstenumtypes.h:
10429         * win32/gstoptimalscheduler.vcproj:
10430         * win32/gstversion.h:
10431         * win32/gtchar.h:
10432         * win32/testsuite/bins.vcproj:
10433         * win32/testsuite/bytestream.vcproj:
10434         * win32/testsuite/caps.vcproj:
10435         * win32/testsuite/cleanup.vcproj:
10436         * win32/testsuite/clock.vcproj:
10437         * win32/testsuite/debug.vcproj:
10438         * win32/testsuite/dlopen.vcproj:
10439         * win32/testsuite/dynparams.vcproj:
10440         * win32/testsuite/elements.vcproj:
10441         * win32/testsuite/ghostpads.vcproj:
10442         * win32/testsuite/indexers.vcproj:
10443         * win32/testsuite/negotiation.vcproj:
10444         * win32/testsuite/parse.vcproj:
10445         * win32/testsuite/plugin.vcproj:
10446         * win32/testsuite/refcounting.vcproj:
10447         * win32/testsuite/schedulers.vcproj:
10448         * win32/testsuite/states.vcproj:
10449         * win32/testsuite/tags.vcproj:
10450         * win32/testsuite/threads.vcproj:
10451           remove old win32 stuff that isn't maintained and should be
10452           reorganized
10453
10454 2005-11-30  Andy Wingo  <wingo@pobox.com>
10455
10456         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
10457         loading the gst.interfaces python module bork.
10458
10459         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
10460         available since GLib 2.2. Fixes #318031.
10461
10462 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10463
10464         * Makefile.am:
10465         * check/.cvsignore:
10466         * check/Makefile.am:
10467         * check/elements/.cvsignore:
10468         * check/elements/fakesrc.c:
10469         * check/elements/fdsrc.c:
10470         * check/elements/identity.c:
10471         * check/generic/.cvsignore:
10472         * check/generic/states.c:
10473         * check/gst-libs/.cvsignore:
10474         * check/gst-libs/controller.c:
10475         * check/gst-libs/gdp.c:
10476         * check/gst/.cvsignore:
10477         * check/gst/capslist.h:
10478         * check/gst/gst.c:
10479         * check/gst/gstbin.c:
10480         * check/gst/gstbuffer.c:
10481         * check/gst/gstbus.c:
10482         * check/gst/gstcaps.c:
10483         * check/gst/gstelement.c:
10484         * check/gst/gstevent.c:
10485         * check/gst/gstghostpad.c:
10486         * check/gst/gstiterator.c:
10487         * check/gst/gstmessage.c:
10488         * check/gst/gstminiobject.c:
10489         * check/gst/gstobject.c:
10490         * check/gst/gstpad.c:
10491         * check/gst/gstpipeline.c:
10492         * check/gst/gstplugin.c:
10493         * check/gst/gstsegment.c:
10494         * check/gst/gststructure.c:
10495         * check/gst/gstsystemclock.c:
10496         * check/gst/gsttag.c:
10497         * check/gst/gstutils.c:
10498         * check/gst/gstvalue.c:
10499         * check/net/.cvsignore:
10500         * check/net/gstnetclientclock.c:
10501         * check/net/gstnettimeprovider.c:
10502         * check/pipelines/.cvsignore:
10503         * check/pipelines/cleanup.c:
10504         * check/pipelines/simple_launch_lines.c:
10505         * check/pipelines/stress.c:
10506         * check/states/.cvsignore:
10507         * check/states/sinks.c:
10508         * configure.ac:
10509         * examples/Makefile.am:
10510         * examples/appreader/.cvsignore:
10511         * examples/appreader/Makefile.am:
10512         * examples/appreader/appreader.c:
10513         * examples/controller/.cvsignore:
10514         * examples/controller/Makefile.am:
10515         * examples/controller/audio-example.c:
10516         * examples/cutter/.cvsignore:
10517         * examples/cutter/Makefile.am:
10518         * examples/cutter/cutter.c:
10519         * examples/cutter/cutter.h:
10520         * examples/events/Makefile.am:
10521         * examples/events/seek.c:
10522         * examples/helloworld/.cvsignore:
10523         * examples/helloworld/Makefile.am:
10524         * examples/helloworld/helloworld.c:
10525         * examples/helloworld2/.cvsignore:
10526         * examples/helloworld2/Makefile.am:
10527         * examples/helloworld2/helloworld2.c:
10528         * examples/launch/.cvsignore:
10529         * examples/launch/Makefile.am:
10530         * examples/launch/mp3parselaunch.c:
10531         * examples/launch/mp3play:
10532         * examples/manual/.cvsignore:
10533         * examples/manual/Makefile.am:
10534         * examples/manual/extract.pl:
10535         * examples/metadata/Makefile.am:
10536         * examples/metadata/read-metadata.c:
10537         * examples/mixer/.cvsignore:
10538         * examples/mixer/Makefile.am:
10539         * examples/mixer/mixer.c:
10540         * examples/mixer/mixer.h:
10541         * examples/pingpong/.cvsignore:
10542         * examples/pingpong/Makefile.am:
10543         * examples/pingpong/pingpong.c:
10544         * examples/plugins/.cvsignore:
10545         * examples/plugins/Makefile.am:
10546         * examples/plugins/example.c:
10547         * examples/plugins/example.h:
10548         * examples/pwg/.cvsignore:
10549         * examples/pwg/Makefile.am:
10550         * examples/pwg/extract.pl:
10551         * examples/queue/.cvsignore:
10552         * examples/queue/Makefile.am:
10553         * examples/queue/queue.c:
10554         * examples/queue2/.cvsignore:
10555         * examples/queue2/Makefile.am:
10556         * examples/queue2/queue2.c:
10557         * examples/queue3/.cvsignore:
10558         * examples/queue3/Makefile.am:
10559         * examples/queue3/queue3.c:
10560         * examples/queue4/.cvsignore:
10561         * examples/queue4/Makefile.am:
10562         * examples/queue4/queue4.c:
10563         * examples/retag/.cvsignore:
10564         * examples/retag/Makefile.am:
10565         * examples/retag/retag.c:
10566         * examples/retag/transcode.c:
10567         * examples/thread/.cvsignore:
10568         * examples/thread/Makefile.am:
10569         * examples/thread/thread.c:
10570         * examples/typefind/.cvsignore:
10571         * examples/typefind/Makefile.am:
10572         * examples/typefind/typefind.c:
10573         * examples/xml/.cvsignore:
10574         * examples/xml/Makefile.am:
10575         * examples/xml/createxml.c:
10576         * examples/xml/runxml.c:
10577         * tests/Makefile.am:
10578         * tests/check/Makefile.am:
10579         * testsuite/.cvsignore:
10580         * testsuite/Makefile.am:
10581         * testsuite/Rules:
10582         * testsuite/caps/.cvsignore:
10583         * testsuite/caps/Makefile.am:
10584         * testsuite/caps/app_fixate.c:
10585         * testsuite/caps/audioscale.c:
10586         * testsuite/caps/caps.c:
10587         * testsuite/caps/caps.h:
10588         * testsuite/caps/caps_strings:
10589         * testsuite/caps/compatibility.c:
10590         * testsuite/caps/deserialize.c:
10591         * testsuite/caps/enumcaps.c:
10592         * testsuite/caps/eratosthenes.c:
10593         * testsuite/caps/filtercaps.c:
10594         * testsuite/caps/fixed.c:
10595         * testsuite/caps/fraction-convert.c:
10596         * testsuite/caps/fraction-multiply-and-zero.c:
10597         * testsuite/caps/intersect2.c:
10598         * testsuite/caps/intersection.c:
10599         * testsuite/caps/normalisation.c:
10600         * testsuite/caps/random.c:
10601         * testsuite/caps/renegotiate.c:
10602         * testsuite/caps/sets.c:
10603         * testsuite/caps/simplify.c:
10604         * testsuite/caps/string-conversions.c:
10605         * testsuite/caps/structure.c:
10606         * testsuite/caps/subtract.c:
10607         * testsuite/caps/union.c:
10608         * testsuite/debug/.cvsignore:
10609         * testsuite/debug/Makefile.am:
10610         * testsuite/debug/category.c:
10611         * testsuite/debug/commandline.c:
10612         * testsuite/debug/global.c:
10613         * testsuite/debug/output.c:
10614         * testsuite/debug/printf_extension.c:
10615         * testsuite/dlopen/.cvsignore:
10616         * testsuite/dlopen/Makefile.am:
10617         * testsuite/dlopen/dlopen_gst.c:
10618         * testsuite/dlopen/loadgst.c:
10619         * testsuite/elements/.cvsignore:
10620         * testsuite/elements/Makefile.am:
10621         * testsuite/elements/gst-inspect-check.in:
10622         * testsuite/elements/struct_i386.h:
10623         * testsuite/elements/struct_size.c:
10624         * testsuite/indexers/.cvsignore:
10625         * testsuite/indexers/Makefile.am:
10626         * testsuite/indexers/cache1.c:
10627         * testsuite/indexers/indexdump.c:
10628         * testsuite/parse/.cvsignore:
10629         * testsuite/parse/Makefile.am:
10630         * testsuite/parse/parse1.c:
10631         * testsuite/parse/parse2.c:
10632         * testsuite/plugin/.cvsignore:
10633         * testsuite/plugin/Makefile.am:
10634         * testsuite/plugin/README:
10635         * testsuite/plugin/dynamic.c:
10636         * testsuite/plugin/linked.c:
10637         * testsuite/plugin/loading.c:
10638         * testsuite/plugin/registry.c:
10639         * testsuite/plugin/static.c:
10640         * testsuite/plugin/static2.c:
10641         * testsuite/plugin/testplugin.c:
10642         * testsuite/plugin/testplugin2.c:
10643         * testsuite/plugin/testplugin2_s.c:
10644         * testsuite/plugin/testplugin_s.c:
10645         * testsuite/refcounting/.cvsignore:
10646         * testsuite/refcounting/Makefile.am:
10647         * testsuite/refcounting/bin.c:
10648         * testsuite/refcounting/element.c:
10649         * testsuite/refcounting/element_pad.c:
10650         * testsuite/refcounting/mainloop.c:
10651         * testsuite/refcounting/mem.c:
10652         * testsuite/refcounting/mem.h:
10653         * testsuite/refcounting/object.c:
10654         * testsuite/refcounting/pad.c:
10655         * testsuite/refcounting/sched.c:
10656         * testsuite/refcounting/thread.c:
10657         * testsuite/states/.cvsignore:
10658         * testsuite/states/Makefile.am:
10659         * testsuite/states/bin.c:
10660         * testsuite/states/locked.c:
10661         * testsuite/states/parent.c:
10662         * testsuite/threads/.cvsignore:
10663         * testsuite/threads/159566.c:
10664         * testsuite/threads/159852.c:
10665         * testsuite/threads/Makefile.am:
10666         * testsuite/threads/queue.c:
10667         * testsuite/threads/signals.c:
10668         * testsuite/threads/staticrec.c:
10669         * testsuite/threads/thread.c:
10670         * testsuite/threads/threadb.c:
10671         * testsuite/threads/threadc.c:
10672         * testsuite/threads/threadd.c:
10673         * testsuite/threads/threade.c:
10674         * testsuite/threads/threadf.c:
10675         * testsuite/threads/threadg.c:
10676         * testsuite/threads/threadh.c:
10677         * testsuite/threads/threadi.c:
10678           move all of these under tests
10679
10680 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10681
10682         * configure.ac:
10683         * tests/Makefile.am:
10684           fix distcheck
10685
10686 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10687
10688         * docs/gst/gstreamer-sections.txt:
10689         * tests/sched/.cvsignore:
10690         * tests/sched/Makefile.am:
10691         * tests/sched/cases/(fs-fs).xml:
10692         * tests/sched/cases/(fs-i-fs).xml:
10693         * tests/sched/cases/(fs-i-i-fs).xml:
10694         * tests/sched/cases/(fs-i-q[i-fs]).xml:
10695         * tests/sched/dynamic-pipeline.c:
10696         * tests/sched/interrupt1.c:
10697         * tests/sched/interrupt2.c:
10698         * tests/sched/interrupt3.c:
10699         * tests/sched/runtestcases:
10700         * tests/sched/runxml.c:
10701         * tests/sched/sched-stress.c:
10702         * tests/sched/sort.c:
10703         * tests/sched/testcases:
10704         * tests/sched/testcases1.tc:
10705         * tests/seeking/.cvsignore:
10706         * tests/seeking/Makefile.am:
10707         * tests/seeking/seeking1.c:
10708         * tests/threadstate/.cvsignore:
10709         * tests/threadstate/Makefile.am:
10710         * tests/threadstate/test1.c:
10711         * tests/threadstate/test2.c:
10712         * tests/threadstate/threadstate1.c:
10713         * tests/threadstate/threadstate2.c:
10714         * tests/threadstate/threadstate3.c:
10715         * tests/threadstate/threadstate4.c:
10716         * tests/threadstate/threadstate5.c:
10717           remove obsolete tests
10718         * configure.ac:
10719         * tests/bench-complexity.scm:
10720         * tests/bench-mass_elements.scm:
10721         * tests/complexity.c:
10722         * tests/complexity.gnuplot:
10723         * tests/instantiate/.cvsignore:
10724         * tests/instantiate/Makefile.am:
10725         * tests/instantiate/caps.c:
10726         * tests/mass_elements.c:
10727         * tests/network-clock-utils.scm:
10728         * tests/network-clock.scm:
10729         * tests/plot-data:
10730         First pass at cleaning up tests/ dir before moving the rest
10731         Combined with CVS surgery
10732
10733 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10734
10735         * po/POTFILES.in:
10736           queue has moved, update
10737
10738 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10739
10740         * docs/gst/gstreamer-sections.txt:
10741           remove double entries from the docs
10742         * gst/gst_private.h:
10743         * gst/gstinfo.c: (_gst_debug_init):
10744           remove the THREAD debug category
10745         * gst/Makefile.am:
10746         * gst/gstqueue.c:
10747         * gst/gstqueue.h:
10748         * docs/gst/gstreamer.types:
10749         * plugins/elements/gstqueue.c: (gst_queue_get_type),
10750         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
10751           completely move queue and fix up debugging categories
10752
10753 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10754
10755         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10756           make initialization portable, using LL is not
10757
10758 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10759
10760         * win32/common/gstconfig.h:
10761           add large padding
10762
10763 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10764
10765         * win32/common/libgstreamer.def:
10766           rename symbols; sort base section
10767
10768 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10769
10770         * gst/gstclock.c: (do_linear_regression):
10771           remove crack non-portable handrolled DEBUG macro
10772
10773 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10774
10775         * docs/random/release:
10776           update notes
10777         * win32/common/gstenumtypes.c: (register_gst_object_flags),
10778         (gst_object_flags_get_type), (register_gst_bin_flags),
10779         (gst_bin_flags_get_type), (register_gst_buffer_flag),
10780         (gst_buffer_flag_get_type), (register_gst_bus_flags),
10781         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10782         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
10783         (gst_caps_flags_get_type), (register_gst_clock_return),
10784         (gst_clock_return_get_type), (register_gst_clock_entry_type),
10785         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10786         (gst_clock_flags_get_type), (register_gst_state),
10787         (gst_state_get_type), (register_gst_state_change_return),
10788         (gst_state_change_return_get_type), (register_gst_state_change),
10789         (gst_state_change_get_type), (register_gst_element_flags),
10790         (gst_element_flags_get_type), (register_gst_core_error),
10791         (gst_core_error_get_type), (register_gst_library_error),
10792         (gst_library_error_get_type), (register_gst_resource_error),
10793         (gst_resource_error_get_type), (register_gst_stream_error),
10794         (gst_stream_error_get_type), (register_gst_event_type_flags),
10795         (gst_event_type_flags_get_type), (register_gst_event_type),
10796         (gst_event_type_get_type), (register_gst_seek_type),
10797         (gst_seek_type_get_type), (register_gst_seek_flags),
10798         (gst_seek_flags_get_type), (register_gst_format),
10799         (gst_format_get_type), (register_gst_index_certainty),
10800         (gst_index_certainty_get_type), (register_gst_index_entry_type),
10801         (gst_index_entry_type_get_type),
10802         (register_gst_index_lookup_method),
10803         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10804         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10805         (gst_index_resolver_method_get_type), (register_gst_index_flags),
10806         (gst_index_flags_get_type), (register_gst_debug_level),
10807         (gst_debug_level_get_type), (register_gst_debug_color_flags),
10808         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10809         (gst_iterator_result_get_type), (register_gst_iterator_item),
10810         (gst_iterator_item_get_type), (register_gst_message_type),
10811         (gst_message_type_get_type), (register_gst_mini_object_flags),
10812         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10813         (gst_pad_link_return_get_type), (register_gst_flow_return),
10814         (gst_flow_return_get_type), (register_gst_activate_mode),
10815         (gst_activate_mode_get_type), (register_gst_pad_direction),
10816         (gst_pad_direction_get_type), (register_gst_pad_flags),
10817         (gst_pad_flags_get_type), (register_gst_pad_presence),
10818         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10819         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10820         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10821         (gst_plugin_error_get_type), (register_gst_plugin_flags),
10822         (gst_plugin_flags_get_type), (register_gst_rank),
10823         (gst_rank_get_type), (register_gst_query_type),
10824         (gst_query_type_get_type), (register_gst_tag_merge_mode),
10825         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10826         (gst_tag_flag_get_type), (register_gst_task_state),
10827         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10828         (gst_alloc_trace_flags_get_type),
10829         (register_gst_type_find_probability),
10830         (gst_type_find_probability_get_type), (register_gst_uri_type),
10831         (gst_uri_type_get_type), (register_gst_parse_error),
10832         (gst_parse_error_get_type):
10833         * win32/common/gstenumtypes.h:
10834         * win32/common/gstversion.h:
10835           update visual studio generated files
10836
10837 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10838
10839         * win32/vs6/libgstbase.dsp:
10840         * win32/vs6/libgstelements.dsp:
10841           update project files for new locations
10842
10843 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10844
10845         * Makefile.am:
10846           remove some files
10847         * README:
10848           reinstate and update
10849         * DEVEL:
10850         * REQUIREMENTS:
10851           removed
10852         * LICENSE:
10853         * docs/random/LICENSE:
10854           moved to random
10855
10856 2005-11-30  Edward Hervey  <edward@fluendo.com>
10857
10858         * gst/gsttypefind.c: (gst_type_find_register):
10859         * gst/gsttypefind.h:
10860         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
10861         (gst_type_find_factory_dispose):
10862         * gst/gsttypefindfactory.h:
10863         Fix memory leak in GstTypeFindFactory.
10864
10865 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10866
10867         * gst/gst.c:
10868         * plugins/elements/Makefile.am:
10869         * plugins/elements/gstelements.c:
10870         * plugins/elements/gstqueue.c:
10871           move queue from core to the elements plugin
10872
10873 2005-11-29  Andy Wingo  <wingo@pobox.com>
10874
10875         * libs/gst/base/gstbasetransform.h: 
10876         * libs/gst/base/gstbasesrc.h: 
10877         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
10878
10879         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
10880         of pointers by which to pad very extensible base classes (like the
10881         ones in libs/gst/base).
10882
10883 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10884
10885         * docs/gst/gstreamer-docs.sgml:
10886         * docs/gst/gstreamer-sections.txt:
10887         * docs/libs/gstreamer-libs-docs.sgml:
10888         * docs/libs/gstreamer-libs-sections.txt:
10889           moving documentation from core to lib
10890
10891 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10892
10893         * check/Makefile.am:
10894         * configure.ac:
10895         * docs/gst/Makefile.am:
10896         * gst/Makefile.am:
10897         * gst/base/.cvsignore:
10898         * gst/base/Makefile.am:
10899         * gst/base/README:
10900         * gst/base/gstadapter.c:
10901         * gst/base/gstadapter.h:
10902         * gst/base/gstbasesink.c:
10903         * gst/base/gstbasesink.h:
10904         * gst/base/gstbasesrc.c:
10905         * gst/base/gstbasesrc.h:
10906         * gst/base/gstbasetransform.c:
10907         * gst/base/gstbasetransform.h:
10908         * gst/base/gstcollectpads.c:
10909         * gst/base/gstcollectpads.h:
10910         * gst/base/gstpushsrc.c:
10911         * gst/base/gstpushsrc.h:
10912         * gst/base/gsttypefindhelper.c:
10913         * gst/base/gsttypefindhelper.h:
10914         * gst/check/Makefile.am:
10915         * gst/check/gstcheck.c:
10916         * gst/check/gstcheck.h:
10917         * gst/net/Makefile.am:
10918         * gst/net/gstnet.h:
10919         * gst/net/gstnetclientclock.c:
10920         * gst/net/gstnetclientclock.h:
10921         * gst/net/gstnettimepacket.c:
10922         * gst/net/gstnettimepacket.h:
10923         * gst/net/gstnettimeprovider.c:
10924         * gst/net/gstnettimeprovider.h:
10925         * libs/gst/Makefile.am:
10926         * libs/gst/base/Makefile.am:
10927         * libs/gst/base/gstbasetransform.c:
10928         * libs/gst/check/Makefile.am:
10929         * plugins/elements/Makefile.am:
10930         * po/POTFILES.in:
10931           CVS surgery + support to move base, check, and net out of gst
10932           and into libs/gst
10933
10934 2005-11-29  Andy Wingo  <wingo@pobox.com>
10935
10936         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
10937
10938         * gst/gststructure.h (struct _GstStructure): Only one pointer of
10939         padding.
10940
10941         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
10942
10943         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
10944
10945         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
10946
10947         * gst/gstobject.h: (struct _GstObject): Only one pointer of
10948         padding; reduces object size by about 30%. We don't expect
10949         anything else to go into gstobject.
10950
10951         * gst/gstminiobject.h (struct _GstMiniObject)
10952         (struct _GstMiniObjectClass): Only one pointer of padding; the
10953         payload is only a pointer and two ints anyway. For the class there
10954         are only two methods as well.
10955         
10956         * gst/gstelement.h (struct _GstElementClass): Removed
10957         the state_changed signal callback, it is not used.
10958
10959 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10960
10961         * docs/gst/gstreamer.types:
10962           fix includes, though they are a little dinky
10963
10964 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10965
10966         * check/Makefile.am:
10967           look in the right place for elements, a lot more chance of
10968           success
10969         * gst/Makefile.am:
10970           remove indexers and elements subdirs
10971         * plugins/Makefile.am:
10972           make indexers conditional
10973
10974 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10975
10976         * Makefile.am:
10977         * configure.ac:
10978         * plugins/elements/Makefile.am:
10979         * plugins/elements/gstcapsfilter.c:
10980         * plugins/elements/gstfilesink.c:
10981         * plugins/elements/gstfilesrc.c:
10982         * plugins/elements/gstidentity.c:
10983         * plugins/indexers/Makefile.am:
10984           do CVS surgery and related build fixery to move elements
10985           and indexers in a new gstreamer/plugins directory, out of the
10986           gst/ directory
10987
10988 2005-11-29  Andy Wingo  <wingo@pobox.com>
10989
10990         * check/Makefile.am:
10991         * pkgconfig/gstreamer-net-uninstalled.pc.in:
10992         * pkgconfig/gstreamer-net.pc.in:
10993         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
10994         #322257.
10995
10996 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10997
10998         * tools/Makefile.am:
10999         * tools/gst-complete.1.in:
11000         * tools/gst-complete.c:
11001         * tools/gst-compprep.1.in:
11002         * tools/gst-compprep.c:
11003           removing -compprep and -complete
11004
11005 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11006
11007         * gst/gstevent.c: (gst_event_new_new_segment),
11008         (gst_event_parse_new_segment):
11009         * gst/gstevent.h:
11010           fix #320529 - clean up new_segment API and structure.
11011           Let's hope everyone was using the methods, and not the structure.
11012
11013 2005-11-29  Edward Hervey  <edward@fluendo.com>
11014
11015         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11016         (gst_base_sink_event), (gst_base_sink_do_sync),
11017         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
11018         Properly handle non GST_FORMAT_TIME segment
11019         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11020         Properly handle non GST_FORMAT_TIME segment
11021         * gst/gstsegment.c:
11022         This function is valid if the accumulator is 0 and the format
11023         is different from the requested format.
11024         
11025 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11026
11027         * docs/gst/gstreamer-sections.txt:
11028         Add gst_query_new_seeking and gst_query_parse_seeking to the
11029         docs.
11030
11031 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11032
11033         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
11034           Treat a pad alloc with new caps the same as if we were not
11035           negotiated, in order to allow a changing upstream output
11036           to produce a new format of data.
11037
11038 2005-11-29  Edward Hervey  <edward@fluendo.com>
11039
11040         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11041         (gst_base_transform_event), (gst_base_transform_eventfunc):
11042         The event virtual method is now properly implemented, with a default
11043         handler
11044         Sub classes should call the parent_class event method. They should
11045         return FALSE if they had a problem handling the given event, or don't
11046         want GstBaseTransform to send that even downstream
11047         * gst/elements/gstidentity.c: (gst_identity_class_init),
11048         (gst_identity_init), (gst_identity_event),
11049         (gst_identity_transform_ip), (gst_identity_set_property),
11050         (gst_identity_get_property):
11051         * gst/elements/gstidentity.h:
11052         Added the single-segment boolean property.
11053         If set to TRUE, it will output a single segment of data, starting from
11054         0, will eat up all incoming newsegment, and modify the timestamp of the
11055         buffers accordingly
11056
11057 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
11058
11059         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
11060           Don't ref NULL target pad (#322751). Improve docs.
11061
11062 2005-11-29  Michael Smith  <msmith@fluendo.com>
11063
11064         * gst/gstregistryxml.c: (load_plugin):
11065           Don't crash if we failed to load a feature from a plugin. 
11066
11067 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11068
11069         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11070         (GST_START_TEST):
11071           use more check API and less GLib API
11072
11073 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11074
11075         * Makefile.am:
11076           don't run checks if we don't have check
11077         * common/check.mak:
11078           remove the registry when running make torture
11079         * docs/gst/gstreamer-sections.txt:
11080           remove second multiply
11081         * gst/gstqueue.c: (gst_queue_loop):
11082           fix a compile warning when disabling debug
11083
11084 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
11085
11086         * gst/gstinfo.h:
11087         Hey! Let's print the pad name if the pointer != NULL instead
11088         of when it == NULL :-)
11089
11090 2005-11-28  Wim Taymans  <wim@fluendo.com>
11091
11092         * check/gst/gstutils.c: (GST_START_TEST):
11093         Updated check, add some scaling accuracy checking code.
11094
11095         * gst/gstutils.c: (gst_util_div128_64),
11096         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
11097         (gst_util_uint64_scale_int):
11098         Fix 6 times faster division code. Optimize for common 
11099         1/1 and less common X/1 cases.
11100
11101 2005-11-28  Wim Taymans  <wim@fluendo.com>
11102
11103         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11104         More checks.
11105
11106         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
11107         (do_linear_regression), (gst_clock_add_observation):
11108         Cleanups.
11109         Release lock when the clock cannot be slaved.
11110         Catch the case where the regression returned an invalid denominator.
11111
11112         * gst/gstutils.c: (gst_util_div128_64_iterate),
11113         (gst_util_div128_64), (gst_util_uint64_scale_int64),
11114         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
11115         Add protentially more performant non-iterative 128/64 divide function
11116         that unfortunatly does not work yet.
11117         Shortcut the trivial 0/X = 0 case.
11118         Remove the warnings on overflow.
11119
11120 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11121
11122         * gst/gstplugin.c: (gst_plugin_register_func):
11123           everything causing a plugin not to load should be at least a WARNING
11124
11125 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
11126
11127         * docs/random/ensonic/dparams.txt:
11128           some TODOs for the next dev cycle
11129         * libs/gst/controller/gstcontroller.c:
11130         (gst_controlled_property_set_interpolation_mode),
11131         (gst_controlled_property_new):
11132         * libs/gst/controller/gstcontroller.h:
11133           use base type to assign acccessor functions
11134
11135 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
11136
11137         * check/Makefile.am:
11138         Oops, that should have been top_srcdir
11139
11140 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
11141
11142         * check/Makefile.am:
11143         * check/elements/fdsrc.c: (GST_START_TEST):
11144         Use a cmdline define to specify the location of a file to use for
11145         testing, to avoid breaking distcheck.
11146
11147 2005-11-28  Andy Wingo  <wingo@pobox.com>
11148
11149         * gst/gstpad.c (fixate_value): Use array functions for arrays.
11150
11151 2005-11-28  Edward Hervey  <edward@fluendo.com>
11152
11153         * tools/gst-launch.c: (main):
11154         Clarify the output strings, makes it easier to translate.
11155         Fixes #322626
11156
11157 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11158
11159         * gst/Makefile.am:
11160           don't try and build net if we don't even have <sys/socket.h>
11161
11162 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
11163
11164         * check/Makefile.am:
11165         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
11166         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
11167           Add tests for fdsrc seekability
11168
11169         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11170         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
11171         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
11172         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
11173         * gst/elements/gstfdsrc.h:
11174           fdsrc should not be a 'live' source.
11175           Implement seeking on seekable fd's.
11176
11177         * gst/gstquery.c: (gst_query_new_seeking),
11178         (gst_query_parse_seeking):
11179         * gst/gstquery.h:
11180           Implement SEEKING query functions: 
11181             *_new_seeking and *_parse_seeking
11182
11183 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
11184
11185         * gst/gstelement.c: (gst_element_dispose):
11186           don't loop forever
11187
11188         * gst/gstiterator.c:
11189         * gst/gststructure.c:
11190           doc fixes
11191
11192         * libs/gst/controller/gstcontroller.c:
11193         (gst_controlled_property_set_interpolation_mode):
11194         * libs/gst/controller/gstcontroller.h:
11195         * libs/gst/controller/gstinterpolation.c:
11196         (interpolate_none_get_enum_value_array):
11197           support controlling enums
11198
11199 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
11200
11201         * gst/gstvalue.c:
11202           Improve documentation for gst_value_union().
11203
11204         * gst/gstvalue.h:
11205           Change return value for union, intersect and subtract functions
11206           from gint to gboolean.
11207
11208 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
11209
11210         * gst/gstvalue.c: (gst_value_serialize_any_list),
11211         (gst_value_transform_any_list_string),
11212         (gst_value_deserialize_list), (gst_value_deserialize_array),
11213         (gst_value_set_int_range), (gst_value_deserialize_int_range),
11214         (gst_value_set_double_range), (gst_value_deserialize_double_range),
11215         (gst_value_set_fraction_range_full),
11216         (gst_value_deserialize_fraction_range),
11217         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
11218         (gst_value_deserialize_boolean),
11219         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
11220         (gst_value_serialize_float), (gst_value_deserialize_float),
11221         (gst_string_wrap), (gst_value_deserialize_string),
11222         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
11223         (gst_value_union_int_range_int_range),
11224         (gst_value_intersect_int_range_int_range),
11225         (gst_value_intersect_double_range_double_range),
11226         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
11227         (gst_value_subtract_int_range_int_range),
11228         (gst_value_subtract_double_double_range),
11229         (gst_value_subtract_double_range_double_range),
11230         (gst_value_deserialize_fraction):
11231         * gst/gstvalue.h:
11232           Use gint, gdouble and gchar in our API instead of int, double and
11233           char (and make usage in gstvalue.c more consistent).
11234
11235 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11236
11237         * check/Makefile.am:
11238         * libs/gst/controller/Makefile.am:
11239         * libs/gst/dataprotocol/Makefile.am:
11240           fix up Makefile.am and remove GST_ENABLE_NEW
11241
11242 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11243
11244         * configure.ac:
11245         * gst/Makefile.am:
11246         * gst/base/Makefile.am:
11247         * gst/check/Makefile.am:
11248         * gst/elements/Makefile.am:
11249         * gst/net/Makefile.am:
11250           update LDFLAGS use some more
11251
11252 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11253
11254         * common/m4/gst-doc.m4:
11255           Fixes #312589
11256
11257 2005-11-26  Edward Hervey  <edward@fluendo.com>
11258
11259         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11260         This shouldn't issue a g_warning since it returns NULL if it
11261         couldn't find the plugin, and all functions using this behave
11262         properly on a NULL return. Switching to a GST_WARNING.
11263
11264 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
11265
11266         * gst/gstbin.c: (gst_bin_handle_message_func):
11267         Don't leak clock messages.
11268
11269 2005-11-25  Wim Taymans  <wim@fluendo.com>
11270
11271         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11272         (gst_util_uint64_scale_int):
11273         Optimisations, remove unneeded vars.
11274
11275 2005-11-25  Wim Taymans  <wim@fluendo.com>
11276
11277         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11278         Added more checks for the high precision uint64 cases.
11279
11280         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11281         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
11282         Implement high precision (guint64 * guint64) / guint64.
11283
11284 2005-11-24  Wim Taymans  <wim@fluendo.com>
11285
11286         * gst/base/gstbasesrc.c: (gst_base_src_query):
11287         Fix wrong percentage query.
11288
11289         * gst/gstutils.c: (gst_util_uint64_scale),
11290         (gst_util_uint64_scale_int):
11291         Add some more common cases that can be handled 
11292         efficiently to _scale.
11293
11294 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11295
11296         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
11297         (gst_mini_object_suite):
11298           don't use check calls from threads; check probably isn't
11299           threadsafe and using a lock to make it threadsafe would
11300           defeat the purpose of this check
11301         * gst/check/gstcheck.c:
11302         * gst/check/gstcheck.h:
11303           use GST_DEBUG some more
11304
11305 2005-11-24  Wim Taymans  <wim@fluendo.com>
11306
11307         * gst/gstutils.c: (gst_util_uint64_scale),
11308         (gst_util_uint64_scale_int):
11309         Chain trivial case to _scale_int.
11310
11311 2005-11-24  Wim Taymans  <wim@fluendo.com>
11312
11313         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11314         Added test for scaling.
11315
11316         * gst/gstclock.h:
11317         Small doc fix.
11318
11319         * gst/gstutils.c: (gst_util_uint64_scale_int):
11320         Implemented high precision scaling code.
11321
11322 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
11323
11324         * gst/gstinfo.h:
11325           do not crash on pad==NULL
11326
11327 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11328
11329         Patch by: Stefan Kost
11330
11331         * common/gtk-doc.mak:
11332         * docs/gst/Makefile.am:
11333         * docs/libs/Makefile.am:
11334           Fix distcheck issues for the libraries docs build
11335           Closes #319599.
11336
11337 2005-11-24  Michael Smith <msmith@fluendo.com>
11338
11339         * docs/manual/basics-helloworld.xml:
11340           Fix bug #315027: memory leak in example code in docs.
11341
11342 2005-11-24  Michael Smith <msmith@fluendo.com>
11343
11344         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11345           Unlock the PREROLL_LOCK in a failure case.
11346
11347 2005-11-24  Wim Taymans  <wim@fluendo.com>
11348
11349         * docs/gst/gstreamer-sections.txt:
11350         * gst/base/gstadapter.h:
11351         * gst/base/gstbasesink.h:
11352         * gst/base/gstbasesrc.h:
11353         * gst/base/gstbasetransform.h:
11354         * gst/base/gstpushsrc.h:
11355         * gst/elements/gstfakesink.h:
11356         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
11357         * gst/elements/gstfakesrc.h:
11358         * gst/elements/gstfilesink.h:
11359         * gst/elements/gstfilesrc.h:
11360         * gst/gst.c:
11361         * gst/gstbin.c:
11362         * gst/gstbuffer.c: (_gst_buffer_copy):
11363         * gst/gstbus.h:
11364         * gst/gstcaps.c:
11365         * gst/gstchildproxy.c:
11366         * gst/gstclock.c:
11367         * gst/gstelement.c:
11368         * gst/gstelementfactory.c:
11369         * gst/gstelementfactory.h:
11370         * gst/gstevent.c:
11371         * gst/gstghostpad.h:
11372         * gst/gstindex.h:
11373         * gst/gstinterface.h:
11374         * gst/gstminiobject.c:
11375         * gst/gstminiobject.h:
11376         * gst/gstpad.c:
11377         * gst/gstpad.h:
11378         * gst/gstpadtemplate.h:
11379         * gst/gstpipeline.h:
11380         * gst/gstpluginfeature.h:
11381         * gst/gstquery.h:
11382         * gst/gstqueue.h:
11383         * gst/gsttaglist.c:
11384         * gst/gsttaglist.h:
11385         * gst/gsttagsetter.c:
11386         * gst/gsttagsetter.h:
11387         * gst/gsttrace.c:
11388         * gst/gsttrace.h:
11389         * gst/gsttypefind.h:
11390         * gst/gsturi.h:
11391         * gst/gstvalue.c:
11392         * gst/net/gstnetclientclock.c:
11393         * gst/net/gstnetclientclock.h:
11394         * gst/net/gstnettimepacket.c:
11395         * gst/net/gstnettimeprovider.c:
11396         * gst/net/gstnettimeprovider.h:
11397         Doc fixes.
11398
11399 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11400
11401         * configure.ac: back to HEAD
11402
11403 === release 0.9.6 ===
11404
11405 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
11406
11407         * configure.ac:
11408           releasing 0.9.6, "Always On Time"
11409
11410 2005-11-23  Wim Taymans  <wim@fluendo.com>
11411
11412         * docs/gst/gstreamer-sections.txt:
11413         * gst/glib-compat.c:
11414         * gst/gsttagsetter.c:
11415         * gst/gstvalue.c:
11416         * gst/net/gstnetclientclock.c:
11417         * gst/net/gstnettimepacket.h:
11418         Doc updates.
11419
11420 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11421
11422         * docs/faq/using.xml:
11423         * docs/libs/tmpl/gstcontrol.sgml:
11424         * docs/manual/advanced-dparams.xml:
11425         * docs/manual/appendix-checklist.xml:
11426         * docs/manual/basics-elements.xml:
11427         * docs/pwg/other-source.xml:
11428         * docs/random/moving-plugins:
11429         * gst/gstpad.c:
11430         * tools/gst-launch.1.in:
11431           remove mentions of sinesrc
11432
11433 2005-11-23  Michael Smith <msmith@fluendo.com>
11434
11435         * docs/gst/gstreamer-sections.txt:
11436           Update for new API and API changes.
11437         * gst/gstobject.h:
11438           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
11439         * gst/gstvalue.c:
11440           Documentation typo fix.
11441         * gst/net/gstnettimepacket.c:
11442           Documentation fixes for arguments.
11443
11444 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
11445
11446         * gst/gststructure.c: (gst_structure_get_fraction),
11447         (gst_structure_parse_value),
11448         (gst_structure_fixate_field_nearest_fraction):
11449         * gst/gststructure.h:
11450         * gst/gstutils.c: (gst_util_uint64_scale_int):
11451         * gst/gstutils.h:
11452         * scripts/update-funcnames:
11453         API Changes. 
11454         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
11455         Make gst_structure_fixate_field_nearest_fraction take a numerator
11456         and denominator argument instead of a GValue
11457         add gst_structure_get_fraction helper function.
11458
11459 2005-11-23  Wim Taymans  <wim@fluendo.com>
11460
11461         * docs/design/part-TODO.txt:
11462         Update TODO.
11463
11464         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11465         * gst/net/gstnetclientclock.h:
11466         Use parent fields for timeout and window_size.
11467
11468 2005-11-23  Andy Wingo  <wingo@pobox.com>
11469
11470         * check/net/gstnetclientclock.c (test_functioning): Adjust to
11471         rate_num/rate_denom change.
11472
11473         * gst/net/gstnetclientclock.c
11474         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
11475         OBJECT_LOCK. Don't call add_observation with the lock.
11476
11477         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
11478         fraction.
11479         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
11480         rate fraction.
11481         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
11482         deal with rate as a fraction whose numerator and denominator are
11483         GstClockTime values.
11484         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
11485         master; the other fields are protected by the SLAVE_LOCK.
11486         (do_linear_regression): Note that this must be called with the
11487         SLAVE_LOCK.
11488         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
11489         OBJECT_LOCK. Call set_calibration instead of touching the
11490         variables directly.
11491         (gst_clock_set_property, gst_clock_get_property): Protect
11492         master/slave parameters with the SLAVE_LOCK.
11493
11494         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
11495         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
11496         note that all of the instance variables that add_observation and
11497         the set_master functions use are protected by that lock and not
11498         the OBJECT_LOCK.
11499         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
11500
11501         * gst/gstclock.c (gst_clock_add_observation): No longer requires
11502         the caller to take the object lock.
11503
11504 2005-11-23  Wim Taymans  <wim@fluendo.com>
11505
11506         * gst/gsterror.c: (_gst_core_errors_init):
11507         * gst/gsterror.h:
11508         Add error for clock stuff.
11509
11510         * gst/gstpipeline.c: (gst_pipeline_change_state),
11511         (gst_pipeline_set_clock):
11512         Post clock error when clock cannot be used in a pipeline.
11513
11514 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
11515
11516         * docs/gst/gstreamer-sections.txt:
11517           make two symbols from gstinfo private for the docs
11518         * gst/base/gstcollectpads.h:
11519         * gst/gstutils.c:
11520           fix doc typos, update docs
11521
11522 2005-11-22  Wim Taymans  <wim@fluendo.com>
11523
11524         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11525         (gst_base_sink_wait), (gst_base_sink_do_sync),
11526         (gst_base_sink_handle_event):
11527         * gst/base/gstbasesink.h:
11528         No need to store the clock, the parent element class already
11529         has it.
11530
11531         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
11532         Updates for clock_set returning a gboolean
11533
11534         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
11535         (gst_clock_id_wait_async), (gst_clock_class_init),
11536         (gst_clock_init), (gst_clock_finalize),
11537         (gst_clock_get_internal_time), (gst_clock_get_time),
11538         (gst_clock_slave_callback), (gst_clock_set_master),
11539         (gst_clock_get_master), (do_linear_regression),
11540         (gst_clock_add_observation), (gst_clock_set_property),
11541         (gst_clock_get_property):
11542         * gst/gstclock.h:
11543         Implement master/slave. When setting a clock as a slave, a
11544         periodic timeout is scheduled to sample master and slave times.
11545         Then the slave clock is recalibrated to match offset and rate
11546         of the master clock.
11547         Update logging a bit.
11548         Add flag so that a clock can state that is cannot be slaved to
11549         another clock.
11550
11551         * gst/gstelement.c: (gst_element_set_clock):
11552         * gst/gstelement.h:
11553         The set clock returns a gboolean for when an element cannot
11554         deal with the selected clock in the pipeline. 
11555
11556         * gst/gstpipeline.c: (gst_pipeline_change_state),
11557         (gst_pipeline_set_clock):
11558         * gst/gstpipeline.h:
11559         Handle the case where the selected clock cannot be set on
11560         the pipeline.
11561
11562         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
11563         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
11564         (gst_net_client_clock_set_property),
11565         (gst_net_client_clock_get_property),
11566         (gst_net_client_clock_observe_times):
11567         * gst/net/gstnetclientclock.h:
11568         Use regression code in GstClock parent, remove duplicated
11569         functionality.
11570
11571 2005-11-22  Michael Smith <msmith@fluendo.com>
11572
11573         * gst/gstutils.c: (gst_util_clock_time_scale):
11574         * gst/gstutils.h:
11575         * docs/gst/gstreamer-sections.txt:
11576           Rename method to have extra underscore.
11577
11578 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11579
11580         * gst/elements/Makefile.am:
11581         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
11582         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11583         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11584         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
11585         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
11586         * gst/elements/gstfakesrc.h:
11587         * gst/gstqueue.c: (queue_leaky_get_type):
11588           correctly fix GEnumValues so that nick is the short lowercase
11589           dashed tag
11590         * tools/gst-inspect.c: (print_element_properties_info):
11591           also show the nick, since it's useful to use from parse_launch
11592           syntax
11593           Fixes #322139
11594
11595 2005-11-22  Michael Smith <msmith@fluendo.com>
11596
11597         * gst/gstutils.c: (gst_util_clocktime_scale):
11598         * gst/gstutils.h:
11599         * docs/gst/gstreamer-sections.txt:
11600           Add util method for scaling a clocktime by a fraction. Useful 
11601           implementation is left as an exercise for the reader.
11602
11603 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11604
11605         * gst/gstvalue.c: (gst_value_collect_fraction_range):
11606         If needed, allocate storage in the destination value during
11607         collection.
11608
11609 2005-11-22  Edward Hervey  <edward@fluendo.com>
11610
11611         * docs/gst/gstreamer-sections.txt:
11612         * gst/Makefile.am:
11613         * gst/gst.h:
11614         * gst/gsturitype.c:
11615         * gst/gsturitype.h:
11616         * gst/gstutils.c: (gst_util_set_object_arg):
11617         * tools/gst-compprep.c: (main):
11618         * tools/gst-inspect.c: (print_element_properties_info):
11619         Removed GstURI, closes bug #321061
11620
11621 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11622
11623         * check/gst/gststructure.c: (GST_START_TEST):
11624         * gst/gststructure.c: (gst_structure_parse_value):
11625           Oops, broke automatic string type parsing.
11626           Add a test to catch it in future.
11627
11628 2005-11-22  Andy Wingo  <wingo@pobox.com>
11629
11630         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
11631         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
11632         Actually rename the function implementations. Grr.
11633
11634 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11635
11636         * check/gst/capslist.h:
11637           Comment test cases
11638         * check/gst/gststructure.c: (GST_START_TEST),
11639         (gst_structure_suite):
11640           Test automatic value type detection in gst_structure_from_string.
11641         * gst/gststructure.c: (gst_structure_parse_value):
11642           Add fraction as a type we try and guess automatically in
11643           caps/structure strings.
11644
11645 2005-11-22  Andy Wingo  <wingo@pobox.com>
11646
11647         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
11648
11649         * gst/gsttagsetter.h:
11650         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
11651         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
11652         (gst_tag_setter_add_tag_valist)
11653         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
11654         _add_values, _add_valist, and _add_valist_values. Since this is an
11655         interface the function suffixes should be more explicit so
11656         language binding don't end up with element.add_valist ->
11657         gst_tag_setter_add_valist, for example. Fixes #322069.
11658
11659 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11660
11661         * check/gst/gstcaps.c: (GST_START_TEST):
11662           Extend caps string tests to check that a caps to string
11663           conversion is reversible and produces the same caps.
11664
11665         * gst/gststructure.c: (gst_structure_value_get_generic_type):
11666           Output "fraction" as the generic type fraction range, so caps
11667           serialisation and deserialisation works.
11668         * check/gst/capslist.h:
11669         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11670           Support 'MIN' and 'MAX' for deserialising fractions.
11671
11672 2005-11-22  Andy Wingo  <wingo@pobox.com>
11673
11674         * gst/gstevent.h (gst_event_new_new_segment)
11675         (gst_event_parse_new_segment, gst_event_new_buffer_size)
11676         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
11677         Renamed from *_newsegment, *_buffersize, *_notarget.
11678
11679         * scripts/update-funcnames: New script, performs the changes
11680         listed above.
11681
11682 2005-11-22  Wim Taymans  <wim@fluendo.com>
11683
11684         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11685         Make sure the GstFlowReturn is returned.
11686
11687         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
11688         (gst_bus_add_signal_watch):
11689         * gst/gstbus.h:
11690         add gst_bus_add_signal_watch_full.
11691
11692         * gst/gstplugin.c: (gst_plugin_load_file):
11693         Small style cleanup.
11694
11695 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11696
11697         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
11698           Block the fakesrc srcpad when we send an event, to avoid
11699           contention on the stream_lock causing random test failures.
11700
11701 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11702
11703         * check/gst/gstvalue.c: (GST_START_TEST):
11704         * gst/gstvalue.c: (gst_value_fraction_subtract):
11705           Fix subtraction.
11706
11707 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
11708
11709         * gst/gst.h:
11710           include "gstchildproxy.h"
11711         * gst/gstchildproxy.h:
11712         * libs/gst/controller/gstcontroller.h:
11713           use G_GNUC_NULL_TERMINATED
11714
11715 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11716
11717         * check/gst/capslist.h:
11718         * check/gst/gstcaps.c: (GST_START_TEST):
11719         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11720         * gst/gststructure.c: (gst_structure_parse_range),
11721         (gst_structure_fixate_field_nearest_fraction):
11722         * gst/gststructure.h:
11723         * gst/gstvalue.c: (gst_value_init_fraction_range),
11724         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
11725         (gst_value_collect_fraction_range),
11726         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
11727         (gst_value_set_fraction_range_full),
11728         (gst_value_get_fraction_range_min),
11729         (gst_value_get_fraction_range_max),
11730         (gst_value_serialize_fraction_range),
11731         (gst_value_transform_fraction_range_string),
11732         (gst_value_compare_fraction_range),
11733         (gst_value_deserialize_fraction_range),
11734         (gst_value_intersect_fraction_fraction_range),
11735         (gst_value_intersect_fraction_range_fraction_range),
11736         (gst_value_subtract_fraction_fraction_range),
11737         (gst_value_subtract_fraction_range_fraction),
11738         (gst_value_subtract_fraction_range_fraction_range),
11739         (gst_value_collect_fraction), (gst_value_fraction_multiply),
11740         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
11741         (gst_value_transform_string_fraction), (_gst_value_initialize):
11742         * gst/gstvalue.h:
11743           Implement fraction ranges and extend GstFraction to support
11744           arithmetic subtraction, as well as deserialization from integer
11745           strings such as "100"
11746           Add a testsuite as for int and double range set operations
11747
11748 2005-11-21  Andy Wingo  <wingo@pobox.com>
11749
11750         * gst/gsttaglist.h: 
11751         * gst/gstcaps.h: 
11752         * gst/gststructure.h: Add glib-compat.h.
11753
11754 2005-11-21  Wim Taymans  <wim@fluendo.com>
11755
11756         * gst/gstbin.c: (gst_bin_change_state_func):
11757         Fix for #321595
11758
11759 2005-11-21  Wim Taymans  <wim@fluendo.com>
11760
11761         * gst/gstsegment.h:
11762         And add a nice define too.
11763
11764 2005-11-21  Wim Taymans  <wim@fluendo.com>
11765
11766         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
11767         (gst_segment_new), (gst_segment_free), (gst_segment_init),
11768         (gst_segment_set_duration), (gst_segment_set_last_stop),
11769         (gst_segment_set_seek), (gst_segment_set_newsegment),
11770         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11771         (gst_segment_clip):
11772         * gst/gstsegment.h:
11773         Make binding friendly.
11774
11775 2005-11-21  Andy Wingo  <wingo@pobox.com>
11776
11777         * gst/gsttagsetter.h: 
11778         * gst/gsttaglist.h: 
11779         * gst/gststructure.h: 
11780         * gst/gstcaps.h: 
11781         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
11782         #319940.
11783
11784         * gst/gsterror.c (_gst_core_errors_init):
11785         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
11786         category.
11787
11788         * gst/Makefile.am (gst_headers): Add glib-compat.h.
11789         (noinst_HEADERS): noinst the -private.
11790
11791 2005-11-21  Michael Smith <msmith@fluendo.com>
11792
11793         * gst/gstplugin.h:
11794         * gst/gstregistry.h:
11795           Remove unimplemented declarations for which we can see no sensible
11796           use.
11797
11798 2005-11-21  Andy Wingo  <wingo@pobox.com>
11799
11800         * gst/gst.h: Include glib-compat.h.
11801
11802         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
11803
11804         * gst/glib-compat.c: Include the public and the private header.
11805
11806         * gst/glib-compat-private.h: Copied here from glib-compat.h.
11807
11808         * gst/gstvalue.c: 
11809         * gst/gstpad.c: 
11810         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
11811
11812         * check/gst/gstevent.c (create_custom_events): Check that
11813         FLUSH_STOP is serialized.
11814
11815         * check/elements/identity.c (event_func): 
11816         * check/elements/fakesrc.c (event_func): No stream lock, the core
11817         takes it.
11818
11819         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
11820         stream lock taking, yay.
11821
11822         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
11823         ensure that core takes the stream lock.
11824
11825         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
11826         lock name change.
11827
11828         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
11829         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
11830         it already. For the flush start we do take it though so we get the
11831         right preroll state change messages.
11832
11833         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
11834         the stream lock here, the core does it for us.
11835
11836         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
11837         GST_STREAM_GET_LOCK.
11838         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
11839         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
11840         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
11841         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
11842         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
11843         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
11844
11845         * gst/gstpad.c: Update for stream lock name change.
11846
11847         * gst/base/gstbasesink.c: Update for preroll lock name change.
11848
11849 2005-11-21  Wim Taymans  <wim@fluendo.com>
11850
11851         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
11852         (gst_clock_get_master):
11853         * gst/gstclock.h:
11854         * gst/gstsystemclock.c: (gst_system_clock_init):
11855         Convert Clock flags to object flags.
11856         Added methods to manage master/slave clocks.
11857
11858 2005-11-21  Wim Taymans  <wim@fluendo.com>
11859
11860         * check/gst/gstsegment.c: (GST_START_TEST):
11861         * docs/design/part-TODO.txt:
11862         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11863         (gst_base_sink_event), (gst_base_sink_do_sync),
11864         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11865         (gst_base_sink_query), (gst_base_sink_change_state):
11866         * gst/base/gstbasesink.h:
11867         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
11868         (gst_base_src_default_newsegment),
11869         (gst_base_src_configure_segment), (gst_base_src_do_seek),
11870         (gst_base_src_get_range), (gst_base_src_loop),
11871         (gst_base_src_change_state):
11872         * gst/base/gstbasesrc.h:
11873         * gst/base/gstbasetransform.c:
11874         (gst_base_transform_prepare_output_buf),
11875         (gst_base_transform_event), (gst_base_transform_change_state):
11876         * gst/base/gstbasetransform.h:
11877         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11878         (gst_collect_pads_event):
11879         * gst/base/gstcollectpads.h:
11880         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
11881         (gst_fake_src_create):
11882         * gst/elements/gstfakesrc.h:
11883         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11884         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11885         (gst_segment_set_last_stop), (gst_segment_set_seek),
11886         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
11887         (gst_segment_to_running_time), (gst_segment_clip):
11888         * gst/gstsegment.h:
11889         More segment updates, replace code in plugins with segment
11890         helper functions.
11891
11892 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11893
11894         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
11895         Don't ignore sscanf results
11896
11897 2005-11-21  Andy Wingo  <wingo@pobox.com>
11898
11899         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
11900
11901         * *.h:
11902         * *.c: Ran scripts/update-macros. Oh yes.
11903
11904         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
11905         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
11906         GST_GET_LOCK, etc.
11907
11908         * scripts/update-macros: New script. Run it on your files to
11909         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
11910         well.
11911
11912 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11913
11914         * docs/gst/Makefile.am:
11915         * docs/gst/gstreamer-docs.sgml:
11916         * docs/gst/gstreamer-sections.txt:
11917         * docs/gst/gstreamer.types:
11918         * gst/gstinfo.h:
11919           more docs fixes, add new api to the docs
11920
11921 2005-11-21  Andy Wingo  <wingo@pobox.com>
11922
11923         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
11924         state_broadcast call.
11925
11926         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
11927
11928 2005-11-21  Julien MOUTTE  <julien@moutte.net>
11929
11930         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
11931         function calls for arrays.
11932
11933 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11934
11935         * docs/random/ensonic/media-device-daemon.txt:
11936           wild idea, can this be done?
11937         * docs/gst/gstreamer-sections.txt:
11938         * gst/gsterror.h:
11939         * gst/gstfilter.c:
11940         * gst/gstfilter.h:
11941         * gst/gstplugin.h:
11942         * gst/gstpluginfeature.c:
11943         * gst/gsttrace.c:
11944         * gst/gstvalue.c:
11945         * gst/gstvalue.h:
11946           doc fixes and additions
11947
11948 2005-11-21  Andy Wingo  <wingo@pobox.com>
11949
11950         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
11951         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
11952         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
11953         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
11954         private to the basesrc implementation.
11955
11956         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
11957         behalf of event function if necessary. It should no longer be
11958         necessary to take the stream lock in pad's event functions. Fixes
11959         #320299.
11960
11961 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11962         * docs/gst/gstreamer-sections.txt:
11963         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
11964         (gst_structure_fixate_field_nearest_double),
11965         (gst_structure_fixate_field_boolean):
11966         * gst/gststructure.h:
11967         * win32/common/libgstreamer.def:
11968         * win32/gstreamer.def:
11969
11970         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
11971         (#322027)
11972
11973 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11974
11975         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
11976         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
11977         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
11978         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
11979         (gst_fdsrc_uri_handler_init):
11980         * gst/elements/gstfdsrc.h:
11981           Port fd:// URI handler from 0.8 to fdsrc
11982
11983 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11984
11985         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
11986         (gst_value_serialize_fourcc):
11987         * gst/gstvalue.h:
11988           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
11989           consistent with our other format defines (#320324).
11990
11991 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11992
11993         * gst/gstvalue.c: (gst_value_is_fixed):
11994           Revert previous commit. Value lists are by definition
11995           not fixed, as they are a list of possible values.
11996
11997 2005-11-21  Andy Wingo  <wingo@pobox.com>
11998
11999         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
12000         during the stable series if we need it. Fixes #319178.
12001
12002         * gst/gstevent.c (gst_event_new_filler): Removed.
12003
12004         * check/gst/gstevent.c: Update comment about filler events.
12005
12006 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12007
12008         * gst/gstvalue.c: (gst_value_is_fixed):
12009           Should handle both value arrays and value lists.
12010
12011 2005-11-21  Andy Wingo  <wingo@pobox.com>
12012
12013         patch by: Alessandro Dessina <alessandro nnva org>
12014
12015         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
12016         functions to access arrays. Fixes #321962.
12017
12018 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12019
12020         * docs/gst/gstreamer.types:
12021           gst_collectpads_get_type => gst_collect_pads_get_type.
12022           
12023         * gst/base/gstbasetransform.c:
12024           Remove unused SIGNAL_HANDOFF enum.
12025
12026 2005-11-21  Andy Wingo  <wingo@pobox.com>
12027
12028         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
12029         the event type (upstream, downstream, serialized). Renamed
12030         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
12031         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
12032         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
12033
12034         * gst/gstevent.c: Update for new CUSTOM event names.
12035
12036         * check/gst/gstevent.c: Update check for new CUSTOM event names.
12037
12038         * gst/gstevent.h:
12039         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
12040         bug #319392.
12041
12042 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12043
12044         * docs/gst/gstreamer-sections.txt:
12045         * win32/common/libgstbase.def:
12046         * win32/libgstbase.def:
12047         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
12048         (gst_collect_pads_class_init), (gst_collect_pads_init),
12049         (gst_collect_pads_finalize), (gst_collect_pads_new),
12050         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
12051         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
12052         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
12053         (gst_collect_pads_start), (gst_collect_pads_stop),
12054         (gst_collect_pads_peek), (gst_collect_pads_pop),
12055         (gst_collect_pads_available), (gst_collect_pads_read),
12056         (gst_collect_pads_flush), (gst_collect_pads_event),
12057         (gst_collect_pads_chain):
12058         * gst/base/gstcollectpads.h:
12059           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
12060           unimplemented functions as unimplemented. Add padding to
12061           GstCollectData. (#320766, #320423)
12062
12063 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12064
12065         * gst/gstmessage.c:
12066           Improve docs for DURATION message (usage of duration parameter)
12067           (#320113)
12068
12069 2005-11-20  Wim Taymans  <wim@fluendo.com>
12070
12071         * check/Makefile.am:
12072         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
12073         (main):
12074         * gst/Makefile.am:
12075         * gst/gst.h:
12076         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
12077         (gst_segment_set_seek), (gst_segment_set_newsegment),
12078         (gst_segment_to_stream_time), (gst_segment_to_running_time),
12079         (gst_segment_clip):
12080         * gst/gstsegment.h:
12081         Added segment helper structure and methods. Not fully implemented
12082         yet.
12083         Added segment check.
12084
12085 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
12086
12087         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12088           Add a deserialisation test for fractions
12089         * examples/metadata/read-metadata.c: (message_loop),
12090         (make_pipeline), (main):
12091           Fix up metadata reading sample.
12092         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12093           Debug format fix
12094         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12095           Don't try and fixate empty caps
12096         * gst/gst_private.h:
12097           Wrap in G_BEGIN_DECLS/G_END_DECLS
12098         * gst/gstvalue.c: (gst_value_collect_fraction),
12099         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
12100         (gst_value_transform_string_fraction),
12101         (gst_value_compare_fraction):
12102           Add some extra guards to ensure that we don't end up 
12103           with an invalid denominator of 0 in a gstfraction and
12104           that fractions always get reduced.
12105
12106 2005-11-20  Wim Taymans  <wim@fluendo.com>
12107
12108         * docs/gst/gstreamer-sections.txt:
12109         * gst/gstbuffer.h:
12110         * gst/gstelement.c:
12111         * gst/gstformat.c:
12112         * gst/gstformat.h:
12113         * gst/gstindex.h:
12114         * gst/gstquery.c:
12115         * gst/gstquery.h:
12116         * gst/gstvalue.c:
12117         Doc fixes.
12118
12119 2005-11-20  Wim Taymans  <wim@fluendo.com>
12120
12121         * docs/design/part-TODO.txt:
12122         * gst/gstcaps.h:
12123         Make a proper enum of the flag.
12124
12125 2005-11-19  Wim Taymans  <wim@fluendo.com>
12126
12127         * docs/design/part-TODO.txt:
12128         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
12129         (gst_format_to_quark), (gst_format_register):
12130         * gst/gstformat.h:
12131         * gst/gstquery.c: (_gst_query_initialize),
12132         (gst_query_type_get_name), (gst_query_type_to_quark),
12133         (gst_query_type_register):
12134         * gst/gstquery.h:
12135         Add type to quark and type to string conversions.
12136
12137 2005-11-19  Andy Wingo  <wingo@pobox.com>
12138
12139         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
12140         #320097.
12141
12142 2005-11-19  Wim Taymans  <wim@fluendo.com>
12143
12144         * docs/design/part-TODO.txt:
12145         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
12146         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
12147         (gst_bin_handle_message_func):
12148         * gst/gstbin.h:
12149         Make message handling overridable.
12150
12151 2005-11-19  Andy Wingo  <wingo@pobox.com>
12152
12153         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
12154
12155         * gst/gstclock.h:
12156         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
12157         be a GstClockTime.
12158         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
12159         is a GstClockTime. Fixes #321710.
12160
12161         * gst/gstclock.h (GstClock): Remove offset property. Add
12162         internal_calibration and external_calibration. Fix padding. Pad
12163         also by GstClockTime so we don't run into problems.
12164
12165         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
12166         (gst_clock_get_rate_offset): Remove.
12167         (gst_clock_set_time_adjust): Remove. Fixes #321712.
12168
12169         * gst/gstutils.h:
12170         * gst/gstutils.c (g_static_rec_cond_wait)
12171         (g_static_rec_cond_timed_wait): Removed, no longer needed.
12172
12173         * gst/gstbin.c: Remove terrible continue_state prototype.
12174
12175         * gst/gstelement.h (gst_element_continue_state): Make public.
12176
12177         * gst/gstelement.h:
12178         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
12179         by continue_state. Fixes #319389.
12180
12181         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
12182         Really fixes #168438. However I don't see anywhere where the
12183         filter function is called... stupid GStreamer...
12184         
12185         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
12186         don't have a dispose function, so it won't get called when the
12187         object is unreffed, but oh well!
12188
12189         * gst/gstindex.c (gst_index_set_filter_full): New API function,
12190         allows a destroy function to be set so user_data can be freed.
12191         Fixes #168438.
12192         (gst_index_set_filter): Call gst_index_set_filter_full.
12193
12194         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
12195
12196         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
12197         string should produce an error, given the lack of a way to
12198         represent NULL strings. Fixes #165650.
12199         
12200         * gst/gstvalue.h: 
12201         * gst/gstvalue.c (gst_value_array_append_value) 
12202         (gst_value_array_prepend_value, gst_value_array_get_size) 
12203         (gst_value_array_get_value): New API, copied from
12204         gst_value_list_*, only operates on arrays.
12205         (gst_value_list_append_value, gst_value_list_prepend_value) 
12206         (gst_value_list_concat, gst_value_list_get_size) 
12207         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
12208
12209         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
12210         init_list, because it works on both.
12211         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
12212         (gst_value_copy_list_or_array): Renamed from copy_list.
12213         (gst_value_free_list_or_array): Renamed from free_list.
12214         (gst_value_collect_list_or_array): Renamed from collect_list.
12215         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
12216         (gst_value_list_or_array_peek_pointer): Renamed from
12217         list_peek_pointer.
12218         (_gst_value_array_value_table, _gst_value_list_value_table):
12219         Update value table functions.
12220         (gst_value_compare_list_or_array): Renamed from compare_list.
12221
12222         * gsttaglist.h: Whoops, foreach function returns void. Also fix
12223         some constness.
12224
12225         * gst/gsttaglist.c:
12226         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
12227         GstTagList*. Fixes #143472.
12228
12229         * gst/gststructure.h: Clarify what the foreach/map functions can
12230         or can't do to their arguments.
12231
12232 2005-11-18  Wim Taymans  <wim@fluendo.com>
12233
12234         * gst/gstclock.c: (gst_clock_set_calibration),
12235         (gst_clock_get_calibration):
12236         Doc and API fixes.
12237         Calibration can be set with internal time equal to current
12238         internal time too.
12239
12240 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12241
12242         * gst/gsterror.c:
12243         * gst/gsterror.h:
12244           document
12245
12246 2005-11-18  Andy Wingo  <wingo@pobox.com>
12247
12248         * configure.ac: 
12249         * pkgconfig/gstreamer-net.pc.in:
12250         * pkgconfig/gstreamer-net-uninstalled.pc.in:
12251         * pkgconfig/Makefile.am: Add net pkgconfig files.
12252
12253 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
12254
12255         * gst/gstcaps.c:
12256         * gst/gstghostpad.c:
12257         * gst/gsttrace.c:
12258         * gst/gstvalue.c:
12259         * gst/gstvalue.h:
12260           docs fixes
12261
12262 2005-11-18  Andy Wingo  <wingo@pobox.com>
12263
12264         * gst/net/gstnetclientclock.c: Turn off debugging.
12265
12266         * check/net/gstnetclientclock.c (test_functioning): Assert that the
12267         times connverge somewhat. Can't make a real test.
12268
12269         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
12270         integer arithmetic. Return the minimum of the domain, which can be
12271         set as "internal" for gst_clock_set_calibration.
12272         (gst_net_client_clock_observe_times): Call _set_calibration.
12273         (gst_net_client_clock_new): Call _set_calibration instead of
12274         rate_offset.
12275
12276         * check/net/gstnetclientclock.c (test_functioning): Use the right
12277         adjustment api.
12278
12279         * gst/gstclock.h:
12280         * gst/gstclock.c (gst_clock_get_calibration) 
12281         (gst_clock_set_calibration): New functions, obsolete the ones I
12282         added yesterday. Doh. Precision issues mean we have to extrapolate
12283         from a point in the more recent past than 1970.
12284         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
12285         obsolete.
12286         (gst_clock_adjust_unlocked): Use the right calibration data.
12287
12288 2005-11-18  Edward Hervey  <edward@fluendo.com>
12289
12290         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
12291         Also reset the ->current_* values in READY->PAUSED
12292
12293 2005-11-18  Andy Wingo  <wingo@pobox.com>
12294
12295         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
12296         Whoops, check the right fd. Also add some debugging.
12297         (gst_net_client_clock_observe_times): Adjust for int64 offset.
12298         (do_linear_regression): Add a crapload of debugging. Subtract off
12299         the minimum values from the input series to discard unneeded bits.
12300         Use only int arithmetic. There is still double arithmetic when
12301         calculating the intercept that needs fixing. Return boolean to
12302         indicate success; FALSE would mean the domain or range is too
12303         great. Still needs fixes.
12304
12305 2005-11-18  Wim Taymans  <wim@fluendo.com>
12306
12307         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
12308         For the current position in stream time, we need to subtract
12309         accumulated time.
12310         
12311         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
12312         Release lock before calling the callback function of async
12313         entries.
12314
12315 2005-11-18  Andy Wingo  <wingo@pobox.com>
12316
12317         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
12318         Port goes all the way to MAXUINT16.
12319
12320         * gst/net/gstnettimeprovider.c: Make the port range the same as
12321         for the kernel: 0 assigns, otherwise ports are less than
12322         MAXUINT16.
12323
12324         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
12325         port change.
12326
12327         * check/net/gstnetclientclock.c (test_functioning): Add the start
12328         of another test. 
12329
12330 2005-11-18  Wim Taymans  <wim@fluendo.com>
12331
12332         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
12333         (gst_bin_remove_func), (bin_bus_handler):
12334         * gst/gstbin.h:
12335         Removing a clock provider from a bin, triggers a clock lost message
12336         so that a new clock will be selected.
12337         Adding a clock to a bin triggers a clock provider message.
12338         Make sure we reselect a clock when we received a clock lost message.
12339         Keep a reference to the element that provided the clock.
12340
12341 2005-11-18  Andy Wingo  <wingo@pobox.com>
12342
12343         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
12344         the clock initially so it produces values around the base time.
12345         (gst_net_client_clock_class_init): Typo fix.
12346         (gst_net_client_clock_thread): Add note on when the socket gets
12347         closed.
12348
12349 2005-11-17  Wim Taymans  <wim@fluendo.com>
12350
12351         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
12352         Free remote and local time arrays.
12353
12354 2005-11-17  Wim Taymans  <wim@fluendo.com>
12355
12356         * gst/net/gstnetclientclock.c: (do_linear_regression),
12357         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
12358         Fix compilation, uninitialized vars and a forgotten continue.
12359
12360 2005-11-17  Andy Wingo  <wingo@pobox.com>
12361
12362         * check/Makefile.am (check_PROGRAMS): 
12363         * check/net/gstnetclientclock.c: Add a most minimal test for the
12364         net client clock. More to come later.
12365
12366         * gst/net/gstnet.h: 
12367         * gst/net/Makefile.am: Add netclientclock.
12368
12369         * gst/net/gstnetclientclock.h:
12370         * gst/net/gstnetclientclock.c: New files, implement an untested
12371         GstClock that takes its time from a network time provider.
12372         Implements the algorithm in network-clock.scm.
12373
12374         * tests/network-clock.scm (*window-size*): Rename from
12375         *queue-length*.
12376         * tests/network-clock.scm (network-time): 
12377         * tests/network-clock-utils.scm (q-push): Update callers.
12378
12379 2005-11-17  Wim Taymans  <wim@fluendo.com>
12380
12381         * gst/gstbin.c: (gst_bin_provide_clock_func),
12382         (gst_bin_sort_iterator_new):
12383         And unref the child too..
12384
12385 2005-11-17  Wim Taymans  <wim@fluendo.com>
12386
12387         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12388         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
12389         Refactor the sort iterator so it can be used while holding the
12390         LOCK too.
12391         Make clock selection select a clock closest to the source.
12392
12393 2005-11-17  Michael Smith <msmith@fluendo.com>
12394
12395         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
12396         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
12397         * gst/gstclock.h:
12398           Anonymous structs are a gcc (and some other compilers) extension, so
12399           don't use them. Since this is only for ABI-compatibility, and our
12400           API/ABI freeze is over in a few days, this whole thing will only
12401           last a few days, so don't bother trying to think up a meaningful
12402           name for the struct.
12403
12404 2005-11-17  Andy Wingo  <wingo@pobox.com>
12405
12406         * gst/gstclock.h (GstClock): Add rate and offset properties,
12407         preserving ABI stability. Add rate/offset accessors. Will file bug
12408         for the freeze break.
12409
12410         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
12411         and offset, trying to keep precision and avoiding
12412         underflow/overflow.
12413         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
12414         functions. Make gst_clock_set_time_adjust obsolete.
12415         (gst_clock_set_time_adjust): Note that this function is obsolete.
12416         Will file bug soon.
12417
12418         * gst/base/gstbasetransform.h: Make the ABI-stability hack
12419         greppable by using GST_PADDING-1+1.
12420
12421 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
12422
12423         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12424
12425         * gst/gstmessage.c: (gst_message_parse_clock_lost):
12426           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
12427
12428         * gst/gstpadtemplate.h:
12429         * gst/gstpluginfeature.h:
12430           Don't use c++ style comments in headers (#321638).
12431
12432 2005-11-16  Andy Wingo  <wingo@pobox.com>
12433
12434         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
12435         buffer.
12436
12437         * check/net/gstnettimeprovider.c: Check to see that the time
12438         provider actually provides times. Works, yo!
12439
12440 2005-11-16  Wim Taymans  <wim@fluendo.com>
12441
12442         * check/Makefile.am:
12443         Enable more tests.
12444
12445         * check/elements/fakesrc.c: (GST_START_TEST):
12446         Set element to NULL before disposing it.
12447
12448 2005-11-16  Andy Wingo  <wingo@pobox.com>
12449
12450         * gst/net/Makefile.am:
12451         * gst/net/gstnet.h:
12452         * gst/net/gstnettimeprovider.c: 
12453         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
12454         provider, include it from gstnet.h, and add it to the build.
12455
12456         * gst/net/gstnettimepacket.h: 
12457         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
12458         sending and receiving.
12459
12460 2005-11-16  Wim Taymans  <wim@fluendo.com>
12461
12462         * check/Makefile.am:
12463         Enable valgrind check.
12464
12465         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
12466         (gst_fake_src_alloc_buffer):
12467         Fix memleak.
12468
12469 2005-11-16  Wim Taymans  <wim@fluendo.com>
12470
12471         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
12472         Call parent finalize too.
12473
12474 2005-11-16  Wim Taymans  <wim@fluendo.com>
12475
12476         * check/Makefile.am:
12477         Enable valgrind check that should work fine now.
12478
12479         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12480         * gst/gstqueue.c: (gst_queue_init):
12481         Fix memleaks in pad allocation.
12482
12483 2005-11-16  Andy Wingo  <wingo@pobox.com>
12484
12485         * gst/net/Makefile.am:
12486         * gst/net/gstnet.h: New part of core to hold network elements and
12487         objects. Put in core because it exposes API that applications want
12488         to use. The library is named libgstnet-tempname right now because
12489         of the existing libgstnet in gst-plugins-base. Solution is
12490         probably to rename the one in plugins-base; will file a bug for
12491         the freeze break.
12492
12493         * gst/net/gstnettimeprovider.c: 
12494         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
12495         get_time call over the network.
12496
12497         * configure.ac: 
12498         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
12499
12500         * check/Makefile.am:
12501         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
12502         get additions shortly.
12503
12504 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12505
12506         * gst/gstpad.c: (gst_pad_new_from_static_template):
12507         * gst/gstpad.h:
12508           add gst_pad_new_from_static_template functions
12509         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
12510         (gst_check_setup_sink_pad):
12511         * gst/elements/gsttee.c: (gst_tee_init):
12512           and use them
12513
12514 2005-11-16  Wim Taymans  <wim@fluendo.com>
12515
12516         * gst/gstpad.c: (gst_pad_pause_task):
12517         Removed warning, it's not really an error either.
12518
12519 2005-11-16  Wim Taymans  <wim@fluendo.com>
12520
12521         * gst/base/gstbasetransform.c:
12522         (gst_base_transform_prepare_output_buf),
12523         (gst_base_transform_event):
12524         Check if the caps are NULL, this can happen if the element
12525         is shutting down and the pad caps are set to NULL.
12526
12527 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12528
12529         * gst/elements/gsttee.c: (gst_tee_init):
12530           fix pad template leak in tee
12531
12532 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12533
12534         * gst/glib-compat.c: (g_value_dup_gst_object):
12535         * gst/glib-compat.h:
12536         * gst/gstpad.c: (gst_pad_set_property):
12537           use gst_object_ref when setting the pad template; this will
12538           trigger the pad template leaks on GLib 2.6 and the slaves
12539
12540 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12541
12542         * gst/glib-compat.c: (gst_flags_get_first_value):
12543         * gst/glib-compat.h:
12544         * gst/gstregistryxml.c:
12545           remove functions copied from GLib 2.6
12546
12547 2005-11-16  Michael Smith <msmith@fluendo.com>
12548
12549         * gst/Makefile.am:
12550           Don't link against VALGRIND_LIBS. That was always the wrong thing to
12551           do, but only breaks with newer valgrind versions. We're not a
12552           valgrind tool, we have no link-time dependencies on libcoregrind.
12553
12554 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12555
12556         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12557           some debug changes
12558         * gst/gstmessage.h:
12559           typo fixes
12560
12561 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12562
12563         * gst/base/gstbasesrc.c: (gst_base_src_init):
12564         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12565         * gst/gstqueue.c: (gst_queue_init):
12566         * gst/gstregistryxml.c: (load_feature):
12567           Revert all these unrefs, they don't even pass make check !
12568
12569 2005-11-15  Johan Dahlin  <johan@gnome.org>
12570
12571         * gst/base/gstbasesrc.c: (gst_base_src_init):
12572         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12573         * gst/gstqueue.c: (gst_queue_init): 
12574         Free pad templates, fixes a couple of leaks.
12575
12576 2005-11-15  Daniel Fischer  <dan at f3c dot com>
12577
12578         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12579
12580         * gst/gstpad.c: (gst_pad_get_property):
12581           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
12582           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
12583           (#321452)
12584
12585 2005-11-15  Wim Taymans  <wim@fluendo.com>
12586
12587         * gst/gstevent.c:
12588         Small doc update.
12589
12590 2005-11-15  Andy Wingo  <wingo@pobox.com>
12591
12592         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
12593
12594         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
12595         using GST_CLOCK_TIME_NONE to disable base time management.
12596         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
12597         time if it was NONE before.
12598         (gst_pipeline_change_state): Only munge the base time if
12599         stream_time != GST_CLOCK_TIME_NONE.
12600
12601         * check/gst/gstpipeline.c (test_base_time): Punt around the
12602         problem of the probe not being called, because that's not the
12603         issue I'm looking at. Add a check that setting stream_time to NONE
12604         disables base time management.
12605         
12606 2005-11-15  Wim Taymans  <wim@fluendo.com>
12607
12608         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12609         segment_stop == -1 at startup.
12610
12611         * gst/base/gstbasetransform.c: (gst_base_transform_event),
12612         (gst_base_transform_change_state):
12613         Init segment values at start.
12614
12615 2005-11-15  Wim Taymans  <wim@fluendo.com>
12616
12617         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12618         0 segment values are 0 in any format.
12619
12620         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12621         * gst/base/gstbasetransform.h:
12622         Parse newsegment correctly in basetransform
12623
12624         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12625         Sync to clock using updated segment values.
12626
12627 2005-11-15  Andy Wingo  <wingo@pobox.com>
12628
12629         * check/gst/gstpipeline.c (test_base_time): Add check that the
12630         base time and stream time are reset correctly.
12631
12632 2005-11-15  Wim Taymans  <wim@fluendo.com>
12633
12634         * docs/design/part-TODO.txt:
12635         Some more TODO items.
12636
12637 2005-11-15  Andy Wingo  <wingo@pobox.com>
12638
12639         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
12640         error if the user selected "no clock" as the clocking method.
12641
12642         * check/gst/gstpipeline.c (test_base_time): New test for buffer
12643         timestamps with live capture.
12644
12645         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
12646         is 0 but we are a live source, timestamp the buffers using the
12647         element's clock.
12648
12649 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
12650
12651         * docs/gst/gstreamer-sections.txt:
12652         * gst/gsterror.c:
12653         * gst/gstghostpad.c:
12654         * gst/gstobject.h:
12655         * gst/gstxml.c:
12656           more section docs
12657
12658 2005-11-14  Wim Taymans  <wim@fluendo.com>
12659
12660         * common/gst.supp:
12661           add suppressions from Wim's Debian machine
12662
12663 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12664
12665         * common/gst.supp:
12666           add suppressions from Andy's AMD64 Ubuntu machine
12667
12668 2005-11-14  Andy Wingo  <wingo@pobox.com>
12669
12670         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
12671         STATE_LOCK not necessary. Fixes #311489.
12672
12673         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
12674         #305291.
12675
12676         * gst/gstindex.c (gst_index_add_object): Note in the docs that
12677         this function is not implemented.
12678
12679 2005-11-14  Julien MOUTTE  <julien@moutte.net>
12680
12681         * gst/base/gstbasetransform.c:
12682         (gst_base_transform_prepare_output_buf):
12683         Ref the source pad caps while we need them.
12684         Fixes (#321386)
12685
12686 2005-11-11  Wim Taymans  <wim@fluendo.com>
12687
12688         * docs/gst/gstreamer-sections.txt:
12689         Added some docs for GstCollectData.
12690
12691         * gst/base/gstadapter.c:
12692         Some small code example fix.
12693
12694         * gst/base/gstcollectpads.c:
12695         * gst/base/gstcollectpads.h:
12696         Document some more.
12697
12698 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12699
12700         * configure.ac: back to HEAD
12701
12702 === release 0.9.5 ===
12703
12704 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
12705
12706         * configure.ac:
12707           releasing 0.9.5, "Bike Lunch Day"
12708
12709 2005-11-11  Wim Taymans  <wim@fluendo.com>
12710
12711         * gst/gstbuffer.c: (_gst_buffer_copy):
12712         Copy more flags.
12713
12714         * gst/gstcaps.c: (gst_caps_is_equal):
12715         Fix some docs.
12716         Make _is_equal fast in the trivial cases.
12717
12718         * gst/gstminiobject.c:
12719         * gst/gstminiobject.h:
12720         More docs. Spifify .h file.
12721
12722         * gst/gstutils.c:
12723         Small doc update.
12724
12725 2005-11-11  Wim Taymans  <wim@fluendo.com>
12726
12727         * gst/base/gstbasetransform.c:
12728         (gst_base_transform_prepare_output_buf),
12729         (gst_base_transform_handle_buffer):
12730         Small cleanups.
12731         If we're processing a buffer and need to allocate an output
12732         buffer, we cannot accept a format change. If we did get a 
12733         format change, we have to alloc a buffer ourselves of the 
12734         right size.
12735
12736 2005-11-11  Wim Taymans  <wim@fluendo.com>
12737
12738         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
12739         While checking the flag for reentrancy in the gstcaps function
12740         is nice to detect recursive invocations, it also makes it 
12741         impossible to call getcaps from multiple threads, which must be
12742         possible. So, checking for recursive calls has to go.
12743
12744 2005-11-11  Michael Smith <msmith@fluendo.com>
12745
12746         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12747           Don't sync on buffers that fall partially outside our current
12748           segment. Prevents an assertion failure/abort playing some files.
12749
12750 2005-11-10  Andy Wingo  <wingo@pobox.com>
12751
12752         * check/gst/gstbin.c (test_message_state_changed_children): Style
12753         fix..
12754
12755         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
12756         gst_bus_poll with the signal watch. Ensures that poll and a signal
12757         watch see the same messages.
12758
12759         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
12760         a poll and a watch at the same time get the same messages.
12761
12762 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12763
12764         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
12765         * gst/gstcaps.c: (gst_caps_intersect):
12766           Don't call gst_caps_do_simplify - it doesn't respect order of caps
12767           and it's not needed.
12768
12769 2005-11-10  Wim Taymans  <wim@fluendo.com>
12770
12771         * docs/design/part-TODO.txt:
12772         Updated todo.
12773
12774 2005-11-10  Wim Taymans  <wim@fluendo.com>
12775
12776         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12777         * gst/base/gstbasesrc.c: (gst_base_src_wait),
12778         (gst_base_src_do_sync), (gst_base_src_get_range):
12779         Implement clock sync in base class.
12780
12781 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12782
12783         patch by: Tim-Philipp Müller <tim at centricular dot net>
12784
12785         * gst/gststructure.c: (gst_structure_parse_field),
12786         (gst_structure_from_string):
12787           Forward-port a 0.8 patch to handle escaped spaces in structure string,
12788           so that gst_parse_launch() can deal with spaces in filtered link
12789           caps (fixes #164479)
12790         * check/gst/capslist.h:
12791         * check/gst/gststructure.c: (GST_START_TEST):
12792           add unit tests for this change
12793
12794 2005-11-10  Wim Taymans  <wim@fluendo.com>
12795
12796         * docs/gst/gstreamer-sections.txt:
12797         * gst/gstelement.c:
12798         * gst/gstelement.h:
12799         Fix docs, move some STATE macros to private.
12800
12801 2005-11-10  Wim Taymans  <wim@fluendo.com>
12802
12803         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12804         Added check for bug #317341
12805
12806         * gst/gstbuffer.c:
12807         * gst/gstbuffer.h:
12808         Some more spiffifying.
12809
12810         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
12811         Call peer linkfunction if we are a source pad. Totally fixes
12812         #317341
12813
12814         * gst/gstpad.c:
12815         Update docs, source pads should call the peer linkfunction
12816         so they can atomically perform the pad link.
12817
12818 2005-11-09  Wim Taymans  <wim@fluendo.com>
12819
12820         * gst/gstbuffer.c:
12821         * gst/gstbuffer.h:
12822         Uber-spiffy-spiffify some more.
12823
12824 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
12825
12826         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
12827         * gst/elements/gstfilesink.c: (gst_file_sink_init):
12828         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12829         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
12830         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
12831         * gst/gstpad.c: (gst_pad_init):
12832           Use GST_DEBUG_FUNCPTR() more extensively.
12833
12834 2005-11-09  Wim Taymans  <wim@fluendo.com>
12835
12836         * gst/gstobject.c: (gst_object_class_init):
12837         * gst/gstobject.h:
12838         Documentation fixes.
12839
12840 2005-11-09  Edward Hervey  <edward@fluendo.com>
12841
12842         * gst/gsttypefindfactory.c:
12843         Fix docs.
12844         
12845 2005-11-09  Edward Hervey  <edward@fluendo.com>
12846
12847         * gst/base/gsttypefindhelper.c:
12848         * gst/gsttypefind.c:
12849         * gst/gsttypefind.h:
12850         Fix docs.
12851
12852 2005-11-09  Wim Taymans  <wim@fluendo.com>
12853
12854         * gst/gstiterator.c:
12855         Fix revision data.
12856
12857         * gst/gsttask.c:
12858         * gst/gsttask.h:
12859         Fix docs.
12860
12861 2005-11-09  Wim Taymans  <wim@fluendo.com>
12862
12863         * gst/gstevent.h:
12864         * gst/gsturi.h:
12865         Fix docs.
12866
12867 2005-11-09  Wim Taymans  <wim@fluendo.com>
12868
12869         * docs/gst/gstreamer-sections.txt:
12870         Moved the message async delivery private lock and cond
12871         to the private section.
12872
12873         * gst/gstmessage.c:
12874         * gst/gstmessage.h:
12875         Fixed docs.
12876
12877 2005-11-09  Edward Hervey  <edward@fluendo.com>
12878
12879         * docs/gst/gstreamer-sections.txt:
12880         * gst/gsturi.c:
12881         * gst/gsturi.h:
12882         Document GstURIHandler
12883
12884 2005-11-09  Wim Taymans  <wim@fluendo.com>
12885
12886         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
12887         (gst_iterator_find_custom):
12888         * gst/gstiterator.h:
12889         Fix iterator docs.
12890
12891 2005-11-09  Wim Taymans  <wim@fluendo.com>
12892
12893         * gst/gstbin.h:
12894         Document another field.
12895
12896         * gst/gststructure.c:
12897         * gst/gststructure.h:
12898         Document.
12899
12900 2005-11-09  Wim Taymans  <wim@fluendo.com>
12901
12902         * gst/gstbin.h:
12903         Documented structs.
12904
12905 2005-11-09  Wim Taymans  <wim@fluendo.com>
12906
12907         * docs/gst/gstreamer-sections.txt:
12908         Added some new macros.
12909
12910         * gst/gstclock.c:
12911         * gst/gstclock.h:
12912         * gst/gstobject.h:
12913         Docs updates.
12914
12915 2005-11-09  Wim Taymans  <wim@fluendo.com>
12916
12917         * docs/design/part-TODO.txt:
12918         Some more items for the TODO
12919
12920         * gst/gstcaps.c:
12921         * gst/gstcaps.h:
12922         Document GstCaps.
12923
12924 2005-11-09  Andy Wingo  <wingo@pobox.com>
12925
12926         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
12927         to work on something else now tho...
12928
12929         * gst/base/gstadapter.c: More adapter docs.
12930
12931         * gst/elements/gstfilesink.c (gst_file_sink_start) 
12932         (gst_file_sink_stop): New functions, replace the state change
12933         handler.
12934         (gst_file_sink_class_init): Hook up the start and stop functions.
12935         (gst_file_sink_base_init): Don't set the state change handler any
12936         more. It was a bit ugly too, being set from here...
12937         (gst_file_sink_get_property, gst_file_sink_set_property):
12938         Cleanups...
12939         (gst_file_sink_set_location): More robust check that doesn't call
12940         GST_STATE. Ugggggg.
12941
12942 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
12943
12944         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12945           Hold STREAM_LOCK while pushing newsegment or tag events as well.
12946
12947 2005-11-08  Wim Taymans  <wim@fluendo.com>
12948
12949         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12950         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12951         (gst_base_sink_chain), (gst_base_sink_change_state):
12952         * gst/base/gstbasesink.h:
12953         * gst/base/gstbasesrc.h:
12954         * gst/gstelement.h:
12955         * gst/gstevent.h:
12956         Avoid excessive typechecking in macros.
12957
12958         * gst/gstminiobject.c: (gst_mini_object_get_type),
12959         (gst_mini_object_init), (gst_mini_object_new),
12960         (gst_mini_object_free):
12961         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12962         (gst_object_finalize):
12963         Remove cruft code, optimize alloc_trace.
12964
12965 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12966
12967         * docs/faq/gst-uninstalled:
12968           fix up PS1 for systems that try to reset it
12969
12970 2005-11-07  Wim Taymans  <wim@fluendo.com>
12971
12972         * gst/base/gstbasesrc.c: (gst_base_src_init),
12973         (gst_base_src_get_range):
12974         Set the segment_end to -1 initially. Fixed typefind.
12975
12976 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
12977
12978         * gst/base/gstadapter.c:
12979           Debug category should be 'adapter', not 'GstAdapter'.
12980           
12981         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
12982         (gst_collectpads_class_init), (gst_collectpads_init),
12983         (gst_collectpads_peek), (gst_collectpads_pop),
12984         (gst_collectpads_event), (gst_collectpads_chain):
12985           Add debug category and some debugging output. Use boilerplate
12986           macros. Remove some extraneous words from docs.
12987
12988 2005-11-05  Andy Wingo  <wingo@pobox.com>
12989
12990         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
12991         macro.
12992
12993 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12994
12995         * docs/gst/gstreamer-sections.txt:
12996         * gst/gstcaps.h:
12997         * gst/gstinfo.c:
12998         * gst/gstminiobject.h:
12999         * gst/gstobject.h:
13000         * gst/gstutils.h:
13001           more docs added
13002
13003 2005-11-04  Wim Taymans  <wim@fluendo.com>
13004
13005         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13006         Small update to stop at the configured segment_end
13007         position.
13008
13009 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
13010
13011         * gst/gstregistry.c:
13012         * gst/gstregistry.h:
13013           added missing docs
13014
13015 2005-11-04  Edward Hervey  <edward@fluendo.com>
13016
13017         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13018         Check if we are doing a segment seek and have arrived at the
13019         end of that segment.
13020
13021 2005-11-04  Wim Taymans  <wim@fluendo.com>
13022
13023         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
13024         Don't leak a mutex unlock in case of an error.
13025
13026         * gst/gstbus.h:
13027         Doc fixes.
13028
13029 2005-11-04  Wim Taymans  <wim@fluendo.com>
13030
13031         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
13032         (gst_bus_post):
13033         Get the context to wake up only once.
13034
13035 2005-11-03  Wim Taymans  <wim@fluendo.com>
13036
13037         * check/states/sinks.c: (GST_START_TEST):
13038         Uncomment fixed check.
13039
13040         * docs/design/part-TODO.txt:
13041         Updated TODO.
13042
13043         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13044         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
13045         (gst_base_sink_get_position):
13046         If we are going to PLAYING, post the right pending state
13047         when we post the intermediate paused message.
13048
13049         * gst/gstelement.c: (gst_element_continue_state),
13050         (gst_element_set_state_func), (gst_element_change_state):
13051         Don't post state changes that were between the same state
13052         and were not ASYNC.
13053
13054 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
13055
13056         * docs/gst/gstreamer-sections.txt:
13057         * gst/gstcaps.h:
13058         * gst/gstinfo.c:
13059         * gst/gstminiobject.h:
13060         * gst/gstobject.h:
13061         * gst/gstutils.h:
13062           more docs and doc style fixes
13063
13064 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
13065
13066         * docs/gst/gstreamer-sections.txt:
13067         * gst/gstelement.c:
13068         * gst/gstminiobject.c:
13069         doc fixes
13070
13071 2005-11-03  Andy Wingo  <wingo@pobox.com>
13072
13073         * check/states/sinks.c (test_livesrc_sink): Add checks that the
13074         state-changed messages actually have the right order and the right
13075         values.
13076
13077 2005-11-03  Wim Taymans  <wim@fluendo.com>
13078
13079         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
13080         Added some more checks. Specifically the case where NO_PREROLL
13081         elements are in the pipeline.
13082
13083         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13084         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
13085         (gst_base_sink_get_position):
13086         Post READY->PAUSED state change messages too.
13087         Fix bug where VOID was posted as pending state...
13088
13089         * gst/gstbin.c: (gst_bin_recalc_state):
13090         use _element_continue_state() to continue the state change.
13091
13092         * gst/gstelement.c: (gst_element_continue_state),
13093         (gst_element_commit_state), (gst_element_set_state_func),
13094         (gst_element_change_state), (gst_element_change_state_func):
13095         Lots of state change cleanups, assign the STATE_RETURN in
13096         a new continue_state() function that also propagates the
13097         last return value from a state change to the app.
13098         Update some debug statements with proper category.
13099
13100 2005-11-03  Wim Taymans  <wim@fluendo.com>
13101
13102         * docs/design/part-events.txt:
13103         * docs/design/part-gstpipeline.txt:
13104         * docs/design/part-messages.txt:
13105         * docs/design/part-overview.txt:
13106         * docs/design/part-seeking.txt:
13107         * docs/design/part-states.txt:
13108         * docs/design/part-trickmodes.txt:
13109         * docs/manual/advanced-position.xml:
13110         Small docs updates.
13111
13112         * gst/gstobject.h:
13113         People think !! is ugly, this looks better.
13114
13115         * gst/gstpad.c: (gst_pad_set_blocked_async):
13116         Remove !! since it's fixed elsewhere now.
13117
13118 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
13119
13120         * gst/gstminiobject.h:
13121         * gst/gstobject.h:
13122           Add !! to _FLAG_IS_SET macros to make the result boolean.
13123
13124 2005-11-03  Edward Hervey  <edward@fluendo.com>
13125
13126         * gst/gstpad.c: (gst_pad_set_blocked_async):
13127         comparing a flag and a gboolean rarely returns coherent results...
13128         Added two characters (!!) to make that work correctly.
13129         
13130 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
13131
13132         * gst/gstbus.c: (gst_bus_class_init):
13133           Fix some typos.
13134           
13135         * gst/gstqueue.c: (gst_queue_loop):
13136           Don't assume a miniobject that isn't a buffer is an
13137           event (it could be that there is a refcounting
13138           problem somewhere and the pointer is stale and
13139           refers to an already destroyed miniobject).
13140
13141 2005-11-03  Julien MOUTTE  <julien@moutte.net>
13142
13143         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
13144
13145 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
13146
13147         * docs/manual/advanced-position.xml:
13148           Update seek example and explanations to current 0.9 API.
13149
13150         * gst/elements/gsttypefindelement.c:
13151         (gst_type_find_element_activate):
13152           Remove FIXME comment now that the found caps
13153           are unreffed.
13154
13155 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13156
13157         * gst/gstregistryxml.c: (load_feature):
13158           Add another GST_STR_NULL instance
13159
13160 2005-11-02  Edward Hervey  <edward@fluendo.com>
13161
13162         * gst/gstpad.c: (handle_pad_block):
13163         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
13164         
13165 2005-11-02  Wim Taymans  <wim@fluendo.com>
13166
13167         * gst/gstbin.c:
13168         Fix typo in docs.
13169
13170         * gst/gstelement.c: (gst_element_commit_state):
13171         Remove unused value.
13172
13173         * gst/gstiterator.c:
13174         Mention that the returned element is reffed in the docs.
13175
13176 2005-11-02  Wim Taymans  <wim@fluendo.com>
13177
13178         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
13179         (gst_pad_push), (gst_pad_push_event):
13180         Unlock blocked pads when they are flushed.
13181
13182 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13183
13184         * docs/README:
13185         * docs/gst/gstreamer-sections.txt:
13186         * gst/gstbin.c:
13187           doc updates
13188         * gst/gstregistry.c: (gst_registry_scan_path_level):
13189           fix for a nasty little missed situation where an installed plug-in
13190           which was in the cache did not get overridden by an uninstalled one
13191           which was earlier in the plugin path because the newly created plugin
13192           for the uninstalled one (not in the registry) didn't get its
13193           ->registered set to TRUE
13194
13195 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
13196
13197         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
13198         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
13199         (gst_collectpads_is_active), (gst_collectpads_collect),
13200         (gst_collectpads_collect_range), (gst_collectpads_start),
13201         (gst_collectpads_stop), (gst_collectpads_peek),
13202         (gst_collectpads_pop), (gst_collectpads_available),
13203         (gst_collectpads_read), (gst_collectpads_flush):
13204           Guard public API with assertions.
13205         
13206         * gst/gstpad.c:
13207           Fix docs for gst_pad_set_link_function().
13208
13209 2005-11-02  Johan Dahlin  <johan@gnome.org>
13210
13211         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
13212         Unref found_caps after we used it.
13213
13214 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
13215
13216         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
13217           Don't try to ref NULL.
13218
13219 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13220
13221         * win32/common/config.h.in:
13222           provide a GST_FUNCTION that just gives a string for now
13223
13224 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13225
13226         * win32/common/gstenumtypes.c: (register_gst_object_flags),
13227         (gst_object_flags_get_type), (register_gst_bin_flags),
13228         (gst_bin_flags_get_type), (register_gst_buffer_flag),
13229         (gst_buffer_flag_get_type), (register_gst_bus_flags),
13230         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
13231         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
13232         (gst_clock_return_get_type), (register_gst_clock_entry_type),
13233         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
13234         (gst_clock_flags_get_type), (register_gst_state),
13235         (gst_state_get_type), (register_gst_state_change_return),
13236         (gst_state_change_return_get_type), (register_gst_state_change),
13237         (gst_state_change_get_type), (register_gst_element_flags),
13238         (gst_element_flags_get_type), (register_gst_core_error),
13239         (gst_core_error_get_type), (register_gst_library_error),
13240         (gst_library_error_get_type), (register_gst_resource_error),
13241         (gst_resource_error_get_type), (register_gst_stream_error),
13242         (gst_stream_error_get_type), (register_gst_event_type),
13243         (gst_event_type_get_type), (register_gst_seek_type),
13244         (gst_seek_type_get_type), (register_gst_seek_flags),
13245         (gst_seek_flags_get_type), (register_gst_format),
13246         (gst_format_get_type), (register_gst_index_certainty),
13247         (gst_index_certainty_get_type), (register_gst_index_entry_type),
13248         (gst_index_entry_type_get_type),
13249         (register_gst_index_lookup_method),
13250         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
13251         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
13252         (gst_index_resolver_method_get_type), (register_gst_index_flags),
13253         (gst_index_flags_get_type), (register_gst_debug_level),
13254         (gst_debug_level_get_type), (register_gst_debug_color_flags),
13255         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
13256         (gst_iterator_result_get_type), (register_gst_iterator_item),
13257         (gst_iterator_item_get_type), (register_gst_message_type),
13258         (gst_message_type_get_type), (register_gst_mini_object_flags),
13259         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
13260         (gst_pad_link_return_get_type), (register_gst_flow_return),
13261         (gst_flow_return_get_type), (register_gst_activate_mode),
13262         (gst_activate_mode_get_type), (register_gst_pad_direction),
13263         (gst_pad_direction_get_type), (register_gst_pad_flags),
13264         (gst_pad_flags_get_type), (register_gst_pad_presence),
13265         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
13266         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
13267         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
13268         (gst_plugin_error_get_type), (register_gst_plugin_flags),
13269         (gst_plugin_flags_get_type), (register_gst_rank),
13270         (gst_rank_get_type), (register_gst_query_type),
13271         (gst_query_type_get_type), (register_gst_tag_merge_mode),
13272         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
13273         (gst_tag_flag_get_type), (register_gst_task_state),
13274         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
13275         (gst_alloc_trace_flags_get_type),
13276         (register_gst_type_find_probability),
13277         (gst_type_find_probability_get_type), (register_gst_uri_type),
13278         (gst_uri_type_get_type), (register_gst_parse_error),
13279         (gst_parse_error_get_type):
13280         * win32/common/gstversion.h:
13281           update win32 copies
13282
13283 2005-11-01  Luca Ognibene  <luogni@tin.it>
13284
13285         * gst/gst.c:
13286           fix docs. popt is dead, long live GOption.
13287
13288 2005-10-31  Wim Taymans  <wim@fluendo.com>
13289
13290         * gst/gstbuffer.h:
13291         Small doc fix.
13292
13293 2005-10-31  Andy Wingo  <wingo@pobox.com>
13294
13295         * Boo!
13296
13297         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
13298
13299         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
13300         need to serialize property notifications on GLib 2.8. GLib 2.6 has
13301         the possibility of deadlocks here if code calling notify() or
13302         set() has a lock that can be taken in another notify handler (ABBA
13303         with class lock and e.g. python GIL state lock).
13304
13305 2005-10-28  Julien MOUTTE  <julien@moutte.net>
13306
13307         * gst/gstbus.c: Doc updates.
13308
13309 2005-10-28  Wim Taymans  <wim@fluendo.com>
13310
13311         * docs/design/part-TODO.txt:
13312         * gst/gstiterator.c:
13313         * gst/gstsystemclock.c:
13314         * gst/gstsystemclock.h:
13315         Doc updates.
13316
13317 2005-10-28  Edward Hervey  <edward@fluendo.com>
13318
13319         * docs/gst/gstreamer-docs.sgml:
13320         * docs/gst/gstreamer-sections.txt:
13321         the GstURIType documentation page is private, it only defines GstURIType
13322         which should be defined in the GstURIHandler page
13323         
13324 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13325
13326         * gst/gstbin.c: (gst_bin_class_init):
13327         * gst/gstbin.h:
13328         * gst/gstutils.c:
13329         Documentation updates.
13330
13331 2005-10-28  Wim Taymans  <wim@fluendo.com>
13332
13333         * docs/gst/gstreamer-sections.txt:
13334         * gst/gstclock.c:
13335         * gst/gstclock.h:
13336         Documented the clocks.
13337
13338 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
13339
13340         * docs/gst/gstreamer-sections.txt:
13341           move some macros to private sections
13342         * gst/gstminiobject.c:
13343         * gst/gstminiobject.h:
13344           add descriptions provided by ds and some more
13345         * gst/gstpad.h:
13346           mark macro as to be removed
13347
13348 2005-10-28  Wim Taymans  <wim@fluendo.com>
13349
13350         * docs/design/part-TODO.txt:
13351         Add an item to TODO.
13352
13353         * gst/gstiterator.c: (gst_iterator_fold),
13354         (gst_iterator_find_custom):
13355         * gst/gstiterator.h:
13356         Add iterator docs.
13357
13358 2005-10-28  Wim Taymans  <wim@fluendo.com>
13359
13360         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13361         (gst_base_transform_init):
13362         Don't leak class.
13363
13364         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
13365         An EOS event marks the queue as completely filled.
13366
13367 2005-10-27  Wim Taymans  <wim@fluendo.com>
13368
13369         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13370         (gst_base_sink_do_sync), (gst_base_sink_get_position):
13371         Some more debugging.
13372
13373         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
13374         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
13375         (gst_base_transform_event), (gst_base_transform_getrange),
13376         (gst_base_transform_chain):
13377         * gst/base/gstbasetransform.h:
13378         Fix debugging,
13379         Protect transform and concurrent buffer alloc with a new lock.
13380         Try not to break ABI/API.
13381
13382 2005-10-27  Wim Taymans  <wim@fluendo.com>
13383
13384         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13385         (gst_base_src_init), (gst_base_src_query),
13386         (gst_base_src_default_newsegment),
13387         (gst_base_src_configure_segment), (gst_base_src_do_seek),
13388         (gst_base_src_send_event), (gst_base_src_event_handler),
13389         (gst_base_src_pad_get_range), (gst_base_src_loop),
13390         (gst_base_src_unlock), (gst_base_src_default_negotiate),
13391         (gst_base_src_start), (gst_base_src_deactivate),
13392         (gst_base_src_activate_push), (gst_base_src_change_state):
13393         Move some stuff around and cleanup things.
13394
13395 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
13396
13397         * gst/base/gstbasesrc.c: (gst_base_src_query):
13398           Add missing break statements.
13399
13400 2005-10-27  Wim Taymans  <wim@fluendo.com>
13401
13402         * check/gst/gstbin.c: (GST_START_TEST):
13403         An extra refcount is taken in basesrc.
13404
13405         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
13406         (gst_base_src_get_range), (gst_base_src_pad_get_range),
13407         (gst_base_src_loop):
13408         Small cleanups, check for flushing after being unlocked from the 
13409         LIVE_LOCK. take refcounts correctly (not yet everywhere).
13410         Don't send out EOS when going to READY.
13411
13412 2005-10-27  Wim Taymans  <wim@fluendo.com>
13413
13414         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13415         (gst_base_sink_get_position):
13416         Some more debug.
13417
13418         * gst/gstbin.c: (message_check), (bin_replace_message),
13419         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13420         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13421         (bin_query_duration_init), (bin_query_duration_fold),
13422         (bin_query_duration_done), (bin_query_generic_fold),
13423         (gst_bin_query):
13424         * tools/gst-launch.c: (main):
13425         Remove old option.
13426
13427 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
13428
13429         * examples/controller/audio-example.c: (main):
13430         * examples/queue/queue.c: (event_loop):
13431         * gst/base/gstbasetransform.h:
13432         * gst/gstelement.c: (gst_element_send_event):
13433         * gst/gstevent.h:
13434         * gst/gstpad.c: (gst_pad_send_event):
13435           fixing examples
13436           fixing docs typos
13437           changing log priority in error situations
13438
13439 2005-10-25  Wim Taymans  <wim@fluendo.com>
13440
13441         * gst/gstbin.c: (message_check), (bin_replace_message),
13442         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13443         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13444         (bin_query_duration_init), (bin_query_duration_fold),
13445         (bin_query_duration_done), (bin_query_generic_fold),
13446         (gst_bin_query):
13447         Some doc and debug updates.
13448         Cache previously requested query DURATION for speed. invalidate
13449         cached duration if element posts a DURATION message.
13450
13451 2005-10-25  Wim Taymans  <wim@fluendo.com>
13452
13453         * docs/design/part-TODO.txt:
13454         Update TODO.
13455
13456         * gst/gstbin.c: (message_check), (bin_replace_message),
13457         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13458         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13459         (bin_query_duration_init), (bin_query_duration_fold),
13460         (bin_query_duration_done), (bin_query_generic_fold),
13461         (gst_bin_query):
13462         Handle SEGMENT_START/DONE messages correctly.
13463         More evolved query algorithm that handles duration queries
13464         correctly.
13465
13466         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
13467         (gst_element_get_state_func), (gst_element_abort_state),
13468         (gst_element_commit_state), (gst_element_lost_state):
13469         Some more debugging.
13470
13471         * gst/gstmessage.h:
13472         Added doc.
13473
13474 2005-10-25  Wim Taymans  <wim@fluendo.com>
13475
13476         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
13477         Don't use invalid stream_time.
13478
13479         * gst/gstevent.c: (gst_event_new_newsegment):
13480         stream_time in newsegment cannot be undefined.
13481
13482 2005-10-24  Wim Taymans  <wim@fluendo.com>
13483
13484         * gst/gstbus.c:
13485         Doc fix.
13486
13487         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13488         (gst_queue_loop):
13489         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
13490
13491 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
13492
13493         * docs/libs/tmpl/gstdparam.sgml:
13494         * docs/libs/tmpl/gstdplinint.sgml:
13495         * docs/libs/tmpl/gstdpman.sgml:
13496         * docs/libs/tmpl/gstdpsmooth.sgml:
13497         * docs/libs/tmpl/gstunitconvert.sgml:
13498           these are obsolete
13499
13500 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13501
13502         * configure.ac:
13503           back to HEAD
13504
13505 === release 0.9.4 ===
13506
13507 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13508
13509         * configure.ac:
13510           releasing 0.9.4, "Tyrannosaurus Rex"
13511
13512 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
13513
13514         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13515         (gst_file_sink_get_current_offset):
13516           Use fseeko() and ftello() if available. When falling back on
13517           lseek() to get the current offset, fflush() first to make sure
13518           everything is up-to-date and we get the right offset.
13519
13520 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13521
13522         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13523         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13524         * gst/gsterror.c: (_gst_stream_errors_init):
13525         * gst/gsterror.h:
13526         * gst/gstqueue.c: (gst_queue_loop):
13527         * po/POTFILES.in:
13528           remove prematurely added error category and clean up the instances
13529
13530 2005-10-21  Wim Taymans  <wim@fluendo.com>
13531
13532         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13533         (gst_base_sink_get_position), (gst_base_sink_query),
13534         (gst_base_sink_change_state):
13535         Simply set the right flag when going to playing, that's all
13536         we need to do instead of calling a function inside the object
13537         lock (that could take the lock as well and deadlock)
13538
13539 2005-10-21  Wim Taymans  <wim@fluendo.com>
13540
13541         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
13542         (gst_base_src_loop):
13543         Don't warn, the peer element knows what to do best when
13544         the seek failed, it might try something else.
13545
13546 2005-10-21  Wim Taymans  <wim@fluendo.com>
13547
13548         * gst/base/gstbasesrc.c: (gst_base_src_init),
13549         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13550         Fix seeking.
13551
13552 2005-10-21  Wim Taymans  <wim@fluendo.com>
13553
13554         * docs/design/part-segments.txt:
13555         More docs.
13556
13557         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13558         Correctly set caps, even on the subbufer.
13559
13560 2005-10-21  Wim Taymans  <wim@fluendo.com>
13561
13562         * docs/gst/gstreamer-docs.sgml:
13563         * docs/gst/gstreamer-sections.txt:
13564         * gst/gstelement.h:
13565         * gst/gstevent.c:
13566         * gst/gstevent.h:
13567         * gst/gstmessage.h:
13568         * gst/gstpad.h:
13569         * gst/gstparse.h:
13570         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
13571         * gst/gsttask.h:
13572         * gst/gstutils.c:
13573         * gst/gstutils.h:
13574         And 2% more doc coverage.
13575
13576 2005-10-21  Andy Wingo  <wingo@pobox.com>
13577
13578         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
13579         position reporting.
13580
13581 2005-10-20  Wim Taymans  <wim@fluendo.com>
13582
13583         * gst/gsterror.c: (gst_error_get_message):
13584         * gst/gstparse.h:
13585         * gst/gstquery.h:
13586         * gst/gststructure.c:
13587         * gst/gsttrace.c:
13588         * gst/gstutils.c:
13589         More docs.
13590
13591 2005-10-20  Wim Taymans  <wim@fluendo.com>
13592
13593         * gst/gstbuffer.h:
13594         * gst/gstpad.c:
13595         * gst/gstparse.c:
13596         Another 1% more coverage.
13597
13598 2005-10-20  Wim Taymans  <wim@fluendo.com>
13599
13600         * docs/gst/gstreamer-sections.txt:
13601         * gst/gstelement.c: (gst_element_get_state_func),
13602         (gst_element_abort_state), (gst_element_commit_state),
13603         (gst_element_lost_state):
13604         * gst/gstevent.h:
13605         * gst/gstquery.c: (gst_query_set_position),
13606         (gst_query_parse_position), (gst_query_set_duration),
13607         (gst_query_parse_duration), (gst_query_new_convert):
13608         * gst/gstutils.c:
13609         Yay! 1% more docs coverage.
13610
13611 2005-10-20  Wim Taymans  <wim@fluendo.com>
13612
13613         * gst/gstpad.h:
13614         * gst/gstquery.c: (gst_query_set_position),
13615         (gst_query_parse_position), (gst_query_set_duration),
13616         (gst_query_parse_duration), (gst_query_new_convert):
13617         * gst/gstquery.h:
13618         * gst/gstutils.c: (gst_element_query_convert):
13619         * gst/gstutils.h:
13620         Docs and consistency fixes.
13621
13622 2005-10-20  Wim Taymans  <wim@fluendo.com>
13623
13624         * gst/gsttask.c:
13625         * gst/gsttask.h:
13626         More docs.
13627
13628 2005-10-20  Wim Taymans  <wim@fluendo.com>
13629
13630         * gst/gstbin.c: (message_check), (bin_replace_message),
13631         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13632         (update_degree), (gst_bin_sort_iterator_next),
13633         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
13634         Reworked the message handling a bit, cache the messages instead of
13635         only the senders. alows us to do more in the future.
13636
13637 2005-10-20  Wim Taymans  <wim@fluendo.com>
13638
13639         * docs/design/part-TODO.txt:
13640         Update TODO
13641
13642         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13643         (gst_base_sink_query):
13644         Don't use clock time to report position when in EOS.
13645
13646 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
13647
13648         * tools/gst-inspect.c: (print_interfaces),
13649         (print_element_properties_info), (print_element_info):
13650           Fix interface output with gst-inspect -a; don't print
13651           newlines after double/float properties.
13652
13653 2005-10-20  Wim Taymans  <wim@fluendo.com>
13654
13655         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13656         (gst_base_sink_query):
13657         Speed up current position calculation.
13658
13659         * gst/base/gstbasesrc.c: (gst_base_src_query),
13660         (gst_base_src_default_newsegment):
13661         Correctly set stream position in newsegment.
13662
13663         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
13664         (update_degree), (gst_bin_sort_iterator_next),
13665         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
13666         * gst/gstmessage.c: (gst_message_new_custom):
13667         Clean up debugging info
13668
13669         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13670         (gst_queue_loop), (gst_queue_handle_src_query):
13671         Pause task faster.
13672
13673 2005-10-19  Wim Taymans  <wim@fluendo.com>
13674
13675         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13676         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13677         Fix query handling again.
13678
13679 2005-10-19  Wim Taymans  <wim@fluendo.com>
13680
13681         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13682         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13683         * gst/base/gstbasesrc.c: (gst_base_src_query):
13684         * gst/elements/gstfilesink.c: (gst_file_sink_query):
13685         * gst/elements/gsttypefindelement.c:
13686         (gst_type_find_handle_src_query), (find_element_get_length),
13687         (gst_type_find_element_activate):
13688         API change fix.
13689
13690         * gst/gstquery.c: (gst_query_new_position),
13691         (gst_query_set_position), (gst_query_parse_position),
13692         (gst_query_new_duration), (gst_query_set_duration),
13693         (gst_query_parse_duration), (gst_query_set_segment),
13694         (gst_query_parse_segment):
13695         * gst/gstquery.h:
13696         Bundling query position/duration is not a good idea since duration
13697         does not change much and we don't want to recalculate it for every
13698         position query, so they are separated again..
13699         Base value in segment query is not needed.
13700
13701         * gst/gstqueue.c: (gst_queue_handle_src_query):
13702         * gst/gstutils.c: (gst_element_query_position),
13703         (gst_element_query_duration), (gst_pad_query_position),
13704         (gst_pad_query_duration):
13705         * gst/gstutils.h:
13706         Updates for query API change.
13707         Added some docs here and there.
13708
13709 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13710
13711         * check/gst/gstbin.c: (GST_START_TEST):
13712         * check/gst/gstghostpad.c: (GST_START_TEST):
13713         * check/pipelines/cleanup.c: (GST_START_TEST):
13714           wait on thread to die so we can check refcount correctly
13715
13716 2005-10-18  Wim Taymans  <wim@fluendo.com>
13717
13718         * check/pipelines/stress.c: (GST_START_TEST):
13719         Make check a little more time consuming.
13720
13721 2005-10-18  Wim Taymans  <wim@fluendo.com>
13722
13723         * check/Makefile.am:
13724         * check/pipelines/stress.c: (GST_START_TEST),
13725         (simple_launch_lines_suite), (main):
13726         Small state change torture test.
13727
13728         * docs/design/part-states.txt:
13729         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13730         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
13731         (gst_base_sink_change_state):
13732         Never take state lock from streaming thread, clean up ugly
13733         hacks. Unfortunatly core does not yet support nice ways to
13734         async commit state.
13735         
13736         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
13737         (bin_bus_handler):
13738         Start state recalc if a STATE_DIRTY message is posted, but only
13739         on the toplevel bin.
13740
13741         * gst/gstelement.c: (gst_element_sync_state_with_parent),
13742         (gst_element_get_state_func), (gst_element_abort_state),
13743         (gst_element_commit_state), (gst_element_lost_state),
13744         (gst_element_set_state_func), (gst_element_change_state):
13745         * gst/gstelement.h:
13746         State variables are now protected with the LOCK, the state
13747         lock is only used to serialize _set_state().
13748
13749 2005-10-18  Wim Taymans  <wim@fluendo.com>
13750
13751         * check/gst/gstbin.c: (GST_START_TEST):
13752         * check/gst/gstmessage.c: (GST_START_TEST):
13753         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13754         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
13755         (bin_bus_handler):
13756         * gst/gstelement.c: (gst_element_abort_state),
13757         (gst_element_commit_state), (gst_element_lost_state):
13758         * gst/gstmessage.c: (gst_message_new_state_changed),
13759         (gst_message_new_state_dirty), (gst_message_new_segment_start),
13760         (gst_message_new_segment_done), (gst_message_new_duration),
13761         (gst_message_parse_state_changed),
13762         (gst_message_parse_segment_start),
13763         (gst_message_parse_segment_done), (gst_message_parse_duration):
13764         * gst/gstmessage.h:
13765         * tools/gst-launch.c: (event_loop):
13766         Seriously, this is better than a previous commit as we only need
13767         to notify the fact that an element changed state in a streaming
13768         thread, marking the state of the parents dirty, hence the 
13769         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
13770         message.
13771
13772 2005-10-18  Wim Taymans  <wim@fluendo.com>
13773
13774         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
13775         (gst_bin_recalc_func):
13776         * gst/gstelement.c: (gst_element_set_clock),
13777         (gst_element_abort_state), (gst_element_lost_state):
13778         Cleanups, prepare for state change fixes.
13779
13780 2005-10-18  Wim Taymans  <wim@fluendo.com>
13781
13782         * gst/gstbin.h:
13783         * gst/gstelement.c: (gst_element_class_init),
13784         (gst_element_set_state), (gst_element_set_state_func):
13785         * gst/gstelement.h:
13786         Pending ABI changes.
13787         GThreadPool in GstBinClass to monitor async state changes.
13788         state_cookie in GstElement to detect concurrent gst/set state.
13789         set_state is now virtual too in case a very complicated element
13790         has to be constructed.
13791
13792 2005-10-18  Wim Taymans  <wim@fluendo.com>
13793
13794         * check/gst/gstbin.c: (GST_START_TEST):
13795         * check/gst/gstmessage.c: (GST_START_TEST):
13796         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13797         * gst/gstbin.c: (bin_bus_handler):
13798         * gst/gstelement.c: (gst_element_commit_state),
13799         (gst_element_lost_state):
13800         * gst/gstmessage.c: (gst_message_new_state_changed),
13801         (gst_message_new_segment_start), (gst_message_new_segment_done),
13802         (gst_message_new_duration), (gst_message_parse_state_changed),
13803         (gst_message_parse_segment_start),
13804         (gst_message_parse_segment_done), (gst_message_parse_duration):
13805         * gst/gstmessage.h:
13806         * tools/gst-launch.c: (event_loop):
13807         Make messages future proof.
13808         state-change gets a flag if it was a message comming from the
13809         streaming thread.
13810         segment-start/stop can also be specified in other formats.
13811         A message to notify an app that a pipeline changed playback 
13812         duration.
13813         Also fix a GstMessage leak in -launch
13814
13815 2005-10-18  Andy Wingo  <wingo@pobox.com>
13816
13817         * gst/gstelement.c (gst_element_dispose): More helpful message.
13818
13819 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13820
13821         reviewed by: <delete if not using a buddy>
13822
13823         * common/gtk-doc.mak:
13824
13825 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13826
13827         * gst/gstregistry.c: (gst_registry_scan_path_level):
13828           unref a plug-in we get that was already initialized
13829
13830 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
13831
13832         * docs/gst/gstreamer-sections.txt:
13833         * docs/libs/gstreamer-libs-sections.txt:
13834         * gst/gstelement.h:
13835           add new api entries
13836           hide internal macro
13837
13838 2005-10-17  Andy Wingo  <wingo@pobox.com>
13839
13840         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
13841         cleanup.
13842
13843         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
13844
13845         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
13846
13847         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
13848         (gst_element_get_state_func): Better debug message.
13849         (gst_element_commit_state): s/INFO/DEBUG/.
13850         (gst_element_lost_state, gst_element_change_state): 
13851
13852         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
13853         (gst_message_new_custom): s/INFO/LOG/.
13854
13855 2005-10-17  Michael Smith <msmith@fluendo.com>
13856
13857         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13858           Check if end time is valid using end time, not start time.
13859
13860 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
13861
13862         * check/gst-libs/controller.c: (GST_START_TEST),
13863         (gst_controller_suite):
13864         * libs/gst/controller/gstcontroller.c:
13865         (gst_controlled_property_set_interpolation_mode):
13866         * libs/gst/controller/gstcontroller.h:
13867         * libs/gst/controller/gstinterpolation.c:
13868         * testsuite/controller/.cvsignore:
13869         * testsuite/controller/Makefile.am:
13870         * testsuite/controller/interpolator.c:
13871           merge controller testsuites
13872           fix broken tests
13873           remove mem-chunk from docs
13874
13875 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13876
13877         * gst/gstmemchunk.c:
13878         * gst/gstmemchunk.h:
13879         * gst/gsttrashstack.c:
13880         * gst/gsttrashstack.h:
13881           out.  get out.  you're fired.  to the Attic !
13882
13883 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13884
13885         * gst/gstcaps.c: (gst_caps_intersect):
13886           fix signedness issues in a (hopefully) correct way
13887         * gst/gstelement.c: (gst_element_pads_activate):
13888           some debugging
13889         * gst/gstobject.c: (gst_object_set_parent):
13890           some debugging
13891
13892 2005-10-17  Julien MOUTTE  <julien@moutte.net>
13893
13894         * gst/gstvalue.h: Fix prototypes.
13895
13896 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13897
13898         * docs/gst/gstreamer-sections.txt:
13899         * gst/gst.c: (gst_version_string):
13900         * gst/gst.h:
13901         * gst/gstversion.h.in:
13902         * win32/common/libgstreamer.def:
13903           add gst_version_string ()
13904
13905 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13906
13907         * configure.ac:
13908           clean up further
13909         * gst/gst.c: (init_post):
13910         * win32/common/config.h.in:
13911           it's PLUGINDIR now
13912         * gst/gstcaps.c: (gst_caps_intersect):
13913           use gint64, the range could be bigger than a guint
13914
13915 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13916
13917         * gst/gstclock.h:
13918           document potential problem in 2038
13919
13920 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13921
13922         * gst/gstcaps.c: (gst_caps_intersect):
13923           Fix guint j diving under 0
13924
13925 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13926
13927         * configure.ac:
13928         * win32/common/config.h:
13929         * win32/common/config.h.in:
13930           check for process.h, declares getpid() on Windows
13931         * gst/gstinfo.c:
13932           include process.h if we have it
13933         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
13934         * gst/gstmemchunk.h:
13935           fix signedness issues
13936         * win32/common/libgstreamer.def:
13937           fix get_type's
13938
13939 2005-10-16  Julien MOUTTE  <julien@moutte.net>
13940
13941         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
13942         fix. Because of unsigned ints, caps intersection was going nuts and
13943         trying to access structures with G_MAXUINT index. That fixes
13944         videotestsrc ! ffmpegcolorspace ! fakesink
13945         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
13946         consistency.
13947
13948 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13949
13950         * configure.ac:
13951           use the gettext macro
13952         * gst/elements/gstelements.c:
13953         * gst/gst.c:
13954         * gst/indexers/gstindexers.c:
13955           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
13956         * win32/common/config.h:
13957           updated config.h
13958         * win32/common/config.h.in:
13959           add the template to generate config.h
13960         * win32/common/gstenumtypes.c:
13961         * win32/common/gstversion.h:
13962           updated copies
13963
13964 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13965
13966         * gst/gst.c: (gst_version):
13967         * gst/gstversion.h.in:
13968           add the nano
13969
13970 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13971
13972         * gst/gstevent.h:
13973           Oops, add missing closing bracket.
13974
13975 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13976
13977         * configure.ac:
13978           use common m4's for argument checking
13979
13980 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13981
13982         * docs/gst/gstreamer-sections.txt:
13983         * gst/gstevent.h:
13984           Add GST_EVENT_TYPE_NAME() macro.
13985
13986 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13987
13988         * gst/gstinfo.c:
13989         * gst/gstpluginfeature.c:
13990         * gst/gsttask.c:
13991           privatize more symbols
13992
13993 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13994
13995         * configure.ac:
13996           add srcdir, builddir includes to GST_ALL_CFLAGS, since
13997           everything that uses GStreamer API should have the includes
13998
13999 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14000
14001         * docs/gst/gstreamer-sections.txt:
14002         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
14003         * gst/gstvalue.h:
14004           give each value a _get_type, removes the DATA exports
14005
14006 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14007
14008         * gst/gst.c:
14009         * gst/gst.h:
14010           remove _gst_registry_auto_load, not used anymore
14011         * gst/gstbin.c: (gst_bin_get_type):
14012         * gst/gstbin.h:
14013         * gst/gstelement.c: (gst_element_get_type):
14014         * gst/gstelement.h:
14015         * gst/gstobject.c: (gst_object_get_type):
14016         * gst/gstobject.h:
14017         * gst/gstpad.c: (gst_pad_get_type):
14018         * gst/gstpad.h:
14019           make _get_type functions similar, fixes data export from library
14020
14021 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14022
14023         * configure.ac:
14024           correctly make conditionals
14025         * gst/elements/Makefile.am:
14026         * gst/elements/gstelements.c:
14027           fix typo causing fdsrc not to build
14028
14029 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14030
14031         * testsuite/Makefile.am:
14032         * testsuite/bytestream/.cvsignore:
14033         * testsuite/bytestream/Makefile.am:
14034         * testsuite/bytestream/filepadsink.c:
14035         * testsuite/bytestream/gstbstest.c:
14036         * testsuite/bytestream/test1.c:
14037         * testsuite/bytestream/testfile1:
14038         * testsuite/caps/normalisation.c:
14039         * testsuite/caps/random.c: (main):
14040         * testsuite/cleanup/.cvsignore:
14041         * testsuite/cleanup/Makefile.am:
14042         * testsuite/cleanup/cleanup1.c:
14043         * testsuite/cleanup/cleanup2.c:
14044         * testsuite/cleanup/cleanup3.c:
14045         * testsuite/cleanup/cleanup4.c:
14046         * testsuite/cleanup/cleanup5.c:
14047         * testsuite/controller/interpolator.c:
14048         * testsuite/debug/printf_extension.c: (main):
14049         * testsuite/elements/tee.c:
14050         * testsuite/negotiation/.cvsignore:
14051         * testsuite/negotiation/Makefile.am:
14052         * testsuite/negotiation/pad_link.c:
14053         * testsuite/pad/Makefile.am:
14054         * testsuite/pad/chainnopull.c:
14055         * testsuite/pad/getnopush.c:
14056         * testsuite/pad/link.c:
14057         * testsuite/refcounting/sched.c: (create_pipeline):
14058         * testsuite/registry/Makefile.am:
14059         * testsuite/registry/gst-print-formats.c:
14060         * testsuite/schedulers/.cvsignore:
14061         * testsuite/schedulers/142183-2.c:
14062         * testsuite/schedulers/142183.c:
14063         * testsuite/schedulers/143777-2.c:
14064         * testsuite/schedulers/143777.c:
14065         * testsuite/schedulers/147713.c:
14066         * testsuite/schedulers/147819.c:
14067         * testsuite/schedulers/147894-2.c:
14068         * testsuite/schedulers/147894.c:
14069         * testsuite/schedulers/Makefile.am:
14070         * testsuite/schedulers/group_link.c:
14071         * testsuite/schedulers/queue_link.c:
14072         * testsuite/schedulers/relink.c:
14073         * testsuite/schedulers/unlink.c:
14074         * testsuite/schedulers/unref.c:
14075         * testsuite/schedulers/useless_iteration.c:
14076         * testsuite/states/bin.c:
14077           clean out/remove some stuff from the testsuite directories
14078
14079 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14080
14081         * configure.ac:
14082           check for some headers
14083         * gst/elements/Makefile.am:
14084         * gst/elements/gstelements.c:
14085           don't compile fdsrc without sys/socket.h
14086         * gst/indexers/Makefile.am:
14087         * gst/indexers/gstindexers.c: (plugin_init):
14088           don't compile fileindex without mmap
14089
14090 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14091
14092         * configure.ac:
14093           reorganize
14094           clean up
14095           document more
14096           remove cruft
14097         * check/Makefile.am:
14098         * docs/gst/Makefile.am:
14099         * examples/helloworld/Makefile.am:
14100         * gst/Makefile.am:
14101         * gst/base/Makefile.am:
14102         * gst/check/Makefile.am:
14103         * gst/elements/Makefile.am:
14104         * gst/indexers/Makefile.am:
14105         * gst/parse/Makefile.am:
14106         * libs/gst/controller/Makefile.am:
14107         * libs/gst/dataprotocol/Makefile.am:
14108         * examples/helloworld/helloworld.c: (event_loop):
14109           compile fixes, though it's not being compiled currently
14110
14111 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
14112
14113         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
14114           Add some simple tests for the new taglist date API.
14115
14116 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
14117
14118         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
14119         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
14120           Beautify 'last-message' output: print 'none' for buffer timestamps
14121           and durations if none is set; improve alignment with next messages.
14122
14123 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
14124
14125         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
14126         * gst/gstpluginfeature.h:
14127         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
14128         * gst/gstregistry.h:
14129         * docs/gst/gstreamer-sections.txt:
14130           Add new API to check plugin feature version requirements.
14131
14132         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
14133           Some basic tests for the above.         
14134
14135 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14136
14137         * gst/gststructure.c: (gst_structure_to_string):
14138           guard against NULL printf - happens when for example
14139           a message structure with GstClock gets serialized
14140
14141 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
14142
14143         * gst/base/gstcollectpads.c: (gst_collectpads_event):
14144           Fix presumable copy'n'pasto.
14145
14146 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14147
14148         * gst/elements/gstfakesrc.h:
14149         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
14150         * gst/elements/gsttypefindelement.c:
14151           fix some signedness
14152         * gst/elements/gstfilesink.c: (gst_file_sink_render):
14153           I wonder if this could actually write +2GB files before
14154
14155 2005-10-13  Andy Wingo  <wingo@pobox.com>
14156
14157         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
14158         Fix Timmeke Waymans bug.
14159         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
14160         string of the proper length to gst_caps_from_string. There's a
14161         potential for, before this fix, that this could cause someone
14162         connecting over the network to cause a segfault if the payload is
14163         not NUL-terminated.
14164
14165 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
14166
14167         * docs/design/draft-push-pull.txt:
14168         * docs/design/part-overview.txt:
14169         * docs/random/TODO-pre-0.9:
14170         * docs/random/old/ChangeLog.gstreamer:
14171         * gst/base/gstpushsrc.c:
14172         * gst/gstclock.c:
14173           fixed typos
14174
14175 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14176
14177         * gst/glib-compat.c: (gst_flags_get_first_value):
14178         * gst/glib-compat.h:
14179         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
14180         (gst_value_compare_double), (gst_value_serialize_flags):
14181           GLib 2.6 g_flags_get_first_value has a bug that triggers an
14182           infinite loop
14183
14184 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14185
14186         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14187         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14188           fix up debugging
14189         * tools/gst-launch.c: (event_loop):
14190           print out clock nicely
14191
14192 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
14193
14194         * docs/gst/gstreamer-sections.txt:
14195         * gst/gsttaglist.h:
14196         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
14197         (gst_tag_list_get_date_index):
14198           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
14199           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
14200
14201 2005-10-13  Julien MOUTTE  <julien@moutte.net>
14202
14203         * gst/base/gstcollectpads.c: (gst_collectpads_event),
14204         (gst_collectpads_chain):
14205         * gst/base/gstcollectpads.h: Handle newsegment and store informations
14206         in CollectData.
14207
14208 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
14209
14210         * docs/gst/gstreamer-sections.txt:
14211         * gst/gst.c:
14212         * gst/gsterror.h:
14213         * tools/gst-inspect.c: (main):
14214         * tools/gst-launch.c: (main):
14215         * tools/gst-run.c: (main):
14216         * tools/gst-xmlinspect.c: (main):
14217           fix GOption context leaks
14218           doc fixes
14219
14220 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14221
14222         * gst/gstbus.c:
14223           use HAVE_UNISTD_H
14224         * win32/common/config.h:
14225           update config
14226         * win32/vs6/grammar.dsp:
14227         * win32/vs6/libgstelements.dsp:
14228         * win32/vs6/libgstreamer.dsp:
14229           update vs6 files
14230
14231 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14232
14233         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14234         * gst/base/gstbasesrc.c: (gst_base_src_query):
14235           fix more guint64<->gdouble conversions
14236
14237 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14238
14239         * Makefile.am:
14240           add win32-update target
14241         * win32/common/gstconfig.h:
14242         * win32/common/gstenumtypes.c:
14243         * win32/common/gstenumtypes.h:
14244         * win32/common/gstversion.h:
14245           add files that visual studio can't generate
14246
14247 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14248
14249         * Makefile.am:
14250           add a win32-update target
14251         * configure.ac:
14252
14253 2005-10-12  Wim Taymans  <wim@fluendo.com>
14254
14255         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14256         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
14257         * gst/gstelement.c: (gst_element_commit_state),
14258         (gst_element_set_state):
14259         Protect flags with proper lock.
14260         unref provided cached clock in dispose.
14261
14262 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
14263
14264         * gst/gst.c:
14265         * gst/gstminiobject.h:
14266         * gst/gstpad.h:
14267         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
14268           removed unused flags from miniobject
14269           doc fixes
14270
14271 2005-10-12  Wim Taymans  <wim@fluendo.com>
14272
14273         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
14274         (gst_file_sink_event), (gst_file_sink_render):
14275         Flush before seeking.
14276
14277 2005-10-12  Andy Wingo  <wingo@pobox.com>
14278
14279         * gst/gst.c (gst_init_check): Ignore unknown options, as has
14280         always been the case.
14281
14282 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
14283
14284         * check/gst/gstbin.c: (GST_START_TEST):
14285         * docs/gst/gstreamer-sections.txt:
14286         * gst/base/gstbasesink.c: (gst_base_sink_init):
14287         * gst/base/gstbasesrc.c: (gst_base_src_init),
14288         (gst_base_src_get_range), (gst_base_src_check_get_range),
14289         (gst_base_src_start), (gst_base_src_stop):
14290         * gst/base/gstbasesrc.h:
14291         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
14292         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14293         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
14294         (bin_bus_handler):
14295         * gst/gstbin.h:
14296         * gst/gstbuffer.h:
14297         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
14298         * gst/gstbus.h:
14299         * gst/gstelement.c: (gst_element_is_locked_state),
14300         (gst_element_set_locked_state), (gst_element_commit_state),
14301         (gst_element_set_state):
14302         * gst/gstelement.h:
14303         * gst/gstindex.c: (gst_index_init):
14304         * gst/gstindex.h:
14305         * gst/gstminiobject.h:
14306         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
14307         (gst_object_set_parent):
14308         * gst/gstobject.h:
14309         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
14310         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
14311         * gst/gstpad.h:
14312         * gst/gstpadtemplate.h:
14313         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
14314         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
14315         * gst/gstpipeline.h:
14316         * gst/indexers/gstfileindex.c: (gst_file_index_load),
14317         (gst_file_index_commit):
14318         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
14319         * testsuite/pad/link.c: (gst_test_src_init),
14320         (gst_test_filter_init), (gst_test_sink_init):
14321         * testsuite/states/locked.c: (main):
14322           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
14323           moved bitshift from macro to enum definition
14324
14325 2005-10-12  Wim Taymans  <wim@fluendo.com>
14326
14327         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
14328         * gst/elements/gstfilesink.c: (gst_file_sink_event),
14329         (gst_file_sink_render):
14330         Some more debugging info.
14331
14332 2005-10-12  Wim Taymans  <wim@fluendo.com>
14333
14334         * docs/design/part-states.txt:
14335         * tools/gst-launch.c: (main):
14336         Some doc updates.
14337         Revert non-intentional change.
14338
14339 2005-10-12  Wim Taymans  <wim@fluendo.com>
14340
14341         * check/gst/gstbin.c: (GST_START_TEST):
14342         * check/gst/gstelement.c: (GST_START_TEST):
14343         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
14344         * check/gst/gstghostpad.c: (GST_START_TEST):
14345         * check/gst/gstpipeline.c: (GST_START_TEST):
14346         * check/pipelines/simple_launch_lines.c: (run_pipeline):
14347         * check/states/sinks.c: (GST_START_TEST):
14348         * gst/elements/gsttypefindelement.c: (stop_typefinding):
14349         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14350         (gst_bin_remove_func), (gst_bin_get_state_func),
14351         (gst_bin_recalc_state), (gst_bin_change_state_func),
14352         (bin_bus_handler):
14353         * gst/gstelement.c: (gst_element_get_state_func),
14354         (gst_element_get_state), (gst_element_abort_state),
14355         (gst_element_commit_state), (gst_element_set_state),
14356         (gst_element_change_state), (gst_element_change_state_func):
14357         * gst/gstelement.h:
14358         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
14359         (gst_pipeline_provide_clock_func):
14360         * gst/gstutils.c: (gst_element_link_pads_filtered):
14361         * tools/gst-launch.c: (main):
14362         * tools/gst-typefind.c: (main):
14363         Use GstClockTime in _get_state() instead of GTimeVal.
14364         Remove old code in gstutils.c
14365
14366 2005-10-12  Andy Wingo  <wingo@pobox.com>
14367
14368         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
14369         removed.
14370
14371         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
14372         there is no task. Shouldn't affect any code, as nothing in our
14373         plugins checks this return value.
14374         (gst_pad_stop_task): Also take the stream lock if the pad has no
14375         task. Docs updated.
14376
14377 2005-10-12  Wim Taymans  <wim@fluendo.com>
14378
14379         * gst/gstpad.c: (pre_activate), (post_activate),
14380         (gst_pad_activate_pull), (gst_pad_activate_push):
14381         Cleanup activation code. Reset old state if
14382         activation failed.
14383
14384 2005-10-12  Wim Taymans  <wim@fluendo.com>
14385
14386         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14387         (gst_base_sink_change_state):
14388         No need to prerol after receiving EOS.
14389
14390         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14391         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
14392         * gst/elements/gstidentity.c: (gst_identity_event):
14393         Print events more verbosely.
14394
14395 2005-10-12  Wim Taymans  <wim@fluendo.com>
14396
14397         * check/Makefile.am:
14398         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
14399         * check/states/sinks2.c:
14400         Moved sinks2 testcode in sinks check.
14401
14402         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14403         (gst_bin_remove_func), (gst_bin_recalc_state),
14404         (gst_bin_change_state_func), (bin_bus_handler):
14405         Fix potential race condition when _get_state() iterated over an
14406         ASYNC element right before it posted a state completion.
14407
14408         * gst/gstclock.h:
14409         Do proper cast here.
14410
14411         * gst/gstevent.c: (gst_event_new_newsegment),
14412         (gst_event_parse_newsegment):
14413         A playback rate of 0.0 is not allowed.
14414
14415 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14416
14417         * win32/common/config.h:
14418         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
14419         (_trewinddir), (_ttelldir), (_tseekdir):
14420         * win32/common/dirent.h:
14421         * win32/common/gtchar.h:
14422         * win32/common/libgstbase.def:
14423         * win32/common/libgstreamer.def:
14424         * win32/vs6/grammar.dsp:
14425         * win32/vs6/gst_inspect.dsp:
14426         * win32/vs6/gst_launch.dsp:
14427         * win32/vs6/gstreamer.dsw:
14428         * win32/vs6/libgstbase.dsp:
14429         * win32/vs6/libgstelements.dsp:
14430         * win32/vs6/libgstreamer.dsp:
14431           Visual Studio 6 project files, and a new common directory.
14432           Phear.
14433
14434 2005-10-11  Wim Taymans  <wim@fluendo.com>
14435
14436         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14437         (gst_base_sink_do_sync), (gst_base_sink_query),
14438         (gst_base_sink_change_state):
14439         * gst/base/gstbasesink.h:
14440         Correctly parse newsegment info.
14441
14442 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14443
14444         * gst/gst.c: (init_post):
14445           split plugin paths correctly
14446
14447 2005-10-11  Wim Taymans  <wim@fluendo.com>
14448
14449         * check/gst/gstevent.c: (GST_START_TEST):
14450         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14451         (gst_base_sink_change_state):
14452         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
14453         * gst/base/gstbasetransform.c: (gst_base_transform_event):
14454         * gst/elements/gstfilesink.c: (gst_file_sink_event):
14455         * gst/gstevent.c: (gst_event_new_newsegment),
14456         (gst_event_parse_newsegment):
14457         * gst/gstevent.h:
14458         Added extra flag to newsegment for future API freeze.
14459         Updated check and base elements.
14460
14461 2005-10-11  Julien MOUTTE  <julien@moutte.net>
14462
14463         * gst/base/gstcollectpads.c: (gst_collectpads_init),
14464         (gst_collectpads_add_pad), (gst_collectpads_pop),
14465         (gst_collectpads_event), (gst_collectpads_chain):
14466         * gst/base/gstcollectpads.h: Handle EOS correctly.
14467
14468 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14469
14470         * tools/gst-launch.c: (main):
14471           more null protecting
14472
14473 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14474
14475         * gst/gst-i18n-lib.h:
14476           check for ENABLE_NLS, not GETTEXT_PACKAGE
14477         * gst/gstregistry.c: (gst_registry_add_plugin),
14478         (gst_registry_scan_path_level),
14479         (_gst_registry_remove_cache_plugins):
14480           protect possibly NULL strings
14481         * gst/parse/types.h:
14482           config.h already included before
14483         * tools/gst-inspect.c: (main):
14484           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
14485           check for ENABLE_NLS, not GETTEXT_PACKAGE
14486         * tools/gst-launch.c: (main):
14487           check for ENABLE_NLS, not GETTEXT_PACKAGE
14488
14489 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14490
14491         * configure.ac:
14492           if we don't have glib, fail before testing 2.8
14493         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
14494           fix a leak, should fix plugins-base testsuite
14495
14496 2005-10-11  Andy Wingo  <wingo@pobox.com>
14497
14498         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
14499         take the mode we're going to as an arg. Go head and set the mode
14500         and flushing flags now, so that if the activate function starts a
14501         thread all the flags will be in the right state.
14502         (post_activate): Renamed also. Just handle making sure streaming
14503         finishes for the deactivation case, and setting the deactivated
14504         mode.
14505         (gst_pad_set_active): Complain loudly if deactivation fails.
14506         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
14507         (gst_pad_activate_push): Adapt to pre/post_activate changes,
14508         remove the terrible hack.
14509
14510 2005-10-11  Wim Taymans  <wim@fluendo.com>
14511
14512         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14513         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
14514         (gst_bin_recalc_state), (gst_bin_change_state_func),
14515         (gst_bin_dispose), (bin_bus_handler):
14516         * gst/gstbin.h:
14517         Prepare to make current EOS message queue more generic.
14518         Fix some typos.
14519
14520         * gst/gstevent.c: (gst_event_new_newsegment),
14521         (gst_event_parse_newsegment):
14522         * gst/gstevent.h:
14523         Rename base to stream_time.
14524
14525         * gst/gstmessage.h:
14526         Fix typo in docs.
14527
14528 2005-10-11  Wim Taymans  <wim@fluendo.com>
14529
14530         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14531         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
14532         (gst_bin_change_state_func), (bin_bus_handler):
14533         * gst/gstbin.h:
14534         Work on proper clock selection.
14535
14536 2005-10-11  Edward Hervey  <edward@fluendo.com>
14537
14538         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
14539         * libs/gst/controller/gstcontroller.h:
14540         Added GList* version of _remove_properties() in order to be able to wrap
14541         it in bindings.
14542
14543 2005-10-11  Wim Taymans  <wim@fluendo.com>
14544
14545         * docs/design/part-states.txt:
14546         Some more docs.
14547
14548         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
14549         (gst_bin_change_state_func), (bin_bus_handler):
14550         Doc updates. Don't distribute the same clock over and over again.
14551
14552         * gst/gstclock.c:
14553         * gst/gstclock.h:
14554         Doc updates.
14555
14556         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
14557         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
14558         (gst_pad_send_event):
14559         * gst/gstpad.h:
14560         Make probe emission threadsafe again.
14561         Register quarks and move _get_name() from utils.
14562         Doc updates.
14563
14564         * gst/gstpipeline.c: (gst_pipeline_class_init),
14565         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14566         Only redistribute the clock of it changed.
14567
14568         * gst/gstsystemclock.h:
14569         Doc updates. 
14570
14571         * gst/gstutils.c:
14572         * gst/gstutils.h:
14573         Moved the _flow_get_name() to GstPad.
14574
14575 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14576
14577         * check/gst-libs/gdp.c: (GST_START_TEST):
14578         * check/gst/gstcaps.c: (GST_START_TEST):
14579         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
14580         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
14581         (gst_dp_packet_from_caps):
14582           fix more valgrind warnings before turning up the heat
14583
14584 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14585
14586         * gst/parse/grammar.y:
14587           some cleanup before the hacking
14588
14589 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14590
14591         * gst/base/gstbasesrc.c: (gst_base_src_query):
14592           use conversions
14593         * gst/gstutils.c: (gst_guint64_to_gdouble),
14594         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
14595         * gst/gstutils.h:
14596           externalize, basesrc uses it
14597           obviously the implementation needs testing
14598
14599 2005-10-10  Wim Taymans  <wim@fluendo.com>
14600
14601         * tests/sched/Makefile.am:
14602         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
14603         (make_pipeline3), (make_pipeline4), (print_elem), (main):
14604
14605 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14606
14607         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
14608           apparently converting from guint64 to double is not implemented
14609           on MSVC
14610
14611 2005-10-10  Wim Taymans  <wim@fluendo.com>
14612
14613         * check/Makefile.am:
14614         * check/generic/states.c: (GST_START_TEST):
14615         * check/gst/gstbin.c: (GST_START_TEST):
14616         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14617         * check/states/sinks.c: (GST_START_TEST):
14618         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
14619         (main):
14620         Check fixes, use API as stated in design docs, remove hacks.
14621
14622         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14623         (gst_base_sink_change_state):
14624         Catch stopping our task while we're shutting down.
14625
14626         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
14627         (gst_bin_remove_func), (gst_bin_get_state_func),
14628         (gst_bin_recalc_state), (gst_bin_change_state_func),
14629         (bin_bus_handler):
14630         * gst/gstbin.h:
14631         * gst/gstelement.c: (gst_element_init),
14632         (gst_element_get_state_func), (gst_element_abort_state),
14633         (gst_element_commit_state), (gst_element_lost_state),
14634         (gst_element_set_state), (gst_element_change_state),
14635         (gst_element_change_state_func):
14636         * gst/gstelement.h:
14637         New state change algorithm (see #318116)
14638
14639         * gst/gstpipeline.c: (gst_pipeline_class_init),
14640         (gst_pipeline_init), (gst_pipeline_set_property),
14641         (gst_pipeline_get_property), (do_pipeline_seek),
14642         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14643         * gst/gstpipeline.h:
14644         Remove crude state change hacks.
14645
14646         * gst/gstutils.h:
14647         Remove crude hacks.
14648
14649         * tools/gst-launch.c: (main):
14650         Fixes for state change. Needs some more work to fully use the
14651         new stuff.
14652
14653 2005-10-10  Andy Wingo  <wingo@pobox.com>
14654
14655         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
14656
14657         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
14658         this flag, but it's not even in GLib 2.6. Odd. Hack around the
14659         issue.
14660
14661 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14662
14663         * gst/gstiterator.c: (gst_iterator_new):
14664           Fix my previous commit: GTypes passed to gst_iterator_new()
14665           can be fundamental types.
14666
14667 2005-10-10  Wim Taymans  <wim@fluendo.com>
14668
14669         * gst/gstelement.c: (gst_element_iterate_pad_list),
14670         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
14671         (gst_element_iterate_sink_pads):
14672         Use src/sink pads lists for the respective iterators instead
14673         of filtering.
14674
14675 2005-10-10  Andy Wingo  <wingo@pobox.com>
14676
14677         Merged in popt removal + GOption addition patch from Ronald, bug
14678         #169772.
14679
14680         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
14681         GstElement macros around, remove popt-related symbols, add goption
14682         stuff.
14683
14684         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
14685         
14686         * docs/gst/Makefile.am:
14687         * docs/libs/Makefile.am: No POPT_CFLAGS.
14688         
14689         * examples/manual/Makefile.am:
14690         * docs/manual/basics-init.xml: Doc updates with an example.
14691         
14692         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
14693         (gst_init), (parse_one_option), (parse_goption_arg):
14694         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
14695         bit of hand merging and debugging to get the GOption stuff working
14696         tho.
14697         
14698         * tests/Makefile.am:
14699         * tools/Makefile.am:
14700         * tools/gst-inspect.c: (main):
14701         * tools/gst-launch.c: (main):
14702         * tools/gst-run.c: (main):
14703         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
14704
14705 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14706
14707         * gst/gstiterator.c: (gst_iterator_new):
14708           Add assertions to make sure passed GType is likely to really
14709           be a GType (as the compiler won't catch it if the size and
14710           GType arguments get mixed up, see #318447).
14711
14712 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
14713
14714         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14715
14716         * gst/gstbin.c: (gst_bin_iterate_sorted):
14717           Pass GType and size arguments to gst_iterator_new() in the right
14718           order (maybe we should make _new() take the GType as first argument
14719           just like _new_list()?) (#318447).
14720           
14721
14722 2005-10-10  Wim Taymans  <wim@fluendo.com>
14723
14724         * gst/gstelement.c: (gst_element_finalize):
14725         And free the GStaticRecMutex too
14726
14727 2005-10-10  Andy Wingo  <wingo@pobox.com>
14728
14729         * gst/gstelement.c (gst_element_init, gst_element_finalize):
14730         Allocate and free the mutex properly.
14731
14732         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
14733         New macros.
14734         (GstElement): The state_lock is now recursive. Rebuild your
14735         plugins, suckers. Old macros adapted.
14736
14737         * docs/gst/gstreamer-sections.txt: Doc updates.
14738
14739         * gst/gstutils.h:
14740         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
14741         (g_static_rec_cond_wait): Ported from state changes patch, while
14742         we wait on bug #317802 to be solved in a well-distributed GLib.
14743
14744         * gst/gstelement.c (gst_element_change_state_func): Renamed from
14745         gst_element_change_state, variable name changes.
14746         (gst_element_change_state): Split out of gst_element_set_state in
14747         preparation for the state change merge. Doesn't pay attention to
14748         the 'transition' argument.
14749         (gst_element_set_state): Updates, hopefully purely cosmetic.
14750         (gst_element_sync_state_with_parent): MT-safety. Ported from the
14751         state change patch.
14752         (gst_element_get_state_func): Renamed from get_state, cosmetic
14753         changes.
14754
14755 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14756
14757         * gst/elements/gstelements.c:
14758         * win32/GStreamer.vcproj:
14759         * win32/config.h:
14760         * win32/dirent.c: (_tseekdir):
14761         * win32/gst-inspect.vcproj:
14762         * win32/gst-launch.vcproj:
14763         * win32/gstconfig.h:
14764         * win32/gstelements.vcproj:
14765         * win32/gstenumtypes.c: (gst_object_flags_get_type):
14766         * win32/gstreamer.def:
14767         * win32/msvc71.sln:
14768           updates for the win32 build (patch from Sebastien Moutte)
14769
14770 2005-10-10  Andy Wingo  <wingo@pobox.com>
14771
14772         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
14773         gst_bin_get_state, cleaned up (but no logic changes).
14774         (bin_element_is_sink): Comment updates.
14775         (sink_iterator_filter): Remove needless cast.
14776         (gst_bin_iterate_sinks): Doc update.
14777         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
14778         cleaned up (but no logic changes).
14779
14780         * check/states/sinks.c (test_src_sink): Cleanups from the state
14781         change patch.
14782         (test_livesrc_sink): Sync on the state.
14783
14784         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
14785         the state change patch.
14786
14787         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
14788         change patch.
14789
14790         * check/gst/gstbin.c: Merge in some style fixes and additional
14791         checks from Wim's state change patch.
14792
14793 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14794
14795         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14796         (gst_type_find_helper):
14797           Check whether we have the requested data already in our list of
14798           cached buffers before pulling a new buffer; also make the buffer
14799           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
14800
14801 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14802
14803         * gst/gstcaps.c:
14804         * gst/gstevent.c:
14805           doc updates
14806         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14807           don't use long long, it's not portable.  Replacing with
14808           gint64 seems to work; let's hope no skeletons fall out of the closet.
14809
14810 2005-10-10  Andy Wingo  <wingo@pobox.com>
14811
14812         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
14813
14814 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
14815
14816         * docs/gst/gstreamer-sections.txt:
14817         * gst/gstevent.c:
14818         * gst/gstevent.h:
14819         * gst/gstinfo.c:
14820         * gst/gstinfo.h:
14821         * gst/gstmessage.c: (gst_message_parse_state_changed):
14822         * gst/gstpad.c:
14823         * gst/gstpad.h:
14824           more docs, fix compilation
14825
14826 2005-10-09  Philippe Khalaf <burger@speedy.org>
14827         * gst/gstmessage.c:
14828           Fixed a few forgotten variables on previous commit
14829
14830 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
14831
14832         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14833           Fix evil typefind crasher: getrange() might return a short
14834           buffer at the end of a file, but gst_type_find_peek() must
14835           either return the full data as requested or NULL, but
14836           never a short buffer.
14837
14838 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14839
14840         * gst/gstmessage.c: (gst_message_new_state_changed),
14841         (gst_message_parse_state_changed):
14842         * gst/gstmessage.h:
14843           don't use "new", it's a C++ keyword
14844
14845 2005-10-08  Wim Taymans  <wim@fluendo.com>
14846
14847         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
14848         * gst/gstelement.c: (gst_element_post_message):
14849         * gst/gstpipeline.c: (gst_pipeline_change_state):
14850         Small docs and debug updates.
14851
14852 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14853
14854         * docs/gst/gstreamer-sections.txt:
14855         * gst/gstelementfactory.c:
14856         * gst/gstevent.c:
14857         * gst/gsttaglist.c:
14858           more docs
14859
14860 2005-10-08  Wim Taymans  <wim@fluendo.com>
14861
14862         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
14863         (gst_bin_dispose), (bin_bus_handler):
14864         Fix typos, add comments.
14865         Clear EOS list when going to PAUSED from any direction and do it
14866         in a threadsafe way.
14867         Get base time in a threadsafe way too.
14868         Fix confusing debug in the change_state function.
14869         Various other small cleanups.
14870         
14871         * gst/gstelement.c: (gst_element_post_message):
14872         Fix very verbose bus posting code.
14873
14874         * gst/gstpipeline.c: (gst_pipeline_class_init),
14875         (gst_pipeline_set_property), (gst_pipeline_get_property),
14876         (gst_pipeline_change_state):
14877         Small ARG_ -> PROP_ cleanup
14878
14879 2005-10-08  Wim Taymans  <wim@fluendo.com>
14880
14881         * gst/gstbin.c: (is_eos), (bin_bus_handler):
14882         Do a less CPU demanding EOS check because we can.
14883
14884 2005-10-08  Wim Taymans  <wim@fluendo.com>
14885
14886         * libs/gst/dataprotocol/dataprotocol.c:
14887         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14888         (gst_dp_packet_from_event):
14889         * libs/gst/dataprotocol/dataprotocol.h:
14890         * libs/gst/dataprotocol/dp-private.h:
14891         It's about time we bump the version number.
14892         Since event types don't fit in the guint8 anymore describing
14893         the payload type, make payload type 16 bits wide.
14894
14895 2005-10-08  Wim Taymans  <wim@fluendo.com>
14896
14897         * docs/design/part-TODO.txt:
14898         * docs/design/part-clocks.txt:
14899         * docs/design/part-events.txt:
14900         * docs/design/part-gstbin.txt:
14901         * docs/design/part-gstelement.txt:
14902         * docs/design/part-gstpipeline.txt:
14903         * docs/design/part-live-source.txt:
14904         * docs/design/part-messages.txt:
14905         * docs/design/part-overview.txt:
14906         * docs/design/part-states.txt:
14907         Many doc updates.
14908
14909 2005-10-08  Wim Taymans  <wim@fluendo.com>
14910
14911         * gst/gstevent.c:
14912         * gst/gstevent.h:
14913         Fix event quark registration.
14914         Add some space between events so we can insert them in the
14915         right groups.
14916
14917 2005-10-08  Wim Taymans  <wim@fluendo.com>
14918
14919         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14920         (gst_base_sink_handle_buffer):
14921         Better log message.
14922
14923         * gst/gstbus.h:
14924         * gst/gstelement.h:
14925         More docs.
14926
14927         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14928         (gst_queue_set_property), (gst_queue_get_property):
14929         * gst/gstqueue.h:
14930         Remove old unused properties.
14931
14932 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14933         * docs/gst/gstreamer-sections.txt:
14934         * gst/gstmessage.c:
14935         * gst/gstmessage.h:
14936         * gst/gstminiobject.c:
14937         * gst/gstminiobject.h:
14938         * gst/gstobject.h:
14939         * gst/gstpad.h:
14940         * gst/gstutils.h:
14941           lots of new docs and doc fixes
14942
14943 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14944
14945         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
14946         * gst/gstplugin.h:
14947         * gst/gstregistry.c: (gst_registry_lookup_locked),
14948         (gst_registry_scan_path_level):
14949         * gst/gstregistryxml.c: (load_plugin):
14950           Only ever load one plugin for a given plugin basename.
14951           This ensures correct overriding of GST_PLUGIN_PATH over
14952           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
14953           system installed plugins.
14954
14955 2005-10-08  Wim Taymans  <wim@fluendo.com>
14956
14957         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14958         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
14959         Prepare for doing QOS.
14960
14961 2005-10-08  Wim Taymans  <wim@fluendo.com>
14962
14963         * check/gst/gstbin.c: (GST_START_TEST):
14964         * check/pipelines/cleanup.c: (GST_START_TEST):
14965         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14966         Allow new clock message too.
14967
14968 2005-10-08  Wim Taymans  <wim@fluendo.com>
14969
14970         * gst/gstmessage.c: (gst_message_new_error),
14971         (gst_message_new_warning), (gst_message_new_tag),
14972         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14973         (gst_message_new_clock_lost), (gst_message_new_new_clock),
14974         (gst_message_new_segment_start), (gst_message_new_segment_done),
14975         (gst_message_parse_state_changed),
14976         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
14977         (gst_message_parse_new_clock):
14978         * gst/gstmessage.h:
14979         Also carry the clock in question.
14980
14981 2005-10-08  Wim Taymans  <wim@fluendo.com>
14982
14983         * gst/gstmessage.c: (gst_message_new_custom),
14984         (gst_message_new_eos), (gst_message_new_error),
14985         (gst_message_new_warning), (gst_message_new_tag),
14986         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14987         (gst_message_new_new_clock), (gst_message_new_segment_start),
14988         (gst_message_new_segment_done), (gst_message_parse_state_changed),
14989         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
14990         * gst/gstmessage.h:
14991         Clean up.
14992         Added clock related messages.
14993
14994         * gst/gstpipeline.c: (gst_pipeline_change_state):
14995         Post message when the clock changed.
14996
14997         * tools/gst-launch.c: (event_loop):
14998         Print new clock.
14999
15000 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
15001
15002         * tools/gst-inspect.c: (print_element_properties_info):
15003           Can't pass NULL strings to g_print() on windows.
15004
15005 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15006
15007         * docs/Makefile.am:
15008         * docs/gst/Makefile.am:
15009         * docs/gst/gstreamer-docs.sgml:
15010         * docs/gst/running.xml:
15011         * docs/version.entities.in:
15012           add a chapter on running GStreamer.
15013           document GST_DEBUG and GST_PLUGIN* env vars
15014
15015 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15016
15017         * Makefile.am:
15018           remove include dir
15019         * configure.ac:
15020           remove PLUGINS_BUILDDIR stuff
15021         * gst/gst.c: (init_post):
15022           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
15023         * idiottest.mak:
15024           remove, it was condescending and not needed
15025
15026 2005-10-08  Wim Taymans  <wim@fluendo.com>
15027
15028         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
15029         (gst_base_sink_handle_object), (gst_base_sink_event),
15030         (gst_base_sink_wait), (gst_base_sink_handle_event),
15031         (gst_base_sink_change_state):
15032         * gst/base/gstbasesink.h:
15033         Repost EOS message while going to PLAYING if still EOS.
15034         Make sure that when receiving a FLUSH_START we don't attempt
15035         to sync on the clock anymore.
15036
15037 2005-10-08  Wim Taymans  <wim@fluendo.com>
15038
15039         * tools/gst-launch.c: (event_loop):
15040         Better message printout.
15041
15042 2005-10-08  Wim Taymans  <wim@fluendo.com>
15043
15044         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
15045         (gst_bin_child_proxy_get_children_count):
15046         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
15047         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
15048         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
15049         (gst_child_proxy_set_valist):
15050         * gst/parse/grammar.y:
15051         Make ChildProxy threadsafe and fix mem leaks.
15052
15053 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15054
15055         * gst/gst.c: (init_post):
15056           debug the GST_PLUGIN_ env vars
15057
15058 2005-10-08  Wim Taymans  <wim@fluendo.com>
15059
15060         * check/gst/gstbin.c: (GST_START_TEST):
15061         * check/gst/gstmessage.c: (GST_START_TEST):
15062         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
15063         * gst/gstelement.c: (gst_element_commit_state),
15064         (gst_element_lost_state):
15065         * gst/gstmessage.c: (gst_message_new_state_changed),
15066         (gst_message_parse_state_changed):
15067         * gst/gstmessage.h:
15068         * tools/gst-launch.c: (event_loop):
15069         Added extra field to STATE_CHANGE message with the pending
15070         state, which will be different from the new state soon.
15071
15072 2005-10-08  Wim Taymans  <wim@fluendo.com>
15073
15074         * gst/gstbus.c: (gst_bus_pop):
15075         * gst/gstclock.c:
15076         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
15077         Small cleanups and doc updates.
15078
15079 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15080
15081         * gst/gst.c: (init_pre):
15082         * gst/gstbin.c: (gst_bin_add_func):
15083           log distributing clocks and base time
15084         * gst/gstregistry.c: (gst_registry_add_plugin),
15085         (gst_registry_scan_path_level), (gst_registry_scan_path):
15086           clean up the debugging output a little
15087         * gst/gstutils.c: (gst_element_state_get_name):
15088           warn about a memleak (I've actually seen this be used, though
15089           it was probably a bug)
15090
15091 2005-10-07  Wim Taymans  <wim@fluendo.com>
15092
15093         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15094         (gst_base_src_init), (gst_base_src_default_newsegment),
15095         (gst_base_src_newsegment), (gst_base_src_do_seek),
15096         (gst_base_src_loop), (gst_base_src_start):
15097         * gst/base/gstbasesrc.h:
15098         Make the newsegment event customizable by subclasses.
15099
15100 2005-10-07  Wim Taymans  <wim@fluendo.com>
15101
15102         * gst/gstevent.c: (gst_event_new_buffersize),
15103         (gst_event_parse_buffersize):
15104         * gst/gstevent.h:
15105         New event for future idea.
15106
15107 2005-10-07  Andy Wingo  <wingo@pobox.com>
15108
15109         * gst/gstelement.c (gst_element_post_message): Doc update.
15110
15111         * docs/gst/gstreamer-sections.txt: Update.
15112
15113         * gst/gstmessage.c (gst_message_new_application): Made into a
15114         function like honest API calls.
15115         (gst_message_new_element): New message type.
15116
15117         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
15118
15119         * check/elements/fakesrc.c (test_no_preroll): New check, checks
15120         that setting a live fakesrc to PAUSED returns NO_PREROLL both
15121         times.
15122
15123         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
15124         NO_PREROLL from gst_element_change_state to fall through.
15125
15126 2005-10-07  Wim Taymans  <wim@fluendo.com>
15127
15128         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
15129         (gst_ghost_pad_do_activate_push):
15130         Activating a ghostpad with no internal pad in push mode
15131         is ok.
15132
15133 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15134
15135         * gst/gstobject.h:
15136           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
15137           Fixes compilation on Windows.
15138
15139 2005-10-07  Michael Smith <msmith@fluendo.com>
15140
15141         * tools/gst-inspect.c:
15142           Print out feature and plugin count at the end when printing out
15143           all features.
15144
15145 2005-10-04  Michael Smith <msmith@fluendo.com>
15146
15147         * gst/gsterror.c: (_gst_stream_errors_init):
15148           Add another error string used in a few existing plugins.
15149
15150         * gst/gstplugin.c:
15151         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15152         * tools/gst-inspect.c: (print_element_info):
15153           When a feature disappears from a plugin (and the feature exists in
15154           the cached registry file), things went horribly wrong. This isn't a
15155           complete fix, we should actually be removing the 'missing' features
15156           from the features list when we load the actual plugin. That's not
15157           yet implemented. 
15158
15159 2005-10-04  Johan Dahlin  <johan@gnome.org>
15160
15161         * check/gst/gstiterator.c: (GST_START_TEST):
15162         * gst/gstbin.c: (gst_bin_iterate_elements),
15163         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
15164         * gst/gstelement.c: (gst_element_iterate_pads):
15165         * gst/gstformat.c: (gst_format_iterate_definitions):
15166         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
15167         (gst_iterator_new_list), (gst_iterator_filter):
15168         * gst/gstiterator.h:
15169         * gst/gstquery.c: (gst_query_type_iterate_definitions):
15170         Add a GType to GstIterator, update callsites and tests.
15171
15172 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15173
15174         * gst/gstpad.c: (gst_pad_event_default_dispatch):
15175           give events a chance to be handled by event probes when the pad
15176           is not linked
15177
15178 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15179
15180         * gst/gstevent.c: (gst_event_type_get_name),
15181         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
15182         * gst/gstevent.h:
15183           add string representations for event types
15184
15185 2005-10-06  Wim Taymans  <wim@fluendo.com>
15186
15187         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
15188         Don't use NULL pointers.
15189
15190 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15191
15192         * gst/gst_private.h:
15193         * gst/gstbus.c:
15194         * gst/gstelement.c:
15195         * gst/gstinfo.c:
15196         * gst/gstpluginfeature.c:
15197           widen the debug category in output to fit the biggest one we have
15198           add a bus category and use it
15199           play with the colors
15200           fix up some categories
15201
15202 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15203
15204         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
15205           add push activation of sink ghost pads.
15206           Andye, please verify
15207
15208 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15209
15210         * gst/gstutils.c: (gst_element_link_pads):
15211           fix a bug in the case where neither element has a pad
15212         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15213           add a test for that case
15214
15215 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15216
15217         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
15218           emit have-data before checking for peers.  This allows
15219           for probe handlers to connect elements.  This helps autopluggers.
15220         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
15221         (gst_pad_suite):
15222           add six checks, linked/unlinked with no/true/false probe
15223
15224 2005-10-04  Wim Taymans  <wim@fluendo.com>
15225
15226         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
15227         (gst_fake_sink_event), (gst_fake_sink_preroll),
15228         (gst_fake_sink_render), (gst_fake_sink_change_state):
15229         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
15230         (gst_fake_src_get_property), (gst_fake_src_create),
15231         (gst_fake_src_stop):
15232         * gst/elements/gstidentity.c: (gst_identity_stop):
15233         Protect last_message with lock.
15234
15235 2005-10-04  Edward Hervey  <edward@fluendo.com>
15236
15237         * gst/gstformat.h: 
15238         Added precision in the comments for GST_FORMAT_DEFAULT
15239
15240 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
15241
15242         * tools/gst-launch.c: (main):
15243           Don't try to run erroneous pipelines.
15244
15245 2005-10-04  Julien MOUTTE  <julien@moutte.net>
15246
15247         * gst/gstbus.c: We don't need this header.
15248
15249 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15250
15251         * configure.ac:
15252           back to development
15253
15254 === release 0.9.3 ===
15255
15256 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15257
15258         * README:
15259         * configure.ac:
15260           Releasing 0.9.3, "Unregistered"
15261
15262 2005-10-03  Andy Wingo  <wingo@pobox.com>
15263
15264         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
15265         whereby calling a pad's activatepush() function can start a thread
15266         that starts to push or pull before the pad gets the FLUSHING flag
15267         unset. Hack around it by holding the stream lock until the flag is
15268         set. Need to replace this with a proper solution. Together with
15269         the ghost pad fixes, this fixes mp3 playing/tagreading.
15270
15271         * docs/design/part-gstghostpad.txt: Add a note about activation of
15272         proxy pads outside of ghost pads.
15273
15274         * gst/gstghostpad.c: Implement the ghost pad activation design.
15275
15276 2005-10-02  Andy Wingo  <wingo@pobox.com>
15277
15278         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
15279         It is volatile, after all.
15280
15281         * docs/design/part-gstghostpad.txt: Flesh out activation with
15282         ghost pads.
15283
15284         * gst/base/gstbasesrc.c (gst_base_src_init): Use
15285         GST_DEBUG_FUNCPTR.
15286
15287 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
15288
15289         * configure.ac:
15290           Fix (unused) AM_CONDITIONAL tests.
15291
15292 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
15293
15294         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15295
15296         * gst/gstutils.c: (gst_pad_query_convert):
15297           Add assertion that makes sure src_val is >=0, just like
15298           gst_query_new_convert() has. (#315895)
15299
15300 2005-09-30  Edward Hervey  <edward@fluendo.com>
15301
15302         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
15303         Let's not iterate pads we're not interested in, it avoids getting 
15304         sky-high refcounts on sinkpad.
15305
15306 2005-09-30  Wim Taymans  <wim@fluendo.com>
15307
15308         * gst/gstelement.c: (gst_element_set_state),
15309         (gst_element_change_state):
15310         Small tweak, element in ASYNC remains ASYNC.
15311
15312 2005-09-30  Wim Taymans  <wim@fluendo.com>
15313
15314         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
15315         Only error is an error.
15316
15317         * gst/gstbin.c: (gst_bin_change_state):
15318         Better debugging.
15319
15320         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
15321         Also call pad_block in pad alloc.
15322
15323         * gst/gstutils.c: (gst_flow_get_name):
15324         Better debugging.
15325
15326 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15327
15328         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15329         (gst_base_src_get_range):
15330           Fix documentation typos. Add some more debug info.
15331
15332 2005-09-29  David Schleef  <ds@schleef.org>
15333
15334         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
15335           more end-user friendly.
15336         * tools/gst-inspect.c: (main): Check if command-line argument is
15337           a file and attempt to load that file as a plugin.
15338
15339 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15340
15341         * check/gst/gstbin.c:
15342         * check/states/sinks.c:
15343           fix tests for the new warning
15344         * check/gst/gstpipeline.c:
15345           add a test for pipeline and bus interaction
15346         * gst/gstelement.c:
15347           elements should be NULL if they get disposed; add a warning if not
15348
15349 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15350
15351         * gst/gstobject.c:
15352           for 2.6 refcounting, make debug log more correct by printing
15353           the actual refcounts at the time of swap (Wim)
15354
15355 2005-09-29  Andy Wingo  <wingo@pobox.com>
15356
15357         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
15358         removes signal watches previously added via
15359         gst_bus_add_signal_watch.
15360         (gst_bus_add_signal_watch): Don't return the source id, just store
15361         it on the bus if there wasn't an id already.
15362
15363         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
15364         add_signal_watch and remove_signal_watch.
15365
15366 2005-09-29  Edward Hervey  <edward@fluendo.com>
15367
15368         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
15369         Better if we actually iterate the list :)
15370
15371 2005-09-29  Wim Taymans  <wim@fluendo.com>
15372
15373         * check/gst/gstbin.c: (GST_START_TEST):
15374         Change for new bus API.
15375
15376         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
15377         (send_messages), (GST_START_TEST), (gstbus_suite):
15378         Change for new bus signal API.
15379
15380         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
15381         (gst_bus_source_prepare), (gst_bus_source_check),
15382         (gst_bus_create_watch), (gst_bus_add_watch_full),
15383         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
15384         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
15385         * gst/gstbus.h:
15386         Remove support for multiple GSources operating on different
15387         message types as it is too complex and unneeded when using
15388         signals.
15389         Added support for receiving signals from the bus.
15390
15391 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15392
15393         * docs/libs/tmpl/gstdataprotocol.sgml:
15394         * docs/manual/advanced-dataaccess.xml:
15395         * gst/elements/gstcapsfilter.c:
15396         * gst/gstutils.c:
15397           rename filter-caps to caps property
15398
15399 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15400
15401         * gst/gstvalue.c: (gst_value_deserialize_fraction):
15402           More robust fraction string parsing.
15403
15404         * docs/pwg/appendix-porting.xml:
15405           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
15406
15407 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15408
15409         * gst/gstcaps.c: (gst_caps_do_simplify):
15410           Thou shalt not free a structure and then continue using it
15411           in the next loop iteration.
15412
15413         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
15414         (gst_caps_suite):
15415           Add test case for caps simplification.
15416
15417 2005-09-29  Wim Taymans  <wim@fluendo.com>
15418
15419         * check/gst/gstbin.c: (GST_START_TEST):
15420         Oops.
15421
15422 2005-09-29  Wim Taymans  <wim@fluendo.com>
15423
15424         * check/gst/gstbin.c: (GST_START_TEST):
15425         Add bus to bin.
15426
15427         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
15428         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15429         (find_element), (gst_bin_sort_iterator_next),
15430         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15431         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15432         (gst_bin_change_state), (gst_bin_dispose):
15433         A bin does not have a bus, it gets the bus from the parent.
15434
15435         * gst/gstelement.c: (gst_element_requires_clock),
15436         (gst_element_provides_clock), (gst_element_is_indexable),
15437         (gst_element_is_locked_state), (gst_element_change_state),
15438         (gst_element_set_bus_func):
15439         Small cleanups.
15440
15441         * gst/gstpipeline.c: (gst_pipeline_class_init),
15442         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
15443         The pipeline provides a bus.
15444
15445 2005-09-28  Johan Dahlin  <johan@gnome.org>
15446
15447         * gst/gstmessage.c (gst_message_parse_state_changed): Use
15448         gst_structure_get_enum instead of gst_structure_get_int
15449
15450         * gst/gststructure.c (gst_structure_get_enum): Impl.
15451
15452         * gst/gststructure.h (gst_structure_get_enum): Add
15453
15454         * docs/gst/gstreamer-sections.txt: Ditto
15455
15456         * gst/gstmessage.c (gst_message_new_state_changed): Use
15457         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
15458         which does introspection.
15459         Reviewed by Christian Schaller
15460
15461 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
15462
15463         * gst/gstinfo.c: (gst_debug_log_default):
15464           don't do dummy g_strdup()s
15465         * libs/gst/controller/gstcontroller.c:
15466         (on_object_controlled_property_changed),
15467         (gst_controlled_property_new), (gst_controller_new_valist),
15468         (gst_controller_new_list),
15469         (gst_controller_remove_properties_valist), (gst_controller_set),
15470         (gst_controller_get), (gst_controller_sync_values),
15471         (gst_controller_get_value_array), (_gst_controller_class_init),
15472         (gst_controller_get_type):
15473         * libs/gst/controller/gstcontroller.h:
15474         * libs/gst/controller/gstinterpolation.c:
15475         (gst_controlled_property_find_timed_value_node):
15476           convert // to /**/ comments
15477
15478 2005-09-28  Wim Taymans  <wim@fluendo.com>
15479
15480         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
15481         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
15482         (gst_bus_sync_signal_handler):
15483         * gst/gstbus.h:
15484         Added async-message and sync-message signals to the bus.
15485         Added helper BusFunc to emit signals for all posted messages.
15486
15487         * gst/gstmessage.c: (gst_message_type_get_name),
15488         (gst_message_type_to_quark), (gst_message_get_type):
15489         * gst/gstmessage.h:
15490         Register quarks for message names.
15491
15492 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
15493
15494         * docs/libs/gstreamer-libs-sections.txt:
15495         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
15496         (gst_controller_new_list):
15497         * libs/gst/controller/gstcontroller.h:
15498           added another constructor for language bindings
15499
15500 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15501
15502         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
15503           add another check
15504         * gst/gstbus.c:
15505           add some doc
15506         * gst/gstinfo.c: (_gst_debug_init):
15507           slightly more readable color for refcount debugging
15508
15509 2005-09-28  Wim Taymans  <wim@fluendo.com>
15510
15511         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
15512         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15513         (find_element), (gst_bin_sort_iterator_next),
15514         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15515         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15516         (gst_bin_change_state), (gst_bin_dispose):
15517         Small doc fixes. get_clock -> provide_clock.
15518
15519         * gst/gstelement.c: (gst_element_class_init),
15520         (gst_element_provides_clock), (gst_element_provide_clock),
15521         (gst_element_get_clock), (gst_element_commit_state),
15522         (gst_element_lost_state):
15523         * gst/gstelement.h:
15524         Make get/set_clock() symetric. Add provide_clock vmethod since
15525         that is actually what this function does.
15526
15527         * gst/gstpipeline.c: (gst_pipeline_class_init),
15528         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
15529         (gst_pipeline_get_clock):
15530         get_clock -> provide_clock.
15531
15532 2005-09-28  Andy Wingo  <wingo@pobox.com>
15533
15534         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
15535         lieu of real docs...
15536
15537         * gst/elements/gstfdsrc.c: Cleaned up a bit.
15538
15539 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
15540
15541         * gst/elements/gstcapsfilter.c:
15542         * gst/elements/gstfakesink.c:
15543         * gst/elements/gstfakesrc.c:
15544         * gst/elements/gstfdsink.c:
15545         * gst/elements/gstfdsrc.c:
15546         * gst/elements/gstfilesink.c:
15547         * gst/elements/gstfilesrc.c:
15548         * gst/elements/gstidentity.c:
15549         * gst/elements/gsttee.c:
15550         * gst/elements/gsttypefindelement.c:
15551           Make element details static.
15552
15553 2005-09-28  Wim Taymans  <wim@fluendo.com>
15554
15555         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15556         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15557         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15558         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15559         (gst_bin_change_state), (gst_bin_dispose):
15560         Some documentation updates.
15561         Clean up dispose handlers.
15562
15563         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
15564         * gst/gstpad.c: (gst_pad_dispose):
15565         Clean up dispose handler.
15566
15567         * gst/gstpipeline.c: (gst_pipeline_change_state):
15568         Removed spurious UNLOCK.
15569
15570 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
15571
15572         * docs/gst/gstreamer-sections.txt:
15573         * gst/base/gstbasesrc.h:
15574         * gst/gstelement.h:
15575         * gst/gstevent.h:
15576         * gst/gstobject.h:
15577         * gst/gstpad.h:
15578         * gst/gstpipeline.c:
15579         * gst/gstpipeline.h:
15580         * gst/gstutils.h:
15581         * gst/gstxml.h:
15582           added two new functions to the docs
15583                 documents all undocumented GstXXXFlags
15584                 completed some incomplete docs 
15585
15586 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15587
15588         * gst/gstbin.c: (gst_bin_dispose):
15589         * gst/gstelement.c: (gst_element_dispose):
15590           remove now useless and leaky resurrection code in dispose
15591         * gst/base/gstbasesrc.c: (gst_base_src_init):
15592         * gst/gstelementfactory.c: (gst_element_factory_create):
15593         * gst/gstobject.c: (gst_object_set_parent):
15594           add some debugging
15595
15596 2005-09-27  Wim Taymans  <wim@fluendo.com>
15597
15598         * docs/design/part-TODO.txt:
15599         Update TODO.
15600
15601         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15602         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15603         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15604         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15605         (gst_bin_change_state):
15606         * gst/gstelement.h:
15607         Remove element variable, we keep element info in the iterator now.
15608
15609 2005-09-27  Andy Wingo  <wingo@pobox.com>
15610
15611         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
15612         values.
15613
15614 2005-09-27  Wim Taymans  <wim@fluendo.com>
15615
15616         * check/gst/gstbin.c: (GST_START_TEST):
15617         Enable check that works now.
15618
15619         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15620         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15621         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15622         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15623         (gst_bin_change_state):
15624         * gst/gstbin.h:
15625         Redid the state change algorithm using a topological sort algo.
15626         Handles all cases correctly.
15627         Exposed iterator for state change order.
15628
15629         * gst/gstelement.h:
15630         Temp storage for state changes. Need to get rid of this soon.
15631
15632 2005-09-27  Wim Taymans  <wim@fluendo.com>
15633
15634         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
15635         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
15636         (link_fold_func), (gst_pad_proxy_setcaps):
15637         Leak fixes, the fold functions need to unref the passed object and
15638         _get_parent_*() returns ref to parent.
15639
15640 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15641
15642         * check/gst/gstbuffer.c: (test_make_writable):
15643           Plug leak in test case and fix 'make check-valgrind'
15644
15645 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15646
15647         * gst/gstbuffer.c: (gst_subbuffer_init):
15648           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
15649           works correctly in all circumstances (we could have just copied
15650           the parent buffer's readonly flag, but conceptually it seems
15651           cleaner to mark all subbuffers as read-only). (based on patch
15652           by Alessandro Decina, #314710).
15653         
15654         * check/gst/gstbuffer.c: (create_read_only_buffer),
15655         (test_make_writable), (test_subbuffer_make_writable),
15656         (gst_test_suite):
15657           Add some tests for gst_buffer_make_writable().
15658
15659 2005-09-27  Wim Taymans  <wim@fluendo.com>
15660
15661         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
15662         use gst_object_has_ancestor().
15663
15664         * gst/gstobject.c: (gst_object_has_ancestor):
15665         * gst/gstobject.h:
15666         gst_object_has_ancestor() copied from gstbin.c as it is a
15667         useful function.
15668
15669         * tests/instantiate/create.c: (create_all_elements):
15670         * tests/lat.c: (handoff_src), (handoff_sink):
15671         * tests/sched/runxml.c: (main):
15672         * tests/seeking/seeking1.c: (main):
15673         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15674         (main):
15675         Fix compilation of some tests.
15676
15677 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15678
15679         * gst/gsterror.h:
15680           Remove comment. GST_TYPE_G_ERROR is here to stay,
15681           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
15682           (#316961, #300610).
15683
15684 2005-09-26  Wim Taymans  <wim@fluendo.com>
15685
15686         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15687         Added check that shows error in state change order.
15688
15689 2005-09-26  Wim Taymans  <wim@fluendo.com>
15690
15691         * gst/gstbin.c: (gst_bin_change_state):
15692         Make state change function use 3 queues again, we were
15693         adding elements in the wrong order.
15694
15695         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
15696         Some debug info,
15697
15698         * gst/gstpad.c: (gst_pad_dispose):
15699         Added some debug info first.
15700
15701 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
15702
15703         * docs/design/draft-push-pull.txt:
15704         * docs/design/part-events.txt:
15705         * docs/design/part-overview.txt:
15706         * docs/design/part-scheduling.txt:
15707           Replace all _pull_region() with _pull_range()
15708           
15709 2005-09-26  Andy Wingo  <wingo@pobox.com>
15710
15711         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
15712
15713         * check/gst-libs/controller.c: Update for controller api change.
15714
15715         * configure.ac: 
15716         * tests/Makefile.am:
15717         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
15718         over by GLib bug 118439.
15719         
15720         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
15721         routines to a function.
15722
15723         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
15724
15725         * libs/gst/controller/gsthelper.c:
15726         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
15727         (gst_object_sync_values): Renamed from sink_values. Ugh.
15728
15729         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
15730
15731         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
15732         Renamed from controller_key, as it is exported.
15733
15734         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
15735
15736 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
15737
15738         * gst/Makefile.am:
15739         * gst/gst.h:
15740         * gst/gstpad.h:
15741         * gst/gstpadtemplate.h:
15742         * gst/gstquery.c:
15743         * gst/gstquery.h:
15744         * gst/gstqueryutils.c:
15745         * gst/gstqueryutils.h:
15746           remove queryutils headers after moving the two used functions
15747           to gstquery.  also fixes build problem for gstsiddec
15748
15749 2005-09-26  Michael Smith <msmith@fluendo.com>
15750
15751         * tools/gst-launch.1.in:
15752         Correct documentation in manpage of debug syntax
15753
15754 2005-09-26  Wim Taymans  <wim@fluendo.com>
15755
15756         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15757         (gst_base_src_is_seekable), (gst_base_src_change_state):
15758         Some more debugging info.
15759
15760 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15761
15762         * docs/gst/gstreamer-sections.txt:
15763         * gst/base/gstbasetransform.h:
15764         * gst/gstindex.h:
15765           added more docs
15766
15767 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15768
15769         * docs/gst/.cvsignore:
15770         * docs/gst/tmpl/.cvsignore:
15771         * docs/gst/tmpl/gstpipeline.sgml:
15772         * docs/gst/tmpl/gstplugin.sgml:
15773         * gst/gstpipeline.c:
15774         * gst/gstplugin.c:
15775         * gst/gstplugin.h:
15776           inlined the last two docs files
15777           removed the tmpl directory from cvs (no more conflicts here!)
15778
15779 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15780
15781         * docs/gst/gstreamer-sections.txt:
15782         * docs/gst/tmpl/.cvsignore:
15783         * docs/gst/tmpl/gstpad.sgml:
15784         * docs/gst/tmpl/gstpadtemplate.sgml:
15785         * gst/Makefile.am:
15786         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
15787         (gst_pad_finalize), (gst_pad_set_pad_template):
15788         * gst/gstpad.h:
15789         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
15790         (gst_pad_template_class_init), (gst_pad_template_init),
15791         (gst_pad_template_dispose), (name_is_valid),
15792         (gst_static_pad_template_get), (gst_pad_template_new),
15793         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
15794         (gst_pad_template_pad_created):
15795         * gst/gstpadtemplate.h:
15796           inlined two more docs
15797           factored gstpadtemplate out of gstpad
15798
15799 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
15800
15801         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15802         (test_children_state_change_order_semi_sink):
15803           Fix test case: we can't rely on a fixed state change order when
15804           going from READY => PAUSED because the sink might commit its 
15805           new state first when the first buffer created by the source 
15806           reaches the sink before the source has finished its change state.
15807           (Test case still fails at times, see #316856, comment 5 onwards)
15808
15809 2005-09-24  Wim Taymans  <wim@fluendo.com>
15810
15811         * docs/design/part-events.txt:
15812         * docs/design/part-gstbus.txt:
15813         * docs/design/part-gstpipeline.txt:
15814         * docs/design/part-messages.txt:
15815         * docs/design/part-overview.txt:
15816         * docs/design/part-segments.txt:
15817         * gst/gstbin.c:
15818         * gst/gstbuffer.c:
15819         * gst/gstclock.c:
15820         * gst/gstelement.c:
15821         * gst/gstevent.c:
15822         * gst/gstfilter.c:
15823         * gst/gstiterator.c:
15824         Various documentation updates.
15825
15826 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15827
15828         * gst/gstclock.h:
15829           Well, that's embarassing.  Luckily we weren't using
15830           GST_CLOCK_DIFF anywhere.
15831
15832 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15833
15834         * common/gtk-doc.mak:
15835           don't fail on building XML, FC4 slave shows a bunch of doc
15836           missing bits that I don't get
15837         * gst/gstpad.c:
15838         * gst/gstpipeline.c:
15839         * gst/gststructure.c:
15840           some doc updates
15841
15842 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15843
15844         * docs/design/part-gstbin.txt:
15845         * docs/design/part-gstbus.txt:
15846         * gst/gstbus.c:
15847           Add blurb about how the bus goes into flushing mode and
15848           drops all messages when its bin goes from READY into NULL 
15849           state.
15850
15851 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15852
15853         * docs/gst/gstreamer-sections.txt:
15854         * gst/gststructure.c: (gst_structure_get_clock_time):
15855         * gst/gststructure.h:
15856           add a method to get a GstClockTime out of a structure
15857
15858 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15859
15860         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15861         (test_children_state_change_order_semi_sink), (gst_bin_suite):
15862           Added test to check state change order in bins (can still be made
15863           to fail here under heavy disk load; bails out with 'Push on pad
15864           fakesink:sink0, but it was not activated in push mode').
15865
15866         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
15867           Fix state change order when there is only a semi sink (#316856)
15868
15869         * gst/gstbus.c: (gst_bus_class_init):
15870           Use _class_peek_parent(), not _class_ref(); fix docs to say
15871           'default main context' instead of 'mainloop' where that is
15872           what's meant.
15873
15874         * gst/gstelement.c: (gst_element_commit_state),
15875         (gst_element_set_state):
15876           Fix typos in debug messages
15877
15878 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15879
15880         * docs/README:
15881         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
15882         * gst/gstpluginfeature.c:
15883         * gst/gstutils.c:
15884           various doc updates
15885         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15886           change an assert into an error until it gets fixed properly
15887
15888 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
15889
15890         * docs/gst/gstreamer-sections.txt:
15891         * docs/gst/tmpl/.cvsignore:
15892         * docs/gst/tmpl/gstelement.sgml:
15893         * docs/gst/tmpl/gstinfo.sgml:
15894         * docs/gst/tmpl/gstobject.sgml:
15895         * gst/gstelement.c:
15896         * gst/gstelement.h:
15897         * gst/gstinfo.c:
15898         * gst/gstinfo.h:
15899         * gst/gstobject.c: (gst_object_class_init):
15900         * gst/gstobject.h:
15901           inlined 3 more biiiig doc files and added some missing docs on the fly
15902
15903 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15904
15905         * check/gst/.cvsignore:
15906         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
15907         * gst/gstregistryxml.c: (load_plugin),
15908         (gst_registry_xml_save_plugin):
15909           put back source in registry.  add checks for find_plugin.
15910         * testsuite/states/bin.c: (assert_state), (empty_bin),
15911         (test_adding_one_element), (main):
15912         * testsuite/states/locked.c: (main):
15913           some compile/run fixes
15914
15915 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15916
15917         * check/gst/gstvalue.c: (GST_START_TEST):
15918           fix leaks in the test itself
15919
15920 2005-09-22  Wim Taymans  <wim@fluendo.com>
15921
15922         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15923         (gst_base_sink_send_event), (gst_base_sink_peer_query),
15924         (gst_base_sink_query):
15925         Prepare for more accurate position reporting and query
15926         handling.
15927
15928         * gst/gstelement.c: (gst_element_send_event),
15929         (gst_element_set_state):
15930         Add some comment.
15931
15932 2005-09-22  Wim Taymans  <wim@fluendo.com>
15933
15934         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
15935         (gst_query_parse_segment):
15936         * gst/gstquery.h:
15937         More documentation.
15938         Add segment query for future use.
15939
15940 2005-09-22  Wim Taymans  <wim@fluendo.com>
15941
15942         * gst/gstbin.c: (gst_bin_add_func):
15943         Some more debug info.
15944
15945         * gst/gstelement.c: (gst_element_send_event):
15946         Simplify send_event
15947
15948         * gst/gstelement.h:
15949         Don't know how flags got broken.
15950
15951         * gst/gstquery.h:
15952         Added new query.
15953
15954 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15955
15956         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
15957           Add simplistic test suite for GST_TYPE_DATE serialisation and
15958           deserialisation.
15959
15960 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15961
15962         * docs/gst/gstreamer-sections.txt:
15963         * gst/gststructure.c: (gst_structure_set_valist),
15964         (gst_structure_get_date):
15965         * gst/gststructure.h:
15966         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
15967         (gst_date_copy), (gst_value_compare_date),
15968         (gst_value_serialize_date), (gst_value_deserialize_date),
15969         (gst_value_transform_date_string),
15970         (gst_value_transform_string_date), (_gst_value_initialize):
15971         * gst/gstvalue.h:
15972           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
15973           bunch of utility functions along with a hack that checks that
15974           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
15975           is required. Part of the grand scheme in #170777.
15976
15977 2005-09-22  Andy Wingo  <wingo@pobox.com>
15978
15979         * gst/gstconfig.h.in: Psych out gtk-doc.
15980
15981         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
15982
15983         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
15984
15985         * tools/gst-inspect.c (print_element_list): Plug some
15986         inconsequential leaks.
15987
15988         * gst/gstregistry.c (gst_registry_get_default): Doc.
15989
15990         * check/gst/gstplugin.c: 
15991         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
15992         * gst/gstelementfactory.c (gst_element_factory_create): 
15993         * gst/gstindexfactory.c (gst_index_factory_create): Update for
15994         refcount changes.
15995
15996         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
15997         (gst_plugin_feature_load): Doc, don't eat refs.
15998
15999         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
16000         (gst_plugin_list_free): Doc.
16001         (gst_plugin_load_file): Doc updates.
16002
16003         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
16004         accessors returning refcounted objects, return a ref.
16005
16006         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
16007         accessor for caps. IDEMPOTENCE. Oh yes.
16008
16009 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
16010
16011         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16012
16013         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
16014         (_gst_debug_register_funcptr):
16015           Add mutex to serialise access to the hash table with
16016           the function pointer => function name string mapping;
16017           make that hash table static scope (#316809).
16018
16019         * gst/registries/.cvsignore:
16020           Remove left-over file.
16021
16022 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
16023
16024         * docs/pwg/appendix-porting.xml:
16025           And something about newsegment events and caps-on-buffers to
16026           the porting guide (feel free to improve).
16027
16028 2005-09-21  Andy Wingo  <wingo@pobox.com>
16029
16030         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
16031         data and event probes on the same pad.
16032         (test_buffer_probe_once): Test that removing probes from within
16033         the probe functions works.
16034
16035 2005-09-21  Andy Wingo  <wingo@pobox.com>
16036
16037         * check/gst/gstutils.c: New file.
16038         (test_buffer_probe_n_times): A simple buffer probe test. More to
16039         come, foolios.
16040
16041         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
16042         have-data::buffer, not have-data.
16043         (gst_pad_add_event_probe): Likewise for have-data::event.
16044         (gst_pad_add_data_probe): More docs. The part about 'resolving the
16045         peer' isn't quite right yet though.
16046         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
16047         (gst_pad_remove_data_probe): Change to take the guint handler_id
16048         as their arg, not the function+data, which is more glib-like.
16049
16050         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
16051         the signal emission to indicate if the data is a buffer or an
16052         event.
16053         (gst_pad_get_type): Initialize buffer and event quarks.
16054         (gst_pad_class_init): have-data is now a detailed signal, yes it
16055         is.
16056
16057 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
16058
16059         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
16060         * gst/gstutils.c: (gst_util_set_value_from_string),
16061         (gst_util_set_object_arg):
16062           Don't put functional code in g_return_if_fail() or
16063           g_return_val_if_fail() statements, otherwise things will 
16064           break when G_DISABLE_CHECKS is defined during compilation.
16065
16066 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16067
16068         * docs/gst/tmpl/.cvsignore:
16069         * docs/gst/tmpl/gstvalue.sgml:
16070         * gst/gstvalue.c:
16071         * gst/gstvalue.h:
16072           inlied another one and added  some obvious docs
16073
16074 2005-09-21  Wim Taymans  <wim@fluendo.com>
16075
16076         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
16077         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
16078         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
16079         (gst_fdsrc_get_property), (gst_fdsrc_create):
16080         * gst/elements/gstfdsrc.h:
16081         Properly implement fdsrc. Removed signal and timeout,
16082         better implemented somewhere else.
16083
16084 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16085
16086         * docs/gst/tmpl/.cvsignore:
16087         * docs/gst/tmpl/gstimplementsinterface.sgml:
16088         * gst/gstinterface.c:
16089           inlined more docs
16090
16091 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16092
16093         * docs/gst/gstreamer-sections.txt:
16094         * docs/gst/tmpl/.cvsignore:
16095         * docs/gst/tmpl/gstenumtypes.sgml:
16096           remove obsolete doc file
16097
16098 2005-09-21  David Schleef  <ds@schleef.org>
16099
16100         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
16101         little beer, fix a little leak.
16102
16103 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16104
16105         * docs/gst/gstreamer-docs.sgml:
16106         * docs/gst/gstreamer-sections.txt:
16107         * docs/gst/tmpl/.cvsignore:
16108         * gst/Makefile.am:
16109         * gst/gst.h:
16110         * gst/gstbin.c:
16111         * gst/gstelement.h:
16112         * gst/gstindex.c: (gst_index_class_init):
16113         * gst/gstindex.h:
16114         * gst/gstindexfactory.c: (gst_index_factory_get_type),
16115         (gst_index_factory_class_init), (gst_index_factory_init),
16116         (gst_index_factory_finalize), (gst_index_factory_new),
16117         (gst_index_factory_destroy), (gst_index_factory_find),
16118         (gst_index_factory_create), (gst_index_factory_make):
16119         * gst/gstindexfactory.h:
16120         * gst/gstpluginfeature.c:
16121         * gst/gstpluginfeature.h:
16122         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
16123           more docs inlined, splitted gstindex.{c,h}
16124
16125 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16126
16127         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
16128           fix a leak
16129
16130 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
16131
16132         * gst/elements/gstfilesink.c: (gst_file_sink_init):
16133           Set sync to FALSE by default.
16134
16135 2005-09-20  Wim Taymans  <wim@fluendo.com>
16136
16137         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16138         (gst_base_sink_init):
16139         Make sync property settable from subclass.
16140
16141         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16142         (gst_fake_sink_change_state):
16143         Set sync to FALSE by default.
16144
16145 2005-09-20  Wim Taymans  <wim@fluendo.com>
16146
16147         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
16148         * tools/gst-launch.c: (main):
16149         The timeout handler should have lower priority than the source
16150         so we don't timeout before popping a message with 0 timeout.
16151         Dump error messages after failed state change.
16152
16153 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
16154
16155         * tools/gst-inspect.c: (print_element_properties_info):
16156           Fix two typos.
16157
16158 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16159
16160         * check/gst/gstevent.c:
16161         * gst/elements/gstfakesink.c:
16162         * gst/elements/gstfakesink.h:
16163           remove the sync property from fakesink.
16164           has the side effect of setting sync TRUE
16165           for fakesink, which is a change.  Anyone who knows how
16166           to fix this nicely in a GObject-y way, feel free.
16167
16168 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16169
16170         * docs/gst/gstreamer-docs.sgml:
16171           remove probe refsection
16172
16173 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16174
16175         * check/Makefile.am:
16176           disable valgrinding the controller test again
16177         * docs/gst/gstreamer-sections.txt:
16178           update for api-changes
16179
16180 2005-09-20  Wim Taymans  <wim@fluendo.com>
16181
16182         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16183         (gst_base_sink_set_property), (gst_base_sink_get_property),
16184         (gst_base_sink_do_sync):
16185         * gst/base/gstbasesink.h:
16186         Added sync property to basesink to disable clock sync.
16187
16188 2005-09-20  Andy Wingo  <wingo@pobox.com>
16189
16190         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
16191         eating the caller's refcount.
16192
16193         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
16194         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
16195         refcount.
16196
16197         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
16198         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
16199         of GLib 2.8 public, so we can know which refcount to check in
16200         tests.
16201
16202         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
16203         (gst_object_init): Only set the gst refcount if we're going ahead
16204         with the refcount hack.
16205
16206 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16207
16208         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
16209         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
16210           more leaks plumbed, added more debug-logging
16211         * gst/gstmacros.h:
16212           whitespace fix
16213
16214 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16215
16216         * gst/gstmessage.c:
16217           remove include of gstmemchunk.h
16218
16219 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16220
16221         * gst/gstclock.c: (_gst_clock_id_free):
16222           Commit from the Political Party For More Atomic CVS Commits,
16223           so that people don't waste too much of their day fishing
16224           out obvious leaks out of massive commits.
16225           Oh, and fix a pretty damn obvious leak in the memchunk
16226           removal code.
16227
16228 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16229
16230         * check/Makefile.am:
16231         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
16232           plug mem-leak, re-add to valgrindable tests
16233
16234 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16235
16236         * gst/gstplugin.h:
16237           unbreak the build for those who have chronic arthritis
16238           and typing "make check" is just too taxing on the hands
16239
16240 2005-09-20  Andy Wingo  <wingo@pobox.com>
16241
16242         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
16243         really want it out, you should fix plugins at the same time.
16244
16245 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
16246
16247         * configure.ac:
16248         * docs/gst/gstreamer-sections.txt:
16249         * gst/gstobject.c:
16250           added missing symbols to api docs
16251           disable ref-count hack if we have glib >= 2.8
16252
16253 2005-09-19  David Schleef  <ds@schleef.org>
16254
16255         * docs/gst/Makefile.am: Ignore a few more internal headers
16256         * docs/gst/gstreamer-docs.sgml: Remove old sections
16257         * docs/gst/gstreamer-sections.txt: Remove old sections
16258         * docs/gst/tmpl/gstobject.sgml: update
16259         * docs/gst/tmpl/gstplugin.sgml: update
16260         * docs/gst/tmpl/gstpluginfeature.sgml: update
16261         * docs/random/ds/0.9-suggested-changes: update.
16262         * gst/Makefile.am: remove memchunk and trashstack, since they're
16263           not used.
16264         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
16265         * gst/gst.h: don't include some headers
16266         * gst/gstchildproxy.c: add gstmarshal.h
16267         * gst/gstclock.c: Don't use memchunks
16268         * gst/gstminiobject.c: Add some docs
16269         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
16270         * gst/gstobject.h: same
16271         * gst/gstplugin.c: include gstmacros.h
16272         * gst/gstplugin.h: don't include gstmacros.h, since it's private
16273         * gst/gstquery.c: don't use memchunks
16274         * gst/gstregistry.c: rename gst_registry_deinit()
16275         * gst/gstregistry.h: same
16276
16277 2005-09-19  David Schleef  <ds@schleef.org>
16278
16279         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
16280         * docs/libs/gstreamer-libs-sections.txt:
16281         * docs/libs/tmpl/gstgetbits.sgml:
16282         * docs/libs/tmpl/gstputbits.sgml:
16283
16284 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
16285
16286         * win32/gstenumtypes.c:
16287         * win32/gstenumtypes.h:
16288           Update.
16289
16290 2005-09-19  Wim Taymans  <wim@fluendo.com>
16291
16292         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
16293         Automatically PAUSE and RESUME a pipeline when a flushing seek
16294         is performed.
16295
16296 2005-09-19  Andy Wingo  <wingo@pobox.com>
16297
16298         * gst/gstregistry.h: Spacing fixen.
16299
16300 2005-09-19  Wim Taymans  <wim@fluendo.com>
16301
16302         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
16303         Handle state change failure more correctly.
16304
16305 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16306
16307         * check/Makefile.am:
16308         * check/pipelines/cleanup.c: (run_pipeline):
16309         * check/pipelines/simple_launch_lines.c: (run_pipeline),
16310         (GST_START_TEST):
16311           enable cleanup again after fixing the leak
16312         * docs/README:
16313           some more info on docs
16314
16315 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16316
16317         * check/Makefile.am:
16318           re-enable tests now that leaks are plugged
16319         * check/gst/gst.c:
16320         * check/gst/gstbin.c:
16321         * check/gst/gstpipeline.c:
16322           add some more tests while fixing leaks
16323         * common/check.mak:
16324           make sure binaries are uptodate when valgrinding/gdbing
16325         * gst/gst.c:
16326         * gst/gstelementfactory.c:
16327           remove a ref too many, and add a FIXME for when we get
16328           round to disposing of classes
16329         * gst/gstplugin.c:
16330           fix the refcounting when loading a plugin from a file and
16331           the code pretends that the pointer is the same even though
16332           of course it can change
16333         * gst/gstpluginfeature.c:
16334           unref plugins marked cached (a bit confusing as a name)
16335           as the docs state should be done
16336           various doc additions to explain refcounting
16337         * gst/gstregistry.c:
16338         * gst/gstregistryxml.c:
16339           debugging
16340
16341 2005-09-19  Wim Taymans  <wim@fluendo.com>
16342
16343         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
16344         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
16345         (send_messages), (GST_START_TEST), (gstbus_suite):
16346         * check/gst/gstpipeline.c: (GST_START_TEST):
16347         * check/pipelines/cleanup.c: (run_pipeline):
16348         * check/pipelines/simple_launch_lines.c: (run_pipeline),
16349         (GST_START_TEST):
16350         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
16351         (gst_bus_source_check), (gst_bus_source_dispatch),
16352         (gst_bus_create_watch), (gst_bus_add_watch_full),
16353         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
16354         * gst/gstbus.h:
16355         * tools/gst-launch.c: (event_loop):
16356         * tools/gst-md5sum.c: (event_loop):
16357         GstBusHandler -> GstBusFunc, return value has the same meaning as
16358         any other GSource (FALSE == remove source).
16359         _add_watch() and _add_watch_full() now take a MessageType mask to
16360         only handle specific types of messages.
16361         _poll() returns the GstMessage instead of the message type to avoid
16362         race conditions.
16363         _have_pending() takes a MessageType mask now too.
16364         Added testsuite for multiple bus watches.
16365         Fix testsuites and applications for new bus API.
16366
16367 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16368
16369         * check/Makefile.am:
16370           mark a bunch of the tests as to fix until we fix them
16371
16372 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16373
16374         * common/check.mak:
16375           use GST_PLUGIN settings for valgrind tests as well, so we're
16376           valgrinding the correct thing
16377         * gst/gst.c: (init_post):
16378           plug another leak
16379
16380 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16381
16382         * gst/gst.c: (init_post), (gst_deinit):
16383         * gst/gstelementfactory.c: (gst_element_factory_class_init),
16384         (gst_element_factory_finalize), (gst_element_factory_cleanup):
16385         * gst/gstindex.c: (gst_index_factory_class_init),
16386         (gst_index_factory_finalize):
16387         * gst/gstobject.c: (gst_object_dispose):
16388         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16389         (gst_plugin_load_file), (gst_plugin_desc_free):
16390         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
16391         (gst_plugin_feature_finalize):
16392         * gst/gstregistry.c: (gst_registry_class_init),
16393         (gst_registry_init), (gst_registry_finalize),
16394         (gst_registry_get_default), (gst_registry_deinit):
16395         * gst/gstregistry.h:
16396         * gst/gstregistryxml.c: (load_feature), (load_plugin):
16397           various cleanups and memleak plugging.  make valgrind is happy now.
16398
16399 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16400
16401         * common/check.mak:
16402           add a check-valgrind target
16403
16404 2005-09-18  David Schleef  <ds@schleef.org>
16405
16406         * tools/gst-inspect.c: Revert the GOption code.
16407
16408 2005-09-17  David Schleef  <ds@schleef.org>
16409
16410         * check/Makefile.am: Fix environment variables.
16411         * check/gst/gstplugin.c: Fix for API changes.
16412         * tools/gst-inspect.c: Fix for API changes.
16413         * tools/gst-xmlinspect.c: Fix for API changes.
16414         * gst/gstelementfactory.c:
16415         * gst/gstplugin.c:
16416         * gst/gstplugin.h:
16417         * gst/gstpluginfeature.c:
16418         * gst/gstpluginfeature.h:
16419         * gst/gstregistry.c:
16420         * gst/gstregistry.h:
16421         * gst/gstregistryxml.c:
16422         * gst/gsttypefind.c:
16423         * gst/gsttypefindfactory.c:
16424         * gst/indexers/gstfileindex.c:
16425         * gst/indexers/gstmemindex.c:
16426         * gst/schedulers/Makefile.am:
16427           Change registry to keep track of both plugins and features,
16428           removing the feature tracking from plugins themselves.
16429
16430 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16431
16432         * check/Makefile.am:
16433         * tools/gst-register.1.in:
16434           remove gst-register
16435
16436 2005-09-15  David Schleef  <ds@schleef.org>
16437
16438         * check/gst/gstplugin.c:
16439         * gst/gstelementfactory.c:
16440         * gst/gstplugin.c:
16441         * gst/gstpluginfeature.c:
16442         * gst/gstregistry.c:
16443           Getting tired of debugging.  Disabled all the unreffing of
16444           plugins and features, which fixes the segfaults, but of
16445           course leaks like crazy.  At least playbin works.
16446
16447 2005-09-15  David Schleef  <ds@schleef.org>
16448
16449         * check/gst/gstplugin.c: (register_check_elements),
16450         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
16451         More testing
16452         * gst/elements/gsttypefindelement.c: Fix refcounting.
16453         * gst/gsttypefind.c:
16454         * gst/gsttypefindfactory.c:
16455         * gst/gsttypefindfactory.h:
16456
16457 2005-09-15  David Schleef  <ds@schleef.org>
16458
16459         * gst/gstindex.c: get refcounting correct.
16460         * gst/gstregistry.c: Handle the case where a feature/plugin is
16461           not found.
16462
16463 2005-09-15  David Schleef  <ds@schleef.org>
16464
16465         * check/Makefile.am:
16466         * check/gst/gstplugin.c: Add test
16467         * gst/gstplugin.c: Fix problems noticed by testsuite
16468         * gst/gstplugin.h:
16469         * gst/gstregistry.c: 
16470         * gst/gstregistry.h:
16471
16472 2005-09-15  David Schleef  <ds@schleef.org>
16473
16474         * gst/gstplugin.c: Implement semi-decent recounting and locking
16475           in plugins and plugin features.
16476         * gst/gstplugin.h:
16477         * gst/gstpluginfeature.c:
16478         * gst/gstpluginfeature.h:
16479         * gst/gstregistry.c:
16480
16481 2005-09-15  Michael Smith <msmith@fluendo.com>
16482
16483         * gst/gstregistry.c: (gst_registry_get_feature_list):
16484           Implement this. Makes oggdemux work; decodebin still broken.
16485
16486 2005-09-14  David Schleef  <ds@schleef.org>
16487
16488         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
16489           #316076)
16490         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
16491         * gst/check/Makefile.am:
16492         * libs/gst/controller/Makefile.am:
16493         * libs/gst/dataprotocol/Makefile.am:
16494
16495 2005-09-14  David Schleef  <ds@schleef.org>
16496
16497         * configure.ac: Remove getbits library.  Nothing uses it, and
16498           it should be in something like liboil if someone did want
16499           to use it.
16500         * libs/gst/Makefile.am:
16501         * libs/gst/getbits/Makefile.am:
16502         * libs/gst/getbits/gbtest.c:
16503         * libs/gst/getbits/getbits.c:
16504         * libs/gst/getbits/getbits.h:
16505         * libs/gst/getbits/gstgetbits_generic.c:
16506         * libs/gst/getbits/gstgetbits_i386.s:
16507         * libs/gst/getbits/gstgetbits_inl.h:
16508
16509 2005-09-14  David Schleef  <ds@schleef.org>
16510
16511         * gst/Makefile.am: Dist glib-compat.h
16512
16513 2005-09-14  David Schleef  <ds@schleef.org>
16514
16515         * configure.ac: Remove gst/registries, since it's no longer used.
16516         * gst/registries/Makefile.am:
16517         * gst/registries/gstlibxmlregistry.c:
16518         * gst/registries/gstlibxmlregistry.h:
16519         * gst/registries/gstxmlregistry.c:
16520         * gst/registries/gstxmlregistry.h:
16521         * gst/registries/registrytest.c:
16522
16523 2005-09-14  David Schleef  <ds@schleef.org>
16524
16525         * gst/glib-compat.h:
16526         * gst/gstregistryxml.c:
16527           Convergence is near.  Seriously.
16528
16529 2005-09-14  David Schleef  <ds@schleef.org>
16530
16531         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16532         * gst/glib-compat.h:
16533           Attempt #4 to appease the buildbots.
16534
16535 2005-09-14  David Schleef  <ds@schleef.org>
16536
16537         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16538           Attempt #3.
16539
16540 2005-09-14  David Schleef  <ds@schleef.org>
16541
16542         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16543         Attempt #2.
16544
16545 2005-09-14  David Schleef  <ds@schleef.org>
16546
16547         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
16548           the new functions.
16549
16550 2005-09-14  David Schleef  <ds@schleef.org>
16551
16552         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16553         * gst/glib-compat.h: Add some functions that are in newer versions
16554           of glib than we care to require.
16555         * gst/gstregistryxml.c: Use them.
16556
16557 2005-09-14  David Schleef  <ds@schleef.org>
16558
16559         * po/POTFILES.in: remove gst-register.c
16560
16561 2005-09-14  David Schleef  <ds@schleef.org>
16562
16563         * docs/gst/gstreamer-docs.sgml:
16564         * docs/gst/gstreamer-sections.txt:
16565         * docs/gst/gstreamer.types:
16566         * docs/gst/tmpl/gstelement.sgml:
16567         * docs/gst/tmpl/gstplugin.sgml:
16568         * docs/gst/tmpl/gstpluginfeature.sgml:
16569           Documentation updates for registry changes.
16570
16571 2005-09-14  David Schleef  <ds@schleef.org>
16572
16573         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
16574           because we don't require glib-2.8.
16575
16576 2005-09-14  David Schleef  <ds@schleef.org>
16577
16578         * gst/gstregistryxml.c: Added.  Essentially moved out of the
16579           registries directory.
16580
16581 2005-09-14  David Schleef  <ds@schleef.org>
16582
16583         * check/Makefile.am:
16584         * check/generic/states.c:
16585         * gst/Makefile.am:
16586         * gst/gst.c:
16587         * gst/gst.h:
16588         * gst/gst_private.h:
16589         * gst/gstelementfactory.c:
16590         * gst/gstindex.c:
16591         * gst/gstinfo.c:
16592         * gst/gstplugin.c:
16593         * gst/gstplugin.h:
16594         * gst/gstpluginfeature.c:
16595         * gst/gstpluginfeature.h:
16596         * gst/gstregistry.c:
16597         * gst/gstregistry.h:
16598         * gst/gstregistrypool.c: remove
16599         * gst/gstregistrypool.h: remove
16600         * gst/gsttypefind.c:
16601         * gst/gsttypefindfactory.c:
16602         * gst/gsturi.c:
16603         * tools/Makefile.am:
16604         * tools/gst-compprep.c:
16605         * tools/gst-inspect.c:
16606         * tools/gst-register.c: remove
16607         * tools/gst-xmlinspect.c:
16608           Registry rewrite.  Changes registry from being a file created
16609           by a tool into a simple cache file created automatically by 
16610           libgstreamer.  Removed gst-register (because it's no longer
16611           needed).  Remove registry pools, because we only have one
16612           registry implementation (XML).  Fix up other subsystems as
16613           necessary.
16614
16615 2005-09-13  Michael Smith <msmith@fluendo.com>
16616
16617         * gst/gstconfig.h.in:
16618           Don't Use windows linking attributes for MinGW. Fixes #316157
16619
16620 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16621
16622         * gst/gstutils.c: (set_state_async_thread_func),
16623         (gst_element_set_state_async):
16624           Apparently people think it's better if this function doesn't
16625           try to set the state to whatever state was asked for on the first
16626           call to this function for any object.  Seriously.
16627
16628 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16629
16630         * check/gst/gstpipeline.c: (GST_START_TEST):
16631         * docs/gst/gstreamer-sections.txt:
16632         * gst/gstutils.c: (set_state_async_thread_func),
16633         (gst_element_set_state_async):
16634         * gst/gstutils.h:
16635           add a "gst_element_set_state_async" method that
16636           sets the state and starts a thread to make sure the state
16637           change completes as best as it can
16638
16639 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16640
16641         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16642           codify design+behaviour in testsuite after discussion
16643
16644 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16645
16646         * docs/gst/tmpl/gstelement.sgml:
16647         * docs/manual/appendix-quotes.xml:
16648           add a quote
16649         * gst/gstelement.c: (gst_element_set_state):
16650           add some debug
16651
16652 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
16653
16654         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16655         (gst_base_transform_prepare_output_buf),
16656         (gst_base_transform_handle_buffer):
16657         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
16658         (gst_capsfilter_prepare_buf):
16659           Remove the requirement for sub-classes to call the parent
16660           implementation of prepare_output_buffer with a wrapper function.
16661           
16662         * gst/gsttaglist.h:
16663         * gst/gsttagsetter.h:
16664           Fix #define wrapper
16665
16666 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
16667
16668         * docs/gst/gstreamer-sections.txt:
16669           more doc cleanups
16670
16671 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16672
16673         * docs/gst/gstreamer-sections.txt:
16674         * docs/gst/tmpl/gstelement.sgml:
16675         * docs/gst/tmpl/gstplugin.sgml:
16676         * gst/gstminiobject.c:
16677         * gst/gstvalue.h:
16678           docs now stop throwing warnings
16679
16680 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16681
16682         * docs/gst/gstreamer-sections.txt:
16683         * docs/gst/gstreamer.types:
16684         * docs/gst/tmpl/gstpad.sgml:
16685         * docs/gst/tmpl/gsttypes.sgml:
16686         * gst/base/gstadapter.h:
16687         * gst/base/gstbasesink.h:
16688         * gst/base/gstbasesrc.h:
16689         * gst/gstbin.h:
16690         * gst/gstbuffer.h:
16691         * gst/gstbus.h:
16692         * gst/gstcaps.h:
16693         * gst/gstclock.h:
16694         * gst/gstelement.h:
16695         * gst/gstevent.h:
16696         * gst/gstmessage.h:
16697         * gst/gstpad.h:
16698         * gst/gststructure.c:
16699         * gst/registries/gstlibxmlregistry.h:
16700           various documentation fixes
16701
16702 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16703
16704         * docs/gst/gstreamer-sections.txt:
16705         * docs/gst/tmpl/gstvalue.sgml:
16706           rearrange gstvalue section
16707         * gst/gstutils.c: (gst_element_state_get_name):
16708           NONE -> VOID
16709         * gst/gstvalue.c: (_gst_value_initialize):
16710         * gst/gstvalue.h:
16711           doc updates
16712
16713 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
16714
16715         * check/gst-libs/controller.c:
16716           Header include fix.
16717         * gst/base/gstbasetransform.c:
16718         (gst_base_transform_default_prepare_buf),
16719         (gst_base_transform_handle_buffer):
16720         * gst/base/gstbasetransform.h:
16721           Some more basetransform changes and fixes to enable sub-classes
16722           that modify buffer metadata only.
16723         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16724         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
16725         (gst_capsfilter_prepare_buf):
16726           If the output pad has fixed allowed caps and input buffers 
16727           don't have any, set the fixed caps on outgoing buffers.
16728
16729 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
16730         * check/elements/identity.c: (GST_START_TEST):
16731           Make the error a little clearer when the test fails because
16732           identity made a copy of the buffer.
16733         * docs/gst/gstreamer-sections.txt:
16734           New symbols in gstbasetransform.h
16735         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16736         (gst_base_transform_init), (gst_base_transform_transform_size),
16737         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16738         (gst_base_transform_default_prepare_buf),
16739         (gst_base_transform_get_unit_size),
16740         (gst_base_transform_buffer_alloc),
16741         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16742         (gst_base_transform_change_state),
16743         (gst_base_transform_set_passthrough),
16744         (gst_base_transform_set_in_place),
16745         (gst_base_transform_is_in_place):
16746         * gst/base/gstbasetransform.h:
16747           Change BaseTransform to separate in_place operate from same_caps
16748           output. in_place implies that the element can perform the transform
16749           on incoming buffers in-place, even if the caps on the output are
16750           different.
16751           Sub-class elements can now implement special buffer allocation
16752           methods for outgoing buffers if they wish to.
16753           Big documentation addition.
16754         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
16755         * gst/elements/gstelements.c:
16756           Changes for basetransform modifications.
16757         * gst/elements/Makefile.am:
16758         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
16759           Compile fix. Extra debug output.
16760
16761 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16762
16763         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
16764         (gst_pad_suite):
16765           add tests for valid pad naming
16766         * gst/check/gstcheck.c: (gst_check_log_message_func),
16767         (gst_check_log_critical_func):
16768           add ASSERT_WARNING
16769           remove printing of code, it is fragile when the code contains
16770           % and the line number is enough info
16771         * gst/check/gstcheck.h:
16772         * gst/gstpad.c: (gst_pad_template_new):
16773           fix memleaks
16774
16775 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16776
16777         * configure.ac:
16778           say what CHECK flags we use
16779         * docs/libs/gstreamer-libs.types:
16780         * libs/gst/controller/Makefile.am:
16781         * libs/gst/controller/gst-controller.c:
16782         * libs/gst/controller/gst-controller.h:
16783         * libs/gst/controller/gst-helper.c:
16784         * libs/gst/controller/gst-interpolation.c:
16785         * libs/gst/controller/gstcontroller.c:
16786         * libs/gst/controller/gsthelper.c:
16787         * libs/gst/controller/gstinterpolation.c:
16788         * tools/gst-inspect.c: (print_plugin_info):
16789           we don't use dashes in header names
16790
16791 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16792
16793         * check/Makefile.am:
16794         * check/gst/.cvsignore:
16795         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
16796         (gst_pipeline_suite), (main):
16797           adding a test for pipelines and state changes
16798         * gst/gstutils.c: (get_state_func):
16799           add some debugging
16800         * gstreamer.spec.in:
16801           fix up spec file
16802
16803 2005-09-08  Michael Smith <msmith@fluendo.com>
16804
16805         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
16806         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
16807         (gst_file_src_is_seekable), (gst_file_src_get_size),
16808         (gst_file_src_start):
16809         * gst/elements/gstfilesrc.h:
16810           Various fixes for unseekable, unmmapable, and non-normal files, so
16811           that fallback to read() rather than mmap() works.
16812         * gst/gstevent.c: (gst_event_new_newsegment):
16813           Allow newsegment events with segment_start == segment_end, as will
16814           correctly happen if you use filesrc on a zero-size file, for
16815           example.
16816
16817 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16818
16819         * gst/gstplugin.c: (gst_plugin_load_file):
16820           Call g_module_close when we don't load the module
16821
16822         * gst/registries/gstlibxmlregistry.c:
16823         (gst_xml_registry_get_property):
16824           Port leak fix from 0.8
16825
16826 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16827
16828         * docs/gst/gstreamer-docs.sgml:
16829         * docs/gst/tmpl/.cvsignore:
16830         * docs/gst/tmpl/gsttrace.sgml:
16831         * docs/gst/tmpl/gsttrashstack.sgml:
16832         * gst/Makefile.am:
16833         * gst/gst.h:
16834         * gst/gstelement.h:
16835         * gst/gstevent.h:
16836         * gst/gstmessage.c:
16837         * gst/gstmessage.h:
16838         * gst/gsttag.c:
16839         * gst/gsttag.h:
16840         * gst/gsttaginterface.c:
16841         * gst/gsttaginterface.h:
16842         * gst/gsttaglist.c:
16843         * gst/gsttaglist.h:
16844         * gst/gsttagsetter.c:
16845         * gst/gsttagsetter.h:
16846         * gst/gsttrace.c:
16847         * gst/gsttrace.h:
16848         * gst/gsttrashstack.c:
16849           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
16850           inlined docs for gsttrace, gsttrashstack
16851
16852 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16853
16854         * gst/Makefile.am:
16855         * gst/elements/gstbufferstore.h:
16856         * gst/elements/gsttypefindelement.c:
16857         * gst/elements/gsttypefindelement.h:
16858         * gst/gst.h:
16859         * gst/gsttypefind.c:
16860         * gst/gsttypefind.h:
16861         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
16862         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
16863         (gst_type_find_factory_dispose),
16864         (gst_type_find_factory_unload_thyself),
16865         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
16866         (gst_type_find_factory_get_caps),
16867         (gst_type_find_factory_get_extensions),
16868         (gst_type_find_factory_call_function):
16869         * gst/gsttypefindfactory.h:
16870         * gst/registries/gstlibxmlregistry.c:
16871         * gst/registries/gstxmlregistry.c:
16872           splitted gsttypefind into gsttypefind, gsttypefindfactory
16873
16874 2005-09-07  Andy Wingo  <wingo@pobox.com>
16875
16876         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
16877         condition whereby the pad's task function is entered before the
16878         pad_mode variable was set.
16879
16880 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16881
16882         * gst/gstpad.c: (gst_pad_alloc_buffer):
16883           Catch misbehaving pad_alloc functions that don't
16884           set up caps and do it for them.
16885
16886 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16887
16888         * check/pipelines/simple_launch_lines.c: (run_pipeline):
16889           test for pipe!=NULL
16890         * docs/gst/tmpl/.cvsignore:
16891         * docs/gst/tmpl/gstmemchunk.sgml:
16892         * docs/gst/tmpl/gstparse.sgml:
16893         * docs/gst/tmpl/gsttaglist.sgml:
16894         * docs/gst/tmpl/gsttagsetter.sgml:
16895         * docs/gst/tmpl/gsttypefind.sgml:
16896         * docs/gst/tmpl/gsttypefindfactory.sgml:
16897         * gst/gstmemchunk.c:
16898         * gst/gstparse.c:
16899         * gst/gsttag.c:
16900         * gst/gsttaginterface.c:
16901         * gst/gsttypefind.c:
16902         * gst/gsttypefind.h:
16903           inlined more docs
16904
16905 === release 0.9.2 ===
16906
16907 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16908
16909         * NEWS:
16910         * RELEASE:
16911         * configure.ac:
16912           releasing 0.9.2, "South"
16913
16914 2005-09-05  Andy Wingo  <wingo@pobox.com>
16915
16916         * gst/registries/gstxmlregistry.h:
16917         * gst/registries/gstxmlregistry.c: Um... resurrect...
16918         
16919         * gst/registries/gstxmlregistry.h:
16920         * gst/registries/gstxmlregistry.c: and update to newer API.
16921         Incidentally they should be a bit faster now that they don't have
16922         to parse the caps.
16923         
16924 2005-09-05  Andy Wingo  <wingo@pobox.com>
16925
16926         * gst/registries/gstxmlregistry.h:
16927         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
16928         replaced by the libxml registry a while back
16929
16930 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16931
16932         * docs/gst/tmpl/gstplugin.sgml:
16933         * gst/elements/gstelements.c:
16934         * gst/gst.c:
16935         * gst/gstplugin.c: (gst_plugin_register_func),
16936         (gst_plugin_desc_copy), (gst_plugin_desc_free),
16937         (gst_plugin_get_source):
16938         * gst/gstplugin.h:
16939         * gst/registries/gstlibxmlregistry.c: (load_plugin),
16940         (gst_xml_registry_save_plugin):
16941         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
16942         (gst_xml_registry_save_plugin):
16943         * tools/gst-inspect.c: (print_plugin_info):
16944           add a "source" plugin description field, to represent the source
16945           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
16946           will set it to PACKAGE, which is automake's idea of the name of
16947           the source project.
16948
16949 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16950
16951         * Makefile.am:
16952         * autogen.sh:
16953         * configure.ac:
16954         * docs/Makefile.am:
16955         * docs/faq/Makefile.am:
16956         * docs/gst/tmpl/gstelement.sgml:
16957         * docs/gst/tmpl/gsttypes.sgml:
16958         * docs/htmlinstall.mak:
16959         * docs/manual/Makefile.am:
16960         * docs/pwg/Makefile.am:
16961           reorganize doc build a little
16962           split out docbook and gtk-doc stuff
16963           have two separate --enable's and enable them through autogen
16964           but disable by default in configure (to be similar to other
16965           projects)
16966         * gstreamer.spec.in:
16967           clean up docs install
16968         * po/af.po:
16969         * po/az.po:
16970         * po/ca.po:
16971         * po/cs.po:
16972         * po/de.po:
16973         * po/en_GB.po:
16974         * po/fr.po:
16975         * po/it.po:
16976         * po/nb.po:
16977         * po/nl.po:
16978         * po/ru.po:
16979         * po/sq.po:
16980         * po/sr.po:
16981         * po/sv.po:
16982         * po/tr.po:
16983         * po/uk.po:
16984         * po/vi.po:
16985           translation updates
16986
16987 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
16988
16989         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
16990           Add comment.
16991           
16992         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16993         (gst_fake_sink_change_state):
16994           Make state change function thread-safe.
16995           
16996         * gst/gstpad.c: (gst_pad_alloc_buffer):
16997           Set offset on generic buffer allocated by fallback.
16998
16999 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
17000
17001         * docs/gst/gstreamer-sections.txt:
17002         * docs/gst/tmpl/gstelement.sgml:
17003         * gst/gstpad.c:
17004         * libs/gst/controller/gst-controller.c:
17005         (gst_controlled_property_set_interpolation_mode),
17006         (gst_controlled_property_new),
17007         (gst_controller_find_controlled_property):
17008          run the wingo-magic script against the docs
17009
17010 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
17011
17012         * docs/gst/gstreamer-docs.sgml:
17013         * docs/gst/gstreamer-sections.txt:
17014         * docs/gst/tmpl/.cvsignore:
17015         * docs/gst/tmpl/gstelementdetails.sgml:
17016         * docs/gst/tmpl/gstelementfactory.sgml:
17017         * gst/gst.c:
17018         * gst/gstbus.c:
17019         * gst/gstelementfactory.c:
17020         * gst/gstelementfactory.h:
17021           merged elementdetails docs into elementfactory docs
17022           inlined both
17023
17024 2005-09-02  Andy Wingo  <wingo@pobox.com>
17025
17026         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
17027         consider this enum an enum and not a flags.
17028
17029 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
17030
17031         * docs/gst/gstreamer-docs.sgml:
17032         * docs/gst/tmpl/.cvsignore:
17033         * docs/gst/tmpl/gstghostpad.sgml:
17034         * docs/gst/tmpl/gstiterator.sgml:
17035         * docs/gst/tmpl/gstmacros.sgml:
17036         * docs/gst/tmpl/gstrealpad.sgml:
17037         * docs/gst/tmpl/gstregistry.sgml:
17038         * docs/gst/tmpl/gstregistrypool.sgml:
17039         * docs/gst/tmpl/gststructure.sgml:
17040         * docs/gst/tmpl/gstsystemclock.sgml:
17041         * docs/gst/tmpl/gsttrace.sgml:
17042         * gst/gstghostpad.c:
17043         * gst/gstmacros.h:
17044         * gst/gstmemchunk.c:
17045         * gst/gstmemchunk.h:
17046         * gst/gstqueue.c:
17047         * gst/gstregistry.c:
17048         * gst/gstregistrypool.c:
17049         * gst/gststructure.c:
17050         * gst/gstsystemclock.c:
17051           more docs inlined
17052
17053 2005-09-02  Andy Wingo  <wingo@pobox.com>
17054
17055         * gst/gstelement.h (GstState): Renamed from GstElementState,
17056         changed to be a normal enum instead of flags.
17057         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
17058         munged to be GST_STATE_CHANGE_*.
17059         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
17060         work with the new state representation.
17061         (GstStateChange): New enumeration of possible state transitions.
17062         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
17063         (GstElementClass::change_state): Pass the GstStateChange along as
17064         an argument. Helps language bindings, so they don't have to use
17065         tricky lock-needing macros like GST_STATE_CHANGE ().
17066
17067         * scripts/update-states (file): New script. Run it on a file to
17068         update it for state naming and API changes. Updates files in
17069         place.
17070
17071         * All files updated for the new API.
17072
17073 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17074
17075         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
17076         * gst/gstutils.c: (gst_util_set_value_from_string),
17077         (gst_util_set_object_arg):
17078           fix a bunch of unchecked return values
17079         * tools/gst-complete.c: (main):
17080         * gstreamer.spec.in:
17081           clean up a little
17082
17083 2005-09-01  Wim Taymans  <wim@fluendo.com>
17084
17085         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17086         (gst_base_sink_event), (gst_base_sink_do_sync),
17087         (gst_base_sink_handle_event):
17088         * gst/base/gstbasesink.h:
17089         Handle newsegments more correctly.
17090
17091         * gst/gstbus.c:
17092         Fix docs.
17093
17094         * gst/gstevent.c: (gst_event_new_newsegment):
17095         A newsegment cannot have a start_time of -1
17096
17097 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
17098
17099         * win32/gstenumtypes.c:
17100         * win32/gstenumtypes.h:
17101           Update
17102
17103 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
17104
17105         * libs/gst/controller/gst-controller.c:
17106         (gst_controlled_property_set_interpolation_mode),
17107         (gst_controlled_property_new):
17108          fixed boolean again
17109
17110 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17111
17112         * docs/faq/gst-uninstalled:
17113           add -good
17114         * gst/gstevent.c:
17115         * gst/gstevent.h:
17116           remove wrong docs
17117         * gst/gstutils.c: (gst_element_link_filtered):
17118         * gst/gstutils.h:
17119           add gst_element_link_filtered
17120
17121 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
17122
17123         * docs/gst/gstreamer-docs.sgml:
17124         * docs/gst/gstreamer-sections.txt:
17125         * docs/gst/tmpl/.cvsignore:
17126         * docs/gst/tmpl/gsterror.sgml:
17127         * docs/gst/tmpl/gstfilter.sgml:
17128         * docs/gst/tmpl/gsturihandler.sgml:
17129         * docs/gst/tmpl/gsturitype.sgml:
17130         * docs/gst/tmpl/gstutils.sgml:
17131         * docs/gst/tmpl/gstxml.sgml:
17132         * gst/gsterror.c:
17133         * gst/gsterror.h:
17134         * gst/gstfilter.c:
17135         * gst/gsturi.c:
17136         * gst/gsturitype.c:
17137         * gst/gstutils.c:
17138         * gst/gstxml.c:
17139           inlined more docs, fixed double id-ref
17140
17141 2005-08-31  Wim Taymans  <wim@fluendo.com>
17142
17143         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
17144         (gst_base_transform_handle_buffer):
17145         Passthrough elements don't need the caps as they don't care.
17146
17147 2005-08-31  Wim Taymans  <wim@fluendo.com>
17148
17149         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
17150         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
17151         Don't leak refcounts on buffers.
17152
17153 2005-08-31  Wim Taymans  <wim@fluendo.com>
17154
17155         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
17156         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17157         (gst_base_transform_chain), (gst_base_transform_change_state):
17158         * gst/base/gstbasetransform.h:
17159         Handle the case where we are not negotiated more gracefully.
17160
17161 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
17162
17163         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
17164         (gst_file_src_map_region):
17165           Set READONLY flag on mmap'ed buffers, otherwise
17166           gst_buffer_make_writable() won't work properly (#314708).
17167
17168 2005-08-31  Wim Taymans  <wim@fluendo.com>
17169
17170         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
17171         passthrough elements can even do inplace on non writable
17172         buffers (as they don't touch them).
17173
17174 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
17175
17176         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
17177         (gst_test_mono_source_set_property),
17178         (gst_test_mono_source_class_init), (GST_START_TEST),
17179         (gst_controller_suite):
17180           more tests (hehe I have the most)
17181         * gst/gstbus.c:
17182           describe popping messages whenusing mulltiple sources
17183         * libs/gst/controller/gst-controller.c:
17184         (gst_controlled_property_set_interpolation_mode),
17185         (gst_controlled_property_new):
17186         * libs/gst/controller/gst-controller.h:
17187         * libs/gst/controller/gst-interpolation.c:
17188           implement boolean properties
17189
17190 2005-08-31  Wim Taymans  <wim@fluendo.com>
17191
17192         * gst/gstminiobject.c: (gst_mini_object_ref):
17193         Cannot assert that the refcount has to be positive
17194         since a disposed object can be resurrected.
17195
17196 2005-08-31  Wim Taymans  <wim@fluendo.com>
17197
17198         * gst/gstpad.c: (gst_pad_init):
17199         Revert change, need to first fix badly behaving 
17200         apps.
17201
17202 2005-08-30  Wim Taymans  <wim@fluendo.com>
17203
17204         * check/elements/fakesrc.c: (setup_fakesrc):
17205         * check/elements/identity.c: (setup_identity):
17206         Activate pads before using them.
17207
17208 2005-08-30  Wim Taymans  <wim@fluendo.com>
17209
17210         * gst/base/gstadapter.c: (gst_adapter_flush):
17211         Flushing out 0 bytes is ok for this function.
17212
17213         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17214         no newsegment gives a warning and sets the start/stop to 
17215         invalid.
17216
17217         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
17218         (gst_base_transform_set_passthrough):
17219         Some debug info.
17220
17221         * gst/gstminiobject.c: (gst_mini_object_ref):
17222         Check refcount here too.
17223
17224         * gst/gstpad.c: (gst_pad_init):
17225         Pads are initially flushing and refusing data.
17226
17227         * gst/gstutils.c: (gst_element_link_pads_filtered):
17228         When adding a capsfilter element make sure it has the
17229         same state as the parent bin.
17230
17231 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17232
17233         * docs/gst/tmpl/.cvsignore:
17234         * docs/gst/tmpl/gstformat.sgml:
17235         * docs/gst/tmpl/gstversion.sgml:
17236         * gst/gstbus.h:
17237         * gst/gstformat.c:
17238         * gst/gstformat.h:
17239         * gst/gstversion.h.in:
17240           more docs and two more inlined
17241
17242 2005-08-30  Wim Taymans  <wim@fluendo.com>
17243
17244         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
17245         Don't sync to clock.
17246
17247 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17248
17249         * docs/gst/gstreamer-sections.txt:
17250           ultral33t func10ns deserve to appear in the docs actually
17251         * docs/gst/tmpl/.cvsignore:
17252         * docs/gst/tmpl/gstcompat.sgml:
17253         * docs/gst/tmpl/gstconfig.sgml:
17254         * gst/check/gstcheck.c:
17255         * gst/gstcompat.h:
17256         * gst/gstconfig.h.in:
17257           inlined more docs
17258
17259 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17260
17261         * docs/gst/tmpl/.cvsignore:
17262         * docs/gst/tmpl/gstquery.sgml:
17263         * docs/gst/tmpl/gstutils.sgml:
17264         * gst/gstquery.c:
17265         * gst/gstquery.h:
17266           inlined and extended docs
17267
17268 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17269
17270         * check/gst-libs/controller.c: (GST_START_TEST),
17271         (gst_controller_suite):
17272           more tests
17273         * docs/gst/tmpl/gstutils.sgml:
17274         * docs/libs/gstreamer-libs-sections.txt:
17275         * docs/libs/tmpl/gstdataprotocol.sgml:
17276           include path fixes
17277         * examples/controller/audio-example.c: (main):
17278           controller example works now
17279         * gst/gstclock.h:
17280           doc fixes
17281         * tools/gst-inspect.c: (print_element_properties_info):
17282           show param spec flags
17283
17284 2005-08-29  Andy Wingo  <wingo@pobox.com>
17285
17286         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
17287
17288 2005-08-28  Andy Wingo  <wingo@pobox.com>
17289
17290         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
17291         as having two arguments instead of just one. Allows superclasses
17292         to access information on subclasses -- see the terrible for() loop
17293         in gtype.c:g_type_create_instance for the reason why. All callers
17294         changed.
17295
17296 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17297
17298         * docs/design/part-messages.txt:
17299           update info
17300         * docs/gst/tmpl/.cvsignore:
17301         * docs/gst/tmpl/gstcaps.sgml:
17302         * docs/gst/tmpl/gstclock.sgml:
17303         * gst/gstbus.c:
17304         * gst/gstcaps.c:
17305         * gst/gstcaps.h:
17306         * gst/gstclock.c:
17307         * gst/gstclock.h:
17308         * gst/gstmessage.c:
17309           added descriptions for bus and message
17310           inline caps and clock docs
17311
17312 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17313
17314         * gst/gstmessage.c:
17315         * gst/gstmessage.h:
17316           doc fixes
17317
17318 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17319
17320         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
17321           fix div-by-zero
17322
17323 2005-08-26  Andy Wingo  <wingo@pobox.com>
17324
17325         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
17326         element_set_state's return val.
17327         (test_2_elements): Add test that's been disabled for months.
17328
17329         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
17330         can-activate-pull properties.
17331
17332         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
17333         can-activate-pull properties. Implement is_seekable so fakesrc can
17334         operate in pull mode.
17335
17336         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
17337         properties.
17338         (gst_base_sink_activate, gst_base_sink_activate_pull)
17339         (gst_base_sink_activate_push): Make activation mode choosing work.
17340         Cleanups.
17341         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
17342         is right. Make pull mode work. Post an eos before pausing in pull
17343         mode.
17344         (gst_base_sink_change_state): Pay attention to the core's
17345         change_state() return val.
17346         
17347         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
17348         has-getrange properties. Cleanups.
17349         
17350         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
17351         has_getrange and replace with can_activate_pull and
17352         can_activate_push.
17353
17354         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
17355         locking comments. Remove has_loop, has_chain and replace with
17356         can_activate_pull and can_activate_push.
17357
17358 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
17359
17360         * configure.ac:
17361         * examples/Makefile.am:
17362         * examples/metadata/Makefile.am:
17363         * examples/metadata/read-metadata.c: (message_loop),
17364         (have_pad_handler), (make_pipeline), (print_tag), (main):
17365           Add metadata reading example that loops over a list of filenames,
17366           dumping any tags found.
17367
17368         * gst/gstbus.c: (gst_bus_dispose):
17369         * gst/gstelement.c: (gst_element_dispose):
17370           Release a few potentially-held references in dispose.
17371
17372 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17373
17374         * docs/gst/tmpl/gstminiobject.sgml:
17375           do *not* add tmpl/*.sgml files to CVS!
17376
17377 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17378
17379         * libs/gst/bytestream/.cvsignore:
17380         * libs/gst/bytestream/Makefile.am:
17381         * libs/gst/bytestream/adapter.c:
17382         * libs/gst/bytestream/adapter.h:
17383         * libs/gst/bytestream/bytestream.c:
17384         * libs/gst/bytestream/bytestream.h:
17385         * libs/gst/bytestream/filepad.c:
17386         * libs/gst/bytestream/filepad.h:
17387           removing obsolete files
17388
17389 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17390
17391         * docs/gst/gstreamer-docs.sgml:
17392         * docs/libs/gstreamer-libs-docs.sgml:
17393           disabed additional index entries again, as this makes docs-gen just
17394           slow and they aren't useful yet
17395         * docs/libs/gstreamer-libs-sections.txt:
17396           little -section.txt cleanup for libs
17397
17398 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
17399
17400         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17401         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
17402           fix up some debugging
17403         (gst_base_transform_get_unit_size),
17404         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
17405         (gst_base_transform_handle_buffer):
17406         * gst/base/gstbasetransform.h:
17407           handle and store timed NEWSEGMENT events so that subclasses that
17408           calculate time by counting samples have a segment_start time they
17409           need to add to their timestamps - see audioresample
17410
17411 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17412
17413         * gst/gstbin.h:
17414           removed ';' from the end of macro defs
17415         * docs/gst/gstreamer-docs.sgml:
17416         * docs/gst/gstreamer-sections.txt:
17417         * docs/gst/tmpl/.cvsignore:
17418         * gst/gstbus.h:
17419         * gst/gstelement.c: (gst_element_class_init),
17420         (gst_element_set_state), (activate_pads),
17421         (gst_element_save_thyself):
17422         * gst/gstevent.c: (gst_event_new_newsegment):
17423         * gst/gstevent.h:
17424         * gst/gstiterator.c:
17425         * gst/gstiterator.h:
17426         * gst/gstpad.c:
17427         * gst/gstprobe.h:
17428         * gst/gstutils.c: (gst_pad_query_convert):
17429         * gst/gstutils.h:
17430           fixed parameter name mismatches between source, header and docs
17431           added some more docs, resolved the last batch of unused elements in
17432           docs (now someone needs to doc them)
17433
17434 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17435
17436         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
17437         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
17438           don't walk through the plugins backwards.  Where is all this
17439           reversed logic coming from ?
17440
17441 2005-08-25  Wim Taymans  <wim@fluendo.com>
17442
17443         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17444         (gst_base_transform_transform_size),
17445         (gst_base_transform_configure_caps),
17446         (gst_base_transform_get_unit_size),
17447         (gst_base_transform_buffer_alloc),
17448         (gst_base_transform_change_state):
17449         * gst/base/gstbasetransform.h:
17450         Cache caps unit_size.
17451         Make sure we cannot negotiate up and downstream at the
17452         same time.
17453
17454 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17455
17456         * gst/gst.c: (init_pre), (init_post):
17457           register the installed plugin path after the env var
17458         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
17459         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
17460           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
17461           directories, so the tests can prefer uninstalled over installed
17462
17463 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17464
17465         * gst/base/gstbasetransform.h:
17466           comment
17467         * gst/gstpad.c:
17468           add to docs
17469
17470 2005-08-25  Wim Taymans  <wim@fluendo.com>
17471
17472         * gst/gstbin.c: (bin_bus_handler):
17473         Be a bit more conservative about the posted message.
17474         
17475         * gst/gstbus.c: (gst_bus_post):
17476         Some cleanups, warn wrong return values.
17477
17478 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
17479
17480         * check/gst/gstbin.c: (GST_START_TEST):
17481         * gst/gstbin.c: (bin_bus_handler):
17482         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17483         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17484         (gst_message_new_warning), (gst_message_new_tag),
17485         (gst_message_new_state_changed), (gst_message_new_segment_start),
17486         (gst_message_new_segment_done), (gst_message_new_custom):
17487         * gst/gstmessage.h:
17488         * tools/gst-launch.c: (event_loop):
17489         * tools/gst-md5sum.c: (event_loop):
17490           Revert unpopular change for GST_MESSAGE_SRC to GObject.
17491
17492 2005-08-25  Wim Taymans  <wim@fluendo.com>
17493
17494         * check/generic/states.c: (GST_START_TEST):
17495         Cleanup can be done at the end.
17496
17497         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
17498         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17499         (gst_task_get_state), (gst_task_start), (gst_task_pause):
17500         Oh boy.. Thanks for finding this, Thomas. 
17501
17502 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17503
17504         * docs/gst/gstreamer.types:
17505           added missing types
17506
17507 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17508
17509         * docs/gst/gstreamer-docs.sgml:
17510         * docs/gst/gstreamer-sections.txt:
17511         * docs/gst/tmpl/.cvsignore:
17512         * gst/gstbin.c:
17513         * gst/gstiterator.c:
17514         * gst/gstutils.c:
17515         * gst/registries/gstxmlregistry.h:
17516           added missing classes and symbols (123 more to go)
17517           removed removed symbols from section file
17518           fixed many doc-comments
17519
17520 2005-08-24  Wim Taymans  <wim@fluendo.com>
17521
17522         * check/generic/states.c: (GST_START_TEST):
17523         Make sure all tasks are stopped.
17524
17525         * check/gst/gstbin.c: (GST_START_TEST):
17526         Unref after usage for proper valgrinding.
17527
17528         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
17529         Really wait for the task to stop before destroying the
17530         mutex.
17531
17532         * gst/gstqueue.c: (gst_queue_sink_activate_push),
17533         (gst_queue_src_activate_push):
17534         Small cleanups. Don't stop the task when we did not start
17535         it.
17536
17537         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
17538         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17539         (gst_task_get_state), (gst_task_start), (gst_task_pause),
17540         (gst_task_join):
17541         * gst/gsttask.h:
17542         Protect the stream lock with the object lock.
17543         Disallow setting the stream lock when running.
17544         Add cleanup_all to wait for the threadpool to finish.
17545         Remove code to autoallocate a mutex if none was provided.
17546         Add _join() to wait for a task to stop.
17547         Protect the thread pool with a global lock.
17548
17549 2005-08-24  Wim Taymans  <wim@fluendo.com>
17550
17551         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17552         (gst_base_sink_get_times), (gst_base_sink_do_sync),
17553         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
17554         * gst/base/gstbasesink.h:
17555         Handle newsegment events correctly.
17556         Drop buffers out of the segment range.
17557
17558 2005-08-22  Andy Wingo  <wingo@pobox.com>
17559
17560         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
17561         macro, implements an interface and gstimplementsinterface for a
17562         new type.
17563
17564 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17565
17566         * check/Makefile.am:
17567         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
17568           add a test that does a bunch of state changes on elements
17569           needs some fixing for valgrind
17570         * check/states/sinks.c: (gst_object_suite):
17571           whitespace
17572         * gst/gstcaps.h:
17573           add prototype for gst_caps_is_equal_fixed
17574         * gst/gstplugin.c:
17575         * gst/gstregistrypool.c:
17576           doc fixes
17577
17578 2005-08-24  Andy Wingo  <wingo@pobox.com>
17579
17580         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
17581         convert a negative value. Doesn't make much sense. Mostly this is
17582         here to force callers to ensure -1 maps to -1.
17583
17584 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17585
17586         * docs/pwg/advanced-types.xml:
17587           Well done to Michael for catching my deliberate introduction
17588           of this spelling mistake. 
17589         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
17590         * gst/gstelement.h:
17591           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
17592           unlink pads before removing the element from the bin.
17593
17594 2005-08-24  Andy Wingo  <wingo@pobox.com>
17595
17596         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
17597         the same thing as GST_DEBUG=*:4.
17598         (parse_debug_level, parse_debug_category): New helper parsers.
17599
17600 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17601
17602         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17603         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
17604         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
17605         (gst_base_transform_buffer_alloc),
17606         (gst_base_transform_handle_buffer):
17607           use gboolean return values and pointers to size so we can use the
17608           full GST_BUFFER_SIZE range (guint) for buffer sizes
17609           use GstPadDirection for transform_caps
17610         * gst/base/gstbasetransform.h:
17611           rename get_size to get_unit_size since that's what it is
17612         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
17613           use GstPadDirection for transform_caps
17614         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17615         * gst/gstutils.h:
17616           cleanup and debugging
17617
17618 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17619
17620         * gst/gstelement.c: (gst_element_class_init),
17621         (gst_element_set_state), (activate_pads),
17622         (gst_element_save_thyself):
17623         * tools/gst-compprep.c: (main):
17624         * tools/gst-inspect.c: (print_element_properties_info):
17625         * tools/gst-xmlinspect.c: (print_element_properties):
17626           Fixed long standing mem-leak
17627
17628 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17629
17630         * check/gst/gstbin.c: (GST_START_TEST):
17631         * gst/gstbin.c: (bin_bus_handler):
17632         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17633         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17634         (gst_message_new_warning), (gst_message_new_tag),
17635         (gst_message_new_state_changed), (gst_message_new_segment_start),
17636         (gst_message_new_segment_done), (gst_message_new_custom):
17637         * gst/gstmessage.h:
17638         * tools/gst-launch.c: (event_loop):
17639         * tools/gst-md5sum.c: (event_loop):
17640           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
17641           that applications can sensibly post custom messages with references
17642           to their own objects.
17643
17644 2005-08-24  Andy Wingo  <wingo@pobox.com>
17645
17646         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
17647         already.
17648
17649 2005-08-24  Wim Taymans  <wim@fluendo.com>
17650
17651         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17652         (gst_base_transform_transform_caps),
17653         (gst_base_transform_transform_size),
17654         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17655         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
17656         (gst_base_transform_handle_buffer):
17657         * gst/base/gstbasetransform.h:
17658         Many fixes and new features added by Thomas. Can now also do
17659         transforms with variable sizes and a custom fixate_caps function.
17660
17661 2005-08-24  Wim Taymans  <wim@fluendo.com>
17662
17663         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17664         Some debugging.
17665
17666         * gst/gstclock.h:
17667         Cast to ClockTime before formatting to time.
17668
17669         * gst/gstutils.h:
17670         Cleanups.
17671
17672 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17673
17674         * check/gst-libs/controller.c: (GST_START_TEST),
17675         (gst_controller_suite):
17676         * docs/gst/tmpl/gstcaps.sgml:
17677         * docs/gst/tmpl/gstghostpad.sgml:
17678         * docs/gst/tmpl/gstquery.sgml:
17679         * docs/gst/tmpl/gstutils.sgml:
17680         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
17681         (gst_object_sink_values), (gst_object_get_value_arrays),
17682         (gst_object_get_value_array):
17683           gracefully handle helper method calls to objects that are not beeing
17684           controlled, added test case for that          
17685
17686 2005-08-23  Wim Taymans  <wim@fluendo.com>
17687
17688         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
17689         (gst_event_new_newsegment), (gst_event_parse_newsegment),
17690         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
17691         (gst_event_parse_qos), (gst_event_new_seek),
17692         (gst_event_parse_seek):
17693         * gst/gstevent.h:
17694         Some more debugging output and doc cleanups.
17695
17696         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17697         Fix possible deadlock.
17698
17699 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17700
17701         * docs/gst/gstreamer-docs.sgml:
17702         * docs/gst/gstreamer-sections.txt:
17703         * docs/gst/gstreamer.types:
17704         * docs/gst/tmpl/.cvsignore:
17705         * gst/gstbin.h:
17706         * gst/gstbus.c:
17707         * gst/gstelement.c:
17708         * gst/gstevent.h:
17709           added 100 symbols from gstreamer-unused.txt to the right sections
17710           fixed more broken comments
17711           added GstBus to docs
17712
17713 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17714
17715         * docs/gst/gstreamer-sections.txt:
17716         * docs/gst/tmpl/.cvsignore:
17717         * docs/gst/tmpl/gstbin.sgml:
17718         * docs/gst/tmpl/gstbuffer.sgml:
17719         * gst/base/gstbasesrc.c:
17720         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
17721         * gst/gstbuffer.c:
17722         * gst/gstbuffer.h:
17723         * tools/gst-launch.1.in:
17724           inlined more doc comments, added missing comments and fixed comments
17725           fixed typos
17726
17727 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17728
17729         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17730           some debugging
17731         * gst/gstcaps.h:
17732           whitespace fixes
17733         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
17734           more debugging
17735         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
17736         * gst/gststructure.h:
17737           add a fixate function for booleans; add a FIXME that these func
17738           names should probably be gst_structure_fixate_*
17739
17740 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17741
17742         * docs/gst/gstreamer-docs.sgml:
17743         * docs/gst/gstreamer-sections.txt:
17744         * gst/Makefile.am:
17745         * gst/gstbin.c: (gst_bin_get_type),
17746         (gst_bin_child_proxy_get_child_by_index),
17747         (gst_bin_child_proxy_get_children_count),
17748         (gst_bin_child_proxy_init):
17749         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17750         (gst_child_proxy_get_child_by_index),
17751         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
17752         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
17753         (gst_child_proxy_get), (gst_child_proxy_set_property),
17754         (gst_child_proxy_set_valist), (gst_child_proxy_set),
17755         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
17756         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
17757         * gst/gstchildproxy.h:
17758         * gst/parse/grammar.y:
17759         * tools/gst-inspect.c: (print_interfaces),
17760         (print_element_properties_info), (print_element_info):
17761           ported gstchildproxy over from 0.8
17762           ported gst-inspect fixes and enhancements over from 0.8
17763
17764 2005-08-22  Wim Taymans  <wim@fluendo.com>
17765
17766         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17767         (gst_base_transform_handle_buffer):
17768         Also call the transform function if we have ANY caps.
17769
17770         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
17771         Fix debug info.
17772
17773 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17774
17775         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
17776           Don't pretend to handle seek events if the source is not seekable
17777
17778 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17779
17780         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17781           Remove extra parameter to debug output
17782
17783         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17784         (gst_base_src_do_seek), (gst_base_src_activate_push):
17785           Fix seek event handling.
17786
17787         * gst/gstpipeline.c: (gst_pipeline_change_state):
17788         * gst/gstqueue.c: (gst_queue_handle_sink_event),
17789         (gst_queue_src_activate_push):
17790           Don't start the src pad task on FLUSH_STOP if the pad
17791           isn't linked.
17792           Debug changes.
17793
17794 2005-08-22  Wim Taymans  <wim@fluendo.com>
17795
17796         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
17797         Added check for gst_static_caps_get() refcounting.
17798
17799 2005-08-22  Wim Taymans  <wim@fluendo.com>
17800
17801         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
17802         Make _static_caps_get() refcounting sane.
17803         
17804         * gst/gstelement.c: (gst_element_set_state):
17805         Add g_return_val_if_fail() to protect against segfaults.
17806
17807 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
17808
17809         * docs/gst/tmpl/gstevent.sgml:
17810         * gst/gstevent.c:
17811         * gst/gstevent.h:
17812           inlined remaining docs, added missing doc comments
17813
17814 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17815
17816         * check/gst/gstbin.c: (GST_START_TEST):
17817           since we don't know when preroll is done, use refcount range
17818           check for the sink
17819         * gst/check/gstcheck.h:
17820           add macro for checking refcount range
17821
17822 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17823
17824         * check/Makefile.am:
17825           clean up environment for when registry gets built versus
17826           when actual tests are run; valgrind seems to not report
17827           leaks if GST_PLUGIN_PATH is set to some specific values
17828         * check/gst/gstbin.c: (GST_START_TEST):
17829           add more refcounting checks; maybe this exposes a
17830           preroll lock bug ?
17831         * common/check.mak:
17832         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17833         * gst/check/gstcheck.h:
17834         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
17835         (gst_bin_change_state):
17836         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
17837           add/fix debugging/whitespace
17838
17839 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17840
17841         * check/gst/gstevent.c: (event_probe), (test_event),
17842         (GST_START_TEST):
17843          Er, don't call gst_bin_watch_for_state_change you idiot.
17844
17845 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17846
17847         * check/Makefile.am:
17848           Use CHECK_CFLAGS and CHECK_LIBS
17849         * check/gst/gstevent.c: (event_probe), (test_event),
17850         (GST_START_TEST):
17851           Don't leak events.
17852         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17853         (gst_base_src_start), (gst_base_src_stop),
17854         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17855         (gst_base_src_change_state):
17856           Sprinkle gst_base_src_stop liberally around error paths to fix
17857           problems reusing a source after failed state changes.
17858         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17859         (helper_find_suggest), (gst_type_find_helper):
17860           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
17861         * gst/gstevent.h:
17862         * docs/gst/tmpl/gstevent.sgml:
17863           Migrate part of the docs from the SGML file. Wait for ensonic to
17864           tell me how I did it wrong ;)
17865         * tools/gst-typefind.c: (main):
17866           Extra robustness to state changes between files.
17867
17868 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17869
17870         * check/Makefile.am:
17871           don't valgrind the controller test - it's leaking - Stefan, HELP
17872         * gst/check/gstcheck.c: (gst_check_message_error),
17873         (gst_check_chain_func), (gst_check_setup_element),
17874         (gst_check_teardown_element), (gst_check_setup_src_pad),
17875         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
17876         (gst_check_teardown_sink_pad):
17877         * gst/check/gstcheck.h:
17878           add a bunch of methods to set up elements, and src and sink pads
17879         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
17880         * check/elements/identity.c: (setup_identity), (cleanup_identity),
17881         (GST_START_TEST):
17882           use them
17883         * gst/gstmessage.c:
17884         * gst/gsttag.h:
17885           whitespace/doc fixes
17886
17887 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17888
17889         * gst/gstelement.h:
17890           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
17891           be handled by the application and not always printed as well
17892
17893 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17894
17895         * check/Makefile.am:
17896           set GST_TOOLS_DIR
17897         * gst/check/gstcheck.c: (gst_check_message_error):
17898         * gst/check/gstcheck.h:
17899           add a fail_unless_equals_int
17900           add fail_unless for error messages
17901
17902 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17903
17904         * check/Makefile.am:
17905         * check/gst.supp:
17906         * common/Makefile.am:
17907         * common/check.mak:
17908         * common/gst.supp:
17909           factor out some of the common stuff so we can use it
17910
17911 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17912
17913         * check/Makefile.am:
17914         * check/gst/gstiterator.c: (GST_START_TEST):
17915         * check/gst/gstsystemclock.c: (GST_START_TEST),
17916         (gst_systemclock_suite):
17917         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
17918         * gst/gstclock.c:
17919           valgrind more tests
17920
17921 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17922
17923         * check/elements/.cvsignore:
17924         * check/elements/gstfakesrc.c:
17925           rename to name of element
17926         * check/elements/identity.c: (chain_func), (event_func),
17927         (setup_identity), (cleanup_identity), (GST_START_TEST),
17928         (identity_suite), (main):
17929           add a test for identity
17930         * check/Makefile.am:
17931         * pkgconfig/Makefile.am:
17932         * pkgconfig/gstreamer-check.pc.in:
17933         * pkgconfig/gstreamer-check-uninstalled.pc.in:
17934         * gst/check:
17935         * gst/Makefile.am:
17936         * configure.ac:
17937           move the check stuff to a library that gets installed
17938         * check/gst-libs/controller.c: (GST_START_TEST):
17939         * check/gst-libs/gdp.c:
17940         * check/gst/gst.c: (GST_START_TEST):
17941         * check/gst/gstbin.c:
17942         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17943         * check/gst/gstbus.c:
17944         * check/gst/gstcaps.c: (GST_START_TEST):
17945         * check/gst/gstelement.c:
17946         * check/gst/gstghostpad.c:
17947         * check/gst/gstiterator.c:
17948         * check/gst/gstmessage.c:
17949         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
17950         * check/gst/gstobject.c:
17951         * check/gst/gstpad.c: (GST_START_TEST):
17952         * check/gst/gststructure.c: (GST_START_TEST):
17953         * check/gst/gstsystemclock.c: (GST_START_TEST),
17954         (gst_systemclock_suite):
17955         * check/gst/gsttag.c: (gst_tag_suite):
17956         * check/gst/gstvalue.c:
17957         * check/pipelines/cleanup.c:
17958         * check/pipelines/simple_launch_lines.c:
17959         * check/states/sinks.c:
17960           change include statement
17961
17962         * docs/gst/gstreamer-sections.txt:
17963         * docs/gst/tmpl/gstpad.sgml:
17964           document more pad stuff
17965         * gst/gstminiobject.c: (gst_mini_object_ref),
17966         (gst_mini_object_unref):
17967           debug refcounting
17968
17969 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
17970
17971         * docs/gst/tmpl/gst.sgml:
17972         * gst/gst.c:
17973           eliminate another tmpl file, fix spelling in the long-description
17974
17975 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17976
17977         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17978         (test_event), (timediff), (gstevents_suite):
17979           Should fix build on 64-bit arch's
17980
17981 2005-08-18  Andy Wingo  <wingo@pobox.com>
17982
17983         Make sure that when a pipeline goes to PLAYING, that data has
17984         actually hit the sink.
17985
17986         * check/states/sinks.c (test_sink): A sink that doesn't get any
17987         data shouldn't return SUCCESS for going to either PLAYING or
17988         PAUSED. Test also the return values on the way back down.
17989
17990         * gst/gstelement.c (gst_element_set_state): When changing the
17991         state of an element currently changing state asynchronously, go to
17992         lost-state after commiting the pending state. Makes future calls
17993         to get_state continue to return ASYNC.
17994
17995         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
17996         ASYNC when going to PLAYING if we still don't have preroll, as can
17997         happen with live sources.
17998
17999 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18000
18001         * docs/pwg/advanced-types.xml:
18002           Hack long paragraph into 2 chunks as a workaround for buggy
18003           jadetex version in sid and breezy that loops infinitely and
18004           eats all RAM.
18005
18006 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18007
18008         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
18009         (test_event), (timediff), (gstevents_suite):
18010           Provide more error margin in clock measurements to allow for 
18011           g_get_current_time inaccuracies.
18012
18013 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18014
18015         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
18016         (test_event), (timediff), (gstevents_suite):
18017            Fix error message output so I might be able to tell why the
18018            test works here but fails on the build farm.
18019
18020 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18021
18022         * check/Makefile.am:
18023         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
18024         (test_event), (timediff), (gstevents_suite), (main):
18025           I wrote a test!
18026
18027         * docs/design/part-seeking.txt:
18028           Spelling correction
18029
18030         * docs/gst/tmpl/gstevent.sgml:
18031         * docs/gst/tmpl/gstfakesrc.sgml:
18032           Docs updates.
18033
18034         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18035           Treat a buffer-without-newsegment the same as a receiving 
18036           a newsegment not in time format, and disable syncing to the clock
18037           with a warning.
18038
18039         * gst/gstbus.c: (gst_bus_set_sync_handler):
18040           Assert if anyone tries to replace the existing sync_handler for bus, 
18041           as only the owner should be setting it.
18042
18043         * gst/gstevent.h:
18044           Have a fixed set of custom event enums with events identified by
18045           their structure name (as in 0.8), rather than a free-for-all
18046           allowing collisions between enum values from different plugins.
18047
18048         * gst/gstpad.c: (gst_pad_class_init):
18049           Docs change.
18050           
18051         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18052           Handle out-of-band downstream events from the sending thread.
18053
18054 2005-08-17  Andy Wingo  <wingo@pobox.com>
18055
18056         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
18057         play-timeout==0 to mean no timeout at all. In that case, don't
18058         bother with a get_state or a warning, just return directly, even
18059         if it's ASYNC.
18060
18061         * gst/base/gstbasetransform.c: Debug changes.
18062
18063         * gst/gstutils.h:
18064         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
18065         ensure bins post state change messages. A bit of a hack but I can't
18066         think of a way to avoid it.
18067
18068         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
18069
18070 2005-08-16  Andy Wingo  <wingo@pobox.com>
18071
18072         * gst/base/gstadapter.h:
18073         * gst/base/gstadapter.c (gst_adapter_take): New function, like
18074         peek() but you own the data. Not terribly efficient atm.
18075
18076 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18077
18078         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
18079         (gst_element_found_tags):
18080         * gst/gstutils.h:
18081           Add two utility functions for tag handling.
18082
18083 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18084
18085         * docs/manual/advanced-dataaccess.xml:
18086         * docs/manual/basics-helloworld.xml:
18087           Fix docs to use _bin_add() before _link(), which fixes the examples
18088           with recent core versions (reported by Madhan Raj M
18089           <raj_madan@rediffmail.com>, #313199).
18090
18091 2005-08-16  Wim Taymans  <wim@fluendo.com>
18092
18093         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18094         Added subtract checks.
18095
18096         * docs/design/part-events.txt:
18097         Some more docs about newsegment
18098
18099         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
18100         Fix FIXME
18101
18102         * gst/gstcaps.c: (gst_caps_to_string):
18103         Add comments, cleanups.
18104         
18105         * gst/gstelement.c: (gst_element_save_thyself):
18106         cleanups
18107         
18108         * gst/gstvalue.c: (gst_value_collect_int_range),
18109         (gst_string_unwrap), (gst_value_union_int_int_range),
18110         (gst_value_union_int_range_int_range),
18111         (gst_value_intersect_int_int_range),
18112         (gst_value_intersect_int_range_int_range),
18113         (gst_value_intersect_double_double_range),
18114         (gst_value_intersect_double_range_double_range),
18115         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
18116         (gst_value_subtract_int_range_int),
18117         (gst_value_subtract_double_range_double),
18118         (gst_value_subtract_double_range_double_range),
18119         (gst_value_subtract_from_list), (gst_value_subtract_list),
18120         (gst_value_can_compare), (gst_value_compare_fraction):
18121         Cleanups, add comments, remove unneeded asserts.
18122
18123 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18124
18125         * tools/gst-launch.c: (event_loop):
18126           don't convert NULL structures to strings
18127
18128 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
18129
18130         * docs/gst/gstreamer-sections.txt:
18131           made some defines private
18132         * docs/gst/tmpl/gstconfig.sgml:
18133         * docs/gst/tmpl/gstqueue.sgml:
18134         * docs/gst/tmpl/gsttaglist.sgml:
18135         * docs/gst/tmpl/gsttypes.sgml:
18136         * docs/gst/tmpl/gstutils.sgml:
18137         * docs/pwg/appendix-porting.xml:
18138         * gst/base/gstbasesink.h:
18139         * gst/base/gstbasesrc.c:
18140         * gst/base/gstbasesrc.h:
18141         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
18142         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
18143         * gst/gstelement.c: (gst_element_class_init):
18144         * gst/gstpad.c: (gst_pad_class_init):
18145         * gst/gstqueue.c: (gst_queue_class_init):
18146         * gst/gstxml.c: (gst_xml_class_init):
18147           documented all undocumented signal inline
18148         * libs/gst/controller/gst-controller.h:
18149           added padding
18150
18151 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18152
18153         * docs/pwg/appendix-porting.xml:
18154           Document _set_link_function -> _set_setcaps_function.
18155
18156 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18157
18158         * check/Makefile.am:
18159           add a .check target for running the check
18160         * check/gst-libs/controller.c: (GST_START_TEST):
18161           cosmetic fixups
18162         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18163           complete checks for gstbuffer; would be nice if I could get the
18164           gcov stuff to work so I can see if I actually completed gstbuffer.c
18165         * check/gstcheck.h:
18166           add ASSERT_BUFFER_REFCOUNT
18167
18168 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
18169
18170         * docs/gst/gstreamer-sections.txt:
18171         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
18172         * gst/gsttag.h:
18173           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
18174           spew out a warning if a tag that is already registered
18175           is re-registered, unless it is re-registered with a 
18176           different type (#308438).
18177
18178 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
18179
18180         * docs/pwg/appendix-porting.xml:
18181         * docs/pwg/building-state.xml:
18182           Add some paragraphs about state changes in 0.9 to the PWG
18183           and the porting guide, in particular about the new meaning
18184           of GST_STATE_PAUSED and how to write state change functions
18185           with concurrent access by multiple threads in mind.
18186
18187 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
18188
18189         * docs/gst/gstreamer-docs.sgml:
18190         * docs/libs/gstreamer-libs-docs.sgml:
18191           added deprecation and since indexes
18192         * libs/gst/controller/gst-controller.c:
18193         * libs/gst/controller/gst-helper.c:
18194           added since tags
18195
18196
18197 2005-08-11  Wim Taymans  <wim@fluendo.com>
18198
18199         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
18200         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
18201         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
18202         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
18203         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
18204         (gst_ghost_pad_set_target):
18205         Actually implement (re)setting the target on a ghostpad
18206         as described in the docs.
18207
18208 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
18209
18210         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
18211           Check whether GST_DEBUG_NO_COLOR environment variable is
18212           set and disable coloured debug output if that is the case.
18213
18214 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
18215
18216         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18217         (gst_type_find_helper):
18218           The memory returned by gst_type_find_peek() needs to
18219           stay valid until the end of a typefind function, and
18220           typefind functions may keep results from different 
18221           offsets around, so we can't just unref the buffer from
18222           the previous _peek(), but have to save all buffers 
18223           returned by _peek() until typefinding is done and only
18224           free them then.
18225
18226 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
18227
18228         * docs/gst/gstreamer-sections.txt:
18229         * gst/gstutils.h:
18230           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
18231
18232 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18233
18234         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
18235           Fix a pretty good memleak.
18236
18237 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
18238
18239         * gst/gstiterator.h:
18240           Fix wrong include and 'make distcheck'.
18241
18242 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18243
18244         * gst/gstbin.c: (bin_bus_handler):
18245           Use gst_element_post_message() instead.
18246
18247 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
18248
18249         * gst/base/gstadapter.h:
18250         * gst/base/gstbasesink.h:
18251         * gst/base/gstbasesrc.h:
18252         * gst/base/gstbasetransform.h:
18253         * gst/base/gstcollectpads.h:
18254         * gst/base/gstpushsrc.h:
18255         * gst/gstiterator.h:
18256           Add padding to our base elements' class and instance structs and
18257           to GstIterator (you will need to rebuild all plugins and apps!)
18258
18259 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18260
18261         * gst/gstbin.c: (bin_bus_handler):
18262           Make default message forwarding from child->bus to bin->bus
18263           threadsafe and make it not emit warnings if the parent has no bus.
18264
18265 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18266
18267         * gst/gstelement.c: (activate_pads):
18268           On paused->ready, set pad->caps to NULL, as is the documented
18269           behaviour in this state change. Fixes playback of series of
18270           media files when visualization is enabled in Totem.
18271
18272 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18273
18274         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
18275           Allow NULL as filter-caps (which means "any").
18276
18277 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18278
18279         * docs/libs/gstreamer-libs-sections.txt:
18280         * libs/gst/controller/gst-controller.c:
18281         * libs/gst/controller/gst-controller.h:
18282         * libs/gst/controller/gst-helper.c:
18283           adding more entries to the docs and fix small doc-bugs
18284
18285 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18286
18287         * docs/gst/gstreamer-docs.sgml:
18288         * docs/gst/gstreamer-sections.txt:
18289         * docs/gst/gstreamer.types:
18290         * docs/gst/tmpl/gstbasesink.sgml:
18291         * docs/gst/tmpl/gstbasesrc.sgml:
18292         * docs/gst/tmpl/gstbasetransform.sgml:
18293         * docs/gst/tmpl/gstfakesrc.sgml:
18294         * gst/base/gstcollectpads.c:
18295         * gst/base/gstcollectpads.h:
18296         * libs/gst/controller/gst-controller.c:
18297         * libs/gst/controller/gst-controller.h:
18298         * libs/gst/controller/gst-helper.c:
18299         * libs/gst/controller/gst-interpolation.c:
18300         * libs/gst/controller/lib.c:
18301           added long/short desc for controller docs
18302           added collectpads base class docs
18303           added correct includes to base-class docs
18304
18305 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18306
18307         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
18308         (gst_test_mono_source_set_property),
18309         (gst_test_mono_source_class_init), (GST_START_TEST),
18310         (gst_controller_suite):
18311         * docs/gst/gstreamer-docs.sgml:
18312         * docs/gst/gstreamer-sections.txt:
18313         * docs/gst/gstreamer.types:
18314         * docs/libs/gstreamer-libs-docs.sgml:
18315         * docs/libs/gstreamer-libs-sections.txt:
18316         * gst/base/gstadapter.c:
18317         * libs/gst/controller/gst-controller.c:
18318         (gst_controlled_property_new), (gst_controlled_property_free),
18319         (gst_controller_new_valist),
18320         (gst_controller_remove_properties_valist),
18321         (gst_controller_sink_values), (_gst_controller_finalize):
18322         * libs/gst/controller/gst-controller.h:
18323         * libs/gst/controller/gst-helper.c:
18324         (gst_object_control_properties), (gst_object_uncontrol_properties),
18325         (gst_object_get_controller), (gst_object_set_controller),
18326         (gst_object_sink_values), (gst_object_get_value_arrays),
18327         (gst_object_get_value_array):
18328           more tests (and fixes) for the controller
18329           more docs for the controller
18330           integrated companies docs for the adapter 
18331
18332 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18333
18334         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
18335         (GST_START_TEST), (fakesrc_suite):
18336           add tests for sizetype
18337
18338 2005-08-04  Andy Wingo  <wingo@pobox.com>
18339
18340         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
18341         fixes buffer_alloc proxying among other things.
18342
18343         * gst/base/gstbasetransform.c:
18344         * gst/base/gstbasetransform.h:
18345         Revert patch to gstbasetransform from 7-28 removing
18346         delay_configure.
18347
18348         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
18349         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
18350         Semantics changed, should return not the size of the output buffer
18351         but the byte size of a buffer with a given caps.
18352
18353         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
18354         debug object.
18355         (gst_base_transform_configure_caps): Don't set out_size here: (in,
18356         out) are not the pad caps until setcaps finishes.
18357         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
18358         not-in-place case as well. Deal with changing from in-place to
18359         not-in-place within calling pad_alloc_buffer. Still a bit
18360         concerned about the overhead here...
18361
18362 2005-08-03  Andy Wingo  <wingo@pobox.com>
18363
18364         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
18365         fixating is an error.
18366
18367 2005-08-04  Edward Hervey  <edward@fluendo.com>
18368
18369         * gst/base/gstadapter.h: 
18370         Added gst_adapter_get_type() to the header
18371
18372 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18373
18374         * check/Makefile.am:
18375         * check/gst-libs/controller.c:
18376         * libs/gst/controller/gst-controller.c:
18377         (gst_controller_new_valist):
18378           added check test suite for the controller
18379         * gst/base/gstpushsrc.c:
18380           fixed a doc typo
18381
18382 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18383
18384         * docs/gst/Makefile.am:
18385         * docs/gst/gstreamer-docs.sgml:
18386         * docs/gst/gstreamer-sections.txt:
18387         * docs/gst/gstreamer.types:
18388         * docs/gst/tmpl/gstfakesrc.sgml:
18389         * gst/base/README:
18390         * gst/base/gstbasesink.c:
18391         * gst/base/gstbasesink.h:
18392         * gst/base/gstbasesrc.c:
18393         * gst/base/gstbasesrc.h:
18394         * gst/base/gstbasetransform.c:
18395         * gst/base/gstpushsrc.c:
18396         * gst/base/gstpushsrc.h:
18397           add short/long description docs to base classes
18398           add pushsrc to the docs
18399           remove consolidated doc fragments
18400
18401 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18402
18403         * configure.ac:
18404         * docs/libs/Makefile.am:
18405         * docs/libs/gstreamer-libs-docs.sgml:
18406         * docs/libs/gstreamer-libs-sections.txt:
18407         * docs/libs/gstreamer-libs.types:
18408         * examples/Makefile.am:
18409         * examples/controller/.cvsignore:
18410         * examples/controller/Makefile.am:
18411         * examples/controller/audio-example.c: (main):
18412         * libs/gst/Makefile.am:
18413         * libs/gst/controller/.cvsignore:
18414         * libs/gst/controller/Makefile.am:
18415         * libs/gst/controller/gst-controller.c:
18416         (on_object_controlled_property_changed), (gst_timed_value_compare),
18417         (gst_timed_value_find),
18418         (gst_controlled_property_set_interpolation_mode),
18419         (gst_controlled_property_new), (gst_controlled_property_free),
18420         (gst_controller_find_controlled_property),
18421         (gst_controller_new_valist), (gst_controller_new),
18422         (gst_controller_remove_properties_valist),
18423         (gst_controller_remove_properties), (gst_controller_set),
18424         (gst_controller_set_from_list), (gst_controller_unset),
18425         (gst_controller_get), (gst_controller_get_all),
18426         (gst_controller_sink_values), (gst_controller_get_value_arrays),
18427         (gst_controller_get_value_array),
18428         (gst_controller_set_interpolation_mode),
18429         (_gst_controller_finalize), (_gst_controller_init),
18430         (_gst_controller_class_init), (gst_controller_get_type):
18431         * libs/gst/controller/gst-controller.h:
18432         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
18433         (g_object_uncontrol_properties), (g_object_get_controller),
18434         (g_object_set_controller), (g_object_sink_values),
18435         (g_object_get_value_arrays), (g_object_get_value_array):
18436         * libs/gst/controller/gst-interpolation.c:
18437         (gst_controlled_property_find_timed_value_node),
18438         (interpolate_none_get), (interpolate_trigger_get),
18439         (interpolate_trigger_get_value_array):
18440         * libs/gst/controller/lib.c: (gst_controller_init):
18441         * pkgconfig/Makefile.am:
18442         * pkgconfig/gstreamer-control-uninstalled.pc.in:
18443         * pkgconfig/gstreamer-control.pc.in:
18444         * testsuite/Makefile.am:
18445         * testsuite/controller/.cvsignore:
18446         * testsuite/controller/Makefile.am:
18447         * testsuite/controller/interpolator.c: (main):
18448           added controller code
18449           removed dparam pc files
18450
18451 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
18452         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
18453         (gst_collectpads_stop):
18454           Broadcast the condition when shutting down, to make sure we wake all
18455           threads up. Shut down pads on finalize, for safety.
18456
18457 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
18458         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18459         (gst_base_transform_handle_buffer),
18460         (gst_base_transform_change_state):
18461           Handle PAUSED->READY->PAUSED transition after negotiation
18462           occurred already.
18463         * gst/gstmessage.c: (gst_message_init):
18464           Extra piece of debug for new messages.
18465
18466 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
18467
18468         * configure.ac:
18469         * docs/gst/tmpl/gstbasesrc.sgml:
18470         * docs/gst/tmpl/gstelement.sgml:
18471         * docs/gst/tmpl/gstevent.sgml:
18472         * docs/gst/tmpl/gstfakesrc.sgml:
18473         * docs/gst/tmpl/gstformat.sgml:
18474         * docs/gst/tmpl/gstghostpad.sgml:
18475         * docs/gst/tmpl/gstpad.sgml:
18476         * docs/gst/tmpl/gstquery.sgml:
18477         * docs/gst/tmpl/gststructure.sgml:
18478         * docs/gst/tmpl/gsttaglist.sgml:
18479         * docs/gst/tmpl/gstvalue.sgml:
18480         * docs/libs/gstreamer-libs-docs.sgml:
18481         * docs/libs/gstreamer-libs-sections.txt:
18482         * docs/libs/gstreamer-libs.types:
18483         * libs/gst/Makefile.am:
18484         * libs/gst/control/.cvsignore:
18485         * libs/gst/control/Makefile.am:
18486         * libs/gst/control/control.c:
18487         * libs/gst/control/control.h:
18488         * libs/gst/control/dparam.c:
18489         * libs/gst/control/dparam.h:
18490         * libs/gst/control/dparam_smooth.c:
18491         * libs/gst/control/dparam_smooth.h:
18492         * libs/gst/control/dparamcommon.h:
18493         * libs/gst/control/dparammanager.c:
18494         * libs/gst/control/dparammanager.h:
18495         * libs/gst/control/dplinearinterp.c:
18496         * libs/gst/control/dplinearinterp.h:
18497         * libs/gst/control/unitconvert.c:
18498         * libs/gst/control/unitconvert.h:
18499         * testsuite/Makefile.am:
18500         * testsuite/dynparams/.cvsignore:
18501         * testsuite/dynparams/Makefile.am:
18502         * testsuite/dynparams/dparamstest.c:
18503         * tools/Makefile.am:
18504         * tools/gst-inspect.c: (print_element_info), (main):
18505         * tools/gst-xmlinspect.c: (print_element_info), (main):
18506           deactivate and remove dparams (libgstcontrol)
18507
18508 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18509
18510         * gst/elements/gsttypefindelement.c:
18511         (gst_type_find_element_have_type), (gst_type_find_element_init),
18512         (stop_typefinding), (gst_type_find_element_handle_event),
18513         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18514         * gst/elements/gsttypefindelement.h:
18515           Set caps on all outgoing buffers, not just the first one.
18516
18517 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18518
18519         * gst/elements/gsttypefindelement.c:
18520         (gst_type_find_element_have_type),
18521         (gst_type_find_element_check_set_buffer_caps),
18522         (gst_type_find_element_init), (stop_typefinding),
18523         (gst_type_find_element_handle_event),
18524         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18525         * gst/elements/gsttypefindelement.h:
18526           Set caps on first outgoing buffer when we've found the type.
18527
18528 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18529
18530         * docs/gst/gstreamer-docs.sgml:
18531         * docs/gst/gstreamer-sections.txt:
18532         * docs/gst/tmpl/gstscheduler.sgml:
18533         * docs/gst/tmpl/gstschedulerfactory.sgml:
18534           Remove some old cruft from docs.
18535
18536 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
18537
18538         * gst/gstpad.h:
18539           Fix inline docs for GstPadLinkReturn.
18540           
18541         * gst/gststructure.c: (gst_structure_has_name):
18542         * gst/gststructure.h:
18543         * docs/gst/gstreamer-sections.txt:
18544           New API: gst_structure_has_name().
18545
18546 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
18547
18548         * configure.ac:
18549           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
18550           and _LARGEFILE_SOURCE in config.h as required. Do not 
18551           export those flags in our .pc files any longer (#142209).
18552
18553           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
18554
18555         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
18556         (gst_file_sink_do_seek), (gst_file_sink_event),
18557         (gst_file_sink_get_current_offset), (gst_file_sink_render):
18558           Redo seek/tell calls with large file support in mind; add some
18559           debugging messages; add log message that tells us when large
18560           file support is unavailable or not enabled for some reason.
18561
18562         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
18563           Add log message that tells us when large file support 
18564           is unavailable or not enabled for some reason.
18565
18566 2005-07-29  Wim Taymans  <wim@fluendo.com>
18567
18568         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18569         Added test for removing an element with ghostpad from a bin.
18570         Fixed test as current implementation does the right thing.
18571
18572         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
18573         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
18574         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
18575         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
18576         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
18577         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
18578         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
18579         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
18580         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
18581         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
18582         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
18583         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
18584         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
18585         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
18586         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
18587         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
18588         * gst/gstghostpad.h:
18589         Clean up ghostpads, remove properties for internal stuff.
18590         Make threadsafe.
18591         Fix refcounting.
18592         Prepare for switching targets, not all use cases work yet.
18593
18594 2005-07-29  Wim Taymans  <wim@fluendo.com>
18595
18596         * docs/design/part-gstghostpad.txt:
18597         Small update.
18598
18599         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18600         (gst_bin_remove_func):
18601         Unlinking pads while holding the bin LOCK is not a good
18602         idea.
18603
18604         * gst/gstpad.c: (gst_pad_class_init),
18605         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
18606         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
18607         No prob setting template after creating the pad.
18608
18609 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
18610
18611         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
18612         (gst_bus_peek), (gst_bus_source_dispatch),
18613         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
18614         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
18615           gst_bus_poll may be called from other threads. Handle
18616           this nicely by not making poll_data disappear off the
18617           stack once gst_bus_poll returns.
18618           gst_bus_peek now increments the refcount on the returned
18619           message.
18620
18621 2005-07-29  Wim Taymans  <wim@fluendo.com>
18622
18623         * docs/design/part-gstghostpad.txt:
18624         Overview of current GhostPad datastructures and use
18625         cases for changing the target.
18626
18627 2005-07-28  Wim Taymans  <wim@fluendo.com>
18628
18629         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18630         Added checks for hierarchy consistency whan adding linked
18631         elements to bins.
18632
18633         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18634         Added check to test element scheduling without bin/pipeline.
18635
18636         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18637         First add elements to bin, then link.
18638         
18639         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18640         (gst_bin_remove_func):
18641         Unlink pads from elements added/removed from bin to maintain
18642         hierarchy consistency.
18643
18644 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18645
18646         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18647         (gst_base_transform_handle_buffer):
18648         * gst/base/gstbasetransform.h:
18649           Remove broken delay_configure (fixes renegotiation of software
18650           scaling pipelines); remove some leftover printf()s.
18651
18652 2005-07-28  Wim Taymans  <wim@fluendo.com>
18653
18654         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18655         Added some more tests for wrong hierarchy
18656
18657         * docs/design/part-overview.txt:
18658         Some updates.
18659
18660         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
18661         Cleanups.
18662
18663         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
18664         (gst_element_dispose):
18665         Some more cleanups.
18666
18667         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18668         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
18669         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18670         (gst_pad_set_caps), (gst_pad_send_event):
18671         Check for correct hierarchy when linking pads. Moving to
18672         strict requirement for ghostpads when linking elements in
18673         different bins.
18674
18675         * gst/gstpad.h:
18676         Clean ups. Added WRONG_HIERARCHY return value.
18677
18678 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18679
18680         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18681           Better debug if no transform is possible.
18682
18683 2005-07-27  Wim Taymans  <wim@fluendo.com>
18684
18685         * docs/random/wtay/network-transp:
18686         Some old doc I had.
18687
18688 2005-07-27  Wim Taymans  <wim@fluendo.com>
18689
18690         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18691         (gst_dp_event_from_packet):
18692         Fix serialization of seek events.
18693
18694 2005-07-27  Wim Taymans  <wim@fluendo.com>
18695
18696         * check/gst-libs/gdp.c: (GST_START_TEST):
18697         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18698         Fix compilation and fix event serialization.
18699
18700 2005-07-27  Wim Taymans  <wim@fluendo.com>
18701
18702         * CHANGES-0.9:
18703         * docs/design/part-TODO.txt:
18704         * docs/design/part-events.txt:
18705         Some docs updates
18706
18707         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18708         (gst_base_sink_event), (gst_base_sink_do_sync),
18709         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18710         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18711         (gst_base_src_do_seek), (gst_base_src_event_handler),
18712         (gst_base_src_loop):
18713         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18714         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18715         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18716         (gst_base_transform_event), (gst_base_transform_handle_buffer),
18717         (gst_base_transform_set_passthrough),
18718         (gst_base_transform_is_passthrough):
18719         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18720         * gst/elements/gstfilesink.c: (gst_file_sink_event):
18721         Event updates.
18722
18723         * gst/gstbuffer.h:
18724         Use faster casts.
18725
18726         * gst/gstelement.c: (gst_element_seek):
18727         * gst/gstelement.h:
18728         Update gst_element_seek.
18729
18730         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
18731         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
18732         (gst_event_new_flush_start), (gst_event_new_flush_stop),
18733         (gst_event_new_eos), (gst_event_new_newsegment),
18734         (gst_event_parse_newsegment), (gst_event_new_tag),
18735         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
18736         (gst_event_parse_qos), (gst_event_new_seek),
18737         (gst_event_parse_seek), (gst_event_new_navigation):
18738         * gst/gstevent.h:
18739         Make GstEvent use GstStructure. Add parsing code, make sure the
18740         API is sufficiently generic.
18741         Mark possible directions of events and serialization.
18742
18743         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
18744         (_gst_message_copy), (gst_message_new_segment_start),
18745         (gst_message_new_segment_done), (gst_message_new_custom),
18746         (gst_message_parse_segment_start),
18747         (gst_message_parse_segment_done):
18748         Small cleanups.
18749
18750         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18751         (gst_pad_set_caps), (gst_pad_send_event):
18752         Update for new events. 
18753         Catch events sent in wrong directions.
18754
18755         * gst/gstqueue.c: (gst_queue_link_src),
18756         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18757         (gst_queue_handle_src_query):
18758         Event updates.
18759
18760         * gst/gsttag.c:
18761         * gst/gsttag.h:
18762         Remove event code from this file.
18763
18764         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18765         (gst_dp_event_from_packet):
18766         Event updates.
18767
18768 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18769
18770         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
18771         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18772         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
18773           Make debugging actually useful.
18774
18775 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18776
18777         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
18778         (gst_pad_fixate_caps):
18779           Implement default fixation once again, so that gst_pad_fixate()
18780           actually does anything at all. This probably needs to be some
18781           sort of a last resort, and use profile-based fixation first, but
18782           since that doesn't exist yet, this is the best we have. Fixes
18783           visualization in Totem.
18784
18785 2005-07-22  Wim Taymans  <wim@fluendo.com>
18786
18787         * docs/design/part-events.txt:
18788         Small update.
18789
18790         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18791         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
18792         (gst_base_sink_activate_pull):
18793         Some more comments.
18794
18795         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
18796         (gst_fake_src_create):
18797         Fix handoff marshall.
18798
18799         * gst/elements/gstidentity.c: (gst_identity_class_init),
18800         (gst_identity_transform_ip):
18801         We're a real inplace element.
18802
18803         * gst/gstbus.c: (gst_bus_post):
18804         Added some comments.
18805
18806         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
18807         * tests/muxing/case1.c: (main):
18808         * tests/sched/dynamic-pipeline.c: (main):
18809         * tests/sched/interrupt1.c: (main):
18810         * tests/sched/interrupt2.c: (main):
18811         * tests/sched/interrupt3.c: (main):
18812         * tests/sched/runxml.c: (main):
18813         * tests/sched/sched-stress.c: (main):
18814         * tests/seeking/seeking1.c: (event_received), (main):
18815         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18816         (main):
18817         * tests/threadstate/threadstate3.c: (main):
18818         * tests/threadstate/threadstate4.c: (main):
18819         * tests/threadstate/threadstate5.c: (main):
18820         Fix the tests.
18821
18822 2005-07-21  Wim Taymans  <wim@fluendo.com>
18823
18824         * docs/design/part-seeking.txt:
18825         Some small additions.
18826
18827         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18828         (gst_base_sink_get_times), (gst_base_sink_do_sync),
18829         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18830         * gst/base/gstbasesink.h:
18831         discont values are gint64, handle the math correctly.
18832
18833         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18834         Make the basesrc report error if the source pad is not linked.
18835
18836         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18837         (gst_queue_loop), (gst_queue_handle_src_query),
18838         (gst_queue_src_activate_push):
18839         Make queue collect data even if the srcpad is not linked.
18840         Start pushing out data as soon as it is linked.
18841
18842         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
18843         * gst/gstutils.h:
18844         Added gst_flow_get_name() to ease error reporting.
18845
18846 2005-07-20  Wim Taymans  <wim@fluendo.com>
18847
18848         * gst/gstmessage.c: (gst_message_new_segment_start),
18849         (gst_message_new_segment_done), (gst_message_parse_segment_start),
18850         (gst_message_parse_segment_done):
18851         * gst/gstmessage.h:
18852         Added a bunch of messages for advanced seeking.
18853
18854         * gst/parse/grammar.y:
18855         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
18856         (gst_dpman_state_changed):
18857         Fix some new-pad -> pad-added signals
18858
18859 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18860
18861         * docs/manual/appendix-porting.xml:
18862         * docs/pwg/appendix-porting.xml:
18863           Document new-pad/state-change signal renames and the FixedList
18864           type rename.
18865
18866 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18867
18868         * docs/manual/advanced-autoplugging.xml:
18869         * docs/manual/basics-helloworld.xml:
18870         * docs/manual/basics-pads.xml:
18871         * docs/random/ds/0.9-suggested-changes:
18872         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
18873         * gst/gstelement.h:
18874         * gst/gstevent.h:
18875         * gst/gstformat.h:
18876         * gst/gstquery.h:
18877         * gst/gststructure.c: (gst_structure_value_get_generic_type),
18878         (gst_structure_parse_array), (gst_structure_parse_value):
18879         * gst/gstvalue.c: (gst_type_is_fixed),
18880         (gst_value_list_prepend_value), (gst_value_list_append_value),
18881         (gst_value_list_get_size), (gst_value_list_get_value),
18882         (gst_value_transform_array_string), (gst_value_serialize_array),
18883         (gst_value_deserialize_array), (gst_value_intersect_array),
18884         (gst_value_is_fixed), (_gst_value_initialize):
18885         * gst/gstvalue.h:
18886           GstElement::new-pad -> pad-added, GstElement::state-change ->
18887           state-changed, GstValueFixedList -> GstValueArray, add format and
18888           flags as their own arguments in gst_element_seek() (should improve
18889           "bindeability"), remove function generators since they don't work
18890           under a whole bunch of compilers (they were deprecated already
18891           anyway).
18892
18893 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18894
18895         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18896         (_gst_debug_register_funcptr):
18897         * gst/gstinfo.h:
18898           Fix illegal cast on some platforms (#309253).
18899
18900 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18901
18902         * gst/gstmessage.c: (gst_message_new_custom):
18903         * gst/gstmessage.h:
18904           Add _new_custom, make _new_application a macro to _new_custom.
18905
18906 2005-07-20  Wim Taymans  <wim@fluendo.com>
18907
18908         * gst/base/gstbasesrc.c: (gst_base_src_init),
18909         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18910         * gst/base/gstbasesrc.h:
18911         Add a gboolean to decide when to push out a discont.
18912
18913         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18914         (gst_queue_loop), (gst_queue_handle_src_query),
18915         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
18916         (gst_queue_set_property), (gst_queue_get_property):
18917         Some cleanups.
18918
18919         * tests/threadstate/threadstate1.c: (main):
18920         Make a thread test compile and run... very silly..
18921
18922
18923 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18924
18925         * docs/manual/appendix-porting.xml:
18926           Mention removal of libgstgconf-0.9.la and existence of gconf
18927           elements.
18928
18929 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18930
18931         * docs/pwg/advanced-clock.xml:
18932         * docs/pwg/appendix-porting.xml:
18933         * docs/pwg/intro-preface.xml:
18934         * docs/pwg/other-base.xml:
18935         * docs/pwg/other-manager.xml:
18936         * docs/pwg/other-nton.xml:
18937         * docs/pwg/other-ntoone.xml:
18938         * docs/pwg/other-oneton.xml:
18939         * docs/pwg/pwg.xml:
18940           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
18941           demuxer), remove n-to-n (was never written), fix some code examples
18942           and links and update the porting section to include all this.
18943
18944 2005-07-19  Wim Taymans  <wim@fluendo.com>
18945
18946         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
18947         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
18948         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
18949         (gst_queue_src_activate_push), (gst_queue_change_state),
18950         (gst_queue_get_property):
18951         * gst/gstqueue.h:
18952         Propagate GstFlowReturn more intelligently upstream and output
18953         an ERROR/EOS when streaming stopped due to fatal error.
18954
18955 2005-07-19  Wim Taymans  <wim@fluendo.com>
18956
18957         * tools/gst-launch.c: (check_intr), (event_loop), (main):
18958         Don't block forever for the state change to complete, the
18959         pipeline already did with a sensible timeout.
18960
18961 2005-07-19  Wim Taymans  <wim@fluendo.com>
18962
18963         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18964         Make sure we never call the create function is we
18965         got deactivated.
18966
18967 2005-07-19  Andy Wingo  <wingo@pobox.com>
18968
18969         * gst/parse/parse.l: Attempt to solve bug #172815.
18970
18971 2005-07-19  Wim Taymans  <wim@fluendo.com>
18972
18973         * docs/design/part-clocks.txt:
18974         * docs/design/part-events.txt:
18975         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
18976         Small docs updates.
18977         Only update the seeking values when we are not
18978         busy streaming.
18979
18980 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18981
18982         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18983           Oops, ignore the result of gst_pad_push_event here.
18984
18985 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18986
18987         * gst/base/gstbasesrc.c: (gst_base_src_loop),
18988         (gst_base_src_activate_push):
18989           Send discont event from the loop function, as pads
18990           aren't activated yet in the activate_push handler.
18991
18992         * gst/gstbin.c: (bin_bus_handler):
18993           Don't leak element name.
18994
18995 2005-07-18  Andy Wingo  <wingo@pobox.com>
18996
18997         * configure.ac: Use AS_LIBTOOL_TAGS.
18998
18999 2005-07-18  Wim Taymans  <wim@fluendo.com>
19000
19001         * docs/gst/gstreamer.types:
19002         Remove deleted types.
19003
19004 2005-07-18  Wim Taymans  <wim@fluendo.com>
19005
19006         * check/elements/gstfakesrc.c: (GST_START_TEST):
19007         * configure.ac:
19008         * gst/Makefile.am:
19009         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
19010         (init_popt_callback):
19011         * gst/gst.h:
19012         * gst/gst_private.h:
19013         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
19014         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
19015         * gst/gstbin.h:
19016         * gst/gstbus.h:
19017         * gst/gstconfig.h.in:
19018         * gst/gstelement.c: (gst_element_class_init),
19019         (gst_element_set_base_time), (gst_element_get_base_time),
19020         (iterator_fold_with_resync), (gst_element_change_state),
19021         (gst_element_dispose), (gst_element_get_bus):
19022         * gst/gstelement.h:
19023         * gst/gstelementfactory.h:
19024         * gst/gsterror.c: (_gst_core_errors_init):
19025         * gst/gsterror.h:
19026         * gst/gstevent.h:
19027         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
19028         * gst/gstindex.c:
19029         * gst/gstinfo.c: (_gst_debug_init):
19030         * gst/gstmessage.c: (_gst_message_copy):
19031         * gst/gstmessage.h:
19032         * gst/gstminiobject.h:
19033         * gst/gstobject.c:
19034         * gst/gstobject.h:
19035         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19036         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
19037         * gst/gstpad.h:
19038         * gst/gstparse.h:
19039         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19040         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
19041         (gst_pipeline_get_last_stream_time):
19042         * gst/gstpipeline.h:
19043         * gst/gstpluginfeature.h:
19044         * gst/gstquery.h:
19045         * gst/gstscheduler.c:
19046         * gst/gstscheduler.h:
19047         * gst/gststructure.h:
19048         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
19049         (gst_task_finalize), (gst_task_func), (gst_task_create),
19050         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
19051         (gst_task_stop), (gst_task_pause):
19052         * gst/gsttask.h:
19053         * gst/gsttypefind.h:
19054         * gst/gsttypes.h:
19055         * gst/registries/gstlibxmlregistry.c: (load_feature),
19056         (gst_xml_registry_load), (gst_xml_registry_save_feature):
19057         * gst/registries/gstxmlregistry.c:
19058         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
19059         * gst/schedulers/threadscheduler.c:
19060         * libs/gst/control/dparammanager.h:
19061         * tools/gst-inspect.c: (print_element_list),
19062         (print_plugin_features), (print_element_features):
19063         * tools/gst-xmlinspect.c: (print_element_list),
19064         (print_plugin_info), (main):
19065         Removed plugable schedulers.
19066         Removed Scheduler/Manager from elements.
19067         Removed gsttypes.h, rearranged includes.
19068         Removed dependency pad<->element, element<>pipeline, and
19069         various others,  fix includes.
19070         implement gst_pad_get_parent() with gst_object_get_parent()
19071         Make GstTask sefcontained.
19072         Fix _get_state() on GstBin, it did not return ASYNC with a 0
19073         timeout.
19074         Fix endless loop in iterator_fold_with_resync.
19075
19076
19077 2005-07-18  Wim Taymans  <wim@fluendo.com>
19078
19079         * gst/Makefile.am:
19080         * gst/gstarch.h:
19081         Remove old file.
19082
19083 2005-07-18  Wim Taymans  <wim@fluendo.com>
19084
19085         * gst/Makefile.am:
19086         No more cothreads.h
19087
19088 2005-07-18  Wim Taymans  <wim@fluendo.com>
19089
19090         * gst/cothreads.c:
19091         * gst/cothreads.h:
19092         Let's remove these.
19093
19094 2005-07-18  Wim Taymans  <wim@fluendo.com>
19095
19096         * docs/design/part-dynamic.txt:
19097         * docs/design/part-events.txt:
19098         * docs/design/part-seeking.txt:
19099         Some more docs in the works.
19100
19101         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
19102         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
19103         (gst_base_transform_setcaps), (gst_base_transform_get_size),
19104         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
19105         (gst_base_transform_handle_buffer),
19106         (gst_base_transform_sink_activate_push),
19107         (gst_base_transform_src_activate_pull),
19108         (gst_base_transform_set_passthrough),
19109         (gst_base_transform_is_passthrough):
19110         Refcounting fixes.
19111
19112         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
19113         Cleanups.
19114
19115         * gst/gstevent.c: (gst_event_finalize):
19116         Set SRC to NULL.
19117
19118         * gst/gstutils.c: (gst_element_unlink),
19119         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
19120         (gst_pad_proxy_setcaps):
19121         * gst/gstutils.h:
19122         Add _get_parent_element() to get a pads parent as an element.
19123
19124 2005-07-18  Wim Taymans  <wim@fluendo.com>
19125
19126         * check/gst/gstbin.c: (GST_START_TEST):
19127         Remove bogus test.
19128
19129 2005-07-18  Wim Taymans  <wim@fluendo.com>
19130
19131         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19132         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19133         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19134         (gst_base_sink_event), (gst_base_sink_do_sync),
19135         (gst_base_sink_chain), (gst_base_sink_loop),
19136         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
19137         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19138         Refcounting fixes.
19139         Fix logic for returning ASYNC when not prerolled.
19140
19141 2005-07-18  Wim Taymans  <wim@fluendo.com>
19142
19143         * gst/gstqueue.c: (gst_queue_handle_sink_event):
19144         Fix nasty refcount bug.
19145
19146 2005-07-16 Philippe Khalaf <burger@speedy.org>
19147
19148         * gst/elements/gstfdsrc.c:
19149         * gst/elements/gstfdsrc.h:
19150         * gst/elements/gstelements.c:
19151         * gst/elements/Makefile.am:
19152         Ported fdsrc to 0.9.
19153
19154 2005-07-16  Wim Taymans  <wim@fluendo.com>
19155
19156         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19157         (gst_base_sink_do_sync):
19158         Fix compile error.
19159
19160 2005-07-16  Wim Taymans  <wim@fluendo.com>
19161
19162         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19163         (gst_base_sink_event), (gst_base_sink_get_times),
19164         (gst_base_sink_do_sync), (gst_base_sink_change_state):
19165         * gst/base/gstbasesink.h:
19166         Store and use discont values when syncing buffers as described
19167         in design docs.
19168         
19169         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
19170         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
19171         (gst_base_src_activate_push):
19172         Push discont event when starting.
19173
19174         * gst/elements/gstidentity.c: (gst_identity_transform):
19175         Small cleanups.
19176
19177         * gst/gstbin.c: (gst_bin_change_state):
19178         Small cleanups in base_time  distribution.
19179
19180         * gst/gstelement.c: (gst_element_set_base_time),
19181         (gst_element_get_base_time), (gst_element_change_state):
19182         * gst/gstelement.h:
19183         Added methods for the base_time of the element.
19184         Some MT fixes.
19185
19186         * gst/gstpipeline.c: (gst_pipeline_send_event),
19187         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
19188         (gst_pipeline_get_last_stream_time):
19189         * gst/gstpipeline.h:
19190         MT fixes.
19191         Handle seeking as described in design doc, remove stream_time
19192         hack.
19193         Cleanups clock and stream_time selection code. Added accessors
19194         for the stream_time.
19195         
19196
19197 2005-07-16  Andy Wingo  <wingo@pobox.com>
19198
19199         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
19200         (#305291).
19201
19202 2005-07-16  Wim Taymans  <wim@fluendo.com>
19203
19204         * check/gst/gstbin.c: (GST_START_TEST):
19205         Make elements silent as the deep_notify refs the
19206         parent, which might make the test fail.
19207
19208         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
19209         Don't hold the lock for too long.
19210
19211 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
19212
19213         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
19214           Don't unref the caps we passed to gst_caps_make_writable() after
19215           passing them. gst_caps_make_writable() will do that for us.
19216
19217 2005-07-15  Andy Wingo  <wingo@pobox.com>
19218
19219         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
19220         (#157311).
19221
19222         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
19223         own marshalling function for the handoff signal. Properly type the
19224         buffer as a buffer. Fixes some warnings. Should do a more general
19225         solution.
19226         (gst_identity_class_init): Plug into the right marshaller.
19227
19228 2005-07-15  Wim Taymans  <wim@fluendo.com>
19229
19230         * docs/design/part-TODO.txt:
19231         * docs/design/part-clocks.txt:
19232         * docs/design/part-element-sink.txt:
19233         * docs/design/part-events.txt:
19234         * docs/design/part-gstpipeline.txt:
19235         Updated docs, mostly DISCONT related.
19236
19237 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
19238
19239         * docs/pwg/building-pads.xml:
19240           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
19241
19242 2005-07-15  Andy Wingo  <wingo@pobox.com>
19243
19244         * tools/gst-typefind.c: Update, add copyright block.
19245
19246         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
19247         Normalize and truncate caps before fixation.
19248
19249         * gst/gstcaps.h:
19250         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
19251         discards all but the first structure from its argument.
19252
19253 2005-07-15  Wim Taymans  <wim@fluendo.com>
19254
19255         * gst/base/gstbasetransform.c: (gst_base_transform_init),
19256         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
19257         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19258         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
19259         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
19260         (gst_base_transform_chain), (gst_base_transform_change_state),
19261         (gst_base_transform_set_passthrough),
19262         (gst_base_transform_is_passthrough):
19263         * gst/base/gstbasetransform.h:
19264         Make passthrough work using the bufferpools.
19265         Changed API a bit, subclasses have to write into a buffer
19266         provided by the base class.
19267         More debug info in nego functions.
19268         
19269         * gst/elements/gstidentity.c: (gst_identity_init),
19270         (gst_identity_transform):
19271         Port to new base class.
19272
19273 2005-07-15  Wim Taymans  <wim@fluendo.com>
19274
19275         * gst/gstmessage.c: (gst_message_new_state_changed):
19276         * tools/gst-launch.c: (event_loop), (main):
19277         Totally dump messages in -launch with the -m option.
19278         Fix message name for State messages,
19279
19280 2005-07-14  Wim Taymans  <wim@fluendo.com>
19281
19282         * gst/base/gstbasesrc.c: (gst_base_src_loop):
19283         Post error messages on errors.
19284
19285 2005-07-14  Wim Taymans  <wim@fluendo.com>
19286
19287         * gst/gstcaps.c: (gst_caps_do_simplify):
19288         Remove debug info.
19289
19290         * gst/gsterror.h:
19291         Define error for stream stopped.
19292
19293         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19294         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
19295         Do proper return values.
19296
19297         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19298         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
19299         (gst_pad_get_range):
19300         Better return values.
19301
19302         * gst/gstpad.h:
19303         Reorganise return values, add macro to check for fatal errors.
19304
19305         * gst/gstqueue.c: (gst_queue_chain):
19306         Return proper GstFlowReturn values,
19307
19308 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
19309
19310         * docs/gst/gstreamer-sections.txt:
19311         * docs/gst/gstreamer.types:
19312         * docs/gst/tmpl/gst.sgml:
19313         * docs/gst/tmpl/gstbasesink.sgml:
19314         * docs/gst/tmpl/gstbasesrc.sgml:
19315         * docs/gst/tmpl/gstbasetransform.sgml:
19316         * docs/gst/tmpl/gstbin.sgml:
19317         * docs/gst/tmpl/gstbuffer.sgml:
19318         * docs/gst/tmpl/gstcaps.sgml:
19319         * docs/gst/tmpl/gstclock.sgml:
19320         * docs/gst/tmpl/gstcompat.sgml:
19321         * docs/gst/tmpl/gstconfig.sgml:
19322         * docs/gst/tmpl/gstelement.sgml:
19323         * docs/gst/tmpl/gstelementdetails.sgml:
19324         * docs/gst/tmpl/gstelementfactory.sgml:
19325         * docs/gst/tmpl/gstenumtypes.sgml:
19326         * docs/gst/tmpl/gsterror.sgml:
19327         * docs/gst/tmpl/gstevent.sgml:
19328         * docs/gst/tmpl/gstfakesink.sgml:
19329         * docs/gst/tmpl/gstfakesrc.sgml:
19330         * docs/gst/tmpl/gstfilesink.sgml:
19331         * docs/gst/tmpl/gstfilesrc.sgml:
19332         * docs/gst/tmpl/gstfilter.sgml:
19333         * docs/gst/tmpl/gstformat.sgml:
19334         * docs/gst/tmpl/gstghostpad.sgml:
19335         * docs/gst/tmpl/gstimplementsinterface.sgml:
19336         * docs/gst/tmpl/gstindex.sgml:
19337         * docs/gst/tmpl/gstindexfactory.sgml:
19338         * docs/gst/tmpl/gstinfo.sgml:
19339         * docs/gst/tmpl/gstiterator.sgml:
19340         * docs/gst/tmpl/gstmacros.sgml:
19341         * docs/gst/tmpl/gstmemchunk.sgml:
19342         * docs/gst/tmpl/gstminiobject.sgml:
19343         * docs/gst/tmpl/gstobject.sgml:
19344         * docs/gst/tmpl/gstpad.sgml:
19345         * docs/gst/tmpl/gstpadtemplate.sgml:
19346         * docs/gst/tmpl/gstparse.sgml:
19347         * docs/gst/tmpl/gstpipeline.sgml:
19348         * docs/gst/tmpl/gstplugin.sgml:
19349         * docs/gst/tmpl/gstpluginfeature.sgml:
19350         * docs/gst/tmpl/gstquery.sgml:
19351         * docs/gst/tmpl/gstqueue.sgml:
19352         * docs/gst/tmpl/gstregistry.sgml:
19353         * docs/gst/tmpl/gstregistrypool.sgml:
19354         * docs/gst/tmpl/gstscheduler.sgml:
19355         * docs/gst/tmpl/gstschedulerfactory.sgml:
19356         * docs/gst/tmpl/gststructure.sgml:
19357         * docs/gst/tmpl/gstsystemclock.sgml:
19358         * docs/gst/tmpl/gsttaglist.sgml:
19359         * docs/gst/tmpl/gsttagsetter.sgml:
19360         * docs/gst/tmpl/gsttrace.sgml:
19361         * docs/gst/tmpl/gsttrashstack.sgml:
19362         * docs/gst/tmpl/gsttypefind.sgml:
19363         * docs/gst/tmpl/gsttypefindfactory.sgml:
19364         * docs/gst/tmpl/gsttypes.sgml:
19365         * docs/gst/tmpl/gsturihandler.sgml:
19366         * docs/gst/tmpl/gsturitype.sgml:
19367         * docs/gst/tmpl/gstutils.sgml:
19368         * docs/gst/tmpl/gstvalue.sgml:
19369         * docs/gst/tmpl/gstversion.sgml:
19370         * docs/gst/tmpl/gstxml.sgml:
19371         * docs/libs/tmpl/gstcontrol.sgml:
19372         * docs/libs/tmpl/gstdataprotocol.sgml:
19373         * docs/libs/tmpl/gstdparam.sgml:
19374         * docs/libs/tmpl/gstdplinint.sgml:
19375         * docs/libs/tmpl/gstdpman.sgml:
19376         * docs/libs/tmpl/gstdpsmooth.sgml:
19377         * docs/libs/tmpl/gstgetbits.sgml:
19378         * docs/libs/tmpl/gstunitconvert.sgml:
19379         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
19380         (gst_push_src_base_init), (gst_push_src_class_init),
19381         (gst_push_src_init), (gst_push_src_create):
19382         * gst/base/gstpushsrc.h:
19383         * gst/elements/gstelements.c:
19384         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
19385         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
19386         (gst_fake_sink_init), (gst_fake_sink_set_property),
19387         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
19388         (gst_fake_sink_event), (gst_fake_sink_preroll),
19389         (gst_fake_sink_render), (gst_fake_sink_change_state):
19390         * gst/elements/gstfakesink.h:
19391         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
19392         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
19393         (gst_fake_src_base_init), (gst_fake_src_class_init),
19394         (gst_fake_src_init), (gst_fake_src_event_handler),
19395         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
19396         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
19397         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
19398         (gst_fake_src_create_buffer), (gst_fake_src_create),
19399         (gst_fake_src_start), (gst_fake_src_stop):
19400         * gst/elements/gstfakesrc.h:
19401         * gst/elements/gstfilesink.c: (_do_init),
19402         (gst_file_sink_base_init), (gst_file_sink_class_init),
19403         (gst_file_sink_init), (gst_file_sink_dispose),
19404         (gst_file_sink_set_location), (gst_file_sink_set_property),
19405         (gst_file_sink_get_property), (gst_file_sink_open_file),
19406         (gst_file_sink_close_file), (gst_file_sink_query),
19407         (gst_file_sink_event), (gst_file_sink_render),
19408         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
19409         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
19410         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
19411         * gst/elements/gstfilesink.h:
19412         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
19413         (gst_file_src_class_init), (gst_file_src_init),
19414         (gst_file_src_finalize), (gst_file_src_set_location),
19415         (gst_file_src_set_property), (gst_file_src_get_property),
19416         (gst_file_src_map_region), (gst_file_src_map_small_region),
19417         (gst_file_src_create_mmap), (gst_file_src_create_read),
19418         (gst_file_src_create), (gst_file_src_is_seekable),
19419         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
19420         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
19421         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
19422         (gst_file_src_uri_handler_init):
19423         * gst/elements/gstfilesrc.h:
19424           more autistic cleanliness in functions/names/defines
19425
19426 2005-07-13  Andy Wingo  <wingo@pobox.com>
19427
19428         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
19429         source couldn't negotiate.
19430
19431         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
19432         connections again.
19433
19434         * gst/gstutils.h:
19435         * gst/gstutils.c (gst_element_link_pads_filtered): New old
19436         function. I am channeling Hades. Put your boots on suckers!!!
19437
19438 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19439
19440         * testsuite/caps/Makefile.am:
19441         * testsuite/caps/value_compare.c:
19442         * testsuite/caps/value_intersect.c:
19443         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19444           move two testsuite apps over to the check dir
19445
19446 2005-07-12  Wim Taymans  <wim@fluendo.com>
19447
19448         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
19449         Added more debug info in the negotiate process.
19450
19451         * gst/gstmessage.h:
19452         Prepare for segment playback.
19453
19454         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
19455         Better debugging.
19456
19457         * gst/gstutils.c:
19458         Some more docs.
19459
19460         * tools/gst-launch.c: (main):
19461         NULL pipeline on errors.
19462
19463 2005-07-12  Andy Wingo  <wingo@pobox.com>
19464
19465         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
19466         not it comes from a malloc region. Make sure our copy gets freed.
19467
19468 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19469
19470         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
19471         * check/gst/gstmessage.c: (GST_START_TEST):
19472         * check/gst/gststructure.c: (GST_START_TEST),
19473         (gst_structure_suite), (main):
19474           more testing
19475         * gst/gstelement.c: (gst_element_message_full):
19476           clean up GError and debug string now that they get copied
19477         * gst/gstmessage.c: (gst_message_new_error),
19478         (gst_message_new_warning), (gst_message_parse_error),
19479         (gst_message_parse_warning):
19480           use GST_TYPE_G_ERROR for structure_new, and take copies of
19481           arguments, so that we don't mess up refcounting
19482
19483 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19484
19485         * check/Makefile.am:
19486           add per-test valgrind targets
19487         * check/gst-libs/gdp.c: (GST_START_TEST),
19488         (gst_data_protocol_suite), (main):
19489           clean up
19490
19491 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19492
19493         * check/Makefile.am:
19494           instate more valgrindable tests
19495         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19496         (GST_START_TEST), (fakesrc_suite):
19497         * check/gst/gstpad.c: (GST_START_TEST):
19498         * check/gst/gststructure.c: (GST_START_TEST):
19499           fix test leaks
19500         * docs/gst/tmpl/gstminiobject.sgml:
19501         * gst/gstpad.c: (gst_pad_finalize):
19502           fix the static mutex leak
19503
19504 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19505
19506         * check/Makefile.am:
19507           add two more tests for valgrinding
19508         * check/gst/gstvalue.c: (GST_START_TEST):
19509           test refcount of deserialized buffer, found a leak
19510         * docs/gst/gstreamer-docs.sgml:
19511         * docs/gst/gstreamer-sections.txt:
19512         * docs/gst/gstreamer.types:
19513         * docs/gst/tmpl/gstminiobject.sgml:
19514           add miniobject to docs
19515         * gst/gstminiobject.c:
19516           add some docs
19517         * gst/gstvalue.c: (gst_value_deserialize_buffer),
19518         (gst_string_unwrap):
19519           fix a hard-to-find invalid write for one of the tests
19520           fix a leak for deserialized buffers
19521
19522 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19523
19524         * docs/pwg/advanced-events.xml:
19525         * docs/pwg/advanced-request.xml:
19526         * docs/pwg/advanced-scheduling.xml:
19527         * docs/pwg/appendix-porting.xml:
19528         * docs/pwg/building-boiler.xml:
19529         * docs/pwg/intro-preface.xml:
19530         * docs/pwg/other-ntoone.xml:
19531           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
19532           of example code and explanation for pad activation, loop() and
19533           getrange() functions and a bit more. Remove old comments pointing
19534           to loop-functions.
19535         * examples/pwg/Makefile.am:
19536           Add loop/getrange examples.
19537
19538 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19539
19540         * configure.ac:
19541           check for valgrind binary + some fixes
19542         * check/gst.supp:
19543           valgrind suppressions for the tests
19544         * check/Makefile.am:
19545           add a valgrind: target that valgrinds the unit tests
19546         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
19547         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
19548         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19549         * check/gst/gstghostpad.c:
19550           added some cleanup
19551         * check/gst/gstdata.c:
19552           removed
19553         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
19554         (thread_unref), (gst_mini_object_suite), (main):
19555           added
19556         * gst/gst.c: (gst_deinit):
19557         * gst/gst.h:
19558           add a method to clean up.
19559         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19560         (gst_system_clock_obtain):
19561           allow for disposing the system clock.
19562         * tools/gst-launch.c: (main):
19563           deinit
19564
19565 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19566
19567         * docs/gst/tmpl/gstbasesrc.sgml:
19568         * docs/gst/tmpl/gstfakesrc.sgml:
19569         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19570         (gst_base_src_init), (gst_base_src_set_property),
19571         (gst_base_src_get_property), (gst_base_src_get_range),
19572         (gst_base_src_start):
19573         * gst/base/gstbasesrc.h:
19574           add num-buffers property
19575         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19576         (gst_fakesrc_init), (gst_fakesrc_set_property),
19577         (gst_fakesrc_get_property), (gst_fakesrc_create),
19578         (gst_fakesrc_start):
19579           remove num-buffers property
19580
19581 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19582
19583         * docs/gst/gstreamer-sections.txt:
19584         * docs/gst/tmpl/gstbasesink.sgml:
19585         * docs/gst/tmpl/gstbasesrc.sgml:
19586         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19587         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19588         (gst_base_sink_finalize), (gst_base_sink_set_clock),
19589         (gst_base_sink_set_property), (gst_base_sink_get_property),
19590         (gst_base_sink_handle_object), (gst_base_sink_event),
19591         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19592         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
19593         (gst_base_sink_loop), (gst_base_sink_deactivate),
19594         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
19595         (gst_base_sink_change_state):
19596         * gst/base/gstbasesink.h:
19597         * gst/base/gstbasesrc.h:
19598         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
19599         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
19600         (gst_filesink_init):
19601           more macro splitting
19602
19603 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19604
19605         * gst/gstelement.c: (gst_element_get_bus):
19606           add debug
19607         * tools/gst-launch.c: (check_intr), (event_loop):
19608           fix bus leaks
19609
19610 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19611
19612         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
19613           fix a caps leak
19614
19615 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19616
19617         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19618         (gst_base_src_finalize):
19619           add finalize method and clean up properly
19620         * gst/gstpipeline.c: (gst_pipeline_dispose):
19621           add debug
19622
19623 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19624
19625         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
19626         (gst_bin_suite):
19627           add more things to check
19628         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19629         * gst/gstelement.c:
19630           more debug
19631
19632 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19633
19634         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19635         (GST_START_TEST), (fakesrc_suite):
19636         * check/gst-libs/gdp.c: (GST_START_TEST):
19637         * check/gst/gst.c: (GST_START_TEST):
19638         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19639         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19640         * check/gst/gstbus.c: (GST_START_TEST):
19641         * check/gst/gstcaps.c: (GST_START_TEST):
19642         * check/gst/gstdata.c: (GST_START_TEST):
19643         * check/gst/gstelement.c: (GST_START_TEST):
19644         * check/gst/gstghostpad.c: (GST_START_TEST):
19645         * check/gst/gstiterator.c: (GST_START_TEST):
19646         * check/gst/gstmessage.c: (GST_START_TEST):
19647         * check/gst/gstobject.c: (GST_START_TEST):
19648         * check/gst/gstpad.c: (GST_START_TEST):
19649         * check/gst/gststructure.c: (GST_START_TEST):
19650         * check/gst/gstsystemclock.c: (GST_START_TEST),
19651         (gst_systemclock_suite):
19652         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
19653         * check/gst/gstvalue.c: (GST_START_TEST):
19654         * check/pipelines/cleanup.c: (GST_START_TEST):
19655         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19656         * check/states/sinks.c: (GST_START_TEST):
19657         * check/gstcheck.c: (gst_check_init):
19658         * check/gstcheck.h:
19659           add debugging category
19660           use GST_START_TEST now, so we add a debug line
19661
19662 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19663
19664         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
19665           add test for state change message on a bin
19666         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
19667           add another test
19668         * gst/gstbin.c: (gst_bin_init):
19669         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
19670         * gst/gstelement.c: (gst_element_post_message),
19671         (gst_element_set_state):
19672         * gst/gstelementfactory.c: (gst_element_factory_create):
19673         * gst/gstmessage.c: (gst_message_new):
19674         * gst/gstscheduler.c:
19675           various debugging additions and cleanups
19676
19677 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19678
19679         * check/Makefile.am:
19680         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
19681         (main):
19682           adding tests for elements
19683         * gst/gstelement.c: (gst_element_dispose):
19684
19685 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19686
19687         * gst/registries/gstlibxmlregistry.c: (load_feature):
19688           plug more leaks.  A simple gst_init() now is leakfree, yay.
19689
19690 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19691
19692         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
19693         (gst_xml_registry_load):
19694           plug another memleak
19695
19696 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19697
19698         * configure.ac:
19699           use GST_SET_ERROR_CFLAGS
19700         * docs/faq/cvs.xml:
19701           change to ERROR_CFLAGS
19702
19703 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19704
19705         * configure.ac:
19706           make GST_ERROR_CFLAGS overridable and re-enable Werror
19707         * docs/faq/cvs.xml:
19708           add a note about error CFLAGS
19709         * docs/gst/tmpl/gstfakesrc.sgml:
19710         * gst/elements/gstfakesrc.c:
19711           comment out some unused code
19712         * gst/gst.c: (split_and_iterate):
19713         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
19714         (load_feature):
19715           plug some memleaks
19716
19717 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19718
19719         * common/Makefile.am:
19720         * common/gtk-doc.mak:
19721         * docs/gst/Makefile.am:
19722           factor out gtk-doc.mak
19723
19724 2005-07-07  Wim Taymans  <wim@fluendo.com>
19725
19726         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
19727         (gst_thread_scheduler_dispose):
19728         Unlock the STREAM_LOCK completely.
19729
19730 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19731
19732         * check/Makefile.am:
19733         * check/elements/.cvsignore:
19734         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19735         (START_TEST), (fakesrc_suite), (main):
19736         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19737         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19738         (gst_fakesrc_create), (gst_fakesrc_start):
19739         * gst/elements/gstfakesrc.h:
19740           adding a first element test
19741
19742 2005-07-07  Andy Wingo  <wingo@pobox.com>
19743
19744         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
19745         debug message.
19746
19747 2005-07-07  Wim Taymans  <wim@fluendo.com>
19748
19749         * gst/gstquery.c:
19750         * gst/gstquery.h:
19751         Remove old types
19752
19753 2005-07-07  Wim Taymans  <wim@fluendo.com>
19754
19755         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
19756         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
19757         Allow subclasses to implement their own negotiation.
19758
19759 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19760
19761         * docs/design/part-gstbin.txt:
19762         * docs/design/part-gstpipeline.txt:
19763           Update design notes to reflect the movement of
19764           responsibility for bus handling from GstPipeline to
19765           GstBin
19766
19767 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19768
19769         * configure.ac:
19770           Remove unnecessary queue2/3/4 examples.
19771
19772 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19773
19774         * examples/Makefile.am:
19775         * examples/helloworld/helloworld.c: (event_loop), (main):
19776         * examples/queue/queue.c: (event_loop), (main):
19777         * examples/queue2/queue2.c: (main):
19778           Update a couple of the examples to work again.
19779
19780         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19781         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
19782          Spelling corrections and extra debug.
19783         
19784         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
19785         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
19786         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
19787         * gst/gstbin.h:
19788         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19789         (gst_pipeline_change_state):
19790         * gst/gstpipeline.h:
19791           Move the bus handler for children to the GstBin, and create a
19792           separate bus for receiving messages from children to the one the
19793           bus sends 'upwards' on.
19794
19795 2005-07-06  Wim Taymans  <wim@fluendo.com>
19796
19797         * gst/base/README:
19798         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19799         (gst_base_sink_handle_object), (gst_base_sink_loop),
19800         (gst_base_sink_change_state):
19801         * gst/base/gstbasesink.h:
19802         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19803         (gst_base_src_init), (gst_base_src_setcaps),
19804         (gst_base_src_getcaps), (gst_base_src_loop),
19805         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
19806         (gst_base_src_start), (gst_base_src_change_state):
19807         * gst/base/gstbasesrc.h:
19808         Make basesrc negotiate.
19809         Handle the case where preroll fails in basesink.
19810         Update README.
19811
19812 2005-07-06  Wim Taymans  <wim@fluendo.com>
19813
19814         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
19815         Implement the fixate function.
19816         Clean up acceptcaps.
19817
19818 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19819
19820         * docs/pwg/building-filterfactory.xml:
19821         * docs/pwg/pwg.xml:
19822           Remove never-written filter-factory chapter; I'll add the various
19823           base classes to part 4 ("other element types") later on.
19824
19825 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19826
19827         * docs/pwg/advanced-negotiation.xml:
19828         * docs/pwg/building-boiler.xml:
19829         * docs/pwg/building-pads.xml:
19830         * docs/pwg/pwg.xml:
19831         * examples/pwg/Makefile.am:
19832           Add a chapter on caps negotiation, simplify the original code
19833           samples a bit w.r.t. caps negotiation, add link to the advanced
19834           section. Add a bunch of examples showing different use cases of
19835           different types of caps negotiation. Upstream renegotiation isn't
19836           fully documented yet since nobody knows how that works.
19837
19838 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19839
19840         * check/gst/gstpad.c:
19841         * check/gstcheck.c:
19842         * gst/gstpad.c: (gst_pad_get_internal_links_default):
19843           if pad has no parent, return NULL as list of internal links
19844
19845 2005-07-05  Andy Wingo  <wingo@pobox.com>
19846
19847         * gst/elements/gstfilesrc.c:
19848         * gst/elements/gstfakesrc.c: 
19849         * gst/base/gstpushsrc.c:
19850         * gst/base/gstbasesrc.h: 
19851         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
19852         
19853 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
19854
19855         * Makefile.am:
19856           better report generation target (lcov needs a patch)
19857
19858 2005-07-05  Andy Wingo  <wingo@pobox.com>
19859
19860         * gst/elements, testsuite: Null if we got it...
19861
19862 2005-07-05  Wim Taymans  <wim@fluendo.com>
19863
19864         * configure.ac:
19865         * libs/gst/dataprotocol/Makefile.am:
19866         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
19867         * libs/gst/dataprotocol/dataprotocol.h:
19868         * pkgconfig/Makefile.am:
19869         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
19870         * pkgconfig/gstreamer-dataprotocol.pc.in:
19871         Ported dataprotol to 0.9. 
19872         Added pkgconfig files.
19873
19874 2005-07-05  Andy Wingo  <wingo@pobox.com>
19875
19876         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
19877         Default to returning TRUE for the case when tranform_caps returns
19878         a fixed caps, like for identity or volume.
19879
19880         * check/gst/gstbus.c (pound_bus_with_messages): 
19881         * check/gst/gstmessage.c (START_TEST): 
19882         * check/pipelines/simple_launch_lines.c (got_handoff): Application
19883         message API change.
19884
19885         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
19886         logic weaks here: always run transform_caps, trying passthrough
19887         operation only if the original caps intersects with the transform.
19888
19889         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
19890         source and sink caps.
19891
19892         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
19893         Intersect the peer caps with the pad template before going into
19894         transform_caps.
19895         (gst_base_transform_transform_caps): More debugging.
19896
19897         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
19898         src argument.
19899
19900 2005-07-04  Edward Hervey  <edward@fluendo.com>
19901
19902         * gst/gstutils.c:
19903         * gst/gstutils.h:
19904         (gst_pad_add_*_probe): now returns the signal id for better wrapping
19905         in bindings.
19906
19907 2005-07-04  Andy Wingo  <wingo@pobox.com>
19908
19909         * check/gst/gstpad.c: Only set explicit caps on pads.
19910
19911 2005-07-01  Andy Wingo  <wingo@pobox.com>
19912
19913         * tests/network-clock.scm: Commentary update.
19914
19915         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
19916         Didn't really make sense, not implementable with basetransform,
19917         etc.
19918         (gst_identity_transform): Unref inbuf via make_writable. Feeble
19919         attempt at implementing the sync property, needs an unlock method.
19920
19921         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
19922         New func, by default returns the same caps (the identity
19923         transformation).
19924         (gst_base_transform_getcaps): Uses transform_caps to return
19925         something sensible.
19926         (gst_base_transform_setcaps): Complicated logic to get caps on
19927         both pads, even if they are different, and to call set_caps once
19928         for every time both pads get their caps set.
19929         (gst_base_transform_handle_buffer): Give the ref to the transform
19930         function. Allows in-place modification of the buffer.
19931
19932         * gst/base/gstbasetransform.h (transform_caps): New class method.
19933         Given caps on one side, what can I do on the other.
19934         (set_caps): Take two caps, one for each side of the element.
19935
19936         * gst/gstpad.h:
19937         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
19938         caps in place. This is safe because we can check the mutability of
19939         the caps, and a good idea because fixate functions are just called
19940         as a matter of last resort. (Not actually implemented.)
19941         (gst_pad_set_caps): If the caps we're setting is actually the same
19942         as the existing pad caps, just update the pointer without calling
19943         setcaps. Assert that caps is either NULL or fixed, as per the
19944         docs.
19945
19946         * gst/gstghostpad.c: Update for fixate changes.
19947
19948 2005-07-02  Andy Wingo  <wingo@pobox.com>
19949
19950         * gst/gstcaps.c:
19951         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
19952         two refcounts makes it immutable, which is enough. Doc more.
19953
19954 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
19955
19956         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
19957           Put the mini_object into GValue as a mini_object,
19958           not a gpointer, since that's how we declared
19959           the signal.
19960
19961 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19962
19963         * examples/pwg/Makefile.am:
19964           Fix buildbot again.
19965
19966 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19967
19968         * docs/pwg/building-testapp.xml:
19969           Add extra check.
19970         * examples/pwg/Makefile.am:
19971           Fix buildbot.
19972
19973 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19974
19975         * configure.ac:
19976         * examples/Makefile.am:
19977         * examples/pwg/Makefile.am:
19978         * examples/pwg/extract.pl:
19979           Enable building the PWG examples.
19980         * docs/pwg/advanced-interfaces.xml:
19981           Add URI interface stub.
19982         * docs/pwg/advanced-types.xml:
19983         * docs/pwg/other-autoplugger.xml:
19984         * docs/pwg/appendix-porting.xml:
19985         * docs/pwg/pwg.xml:
19986           Add porting guide (mostly stubs), remove autoplugging (see ADM).
19987         * docs/pwg/building-boiler.xml:
19988         * docs/pwg/building-chainfn.xml:
19989         * docs/pwg/building-pads.xml:
19990         * docs/pwg/building-props.xml:
19991         * docs/pwg/building-state.xml:
19992         * docs/pwg/building-testapp.xml:
19993           Update the building-*.xml parts for 0.9 changes. All examples
19994           code blocks compile in examples/pwg/*.
19995
19996 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19997
19998         * docs/manual/advanced-autoplugging.xml:
19999         * docs/manual/appendix-checklist.xml:
20000         * docs/manual/appendix-integration.xml:
20001         * docs/manual/highlevel-components.xml:
20002           Fix playbin/decodebin examples, update docs a bit, mention bus
20003           instead of signals in various places, mention kmplayer and
20004           kaffeine since they have a working GStreamer backend in the KDE
20005           section.
20006
20007 2005-06-30  Wim Taymans  <wim@fluendo.com>
20008
20009         * CHANGES-0.9:
20010         * docs/design/draft-ghostpads.txt:
20011         * docs/design/draft-push-pull.txt:
20012         * docs/design/draft-query.txt:
20013         * docs/design/part-TODO.txt:
20014         * docs/design/part-query.txt:
20015         Added CHANGES-0.9 doc, updated status of other docs.
20016         
20017         * gst/gstquery.h:
20018         Remove "hmm" macro
20019
20020 2005-06-30  Wim Taymans  <wim@fluendo.com>
20021
20022         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
20023         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
20024         (gst_base_sink_change_state):
20025         * gst/base/gstbasesink.h:
20026         Some tweaks, only EOS and a buffer complete a preroll.
20027
20028 2005-06-30  Andy Wingo  <wingo@pobox.com>
20029
20030         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
20031         activate_push down to the internal pad as well.
20032
20033 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
20034
20035         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20036
20037         * gst/gsttaginterface.c:
20038           Some documentation fixes (#307394 and #307397).
20039
20040 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
20041
20042         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20043
20044         * gst/gstvalue.c: (gst_value_intersect_list):
20045           Fix memleak (#309125).
20046
20047 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20048
20049         * docs/manual/advanced-dataaccess.xml:
20050           Fix fakesrc example to compile; doesn't work, bug somewhere...?
20051         * docs/manual/basics-pads.xml:
20052           Add reference for filtered caps to above chapter.
20053
20054 2005-06-30  Wim Taymans  <wim@fluendo.com>
20055
20056         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
20057         (gst_bin_change_state):
20058         Probes are gone.
20059         Lame attempt at making the state change function a bit
20060         more readable.
20061
20062 2005-06-30  Wim Taymans  <wim@fluendo.com>
20063
20064         * docs/design/part-clocks.txt:
20065         * docs/design/part-element-sink.txt:
20066         * docs/design/part-events.txt:
20067         * docs/design/part-preroll.txt:
20068         * docs/design/part-states.txt:
20069         Some more tweeks and additions to the docs.
20070
20071 2005-06-30  Wim Taymans  <wim@fluendo.com>
20072
20073         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
20074         (default_have_data), (gst_pad_class_init), (gst_pad_init),
20075         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
20076         (gst_pad_check_pull_range), (gst_pad_get_range),
20077         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
20078         * gst/gstpad.h:
20079         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
20080         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
20081         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
20082         (gst_pad_remove_buffer_probe):
20083         Removed atomic operations, use existing LOCK.
20084         Move exception handling out of main code path.
20085
20086 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20087
20088         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
20089         (silly_return_true_function), (gst_pad_class_init),
20090         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
20091         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
20092         (gst_pad_send_event):
20093           Fix accumulator, add default value by using _emitv() instead
20094           of _emit() for signal emission.
20095
20096 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20097
20098         * docs/manual/advanced-dataaccess.xml:
20099         * examples/manual/Makefile.am:
20100           Add probe example.
20101         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
20102           Make work (??).
20103
20104 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
20105
20106         * gst/elements/gstfilesink.c: (gst_filesink_render):
20107           Simplify code so that we don't have to handle short
20108           writes and return GST_FLOW_ERROR if an error occured.
20109
20110 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20111
20112         * docs/gst/gstreamer-docs.sgml:
20113           Remove probes more.
20114
20115 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20116
20117         * docs/gst/gstreamer-sections.txt:
20118         * docs/gst/tmpl/gstpad.sgml:
20119         * docs/gst/tmpl/gstprobe.sgml:
20120         * gst/Makefile.am:
20121         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
20122         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
20123         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
20124         (gst_pad_push_event), (gst_pad_send_event):
20125         * gst/gstpad.h:
20126         * gst/gstutils.c: (gst_pad_add_data_probe),
20127         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
20128         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
20129         (gst_pad_remove_buffer_probe):
20130         * gst/gstutils.h:
20131           Remove old probes, add new g-signal-based probes and some utility
20132           functions.
20133
20134 2005-06-29  Edward Hervey  <edward@fluendo.com>
20135
20136         * gst/gstelementfactory.c:
20137         * gst/gstutils.h:
20138         * gst/gstutils.c:
20139         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
20140         the definition to the header file.
20141
20142 2005-06-29  Andy Wingo  <wingo@pobox.com>
20143
20144         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
20145         plugins from the source directory.
20146
20147 2005-06-29  Wim Taymans  <wim@fluendo.com>
20148
20149         * docs/gst/tmpl/gstbuffer.sgml:
20150         * docs/gst/tmpl/gstclock.sgml:
20151         Some fixings for blantently wrong text.
20152
20153 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20154
20155         * check/Makefile.am:
20156         * gst/gst.c: (add_path_func), (init_pre):
20157         * gst/gstregistry.c: (gst_registry_add_path):
20158           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
20159           only scan the GST_PLUGIN_PATH locations, and not add
20160           system locations
20161
20162 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20163
20164         * docs/gst/gstreamer-sections.txt:
20165         * docs/gst/tmpl/gstbasesrc.sgml:
20166         * gst/gstelement.c:
20167         * gst/gstelement.h:
20168         * gst/gstevent.c:
20169         * gst/gstutils.c:
20170           doc fixes
20171
20172 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20173
20174         * docs/manual/advanced-autoplugging.xml:
20175           Fix autoplugging example.
20176
20177 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20178
20179         * docs/manual/advanced-autoplugging.xml:
20180         * docs/manual/mime-world.fig:
20181           Try to get autoplugging working, fix type detection. Fix text
20182           in hello-world image.
20183
20184 2005-06-29  Wim Taymans  <wim@fluendo.com>
20185
20186         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20187         (gst_base_sink_change_state):
20188         Small debug line.
20189
20190         * gst/gstclock.h:
20191         map SIGNAL and BROADCAST to the right function.
20192
20193         * gst/gstobject.h:
20194         Remove redundant braces.
20195
20196         * gst/gstpad.c: (gst_pad_set_caps):
20197         Don't call setcaps function when reseting caps to NULL.
20198
20199         * gst/gstsystemclock.c: (gst_system_clock_dispose),
20200         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
20201         (gst_system_clock_id_unschedule):
20202         Use BROADCAST as this is what we do.
20203
20204 2005-06-29  Wim Taymans  <wim@fluendo.com>
20205
20206         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20207         We are actually prerolling before commiting the state
20208         change. 
20209
20210 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20211
20212         * docs/manual/advanced-clocks.xml:
20213         * docs/manual/advanced-interfaces.xml:
20214         * docs/manual/advanced-metadata.xml:
20215         * docs/manual/advanced-position.xml:
20216         * docs/manual/advanced-schedulers.xml:
20217         * docs/manual/advanced-threads.xml:
20218         * docs/manual/appendix-porting.xml:
20219         * docs/manual/basics-bins.xml:
20220         * docs/manual/basics-bus.xml:
20221         * docs/manual/basics-elements.xml:
20222         * docs/manual/basics-helloworld.xml:
20223         * docs/manual/basics-pads.xml:
20224         * docs/manual/highlevel-components.xml:
20225         * docs/manual/manual.xml:
20226         * docs/manual/thread.fig:
20227           Update (until threads/scheduling) Application Development Manual;
20228           remove GstThread, add GstBus, add simple porting checklist, add
20229           documentation for tag writing, clocks, make all examples until this
20230           part compile and run.
20231         * examples/manual/Makefile.am:
20232           Update from changes to Application Development Manual; add bus
20233           example, remove thread example.
20234
20235 2005-06-28  Wim Taymans  <wim@fluendo.com>
20236
20237         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
20238         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
20239         (gst_bus_source_dispatch):
20240         Add debugging messages.
20241         Make internal methods static.
20242         Handle the case where the bus is flushed in the handler.
20243         
20244         * gst/gstelement.c: (gst_element_get_bus):
20245         Fix refcount in _get_bus();
20246
20247         * gst/gstpipeline.c: (gst_pipeline_change_state),
20248         (gst_pipeline_get_clock_func):
20249         Clock refcounting fixes.
20250         Handle the case where preroll timed out more gracefully.
20251         
20252         * gst/gstsystemclock.c: (gst_system_clock_dispose):
20253         Clean up the internal thread in dispose. This is needed
20254         for subclasses that actually get disposed.
20255         
20256         * gst/schedulers/threadscheduler.c:
20257         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
20258         (gst_thread_scheduler_dispose):
20259         Free thread pool in dispose.
20260
20261 2005-06-28  Andy Wingo  <wingo@pobox.com>
20262
20263         * tests/network-clock-utils.scm (debug, print-event): New utils.
20264
20265         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
20266         (*packet-loss*): Unified loss probability.
20267         (network-time): Report out-of-band events.
20268
20269         * tests/plot-data: Add support for out-of-band events. Hack it
20270         into this script instead of passing it down the pipe; should fix
20271         this later.
20272
20273 2005-06-28  Wim Taymans  <wim@fluendo.com>
20274
20275         * docs/gst/gstreamer.types:
20276         * docs/gst/tmpl/gstbasesrc.sgml:
20277         * docs/gst/tmpl/gstpad.sgml:
20278         Docs fixes.
20279
20280 2005-06-28  Wim Taymans  <wim@fluendo.com>
20281
20282         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20283         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
20284         (gst_proxy_pad_do_fixatecaps):
20285         Correctly proxy the check_pull_range function.
20286
20287 2005-06-28  Andy Wingo  <wingo@pobox.com>
20288
20289         * tests/network-clock.scm: Removed need for slib.
20290         
20291 2005-06-28  Wim Taymans  <wim@fluendo.com>
20292
20293         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
20294         (gst_basesink_preroll_queue_flush):
20295         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
20296         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
20297         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20298         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
20299         (gst_proxy_pad_set_property):
20300         * gst/gstpad.c:
20301         * gst/gstpad.h:
20302         * gst/gstqueue.c: (gst_queue_init):
20303         The deprecated pad loop function is removed now.
20304
20305 2005-06-28  Andy Wingo  <wingo@pobox.com>
20306
20307         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
20308         New parameters, simulate network packet loss.
20309
20310         * tests/network-clock-utils.scm: Initialize the RNG.
20311
20312 2005-06-28  Wim Taymans  <wim@fluendo.com>
20313
20314         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
20315         (gst_basesink_event), (gst_basesink_deactivate):
20316         Flushing the preroll queue always needs to unlock the waiters.
20317
20318 2005-06-28  Edward Hervey  <edward@fluendo.com>
20319
20320         * gst/gstpipeline.c: (gst_pipeline_send_event): 
20321         Wheen a seek was successful on a pipeline, set the stream_time to the
20322         seek offset in order to have a synchronized stream_time.
20323
20324 2005-06-28  Wim Taymans  <wim@fluendo.com>
20325
20326         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20327         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
20328         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
20329         (gst_proxy_pad_do_fixatecaps):
20330         Call wrapper function instead of just calling the function
20331         pointers. This takes care of any locking and whatmore.
20332
20333 2005-06-28  Wim Taymans  <wim@fluendo.com>
20334
20335         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
20336         (gst_pad_pull_range):
20337         * gst/gstpad.h:
20338         CONNECTED -> LINKED.
20339
20340 2005-06-28  Andy Wingo  <wingo@pobox.com>
20341
20342         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
20343         source-munging commit!!!
20344
20345         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
20346         (gst_object_sink): Take gpointer arguments, not GstObject --
20347         avoids casts. Like GLib.
20348
20349         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
20350         activate.
20351
20352 2005-06-27  Andy Wingo  <wingo@pobox.com>
20353
20354         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
20355         remaining buffer.
20356
20357         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
20358         returns a sorted copy of the trace list.
20359         (gst_alloc_trace_print_live): New API, only prints traces with
20360         live objects. Sort the list.
20361         (gst_alloc_trace_print_all): Sort the list.
20362         (gst_alloc_trace_print): Align columns.
20363
20364         * gst/elements/gstttypefindelement.c:
20365         * gst/elements/gsttee.c:
20366         * gst/base/gstbasesrc.c:
20367         * gst/base/gstbasesink.c:
20368         * gst/base/gstbasetransform.c:
20369         * gst/gstqueue.c: Adapt for pad activation changes.
20370
20371         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
20372         sched.
20373         (gst_pipeline_dispose): Drop ref on sched.
20374
20375         * gst/gstpad.c (gst_pad_init): Set the default activate func.
20376         (gst_pad_activate_default): Push mode by default.
20377         (pre_activate_switch, post_activate_switch): New stubs, things to
20378         do before and after switching activation modes on pads.
20379         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
20380         the pad's activate function to choose which mode to activate.
20381         Shortcut on deactivation and call the right function directly.
20382         (gst_pad_activate_pull): New API, (de)activates a pad in pull
20383         mode.
20384         (gst_pad_activate_push): New API, same for push mode.
20385         (gst_pad_set_activate_function) 
20386         (gst_pad_set_activatepull_function) 
20387         (gst_pad_set_activatepush_function): Setters for new API.
20388
20389         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
20390         Trace all miniobjects.
20391         (gst_mini_object_make_writable): Unref the arg if we copy, like
20392         gst_caps_make_writable.
20393
20394         * gst/gstmessage.c (_gst_message_initialize): No trace init.
20395
20396         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
20397         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
20398         Adapt for new pad API.
20399
20400         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
20401
20402         * gst/gstelement.h:
20403         * gst/gstelement.c (gst_element_iterate_src_pads) 
20404         (gst_element_iterate_sink_pads): New API functions.
20405         
20406         * gst/gstelement.c (iterator_fold_with_resync): New utility,
20407         should fold into gstiterator.c in some form.
20408         (gst_element_pads_activate): Simplified via use of fold and
20409         delegation of decisions to gstpad->activate.
20410
20411         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
20412         help in debugging.
20413
20414         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
20415         class once in init, like gstmessage. Didn't run into this issue
20416         but it seems correct. Don't initialize a trace, gstminiobject does
20417         that.
20418
20419         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
20420         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
20421         to the bus.
20422         (assert_live_count): New util function, uses alloc traces to check
20423         cleanup.
20424
20425         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
20426         To be modified when unlink drops the internal pad.
20427
20428 2005-06-27  Wim Taymans  <wim@fluendo.com>
20429
20430         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
20431         (gst_bin_change_state):
20432         Cleanup the get_state() function a little, make sure it
20433         iterates the same set of elements.
20434         Added stub iterate_state_order().
20435
20436 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20437
20438         * docs/gst/gstreamer-docs.sgml:
20439         * docs/gst/gstreamer-sections.txt:
20440         * docs/gst/gstreamer.types:
20441         * docs/gst/tmpl/gstbasesink.sgml:
20442         * docs/gst/tmpl/gstbasesrc.sgml:
20443         * docs/gst/tmpl/gstbasetransform.sgml:
20444         * docs/gst/tmpl/gstelement.sgml:
20445         * docs/gst/tmpl/gstiterator.sgml:
20446         * gst/base/gstbasesrc.c:
20447         * gst/base/gstbasesrc.h:
20448         * gst/base/gstbasetransform.h:
20449         * gst/gstelement.c:
20450         * gst/gstiterator.h:
20451           adding basetransform and iterator docs
20452
20453 2005-06-27  Andy Wingo  <wingo@pobox.com>
20454
20455         * docs/design/part-activation.txt: Notes on how activation should
20456         work -- not quite implemented yet.
20457
20458 2005-06-25  Wim Taymans  <wim@fluendo.com>
20459
20460         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
20461         At least get the chain function correct, needs more
20462         fixing.
20463
20464 2005-06-25  Wim Taymans  <wim@fluendo.com>
20465
20466         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20467         (gst_basesink_handle_object), (gst_basesink_event),
20468         (gst_basesink_do_sync), (gst_basesink_handle_event),
20469         (gst_basesink_change_state):
20470         * gst/gsttask.h:
20471         Right, two problems here: ghostpads don't take locks and
20472         glib _rec_mutex_lock_full() with depth==0 still locks.
20473         Catch illegal locking and g_warn them.
20474
20475 2005-06-25  Wim Taymans  <wim@fluendo.com>
20476
20477         * check/states/sinks.c: (START_TEST), (gst_object_suite):
20478         Have to check for completion now...
20479
20480 2005-06-25  Wim Taymans  <wim@fluendo.com>
20481
20482         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20483         (gst_basesink_handle_object), (gst_basesink_event),
20484         (gst_basesink_do_sync), (gst_basesink_handle_event),
20485         (gst_basesink_change_state):
20486         * gst/gstpad.h:
20487         Unlock STREAM_LOCK whatever the recursion was.
20488
20489 2005-06-25  Wim Taymans  <wim@fluendo.com>
20490
20491         * gst/base/gstbasesink.c: (gst_basesink_set_property),
20492         (gst_basesink_preroll_queue_empty),
20493         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
20494         (gst_basesink_event), (gst_basesink_do_sync),
20495         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
20496         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
20497         (gst_basesink_change_state):
20498         Reworked the base sink, handle event and buffer serialisation
20499         correctly and removed possible deadlock.
20500         Handle EOS correctly.
20501
20502 2005-06-25  Wim Taymans  <wim@fluendo.com>
20503
20504         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
20505         (gst_pipeline_change_state):
20506         * tools/gst-launch.c: (check_intr), (event_loop), (main):
20507         Allow elements to post EOS in the state change function.
20508         Fix up -launch, make it exit the poll loop when the
20509         pipeline actually changed state.
20510         Fix up warning parsing in -launch.
20511
20512 2005-06-25  Wim Taymans  <wim@fluendo.com>
20513
20514         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
20515         (gst_tee_sink_activate):
20516         Core takes STREAM_LOCK for us now.
20517
20518 2005-06-25  Wim Taymans  <wim@fluendo.com>
20519
20520         * gst/gstelement.c: (gst_element_get_state_func),
20521         (gst_element_set_state):
20522         * gst/gstelement.h:
20523         * gst/gstmessage.c: (gst_message_parse_error),
20524         (gst_message_parse_warning):
20525         Keep track of current target state while performing a state
20526         change so that subclasses can do something interesting.
20527         Fix parsing of warning/error messages when GError is NULL.
20528
20529 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20530
20531         * docs/gst/Makefile.am:
20532         * docs/gst/gstreamer-docs.sgml:
20533         * docs/gst/gstreamer-sections.txt:
20534         * docs/gst/gstreamer.types:
20535         * docs/gst/tmpl/gstbasesink.sgml:
20536         * docs/gst/tmpl/gstbasesrc.sgml:
20537         * docs/gst/tmpl/gstbin.sgml:
20538         * docs/gst/tmpl/gstcompat.sgml:
20539         * docs/gst/tmpl/gstfakesink.sgml:
20540         * docs/gst/tmpl/gstfakesrc.sgml:
20541         * docs/gst/tmpl/gstfilesink.sgml:
20542         * docs/gst/tmpl/gstfilesrc.sgml:
20543         * docs/gst/tmpl/gstindex.sgml:
20544         * docs/manual/appendix-quotes.xml:
20545         * gst/base/gstbasesrc.h:
20546         * gst/elements/gstfakesrc.h:
20547         * gst/gstmessage.h:
20548           start pulling in base classes and elements in our docs
20549
20550 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
20551
20552         * docs/gst/Makefile.am:
20553         * docs/libs/Makefile.am:
20554           fixed make distcheck with gtk-doc 1.3
20555
20556 2005-06-23  Wim Taymans  <wim@fluendo.com>
20557
20558         * gst/gstelement.c: (gst_element_get_state_func),
20559         (gst_element_set_state), (gst_element_change_state):
20560         When the state did not change, also report NO_PREROLL
20561         when it matters.
20562
20563 2005-06-23  Wim Taymans  <wim@fluendo.com>
20564
20565         * gst/gstpad.c: (gst_pad_event_default):
20566         * gst/gstqueue.c: (gst_queue_loop):
20567         No unsafe task pausing please.
20568
20569 2005-06-23  Wim Taymans  <wim@fluendo.com>
20570
20571         * gst/schedulers/threadscheduler.c:
20572         (gst_thread_scheduler_task_start),
20573         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
20574         Ref the task before pushing it on the threadpool. This
20575         makes sure that we have a ref when the threadfunction is
20576         actually called.
20577
20578 2005-06-23  Andy Wingo  <wingo@pobox.com>
20579
20580         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
20581         offset is greater than the file's size.
20582
20583         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
20584         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
20585         * gst/gstobject.c (gst_object_class_init): Make the class lock
20586         recursive. Wim won't let me drop deep_notify. Decodebin works
20587         again, whoopdy doo.
20588
20589         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
20590         internal pad, and hacks accordingly. Doesn't do it on the target
20591         pad because we change its caps. Probably catches all cases of
20592         interest tho.
20593         (gst_ghost_pad_set_property): Connect to notify::caps as
20594         appropritate.
20595
20596         * tests/network-clock.scm (plot-simulation): Pipe data to the
20597         elite python skript.
20598
20599         * tests/network-clock-utils.scm (define-parameter): New macro,
20600         defines a parameter that can be set via the command line.
20601         (set-parameter!, parse-parameter-arguments): Command line args
20602         parser.
20603
20604         * tests/plot-data: Simple matplotlib-based plotter, takes input on
20605         stdin.
20606
20607 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
20608
20609         * gst/elements/gsttypefindelement.c:
20610         (gst_type_find_element_handle_event):
20611           Don't restart typefinding on a discont.
20612         * gst/gstelement.c: (gst_element_set_state):
20613           Debug spelling fix.
20614         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
20615           Allow changing mode of an active pad.
20616           Debug output fixes.
20617         * gst/registries/gstlibxmlregistry.c: (load_feature):
20618           Don't cast a static pad template to a normal pad template.
20619
20620 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20621
20622         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20623         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20624           remove gst_strtoll completely, since it didn't actually do
20625           anything more than what g_ascii_strtoull already does.
20626           check for range errors when deserializing
20627           do a cast for the unsigned cases; but further fixing needs
20628           a decision on what the interpretation of "(int)" and
20629           deserialization should be for values that fall outside the
20630           type's boundaries (ie, refuse, or interpret as casting)
20631
20632 2005-06-23  Wim Taymans  <wim@fluendo.com>
20633
20634         * check/Makefile.am:
20635         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
20636         * docs/design/part-live-source.txt:
20637         * docs/design/part-states.txt:
20638         * gst/base/gstbasesrc.c: (gst_basesrc_init),
20639         (gst_basesrc_set_live), (gst_basesrc_is_live),
20640         (gst_basesrc_get_range), (gst_basesrc_activate),
20641         (gst_basesrc_change_state):
20642         * gst/base/gstbasesrc.h:
20643         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20644         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
20645         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
20646         * gst/gstelement.c: (gst_element_get_state_func),
20647         (gst_element_set_state):
20648         * gst/gstelement.h:
20649         * gst/gsttypes.h:
20650         * tools/gst-launch.c: (event_loop), (main):
20651         Added support for live sources and other elements that
20652         cannot do preroll.
20653         Updated design docs, added live-source design doc.
20654         Implemented live source functionality in basesrc
20655         Fix error condition in _bin_get_state()
20656         Implement live source handling in -launch.
20657         Added check for live sources.
20658         Fixed case in GstBin where elements were changed state
20659         multiple times.
20660
20661
20662 2005-06-23  Andy Wingo  <wingo@pobox.com>
20663
20664         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
20665         borken refcounting.
20666
20667         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
20668         gst_caps_replace takes care of this for us.
20669
20670         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
20671         gst_pad_set_caps on the target, not just its setcaps() function.
20672
20673         * tests/network-clock.scm: 
20674         * tests/network-clock-utils.scm: A network clock simulator.
20675         Something of an algorithmic testbed before doing something in C.
20676
20677 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20678
20679         * check/Makefile.am:
20680         * check/gst/capslist.h:
20681           copy over from 0.8, and add two with bitmasks specified with
20682           (int) 0xFF...
20683         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20684           add test to parse everything from capslist.h
20685         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
20686         (main):
20687           add test for structure deserialization
20688         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20689           add tests for deserialization of strings to int types
20690         * gst/gststructure.c: (gst_structure_nth_field_name):
20691         * gst/gststructure.h:
20692           add a way to get the name of a field referenced by index
20693         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20694           instead of checking if the resulting long long lies between
20695           min and max, we check if the long long would fit into
20696           a number of bytes for the final type.
20697           This fixes cases where a string represents 2^32 - 1, which
20698           when cast to int would be the (valid) -1, but is bigger than
20699           G_MAXINT
20700
20701 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20702
20703         * gst/parse/grammar.y:
20704           add a log line for type deserialization
20705
20706 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20707
20708         * check/gst/gstvalue.c: (START_TEST):
20709         * gst/gstvalue.c: (gst_value_deserialize):
20710           return long long, not int, so gint64 deserialization actually
20711           works.  Is there any flag that makes the compiler check this ?
20712           Fixes #308559
20713
20714 2005-06-22  Wim Taymans  <wim@fluendo.com>
20715
20716         * gst/gstbuffer.h:
20717         Added convenience macros for setting buffers in GValue.
20718
20719 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20720
20721         * check/gst/.cvsignore:
20722         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20723           add a test deserializing int64, and comment part out because
20724           it fails, yay !
20725
20726 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20727
20728         * check/Makefile.am:
20729         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
20730         * testsuite/Makefile.am:
20731         * testsuite/caps/Makefile.am:
20732         * testsuite/caps/value_serialize.c:
20733         * testsuite/test_gst_init.c:
20734           move a value_serialize test over
20735
20736 2005-06-20  Wim Taymans  <wim@fluendo.com>
20737
20738         * gst/gstpad.c:
20739         Small doc updates.
20740         
20741         * gst/gstvalue.c: (gst_value_compare_buffer),
20742         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
20743         (gst_value_compare_flags), (gst_value_serialize_flags),
20744         (gst_value_deserialize_flags), (_gst_value_initialize):
20745         Fix serialisation of buffers, they are not boxed types anymore
20746
20747 2005-06-20  Wim Taymans  <wim@fluendo.com>
20748
20749         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20750         Testcase to show error in buffer-on-caps serialisation.
20751
20752 2005-06-20  Andy Wingo  <wingo@pobox.com>
20753
20754         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
20755         will be adding to later.
20756
20757         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
20758         if its socks fill with rocks.
20759         (gst_system_clock_obtain): Set the name on object construction.
20760         Avoid double-checked locking.
20761
20762 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
20763
20764         * gst/gsturi.c: (gst_element_make_from_uri):
20765           Fix potential endless loop.
20766
20767 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20768
20769         * check/Makefile.am:
20770           add gsttag
20771         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
20772         (main):
20773           move over from testsuite dir and clean up
20774         * configure.ac:
20775         * gst/gsttag.c:
20776         * testsuite/Makefile.am:
20777         * testsuite/tags/.cvsignore:
20778         * testsuite/tags/Makefile.am:
20779         * testsuite/tags/merge.c:
20780           remove testsuite/tags
20781
20782 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20783
20784         * docs/gst/gstreamer-sections.txt:
20785         * docs/gst/tmpl/gstenumtypes.sgml:
20786         * win32/gstenumtypes.c:
20787           clean up documentation build a little
20788
20789 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20790
20791         * check/gstcheck.h:
20792           add macros for checking refcounts on objects and caps
20793         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
20794           add some more unit tests
20795         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
20796         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
20797           fix leaked refcounts (I hope :)) so unittest works
20798         * gst/gstpad.h:
20799           whitespace removal
20800
20801 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20802
20803         * configure.ac: back to HEAD
20804
20805 === release 0.9.1 ===
20806
20807 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20808
20809         * NEWS:
20810         * RELEASE:
20811           updated
20812
20813 2005-06-17  Andy Wingo  <wingo@pobox.com>
20814
20815         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
20816         assert; it's always possible that the pad gets deactivated in
20817         between the checks in gstpad.c and the implementation. Rely on
20818         finish_preroll() to return a FLUSHING or similar instead of on the
20819         assert.
20820         
20821         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
20822         clock and post an EOS message if we come out of finish_preroll in
20823         the playing state.
20824
20825 2005-06-16  David Schleef  <ds@schleef.org>
20826
20827         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
20828         (gst_capsfilter_set_property): Allow NULL as possible value
20829         for filter_caps property, indicating GST_CAPS_ANY.
20830
20831 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20832
20833         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
20834           fix debug output
20835         * gst/schedulers/Makefile.am:
20836           use libgst prefix
20837         * gstreamer.spec.in:
20838           fix spec for it
20839
20840 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20841
20842         * gstreamer.spec.in:
20843           clean up
20844
20845 2005-06-08  Andy Wingo  <wingo@pobox.com>
20846
20847         * gst/gstutils.c: RPAD fixes all around.
20848         (gst_element_link_pads): Refcounting fixes.
20849
20850         * tools/gst-inspect.c:
20851         * tools/gst-xmlinspect.c:
20852         * parse/grammar.y:
20853         * gst/base/gsttypefindhelper.c:
20854         * gst/base/gstbasesink.c:
20855         * gst/gstqueue.c: RPAD fixes.
20856
20857         * gst/gstghostpad.h:
20858         * gst/gstghostpad.c: New ghost pad implementation as full proxy
20859         pads. The tricky thing is they provide both source and sink
20860         interfaces, since they proxy the internal pad for the external
20861         pad, and vice versa. Implement with lower-level ProxyPad objects,
20862         with the interior proxy pad as a child of the exterior ghost pad.
20863         Should write a doc on this.
20864         
20865         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
20866         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
20867         gst_object API.
20868         
20869         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
20870         pads are real pads. No ghost pads in this file. Not documenting
20871         the myriad s/RPAD/PAD/ and REALIZE fixes.
20872         (gst_pad_class_init): Add properties for "direction" and
20873         "template". Both are construct-only, so they can't change during
20874         the life of the pad. Fixes properly deriving from GstPad.
20875         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
20876         derived objects, just set properties when creating the objects via
20877         g_object_new.
20878         (gst_pad_get_parent): Implement as a function, return NULL if the
20879         parent is not an element.
20880         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
20881         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
20882         
20883         * gst/gstobject.c (gst_object_class_init): Make name a construct
20884         property. Don't set it in the object init.
20885
20886         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
20887         with UNKNOWN direction.
20888         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
20889         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
20890         (gst_element_remove_pad): Remove ghost-pad special cases.
20891         (gst_element_pads_activate): Remove rpad cruft.
20892
20893         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
20894         catch the pad's-parent-not-an-element case.
20895
20896         * gst/gst.h: Include gstghostpad.h.
20897
20898         * gst/gst.c (init_post): No more real, ghost pads.
20899
20900         * gst/Makefile.am: Add gstghostpad.[ch].
20901
20902         * check/Makefile.am:
20903         * check/gst/gstbin.c:
20904         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
20905         into a bin creates ghost pads, and that the refcounts are right.
20906         Partly moved from gstbin.c.
20907
20908 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20909
20910         * check/gst-libs/.cvsignore:
20911         * check/gst/.cvsignore:
20912         * check/pipelines/.cvsignore:
20913           ignore more
20914         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
20915         (START_TEST), (cleanup_suite), (main):
20916           add some tests related to cleanup after running pipelines
20917
20918 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20919
20920         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
20921           add a testsuite for GstBuffer
20922
20923 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20924
20925         * gst/gstminiobject.h:
20926           add defines for accessing the refcount
20927
20928 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
20929
20930         * Makefile.am: added support for html unit test coverage reports
20931
20932 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
20933
20934         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20935           Free existing caps if the capsfilter changes. Add a FIXME about
20936           setting those caps on the pads.
20937
20938         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
20939           Before adding a ghost pad to a parent bin, check that there isn't
20940           already one for the element on the bin. Prevents infinite recursion
20941           when using decodebin in parse pipelines. Andy says he'll rewrite the
20942           way this works anyway, so ignore the hack.
20943
20944 2005-06-02  Andy Wingo  <wingo@pobox.com>
20945
20946         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
20947         file size, pass it on to the type find helper.
20948
20949         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
20950         segment_start and segment_end properly according to the seek
20951         method. Segment_end is still a bit flaky because offset can be
20952         negative for CUR and END cases, but it takes -1 as an "unset"
20953         value.
20954
20955 2005-06-02  Wim Taymans  <wim@fluendo.com>
20956
20957         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
20958         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
20959         (gst_basesink_activate):
20960         * gst/base/gstbasesink.h:
20961         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20962         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20963         (gst_pad_query), (gst_pad_start_task):
20964         * gst/gstpad.h:
20965         * gst/gstqueue.c: (gst_queue_bufferalloc),
20966         (gst_queue_handle_sink_event), (gst_queue_chain):
20967         Bufferalloc: return GstFlowReturn to more accuratly report
20968         why allocation failed.
20969
20970 2005-06-02  Wim Taymans  <wim@fluendo.com>
20971
20972         * gst/gstpipeline.c: (gst_pipeline_send_event):
20973         Take snapshot of state without blocking.
20974
20975 2005-06-02  Wim Taymans  <wim@fluendo.com>
20976
20977         * docs/design/part-TODO.txt:
20978         * docs/design/part-caps.txt:
20979         * docs/design/part-clocks.txt:
20980         * docs/design/part-negotiation.txt:
20981         * docs/design/part-preroll.txt:
20982         Small doc updates 
20983
20984 2005-05-30  Wim Taymans  <wim@fluendo.com>
20985
20986         * gst/elements/gstidentity.c: (gst_identity_event),
20987         (gst_identity_transform), (gst_identity_get_property):
20988         Protect last_message property as it is accessed from
20989         multiple threads.
20990
20991 2005-05-30  Wim Taymans  <wim@fluendo.com>
20992
20993         * gst/gstelement.c: (gst_element_init),
20994         (gst_element_pads_activate), (gst_element_change_state):
20995         Slicker pad activation code.
20996
20997 2005-05-30  Wim Taymans  <wim@fluendo.com>
20998
20999         * gst/Makefile.am:
21000         * gst/gstelement.h:
21001         * gst/gstelementfactory.h:
21002         * gst/gsttypes.h:
21003         Move elementfactory methods to separate .h file.
21004
21005 2005-05-30  Wim Taymans  <wim@fluendo.com>
21006
21007         * docs/design/part-overview.txt:
21008         * gst/gstsystemclock.h:
21009         Small typo fixes, doc updates.
21010
21011 2005-05-30  Wim Taymans  <wim@fluendo.com>
21012
21013         * gst/gst.c: (gst_init_get_popt_table), (init_post),
21014         (init_popt_callback):
21015         Remove cpu-opt flag.
21016
21017 2005-05-30  Wim Taymans  <wim@fluendo.com>
21018
21019         * gst/gstbuffer.c: (gst_subbuffer_finalize),
21020         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
21021         * gst/gstbuffer.h:
21022         Avoid typechecking in places where not needed.
21023         Added accessor for malloc_data.
21024
21025 2005-05-30  Wim Taymans  <wim@fluendo.com>
21026
21027         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
21028         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
21029         (gst_pad_configure_sink), (gst_pad_configure_src),
21030         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
21031         (gst_pad_start_task):
21032         Propagate errors from _set_caps() in configure_src/sink
21033         functions instead of returning TRUE.
21034         FLUSH events can travel up and downstream
21035
21036
21037 2005-05-30  Wim Taymans  <wim@fluendo.com>
21038
21039         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
21040         (gst_basesink_activate):
21041         Handle EOS in preroll.
21042
21043 2005-05-30  Wim Taymans  <wim@fluendo.com>
21044
21045         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21046         (gst_queue_loop), (gst_queue_handle_src_event):
21047         Remove old pieces of code
21048         Flushing the queue in an upstream event is a very bad idea.
21049
21050 2005-05-26  Andy Wingo  <wingo@pobox.com>
21051
21052         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
21053         gst_value_set_mini_object so as to add a ref on the object (which
21054         will be removed when the value is unset).
21055
21056         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
21057         arg type in ::handoff.
21058
21059         * gst/gstelement.c (gst_element_change_state): Also deactivate
21060         pads in READY->NULL, just in case the element didn't make it to
21061         PAUSED. Wingo tested, Wim approved.
21062
21063 2005-05-26  Wim Taymans  <wim@fluendo.com>
21064
21065         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21066         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
21067         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
21068         A flushing pad cannot be used to alloc_buffer from.
21069
21070 2005-05-26  Wim Taymans  <wim@fluendo.com>
21071
21072         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
21073         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
21074         (gst_bus_source_dispatch), (gst_bus_source_finalize),
21075         (gst_bus_create_watch), (gst_bus_add_watch_full):
21076         * gst/gstbus.h:
21077         Implement a real GSource and use g_main_context_wakeup() to
21078         signal new messages instead of the socketpair.
21079
21080 2005-05-25  Wim Taymans  <wim@fluendo.com>
21081
21082         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
21083         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
21084         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21085         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
21086         (gst_pad_send_event), (gst_pad_start_task):
21087         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
21088         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
21089         (gst_queue_sink_activate), (gst_queue_src_activate),
21090         (gst_queue_change_state):
21091         * gst/gstqueue.h:
21092         Fix state changes for non sinks. We now change sinks, then elements
21093         with unconnected srcpads, then the rest.
21094         More efficient queue unlocking in flush and state changes.
21095         Set the pad activate mode even if it does not have an activate
21096         function.
21097
21098 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21099
21100         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
21101           Don't go in pull mode for non-seekable sources.
21102         * gst/elements/gsttypefindelement.h:
21103         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21104         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
21105         (free_entry), (stop_typefinding),
21106         (gst_type_find_element_handle_event), (find_peek),
21107         (gst_type_find_element_chain), (do_pull_typefind),
21108         (gst_type_find_element_change_state):
21109           Allow typefinding (w/o seeking) in push-mode, simplified version
21110           of what was in 0.8.
21111         * gst/gstutils.c: (gst_buffer_join):
21112         * gst/gstutils.h:
21113           gst_buffer_join() from 0.8.
21114
21115 2005-05-25  Wim Taymans  <wim@fluendo.com>
21116
21117         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21118         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
21119         (gst_pad_send_event), (gst_pad_start_task):
21120         Disable attempt at mode switching until it is figured out.
21121
21122 2005-05-25  Wim Taymans  <wim@fluendo.com>
21123
21124         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
21125         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
21126         (gst_basesink_finish_preroll), (gst_basesink_chain),
21127         (gst_basesink_loop), (gst_basesink_activate),
21128         (gst_basesink_change_state):
21129         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
21130         (gst_basesrc_get_range), (gst_basesrc_loop),
21131         (gst_basesrc_activate):
21132         * gst/elements/gsttee.c: (gst_tee_sink_activate):
21133         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
21134         (gst_real_pad_init), (gst_real_pad_set_property),
21135         (gst_real_pad_get_property), (gst_pad_set_active),
21136         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
21137         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
21138         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
21139         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
21140         (gst_pad_event_default_dispatch), (gst_pad_event_default),
21141         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
21142         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
21143         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
21144         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
21145         (gst_pad_stop_task):
21146         * gst/gstpad.h:
21147         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21148         (gst_queue_loop), (gst_queue_src_activate):
21149         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
21150         (gst_task_get_state):
21151         * gst/gsttask.h:
21152         * gst/schedulers/threadscheduler.c:
21153         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
21154         Implement gst_pad_pause/start/stop_task(), take STREAM lock
21155         in task function.
21156         Remove ACTIVE pad flag, use FLUSHING everywhere
21157         Added _pad_chain(), _pad_get_range() to call chain/getrange 
21158         functions.
21159         Add locks around IS_FLUSHING when reading.
21160         Take STREAM lock in chain(), get_range() functions so plugins
21161         don't need to take it anymore.
21162         
21163
21164
21165 2005-05-25  Wim Taymans  <wim@fluendo.com>
21166
21167         * tools/gst-launch.c: (event_loop):
21168         Unref message after using its contents instead of
21169         before.
21170
21171 2005-05-24  Wim Taymans  <wim@fluendo.com>
21172
21173         * docs/design/draft-ghostpads.txt:
21174         * docs/design/draft-push-pull.txt:
21175         * docs/design/draft-query.txt:
21176         * docs/design/part-overview.txt:
21177         Docs updates, added general overview doc.
21178
21179 2005-05-21  David Schleef  <ds@schleef.org>
21180
21181         * docs/gst/tmpl/old/GstBin.sgml:
21182         * docs/gst/tmpl/old/GstBuffer.sgml:
21183         * docs/gst/tmpl/old/GstCaps.sgml:
21184         * docs/gst/tmpl/old/GstClock.sgml:
21185         * docs/gst/tmpl/old/GstCompat.sgml:
21186         * docs/gst/tmpl/old/GstData.sgml:
21187         * docs/gst/tmpl/old/GstElement.sgml:
21188         * docs/gst/tmpl/old/GstEvent.sgml:
21189         * docs/gst/tmpl/old/GstIndex.sgml:
21190         * docs/gst/tmpl/old/GstStructure.sgml:
21191         * docs/gst/tmpl/old/GstTag.sgml:
21192         * docs/gst/tmpl/old/cothreads.sgml:
21193         * docs/gst/tmpl/old/cothreads_compat.sgml:
21194         * docs/gst/tmpl/old/gettext.sgml:
21195         * docs/gst/tmpl/old/gobject2gtk.sgml:
21196         * docs/gst/tmpl/old/grammar.tab.sgml:
21197         * docs/gst/tmpl/old/gst-i18n-app.sgml:
21198         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
21199         * docs/gst/tmpl/old/gst_private.sgml:
21200         * docs/gst/tmpl/old/gstaggregator.sgml:
21201         * docs/gst/tmpl/old/gstarch.sgml:
21202         * docs/gst/tmpl/old/gstatomic_impl.sgml:
21203         * docs/gst/tmpl/old/gstbufferstore.sgml:
21204         * docs/gst/tmpl/old/gstdata_private.sgml:
21205         * docs/gst/tmpl/old/gstdisksink.sgml:
21206         * docs/gst/tmpl/old/gstdisksrc.sgml:
21207         * docs/gst/tmpl/old/gstelementfactory.sgml:
21208         * docs/gst/tmpl/old/gstextratypes.sgml:
21209         * docs/gst/tmpl/old/gstfakesink.sgml:
21210         * docs/gst/tmpl/old/gstfakesrc.sgml:
21211         * docs/gst/tmpl/old/gstfdsink.sgml:
21212         * docs/gst/tmpl/old/gstfdsrc.sgml:
21213         * docs/gst/tmpl/old/gstfilesink.sgml:
21214         * docs/gst/tmpl/old/gstfilesrc.sgml:
21215         * docs/gst/tmpl/old/gsthttpsrc.sgml:
21216         * docs/gst/tmpl/old/gstidentity.sgml:
21217         * docs/gst/tmpl/old/gstindexfactory.sgml:
21218         * docs/gst/tmpl/old/gstmarshal.sgml:
21219         * docs/gst/tmpl/old/gstmd5sink.sgml:
21220         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
21221         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
21222         * docs/gst/tmpl/old/gstpadtemplate.sgml:
21223         * docs/gst/tmpl/old/gstpipefilter.sgml:
21224         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
21225         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
21226         * docs/gst/tmpl/old/gstshaper.sgml:
21227         * docs/gst/tmpl/old/gstspider.sgml:
21228         * docs/gst/tmpl/old/gstspideridentity.sgml:
21229         * docs/gst/tmpl/old/gststatistics.sgml:
21230         * docs/gst/tmpl/old/gsttee.sgml:
21231         * docs/gst/tmpl/old/gsttimecache.sgml:
21232         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
21233         * docs/gst/tmpl/old/gstxmlregistry.sgml:
21234         * docs/gst/tmpl/old/gthread-cothreads.sgml:
21235         * docs/gst/tmpl/old/types.sgml:
21236           I didn't intend to add these or check them in.
21237
21238 2005-05-19  David Schleef  <ds@schleef.org>
21239
21240         * configure.ac: Use -no-common everywhere.  In a sane world, it
21241           would be the default in libtool, because without it, you can't
21242           build DLLs on Windows.
21243         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
21244         * docs/gst/gstreamer-sections.txt:
21245         * docs/gst/tmpl/gstcpu.sgml:
21246         * docs/gst/tmpl/gstdata.sgml:
21247         * docs/gst/tmpl/gstthread.sgml:
21248
21249 2005-05-19  David Schleef  <ds@schleef.org>
21250
21251         * gst/gstminiobject.c: (gst_value_set_mini_object),
21252         (gst_value_take_mini_object), (gst_value_get_mini_object):
21253         * gst/gstminiobject.h: Add GValue set/get functions.
21254
21255 2005-05-19  Wim Taymans  <wim@fluendo.com>
21256
21257         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
21258         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
21259         (gst_subbuffer_init), (gst_buffer_is_span_fast):
21260         * gst/gstbuffer.h:
21261         * gst/gstbus.c: (gst_bus_post):
21262         * gst/gstelement.c: (gst_element_get_random_pad):
21263         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
21264         Make subbufer unref the parent in finalize.
21265         some more debugging info.
21266
21267
21268 2005-05-19  Wim Taymans  <wim@fluendo.com>
21269
21270         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21271         (gst_basesink_init), (gst_basesink_finalize),
21272         (gst_basesink_activate), (gst_basesink_change_state):
21273         Don't free preroll queue too early.
21274
21275 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21276
21277         * gst/Makefile.am:
21278         * gst/ROADMAP:
21279           Hi, I'm outdated. Please shoot me.
21280
21281 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21282
21283         * gst/gstpipeline.c: (gst_pipeline_send_event):
21284           Do not access variables after they have been deleted.
21285
21286 2005-05-19  Wim Taymans  <wim@fluendo.com>
21287
21288         * tools/gst-inspect.c: (print_plugin_features):
21289         A plugin feature does unfortunatly not use the
21290         object name yet...
21291
21292 2005-05-18  Wim Taymans  <wim@fluendo.com>
21293
21294         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
21295         Port _span() functions to new subbuffers.
21296
21297 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21298
21299         * gst/gstbin.c: (gst_bin_add_func):
21300           Fix clock settery in bins when adding kids after the clock has
21301           been selected.
21302
21303 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21304
21305         * gst/elements/gstidentity.c: (gst_identity_class_init):
21306           Workaround until signals support GstMiniObject.
21307
21308 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
21309
21310         * gst/gstbuffer.c:
21311         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
21312
21313 2005-05-18  Wim Taymans  <wim@fluendo.com>
21314
21315         * gst/base/Makefile.am:
21316         * gst/base/gstadapter.c: (gst_adapter_base_init),
21317         (gst_adapter_class_init), (gst_adapter_init),
21318         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
21319         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
21320         (gst_adapter_flush), (gst_adapter_available),
21321         (gst_adapter_available_fast):
21322         * gst/base/gstadapter.h:
21323         Ported and added adapter to the base classes.
21324
21325 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21326
21327         * gst/gst.c:
21328         * gst/gstmessage.c:
21329           Make sure the class is reffed/unreffed once before threads can be
21330           used.  Fixes #304551.
21331
21332 2005-05-17  Wim Taymans  <wim@fluendo.com>
21333
21334         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
21335         (gst_basesink_chain_unlocked), (gst_basesink_activate):
21336         * gst/gstminiobject.c: (gst_mini_object_get_type),
21337         (gst_mini_object_free):
21338         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
21339         (gst_pad_push), (gst_pad_push_event):
21340         * gst/gstqueue.c: (gst_queue_change_state):
21341         Don't queue buffers in basesink when we are flushing.
21342         Unref buffer when flushing in basesink.
21343         Flush queue when going to READY
21344         Unref buffer when _push() returns an error.
21345         Don't free MiniObject instance when refcount is incremented
21346         in _finalize() so that we can recover objects.
21347
21348 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21349
21350         * docs/manual/advanced-schedulers.xml:
21351         * docs/manual/appendix-checklist.xml:
21352         * docs/pwg/advanced-clock.xml:
21353         * docs/pwg/advanced-interfaces.xml:
21354         * docs/pwg/advanced-request.xml:
21355         * docs/pwg/advanced-types.xml:
21356         * docs/pwg/intro-preface.xml:
21357         * examples/plugins/example.c: (gst_example_get_type),
21358         (gst_example_class_init), (gst_example_chain),
21359         (gst_example_set_property), (gst_example_get_property),
21360         (gst_example_change_state), (plugin_init):
21361         * examples/plugins/example.h:
21362           small doc fixes
21363
21364 2005-05-17  Wim Taymans  <wim@fluendo.com>
21365
21366         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
21367         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
21368         * gst/gstqueue.c: (gst_queue_change_state):
21369         Clear queue when going to READY.
21370         Remove IN_SETCAPS flag too.
21371
21372 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
21373
21374         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
21375           Remove implicit cast from gboolean to GstElementStateReturn;
21376           make sure we still return failure in paused => ready case if
21377           the parent class fails to change state and our own stop 
21378           vfunc succeeds.
21379
21380 2005-05-17  Wim Taymans  <wim@fluendo.com>
21381
21382         * tools/gst-launch.c: (event_loop):
21383         Message was unreffed too soon.
21384
21385 2005-05-16  Andy Wingo  <wingo@pobox.com>
21386
21387         * gst/gstbin.c (sink_iterator_filter): Err... um...
21388
21389         * check/gst/gstbin.c (test_ghost_pads): New test for the
21390         ghosting-if-elements-not-in-same-bin behavior.
21391
21392 2005-05-16  David Schleef  <ds@schleef.org>
21393
21394         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
21395         accessing refcount directly.
21396
21397 2005-05-15  David Schleef  <ds@schleef.org>
21398
21399         * check/Makefile.am: remove GstData checks
21400         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
21401         * gst/Makefile.am: add miniobject, remove data
21402         * gst/gst.h: add miniobject, remove data
21403         * gst/gstdata.c: remove
21404         * gst/gstdata.h: remove
21405         * gst/gstdata_private.h: remove
21406         * gst/gsttypes.h: remove GstEvent and GstMessage
21407         * gst/gstelement.c: (gst_element_post_message): fix for API changes
21408         * gst/gstmarshal.list: change BOXED -> OBJECT
21409
21410         Implement GstMiniObject.
21411         * gst/gstminiobject.c:
21412         * gst/gstminiobject.h:
21413
21414         Modify to be subclasses of GstMiniObject.
21415         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
21416         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
21417         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
21418         (gst_subbuffer_get_type), (gst_subbuffer_init),
21419         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
21420         (gst_buffer_span):
21421         * gst/gstbuffer.h:
21422         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
21423         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
21424         (_gst_event_copy), (gst_event_new):
21425         * gst/gstevent.h:
21426         * gst/gstmessage.c: (_gst_message_initialize),
21427         (gst_message_get_type), (gst_message_class_init),
21428         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
21429         (gst_message_new), (gst_message_new_error),
21430         (gst_message_new_warning), (gst_message_new_tag),
21431         (gst_message_new_state_changed), (gst_message_new_application):
21432         * gst/gstmessage.h:
21433         * gst/gstprobe.c: (gst_probe_perform),
21434         (gst_probe_dispatcher_dispatch):
21435         * gst/gstprobe.h:
21436         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
21437         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
21438         (_gst_query_copy), (gst_query_new):
21439
21440         Update elements for GstData -> GstMiniObject changes
21441         * gst/gstquery.h:
21442         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
21443         (gst_queue_chain), (gst_queue_loop):
21444         * gst/elements/gstbufferstore.c:
21445         (gst_buffer_store_add_buffer_func),
21446         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
21447         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21448         (gst_fakesink_render):
21449         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
21450         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
21451         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
21452         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
21453         (gst_filesrc_create_read):
21454         * gst/elements/gstidentity.c: (gst_identity_class_init):
21455         * gst/elements/gsttypefindelement.c:
21456         (gst_type_find_element_src_event), (free_entry_buffers),
21457         (gst_type_find_element_handle_event):
21458         * libs/gst/dataprotocol/dataprotocol.c:
21459         (gst_dp_header_from_buffer):
21460         * libs/gst/dataprotocol/dataprotocol.h:
21461         * libs/gst/dataprotocol/dp-private.h:
21462
21463 2005-05-15  David Schleef  <ds@schleef.org>
21464
21465         * gst/elements/gstelements.c: Don't include headers that were
21466         just removed.
21467
21468 2005-05-15  David Schleef  <ds@schleef.org>
21469
21470         * gst/elements/Makefile.am: Remove some elements that don't
21471         need to be in the core (or even exist at all).
21472         * gst/elements/gstaggregator.c:
21473         * gst/elements/gstaggregator.h:
21474         * gst/elements/gstmd5sink.c:
21475         * gst/elements/gstmd5sink.h:
21476         * gst/elements/gstmultifilesrc.c:
21477         * gst/elements/gstmultifilesrc.h:
21478         * gst/elements/gstpipefilter.c:
21479         * gst/elements/gstpipefilter.h:
21480         * gst/elements/gstshaper.c:
21481         * gst/elements/gstshaper.h:
21482         * gst/elements/gststatistics.c:
21483         * gst/elements/gststatistics.h:
21484         * po/POTFILES.in: Remove above files.
21485
21486 2005-05-14  Andy Wingo  <wingo@pobox.com>
21487
21488         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
21489         so as to get the refs right.
21490         (sink_iterator_filter): New function, wraps bin_element_is_sink,
21491         unreffing objects that don't pass the filter.
21492
21493         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
21494         gst_element_set_bus.
21495         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
21496         normal cases, this will destroy the bus.
21497
21498         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
21499         object.
21500
21501         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
21502         has no sinks.
21503
21504 2005-05-13  Andy Wingo  <wingo@pobox.com>
21505
21506         * gst/gstutils.c (gst_element_link_pads): Instead of calling
21507         gst_pad_link, call pad_link_maybe_ghosting,
21508         (pad_link_maybe_ghosting): Links pads, making sure that the
21509         elements being linked are in the same bin.
21510         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
21511         Helpers for pad_link_maybe_ghosting.
21512
21513 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21514
21515         * configure.ac:
21516           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
21517
21518 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21519
21520         * docs/design/part-element-source.txt:
21521           Mention GstPushSrc
21522
21523 2005-05-12  Wim Taymans  <wim@fluendo.com>
21524
21525         * gst/base/gstbasesink.c: (gst_basesink_init),
21526         (gst_basesink_activate):
21527         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
21528         (gst_basesrc_is_seekable):
21529         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21530         (bin_element_is_sink), (gst_bin_change_state):
21531         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21532         * gst/gstelement.h:
21533         Identify sinks by their flag to avoid overly complicated
21534         checks (fow now).
21535         Do state changes even for elements not reachable from the
21536         sinks.
21537         BaseSink is a sink now :)
21538         Some more debugging info in the basesrc.
21539
21540
21541 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21542
21543         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
21544           Implement _query on a bin, similar to _send_event.
21545
21546 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
21547
21548         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
21549           Discont event offset format should be GST_FORMAT_BYTES,
21550           not GST_FORMAT_TIME.
21551
21552 2005-05-12  Wim Taymans  <wim@fluendo.com>
21553
21554         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
21555         Same fix as Ronald's but without the signal. 
21556
21557 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21558
21559         * gst/gstutils.c: (gst_element_query_position):
21560           No, an element is not a pad.
21561
21562 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21563
21564         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
21565         (gst_bin_get_state):
21566           If a child is removed from a bin while we remove the child from
21567           the bin and while we're retrieving its state, signal this to the
21568           get_state function so we abort the wait (instead of waiting for
21569           a timeout) and can immediately re-iterate over all other elements.
21570
21571 2005-05-12  Wim Taymans  <wim@fluendo.com>
21572
21573         * gst/base/Makefile.am:
21574         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
21575         (gst_basesrc_start):
21576         * gst/base/gstbasesrc.h:
21577         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
21578         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
21579         (gst_pushsrc_init), (gst_pushsrc_create):
21580         * gst/base/gstpushsrc.h:
21581         Added is_seekable to BaseSrc
21582         Added simple PushSrc.
21583
21584 2005-05-11  Wim Taymans  <wim@fluendo.com>
21585
21586         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21587         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21588         (gst_element_link_pads), (gst_element_query_position),
21589         (gst_element_query_convert), (intersect_caps_func),
21590         (gst_pad_query_position), (gst_pad_query_convert):
21591         Fix refcounting in utils function.
21592         No point in trying to activate a pad when it's added, it could
21593         be added from the state change function and then we deadlock, the
21594         element has to decide what to do.
21595
21596 2005-05-10  Andy Wingo  <wingo@pobox.com>
21597
21598         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
21599         *all* the arguments.
21600
21601         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
21602         stream lock if it's a FLUSH_DONE; normal flushes don't get the
21603         lock (according to the docs -- if this is wrong change the docs).
21604
21605         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
21606         flush messages in the NULL state.
21607
21608         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
21609         message immediately and return.
21610         (gst_bus_set_flushing): New function. If a bus is flushing, it
21611         flushes out any queued messages and immediately unrefs new
21612         messages. This is so when an element goes to NULL, all of the
21613         unhandled messages coming from it can be freed, and their
21614         references to the element dropped. In other words: message source
21615         ref considered harmful :P
21616
21617         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
21618         we're finished with it.
21619
21620         * gst/gstmessage.c (gst_message_new_state_changed): 
21621
21622 2005-05-10  Wim Taymans  <wim@fluendo.com>
21623
21624         * gst/gstvalue.c: (gst_value_compare_flags),
21625         (gst_value_serialize_flags), (gst_value_deserialize_flags),
21626         (_gst_value_initialize):
21627         Added flags serialize/deserialize/compare code.
21628
21629 2005-05-09  Andy Wingo  <wingo@pobox.com>
21630
21631         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
21632         Intersect the peer's caps with our caps.
21633
21634 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21635
21636         * gst/base/gsttypefindhelper.c: (helper_find_peek):
21637         * gst/elements/gsttypefindelement.c: (find_peek):
21638           Handle negative offsets better. Fixes decodebin.
21639
21640 2005-05-09  Wim Taymans  <wim@fluendo.com>
21641
21642         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
21643         (gst_base_transform_event):
21644         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
21645         Implement accept_caps.
21646         Fix silly lock/unlock mismatch in base class.
21647
21648 2005-05-09  Wim Taymans  <wim@fluendo.com>
21649
21650         * docs/design/draft-push-pull.txt:
21651         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
21652         * gst/elements/gstfilesink.c: (gst_filesink_init),
21653         (gst_filesink_query):
21654         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21655         (gst_type_find_handle_src_query), (find_element_get_length):
21656         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
21657         * gst/gstelement.h:
21658         * gst/gstmessage.c:
21659         * gst/gstmessage.h:
21660         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
21661         (gst_real_pad_get_caps_unlocked),
21662         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
21663         (gst_pad_event_default_dispatch), (gst_pad_event_default),
21664         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
21665         (gst_real_pad_dispose), (gst_real_pad_finalize),
21666         (gst_pad_load_and_link), (gst_pad_save_thyself),
21667         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
21668         (gst_pad_check_pull_range), (gst_pad_pull_range),
21669         (gst_pad_template_get_type), (gst_pad_template_class_init),
21670         (gst_pad_template_init), (gst_pad_template_dispose),
21671         (name_is_valid), (gst_static_pad_template_get),
21672         (gst_pad_template_new), (gst_static_pad_template_get_caps),
21673         (gst_pad_template_get_caps), (gst_pad_set_element_private),
21674         (gst_pad_get_element_private), (gst_pad_start_task),
21675         (gst_pad_pause_task), (gst_pad_stop_task),
21676         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
21677         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
21678         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
21679         (gst_ghost_pad_new):
21680         * gst/gstpad.h:
21681         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
21682         (gst_query_new_position), (gst_query_set_position),
21683         (gst_query_parse_position), (gst_query_new_convert),
21684         (gst_query_set_convert), (gst_query_parse_convert):
21685         * gst/gstquery.h:
21686         * gst/gstqueryutils.c:
21687         * gst/gstqueryutils.h:
21688         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21689         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21690         (gst_queue_handle_src_query):
21691         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21692         (gst_element_query_position), (gst_element_query_convert),
21693         (intersect_caps_func), (gst_pad_query_position),
21694         (gst_pad_query_convert):
21695         * gst/gstutils.h:
21696         * tools/gst-inspect.c: (print_pad_info):
21697         * tools/gst-xmlinspect.c: (print_element_info):
21698         Remove old query functions. Ported old code.
21699         Added position/convert helper functions to gstutils.
21700         Reordered gstpad.c code, grouping relevant things.
21701         Remove gst_message_new(), always need to speficy a specific
21702         message.
21703
21704
21705 2005-05-09  Andy Wingo  <wingo@pobox.com>
21706
21707         * gst/gstiterator.h: Add some includes.
21708
21709         * gst/gstqueryutils.h: Include more headers.
21710
21711         * gst/gstpad.h:
21712         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
21713         some uses of gst_pad_query.
21714
21715         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
21716         NULL out parameters.
21717         (gst_query_new_position): New proc, allocates a new position
21718         query.
21719
21720         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
21721         gstqueryutils.c to the build.
21722
21723         * gst/gststructure.c (gst_structure_set_valist): Implement with
21724         the generic G_VALUE_COLLECT.
21725         
21726 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
21727
21728         * gst/Makefile.am: (gst_headers):
21729         Added gstqueryutils.h to the list of headers to install, that was
21730         a 'nachty' move wingo :)
21731
21732 2005-05-06  Andy Wingo  <wingo@pobox.com>
21733
21734         * gst/gstquery.h
21735         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
21736         GstData, init a memchunk.
21737         (standard_definitions): Add a few query types, deprecate a few.
21738         (gst_query_get_type): New proc.
21739         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
21740         implementation.
21741         (gst_query_new_application, gst_query_get_structure): New public
21742         procs.
21743
21744         * docs/design/draft-query.txt: Removed LINKS from the query types,
21745         because all the rest can be dispatched to other pads -- seemed
21746         ugly to have a query that couldn't be dispatched. internal_links
21747         is fine as a pad method.
21748
21749         * gst/gstpad.h: Add query2 as a pad method, add the new functions
21750         in gstpad.c, but maintain binary compatibility for the moment.
21751         Will fix before 0.9 is out.
21752
21753         * gst/gstqueryutils.c: 
21754         * gst/gstqueryutils.h: New files, implement 3 methods for each
21755         query type: parse_query, parse_response, and set. Probably need an
21756         allocator as well.
21757
21758         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
21759
21760         * gst/elements/gstfilesink.c (gst_filesink_query2):
21761         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
21762         query_types, and formats methods.
21763
21764         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
21765         (gst_pad_set_query2_function): New functions.
21766         (gst_real_pad_init): Set query2_default as the default query2
21767         function. Basically just dispatches to internally linked pads.
21768
21769         Needs review!
21770         
21771         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
21772         without using the atomic operations. Only one thread can possibly
21773         be accessing the data at this point. Changed so as to avoid
21774         gst_atomic operations.
21775
21776 2005-05-06  Wim Taymans  <wim@fluendo.com>
21777
21778         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
21779         Also set caps if we use the fallback buffer alloc.
21780
21781 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
21782
21783         * docs/gst/Makefile.am:
21784         * docs/gst/gstreamer-docs.sgml:
21785         * docs/gst/gstreamer-sections.txt:
21786         * docs/gst/tmpl/gstatomic.sgml:
21787         * docs/gst/tmpl/gstmemchunk.sgml:
21788         * testsuite/elements/struct_i386.h:
21789         * win32/GStreamer.vcproj:
21790         * win32/Makefile:
21791           Purge GstAtomic stuff from docs and win32 makefiles as well
21792
21793 2005-05-06  Wim Taymans  <wim@fluendo.com>
21794
21795         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
21796         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
21797         * gst/gstpad.c: (gst_pad_peer_get_caps):
21798         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21799         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21800         (gst_queue_src_activate), (gst_queue_change_state):
21801         * gst/gstqueue.h:
21802         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21803         (intersect_caps_func):
21804         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
21805         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
21806         Some fixes for the peer_get_caps() change.
21807
21808 2005-05-06  Wim Taymans  <wim@fluendo.com>
21809
21810         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21811         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
21812         (gst_basesink_activate):
21813         Actually do something with error codes returned from the push
21814         functions.
21815
21816 2005-05-06  Wim Taymans  <wim@fluendo.com>
21817
21818         * docs/design/part-element-sink.txt:
21819         * docs/design/part-element-source.txt:
21820         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21821         (gst_basesink_event), (gst_basesink_activate):
21822         * gst/base/gstbasesink.h:
21823         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
21824         (gst_basesrc_activate):
21825         * gst/base/gstbasesrc.h:
21826         * gst/gstelement.c: (gst_element_pads_activate):
21827         Some more documentation.
21828         Fixed scheduling decision in _pads_activate().
21829
21830 2005-05-05  Andy Wingo  <wingo@pobox.com>
21831
21832         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
21833         the test suite.
21834
21835 2005-05-05  Wim Taymans  <wim@fluendo.com>
21836
21837         * gst/base/Makefile.am:
21838         * gst/base/gstbasesink.h:
21839         * gst/base/gstbasesrc.c: (gst_basesrc_init),
21840         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
21841         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
21842         (gst_collectpads_class_init), (gst_collectpads_init),
21843         (gst_collectpads_finalize), (gst_collectpads_new),
21844         (gst_collectpads_set_function), (gst_collectpads_add_pad),
21845         (find_pad), (gst_collectpads_remove_pad),
21846         (gst_collectpads_is_active), (gst_collectpads_collect),
21847         (gst_collectpads_collect_range), (gst_collectpads_start),
21848         (gst_collectpads_stop), (gst_collectpads_peek),
21849         (gst_collectpads_pop), (gst_collectpads_available),
21850         (gst_collectpads_read), (gst_collectpads_flush),
21851         (gst_collectpads_chain):
21852         * gst/base/gstcollectpads.h:
21853         * gst/elements/Makefile.am:
21854         * gst/elements/gstelements.c:
21855         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21856         (gst_fakesink_get_times), (gst_fakesink_event),
21857         (gst_fakesink_preroll), (gst_fakesink_render):
21858         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
21859         (gst_filesink_init), (gst_filesink_set_location),
21860         (gst_filesink_open_file), (gst_filesink_close_file),
21861         (gst_filesink_pad_query), (gst_filesink_event),
21862         (gst_filesink_render), (gst_filesink_change_state):
21863         * gst/elements/gstfilesink.h:
21864         Added object to help in making collect pad based elements.
21865         Ported filesink.
21866         Make event function in sink baseclass return gboolean.
21867
21868 2005-05-05  Wim Taymans  <wim@fluendo.com>
21869
21870         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
21871         (gst_bin_get_by_name):
21872         * gst/gstbuffer.h:
21873         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
21874         (gst_clock_finalize):
21875         * gst/gstdata.c: (gst_data_replace):
21876         * gst/gstdata.h:
21877         * gst/gstelement.c: (gst_element_request_pad),
21878         (gst_element_pads_activate):
21879         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
21880         (gst_object_unref):
21881         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21882         (gst_pad_set_checkgetrange_function),
21883         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
21884         (gst_pad_check_pull_range), (gst_pad_pull_range),
21885         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21886         (gst_pad_pause_task), (gst_pad_stop_task):
21887         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21888         (gst_element_request_pad), (gst_pad_proxy_getcaps):
21889         Fix name lookup in GstBin.
21890         Added _data_replace() function and _buffer_replace()
21891         Use finalize method to clean up clock.
21892         Fix refcounting on request pads.
21893         Fix pad schedule mode error.
21894         Some more object refcounting debug info,
21895
21896
21897 2005-05-04  Andy Wingo <wingo@pobox.com>
21898
21899         * check/Makefile.am:
21900         * docs/gst/tmpl/gstatomic.sgml:
21901         * docs/gst/tmpl/gstplugin.sgml:
21902         * gst/base/gstbasesink.c: (gst_basesink_activate):
21903         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
21904         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
21905         (gst_basesrc_query), (gst_basesrc_set_property),
21906         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
21907         (gst_basesrc_activate):
21908         * gst/base/gstbasesrc.h:
21909         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
21910         (gst_base_transform_src_activate):
21911         * gst/elements/gstelements.c:
21912         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21913         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21914         * gst/elements/gsttee.c: (gst_tee_sink_activate):
21915         * gst/elements/gsttypefindelement.c: (find_element_get_length),
21916         (gst_type_find_element_checkgetrange),
21917         (gst_type_find_element_activate):
21918         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
21919         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
21920         (gst_caps_load_thyself):
21921         * gst/gstelement.c: (gst_element_pads_activate),
21922         (gst_element_save_thyself), (gst_element_restore_thyself):
21923         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
21924         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
21925         * gst/gstpad.h:
21926         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
21927         (gst_xml_parse_file), (gst_xml_parse_memory),
21928         (gst_xml_get_element), (gst_xml_make_element):
21929         * gst/indexers/gstfileindex.c: (gst_file_index_load),
21930         (_file_index_id_save_xml), (gst_file_index_commit):
21931         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
21932         (read_enum), (load_pad_template), (load_feature), (load_plugin),
21933         (load_paths):
21934         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
21935         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
21936         * tools/gst-complete.c: (main):
21937         * tools/gst-compprep.c: (main):
21938         * tools/gst-inspect.c: (print_element_properties_info):
21939         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
21940         * tools/gst-xmlinspect.c: (print_element_properties):
21941         GCC 4 fixen.
21942         
21943 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21944
21945         * gst/gstplugin.c: (gst_plugin_check_module),
21946         (gst_plugin_check_file), (gst_plugin_load_file):
21947             apply patch from #172526 to make register work on MacOSX
21948
21949 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21950
21951         * docs/gst/tmpl/gstconfig.sgml:
21952         * gst/gstconfig.h.in:
21953           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
21954         * testsuite/debug/printf_extension.c: (main):
21955           Do not use GST_PTR_FORMAT on pointers to types with
21956           sizeof < sizeof(gpointer).  Fixes test on 64-bit
21957         * testsuite/elements/property.h:
21958           use correct printf format
21959
21960 2005-05-02  Wim Taymans  <wim@fluendo.com>
21961
21962         * docs/design/draft-push-pull.txt:
21963         * docs/design/draft-query.txt:
21964         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
21965         (gst_basesrc_start):
21966         Added draft for new query API.
21967         Added draft for better selecting scheduling methods.
21968         Make basesrc ignore length if the subclass does not support
21969         it.
21970
21971 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21972
21973         * gst/Makefile.am:
21974           possible fixes for automake-1.5 - _LIBADD is reserved
21975
21976 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21977
21978         * docs/faq/Makefile.am:
21979         * docs/manual/Makefile.am:
21980         * docs/manuals.mak:
21981         * docs/pwg/Makefile.am:
21982         * gst/Makefile.am:
21983           possible fixes for automake-1.5
21984
21985 2005-04-28  Wim Taymans  <wim@fluendo.com>
21986
21987         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21988         (gst_basesink_pad_getcaps), (gst_basesink_init),
21989         (gst_basesink_do_sync):
21990         * gst/gstclock.c: (gst_clock_entry_new):
21991         * gst/gstevent.c: (gst_event_discont_get_value):
21992         * gst/gstpipeline.c: (pipeline_bus_handler),
21993         (gst_pipeline_change_state):
21994         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
21995         Better debugging of clocking info.
21996         Allow NULL values when getting discont values.
21997
21998 2005-04-27  Wim Taymans  <wim@fluendo.com>
21999
22000         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
22001         * check/gst/gstpad.c: (gst_pad_suite):
22002         Increase timeout for checks.
22003
22004 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
22005
22006         * check/Makefile.am:
22007           fix the broken rule for cleanup.  Apparently this rule is
22008           only needed on FC2, so maybe this warrants further autotool
22009           inspection.
22010
22011 2005-04-26  Wim Taymans  <wim@fluendo.com>
22012
22013         * gst/gsttrashstack.h:
22014         Ooohh. a nasty one! After having a failed pop() from the stack,
22015         it's possible that the stack is empty. In that case, don't
22016         follow the NULL pointer.
22017
22018 2005-04-25  Wim Taymans  <wim@fluendo.com>
22019
22020         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22021         (gst_pad_set_checkgetrange_function),
22022         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
22023         (gst_pad_check_pull_range), (gst_pad_pull_range),
22024         (gst_static_pad_template_get_caps), (gst_pad_start_task),
22025         (gst_pad_pause_task), (gst_pad_stop_task):
22026         * gst/gstplugin.c: (gst_plugin_load):
22027         * gst/gstplugin.h:
22028         Remove gst_library_load as it does more harm than good with
22029         the new g_module flags.
22030         Revert bogus caps template check in pad linking, pad caps
22031         are important when linking not the template, which is more
22032         general than the current caps.
22033
22034 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22035
22036         * gst/autoplug/.cvsignore:
22037         * gst/autoplug/Makefile.am:
22038         * gst/autoplug/gstsearchfuncs.c:
22039         * gst/autoplug/gstsearchfuncs.h:
22040         * gst/autoplug/gstspider.c:
22041         * gst/autoplug/gstspider.h:
22042         * gst/autoplug/gstspideridentity.c:
22043         * gst/autoplug/gstspideridentity.h:
22044         * gst/autoplug/spidertest.c:
22045           Die, spider, die.
22046
22047 2005-04-25  Wim Taymans  <wim@fluendo.com>
22048
22049         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22050         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
22051         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
22052         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
22053         * gst/gstpad.h:
22054         Added stubs for unimplemented functions. 
22055
22056 2005-04-24  David Schleef  <ds@schleef.org>
22057
22058         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
22059         please fix.
22060
22061 2005-04-24  David Schleef  <ds@schleef.org>
22062
22063         Convert everything from GstAtomicInt to g_atomic_int_*, and
22064         remove gstatomic.
22065         * gst/Makefile.am:
22066         * gst/gstatomic.c:
22067         * gst/gstatomic.h:
22068         * gst/gstatomic_impl.h:
22069         * gst/gstbuffer.c:
22070         * gst/gstcaps.c:
22071         * gst/gstcaps.h:
22072         * gst/gstclock.c:
22073         * gst/gstclock.h:
22074         * gst/gstdata.c:
22075         * gst/gstdata.h:
22076         * gst/gstdata_private.h:
22077         * gst/gstevent.c:
22078         * gst/gstinfo.c:
22079         * gst/gstinfo.h:
22080         * gst/gstmessage.c:
22081         * gst/gstobject.c:
22082         * gst/gstobject.h:
22083         * gst/gststructure.c:
22084         * gst/gststructure.h:
22085         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
22086         * gst/gstutils.h:
22087
22088 2005-04-24  David Schleef  <ds@schleef.org>
22089
22090         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
22091         make the regressions tests work.  Remove some code that is no
22092         longer true.
22093         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
22094         Disable warning for pads without templates.
22095
22096 2005-04-24  David Schleef  <ds@schleef.org>
22097
22098         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
22099         functions that handle filtered links.
22100         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
22101         removed functions.
22102         * gst/gstutils.c: Fix/remove utility functions that handle
22103         filtered caps.
22104         * gst/gstutils.h:
22105         * gst/gstvalue.c: Add serialization/deserialization of caps
22106         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
22107         requires fixing so that the filter caps notation creates
22108         a capsfilter element and sets the filter_caps property.  I
22109         think everyone probably wants to keep the shorthand notation.
22110         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
22111         * docs/gst/tmpl/gstpad.sgml:
22112
22113         * gst/elements/gstelements.c: Register capsfilter element.
22114         * gst/Makefile.am: fix spacing
22115         * docs/random/ds/0.9-suggested-changes: random
22116
22117 2005-04-23  David Schleef  <ds@schleef.org>
22118
22119         * gst/elements/Makefile.am:
22120         * gst/elements/gstcapsfilter.c: New element that acts like an
22121         identity, but filters caps.  Will eventually replace filtered
22122         caps in pad linking.
22123         * gst/gstutils.c: (gst_element_create_all_pads): New function
22124         to create all the ALWAYS pads that are registered with an
22125         element class.  This functionality should eventually be
22126         merged in with GstElement initialization.
22127         * gst/gstutils.h:
22128         * testsuite/trigger/README: part of trigger test code that should
22129         have been checked in a long time ago.
22130
22131 2005-04-23  David Schleef  <ds@schleef.org>
22132
22133         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
22134         needed with new versions of libtool (nobody will confirm this),
22135         and hard to carry around.
22136         * gst/autoplug/Makefile.am:
22137         * gst/base/Makefile.am:
22138         * gst/elements/Makefile.am:
22139         * gst/indexers/Makefile.am:
22140         * gst/schedulers/Makefile.am:
22141         * libs/gst/bytestream/Makefile.am:
22142         * libs/gst/control/Makefile.am:
22143         * libs/gst/dataprotocol/Makefile.am:
22144         * libs/gst/getbits/Makefile.am:
22145
22146 2005-04-21  Wim Taymans  <wim@fluendo.com>
22147
22148         * docs/design/draft-push-pull.txt:
22149         * docs/design/part-MT-refcounting.txt:
22150         * docs/design/part-TODO.txt:
22151         * docs/design/part-caps.txt:
22152         * docs/design/part-events.txt:
22153         * docs/design/part-gstbus.txt:
22154         * docs/design/part-gstpipeline.txt:
22155         * docs/design/part-messages.txt:
22156         * docs/design/part-push-pull.txt:
22157         * docs/design/part-query.txt:
22158         Some more docs.
22159
22160 2005-04-21  Wim Taymans  <wim@fluendo.com>
22161
22162         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
22163         (gst_message_new), (gst_message_new_error),
22164         (gst_message_new_warning), (gst_message_new_tag),
22165         (gst_message_new_state_changed), (gst_message_new_application),
22166         (gst_message_get_structure):
22167         * gst/gstmessage.h:
22168         * gst/gststructure.c: (gst_structure_set_parent_refcount),
22169         (gst_structure_copy_conditional):
22170         Use parent refcount in GstMessage to ensure GstStructure
22171         consistency.
22172         Cleaned up headers a bit.
22173         
22174
22175 2005-04-20  Wim Taymans  <wim@fluendo.com>
22176
22177         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22178         (gst_basesink_pad_getcaps), (gst_basesink_init),
22179         (gst_basesink_chain_unlocked):
22180         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
22181         (gst_type_find_helper):
22182         * gst/elements/gsttypefindelement.c:
22183         (gst_type_find_element_have_type), (gst_type_find_element_init),
22184         (stop_typefinding), (gst_type_find_element_handle_event),
22185         (find_suggest), (gst_type_find_element_chain),
22186         (gst_type_find_element_checkgetrange),
22187         (gst_type_find_element_getrange), (do_typefind),
22188         (gst_type_find_element_activate):
22189         * gst/gstbuffer.c: (_gst_buffer_sub_free),
22190         (gst_buffer_default_free), (gst_buffer_default_copy),
22191         (gst_buffer_set_caps):
22192         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
22193         (gst_caps_replace):
22194         * gst/gstmessage.c: (gst_message_new),
22195         (gst_message_new_state_changed):
22196         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22197         (gst_pad_set_checkgetrange_function),
22198         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
22199         (gst_pad_set_caps), (gst_pad_check_pull_range),
22200         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
22201         * gst/gstpad.h:
22202         * gst/gsttypefind.c: (gst_type_find_register):
22203         Make gst_caps_replace() work like other _replace() functions.
22204         Use _caps_replace() where possible.
22205         Make sure _message_new() initialises its field.
22206         Add gst_static_pad_template_get_caps()
22207
22208
22209 2005-04-18  Andy Wingo  <wingo@pobox.com>
22210
22211         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
22212         on the peer, not the pad. I think that was a typo. Pass an extra
22213         arg to see if random access is possible. Activate the pads as
22214         PULL_RANGE if possible.
22215
22216         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
22217
22218         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
22219         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
22220         to PROP_....
22221
22222 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22223
22224         * docs/faq/using.xml:
22225           Add note on gstreamer-properties (#154996).
22226
22227 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22228
22229         * docs/random/bbb/optional-properties:
22230           Some analysis on optional properties.
22231
22232 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22233
22234         * docs/gst/tmpl/gstelementfactory.sgml:
22235         * gst/gstelement.h:
22236         * gst/gstelementfactory.c: (gst_element_factory_init),
22237         (gst_element_factory_cleanup), (gst_element_register),
22238         (__gst_element_factory_add_static_pad_template),
22239         (gst_element_factory_get_static_pad_templates),
22240         (gst_element_factory_can_src_caps),
22241         (gst_element_factory_can_sink_caps):
22242         * gst/registries/Makefile.am:
22243         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
22244         (gst_xml_registry_class_init), (gst_xml_registry_init),
22245         (gst_xml_registry_new), (gst_xml_registry_set_property),
22246         (gst_xml_registry_get_property), (get_time), (make_dir),
22247         (gst_xml_registry_get_perms_func),
22248         (plugin_times_older_than_recurse), (plugin_times_older_than),
22249         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
22250         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
22251         (add_to_char_array), (read_string), (read_uint), (read_enum),
22252         (load_pad_template), (load_feature), (load_plugin), (load_paths),
22253         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
22254         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
22255         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
22256         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
22257         (gst_xml_registry_rebuild):
22258         * gst/registries/gstlibxmlregistry.h:
22259         * tools/gst-compprep.c: (main):
22260         * tools/gst-inspect.c: (print_pad_templates_info):
22261         * tools/gst-xmlinspect.c: (print_element_info):
22262           Use libxml2 for registry parsing, use staticpadtemplates in
22263           elementfactories. Makes gst_init() +/- 10x faster.
22264
22265 2005-04-12  Wim Taymans  <wim@fluendo.com>
22266
22267         * gst/base/Makefile.am:
22268         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22269         (gst_basesink_pad_getcaps), (gst_basesink_init),
22270         (gst_basesink_event), (gst_basesink_change_state):
22271         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22272         (gst_basesrc_init), (gst_basesrc_query),
22273         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22274         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22275         (gst_basesrc_check_get_range), (gst_basesrc_loop),
22276         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22277         (gst_basesrc_stop), (gst_basesrc_activate),
22278         (gst_basesrc_change_state):
22279         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22280         (helper_find_suggest), (gst_type_find_helper):
22281         * gst/base/gsttypefindhelper.h:
22282         * gst/elements/Makefile.am:
22283         * gst/elements/gstelements.c:
22284         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
22285         (gst_fakesink_get_times), (gst_fakesink_event),
22286         (gst_fakesink_preroll), (gst_fakesink_render):
22287         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22288         (gst_fakesrc_init), (gst_fakesrc_event_handler),
22289         (gst_fakesrc_get_property), (gst_fakesrc_create),
22290         (gst_fakesrc_start), (gst_fakesrc_stop):
22291         * gst/elements/gstfakesrc.h:
22292         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
22293         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22294         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22295         (gst_filesrc_create_read), (gst_filesrc_create),
22296         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
22297         (gst_filesrc_start):
22298         * gst/elements/gsttypefindelement.c:
22299         (gst_type_find_element_have_type), (gst_type_find_element_init),
22300         (start_typefinding), (stop_typefinding), (push_buffer_store),
22301         (gst_type_find_element_handle_event),
22302         (gst_type_find_element_chain),
22303         (gst_type_find_element_checkgetrange),
22304         (gst_type_find_element_getrange), (do_typefind),
22305         (gst_type_find_element_activate),
22306         (gst_type_find_element_change_state):
22307         * gst/elements/gsttypefindelement.h:
22308         * gst/gstpipeline.c: (pipeline_bus_handler):
22309         Added typefind helper.
22310         Small preroll fix in the base sink.
22311         Disable typefind code in basesrc.
22312         Crude port of typefindelement.
22313         Fakesrc cleanups.
22314
22315
22316 2005-04-11  Wim Taymans  <wim@fluendo.com>
22317
22318         * check/gst/gstbus.c: (gstbus_suite):
22319         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
22320         * check/gstcheck.h:
22321           Fix up the timeout so that the test does not fail.
22322
22323 2005-04-06  Wim Taymans  <wim@fluendo.com>
22324
22325         * gst/base/README:
22326         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22327         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
22328         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22329         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22330         (gst_basesrc_check_get_range), (gst_basesrc_loop),
22331         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22332         (gst_basesrc_stop), (gst_basesrc_activate),
22333         (gst_basesrc_change_state), (basesrc_find_peek),
22334         (basesrc_find_suggest), (gst_basesrc_type_find):
22335         * gst/base/gstbasesrc.h:
22336         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
22337         (gst_filesrc_class_init), (gst_filesrc_init),
22338         (gst_filesrc_finalize), (gst_filesrc_set_location),
22339         (gst_filesrc_set_property), (gst_filesrc_get_property),
22340         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22341         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22342         (gst_filesrc_create_read), (gst_filesrc_create),
22343         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
22344         * gst/elements/gstfilesrc.h:
22345         * gst/gstelement.c: (gst_element_get_state_func),
22346         (gst_element_lost_state), (gst_element_pads_activate):
22347         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22348         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
22349         (gst_pad_pull_range):
22350         * gst/gstpad.h:
22351         More work on the generic source base class, implement seeking,
22352         query.
22353         Make filesrc extend the base source class.
22354         Added gst_pad_set_checkgetrange_function to GstPad.
22355
22356 2005-04-06  Andy Wingo  <wingo@pobox.com>
22357
22358         * pkgconfig/gstreamer-base.pc.in:
22359         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
22360
22361         * pkgconfig/Makefile.am:
22362         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
22363
22364 2005-04-04  Wim Taymans  <wim@fluendo.com>
22365
22366         * gst/base/Makefile.am:
22367         * gst/base/README:
22368         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22369         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22370         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22371         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
22372         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22373         (gst_basesrc_base_init), (gst_basesrc_class_init),
22374         (gst_basesrc_init), (gst_basesrc_get_formats),
22375         (gst_basesrc_get_query_types), (gst_basesrc_query),
22376         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
22377         (gst_basesrc_set_property), (gst_basesrc_get_property),
22378         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
22379         (gst_basesrc_loop), (gst_basesrc_activate),
22380         (gst_basesrc_change_state):
22381         * gst/base/gstbasesrc.h:
22382         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
22383         (gst_fakesrc_class_init), (gst_fakesrc_init),
22384         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
22385         (gst_fakesrc_get_property), (gst_fakesrc_create):
22386         * gst/elements/gstfakesrc.h:
22387         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
22388         (gst_filesrc_open_file), (gst_filesrc_loop),
22389         (gst_filesrc_activate), (filesrc_find_peek),
22390         (gst_filesrc_type_find):
22391         Made base source class, make fakesrc extend it.
22392         Add comments to basesink class.
22393         Some filesrc cleanup.
22394
22395 2005-03-31  David Schleef  <ds@schleef.org>
22396
22397         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
22398         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
22399         expected to link against libgstreamer.
22400         * gst/base/Makefile.am: link against libgstreamer
22401         * gst/elements/Makefile.am: same
22402
22403 2005-03-31  Andy Wingo  <wingo@pobox.com>
22404
22405         * tests/instantiate/Makefile.am:
22406         * tests/instantiate/caps.c: Add test to test speed of caps copy
22407         and free.
22408
22409         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
22410         GMemChunk to be fair.
22411
22412         * gst/gsttrashstack.h: Remove warning about using the fallback
22413         trash stack implementation, it's still faster than malloc.
22414
22415 2005-03-30  Andy Wingo  <wingo@pobox.com>
22416
22417         * tests/complexity.c: Add a copyright.
22418
22419 2005-03-31  Wim Taymans  <wim@fluendo.com>
22420
22421         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
22422         (gst_base_transform_class_init), (gst_base_transform_init),
22423         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
22424         (gst_base_transform_get_property),
22425         (gst_base_transform_sink_activate),
22426         (gst_base_transform_src_activate),
22427         (gst_base_transform_change_state):
22428         * gst/base/gstbasetransform.h:
22429         * gst/elements/gstidentity.c: (gst_identity_class_init),
22430         (gst_identity_event), (gst_identity_check_perfect),
22431         (gst_identity_transform), (gst_identity_start),
22432         (gst_identity_stop):
22433         Added start/stop methods to transform base class so subclasses 
22434         don't need to deal with state changes even.
22435
22436 2005-03-31  Wim Taymans  <wim@fluendo.com>
22437
22438         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
22439         (gst_event_new_discontinuous), (gst_event_discont_get_value):
22440         * gst/gstevent.h:
22441         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22442         (gst_pad_pull_range):
22443         Added rate to the discont event to prepare for variable speed
22444         and reverse playback.
22445
22446 2005-03-29  David Schleef  <ds@schleef.org>
22447
22448         * configure.ac:
22449         * testsuite/trigger/Makefile.am:
22450         * testsuite/trigger/trigger.c: A little example program to show
22451         how trigger-based elements can work.
22452
22453 2005-03-29  Wim Taymans  <wim@fluendo.com>
22454
22455         * gst/base/Makefile.am:
22456         * gst/base/README:
22457         * gst/base/gstbasesink.c: (gst_basesink_get_type),
22458         (gst_basesink_base_init), (gst_basesink_class_init),
22459         (gst_basesink_pad_getcaps), (gst_basesink_init),
22460         (gst_basesink_activate), (gst_basesink_change_state):
22461         * gst/base/gstbasesink.h:
22462         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
22463         (gst_base_transform_base_init), (gst_base_transform_finalize),
22464         (gst_base_transform_class_init), (gst_base_transform_init),
22465         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
22466         (gst_base_transform_event), (gst_base_transform_getrange),
22467         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
22468         (gst_base_transform_set_property),
22469         (gst_base_transform_get_property),
22470         (gst_base_transform_sink_activate),
22471         (gst_base_transform_src_activate),
22472         (gst_base_transform_change_state):
22473         * gst/base/gstbasetransform.h:
22474         * gst/elements/gstidentity.c: (gst_identity_finalize),
22475         (gst_identity_class_init), (gst_identity_init),
22476         (gst_identity_event), (gst_identity_check_perfect),
22477         (gst_identity_transform), (gst_identity_set_property),
22478         (gst_identity_get_property), (gst_identity_change_state):
22479         * gst/elements/gstidentity.h:
22480         * gst/gstelement.c: (gst_element_get_state_func),
22481         (gst_element_lost_state), (gst_element_pads_activate):
22482         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22483         (gst_pad_check_pull_range), (gst_pad_pull_range):
22484         * gst/gstpad.h:
22485         Simplify pad activation.
22486         Added function to check if pull_range can be performed.
22487         Error out when pulling inactive or flushing pads.
22488         Removed const from refcounted types as it does not make sense.
22489         Simplify pad templates in basesink
22490         Added base class for simple 1-to-1 transforms.
22491         Make identity subclass the base transform.
22492
22493 2005-03-29  Andy Wingo  <wingo@pobox.com>
22494
22495         * docs/libs/gstreamer-libs-overrides.txt: 
22496         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
22497         really don't understand what's going on, but like whatever. I want
22498         green buildbot!
22499
22500         * docs/gst/Makefile.am:
22501         * docs/libs/Makefile.am: Dist the overrides files.
22502
22503         * check/Makefile.am (clean-local): Remove .libs directories.
22504
22505         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
22506         elements to EXTRA_DIST, so po/ files are happy.
22507
22508         * po/POTFILES.in: Er, remove it here.
22509
22510         * po/POTFILES: Remove gstspider.c.
22511
22512         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
22513
22514         * docs/libs/gstreamer-libs-docs.sgml: 
22515         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
22516         bytestream.
22517
22518         * tests/complexity.c (main): Set the length of the preroll queue
22519         on the sinks to prevent a lockup.
22520
22521         * libs/gst/dataprotocol/Makefile.am: 
22522         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
22523         the same as the one in check/gst-libs/gdp.c.
22524
22525         * po/, docs/gst/: Commit automatic changes to docs and po files.
22526
22527         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
22528         the versioned libgstbase.
22529
22530         * check/Makefile.am: Depend on an unversioned gst-register, seems
22531         to make autoconf happier.
22532
22533         * gst/base/Makefile.am: Make libgstbase a versioned lib.
22534
22535 2005-03-28  Wim Taymans  <wim@fluendo.com>
22536
22537         * configure.ac:
22538         * docs/design/part-gstelement.txt:
22539         * docs/design/part-negotiation.txt:
22540         * docs/design/part-preroll.txt:
22541         * docs/design/part-scheduling.txt:
22542         * docs/design/part-states.txt:
22543         * gst/Makefile.am:
22544         * gst/base/Makefile.am:
22545         * gst/base/README:
22546         * gst/base/gstbasesink.c: (gst_basesink_get_template),
22547         (gst_basesink_base_init), (gst_basesink_class_init),
22548         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22549         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22550         (gst_basesink_set_pad_functions),
22551         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
22552         (gst_basesink_set_property), (gst_basesink_get_property),
22553         (gst_base_sink_get_template), (gst_base_sink_get_caps),
22554         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
22555         (gst_basesink_preroll_queue_push),
22556         (gst_basesink_preroll_queue_empty),
22557         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
22558         (gst_basesink_event), (gst_basesink_get_times),
22559         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
22560         (gst_basesink_chain_unlocked), (gst_basesink_chain),
22561         (gst_basesink_loop), (gst_basesink_activate),
22562         (gst_basesink_change_state):
22563         * gst/base/gstbasesink.h:
22564         * gst/elements/Makefile.am:
22565         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
22566         (gst_fakesink_class_init), (gst_fakesink_init),
22567         (gst_fakesink_set_property), (gst_fakesink_get_property),
22568         (gst_fakesink_get_times), (gst_fakesink_event),
22569         (gst_fakesink_preroll), (gst_fakesink_render),
22570         (gst_fakesink_change_state):
22571         * gst/elements/gstfakesink.h:
22572         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22573         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
22574         * gst/gstelement.c: (gst_element_add_pad),
22575         (gst_element_get_state_func), (gst_element_abort_state),
22576         (gst_element_commit_state), (gst_element_lost_state),
22577         (gst_element_set_state), (gst_element_pads_activate):
22578         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
22579         * gst/gstpipeline.c: (gst_pipeline_send_event),
22580         (gst_pipeline_change_state):
22581         Added state change code.
22582         Added/updated docs.
22583         Added sink base class, make fakesink extend the base class.
22584         Small cleanups in GstPipeline.
22585
22586 2005-03-26  David Schleef  <ds@schleef.org>
22587
22588         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
22589         is broken and should be implemented in a different library.
22590         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
22591         * gst/gst.h: remove gstcpu.h
22592         * gst/gstcpu.c: remove
22593         * gst/gstcpu.h: remove
22594         * gst/Makefile.am.future: Remove this file.  It's ancient.
22595
22596 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22597
22598         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22599         (gst_bin_send_event):
22600           Add default event/set_manager handlers. The set_manager handler
22601           takes care that the manager is distributed over kids that were
22602           already in the bin before the manager was set. The event handler
22603           is a utility virtual function that sends the event over all sinks,
22604           so that gst_element_send_event (bin, event); has the expected
22605           behaviour.
22606         * gst/gstpad.c: (gst_pad_event_default):
22607           Re-install default event handling for discontinuities, so that
22608           seeking works without requiring hacks in applications or extra
22609           code in sinks.
22610         * gst/gstpipeline.c: (gst_pipeline_class_init),
22611         (gst_pipeline_send_event):
22612           Half hack, half utility: set a pipeline to PAUSED for seek events,
22613           since that is the only way we can guarantee a/v sync. Means that
22614           you can do gst_element_seek (pipeline, method, pos); on a pipeline
22615           and it "just works".
22616
22617 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22618
22619         * gst/gstpipeline.c: (gst_pipeline_use_clock):
22620           Lock/unlock mismatch.
22621
22622 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22623
22624         * docs/faq/gst-uninstalled:
22625           add gst-plugins-base
22626         * docs/gst/Makefile.am:
22627           don't error out until docs are fixed
22628         * docs/gst/gstreamer.types:
22629           remove thread
22630
22631 2005-03-22  Wim Taymans  <wim@fluendo.com>
22632
22633         * check/Makefile.am:
22634         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
22635         * gst/gststructure.c: (gst_structure_set_valist),
22636         (gst_structure_copy_conditional):
22637         Activated more tests.
22638         Added message test.
22639         Added G_TYPE_POINTER to GstStructure.
22640         
22641
22642 2005-03-22  Wim Taymans  <wim@fluendo.com>
22643
22644         * docs/design/part-TODO.txt:
22645         * docs/design/part-events.txt:
22646         * docs/design/part-gstbin.txt:
22647         * docs/design/part-gstbus.txt:
22648         * docs/design/part-gstpipeline.txt:
22649         * docs/design/part-messages.txt:
22650         * gst/gstbus.c:
22651         * gst/gstmessage.c:
22652         Docs updates
22653
22654 2005-03-21  Wim Taymans  <wim@fluendo.com>
22655
22656         * gst/gstbus.c: (gst_bus_post):
22657         Fix copy-and-paste error.
22658
22659 2005-03-21  Wim Taymans  <wim@fluendo.com>
22660
22661         * check/Makefile.am:
22662         * gst/Makefile.am:
22663         * gst/elements/Makefile.am:
22664         * gst/elements/gstelements.c:
22665         * gst/elements/gstfakesink.c: (gst_fakesink_init),
22666         (gst_fakesink_event), (gst_fakesink_chain):
22667         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22668         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
22669         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
22670         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
22671         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22672         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
22673         (gst_fakesrc_loop), (gst_fakesrc_activate),
22674         (gst_fakesrc_change_state):
22675         * gst/elements/gstfakesrc.h:
22676         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
22677         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
22678         (gst_filesrc_open_file), (gst_filesrc_loop),
22679         (gst_filesrc_activate), (gst_filesrc_change_state),
22680         (filesrc_find_peek), (filesrc_find_suggest),
22681         (gst_filesrc_type_find):
22682         * gst/elements/gstidentity.c: (gst_identity_finalize),
22683         (gst_identity_class_init), (gst_identity_init),
22684         (gst_identity_proxy_getcaps), (identity_queue_push),
22685         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
22686         (gst_identity_getrange), (gst_identity_chain),
22687         (gst_identity_sink_loop), (gst_identity_src_loop),
22688         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
22689         (gst_identity_set_property), (gst_identity_get_property),
22690         (gst_identity_change_state):
22691         * gst/elements/gstidentity.h:
22692         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
22693         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
22694         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
22695         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
22696         (gst_tee_sink_activate):
22697         * gst/elements/gsttee.h:
22698         * gst/gst.c: (gst_register_core_elements), (init_post):
22699         * gst/gst.h:
22700         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
22701         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
22702         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
22703         (gst_bin_change_state):
22704         * gst/gstbin.h:
22705         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
22706         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
22707         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
22708         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
22709         (gst_bus_set_sync_handler), (gst_bus_create_watch),
22710         (bus_watch_callback), (bus_watch_destroy),
22711         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
22712         (poll_timeout), (gst_bus_poll):
22713         * gst/gstbus.h:
22714         * gst/gstcaps.h:
22715         * gst/gstdata.h:
22716         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22717         (gst_element_post_message), (gst_element_message_full),
22718         (gst_element_get_state_func), (gst_element_get_state),
22719         (gst_element_abort_state), (gst_element_commit_state),
22720         (gst_element_lost_state), (gst_element_set_state),
22721         (gst_element_pads_activate), (gst_element_change_state),
22722         (gst_element_dispose), (gst_element_set_manager_func),
22723         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
22724         (gst_element_set_manager), (gst_element_get_manager),
22725         (gst_element_set_bus), (gst_element_get_bus),
22726         (gst_element_set_scheduler), (gst_element_get_scheduler):
22727         * gst/gstelement.h:
22728         * gst/gstevent.c: (gst_event_new_segment_seek),
22729         (gst_event_new_flush):
22730         * gst/gstevent.h:
22731         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
22732         (_gst_message_free), (gst_message_get_type), (gst_message_new),
22733         (gst_message_new_eos), (gst_message_new_error),
22734         (gst_message_new_warning), (gst_message_new_tag),
22735         (gst_message_new_state_changed), (gst_message_new_application),
22736         (gst_message_get_structure), (gst_message_parse_tag),
22737         (gst_message_parse_state_changed), (gst_message_parse_error),
22738         (gst_message_parse_warning):
22739         * gst/gstmessage.h:
22740         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
22741         (gst_real_pad_set_property), (gst_pad_set_active),
22742         (gst_pad_is_active), (gst_pad_set_blocked_async),
22743         (gst_pad_set_blocked), (gst_pad_is_blocked),
22744         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
22745         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
22746         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
22747         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
22748         (gst_pad_link_filtered), (gst_pad_relink_filtered),
22749         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
22750         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
22751         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
22752         (gst_pad_set_caps), (gst_pad_configure_sink),
22753         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
22754         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
22755         (gst_real_pad_dispose), (gst_real_pad_finalize),
22756         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
22757         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22758         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
22759         * gst/gstpad.h:
22760         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
22761         (pipeline_bus_handler), (gst_pipeline_change_state),
22762         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
22763         * gst/gstpipeline.h:
22764         * gst/gstprobe.h:
22765         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22766         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
22767         (gst_queue_link_src), (gst_queue_bufferalloc),
22768         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
22769         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
22770         (gst_queue_loop), (gst_queue_handle_src_event),
22771         (gst_queue_handle_src_query), (gst_queue_src_activate),
22772         (gst_queue_change_state):
22773         * gst/gstqueue.h:
22774         * gst/gstscheduler.c: (gst_scheduler_init),
22775         (gst_scheduler_dispose), (gst_scheduler_create_task),
22776         (gst_scheduler_factory_create):
22777         * gst/gstscheduler.h:
22778         * gst/gststructure.c: (gst_structure_get_type),
22779         (gst_structure_copy_conditional):
22780         * gst/gststructure.h:
22781         * gst/gsttaginterface.h:
22782         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22783         (gst_task_init), (gst_task_dispose), (gst_task_create),
22784         (gst_task_get_state), (gst_task_start), (gst_task_stop),
22785         (gst_task_pause):
22786         * gst/gsttask.h:
22787         * gst/gstthread.c:
22788         * gst/gstthread.h:
22789         * gst/gsttypes.h:
22790         * gst/schedulers/Makefile.am:
22791         * gst/schedulers/cothreads_compat.h:
22792         * gst/schedulers/entryscheduler.c:
22793         * gst/schedulers/faircothreads.c:
22794         * gst/schedulers/faircothreads.h:
22795         * gst/schedulers/fairscheduler.c:
22796         * gst/schedulers/gstbasicscheduler.c:
22797         * gst/schedulers/gstoptimalscheduler.c:
22798         * gst/schedulers/gthread-cothreads.h:
22799         * gst/schedulers/threadscheduler.c:
22800         (gst_thread_scheduler_task_get_type),
22801         (gst_thread_scheduler_task_class_init),
22802         (gst_thread_scheduler_task_init),
22803         (gst_thread_scheduler_task_start),
22804         (gst_thread_scheduler_task_stop),
22805         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
22806         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22807         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
22808         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
22809         (plugin_init):
22810         * libs/gst/Makefile.am:
22811         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
22812         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
22813         (gst_file_pad_parent_set):
22814         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22815         (gst_dp_event_from_packet):
22816         * tests/complexity.c: (main):
22817         * tests/mass_elements.c: (main):
22818         * testsuite/states/locked.c: (message_received), (main):
22819         * testsuite/states/parent.c: (main):
22820         * tools/gst-inspect.c: (print_element_flag_info),
22821         (print_implementation_info), (print_pad_info):
22822         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
22823         (main):
22824         * tools/gst-md5sum.c: (event_loop), (main):
22825         * tools/gst-typefind.c: (main):
22826         * tools/gst-xmlinspect.c: (print_element_info):
22827         Next big merge.
22828         Added GstBus for mainloop integration.
22829         Added GstMessage for sending notifications on the bus.
22830         Added GstTask as an abstraction for pipeline entry points.
22831         Removed GstThread.
22832         Removed Schedulers.
22833         Simplified GstQueue for multithreaded core.
22834         Made _link threadsafe, removed old capsnego.
22835         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
22836         Added pad blocking functions.
22837         Reworked scheduling functions in GstPad to prepare for
22838         scheduling updates soon.
22839         Moved events out of data stream.
22840         Simplified GstEvent types.
22841         Added return values to push/pull.
22842         Removed clocking from GstElement.
22843         Added prototypes for state change function for next merge.
22844         Removed iterate from bins and state change management.
22845         Fixed some elements, disabled others for now.
22846         Fixed -inspect and -launch.
22847         Added check for GstBus.
22848
22849 2005-03-10  Wim Taymans  <wim@fluendo.com>
22850
22851         * docs/design/part-MT-refcounting.txt:
22852         * docs/design/part-clocks.txt:
22853         * docs/design/part-gstelement.txt:
22854         * docs/design/part-gstobject.txt:
22855         * docs/design/part-standards.txt:
22856         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22857         (gst_bin_remove_func), (gst_bin_remove):
22858         * gst/gstbin.h:
22859         * gst/gstbuffer.c:
22860         * gst/gstcaps.h:
22861         * testsuite/clock/clock1.c: (main):
22862         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
22863         (main):
22864         * testsuite/dlopen/loadgst.c: (do_test):
22865         * testsuite/refcounting/bin.c: (add_remove_test1),
22866         (add_remove_test2), (main):
22867         * testsuite/refcounting/element.c: (main):
22868         * testsuite/refcounting/element_pad.c: (main):
22869         * testsuite/refcounting/pad.c: (main):
22870         * tools/gst-launch.c: (sigint_handler_sighandler):
22871         * tools/gst-typefind.c: (main):
22872         Doc updates.
22873         Added doc about clock.
22874         removed gst_bin_iterate_recurse_up(), marked methods
22875         for removal.
22876         Fix more testsuites.
22877
22878 2005-03-09  Wim Taymans  <wim@fluendo.com>
22879
22880         * gst/gstpad.c: (gst_pad_get_direction),
22881         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
22882         (gst_pad_collect_valist):
22883         * testsuite/bins/interface.c: (main):
22884         * testsuite/caps/audioscale.c: (test_caps):
22885         * testsuite/caps/caps.c: (test1), (test2), (test3):
22886         * testsuite/caps/deserialize.c: (main):
22887         * testsuite/caps/enumcaps.c: (main):
22888         * testsuite/caps/filtercaps.c: (main):
22889         * testsuite/caps/intersect2.c: (main):
22890         * testsuite/caps/random.c: (main):
22891         * testsuite/caps/renegotiate.c: (my_fixate), (main):
22892         * testsuite/caps/sets.c: (check_caps):
22893         * testsuite/caps/simplify.c: (check_caps), (main):
22894         * testsuite/caps/subtract.c: (check_caps):
22895         Fix _pad_get_direction wrt ghostpads.
22896         Fix caps testsuite.
22897
22898 2005-03-09  Wim Taymans  <wim@fluendo.com>
22899
22900         * check/Makefile.am:
22901         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
22902         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
22903         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
22904         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
22905         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
22906         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
22907         (gst_bin_remove), (gst_bin_iterate_recurse_up),
22908         (bin_element_is_sink), (gst_bin_iterate_sinks),
22909         (gst_bin_iterate_all_by_interface):
22910         * gst/gstbin.h:
22911         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
22912         (gst_element_change_state), (gst_element_dispose),
22913         (gst_element_finalize), (gst_element_set_loop_function):
22914         * gst/gstelement.h:
22915         * gst/gstiterator.c: (find_custom_fold_func):
22916         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22917         (gst_pad_collectv), (gst_pad_collect_valist),
22918         (gst_pad_template_new):
22919         * gst/gstpipeline.c: (gst_pipeline_class_init),
22920         (gst_pipeline_dispose), (gst_pipeline_set_property),
22921         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
22922         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
22923         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
22924         * gst/gstutils.h:
22925         * gst/schedulers/entryscheduler.c:
22926         * gst/schedulers/gstbasicscheduler.c:
22927         (gst_basic_scheduler_cothreaded_chain),
22928         (gst_basic_scheduler_chain_add_element):
22929         * testsuite/bins/interface.c: (main):
22930         Added GstBin test.
22931         Added GstSystemClock test.
22932         Implemented clock distribution code in GstBin.
22933         Implemented iterate sinks method for future use.
22934         Rearranged gstelement.h
22935         Fix GstIterator comparison bug.
22936         Moved some code to GstPipeline, mostly clocking related.
22937
22938 2005-03-09  Wim Taymans  <wim@fluendo.com>
22939
22940         * configure.ac:
22941         * gst/gst_private.h:
22942         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22943         (gst_bin_remove_func), (gst_bin_remove),
22944         (gst_bin_get_by_name_recurse_up):
22945         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
22946         (gst_clock_id_compare_func), (gst_clock_id_wait),
22947         (gst_clock_id_wait_async), (gst_clock_init),
22948         (gst_clock_adjust_unlocked), (gst_clock_get_time):
22949         * gst/gstelement.h:
22950         * gst/gstinfo.c: (_gst_debug_init):
22951         * gst/gstobject.h:
22952         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22953         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
22954         * gst/gstpad.h:
22955         Bump version number, we're now 0.9.0
22956         Add future debugging category.
22957         Fix NULL _unref() in _get_by_name_recurse_up
22958         Rearrange gstpad.h.
22959         Update some docs.
22960
22961 2005-03-08  Wim Taymans  <wim@fluendo.com>
22962
22963         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
22964         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
22965         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22966         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
22967         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
22968         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
22969         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
22970         * gst/elements/gstidentity.c: (gst_identity_class_init):
22971         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
22972         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
22973         * gst/elements/gstshaper.c: (gst_shaper_class_init):
22974         * gst/elements/gststatistics.c: (gst_statistics_class_init):
22975         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
22976         (gst_tee_link):
22977         * gst/gstelement.c: (gst_element_class_init),
22978         (gst_element_base_class_init), (gst_element_init),
22979         (gst_element_get_random_pad), (gst_element_wait_state_change),
22980         (gst_element_change_state), (gst_element_dispose),
22981         (gst_element_finalize), (gst_element_set_loop_function):
22982         * gst/gstelement.h:
22983         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
22984         * gst/gstthread.c: (gst_thread_class_init),
22985         (gst_thread_release_children_locks), (gst_thread_change_state):
22986         * gst/schedulers/gstbasicscheduler.c:
22987         (gst_basic_scheduler_loopfunc_wrapper),
22988         (gst_basic_scheduler_chain_wrapper),
22989         (gst_basic_scheduler_src_wrapper),
22990         (gst_basic_scheduler_remove_element):
22991         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
22992         Remove threadsafe properties. Fix elements because GObject
22993         complains when installing a property before declaring a
22994         set/get_property handler.
22995         Rearrange gstelement.h file, use STATE macros for state locks.
22996         Free mutexes in the finalize method instead of dispose.
22997
22998 2005-03-08  Wim Taymans  <wim@fluendo.com>
22999
23000         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
23001         * gst/gstthread.c: (gst_thread_release_children_locks):
23002         Added parentage check.
23003         Fix build og GstThread again.
23004
23005 2005-03-08  Wim Taymans  <wim@fluendo.com>
23006
23007         * docs/design/part-MT-refcounting.txt:
23008         * docs/design/part-conventions.txt:
23009         * docs/design/part-gstobject.txt:
23010         * docs/design/part-relations.txt:
23011         * docs/design/part-standards.txt:
23012         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
23013         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
23014         (gst_bin_get_by_name), (gst_bin_get_by_interface),
23015         (gst_bin_iterate_all_by_interface):
23016         * gst/gstbuffer.h:
23017         * gst/gstclock.h:
23018         * gst/gstelement.c: (gst_element_class_init),
23019         (gst_element_change_state), (gst_element_set_loop_function):
23020         * gst/gstelement.h:
23021         * gst/gstiterator.c:
23022         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
23023         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
23024         (gst_object_dispatch_properties_changed), (gst_object_set_name),
23025         (gst_object_set_parent), (gst_object_unparent),
23026         (gst_object_check_uniqueness):
23027         * gst/gstobject.h:
23028         Docs updates, clean up some headers.
23029
23030 2005-03-07  Wim Taymans  <wim@fluendo.com>
23031
23032         * check/.cvsignore:
23033         * check/Makefile.am:
23034         * check/gst-libs/.cvsignore:
23035         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
23036         * check/gst/.cvsignore:
23037         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
23038         (START_TEST), (gstbus_suite), (main):
23039         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
23040         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
23041         (gst_data_suite), (main):
23042         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
23043         (add_fold_func), (gstiterator_suite), (main):
23044         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
23045         (thread_name_object), (thread_name_object_default),
23046         (gst_object_name_compare), (gst_object_suite), (main):
23047         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
23048         (gst_pad_suite), (main):
23049         * check/gstcheck.c: (gst_check_log_message_func),
23050         (gst_check_log_critical_func), (gst_check_init):
23051         * check/gstcheck.h:
23052         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
23053         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
23054         Added checks.
23055
23056 2005-03-07  Wim Taymans  <wim@fluendo.com>
23057
23058         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23059         (gst_list_iterator_next), (gst_list_iterator_resync),
23060         (gst_list_iterator_free), (gst_iterator_new_list),
23061         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
23062         (gst_iterator_free), (gst_iterator_push), (filter_next),
23063         (filter_resync), (filter_uninit), (filter_free),
23064         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
23065         (gst_iterator_foreach), (find_custom_fold_func),
23066         (gst_iterator_find_custom):
23067         * gst/gstiterator.h:
23068         Added missing files.
23069
23070 2005-03-07  Wim Taymans  <wim@fluendo.com>
23071
23072         * Makefile.am:
23073         * configure.ac:
23074         * docs/design/part-MT-refcounting.txt:
23075         * docs/design/part-conventions.txt:
23076         * docs/design/part-gstobject.txt:
23077         * docs/design/part-relations.txt:
23078         * examples/mixer/mixer.c: (main):
23079         * examples/thread/thread.c: (eos), (main):
23080         * gst/Makefile.am:
23081         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
23082         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
23083         (gst_spider_plug_from_srcpad):
23084         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
23085         (gst_spider_identity_change_state),
23086         (gst_spider_identity_sink_loop_type_finding):
23087         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
23088         * gst/elements/gstidentity.c: (gst_identity_init):
23089         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
23090         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
23091         * gst/elements/gsttypefindelement.c: (free_entry):
23092         * gst/gst.c:
23093         * gst/gst.h:
23094         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
23095         (gst_bin_set_clock_func), (gst_bin_auto_clock),
23096         (gst_bin_set_index), (gst_bin_set_element_sched),
23097         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
23098         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
23099         (gst_bin_iterate_elements), (iterate_child_recurse),
23100         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
23101         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
23102         (compare_interface), (gst_bin_get_by_interface),
23103         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
23104         * gst/gstbin.h:
23105         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
23106         (gst_buffer_default_free), (gst_buffer_default_copy),
23107         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
23108         (gst_buffer_create_sub):
23109         * gst/gstbuffer.h:
23110         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
23111         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
23112         (gst_caps_unref), (gst_static_caps_get),
23113         (gst_caps_remove_and_get_structure), (gst_caps_append),
23114         (gst_caps_append_structure), (gst_caps_remove_structure),
23115         (gst_caps_copy_nth), (gst_caps_set_simple),
23116         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
23117         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
23118         (gst_caps_structure_intersect_field), (gst_caps_intersect),
23119         (gst_caps_structure_subtract_field), (gst_caps_subtract),
23120         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
23121         (gst_caps_structure_figure_out_union),
23122         (gst_caps_switch_structures), (gst_caps_do_simplify),
23123         (gst_caps_replace), (gst_caps_from_string),
23124         (gst_caps_copy_conditional):
23125         * gst/gstcaps.h:
23126         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
23127         (_gst_clock_id_free), (gst_clock_id_unref),
23128         (gst_clock_id_compare_func), (gst_clock_id_wait),
23129         (gst_clock_id_wait_async), (gst_clock_class_init),
23130         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
23131         (gst_clock_get_time), (gst_clock_set_time_adjust),
23132         (gst_clock_set_property), (gst_clock_get_property):
23133         * gst/gstclock.h:
23134         * gst/gstcompat.h:
23135         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
23136         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
23137         * gst/gstdata.h:
23138         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
23139         (gst_element_requires_clock), (gst_element_provides_clock),
23140         (gst_element_set_clock), (gst_element_clock_wait),
23141         (gst_element_wait), (gst_element_set_time_delay),
23142         (gst_element_is_indexable), (gst_element_add_pad),
23143         (gst_element_add_ghost_pad), (gst_element_remove_pad),
23144         (pad_compare_name), (gst_element_get_static_pad),
23145         (gst_element_request_pad), (gst_element_get_request_pad),
23146         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
23147         (gst_element_class_get_pad_template_list),
23148         (gst_element_class_get_pad_template), (gst_element_error_func),
23149         (gst_element_get_random_pad), (gst_element_get_event_masks),
23150         (gst_element_send_event), (gst_element_seek),
23151         (gst_element_get_query_types), (gst_element_query),
23152         (gst_element_get_formats), (gst_element_convert),
23153         (gst_element_is_locked_state), (gst_element_set_locked_state),
23154         (gst_element_sync_state_with_parent), (gst_element_change_state),
23155         (gst_element_finalize), (gst_element_yield),
23156         (gst_element_interrupt), (gst_element_set_scheduler),
23157         (gst_element_get_scheduler), (gst_element_set_loop_function):
23158         * gst/gstelement.h:
23159         * gst/gstevent.h:
23160         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
23161         (gst_format_get_by_nick), (gst_format_get_details),
23162         (gst_format_iterate_definitions):
23163         * gst/gstformat.h:
23164         * gst/gstindex.c: (gst_index_gtype_resolver):
23165         * gst/gstinfo.c:
23166         * gst/gstinfo.h:
23167         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
23168         (gst_mem_chunk_free):
23169         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
23170         (gst_object_ref), (gst_object_unref), (gst_object_sink),
23171         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
23172         (gst_object_dispatch_properties_changed),
23173         (gst_object_set_name_default), (gst_object_set_name),
23174         (gst_object_get_name), (gst_object_set_name_prefix),
23175         (gst_object_get_name_prefix), (gst_object_set_parent),
23176         (gst_object_get_parent), (gst_object_unparent),
23177         (gst_object_check_uniqueness), (gst_object_save_thyself),
23178         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
23179         (gst_object_set_property), (gst_object_get_property),
23180         (gst_object_get_path_string):
23181         * gst/gstobject.h:
23182         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
23183         (gst_real_pad_init), (gst_real_pad_get_property),
23184         (gst_pad_custom_new), (gst_pad_get_direction),
23185         (gst_pad_set_active), (gst_pad_is_active),
23186         (gst_pad_set_event_function), (gst_pad_is_linked),
23187         (gst_pad_link_free), (gst_pad_link_intersect),
23188         (gst_pad_link_fixate), (gst_pad_set_caps),
23189         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
23190         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
23191         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
23192         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
23193         (gst_pad_get_caps), (gst_pad_peer_get_caps),
23194         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
23195         (gst_pad_realize), (gst_pad_get_allowed_caps),
23196         (gst_real_pad_dispose), (gst_real_pad_finalize),
23197         (gst_pad_collectv), (gst_pad_collect_valist),
23198         (gst_pad_template_dispose), (gst_pad_template_new),
23199         (gst_pad_get_internal_links):
23200         * gst/gstpad.h:
23201         * gst/gstpipeline.c: (gst_pipeline_dispose),
23202         (gst_pipeline_change_state):
23203         * gst/gstpipeline.h:
23204         * gst/gstplugin.c:
23205         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
23206         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
23207         * gst/gstpluginfeature.h:
23208         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
23209         * gst/gstquery.c: (_gst_query_type_initialize),
23210         (gst_query_type_register), (gst_query_type_get_by_nick),
23211         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
23212         * gst/gstquery.h:
23213         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
23214         * gst/gstscheduler.c: (gst_scheduler_add_element),
23215         (gst_scheduler_factory_create):
23216         * gst/gststructure.c: (gst_structure_set_parent_refcount),
23217         (gst_structure_free), (gst_structure_set_name),
23218         (gst_structure_id_set_value), (gst_structure_set_value),
23219         (gst_structure_set_valist), (gst_structure_remove_field),
23220         (gst_structure_remove_fields),
23221         (gst_structure_remove_fields_valist),
23222         (gst_structure_remove_all_fields), (gst_structure_foreach),
23223         (gst_structure_map_in_place),
23224         (gst_caps_structure_fixate_field_nearest_int),
23225         (gst_caps_structure_fixate_field_nearest_double):
23226         * gst/gststructure.h:
23227         * gst/gstsystemclock.c: (gst_system_clock_class_init),
23228         (gst_system_clock_init), (gst_system_clock_dispose),
23229         (gst_system_clock_async_thread),
23230         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
23231         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
23232         * gst/gstsystemclock.h:
23233         * gst/gsttag.c: (gst_tag_list_add_value_internal),
23234         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
23235         * gst/gsttaginterface.c:
23236         * gst/gstthread.c: (gst_thread_dispose),
23237         (gst_thread_release_children_locks), (gst_thread_change_state),
23238         (gst_thread_main_loop):
23239         * gst/gsttrashstack.h:
23240         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
23241         * gst/gsttypes.h:
23242         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
23243         (gst_element_request_pad), (gst_element_get_pad_from_template),
23244         (gst_element_request_compatible_pad),
23245         (gst_element_get_compatible_pad_filtered),
23246         (gst_element_get_compatible_pad), (gst_element_state_get_name),
23247         (gst_element_link_pads_filtered), (gst_element_link_filtered),
23248         (gst_element_link_many), (gst_element_link),
23249         (gst_element_link_pads), (gst_element_unlink_pads),
23250         (gst_element_unlink_many), (gst_element_unlink),
23251         (gst_pad_can_link_filtered), (gst_pad_can_link),
23252         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
23253         (gst_object_default_error), (gst_bin_add_many),
23254         (gst_bin_remove_many), (gst_element_populate_std_props),
23255         (gst_element_class_install_std_props), (gst_buffer_merge),
23256         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
23257         (link_fold_func), (gst_pad_proxy_setcaps):
23258         * gst/gstutils.h:
23259         * gst/gstvalue.c: (gst_value_deserialize_string):
23260         * gst/parse/grammar.y:
23261         * gst/schedulers/gstbasicscheduler.c:
23262         (gst_basic_scheduler_cothreaded_chain),
23263         (gst_basic_scheduler_chain_recursive_add),
23264         (gst_basic_scheduler_pad_link):
23265         * gst/schedulers/gstoptimalscheduler.c:
23266         (get_group_schedule_function),
23267         (gst_opt_scheduler_state_transition),
23268         (gst_opt_scheduler_add_element), (element_get_reachables_func):
23269         * libs/gst/bytestream/bytestream.c:
23270         * libs/gst/dataprotocol/dataprotocol.c:
23271         (gst_dp_header_from_buffer):
23272         * po/nb.po:
23273         * po/ru.po:
23274         * tests/threadstate/threadstate2.c: (eos):
23275         * tools/gst-compprep.c: (main):
23276         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
23277         (print_pad_info), (print_children_info):
23278         * tools/gst-launch.c: (idle_func), (main):
23279         * tools/gst-md5sum.c: (idle_func), (main):
23280         * tools/gst-xmlinspect.c: (print_element_info):
23281         First THREADED backport attempt, focusing on adding locks and
23282         making sure the API is threadsafe. Needs more work. More docs
23283         follow this week.
23284
23285 2005-02-24  Andy Wingo  <wingo@pobox.com>
23286
23287         * tests/bench-complexity.scm:
23288         * tests/complexity.gnuplot: New files, good for running complexity
23289         benchmarks.
23290
23291         * tests/Makefile.am:
23292         * tests/complexity.c: New test, sets up N elements, at each level
23293         teeing into M streams per element. Eeeenteresting.
23294
23295         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
23296         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
23297         running bench-mass_elements.scm.
23298
23299         * tests/bench-mass_elements.scm: New script, runs mass_elements
23300         for various numbers of identities, outputting the results to a
23301         file. Requires guile 1.6. Just for testing.
23302
23303 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23304
23305         * gst/schedulers/fairscheduler.c:
23306           compile with debug disabled
23307
23308 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23309
23310         * configure.ac:
23311           hunting season on 0.9 is now OPEN