5166ee16703bc4b66dc519825cb8d0f76fa699fe
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-05-12  Wim Taymans  <wim@fluendo.com>
2
3         * plugins/elements/gstqueue.c: (gst_queue_init),
4         (gst_queue_finalize), (update_time_level), (apply_segment),
5         (apply_buffer), (gst_queue_locked_flush),
6         (gst_queue_locked_enqueue), (gst_queue_locked_dequeue),
7         (gst_queue_handle_sink_event), (gst_queue_chain),
8         (gst_queue_push_one), (gst_queue_loop):
9         * plugins/elements/gstqueue.h:
10         Refactor an cleanup queue a bit.
11         Do better time level calculations that also work when the srcpad is not
12         yet running.
13         Remove some unneeded debug lines.
14
15         * tests/check/elements/queue.c: (GST_START_TEST), (queue_suite):
16         Added testcase for time level measurement.
17         Try to make some stuff more racefree.
18
19 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
20
21         * gst/gsturi.c: (gst_element_make_from_uri):
22           Don't leak plugin feature.
23
24         * tests/check/Makefile.am:
25         * tests/check/gst/.cvsignore:
26         * tests/check/gst/gsturi.c: (GST_START_TEST), (gst_uri_suite):
27           Add brain-dead unit test.
28
29 2007-05-11  Tim-Philipp Müller  <tim at centricular dot net>
30
31         Patch by: Jeroen Wouters <woutersj at gmail com>
32
33         * gst/gsturi.c: (gst_uri_get_protocol), (search_by_entry):
34           Treat protocol strings in a case-insensitive way (#437563).
35
36 2007-05-11  Michael Smith <msmith@fluendo.com>
37
38         * gst/gstplugin.c: (gst_plugin_load_file):
39         * gst/gstregistry.c: (gst_registry_scan_path_level):
40           Don't print a g_warning for any failure to load a shared object.
41           Instead, push this down into gstplugin.c, and warn _only_ if we
42           failed to open the module (i.e. failure to link).
43           Avoids warnings on normal, working, non-plugin .so files.
44
45 2007-05-11  Stefan Kost  <ensonic@users.sf.net>
46
47         * gst/gstplugin.c (gst_plugin_load_file):
48         * gst/gstregistry.c (GST_CAT_DEFAULT,
49           gst_registry_lookup_feature_locked, gst_registry_scan_path_level):
50           Print a g_warning if there was an error when loading a plugins during
51           registry scan. The shuld help beginners starting with gst-plugin
52           template.
53
54 2007-05-10  Wim Taymans  <wim@fluendo.com>
55
56         * plugins/elements/gstqueue.c: (gst_queue_class_init),
57         (update_time_level), (gst_queue_locked_flush),
58         (gst_queue_handle_sink_event), (gst_queue_chain),
59         (gst_queue_push_one), (gst_queue_loop):
60         * plugins/elements/gstqueue.h:
61         Be smarter when calculating the current amount of data in the queue by
62         measuring the difference between start and end timestamps (in running
63         time) inside the queue. Fixes #432876.
64         API: GstQueue::pushing to notify elements that we are pushing data again
65         since the running signal is rather broken for this purpose.
66
67 2007-05-10  Stefan Kost  <ensonic@users.sf.net>
68
69         * plugins/elements/gstqueue.c (_do_init, gst_queue_signals,
70           gst_queue_base_init, gst_queue_init):
71           use GST_BOILERPLATE
72
73 2007-05-09  Sebastien Moutte  <sebastien@moutte.net>
74
75         * win32/common/libgstreamer.def:
76         Add new exported functions.
77         * win32/vs6/grammar.dsp:
78         Use grammar pre-generated files.
79
80 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
81
82         Based on patch by: Peter Kjellerstedt  <pkj at axis com>
83
84         * gst/Makefile.am:
85         * gst/gstparse.c: (gst_parse_launchv), (gst_parse_launch):
86         * gst/gstparse.h:
87         * gst/gstutils.c: (gst_parse_bin_from_description):
88         * gst/gstutils.h:
89           Maintain API and ABI when --disable-parse is used. Now that
90           we have an appropriate error code, we can just return NULL and the
91           appropriate error when gst_parse_launch() is used despite it having
92           been disabled (#342564).
93
94         * tests/check/Makefile.am:
95         * tests/check/pipelines/.cvsignore:
96         * tests/check/pipelines/parse-disabled.c:
97           Make sure these functions exist and return NULL plus a GError when
98           --disable-parse is used.
99
100 2007-05-09  Tim-Philipp Müller  <tim at centricular dot net>
101
102         * tests/benchmarks/complexity.c: (main):
103         * tests/benchmarks/mass-elements.c: (main):
104           Set a good example and don't leak messages.
105
106 2007-05-06  Stefan Kost  <ensonic@users.sf.net>
107
108         * docs/gst/Makefile.am:
109         * docs/libs/Makefile.am:
110           Correct fixxrefs options.
111
112         * docs/plugins/Makefile.am:
113         * docs/plugins/gstreamer-plugins-docs.sgml:
114         * docs/plugins/gstreamer-plugins-sections.txt:
115         * plugins/elements/Makefile.am:
116         * plugins/elements/gstcapsfilter.c (gst_capsfilter_details):
117         * plugins/elements/gstcapsfilter.h (__GST_CAPSFILTER_H__,
118           GST_TYPE_CAPSFILTER, GST_CAPSFILTER, GST_CAPSFILTER_CLASS,
119           GST_IS_CAPSFILTER, GST_IS_CAPSFILTER_CLASS, GstCapsFilter,
120           GstCapsFilterClass, _GstCapsFilter, trans, filter_caps,
121           _GstCapsFilterClass, trans_class):
122         * plugins/elements/gstelements.c (name, rank, type, _elements):
123         * plugins/elements/gstidentity.c
124           (gst_identity_check_imperfect_timestamp,
125           gst_identity_check_imperfect_offset):
126           Document capsfilter and add doc-blurb to identity.
127
128 2007-05-04  Tim-Philipp Müller  <tim at centricular dot net>
129
130         * libs/gst/controller/gstcontroller.c:
131         (gst_controlled_property_set_interpolation_mode):
132         * libs/gst/controller/gstinterpolation.c:
133           Don't crash if someone tries to set an interpolation mode that
134           is invalid or that isn't supported yet. Fixes #422295.
135
136         * tests/check/libs/controller.c: (GST_START_TEST),
137         (gst_controller_suite):
138           Add a test case for the above.
139
140 2007-05-03  Edward Hervey  <edward@fluendo.com>
141
142         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
143         Properly set the last_stop position on GstSegment. This will only happen
144         if there is a buffer to push out.
145
146 2007-05-03  Wim Taymans  <wim@fluendo.com>
147
148         * libs/gst/base/gstbasetransform.c:
149         (gst_base_transform_buffer_alloc):
150         always_in_place does not mean that the sink and source caps are the
151         same! Make sure we don't blindly proxy the buffer_alloc in this case.
152
153 2007-05-03  Wim Taymans  <wim@fluendo.com>
154
155         * docs/libs/gstreamer-libs-sections.txt:
156         * libs/gst/base/gstbasesrc.c: (gst_base_src_query_latency),
157         (gst_base_src_default_query), (gst_base_src_get_range):
158         * libs/gst/base/gstbasesrc.h:
159         API: gst_base_src_query_latency(). Added method so that subclasses can
160         easily get the latency values of the base source class.
161
162 2007-05-02  Zaheer Abbas Merali  <<zaheerabbas at merali dot org>>
163
164         * tools/gst-inspect.c (print_implementation_info):
165         Remove 0.8 cruft.
166
167 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
168
169         * tools/Makefile.am:
170         * tools/gst-launch.1.in:
171           Don't create a customised man page based on the host architecture,
172           describe the default registry path generically. That way the man
173           page is the same for all architectures and packagers have one
174           multilib issue less to deal with. Fixes #434926.
175
176 2007-05-02  Wim Taymans  <wim@fluendo.com>
177
178         * gst/gstpad.c:
179         Fix documentation as spotted by rg on IRC. 
180
181 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
182
183         * gst/gstutils.c:
184           Improve docs for gst_element_{link,unlink}.
185
186 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
187
188         * docs/design/part-events.txt:
189         * docs/design/part-overview.txt:
190         * gst/gstevent.c:
191         * gst/gsturi.c:
192         * gst/gsturi.h:
193         * libs/gst/base/gstbasesink.c:
194           Typo fixes; minor docs addition.
195
196 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
197
198         * docs/gst/gstreamer-sections.txt:
199         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
200         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
201         * gst/gsturi.h:
202         API: Add gst_uri_protocol_is_supported(), which checks if an sink
203         or src that supports a given URI protocol exists.
204
205 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
206
207         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
208         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
209         Set the location to NULL if "file://" is set as URI. Otherwise
210         some random previous URI would still be set if "file://" is
211         set on an already used filesink/filesrc.
212
213 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
214
215         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
216         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
217         Special case the "file://" URI as as this is used by some
218         applications to test with gst_element_make_from_uri if there's
219         an element that supports the URI protocol.
220         Also move the g_path_is_absolute() check for the location part
221         of the URI to also check this for "file://localhost/bla" URIs.
222
223 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
224
225         * docs/gst/gstreamer-sections.txt:
226         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
227         * gst/gstbuffer.h:
228         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
229         (gst_buffer_suite):
230           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
231
232 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
233
234         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
235         (gst_registry_binary_load_pad_template),
236         (gst_registry_binary_load_plugin),
237         (gst_registry_binary_read_cache):
238         * gst/gstregistrybinary.h:
239           Implement no-mmap alternative for registry reading. Do code cleanups.
240           Add more comments about avoiding strdups for all text data. Comments
241           welcome.
242
243 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
244
245         * gst/gstregistrybinary.h (GstBinaryPluginElement,
246           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
247           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
248           Comment structs and reformat to fix the build (that stuff should go
249           into a priv. header).
250
251 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
252
253         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
254         (gst_registry_binary_load_feature):
255         * gst/gstregistrybinary.h:
256           Refactor so that we can implement multiple features. Add support for
257           TypeFindFactory features.
258
259 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
260
261         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
262
263         * configure.ac:
264           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
265
266 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
267
268         * gst/gstbin.c: (gst_bin_element_set_state),
269         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
270         (bin_handle_async_done), (gst_bin_handle_message_func):
271           Fix build with --gst-disable-gst-debug
272
273 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
274
275         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
276           Make sure streaming has finished before calling the ::stop() vfunc,
277           since that vfunc might clear state which is being used in the
278           streaming thread. This fixes a race that caused crashes in
279           audioresample when shutting down a pipeline (#420106).
280
281 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
282
283         * docs/gst/gstreamer-sections.txt:
284           That was one byte missing.
285
286 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
287
288         * configure.ac:
289         * docs/gst/gstreamer-sections.txt:
290         * gst/Makefile.am:
291         * gst/gstconfig.h.in:
292         * gst/gstobject.c: (gst_object_class_init),
293         (gst_signal_object_class_init):
294         * gst/gstobject.h:
295           2nd attempt to have a xml-less build as a joined effort of #413123
296           and #421480.
297
298 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
299
300         * docs/design/draft-tagreading.txt:
301           Added open issues/thoughts to draft.
302
303 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
304
305         * gst/parse/grammar.tab.pre.c:
306         * gst/parse/grammar.tab.pre.h:
307         * gst/parse/lex._gst_parse_yy.pre.c:
308         Update the prebuild parser sources.
309
310 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
311
312         * gst/parse/Makefile.am:
313         And now fix the building of the flex sources. Now everything should
314         work as expected.
315
316 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
317
318         * gst/parse/Makefile.am:
319         Now hopefully fix the build failures by setting proper rule
320         dependencies and moving instead of copying.
321
322 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
323
324         * tests/benchmarks/complexity.gnuplot:
325         * tests/benchmarks/complexity.scm:
326         * tests/benchmarks/mass-elements.gnuplot:
327         * tests/benchmarks/mass-elements.scm:
328           Total licensification.
329
330 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
331
332         * gst/parse/Makefile.am:
333           Fix the build by correcting the rule that gave wrong files to flex.
334
335 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
336
337         * tests/benchmarks/complexity.c:
338         * tests/benchmarks/mass-elements.c:
339           Change licence to LGPL as granted by Benjamin and Andy.
340
341 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
342
343         * gst/parse/Makefile.am:
344         Add correct grammar.tab.h dependency if compiling without new enough
345         flex. Fixes #431150.
346
347 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
348
349         * gst/parse/Makefile.am:
350         Fix typo and use outdated sources if the flex/bison sources are newer
351         than the pregenerated ones but flex is too old. Print a warning in
352         that case. This should fix the build on the build bot.
353
354 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
355
356         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
357         * gst/parse/Makefile.am:
358         * gst/parse/grammar.y:
359         * gst/parse/parse.l:
360         Make the parser reentrant and recursively callable. This requires flex
361         >= 2.5.31, for older versions pregenerated sources are used as we
362         can't bump the build dependency. Finally fixes #349180.
363
364         * gst/gstparse.c: (gst_parse_launch):
365         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
366         now anyway.
367
368         * docs/gst/Makefile.am:
369         * docs/gst/Makefile.am:
370         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
371         (__gst_parse_strfree), (__gst_parse_link_new),
372         (__gst_parse_link_free), (__gst_parse_chain_new),
373         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
374         (gst_parse_element_set), (gst_parse_free_link),
375         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
376         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
377         (_gst_parse_launch):
378         * gst/parse/grammar.tab.pre.h:
379         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
380         (yy_get_previous_state), (yy_try_NUL_trans), (input),
381         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
382         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
383         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
384         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
385         (_gst_parse_yypop_buffer_state),
386         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
387         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
388         (yy_fatal_error), (_gst_parse_yyget_extra),
389         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
390         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
391         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
392         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
393         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
394         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
395         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
396         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
397         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
398         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
399         (_gst_parse_yyfree):
400         If the installed flex version is too old use pre-generated parser
401         sources. These pre-generated parser sources are always updated when
402         the actual flex/bison sources change but require everybody who wants
403         to change something in the parser to have flex >= 2.5.31 installed.
404
405 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
406
407         * common/m4/gst-gettext.m4:
408         * gst/gst-i18n-lib.h:
409           Make --disable-nls to work
410
411 2007-04-17  Wim Taymans  <wim@fluendo.com>
412
413         * gst/gstconfig.h.in:
414         Revert previous change that broke the build.
415
416 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
417
418         * configure.ac:
419         * gst/Makefile.am:
420         * gst/gstconfig.h.in:
421           Drop libxml2 dependency when building with 
422           --enable-binary-registry --disable-loadsave
423
424 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
425
426         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
427         (gst_registry_binary_read_cache):
428         * gst/gstregistrybinary.h:
429           Remove unnecessary <sys/mman.h> include which broke the win32 build
430           with MingW; move includes from header file to .c file, even if the
431           header file isn't installed; use g_strerror() where UTF-8 strings
432           are expected, such as in GST_DEBUG messages.
433
434 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
435
436         * docs/libs/gstreamer-libs-sections.txt:
437         Remove bogus addition for API I didn't end up keeping.
438
439         * libs/gst/base/gstbasesrc.h:
440         Mention Since: 0.10.13 in the documentation.
441
442         Add the API keyword to the previous ChangeLog entry.
443
444 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
445
446         * docs/libs/gstreamer-libs-sections.txt:
447         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
448         (gst_base_src_default_prepare_seek_segment),
449         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
450         * libs/gst/base/gstbasesrc.h:
451         Allow basesrc derived classes to execute seeks in other formats
452         by providing a prepare_seek_segment vmethod. Sub-classes can choose
453         to prepare the GstSegment in any format that their perform_seek method
454         will be able to understand. The default implementation provides the
455         old behaviour of attempting to convert the seek offsets to the 
456         configured native format.
457
458         API: basesrc::prepare_seek_segment vmethod.
459
460 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
461
462         * gst/gstelement.c: (gst_element_get_state_func):
463         Don't output the same debug statement twice.
464
465         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
466         (gst_adapter_peek), (gst_adapter_take_buffer):
467         Optimise the case where we have buffers at the head of the queue that
468         can be joined quickly (because they're contiguous sub-buffers) by
469         merging them together rather than copying data out into new memory.
470
471         * gst/parse/grammar.y:
472         * tests/check/pipelines/parse-launch.c:
473         Fix a leak in an error path for parse_launch, and add a check 
474         for it to the testsuite.
475
476 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
477
478         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
479           Don't deadlock when releasing a pad - gst_pad_set_active may try
480           and take the multiqueue lock too.
481
482 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
483
484         * gst/gsterror.c: (_gst_core_errors_init):
485         * gst/gsterror.h:
486           API: add GST_CORE_ERROR_DISABLED (#392804).
487
488 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
489
490         * docs/faq/gst-uninstalled:
491           don't get empty paths on the PATH variables
492         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
493           Don't format for the uncommon terminal width of 84 characters.
494
495 2007-04-06  Wim Taymans  <wim@fluendo.com>
496
497         * gst/gstpipeline.c: (reset_stream_time),
498         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
499         Only try to select a different pipeline clock when we went back to
500         PAUSED and not when we merely got flushed.
501
502 2007-04-05  Michael Smith  <msmith@fluendo.com>
503
504         * tools/gst-launch.1.in:
505           fractions are better supported in gstreamer than ractions, so
506           suggest using those.
507
508 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
509
510         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
511
512         * po/LINGUAS:
513         * po/da.po:
514           Added Danish translation.
515
516 2007-04-05  Wim Taymans  <wim@fluendo.com>
517
518         * libs/gst/base/gstbasesink.c:
519         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
520         Fix leak caused when refusing newsegment after EOS.
521
522         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
523         (gst_fake_sink_init), (gst_fake_sink_set_property),
524         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
525         (gst_fake_sink_render), (gst_fake_sink_change_state):
526         * plugins/elements/gstfakesink.h:
527         Add num-buffers property to make the element generate EOS after a
528         configurable amount of buffers.
529         API: fakesink::num-buffers property.
530
531         * tests/check/elements/fakesink.c: (GST_START_TEST),
532         (fakesink_suite):
533         Fix GstBus leak in test.
534         Test for fakesink num-buffers.
535
536 2007-04-05  Wim Taymans  <wim@fluendo.com>
537
538         * libs/gst/base/gstbasesink.c:
539         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
540         (gst_base_sink_change_state):
541         Don't accept anything after an EOS, return UNEXPECTED instead.
542
543         * tests/check/elements/fakesink.c: (GST_START_TEST),
544         (fakesink_suite):
545         Unit test for new EOS behaviour.
546
547 2007-04-05  Wim Taymans  <wim@fluendo.com>
548
549         * gst/gstelement.c: (gst_element_get_request_pad):
550         Make padtemplates also work when they don't contain %s or %d.
551
552 2007-04-05  Wim Taymans  <wim@fluendo.com>
553
554         * docs/gst/gstreamer-sections.txt:
555         * gst/gstclock.c: (gst_clock_adjust_unlocked),
556         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
557         * gst/gstclock.h:
558         Improve _adjust_unlocked() so that it overflows less.
559         Add gst_clock_unadjust_unlocked to convert from external time to
560         internal time based on calibration.
561         Add some more debug.
562         API: GstClock::gst_clock_unadjust_unlocked()
563
564 2007-04-03  Wim Taymans  <wim@fluendo.com>
565
566         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
567
568         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
569         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
570         when releasing sink pad. Fixes #425400.
571
572 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
573
574         * docs/random/ensonic/dynlink.txt:
575           More work on proposal for new core api.
576
577         * docs/libs/gstreamer-libs-sections.txt:
578         * libs/gst/base/gstbasetransform.h:
579           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
580           
581         * libs/gst/controller/gstcontroller.c:
582         (on_object_controlled_property_changed),
583         (gst_controller_sync_values),
584         (gst_controller_set_interpolation_mode):
585         * libs/gst/controller/gstcontroller.h:
586           Less verbose logging add docs for unimplemented parts and correctly
587           return when using unavailable parts.
588
589 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
590
591         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
592         Move all the debug to the CLOCK category, and associate it with
593         the clock object.
594
595 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
596
597         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
598         Make take_buffer a bit quicker by removing redundant checks
599         caused by calling gst_adapter_take.
600
601 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
602
603         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
604           Don't leak GCond.
605
606         * tests/check/Makefile.am:
607         * tests/check/elements/.cvsignore:
608         * tests/check/elements/multiqueue.c: (setup_multiqueue),
609         (GST_START_TEST), (multiqueue_suite):
610           Add some dead simple unit tests for the 'multiqueue' element
611           (some bits don't work yet and are disabled for now).
612
613 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
614
615         * gst/gstelement.c: (gst_element_get_request_pad),
616         (gst_element_class_get_request_pad_template):
617           Make gst_element_get_request_pad() create request pads only for
618           request pad templates and not for, say, sometimes pad templates.
619
620 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
621
622         * docs/design/draft-klass.txt:
623           Add example that needs more thinking.
624         
625         * docs/design/draft-missing-plugins.txt:
626           More thoughts about wrapper plugins.
627         
628         * docs/random/ensonic/embedded.txt:
629         * docs/random/ensonic/profiling.txt:
630           More design work.
631
632 2007-03-25  Wim Taymans  <wim@fluendo.com>
633
634         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
635         (gst_base_src_loop):
636         Only push the segment events in the PLAYING state for live sources.
637
638 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
639
640         * gst/gstpipeline.c: (gst_pipeline_change_state):
641         Modify the clock distribution path in PAUSED->PLAYING so that we 
642         never attempt to choose a new clock unless we're actually leaving
643         the PAUSED state for the first time. This prevents choosing a
644         different clock when the state_change gets called for a 2nd time due
645         to some element doing an async state change.
646
647 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
648
649         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
650         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
651         (gst_pad_chain_unchecked), (gst_pad_push):
652         Revert last commit. This needs some more thoughts.
653
654 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
655
656         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
657         (gst_pad_chain_unchecked), (gst_pad_push):
658         Check in set_caps if the caps are compatible with the pad and remove
659         two functions that are redundant now. Fixes #421543.
660
661 2007-03-22  Wim Taymans  <wim@fluendo.com>
662
663         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
664         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
665         Unref some more to make valgrind happy.
666
667 2007-03-22  Wim Taymans  <wim@fluendo.com>
668
669         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
670         (gst_system_clock_id_wait_jitter),
671         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
672         Fix anoying regression that survived a few releases. When adding an
673         async entry while blocking on a sync entry, the sync entry will unblock
674         but still be busy, so it should continue to wait instead of returning
675         _BUSY to the app.
676         Add some comments here and there.
677
678         * tests/check/gst/gstsystemclock.c: (mixed_thread),
679         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
680         Add testcase for this.
681
682 2007-03-22  Wim Taymans  <wim@fluendo.com>
683
684         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
685         Handle errors from the clock sync better, only UNSCHEDULED indicates a
686         WRONG_STATE and can silently pause the task. All other cases should
687         error out.
688
689 2007-03-22  Wim Taymans  <wim@fluendo.com>
690
691         Patch by: <syrjala at sci dot fi>
692
693         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
694         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
695         Improve debugging.
696
697 2007-03-21  Michael Smith  <msmith@fluendo.com>
698
699         * docs/pwg/advanced-types.xml:
700           Fix some errors in the typefinding docs pointed out on irc.
701
702 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
703
704         * libs/gst/base/gstbasesrc.c:
705         Clarify FIXME comment in the face of having added unlock_stop()
706
707 2007-03-21  Wim Taymans  <wim@fluendo.com>
708
709         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
710         Prepare for release where we warn against possible app breakage in the
711         case of live pipelines along with an env var to enable/disable live
712         preroll mode (GST_COMPAT=[no-]live-preroll).
713
714 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
715
716         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
717         So we should use correct constants for checking for None offset.
718
719 2007-03-20  Wim Taymans  <wim@fluendo.com>
720
721         * docs/design/part-block.txt:
722         Mention the fact that the newly switched element should be set to at
723         least PAUSED.
724
725 2007-03-20  Wim Taymans  <wim@fluendo.com>
726
727         * gst/gst.c:
728         Fix compilation with registry disabled as spotted by Saur.
729
730 2007-03-20  Wim Taymans  <wim@fluendo.com>
731
732         Patch by: Olivier Crete <tester at tester dot ca>
733
734         * gst/gstelement.c: (gst_element_sync_state_with_parent):
735         Look at the pending state too when syncing the element state to the
736         parent. Fixes #420133.
737
738 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
739
740         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
741         (gst_base_sink_change_state):
742         * libs/gst/base/gstbasesink.h:
743         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
744         (gst_base_src_default_event), (gst_base_src_unlock_stop),
745         (gst_base_src_deactivate):
746         * libs/gst/base/gstbasesrc.h:
747         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
748         for sub-classes to correctly clear any state they set trying to
749         unlock, such as clearing out unlock commands from a command fd.
750
751         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
752         (gst_fd_sink_render), (gst_fd_sink_unlock),
753         (gst_fd_sink_unlock_stop):
754         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
755         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
756         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
757
758         Implement unlock_stop in fdsrc and fdsink.
759         Implement seeking in fdsrc when a seekable fd is passed, as in
760         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
761
762 2007-03-19  Wim Taymans  <wim@fluendo.com>
763
764         Patch by: Evan Nemerson <evan at coeus dash group dot com>
765
766         * gst/gstelement.c: (gst_element_class_init):
767         Fix pad-added and pad-removed signal signatures so that the pad type is
768         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
769
770 2007-03-19  Wim Taymans  <wim@fluendo.com>
771
772         * docs/gst/gstreamer-sections.txt:
773         Add new element field and method.
774
775         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
776         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
777         (gst_bin_recalc_state), (gst_bin_get_state_func),
778         (gst_bin_element_set_state), (gst_bin_change_state_func),
779         (gst_bin_continue_func), (bin_bus_handler),
780         (bin_push_state_continue), (bin_handle_async_start),
781         (bin_handle_async_done), (gst_bin_handle_message_func):
782         Make async state changes a bit smarter by using new ASYNC_START and
783         ASYNC_DONE messages. This reduces the number of times we run the state
784         recalculation thread.
785         Don't change state of element with a pending ASYNC_START message.
786         Deprecate STATE_DIRTY messages.
787         
788         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
789         (gst_element_get_state_func), (gst_element_continue_state),
790         (gst_element_lost_state), (gst_element_set_state_func),
791         (gst_element_change_state):
792         * gst/gstelement.h:
793         Keep the state that was last set by the app in a new element field.
794         Don't allow state changes when handling an element event.
795         Post ASYNC_START and ASYNC_DONE messages.
796         Change lost_state so that we go to PAUSED and wait for the parent to set
797         us to PLAYING again (so latency calculation can be performed)
798         Export gst_element_change_state() method so that subclasses can use it.
799         API: gst_element_change_state()
800         API: GST_STATE_TARGET
801
802         * gst/gstpipeline.c: (gst_pipeline_class_init),
803         (reset_stream_time), (gst_pipeline_change_state),
804         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
805         Using the new ASYNC_START message we can reset the base_time when
806         needed. This can then be used to implement base_time redistribution in
807         flushing seeks so that we can remove the explicit seek handling.
808         Perform latency query and configuration when going to PLAYING.
809
810         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
811         (gst_base_sink_query), (gst_base_sink_change_state):
812         Post new ASYNC_START/ASYNC_DONE messages.
813
814         * tests/check/generic/sinks.c: (GST_START_TEST):
815         Fix test because the bin will not set the async element to PLAYING right
816         away.
817
818         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
819         Make the message check a little stronger.
820         Handle ASYNC messages.
821
822         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
823         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
824         Expect ASYNC_DONE messages.
825
826 2007-03-19  Wim Taymans  <wim@fluendo.com>
827
828         * docs/gst/gstreamer-sections.txt:
829         * gst/gstmessage.c: (gst_message_new_async_start),
830         (gst_message_new_async_done), (gst_message_parse_info),
831         (gst_message_parse_async_start):
832         * gst/gstmessage.h:
833         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
834         support.
835
836 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
837
838         * tools/gst-inspect.c:
839         (print_plugin_automatic_install_info_codecs):
840           Now that we don't check for the 'Codec' keyword any longer in the
841           klass, we shouldn't spew a warning if the klass isn't a decoder or
842           encoder (since it might be a Source/Network, for example).
843
844 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
845
846         * tools/gst-inspect.c:
847         (print_plugin_automatic_install_info_codecs):
848           Don't require decoder/demuxer/depayloader elements or
849           encoder/muxer/paylader elements to have 'Codec' as part of their
850           factory class string when introspecting a plugin's capabilities.
851           draft-klass.txt mentions that it might be removed in future, and
852           flump3dec doesn't have it as part of its class string, so chances
853           are others might also not have it.
854
855 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
856
857         * po/af.po:
858         * po/az.po:
859         * po/bg.po:
860         * po/ca.po:
861         * po/cs.po:
862         * po/de.po:
863         * po/en_GB.po:
864         * po/fr.po:
865         * po/it.po:
866         * po/nb.po:
867         * po/nl.po:
868         * po/ru.po:
869         * po/sq.po:
870         * po/sr.po:
871         * po/sv.po:
872         * po/tr.po:
873         * po/uk.po:
874         * po/vi.po:
875         * po/zh_CN.po:
876         * po/zh_TW.po:
877           Update translations from translation project
878
879 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
880
881         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
882         (gst_child_proxy_set_property):
883           Invert precondition check to be alike the ones in the mimiced gobject
884           api.
885
886 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
887
888         * docs/design/draft-tagreading.txt:
889         * docs/random/ensonic/audiobaseclasses.txt:
890           Do some Architect work.
891
892         * gst/gstobject.c: (gst_object_set_name):
893           Add a WARNING.
894
895         * gst/gstpad.c:
896           Add docs that point from gst_pad_get_range to gst_pad_pull_range
897
898 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
899
900         * gst/gstsystemclock.c: (gst_system_clock_init),
901         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
902         Defer starting the async system clock thread until the first async
903         wait is scheduled. Fixes #414986.
904
905 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
906
907         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
908         (gst_single_queue_free):
909           Fix small leak (free GstSingleQueue structure too, not only contents).
910
911 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
912
913         * gst/gstbin.c:(gst_bin_add):
914         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
915         * win32/common/libgstbase.def:
916         * win32/common/libgstreamer.def:
917         Add new exported functions.
918
919 2007-03-09  Wim Taymans  <wim@fluendo.com>
920
921         * docs/plugins/gstreamer-plugins-sections.txt:
922         Fix GstTee docs.
923
924 2007-03-09  Wim Taymans  <wim@fluendo.com>
925
926         * docs/gst/gstreamer-sections.txt:
927         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
928         * gst/gstbuffer.h:
929         Add metadata copy functions. Fixes #393099.
930
931         * gst/gstutils.c: (gst_buffer_stamp):
932         * libs/gst/base/gstbasetransform.c:
933         (gst_base_transform_prepare_output_buffer):
934         Use new metadata copy functions.
935
936 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
937
938         * plugins/elements/gstidentity.c: (gst_identity_class_init),
939         (gst_identity_init), (gst_identity_check_perfect),
940         (gst_identity_check_imperfect_timestamp),
941         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
942         (gst_identity_set_property), (gst_identity_get_property):
943         * plugins/elements/gstidentity.h:
944         Separate out check-imperfect-timestamp and check-imperfect-offset.
945         Put back check-perfect as it was to keep compatibility.
946
947 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
948
949         * gst/gstelement.c: (gst_element_dispose):
950         There's no need to warn if VOID_PENDING is not NONE here, as
951         long as the state is NULL it's ok, and that's checked immediately
952         above.
953
954 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
955
956         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
957         Fix check for perfect stream to ignore buffers with -1 
958         offsets/offset ends when checking data contiguity.
959
960 2007-03-08  Wim Taymans  <wim@fluendo.com>
961
962         * tools/gst-launch.c: (event_loop):
963         Print INFO messages.
964
965 2007-03-08  Wim Taymans  <wim@fluendo.com>
966
967         * libs/gst/base/gstbasetransform.c:
968         (gst_base_transform_sink_eventfunc),
969         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
970         (gst_base_transform_activate):
971         * libs/gst/base/gstbasetransform.h:
972         Add support for dropping buffers with custom GstFlowReturn.
973         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
974         buffers or dropped buffers.
975
976         * docs/libs/gstreamer-libs-sections.txt:
977         docs for new custom return code.
978
979         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
980         Use drop support in base class to implement drop-probability.
981
982 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
983
984         * gst/gst.c: (load_plugin_func):
985         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
986         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
987         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
988           Remove newlines at end of debug log strings.
989
990 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
991
992         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
993         Only post bus message at max, once per buffer received.
994
995 2007-03-07  Wim Taymans  <wim@fluendo.com>
996
997         * docs/design/Makefile.am:
998         * docs/design/part-synchronisation.txt:
999         Add doc about synchronisation
1000
1001         * docs/design/draft-latency.txt:
1002         * docs/design/part-TODO.txt:
1003         * docs/design/part-clocks.txt:
1004         * docs/design/part-events.txt:
1005         * docs/design/part-gstbus.txt:
1006         * docs/design/part-gstpipeline.txt:
1007         * docs/design/part-live-source.txt:
1008         * docs/design/part-messages.txt:
1009         * docs/design/part-overview.txt:
1010         * docs/design/part-streams.txt:
1011         * docs/design/part-trickmodes.txt:
1012         Documentation updates.
1013
1014 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
1015
1016         * gstreamer.doap:
1017         Update the doap file.
1018
1019 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1020
1021         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
1022         Rename non-perfect to imperfect for Mike and for the sanctity of the
1023         language.
1024         Also make sure bus message gets emitted for data-incontiguities.
1025
1026 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
1027
1028         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
1029         (gst_identity_start):
1030         * plugins/elements/gstidentity.h:
1031         Emit bus message if check-perfect is true and we encounter a
1032         non-perfect stream between 2 consecutive buffers.
1033         Fixes #415394.
1034
1035 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
1036
1037         * configure.ac:
1038         Back to CVS
1039
1040 === release 0.10.12 ===
1041
1042 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
1043
1044         * configure.ac:
1045           releasing 0.10.12, "Inevitable Demise"
1046
1047 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
1048
1049         * configure.ac:
1050          Version 0.10.11.2 (0.10.12 pre-release)
1051          Bump libtool versioning.
1052
1053 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
1054
1055         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
1056           Log flow-names and not numbers.
1057
1058 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1059
1060         * configure.ac:
1061           Convert to new AG_GST style.
1062
1063 2007-02-28  Wim Taymans  <wim@fluendo.com>
1064
1065         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
1066         Don't unref query twice.
1067
1068 2007-02-28  Wim Taymans  <wim@fluendo.com>
1069
1070         * gst/gstvalue.c: (gst_value_transform_object_string),
1071         (_gst_value_initialize):
1072         Implement GstObject -> string transform so we print object names
1073         when serializing GValues containing GstObjects.
1074
1075 2007-02-28  Wim Taymans  <wim@fluendo.com>
1076
1077         * docs/gst/gstreamer-sections.txt:
1078         Add new stuff to docs.
1079
1080 2007-02-28  Wim Taymans  <wim@fluendo.com>
1081
1082         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
1083         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
1084         (gst_base_sink_change_state):
1085         Improve latency query code.
1086         Don't leak latency events.
1087
1088         * tests/check/gst/gstbin.c: (GST_START_TEST):
1089         Improve debugging.
1090
1091 2007-02-28  Wim Taymans  <wim@fluendo.com>
1092
1093         * gst/gstelement.c: (gst_element_message_full),
1094         (gst_element_get_state_func):
1095         * gst/gstelement.h:
1096         Improve docs a little. Added Since: for new macro.
1097
1098         * gst/gstobject.c: (gst_object_sink):
1099         * gst/gstpipeline.c: (gst_pipeline_change_state),
1100         (gst_pipeline_set_new_stream_time):
1101         * gst/gstpipeline.h:
1102         Improve debugging and docs.
1103
1104         * gst/gstutils.c: (gst_element_state_change_return_get_name):
1105         Improve debugging.
1106
1107 2007-02-28  Wim Taymans  <wim@fluendo.com>
1108
1109         * gst/gstelement.c: (gst_element_message_full),
1110         (gst_element_set_locked_state), (gst_element_get_state_func),
1111         (gst_element_change_state):
1112         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
1113         Documentation updates.
1114         Small code cleanups.
1115
1116         * gst/gstmessage.c: (gst_message_new_info),
1117         (gst_message_parse_info):
1118         * gst/gstmessage.h:
1119         API: gst_message_new_info()
1120         API: gst_message_parse_info()
1121         Add INFO message create and parse code.
1122
1123 2007-02-28  Wim Taymans  <wim@fluendo.com>
1124
1125         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
1126         (bin_query_latency_done):
1127         Also report the live parameter of a latency query.
1128
1129 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
1130
1131         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
1132           Copy the current generic/states example from -base and adapt so
1133           we can use the exact same code everywhere.
1134           Check a STATES_IGNORE_ELEMENTS env var which can be used
1135           to ignore certain element factories for this test, which is
1136           what is being done in -base
1137         * tests/check/Makefile.am:
1138           Mention this environment variable.
1139
1140 2007-02-27  Wim Taymans  <wim@fluendo.com>
1141
1142         * docs/gst/gstreamer-sections.txt:
1143         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
1144         (gst_bus_timed_pop), (gst_bus_pop):
1145         * gst/gstbus.h:
1146         API: gst_bus_timed_pop()
1147         Implement gst_bus_timed_pop() to do a blocking timed wait for a
1148         message to arrive on the bus.
1149
1150         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
1151         (gst_bus_suite):
1152         Two unit tests for new _timed_pop() function.
1153
1154 2007-02-23  Wim Taymans  <wim@fluendo.com>
1155
1156         * gst/gstpipeline.c: (gst_pipeline_change_state),
1157         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
1158         Don't ref a NULL clock in _provide_clock_func().
1159         Don't allow an INVALID delay.
1160         Don't try to calculate base_time with an invalid start_time.
1161         Also distribute and notify a NULL clock when it was selected.
1162
1163         * tools/gst-launch.c: (event_loop):
1164         Don't crash when a NULL clock was selected in the pipeline.
1165
1166 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1167
1168         * docs/design/Makefile.am:
1169         * docs/design/draft-missing-plugins.txt:
1170         * docs/random/draft-missing-plugins.txt:
1171           Some small updates: update plugin system identifier prefix
1172           ('gstreamer.net' to 'gstreamer'), mention our new install
1173           API in libgstbaseutils rather than libgimme-codec, add
1174           reference to the online docs.
1175
1176 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1177
1178         * win32/common/config.h:
1179           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
1180           use moap cl ci to only check in what is mentioned in the ChangeLog.
1181
1182 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1183
1184         * docs/gst/gstreamer-sections.txt:
1185         * gst/gstelement.h:
1186           Fix up documentation to link to the correct GstGError section.
1187           Add GST_ELEMENT_INFO macro since someone else added a Info message.
1188
1189 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1190
1191         * tools/gst-launch.c: (event_loop):
1192           Make sure that we actually show the important message part of a
1193           warning message.
1194           No need to check if the gerror is not NULL to free; first of all
1195           g_free accepts NULL; and second the default error handler would
1196           segfault if gerror was NULL.
1197
1198 2007-02-21  Wim Taymans  <wim@fluendo.com>
1199
1200         * docs/gst/gstreamer-sections.txt:
1201         Removed docs as well.
1202
1203 2007-02-21  Wim Taymans  <wim@fluendo.com>
1204
1205         * gst/gstmessage.c: (gst_message_parse_duration):
1206         * gst/gstmessage.h:
1207         Remove new messages for release.
1208
1209 2007-02-20  Wim Taymans  <wim@fluendo.com>
1210
1211         * docs/design/part-gstghostpad.txt:
1212         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
1213         (gst_ghost_pad_new_full):
1214         Make the ghostpad a parent of the internal pad again for better backward
1215         compatibility. Don't write code that relies on this however.
1216
1217         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
1218         (gst_pad_link_check_hierarchy):
1219         Require that parents should be GstElements in the hierarchy check.
1220
1221 2007-02-20  Wim Taymans  <wim@fluendo.com>
1222
1223         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
1224         (gst_bin_change_state_func), (bin_query_min_max_init),
1225         (bin_query_latency_fold), (bin_query_latency_done),
1226         (gst_bin_query):
1227         Improve debug info.
1228         Implement latency query.
1229
1230 2007-02-20  Wim Taymans  <wim@fluendo.com>
1231
1232         * docs/design/part-gstghostpad.txt:
1233         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
1234         (gst_ghost_pad_internal_do_activate_push),
1235         (gst_ghost_pad_internal_do_activate_pull),
1236         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1237         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
1238         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
1239         Do not set the internal pad as a parent anymore so we can avoid
1240         hierarchy linking errors when the ghostpad has no parent yet. This also
1241         fixes failed activation because of unlinked internal pads, which in
1242         turn fixes the impossible case where you have to activate a pad before
1243         you can add it to a running element.
1244         Also fix the docs.
1245
1246         * gst/gstpad.c: (pre_activate), (post_activate),
1247         (gst_pad_set_active), (gst_pad_activate_pull),
1248         (gst_pad_activate_push), (gst_pad_check_pull_range):
1249         Add some more debug info.
1250         Mark activation mode in pre_activate so that we don't try to activate in
1251         endless loops. Fixes #385084.
1252
1253 2007-02-19  Wim Taymans  <wim@fluendo.com>
1254
1255         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
1256         (gst_base_transform_check_get_range):
1257         Implement a checkgetrange function instead of relying on the default
1258         core behaviour that assumes we can operate in pull mode if we have a
1259         getrange function. First step at fixing #385084.
1260
1261 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
1262
1263         * gst/gstchildproxy.h:
1264         * libs/gst/base/gstbasesink.h:
1265         * libs/gst/base/gstbasesrc.h:
1266         * libs/gst/base/gstbasetransform.h:
1267         More docs coverage and some ChangeLog surgery (add missing names)
1268
1269 2007-02-15  Wim Taymans  <wim@fluendo.com>
1270
1271         * docs/design/part-TODO.txt:
1272         * docs/design/part-activation.txt:
1273         * docs/design/part-block.txt:
1274         * docs/design/part-buffering.txt:
1275         * docs/design/part-clocks.txt:
1276         * docs/design/part-element-source.txt:
1277         * docs/design/part-events.txt:
1278         * docs/design/part-gstbin.txt:
1279         * docs/design/part-gstbus.txt:
1280         * docs/design/part-gstpipeline.txt:
1281         * docs/design/part-live-source.txt:
1282         * docs/design/part-messages.txt:
1283         * docs/design/part-overview.txt:
1284         * docs/design/part-qos.txt:
1285         * docs/design/part-query.txt:
1286         * docs/design/part-states.txt:
1287         * docs/design/part-trickmodes.txt:
1288         Some doc updates. Start renaming from stream_time to running_time where
1289         it was used wrongly.
1290
1291 2007-02-15  Wim Taymans  <wim@fluendo.com>
1292
1293         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
1294         Answer LATENCY query.
1295
1296 2007-02-15  Wim Taymans  <wim@fluendo.com>
1297
1298         * tests/check/gst/gstevent.c: (event_probe), (test_event),
1299         (GST_START_TEST):
1300         Improve debugging.
1301
1302 2007-02-15  Wim Taymans  <wim@fluendo.com>
1303
1304         * gst/gstpad.c: (gst_pad_get_internal_links_default),
1305         (gst_pad_dispatcher):
1306         Improve debugging of default pad dispatcher and query functions.
1307
1308 2007-02-15  Wim Taymans  <wim@fluendo.com>
1309
1310         * docs/gst/gstreamer-sections.txt:
1311         Remove old unused method.
1312
1313 2007-02-13  Wim Taymans  <wim@fluendo.com>
1314
1315         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1316         Fix check
1317
1318 2007-02-13  Wim Taymans  <wim@fluendo.com>
1319
1320         * docs/design/part-seeking.txt:
1321         Some small update.
1322
1323         * gst/gstsegment.c: (gst_segment_set_seek):
1324         Revert old bogus change that should make seeking work again.
1325
1326 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
1327
1328         * docs/random/ensonic/dynlink.txt:
1329         * docs/random/ensonic/interfaces.txt:
1330         * docs/random/ensonic/receipies.txt:
1331           Possible dynamic reconnection api, plus some type fixes the other two
1332           docs.
1333
1334 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
1335
1336         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1337         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1338         Also check for an absolute path following file:// in the filesrc
1339         element. Remove redundant check and call g_path_is_absolute() on the
1340         unescaped location.
1341
1342 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
1343
1344         * docs/design/draft-klass.txt:
1345           Add existing category analysis.
1346           
1347         * gst/gstcaps.c:
1348           Fix doc example, framerate is a fraction.
1349
1350 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
1351
1352         * configure.ac:
1353         * docs/gst/Makefile.am:
1354         * docs/gst/gstreamer-sections.txt:
1355         * docs/libs/Makefile.am:
1356           Erm, forgot a bunch of --extra-dir.
1357
1358 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
1359
1360         * configure.ac:
1361         * docs/gst/Makefile.am:
1362         * docs/libs/Makefile.am:
1363         * docs/plugins/Makefile.am:
1364           Add crossreferences to glib/gobject docs.
1365
1366 2007-02-12  Wim Taymans  <wim@fluendo.com>
1367
1368         * docs/design/draft-latency.txt:
1369         Small update.
1370
1371         * docs/libs/gstreamer-libs-sections.txt:
1372         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1373         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
1374         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
1375         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
1376         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
1377         (gst_base_sink_get_position), (gst_base_sink_query),
1378         (gst_base_sink_change_state):
1379         * libs/gst/base/gstbasesink.h:
1380         API: gst_base_sink_query_latency() to let subclasses query the upstream
1381         latency.
1382         API: gst_base_sink_get_latency() to let subclasses query the configured
1383         latency in the sink.
1384         Implement query and set latency.
1385         Update some docs.
1386         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
1387         don't continue preroll when we are flushing. Fixes #405284.
1388
1389         * tests/check/pipelines/stress.c: (change_state_timeout),
1390         (quit_timeout), (GST_START_TEST), (stress_suite):
1391         Test for #405284.
1392
1393 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
1394
1395         Patch by: René Stadler <mail at renestadler de>
1396
1397         * docs/gst/gstreamer-sections.txt:
1398         * gst/gsttaglist.c: (_gst_tag_initialize):
1399         * gst/gsttaglist.h:
1400           API: add GST_TAG_REFERENCE_LEVEL (#403597).
1401
1402 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
1403
1404         * docs/libs/Makefile.am:
1405           Fix path to core docs.
1406
1407         * gst/gstbin.c: (gst_bin_get_by_interface),
1408         (gst_bin_iterate_all_by_interface):
1409           Refix docs by also renaming 'interface' to 'iface' in implementation.
1410
1411         * docs/gst/gstreamer-sections.txt:
1412         * gst/gstcaps.c:
1413         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1414         * gst/gstchildproxy.h:
1415         * gst/gstelementfactory.c:
1416         * gst/gstpadtemplate.h:
1417         * libs/gst/controller/gstcontroller.c:
1418         (gst_controlled_property_new):
1419           Document more.
1420
1421 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
1422
1423         * gst/gstbin.h:(gst_bin_get_by_interface),
1424         (gst_bin_iterate_all_by_interface):
1425         Replace interface parameter name by iface as interface is 
1426         a reserved keyword in Visual Studio for C++ projects so it removes
1427         a build error for application developpers using VS.
1428         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
1429         Fix a bug on Windows in uri format check. Now the prefix checked
1430         is file:// and next we check if the path after file:// is absolute.
1431         * win32/common/libgstbase.def:
1432         * win32/common/libgstdataprotocol.def:
1433         * win32/common/libgstgstreamer.def:
1434         Add new exported functions.
1435
1436 2007-02-09  Andy Wingo  <wingo@pobox.com>
1437
1438         * tests/check/pipelines/simple-launch-lines.c
1439         (simple_launch_lines_suite, test_tee): Disable tee test until I
1440         have time to fix it :-(
1441
1442         * tests/check/Makefile.am (noinst_HEADERS): 
1443         * tests/check/libs/libsabi.c: 
1444         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
1445         * tests/check/gst/gstabi.c: 
1446         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
1447
1448         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
1449         tests for push and pull tee behavior.
1450
1451         * plugins/elements/gsttee.h: 
1452         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
1453         mark as deprecated as well as unimplemented. It was a crack idea.
1454         Add support for tee operating in pull mode, off by default.
1455
1456         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
1457         normal-case logs down to LOG, raise errors to WARNING.
1458         (gst_registry_xml_read_cache): Don't log before calling a function
1459         that logs.
1460
1461         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
1462         exit (registry finalize).
1463         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
1464         DEBUG log when we emit signals that people don't even have the
1465         chance to connect to.
1466         (gst_registry_scan_path_level): Less logging in the normal case.
1467
1468 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
1469
1470         Patch by: Michal Benes <michal dot benes at itonis dot tv>
1471
1472         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1473         Correctly generate EOS for non-seekable files. We don't have a total
1474         length for them and would get an unexpected end of file if we only
1475         special-cased for regular files. (Fixes: #404569)
1476
1477 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
1478
1479         * tests/check/elements/filesrc.c: (GST_START_TEST),
1480         (filesrc_suite):
1481         Add unit test for the GstURIHandler interface in filesrc. This also
1482         tests the newly added file://localhost/foo/bar support.
1483
1484 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1485
1486         * gst/gstelementfactory.h:
1487           The klass string is not a hierarchy. Add reference to the design doc
1488           for more information and common types.
1489
1490 2007-02-02  Wim Taymans  <wim@fluendo.com>
1491
1492         * gst/gstquery.c: (gst_query_new_latency):
1493         Remove old structure field.
1494
1495 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
1496
1497         * tools/gst-launch.1.in:
1498           Give example for network streaming (#351998)
1499
1500 2007-02-02  Wim Taymans  <wim@fluendo.com>
1501
1502         * docs/gst/gstreamer-sections.txt:
1503         Add docs for new methods.
1504
1505         * gst/gstevent.c: (gst_event_new_latency),
1506         (gst_event_parse_latency):
1507         * gst/gstevent.h:
1508         Add new LATENCY event to configure latency in a pipeline.
1509         API: gst_event_new_latency
1510         API: gst_event_parse_latency
1511
1512         * gst/gstmessage.c: (gst_message_new_buffering),
1513         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
1514         (gst_message_new_latency), (gst_message_parse_buffering),
1515         (gst_message_parse_lost_preroll):
1516         * gst/gstmessage.h:
1517         Added messages used in draft-latency.
1518         API: gst_message_new_lost_preroll
1519         API: gst_message_parse_lost_preroll
1520         API: gst_message_new_prerolled
1521         API: gst_message_new_latency
1522
1523         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
1524         (gst_query_parse_latency):
1525         * gst/gstquery.h:
1526         Implemented new latency query as in design doc.
1527         API: gst_query_new_latency
1528         API: gst_query_set_latency
1529         API: gst_query_parse_latency
1530
1531 2007-02-02  Wim Taymans  <wim@fluendo.com>
1532
1533         * docs/design/draft-latency.txt:
1534         Slight redesign to allow for dynamic latency adjustments.
1535
1536         * docs/design/part-negotiation.txt:
1537         Fix some typos.
1538
1539 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
1540
1541         reviewed by: Wim Taymans <wim@fluendo.com>
1542
1543         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1544         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1545         Allow file://localhost/foo/bar URLs and correctly fail for every other
1546         hostname that one sets. This was gnomevfssrc is linked for those if
1547         installed as it can handle it (#403172)
1548
1549 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1550
1551         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1552
1553         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1554         (unref_data), (gst_collect_pads_add_pad_full):
1555         * libs/gst/base/gstcollectpads.h:
1556         Don't put the previously added destroy notify in the GstCollectData
1557         struct as all it's padding is already used and we don't want to break
1558         ABI. Instead put in the pad's GObject data for now. This should be
1559         cleaned up for 0.11 (#402393).
1560
1561 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1562
1563         reviewed by: Wim Taymans <wim@fluendo.com>
1564
1565         * docs/libs/gstreamer-libs-sections.txt:
1566         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1567         (unref_data), (gst_collect_pads_add_pad),
1568         (gst_collect_pads_add_pad_full):
1569         * libs/gst/base/gstcollectpads.h:
1570         API: Add function to specify a destroy notification for custom
1571         GstCollectData when adding new pads in GstCollectPads (#402393).
1572
1573 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
1574
1575         * po/sv.po:
1576           Update Swedish translation (#378255).
1577
1578 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1579
1580         * docs/design/draft-klass.txt:
1581           Fix the previous change, this is a list of categories and not a hierarchy.
1582
1583 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1584
1585         * docs/design/draft-klass.txt:
1586           Add info about how to get a list of used classes.
1587
1588 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
1589
1590         * plugins/elements/gsttypefindelement.c:
1591         (gst_type_find_element_chain_do_typefinding),
1592         (gst_type_find_element_change_state):
1593           Don't leak found caps in chain function (no idea why that never
1594           showed up as a leak anywhere).
1595
1596 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
1597
1598         * gst/gstplugin.h:
1599           Fix and expand GstPluginDesc API docs.
1600
1601 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1602
1603         * gst/gstcaps.c:
1604         * gst/gstelementfactory.c:
1605         * gst/gstpadtemplate.h:
1606           api doc fixes
1607
1608         * libs/gst/controller/gstcontroller.c:
1609         (gst_controlled_property_new):
1610         * tests/examples/controller/audio-example.c:
1611           comment fixes
1612
1613 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1614
1615         * configure.ac:
1616           comment about refining the xml deps
1617
1618         * docs/manuals.mak:
1619           comments about moving away from jade for docs
1620         
1621         * gst/gst.c:
1622           recommit the ifdefs to use the binary registry
1623         
1624         * gst/gstbin.c: (gst_bin_change_state_func):
1625           this break is obsolete
1626
1627         * gst/gstelementfactory.h:
1628           better GST_ELEMENT_DETAILS docs, add comment about translation
1629
1630         * gst/gstinfo.h:
1631           remove eol slash
1632
1633         * gst/gstobject.c: (gst_signal_object_get_type):
1634           add G_UNLIKELY as usual
1635
1636         * gst/gstpad.c: (gst_pad_event_default):
1637           add fall trhu comment
1638
1639         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1640         (gst_registry_binary_initialize_magic),
1641         (gst_registry_binary_save_string),
1642         (gst_registry_binary_save_pad_template),
1643         (gst_registry_binary_save_feature),
1644         (gst_registry_binary_save_plugin),
1645         (gst_registry_binary_write_cache),
1646         (gst_registry_binary_check_magic),
1647         (gst_registry_binary_load_pad_template),
1648         (gst_registry_binary_load_feature),
1649         (gst_registry_binary_load_plugin),
1650         (gst_registry_binary_read_cache):
1651           comment typo and formatting
1652
1653         * gst/gstutils.c: (gst_element_state_get_name),
1654         (gst_element_state_change_return_get_name):
1655           remove obsolete breaks
1656
1657         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1658           add FIXME 0.11 and remove cpp comment
1659
1660 2007-01-29  Edward Hervey  <edward@fluendo.com>
1661
1662         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1663         Fix print statement in an even more portable way.
1664
1665 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
1666
1667         * docs/gst/gstreamer-sections.txt:
1668         * gst/gstutils.h:
1669           API: add GST_ROUND_DOWN_* macros (#401781).
1670
1671 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
1672
1673         * docs/gst/gstreamer.types.in:
1674         * gst/gstregistry.c: (gst_registry_class_init):
1675           Document registry signals and make gtk-doc pick them up (#401381).
1676
1677 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1678
1679         * docs/pwg/building-testapp.xml:
1680           Add some audioconverts and audioresample to the pipeline, and some
1681           more comments and error handling.
1682
1683 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1684
1685         * docs/manual/manual.xml:
1686         * docs/pwg/pwg.xml:
1687           Fix typo (#400987).
1688
1689 2007-01-26  Wim Taymans  <wim@fluendo.com>
1690
1691         * gst/gstcaps.c: (gst_static_caps_get):
1692         Init caps flags too.
1693
1694 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
1695
1696         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
1697
1698         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1699         If not using mmap'ed files try to seek to the end instead of the
1700         start to determine whether we can seek at all. This fixes the case
1701         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
1702         seeks for everything afterwards fail. Fixes #400656
1703
1704 2007-01-25  Wim Taymans  <wim@fluendo.com>
1705
1706         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
1707         Add some refcount debugging.
1708         Make gst_static_caps_get threadsafe, which is needed when autoplugging
1709         in multiple streaming threads.
1710
1711 2007-01-25  Wim Taymans  <wim@fluendo.com>
1712
1713         Patch by: David Schleef <ds at schleef dot org>
1714
1715         * docs/libs/gstreamer-libs-sections.txt:
1716         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
1717         * libs/gst/base/gstadapter.h:
1718         API: gst_adapter_copy() that can reduce the amount of memcpy when
1719         getting data from the adapter. Fixes #388201.
1720
1721 2007-01-25  Edward Hervey  <edward@fluendo.com>
1722
1723         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1724         In print statements, "%x" is for guint. Fixes build on macosx.
1725
1726 2007-01-24  Edward Hervey  <edward@fluendo.com>
1727
1728         * plugins/elements/gstmultiqueue.c:
1729         (gst_multi_queue_loop):
1730         Small fix.
1731         (single_queue_overrun_cb), (single_queue_underrun_cb),
1732         (single_queue_check_full), (gst_single_queue_new):
1733         Implement single queue growth system.
1734         This uses the extra-size properties, and will grow single queues by
1735         that much if one goes full whereas there are others empty. This is
1736         called extra-mode in the code.
1737         When a single queue's levels go back below the initial max-size
1738         limits, it is no longer in extra-mode. This is to ensure we don't
1739         consume too much memory.
1740         Fixes #399875
1741
1742 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
1743
1744         * gst/gst.c: (gst_init_get_option_group):
1745           Make warning about late g_thread_init() calls a bit more explicit,
1746           so that it's more obvious to application developers what they need
1747           to do if a user files a bug against their application.
1748
1749 2007-01-22  Edward Hervey  <edward@fluendo.com>
1750
1751         * plugins/elements/gstmultiqueue.c:
1752         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
1753         Remove previous hack of unsetting the flushing flag for the source pad
1754         instead of activating it. Instead, fix the source pad activate function
1755         so that it no longer depends on having a parent set or not.
1756
1757 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
1758
1759         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
1760
1761         * docs/manual/basics-bus.xml:
1762           Fix example code, gst_element_unref() doesn't exist any longer.
1763
1764 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
1765
1766         Patch by: Mark Nauwelaerts <manauw at skynet be>
1767
1768         * gst/gstpad.c:
1769           Fix two docs typoes (#399094).
1770
1771 2007-01-19  Edward Hervey  <edward@fluendo.com>
1772
1773         * docs/faq/gst-uninstalled:
1774         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
1775         depending on libgstbaseutils can work in uninstalled environment.
1776
1777 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
1778
1779         * gst/gsttaglist.h:
1780         * gst/gsttagsetter.c:
1781         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
1782         statement for new tag.
1783
1784 2007-01-17  Edward Hervey  <edward@fluendo.com>
1785
1786         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
1787         When dynamically creating single queues, activate sinkpad before adding
1788         it.
1789         We should be doing the same thing for the source pad, but we can't
1790         since it would call a method which needs the parent to be set in order
1791         to work propertly. Instead of activating the source pad, we just unset
1792         the flushing flag, which is the minimal requirement for adding a pad
1793         to an element in a state greater than READY.
1794
1795 2007-01-17  Edward Hervey  <edward@fluendo.com>
1796
1797         * docs/faq/gst-uninstalled:
1798         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
1799         Mac OS X.
1800
1801 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1802
1803         * tests/check/gst/gstabi.c:
1804         * tests/check/gst/struct_hppa.h:
1805         * tests/check/libs/libsabi.c:
1806         * tests/check/libs/struct_hppa.h:
1807           Add ABI structs for HPPA (see #393796).
1808
1809 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
1810
1811         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1812           Actually write ABI structs to the file specified in the GST_ABI
1813           environment variable, as the message we print claims we would.
1814
1815 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1816
1817         * tests/check/gst/gsttask.c:
1818           Fix header comment.
1819
1820 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1821
1822         * gst/gsttaglist.c: (_gst_tag_initialize):
1823           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
1824           previous two entries.
1825
1826 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1827
1828         * docs/gst/gstreamer-sections.txt:
1829         * gst/gsttaglist.c: (_gst_tag_initialize):
1830         * gst/gsttaglist.h:
1831           Add tag support for beat-per-minute.
1832
1833 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1834
1835         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1836         (gst_registry_binary_initialize_magic),
1837         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
1838         (gst_registry_binary_save_pad_template),
1839         (gst_registry_binary_save_feature),
1840         (gst_registry_binary_save_plugin),
1841         (gst_registry_binary_write_cache),
1842         (gst_registry_binary_check_magic),
1843         (gst_registry_binary_load_pad_template),
1844         (gst_registry_binary_load_feature),
1845         (gst_registry_binary_load_plugin),
1846         (gst_registry_binary_read_cache):
1847         * gst/gstregistrybinary.h:
1848           Use glib types, cleanup comments, impement interfaces and uri-types.
1849
1850 2007-01-13  Andy Wingo  <wingo@pobox.com>
1851
1852         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
1853         getrange() to return buffers with other caps, while we fix
1854         demuxers and typefind, or otherwise change part-negotiation.txt.
1855
1856 2007-01-12  Andy Wingo  <wingo@pobox.com>
1857
1858         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
1859         Factor start/stop into this private function instead of partially
1860         in activate functions and partially in the change_state function.
1861         Fixes setup before the element has changed from READY->PAUSED, as
1862         is the case in pull-mode pipelines.
1863         (gst_base_transform_sink_activate_push)
1864         (gst_base_transform_src_activate_pull): Refactor to use
1865         gst_base_transform_activate().
1866         (gst_base_transform_change_state): Removed, not needed any more.
1867
1868         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1869         Truncate before fixating.
1870         
1871         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1872         Don't set_caps() if the result of fixating is ANY, as it's not
1873         supported, and not necessary in the case of a link with no
1874         template caps on either side. Fixes tests/check/libs/basesrc in
1875         some pull-mode tests.
1876
1877         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
1878         (gst_base_transform_init, gst_base_transform_sink_activate_push)
1879         (gst_base_transform_src_activate_pull): 
1880         Track the activation mode.
1881         (gst_base_transform_setcaps): In pull mode, when activating the
1882         src pad, after activating the sink pad, activate the sink pad's
1883         peer, as discussed in part-negotiation.txt.
1884
1885         * libs/gst/base/gstbasesrc.h: 
1886         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
1887         vmethod, as in basesink.
1888
1889         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
1890
1891         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
1892         mode, first proxy the setcaps to the peer pad.
1893         (gst_base_sink_pad_fixate): Add a fixate function that calls the
1894         new fixate vmethod.
1895         (gst_base_sink_default_activate_pull): Rename from
1896         gst_base_sink_activate_pull.
1897         (gst_base_sink_negotiate_pull): New function, performs negotiation
1898         in pull mode before calling ::activate_pull().
1899         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
1900         vmethod instead of the default implementation. I have no idea how
1901         this worked before. Negotiate before calling activate_pull.
1902
1903         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
1904         sink pads in pull mode. In addition to being correct, fixes
1905         filesrc ! decodebin ! identity ! fakesink.
1906         (gst_pad_get_range, gst_pad_pull_range): Don't call
1907         gst_pad_set_caps() if the caps changes; instead error out with
1908         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
1909
1910 2007-01-12  Andy Wingo  <wingo@pobox.com>
1911
1912         * docs/design/part-negotiation.txt: Update with more policy.
1913
1914 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1915
1916         * libs/gst/check/gstbufferstraw.h:
1917         * libs/gst/check/gstcheck.h:
1918           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
1919           belongs.
1920
1921 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1922
1923         * tests/check/Makefile.am:
1924         * tests/check/gst/.cvsignore:
1925         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
1926         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
1927         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
1928         (GST_START_TEST), (gst_tag_setter_suite):
1929           Add minimal unit test for beforementioned GstTagSetter bug.
1930
1931 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1932
1933         Patch by: René Stadler <mail at renestadler dot de>
1934
1935         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1936           gst_tag_list_merge() returns a new list, so it's not the best idea
1937           to ingore its return value. Effectively meant that tags could only
1938           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
1939           Also add function guard to require a non-NULL taglist as input (has
1940           always been so due to gst_tag_list_copy(), just making it explicit).
1941
1942 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1943
1944         * docs/random/draft-missing-plugins.txt:
1945           Some additions: mention new API that is supposed to be used at the
1946           various stages; short blob about new gst-inspect introspection
1947           option; mention potential future problem with plugins that have
1948           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
1949
1950 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1951
1952         * tools/gst-inspect.c:
1953         (print_plugin_automatic_install_info_codecs),
1954         (print_plugin_automatic_install_info_protocols),
1955         (print_plugin_automatic_install_info), (main):
1956         Add --print-plugin-auto-install-info option to gst-inspect, so we can
1957         introspect plugin files and get machine-parsable output that corresponds
1958         to the last bit of the missing-plugin installer string (small gotcha:
1959         doesn't take into account ranks).
1960
1961 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
1962
1963         * configure.ac:
1964         * docs/gst/gstreamer-sections.txt:
1965         * gst/Makefile.am:
1966         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
1967         (gst_registry_lookup_locked):
1968         * gst/gstregistry.h:
1969         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1970         (gst_registry_binary_initialize_magic),
1971         (gst_registry_binary_save_string),
1972         (gst_registry_binary_save_pad_template),
1973         (gst_registry_binary_save_feature),
1974         (gst_registry_binary_save_plugin),
1975         (gst_registry_binary_write_cache),
1976         (gst_registry_binary_check_magic),
1977         (gst_registry_binary_load_pad_template),
1978         (gst_registry_binary_load_feature),
1979         (gst_registry_binary_load_plugin),
1980         (gst_registry_binary_read_cache):
1981         * gst/gstregistrybinary.h:
1982         * gst/gstregistryxml.c: (load_feature),
1983         (gst_registry_xml_read_cache):
1984           commit binary registry (disabled by default, see #359653)
1985
1986 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1987
1988         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
1989           Fix 'make check' too.
1990
1991 2007-01-10  Andy Wingo  <wingo@pobox.com>
1992
1993         * docs/design/part-negotiation.txt: Fix a typo, add a couple
1994         notes.
1995         
1996         * docs/design/part-negotiation.txt: Update with, um, one way that
1997         pull-mode negotiation might work?
1998
1999         * gst/gstpad.h: 
2000         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
2001         that the pad must be a src pad; makes sense to call it the other
2002         way in pull mode, and the logic is symmetric anyway.
2003
2004 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
2005
2006         * plugins/elements/gstfilesink.c:
2007           Include <stdio.h> for fseeko().
2008
2009 2007-01-10  Wim Taymans  <wim@fluendo.com>
2010
2011         * gst/gstevent.c:
2012         * gst/gstevent.h:
2013         Reserve LATENCY event.
2014
2015 2007-01-09  Wim Taymans  <wim@fluendo.com>
2016
2017         * docs/design/draft-latency.txt:
2018         Updates.
2019
2020 2007-01-09  Wim Taymans  <wim@fluendo.com>
2021
2022         * docs/design/draft-latency.txt:
2023         Updates.
2024
2025         * gst/gstelement.h:
2026         * gst/gststructure.c:
2027         * gst/gsttrace.c:
2028         Small typo fixes.
2029
2030 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
2031
2032         * tests/check/.cvsignore:
2033           Ignore test-registry.xml as well.
2034
2035 2007-01-09  Wim Taymans  <wim@fluendo.com>
2036
2037         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
2038         unref data at the end when we are done with the pad.
2039
2040 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
2041
2042         * docs/gst/gstreamer-sections.txt:
2043         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
2044         (init_post), (gst_deinit), (gst_update_registry):
2045         * gst/gst.h:
2046           API: add gst_update_registry() (#391296).
2047
2048         * tests/check/Makefile.am:
2049         * tests/check/gst/gstregistry.c:
2050         * tests/check/gst/.cvsignore:
2051           Simple unit test for the above.
2052
2053 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
2054
2055         * gst/gstregistry.c: (gst_registry_scan_path_level):
2056           Plugin extension on HP-UX is .sl, add that to the list of approved
2057           plugin extensions (see #393796).
2058
2059         * tests/check/gst/gstpad.c: (GST_START_TEST):
2060           ulong => gulong. Fixes compilation with HP-UX compiler.
2061
2062         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
2063           Fix compilation if valgrind headers are not available.
2064
2065 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
2066
2067         * win32/common/libgstreamer.def: 
2068           Add new exported function.
2069         * win32/vs6/libgstbase.dsp: 
2070           Add gstdataqueue.c to the build.
2071         * win32/vs6/libgstcoreelements.dsp:
2072           Add gstmultiqueue.c to the build.
2073         
2074 2007-01-06  Andy Wingo  <wingo@pobox.com>
2075
2076         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
2077         activate_pull(), providing for a way to specialize the process of
2078         spawning a thread to pull on the sink pad. There is a default
2079         implementation.
2080
2081         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
2082         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
2083         (gst_base_sink_init): Renamed pad activation functions (inserting
2084         "_pad" in their names). Refactor to use the new activate_pull
2085         vmethod, as appropriate.
2086         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
2087         default activate_pull function to start a task pulling from the
2088         sink pad, as before.
2089
2090         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
2091         on the pads if necessary, as in push()/chain(). Update docs.
2092         Shouldn't affect existing pull() usage as it is currently only
2093         being used on buffers without caps.
2094
2095 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2096
2097         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
2098         (init_pre):
2099           Call g_thread_init() first thing in gst_init() / gst_check_init().
2100           When initialisation is done via gst_init_get_option_group() and
2101           GOption parsing, issue a warning if the GLib thread system has not
2102           been initialised yet by the time gst_init_get_option_group() is
2103           called, as it's quite likely other GLib functions such as
2104           g_option_context_new() have been called already then, and
2105           g_thread_init() must be called before any other GLib function. The
2106           application in question must be fixed in that case, since memory
2107           corruption might happen otherwise.
2108           We issue the warning because even if the GLib folks decide to work
2109           around the problem on their end in future, this is still an issue
2110           with all GLib versions >= 2.10.0, so we should warn until we depend
2111           on a GLib version we know to be safe.
2112           Update documentation as well.
2113           Closes bug #391278.
2114
2115 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2116
2117         * tools/gst-inspect.c: (main):
2118         * tools/gst-launch.c: (main):
2119         * tools/gst-typefind.c: (main):
2120         * tools/gst-xmlinspect.c: (main):
2121           Call g_thread_init() really really early, before any other GLib
2122           function (see #342564 and recent discussion on gtk-devel-list).
2123
2124 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2125
2126         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
2127
2128         * gst/gst_private.h:
2129         * gst/gstconfig.h.in:
2130         * gst/gstinfo.h:
2131           On win32, all the __declspec stuff for symbol exporting is
2132           apparently only needed with MSVC, but doesn't work with MingW.
2133           Fixes compilation with MingW and #391909.
2134
2135 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
2136
2137         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
2138           Change some GST_ERROR_OBJECT that aren't really errors to
2139           GST_WARNING_OBJECT in order to reduce terminal spam.
2140
2141 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
2142
2143         * tests/check/Makefile.am:
2144           disable test again, as there seem to be still race problems
2145
2146 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
2147
2148         * tests/check/Makefile.am:
2149         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2150         (GST_START_TEST), (queue_suite):
2151           enable queue test again, add tests for the leaky behaviour
2152
2153 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
2154
2155         * configure.ac:
2156         * tests/examples/Makefile.am:
2157           Compile adapter test/example only if the required headers are
2158           available (fixes #391915).
2159
2160 2007-01-01  David Schleef  <ds@schleef.org>
2161
2162         * gst/gstplugin.c:
2163           Restore the previous signal handler for SIGSEGV instead of
2164           setting to default, since we may have stolen it away from
2165           someone.  (i.e., Mono)
2166
2167 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
2168
2169         * docs/random/draft-missing-plugins.txt:
2170           Some small additions and clarifications.
2171
2172 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
2173
2174         * gst/gstregistryxml.c: (gst_registry_save_escaped):
2175           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
2176           since that can lead to random memory corruptions and crashes
2177           (may or may not be related to #383244, #386711, and #386711).
2178
2179 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2180
2181         * tests/check/.cvsignore:
2182         * tests/check/Makefile.am:
2183           sync .cvsignome and CLEANFILES
2184
2185 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2186
2187         * tests/check/Makefile.am:
2188           fix distcheck
2189
2190 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2191
2192         * docs/design/part-states.txt:
2193           two tiny additional comments
2194         
2195         * gst/gststructure.c:
2196           doc fixing
2197
2198         * tests/check/Makefile.am:
2199         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2200         (GST_START_TEST):
2201           disable test for now, unless it gets fixed
2202
2203 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2204
2205         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2206         (GST_START_TEST):
2207           fix race in underrun test
2208
2209 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2210
2211         * tests/check/elements/.cvsignore:
2212           ignore more
2213
2214         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2215         (GST_START_TEST):
2216           try to narrow test failure
2217
2218 2006-12-21  David Schleef  <ds@schleef.org>
2219
2220         * plugins/elements/gstfakesrc.c:
2221           Use g_random_int_range(), since it produces better random
2222           numbers in a range than almost-correct floating point code.
2223
2224 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2225
2226         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2227         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2228         (gst_check_teardown_sink_pad):
2229           do not automatically (de)activate pads
2230
2231         * tests/check/Makefile.am:
2232         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2233         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
2234           add new, yet simple tests for queue
2235
2236         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
2237         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
2238         * tests/check/elements/filesrc.c: (cleanup_filesrc),
2239         (GST_START_TEST):
2240         * tests/check/elements/identity.c: (cleanup_identity):
2241           consistent pad (de)activation
2242
2243 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
2244
2245         Patch by: Sebastian Dröge  <slomo ubuntu com>
2246
2247         * libs/gst/base/gstcollectpads.c:
2248           Fix two doc typos (#387866).
2249
2250 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
2251
2252         * docs/manual/advanced-dparams.xml:
2253           Fix typo (g_object_control_properties() doesn't exist).
2254
2255 2006-12-19  Edward Hervey  <edward@fluendo.com>
2256
2257         * gst/gstsegment.c: (gst_segment_set_seek):
2258         Fine tune the cases where the segment start/stop values are really
2259         updated.
2260         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2261         Add tests for the return values of gst_segment_set_seek().
2262
2263 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
2264
2265         * gst/gst.c:
2266           Docs typo fix.
2267
2268         * plugins/elements/gstqueue.c: (gst_queue_class_init),
2269         (gst_queue_init):
2270           Fix incorrect documentation and flesh it out a bit more.
2271           Set default values for the max properties on the GParamSpec as well,
2272           so it shows up correctly in gst-inspect.
2273
2274 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
2275
2276         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
2277           Correct docs of queue, add more detail and crosslink it more.
2278
2279 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2280
2281         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2282           Print additional debug info when the stream isn't perfectly
2283           timestamped; don't try to use invalid durations.
2284
2285 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2286
2287         * docs/design/Makefile.am:
2288           Dist new design docs.
2289
2290 2006-12-16  Wim Taymans  <wim@fluendo.com>
2291
2292         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2293
2294         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
2295         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2296         (gst_collect_pads_stop), (gst_collect_pads_event),
2297         (gst_collect_pads_chain):
2298         * libs/gst/base/gstcollectpads.h:
2299         Add refcounting to the collectpads data so we can track when it's safe
2300         to free the data. Fixes #383382.
2301
2302 2006-12-15  Wim Taymans  <wim@fluendo.com>
2303
2304         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2305         (gst_collect_pads_remove_pad):
2306         Automatically activate/deactivate pads when they are added to a
2307         started/stoped collectpads.
2308
2309 2006-12-15  Wim Taymans  <wim@fluendo.com>
2310
2311         * gst/gstelement.c: (gst_element_add_pad):
2312         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
2313         * gst/gstpad.c: (gst_pad_init):
2314         Set pads to FLUSHING when they are created. Check, warn and fix when a
2315         demuxer adds an inactive pad to itself when running. Fixes #339326.
2316
2317 2006-12-15  Wim Taymans  <wim@fluendo.com>
2318
2319         * gst/gstelement.c: (gst_element_class_init),
2320         (gst_element_default_send_event), (gst_element_send_event),
2321         (gst_element_default_query), (gst_element_query):
2322         Expose default element send_event and query handling as vmethods that
2323         subclasses can chain up to.
2324
2325 2006-12-15  Wim Taymans  <wim@fluendo.com>
2326
2327         * gst/gstelement.c: (gst_element_set_state_func):
2328         Small documentation fixes.
2329
2330 2006-12-15  Wim Taymans  <wim@fluendo.com>
2331
2332         * docs/design/draft-latency.txt:
2333         Checked in draft for handling latency in pipelines.
2334
2335 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2336
2337         * Makefile.am:
2338         * gstreamer.doap:
2339         * gstreamer.spec.in:
2340           adding .doap file
2341
2342 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
2343
2344         * gst/gst.c: (init_pre), (init_post):
2345           init_pre() and init_post() might be called via our GOptionGroup or
2346           from gst_init(), and we should skip both of them if we've already
2347           been initialised, otherwise we will init some things twice or add
2348           two default log functions.
2349
2350 2006-12-13  Edward Hervey  <edward@fluendo.com>
2351
2352         * docs/manual/basics-bus.xml:
2353         No, gst_main_loop does not exist. Its g_main_loop.
2354         Discovered by somebody who abused the copy-paste technique of coding :)
2355
2356 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
2357
2358         * gst/gstghostpad.c:
2359           Log ghostpad debug stuff to the GST_PADS category as well rather
2360           than just to the default category.
2361
2362 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2363
2364         * configure.ac:
2365         * gst/gst.c: (init_pre):
2366           Add some basic system details such as OS and architecture
2367           to the debug output if possible, courtesy of uname().
2368
2369 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2370
2371         * docs/gst/running.xml:
2372           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
2373           environment variables.
2374
2375 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
2376
2377         * tests/check/gst/gstbin.c: (GST_START_TEST):
2378         It is acceptable to have a refcount of 2 or 3 at this point in the
2379         test, because the pipeline might be just posting its state_change
2380         message. The next line then waits for that message to appear using
2381         bus_poll, so that should be fine too.
2382
2383 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
2384
2385         * gst/gst.c: (ensure_current_registry_forking):
2386         Ignore EINTR when reading from the child registry pipe.
2387         Explicitly ignore the return value from close, since it makes no
2388         difference.
2389
2390         * gst/gstminiobject.c: (gst_mini_object_ref),
2391         (gst_mini_object_unref):
2392         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
2393
2394         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
2395         When removing cached plugins, remove their features too, so they're
2396         not visible after they've disappeared.
2397
2398         * gst/gstutils.c: (prepare_link_maybe_ghosting):
2399         In the unlikely case that we are linking pads with no parents, don't
2400         crash trying to get the non-existent parent bin.
2401
2402         * gst/parse/grammar.y:
2403         Output debug in the PIPELINE category
2404
2405 2005-03-08  Wim Taymans  <wim@fluendo.com>
2406
2407         Patch by: René Stadler <mail at renestadler dot de>
2408
2409         * gst/gstclock.c: (gst_clock_new_periodic_id):
2410         Reject invalid clock times for interval of periodic ids.
2411         Fixes ##383506.
2412
2413 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
2414
2415         * gst/gstelementfactory.c: (gst_element_factory_create):
2416         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2417         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
2418         * tools/gst-inspect.c: (print_element_info):
2419         Fix refcounting of gst_plugin_feature_load to match the docs. 
2420         Fixes: #380129
2421
2422 2006-12-07  Wim Taymans  <wim@fluendo.com>
2423
2424         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
2425         (gst_base_sink_get_position):
2426         Improve debugging of events.
2427
2428 2006-12-07  Wim Taymans  <wim@fluendo.com>
2429
2430         Patch by: René Stadler <mail at renestadler dot de>
2431
2432         * gst/gstclock.c: (gst_clock_id_wait):
2433         Make period ids add the interval to the origial requested time instead
2434         of the possibly updated time which can be wrong when there are multiple
2435         waiters for the same id. Fixes #382592.
2436
2437         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
2438         (gst_system_clock_id_wait_jitter_unlocked),
2439         (gst_system_clock_id_wait_jitter):
2440         Fix restart in the async notify thread when an async entry is added to
2441         the front of the list. Fixes #381492. 
2442
2443         * tests/check/gst/gstsystemclock.c: (store_callback),
2444         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
2445         Added test for multiple async waits.
2446         Added test for async wait order.
2447
2448 2006-12-07  Wim Taymans  <wim@fluendo.com>
2449
2450         * gst/gstbin.c: (gst_bin_query):
2451         Add some more docs about the POSITION query.
2452
2453 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
2454
2455         * configure.ac:
2456         Bump version nano - back to CVS.
2457
2458 === release 0.10.11 ===
2459
2460 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
2461
2462         * configure.ac:
2463           releasing 0.10.11, "Love never runs on time"
2464
2465 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
2466
2467         * win32/common/libgstbase.def:
2468         * win32/common/libgstreamer.def:
2469         * win32/vs8/libgstbase.vcproj:
2470         * win32/vs8/libgstcoreelements.vcproj:
2471         * win32/vs8/libgstreamer.vcproj:
2472         Fix compilation on win32 under VS8
2473         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2474         Partially fixes #381175
2475
2476 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2477
2478         * gst/gstvalue.c: (gst_value_compare_fraction):
2479         If someone is foolish enough to compare 2 fractions with denominator =
2480         0, return UNORDERED rather than aborting.
2481
2482 2006-11-28  Edward Hervey  <edward@fluendo.com>
2483
2484         * libs/gst/base/Makefile.am:
2485         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
2486         (gst_data_queue_base_init), (gst_data_queue_class_init),
2487         (gst_data_queue_init), (gst_data_queue_new),
2488         (gst_data_queue_cleanup), (gst_data_queue_finalize),
2489         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
2490         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
2491         (gst_data_queue_is_empty), (gst_data_queue_is_full),
2492         (gst_data_queue_set_flushing), (gst_data_queue_push),
2493         (gst_data_queue_pop), (gst_data_queue_drop_head),
2494         (gst_data_queue_set_property), (gst_data_queue_get_property):
2495         * libs/gst/base/gstdataqueue.h:
2496         New GstDataQueue object for threadsafe queueing. Most useful for
2497         elements that need some queueing functionnality.
2498         * docs/libs/gstreamer-libs-docs.sgml:
2499         * docs/libs/gstreamer-libs-sections.txt:
2500         Insert documentation for GstDataQueue
2501         * plugins/elements/Makefile.am:
2502         * plugins/elements/gstelements.c:
2503         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2504         (gst_multi_queue_class_init), (gst_multi_queue_init),
2505         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2506         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
2507         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
2508         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2509         (gst_multi_queue_loop), (gst_multi_queue_chain),
2510         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2511         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
2512         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
2513         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
2514         (wake_up_next_non_linked), (compute_next_non_linked),
2515         (single_queue_overrun_cb), (single_queue_underrun_cb),
2516         (single_queue_check_full), (gst_single_queue_new):
2517         * plugins/elements/gstmultiqueue.h:
2518         New multiqueue element, using GstDataQueue. Used for queuing multiple
2519         streams.
2520         Closes #344639 and #347785
2521
2522 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
2523
2524         * docs/pwg/advanced-types.xml:
2525           add more missing type details
2526
2527         * tools/gst-run.c: (main):
2528           remove unused variable
2529
2530 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
2531
2532         * docs/libs/Makefile.am:
2533         * docs/libs/gstreamer-libs.types:
2534           add types of base classes to enable gobject specific stuff in the docs
2535
2536         * docs/random/ensonic/embedded.txt:
2537           more ideas about isolating platform specific things
2538
2539 2006-11-20  Wim Taymans  <wim@fluendo.com>
2540
2541         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
2542
2543         * libs/gst/check/gstcheck.h:
2544         Fix compilation and running against 0.9.4. Fixes #377332.
2545
2546 2006-11-20  Wim Taymans  <wim@fluendo.com>
2547
2548         * gst/gstsegment.c: (gst_segment_set_seek),
2549         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2550         (gst_segment_to_running_time):
2551         Fix boundary checking in to_running_time() and to_stream_time().
2552         Fixes #377183.
2553
2554         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2555         stream and running time can now be calculated for the complete
2556         clipped segment.
2557
2558 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
2559
2560         * gst/gstpad.c: (gst_pad_push_event):
2561           Can't access event structure after giving away ownership of
2562           the event.
2563
2564 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
2565
2566         * docs/random/ensonic/embedded.txt:
2567         * docs/random/ensonic/profiling.txt:
2568         * docs/random/ensonic/receipies.txt:
2569           more thinking
2570
2571 2006-11-13  Wim Taymans  <wim@fluendo.com>
2572
2573         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2574
2575         * gst/gstpad.c:
2576         Fix documentation for gst_pad_dispatcher. Fixes #374475.
2577
2578 2006-11-13  Wim Taymans  <wim@fluendo.com>
2579
2580         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
2581
2582         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
2583         Store new length in segment duration so we don't keep on calling the
2584         potentially expensize get_size() call. Fixes #370865.
2585
2586 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
2587
2588         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
2589
2590         * win32/common/libgstreamer.def:
2591           Add two missing symbols (#366492).
2592
2593 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
2594
2595         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
2596         (gst_adapter_take_buffer):
2597         Fix format string to use all its arguments.
2598         Remove useless >= check on a guint
2599
2600 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2601
2602         * tests/examples/adapter/.cvsignore:
2603         Ignore build file as commanded by the build-bot
2604
2605 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2606
2607         * tests/examples/adapter/Makefile.am:
2608         * tests/examples/adapter/adapter_test.c: (run_test_take),
2609         (run_test_take_buffer), (run_tests), (main):
2610
2611         Add new files from the previous commit
2612
2613 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2614
2615         * Makefile.am:
2616         * configure.ac:
2617         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
2618         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
2619         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
2620         * libs/gst/base/gstadapter.h:
2621         * tests/check/libs/adapter.c: (create_and_fill_adapter),
2622         (GST_START_TEST), (gst_adapter_suite):
2623         * tests/examples/Makefile.am:
2624         Do some optimisation work in GstAdapter to avoid copies in more cases.
2625         It could still do slightly better by merging buffers when
2626         gst_buffer_is_span_fast is true, but is already faster. 
2627
2628         Also, avoid traversing a single-linked list to append each incoming 
2629         buffer inside the adapter.
2630
2631         Add simple test app that times the adapter behaviour in different
2632         situations, and extend the unit test to check that bytes enter and
2633         exit the adapter in their original order.
2634
2635 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2636
2637         * docs/random/draft-missing-plugins.txt:
2638           Update: use element message instead of adding a new message
2639           type to the core; don't provide GStreamer API to initiate the
2640           plugin download, just provide API to compose the strings needed
2641           and let an external libgimmestuff handle the rest.
2642
2643 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
2644
2645         * tools/gst-inspect.c: (print_element_properties_info):
2646         Print a string instead of 'unknown type' for GValueArray properties
2647
2648 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
2649
2650         * docs/random/draft-missing-plugins.txt:
2651         More small fixes.
2652
2653 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2654
2655         * tests/examples/typefind/typefind.c: (type_found), (main):
2656           Make typefind element example work again (#371894); add a
2657           license header.
2658
2659 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2660
2661         * docs/random/draft-missing-plugins.txt:
2662           Commit initial draft about how to deal with missing plugins,
2663           needs work (API too).
2664
2665 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
2666
2667         * docs/pwg/advanced-types.xml:
2668           documents the new caps elements (see #363118)
2669
2670 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2671
2672         * gst/gstplugin.c: (gst_plugin_load_file):
2673         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
2674         (gst_file_src_map_region), (gst_file_src_start):
2675         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
2676         (gst_file_index_commit):
2677           Use g_strerror() instead of strerror() - we want UTF-8.
2678
2679 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2680
2681         Patch by: Peter Kjellerstedt <pkj at axis com>
2682
2683         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2684           Another printf fix (#371493).
2685
2686 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2687
2688         * tests/check/gst/gsttag.c:
2689           relicence (okay with author=company)
2690
2691 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2692
2693         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2694         (gst_pad_push_event):
2695           Enhance debug and improve docs
2696         
2697         * gst/gsturi.c:
2698           Fix docs
2699
2700 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2701
2702         * docs/random/ensonic/distributed.txt:
2703         * docs/random/ensonic/profiling.txt:
2704           more ideas
2705
2706 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2707
2708         * docs/gst/gstreamer-sections.txt:
2709           add new API and fix the build
2710           
2711         * gst/gstbin.c: (gst_bin_recalc_state):
2712         * gst/gstelement.c: (gst_element_message_full),
2713         (gst_element_get_state_func), (gst_element_set_state_func):
2714           use new API and improve logging
2715         
2716         * gst/gstutils.c: (gst_element_state_change_return_get_name):
2717         * gst/gstutils.h:
2718           API: add function to get StateChangereturn names to improve logs 
2719
2720 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2721
2722         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2723           I'm considering shooting the next person to put strerror stuff
2724           in the translateable part of the message.
2725
2726 2006-11-03  Wim Taymans  <wim@fluendo.com>
2727
2728         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2729         Get the type and printf conversion specifiers right.
2730
2731 2006-11-03  Wim Taymans  <wim@fluendo.com>
2732
2733         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2734
2735         * gst/gstpad.c: (gst_pad_init), (pre_activate),
2736         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
2737         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
2738         Some small cleanups. Improve debugging.
2739         * gst/gstpad.h:
2740         Signal all waiting threads with a broadcast instead of just one.
2741         Fixes #369942.
2742
2743 2006-11-03  Wim Taymans  <wim@fluendo.com>
2744
2745         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2746         (gst_fd_src_create):
2747         Add some debugging. 
2748         Only update fd when it's different from the old.
2749
2750 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2751
2752         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
2753           Printf fixes for PPC/OSX, take two (#369366).
2754
2755 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2756
2757         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
2758
2759         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2760         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2761         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2762           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
2763           don't cast to long long for portability reasons, but use
2764           GLib's types instead.
2765
2766 2006-10-30  Michael Smith  <msmith@fluendo.com>
2767
2768         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2769           Get the arguments to lseek() the right way around.
2770           Fixes 367677.
2771
2772 2006-10-30  Wim Taymans  <wim@fluendo.com>
2773
2774         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
2775
2776         * gst/gstinfo.h:
2777         _declspec should be __declspec (two underscores, not one). Fixes 366572.
2778
2779 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2780
2781         Patch by: Kjartan Maraas  <kmaraas at gnome org>
2782
2783         * docs/design/part-MT-refcounting.txt:
2784         * docs/random/wtay/capsnego2-docs:
2785         * gst/gstclock.c:
2786         * gst/gstxml.c:
2787           Typo fixes (#366212).
2788
2789 2006-10-28  Wim Taymans  <wim@fluendo.com>
2790
2791         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2792
2793         * gst/gst.c:
2794         * win32/common/libgstbase.def:
2795         * win32/common/libgstreamer.def:
2796         * win32/vs8/libgstbase.vcproj:
2797         * win32/vs8/libgstcontroller.vcproj:
2798         Add needed entries in .def files.
2799         Use HAVE_UNISTD_H.
2800         Rearrange def files in vs8 solutions. Fixes #366286.
2801
2802 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2803
2804         * win32/common/gstconfig.h:
2805           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
2806           hand-made win32 gstconfig.h. Fixes #366321.
2807
2808 2006-10-27  Wim Taymans  <wim@fluendo.com>
2809
2810         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
2811         (gst_ghost_pad_new_full):
2812         Make acceptcaps return TRUE when we don't have a target, just like
2813         setcaps does.
2814
2815 2006-10-27  Wim Taymans  <wim@fluendo.com>
2816
2817         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2818         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
2819
2820 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
2821
2822         * gst/gststructure.c: (gst_structure_id_set_value):
2823           If someone tries to set a non-UTF8 string field on a structure,
2824           don't just print a warning, but also ignore the request and do
2825           not change/add that field to the structure.
2826
2827         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2828           Test for the above.
2829
2830 2006-10-25  David Schleef  <ds@schleef.org>
2831
2832         * gst/gstinfo.c:
2833           g_hash_table_insert() needs a cast to a non-const pointer duh.
2834
2835 2006-10-25  David Schleef  <ds@schleef.org>
2836
2837         * gst/gstinfo.c:
2838         * gst/gstinfo.h:
2839           Change name parameter of _gst_debug_register_funcptr to const
2840           to reflect the constness of its use in the function as well
2841           as to quiet a gcc warning.
2842
2843 2006-10-25  Edward Hervey  <edward@fluendo.com>
2844
2845         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2846         Don't push the buffer if it's empty.
2847         Closes #363095
2848
2849 2006-10-24  Wim Taymans  <wim@fluendo.com>
2850
2851         * gst/gstevent.h:
2852         Add small comment.
2853
2854         * libs/gst/base/gstbasetransform.c:
2855         (gst_base_transform_sink_eventfunc):
2856         Debug segment values *after* updating them as this is more
2857         interesting.
2858
2859 2006-10-23  Wim Taymans  <wim@fluendo.com>
2860
2861         * docs/design/part-events.txt:
2862         Update some docs.
2863
2864         * docs/design/part-block.txt:
2865         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2866         (gst_pad_push_event):
2867         Revert BLOCKING patch, it tries to be smart without really having a
2868         clear idea what or how. So, now we discard all FLUSHING events again on
2869         a blocking pad. Should fix gnonlin again.
2870
2871 2006-10-23  Wim Taymans  <wim@fluendo.com>
2872
2873         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2874
2875         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2876         (gst_base_src_start), (gst_base_src_activate_push):
2877         Make sure size is always initialized. Fixes #364388.
2878
2879 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
2880
2881         * docs/random/ensonic/distributed.txt:
2882           add some ideas about doing distributed processing
2883
2884         * docs/random/ensonic/profiling.txt:
2885           get_rusage look promising
2886
2887 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2888
2889         * docs/manual/basics-helloworld.xml:
2890           Add a cast in example to fix compile warning
2891
2892 2006-10-18  Wim Taymans  <wim@fluendo.com>
2893
2894         * gst/gstsegment.c: (gst_segment_set_last_stop),
2895         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2896         Relax arg checking again, -1 is allowed.
2897
2898 2006-10-18  Wim Taymans  <wim@fluendo.com>
2899
2900         * gst/gstsegment.c: (gst_segment_set_last_stop),
2901         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2902         _set_last_stop() must be with a value != -1
2903         A _TYPE_SET to -1 means seek to 0.
2904         Calc last_stop correctly for negative rates.
2905         Make sure we work with positive durations when updating a segment.
2906
2907 2006-10-18  Wim Taymans  <wim@fluendo.com>
2908
2909         * docs/design/part-live-source.txt:
2910         * gst/gstclock.h:
2911         Small docs fixes.
2912
2913 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
2914
2915         * gst/gstbuffer.h:
2916           Add an explicit cast to GstBuffer** to keep old code that added an
2917           explicit cast to GstMiniObject** for gst_mini_object_replace()
2918           compiling without warning.
2919
2920 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2921
2922         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
2923           check for validity of dates
2924
2925 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2926
2927         * docs/gst/gstreamer-sections.txt:
2928           Forgot this one, makes gtk-doc shut up.
2929
2930 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2931
2932         Patch by: Peter Kjellerstedt <pkj at axis com>
2933
2934         * gst/gstobject.h:
2935           Don't define xmlNodePtr to gpointer if the core was built with
2936           --disable-loadsave and --disable-registry, this will break
2937           applications that want to use libxml2 but are buildling against a
2938           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
2939           instead so we don't have to mess with the libxml2 namespace
2940           (#361675).
2941
2942 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2943
2944         * gst/gstbuffer.h:
2945           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
2946           type-punned pointer warnings.
2947
2948 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2949
2950         * gst/gstelement.h:
2951           Add casts to the correct return type to state <=> state transition
2952           macros.
2953
2954 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
2955
2956         * docs/design/part-live-source.txt:
2957           describe howto handle latency
2958         
2959         * docs/random/ensonic/profiling.txt:
2960           more ideas
2961
2962         * tools/gst-plot-timeline.py:
2963           fix log parsing for solaris, remove unused function
2964
2965 2006-10-16  Wim Taymans  <wim@fluendo.com>
2966
2967         * docs/design/part-trickmodes.txt:
2968         * gst/gstevent.c:
2969         Update some docs regarding reverse playback.
2970
2971 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2972
2973         Patch by: Marcus Granado  <mrc dot gran at gmail com>
2974
2975         * win32/vs8/grammar.vcproj:
2976           Error out with a warning if glib-genmarshal.exe is not in path,
2977           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
2978
2979 2006-10-13  Wim Taymans  <wim@fluendo.com>
2980
2981         * gst/gstsegment.c: (gst_segment_set_seek):
2982         When seeking to stop -1, set last_stop (current position) to the
2983         duration of the segment.
2984
2985 2006-10-13  Wim Taymans  <wim@fluendo.com>
2986
2987         * gst/gstelement.h:
2988         Clarify _NO_PREROLL a bit more.
2989
2990         * gst/gstevent.c:
2991         Fix docs.
2992
2993         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
2994         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
2995         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
2996         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
2997         due to wrong locking order. Fixes #361769.
2998         Remove some redundant/misplaced checks in pad_block.
2999
3000         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
3001         For negative rates, count backwards from the duration.
3002
3003 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
3004
3005         * gst/gsterror.c: (_gst_library_errors_init):
3006           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
3007           up with something better).
3008
3009 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
3010
3011         * win32/vs6/libgstreamer.dsp:
3012         * win32/vs7/libgstreamer.vcproj:
3013         * win32/vs8/libgstreamer.vcproj:
3014           Don't reference glib-compat.c which is currently not used and not
3015           disted; add gstquark.c which was recently added. Fixes #361730.
3016
3017 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
3018
3019         * win32/common/libgstbase.def:
3020         * win32/common/libgstcontroller.def:
3021         * win32/common/libgstreamer.def:
3022           Add gst_caps_merge() and a bunch of other recently-added functions.
3023           Fixes #361732.
3024
3025 2006-10-11  Wim Taymans  <wim@fluendo.com>
3026
3027         * docs/plugins/gstreamer-plugins.args:
3028         * docs/plugins/inspect/plugin-coreelements.xml:
3029         * docs/plugins/inspect/plugin-coreindexers.xml:
3030         Update element args.
3031
3032         * gst/gstsystemclock.c:
3033         Small comment update.
3034
3035         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
3036         (gst_tee_request_new_pad), (gst_tee_release_pad),
3037         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
3038         (gst_tee_sink_activate_pull):
3039         * plugins/elements/gsttee.h:
3040         Some tee loving:
3041         Add default property defines.
3042         Implement release pad function.
3043         Give properties better blubs etc.
3044         Activate pads before adding them to a running tee.
3045         Do simple buffer_alloc on the first requested pad.
3046         Post error when activation fails.
3047
3048 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
3049
3050         * gst/gst.c: (ensure_current_registry_forking):
3051           Check return value of write() to make compiler happy.
3052
3053 2006-10-11  Wim Taymans  <wim@fluendo.com>
3054
3055         Patch by: Sjoerd Simons <sjoerd at luon dot net>
3056
3057         * plugins/elements/gstqueue.c: (gst_queue_chain):
3058         Recheck queue filledness after signalling the overrun when we're about
3059         to leak downstream because we released the lock when emitting the signal
3060         and the queue could be empty again. Fixes #352345.
3061
3062 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
3063
3064         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
3065           Fix refcounting here too, just like we did for _new_valist() a few
3066           days ago (#357180) (thanks to René Stadler). Also remove all those
3067           'Since: 0.9' from the gtk-doc blobs.
3068
3069         * tests/check/libs/controller.c: (controller_refcount_new_list),
3070         (gst_controller_suite):
3071           Unit test for the above.
3072
3073 2006-10-10  Wim Taymans  <wim@fluendo.com>
3074
3075         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
3076
3077         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
3078         (gst_pad_save_thyself):
3079         Update some docs.
3080         Write pad direction in XML output. Fixes #345496.
3081
3082 2006-10-10  Wim Taymans  <wim@fluendo.com>
3083
3084         Patch by: René Stadler <mail at renestadler dot de>
3085
3086         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3087         (gst_controller_new_list), (_gst_controller_dispose),
3088         (_gst_controller_finalize), (_gst_controller_class_init):
3089         Take ref to controlled object so that it cannot disappear. 
3090         Fixes #357432.
3091
3092 2006-10-10  Wim Taymans  <wim@fluendo.com>
3093
3094         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
3095         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
3096         (gst_check_teardown_sink_pad):
3097         Activate/deactivate pads in setup/teardown respectively.
3098
3099 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3100
3101         Patch by: Josep Torre Valles <josep@fluendo.com>
3102
3103         * gst/Makefile.am:
3104         Cast values when making gstenumtypes.h.  This pacifies Forte
3105         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
3106         in the enumeration.
3107
3108 2006-10-09  Wim Taymans  <wim@fluendo.com>
3109
3110         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
3111         Rename some more @cur to @start to fix docs. 
3112
3113         * gst/gstsegment.c: (gst_segment_set_seek):
3114         Fix typo.
3115         time and start must always stay in sync as defined in design doc.
3116
3117         * gst/gsttaglist.c: (gst_tag_list_is_empty):
3118         Rename param to fix docs.
3119
3120         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3121         Check that start and time are in sync.
3122
3123         * tests/check/pipelines/parse-launch.c:
3124         (gst_parse_test_element_change_state):
3125         Activate pad before adding to the element.
3126
3127 2006-10-09  Wim Taymans  <wim@fluendo.com>
3128
3129         * docs/design/part-qos.txt:
3130         Fix typo.
3131
3132         * gst/gstevent.c:
3133         * gst/gstevent.h:
3134         Update seek event docs regarding negative rates.
3135         Rename @cur to @start. 
3136
3137         * gst/gstsegment.c: (gst_segment_set_seek):
3138         * gst/gstsegment.h:
3139         Update set_seek docs regarding negative rates.
3140         Correctly update last_stop to @stop when dealing with negative
3141         rates.
3142         Rename @cur to @start. 
3143
3144         * tests/check/gst/gstpad.c: (GST_START_TEST):
3145         Activate pads before trying to use them.
3146
3147         * tests/check/gst/gstsegment.c: (GST_START_TEST),
3148         (gst_segment_suite):
3149         Add simple check for segments and negative rates.
3150
3151 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
3152
3153         * gst/gsttaglist.c: (gst_tag_list_is_empty):
3154         * gst/gsttaglist.h:
3155         * docs/gst/gstreamer-sections.txt:
3156           API: add gst_tag_list_is_empty() (#360467).
3157
3158         * tests/check/gst/gsttag.c: (GST_START_TEST):
3159           And a test case.
3160
3161 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3162
3163         * gst/gstmessage.h:
3164         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
3165         a value that doesn't fit on enumeration.
3166
3167 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3168
3169         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3170         Remove local debugging system and use Gstreamer's instead.
3171
3172 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3173
3174         Patch by: Josep Torre Valles <josep@fluendo.com>
3175
3176         * common/m4/gst-error.m4:
3177         Disable warning of statement not reached on Forte.
3178         * gst/gstmessage.h:
3179         Fix warning on Forte (value doesn't fit on enumeration).
3180         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
3181         Fix warning on Forte (value doesn't fit on enumeration).
3182         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3183         DEBUG macro says it takes minimum of 2 args and so Forte
3184         complains about the use with just 1 arg.
3185         * plugins/elements/gstfdsink.c:
3186         * plugins/elements/gstfdsrc.c:
3187         * plugins/elements/gstfilesink.c:
3188         * plugins/elements/gstfilesrc.c:
3189         Use correct return type for the uri handler implementations.
3190
3191         All these fix warnings in Forte.  Fixes bug #360860.
3192
3193 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3194
3195         * gst/gstelement.h:
3196           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
3197           format string, so don't use G_GNUC_PRINTF for those versions.
3198
3199 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
3200
3201         * gst/gsttaglist.c: (gst_is_tag_list):
3202         * gst/gsttaglist.h:
3203           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
3204
3205         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
3206           Small test for the above.
3207
3208 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
3209
3210         * gst/gsttaglist.h:
3211           Less tabs, more spaces.
3212
3213 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
3214
3215         * gst/gstinfo.h:
3216           Those two function declarations do actually belong there, revert
3217           commit from yesterday that turned them intro macros.
3218
3219 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3220
3221         Patch by: Josep Torre Valles <josep@fluendo.com>
3222
3223         * gst/gst.c: (gst_init_get_option_group):
3224         Fix empty declaration and type mismatch.
3225         * gst/gstbin.c: (gst_bin_change_state_func):
3226         Fix type mismatch.
3227         * gst/gstelement.c: (gst_element_continue_state),
3228         (gst_element_set_state_func), (gst_element_change_state),
3229         (gst_element_change_state_func):
3230         Fix type mismatches.
3231         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
3232         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
3233         Cast as appropriate.
3234         * gst/gstobject.c: (gst_class_signal_connect):
3235         Cast as appropriate.  The function pointer parameter really
3236         has the wrong type but would break API if we change it.
3237         * gst/gstquery.c:
3238         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
3239         order of including string.h.
3240         * gst/gstutils.c: (gst_element_state_get_name):
3241         Remove unreachable line.
3242         * gst/gstxml.c: (gst_xml_parse_doc):
3243         Fix type mismatch.
3244         All these caught by Forte.
3245
3246 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3247
3248         Patch by: Josep Torre Valles <josep@fluendo.com>
3249
3250         * common/m4/gst-error.m4:
3251         Fixed bug #360151.
3252         We need to disable warnings on Forte for empty declarations
3253         due to gst-indent adding ;s to lines that just use macros
3254         where the macro actually doesn't need a ; at end to end
3255         statement.
3256
3257 2006-10-06  Wim Taymans  <wim@fluendo.com>
3258
3259         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
3260         (gst_file_sink_close_file), (gst_file_sink_event),
3261         (gst_file_sink_render):
3262         Add some FIXME for the NEWSEGMENT handling.
3263
3264 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3265
3266         * gst/parse/grammar.y:
3267         Remove static function gst_parse_element_lock as all it does
3268         is return.  Looks like cruft from 0.8.
3269
3270 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3271
3272         Patch by: Josep Torre Valles <josep@fluendo.com>
3273
3274         * common/m4/gst-error.m4:
3275         * configure.ac:
3276         * libs/gst/net/Makefile.am:
3277         Fix a compilation issue with Forte on Solaris.  inet_aton is in
3278         libresolv.
3279
3280 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
3281
3282         * gst/gstpad.c: (pre_activate):
3283         * gst/gstregistry.c: (gst_registry_scan_path_level):
3284         * gst/gstregistryxml.c: (load_plugin):
3285         * libs/gst/controller/gstcontroller.c:
3286         (gst_controlled_property_set_interpolation_mode):
3287         * libs/gst/dataprotocol/dataprotocol.c:
3288         (gst_dp_packet_from_event_1_0):
3289         * libs/gst/net/gstnetclientclock.c:
3290         (gst_net_client_clock_observe_times):
3291         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3292           Printf fixes.
3293
3294 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
3295
3296         * configure.ac:
3297         * docs/gst/gstreamer-sections.txt:
3298         * gst/gstconfig.h.in:
3299         * gst/gstelement.h:
3300         * gst/gstinfo.h:
3301           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
3302           whether we can use G_GNUC_PRINTF in other header files and at
3303           least check the printf format/arguments of debug messages and
3304           GST_ELEMENT_ERROR messages when the printf extension is not
3305           being used.
3306           Replace more tabs with spaces in gstinfo.h and remove two spurious
3307           function declarations in GST_DISABLE_DEBUG part with macros.
3308
3309 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
3310
3311         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
3312           More docs for the sync-message signal (mention that it is not
3313           emitted by default); log message structures of messages posted on
3314           the bus as well.
3315
3316 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
3317
3318         * gst/gst.c: (ensure_current_registry_forking):
3319         Use a pipe pair to receive status results from the forked child, and
3320         ignore the result from waitpid. Fixes #355499
3321
3322 2006-10-02  Wim Taymans  <wim@fluendo.com>
3323
3324         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3325         (gst_ghost_pad_suite):
3326         Fix leak in check.
3327
3328 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3329
3330         * gst/gstpad.c:
3331           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
3332
3333 2006-10-02  Edward Hervey  <edward@fluendo.com>
3334
3335         * docs/design/part-block.txt:
3336         Further explain the use of flushing on blocked pads.
3337         * docs/gst/gstreamer-sections.txt:
3338         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
3339         (gst_pad_push_event):
3340         * gst/gstpad.h:
3341         Added new GstPadFlag : GST_PAD_BLOCKING.
3342         Adds the notion of pads really blocking, which enables to properly
3343         handle FLUSH_START/FLUSH_STOP events on blocked pads.
3344         Fixes #358999
3345         API: gst_pad_is_blocking()
3346         API: GST_PAD_IS_BLOCKING() macro
3347         API: GST_PAD_BLOCKING GstPadFlag
3348         
3349 2006-10-02  Wim Taymans  <wim@fluendo.com>
3350
3351         Patch by: mrcgran <mrc.gran at gmail dot com>
3352
3353         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
3354         Filter the proxied caps against the padtemplate if we have one.
3355
3356         * gst/gstquery.c: (gst_query_new_segment):
3357         Add include for gstinfo.h so that compilation with
3358         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
3359
3360 2006-10-02  Wim Taymans  <wim@fluendo.com>
3361
3362         Patch by: Alessandro Decina  <alessandro at nnva org>
3363
3364         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
3365         (gst_file_sink_set_location), (gst_file_sink_open_file),
3366         (gst_file_sink_close_file), (gst_file_sink_event),
3367         (gst_file_sink_render):
3368         Set file to NULL when closing filesink so that we can set a new filename
3369         in READY. Fixes #358613.
3370
3371 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3372
3373         Patch by: Alessandro Decina  <alessandro at nnva org>
3374
3375         * gst/gstevent.c: (_gst_event_copy):
3376           Fix gst_mini_object_make_writable() and gst_event_copy() for events
3377           with event structures by setting the parent refcount address of the
3378           copied structure to the address of the refcount member of the newly
3379           copied event rather than the address of the refcount member of the
3380           original event. Fixes #358737.
3381
3382         * tests/check/gst/gstevent.c: (GST_START_TEST):
3383           Unit test for the above.
3384
3385 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
3386
3387         * docs/design/Makefile.am:
3388           Dist some more files.
3389
3390 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3391
3392         * tests/check/libs/controller.c: (GST_START_TEST),
3393         (gst_controller_suite):
3394           Add test for the previous fix; add some more tests
3395           for correct refcounting behaviour; fix a few leaks
3396           in test cases; call gst_controller_init() at start
3397           of all tests.
3398
3399 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3400
3401         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3402         (gst_controller_set_from_list):
3403           Don't g_return_val_if_fail() on timed values with invalid timestamps
3404           inside a critical section without unlocking the mutex. Spotted by
3405           René Stadler. (#357617)
3406           Also, fix up refcounting properly: when returning an existing
3407           controller, we should increase the reference only once and not
3408           once per property and when trying to control a property again
3409           we should also increase the refcount.
3410
3411 2006-09-29  Wim Taymans  <wim@fluendo.com>
3412
3413         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3414         * libs/gst/net/gstnettimeprovider.c:
3415         (gst_net_time_provider_thread):
3416         Stop reading commands when EOF as well.
3417
3418         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3419         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3420         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3421         Unify description of the dump property.
3422
3423 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3424
3425         * tests/examples/manual/.cvsignore:
3426         OK, so it's actually cvsignore that needs changing. Stop laughing.
3427
3428 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3429
3430         * tests/examples/manual/Makefile.am:
3431         Gah, declare vars *before* using them
3432
3433 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3434
3435         * gst/gst.c: (init_pre), (scan_and_update_registry),
3436         (ensure_current_registry_nonforking),
3437         (ensure_current_registry_forking), (ensure_current_registry),
3438         (init_post), (gst_debug_help), (gst_deinit):
3439         * gst/gst_private.h:
3440         * gst/gstregistry.c: (gst_registry_finalize),
3441         (gst_registry_remove_features_for_plugin_unlocked),
3442         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3443         (gst_registry_scan_path),
3444         (_priv_gst_registry_remove_cache_plugins),
3445         (_priv_gst_registry_cleanup):
3446         * gst/gstregistry.h:
3447         Re-commit the registry changes, along with an extra fix:
3448           When a cached plugin is encountered at a different file path,
3449           update the stored path in the registry cache so that the parent
3450           process knows where it actually is now when it re-reads the registry
3451           cache. Fixes the thing that broke distcheck with the previous commit.
3452
3453         * tests/check/Makefile.am:
3454         Clean up files named 'core' too when running make clean.
3455
3456         * tests/examples/manual/Makefile.am:
3457         Set up a registry path for running these tests, and clean it properly
3458         for distcheck.
3459
3460 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3461
3462         * configure.ac:
3463         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
3464         want gmodule-no-export-2.0.pc instead so that we don't drag in
3465         --export-dynamic on every project that links to GStreamer.
3466
3467         Also, make our export regex only match the start of symbols, rather 
3468         than any symbol that contains '_gst' somewhere.
3469
3470         * libs/gst/check/Makefile.am:
3471         The libgstcheck we build does however need export-dynamic, as it
3472         produces some symbols that don't match our _gst... style regex.
3473         Fixes: #318031
3474
3475 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
3476
3477         * gst/gst.c: (init_pre), (scan_and_update_registry),
3478         (ensure_current_registry_nonforking),
3479         (ensure_current_registry_forking), (ensure_current_registry),
3480         (init_post), (gst_debug_help), (gst_deinit):
3481         * gst/gst_private.h:
3482         * gst/gstregistry.c: (gst_registry_finalize),
3483         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3484         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
3485         (_gst_registry_cleanup):
3486         * gst/gstregistry.h:
3487           Revert previous change until I figure out why it breaks distcheck.
3488
3489 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
3490
3491         * gst/gst.c: (init_pre), (scan_and_update_registry),
3492         (ensure_current_registry_nonforking),
3493         (ensure_current_registry_forking), (ensure_current_registry),
3494         (init_post), (gst_debug_help), (gst_deinit):
3495
3496           Make init_pre and init_post take the full complement of GOptionFunc
3497           args so they can return useful GErrors. Make the registry updating
3498           functions do so.
3499
3500           Call _priv_gst_registry_remove_cache_plugins after scanning files to
3501           ensure that the registry we're about to write out doesn't contain
3502           stale information about old-deleted plugin files.
3503
3504           Make _priv_gst_registry_remove_cache_plugins return a boolean so
3505           that deletion of plugin files is considered a registry change.
3506
3507         * gst/gst_private.h:
3508         * gst/gstregistry.c: (gst_registry_finalize),
3509         (gst_registry_remove_features_for_plugin_unlocked),
3510         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3511         (gst_registry_scan_path),
3512         (_priv_gst_registry_remove_cache_plugins),
3513         (_priv_gst_registry_cleanup):
3514         * gst/gstregistry.h:
3515         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
3516         by adding _priv prefix, so that they won't appear in the global
3517         symbol table. They still do atm though because of #318031. Move the
3518         prototypes to gst_private.h
3519
3520         When removing a plugin, remove all features for that plugin too. 
3521         Fixes #340878.
3522
3523 2006-09-27  Wim Taymans  <wim@fluendo.com>
3524
3525         * docs/random/moving-plugins:
3526         Make it clear that the "compiled-in descriptions" really mean
3527         the element details.
3528
3529         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3530         (gst_base_sink_wait_preroll):
3531         Update docs.
3532
3533         * docs/libs/gstreamer-libs-sections.txt:
3534         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3535         (gst_base_src_get_range), (gst_base_src_activate_push):
3536         * libs/gst/base/gstbasesrc.h:
3537         Added function to block while waiting for PLAYING, this function
3538         is used by live sources that block on the clock.
3539         API: gst_base_src_wait_playing()
3540
3541 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3542
3543         Patch by: Peter Kjellerstedt <pkj at axis com>
3544
3545         * Makefile.am:
3546           gst-element-check.m4 is generated and should therefore be
3547           copied from the build dir rather than the source dir (#357593).
3548           'make distcheck' hasn't noticed this because we were disting
3549           the file as well, so stop doing that.
3550
3551 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3552
3553         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3554           Add some tests for gst_caps_intersect().
3555
3556         * tools/gst-launch.c: (event_loop):
3557           Print all buffering percentages we get, even the 100% one.
3558
3559 2006-09-26  Wim Taymans  <wim@fluendo.com>
3560
3561         * tools/gst-inspect.c: (print_element_properties_info),
3562         (print_signal_info):
3563         Fix printing of flags to match the look of enums.
3564
3565 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3566
3567         * gst/gstelementfactory.c:
3568           Fix typo in docs blurb.
3569
3570 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3571
3572         * gst/gsturi.c: (search_by_entry):
3573           Don't assert/crash here if a uri handler doesn't return any
3574           supported protocols. The list of protocols could be generated
3575           dynamically at runtime or at plugin registration, and an error
3576           in the underlying library shouldn't be fatal (#353301).
3577
3578 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3579
3580         * gst/gstinfo.c:
3581           Fix warning if HAVE_PRINTF_EXTENSION is undefined
3582           (spotted by Peter Kjellerstedt).
3583
3584 2006-09-23  Wim Taymans  <wim@fluendo.com>
3585
3586         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
3587
3588         * libs/gst/base/gstbasesrc.c:
3589         (gst_base_src_default_check_get_range), (gst_base_src_start),
3590         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3591         (gst_base_src_change_state):
3592         Match _start/_stop calls in the activate functions. Remove redundant
3593         _stop call from the state change function. Fixes #356910.
3594         Turn failure DEBUG into ERROR. 
3595
3596 2006-09-22  Wim Taymans  <wim@fluendo.com>
3597
3598         * docs/design/part-buffering.txt:
3599         * gst/gstmessage.c: (gst_message_new_buffering),
3600         (gst_message_parse_buffering):
3601         Update docs about buffering.
3602
3603         * docs/design/part-trickmodes.txt:
3604         Fix typo.
3605
3606 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
3607
3608         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3609         (gst_controller_new_list):
3610           Ref instances when returning them again (fixes #357180)
3611
3612 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
3613
3614         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
3615           Don't forget to release proxy lock when there's an error.
3616
3617 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
3618
3619         * gst/gstcaps.h:
3620           Add extra initialisers for Caps things, to fix some plugin warnings
3621           when using -Wextra
3622
3623 2006-09-18  Wim Taymans  <wim@fluendo.com>
3624
3625         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
3626           Also set template on the internal pad so that a getcaps from the 
3627           target pad returns the template caps.
3628
3629 2006-09-18  Wim Taymans  <wim@fluendo.com>
3630
3631         * gst/gstelement.c: (gst_element_post_message),
3632         (gst_element_dispose):
3633         Use _DEBUG_OBJECT some more.
3634
3635         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3636         Avoid typechecks.
3637
3638         * tools/gst-launch.c: (main):
3639         If the toplevel element is not a GstPipeline, it must be put in a
3640         pipeline so that a bus and clock is selected.
3641
3642 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3643
3644         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3645           JITTER, RATE, and LATENCY query should be handled by the
3646           default case and not by the CONVERT query code.
3647
3648 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3649
3650         * gst/gstformat.c: (gst_format_register):
3651           Fix locking order (must take lock before using n_values).
3652
3653         * gst/gstvalue.c: (gst_value_serialize_enum),
3654         (gst_value_deserialize_enum_iter_cmp),
3655         (gst_value_deserialize_enum):
3656           Fix serialisation/deserialisation of custom registered GstFormats.
3657
3658         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3659           Unit test for custom format serialisation/deserialisation.
3660
3661 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
3662
3663         * docs/pwg/building-boiler.xml:
3664         * plugins/elements/gstcapsfilter.c:
3665         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
3666         section.
3667
3668 2006-09-16  Edward Hervey  <edward@fluendo.com>
3669
3670         * libs/gst/base/gstbasetransform.c:
3671         (gst_base_transform_buffer_alloc):
3672         Check if requested caps are the same as the sinks caps IF
3673         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
3674         is FALSE.
3675         This fixes the renegotiation issues stated in #352827.
3676
3677 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3678
3679         * configure.ac:
3680         * docs/manual/advanced-autoplugging.xml:
3681         * tests/examples/Makefile.am:
3682         * tests/examples/manual/.cvsignore:
3683         * tests/examples/manual/Makefile.am:
3684         * tests/examples/manual/extract.pl:
3685           Extract the manual examples again like we used to do.
3686           Fix one of them.
3687
3688 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3689
3690         * win32/common/config.h:
3691           update for version
3692
3693 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
3694
3695         * gst/gsterror.c:
3696           Documents how to receive errors.
3697
3698 2006-09-15  Wim Taymans  <wim@fluendo.com>
3699
3700         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
3701         (event_loop), (main):
3702         Added some comments here and there.
3703         Post an application message when an interrupt is caught instead of doing
3704         an uncontrolled state change.
3705         Clean up the event loop.
3706         Handle buffering messages, pause/resume the pipeline.
3707         Make shutdown because of an interrupt more reliable.
3708
3709 2006-09-15  Wim Taymans  <wim@fluendo.com>
3710
3711         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3712         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
3713         (gst_base_sink_preroll_object):
3714         Make sure that our internal state is correct when we commit our state
3715         asynchronously. This solves a race where a state change to PLAYING
3716         could cause the sink to remain blocked in preroll in some situations.
3717
3718 2006-09-15  Wim Taymans  <wim@fluendo.com>
3719
3720         * tools/gst-inspect.c: (print_element_properties_info),
3721         (print_signal_info):
3722         List flags as hex so it's easier to deal with.
3723
3724 2006-09-15  Wim Taymans  <wim@fluendo.com>
3725
3726         * docs/libs/gstreamer-libs-sections.txt:
3727         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
3728         (gst_base_sink_do_sync):
3729         * libs/gst/base/gstbasesink.h:
3730         Expose logic to wait for preroll so that subclasses such as audiosink
3731         can also use this method.
3732         API: gst_base_sink_wait_preroll()
3733
3734 2006-09-15  Wim Taymans  <wim@fluendo.com>
3735
3736         * gst/gstobject.c: (gst_object_set_parent):
3737         * gst/gstpipeline.c: (do_pipeline_seek):
3738         Small cleanups in docs and code.
3739
3740         * gst/gstsegment.c: (gst_segment_clip):
3741         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3742         if stop == start and start is in the segment, no clipping should be
3743         done. Also add a test for this.
3744
3745 2006-09-15  Wim Taymans  <wim@fluendo.com>
3746
3747         * docs/design/part-buffering.txt:
3748         * docs/gst/gstreamer-sections.txt:
3749         * gst/gstmessage.c: (gst_message_new_buffering),
3750         (gst_message_parse_buffering):
3751         * gst/gstmessage.h:
3752         Added methods to create and parse BUFFERING messages.
3753         Added preliminary docs about buffering.
3754         API: gst_message_new_buffering
3755         API: gst_message_parse_buffering
3756
3757 2006-09-06  Wim Taymans  <wim@fluendo.com>
3758
3759         * gst/gstbin.c:
3760         Update documentation.
3761
3762         * gst/gstelement.c: (gst_element_class_init),
3763         (gst_element_release_request_pad), (gst_element_set_clock),
3764         (gst_element_get_index), (gst_element_add_pad),
3765         (gst_element_remove_pad), (gst_element_get_random_pad),
3766         (gst_element_send_event), (gst_element_get_query_types),
3767         (gst_element_query), (gst_element_post_message),
3768         (gst_element_message_full), (gst_element_continue_state),
3769         (gst_element_lost_state), (gst_element_save_thyself),
3770         (gst_element_restore_thyself):
3771         Documentation updates.
3772         Rename last bit of the new-pad -> pad-added signal rename.
3773         Fix the case where an element query would only work if the source
3774         pad was linked.
3775         Avoid some useless type checking in message handling.
3776
3777         * gst/gstevent.c:
3778         * gst/gstevent.h:
3779         * gst/gstutils.c:
3780         Documentation updates.
3781
3782 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3783
3784         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3785           add an INFO line for when we actually update the fd
3786
3787 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3788
3789         * configure.ac:
3790           back to TRUNK
3791
3792 === release 0.10.10 ===
3793
3794 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
3795
3796         * configure.ac:
3797           releasing 0.10.10, "Pais"
3798
3799 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
3800
3801         * docs/manual/advanced-position.xml:
3802           Fix typo in sample code.
3803
3804 2006-09-05  Wim Taymans  <wim@fluendo.com>
3805
3806         * libs/gst/net/gstnetclientclock.c: (inet_aton),
3807         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3808         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
3809         * libs/gst/net/gstnetclientclock.h:
3810         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3811         * libs/gst/net/gstnettimepacket.h:
3812         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
3813         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
3814         (gst_net_time_provider_thread), (gst_net_time_provider_new):
3815         * libs/gst/net/gstnettimeprovider.h:
3816         Make stuff compile on windows. Fixes #345295.
3817
3818 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3819
3820         * gst/gst.c: (ensure_current_registry_forking):
3821           Print better details when child was terminated by signal.
3822
3823 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3824
3825         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
3826           Print a warning rather than g_assert() if a plugin feature
3827           is a URI handler but returns no protocols (#353976).
3828
3829 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
3830
3831         * docs/random/moving-plugins:
3832         Fix two typos.         
3833
3834 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
3835
3836         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
3837           Fix locking order, handle NULL function values properly.
3838
3839         * gst/gstinfo.h:
3840           Fix docs.
3841
3842         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3843           Initialise variable before using it and fix debug statement to
3844           print the address of the function rather than the address of the
3845           variable on the stack holding the address of the function.
3846
3847 2006-09-01  Wim Taymans  <wim@fluendo.com>
3848
3849         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
3850         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
3851         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3852         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
3853         (gst_ghost_pad_parent_unset),
3854         (gst_ghost_pad_internal_do_activate_push),
3855         (gst_ghost_pad_internal_do_activate_pull),
3856         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3857         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3858         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3859         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
3860         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
3861         (gst_ghost_pad_new_no_target_from_template),
3862         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3863         More cleanups.
3864         Avoid needless typechecking in macros.
3865         Since the internal pad is always present and never changes, there is
3866         no need to locking or ref when retrieving it.
3867         Improve debugging a bit.
3868         Handle link errors when setting the target. Fixes #341029.
3869
3870 2006-09-01  Wim Taymans  <wim@fluendo.com>
3871
3872         * docs/libs/gstreamer-libs-sections.txt:
3873         * docs/plugins/gstreamer-plugins-sections.txt:
3874         Fix docs some more.
3875
3876         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3877         (gst_collect_pads_event):
3878         * libs/gst/base/gstcollectpads.h:
3879         Documentation updates.
3880         Free queued buffer when removing a pad.
3881
3882 2006-08-31  Michael Smith  <msmith@fluendo.com>
3883
3884         * gst/gstutils.c: (gst_element_link_pads),
3885         (gst_element_link_pads_filtered):
3886           Ensure that we set a capsfilter to NULL if we failed to link it
3887           when doing filtered linking, to avoid criticals.
3888
3889           No need to check for unreffing srcpad, which is explicly NULLed
3890           above (a trivial code cleanup).
3891
3892 2006-08-31  Wim Taymans  <wim@fluendo.com>
3893
3894         * docs/design/part-gstghostpad.txt:
3895         Update ascii art in documentation.
3896
3897         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
3898         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
3899         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
3900         (gst_ghost_pad_internal_do_activate_push),
3901         (gst_ghost_pad_internal_do_activate_pull),
3902         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3903         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3904         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
3905         (gst_ghost_pad_set_target):
3906         Small cleanups and leak fixes.
3907         Remove some checks now that the internal pad is never NULL.
3908         Fix the case where linking pads without a target would create nasty
3909         criticals. Fixes #341029.
3910         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
3911         value of _set_target().
3912
3913         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3914         (gst_ghost_pad_suite):
3915         Some more tests for creating and linking untargeted ghostpads.
3916
3917 2006-08-31  Edward Hervey  <edward@fluendo.com>
3918
3919         * docs/gst/gstreamer-sections.txt:
3920         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
3921         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
3922         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
3923         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
3924         (gst_ghost_pad_new_from_template),
3925         (gst_ghost_pad_new_no_target_from_template):
3926         * gst/gstghostpad.h:
3927         Refactored *_new() functions.
3928         Templates are now used as a g_object_new() parameter.
3929         Use template in _do_getcaps() if we don't have a target.
3930         Small documentation cleanups.
3931         Added two new constructors:
3932         gst_ghost_pad_new_from_template()
3933         gst_ghost_pad_new_no_target_from_template()
3934         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3935         (gst_ghost_pad_suite):
3936         Added tests for new ghostpad instanciation functions.
3937
3938         API additions: gst_ghost_pad_new_from_template,
3939         gst_ghost_pad_new_no_target_from_template
3940
3941 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
3942
3943         * docs/random/ensonic/profiling.txt:
3944           Ideas about qos profiling.
3945
3946 2006-08-29  Wim Taymans  <wim@fluendo.com>
3947
3948         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
3949         Code cleanups.
3950         Fix memleak.
3951
3952 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
3953
3954         * gst/gstxml.c:
3955           Improve and detypofy docs.
3956
3957         * tests/check/Makefile.am:
3958         * tests/check/gst/.cvsignore:
3959         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
3960           Add a basic test suite for GstXML.
3961
3962 2006-08-29  Wim Taymans  <wim@fluendo.com>
3963
3964         * gst/gstelement.c: (activate_pads), (clear_caps),
3965         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
3966         Clear the pad caps when the element shut down all of the pads and
3967         is not streaming data that could modify the caps. 
3968         Fixes #352958.
3969
3970 2006-08-28  Michael Smith  <msmith@fluendo.com>
3971
3972         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3973           Revert previous change; I misunderstood single-segment mode.
3974
3975 2006-08-28  Michael Smith  <msmith@fluendo.com>
3976
3977         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3978           Unset DISCONT on buffers when using single-segment mode.
3979
3980 2006-08-28  Wim Taymans  <wim@fluendo.com>
3981
3982         * gst/gstcaps.c: (gst_caps_merge_structure):
3983         * gst/gstcaps.h:
3984         Fix docs and indentation again.
3985
3986         * tests/check/gst/gstquery.c: (GST_START_TEST):
3987         Fix leak in tests and add some more tests.
3988
3989 2006-08-28  Edward Hervey  <edward@fluendo.com>
3990
3991         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3992         Inform GstSegment of the last stop position in order for the current
3993         segment to have a proper duration if it doesn't have a specific stop
3994         position from which a duration could be calculated.
3995         This bug was noticeable when a non-flushing, non-update new segment was
3996         followed by another segment (all buffers from the new segment were being
3997         dropped).
3998
3999 2006-08-28  Wim Taymans  <wim@fluendo.com>
4000
4001         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
4002         Small comment update.
4003
4004         * plugins/elements/gstidentity.c: (gst_identity_class_init),
4005         (gst_identity_transform_ip):
4006         Drop-probability is broken, mention this in the code with a 
4007         FIXME and also in the property description.
4008         Make silent also be silent about the drop messages.
4009
4010 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
4011
4012         * docs/manual/appendix-win32.xml:
4013           Remove mention of popt, we don't depend on that any
4014           longer (#353136). Add some comments pointing out that
4015           this section is slightly outdated.
4016
4017 2006-08-28  Wim Taymans  <wim@fluendo.com>
4018
4019         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
4020
4021         * gst/gstquery.c: (gst_query_new_segment):
4022         * tests/check/gst/gstquery.c: (GST_START_TEST):
4023         Initialize variables when creating a new segment query.
4024         Fixes #353121.
4025
4026 2006-08-28  Wim Taymans  <wim@fluendo.com>
4027
4028         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
4029
4030         * gst/gstelement.c: (gst_element_get_bus):
4031         * tests/check/gst/gstelement.c: (GST_START_TEST):
4032         Check for NULL before _reffing the bus. Fixes #353122.
4033
4034 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
4035
4036         * docs/manual/basics-bus.xml:
4037           Docs update: fix wrong callback return value explanation; add
4038           some lines about the implicit relationship between main loop
4039           and main context; remove duplicate main loop variable declaration.
4040
4041 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
4042
4043         * tests/check/gst/gstcaps.c: (GST_START_TEST):
4044           Don't leak caps in unit test; add a few more simple
4045           checks. 
4046
4047 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
4048
4049         * docs/gst/gstreamer-sections.txt:
4050         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
4051         (gst_caps_structure_is_subset), (gst_caps_merge),
4052         (gst_caps_merge_structure):
4053         * gst/gstcaps.h:
4054         * libs/gst/base/gstbasetransform.c:
4055         (gst_base_transform_transform_caps):
4056         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
4057           implement caps merging (fixes #352580)
4058
4059 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
4060
4061         * tools/Makefile.am:
4062         * tools/gst-plot-timeline.py:
4063           add debug-log plotting developer tool (#340674)
4064
4065 2006-08-23  Wim Taymans  <wim@fluendo.com>
4066
4067         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
4068         (gst_pad_stop_task):
4069         Improve debugging for task functions.
4070
4071         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
4072         (gst_task_start), (gst_task_pause), (gst_task_join):
4073         Make sure that the task function started and finished after a 
4074         join(). 
4075         Don't try to push the task function on the threadpool multiple
4076         times.
4077         Improve the g_warning message with some useful suggestions
4078         about how to fix the problem. 
4079
4080 2006-08-23  Wim Taymans  <wim@fluendo.com>
4081
4082         * gst/gstutils.c: (gst_pad_proxy_getcaps):
4083         Handle RESYNC correctly in _proxy_getcaps.
4084
4085 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
4086
4087         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
4088         (gst_xml_parse_memory), (gst_xml_get_element):
4089           Chain up to parent class in dispose function and also
4090           unref the elements in the toplevel_elements GList.
4091           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
4092           Always return a reference in gst_xml_get_element() rather
4093           than only sometimes.
4094
4095         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
4096           Don't leak GstXml object.
4097
4098 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
4099
4100         * docs/gst/gstreamer-sections.txt:
4101         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
4102         (gst_caps_merge):
4103         * gst/gstcaps.h:
4104         * libs/gst/base/gstbasetransform.c:
4105         (gst_base_transform_transform_caps):
4106           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
4107           in a better way
4108
4109 2006-08-21  Edward Hervey  <edward@fluendo.com>
4110
4111         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
4112         Implement GObject::dispose virtual method in GstXML so we can free the
4113         top_elements GList.
4114
4115 2006-08-21  Wim Taymans  <wim@fluendo.com>
4116
4117         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
4118         (gst_buffer_create_sub):
4119         Copy duration/offset_end/caps when creating a subbuffer of the
4120         complete parent.
4121         Make the subbuffer read-only when we make the metadata writable for
4122         now. Fixes #351768.
4123
4124         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
4125         Added check for metadata copy when creating subbuffers.
4126
4127 2006-08-21  Edward Hervey  <edward@fluendo.com>
4128
4129         * libs/gst/base/gstbasetransform.c:
4130         (gst_base_transform_buffer_alloc):
4131         Only call downstream buffer_alloc if transform element is passthrough
4132         or always_in_place. Closes #350449.
4133
4134 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4135
4136         * ChangeLog:
4137           ChangeLog surgery to add comments to previous changes
4138
4139 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4140
4141         * gst/gst.c:
4142           Add comments
4143
4144         * gst/gstpad.c: (gst_pad_set_active):
4145           Be more verbose in the log
4146
4147         * libs/gst/base/gstbasetransform.c:
4148         (gst_base_transform_transform_caps):
4149           Simplify caps to get rid of duplicates, fixes #345444
4150
4151 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4152
4153         * gst/gstvalue.c:
4154         * gst/gstvalue.h:
4155           Use these optimizations only internally.
4156
4157 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
4158
4159         * gst/gstvalue.c: (gst_value_compare_list),
4160         (gst_value_compare_fraction_range),
4161         (gst_value_intersect_fraction_fraction_range),
4162         (gst_value_intersect_fraction_range_fraction_range),
4163         (gst_value_subtract_fraction_fraction_range),
4164         (gst_value_subtract_fraction_range_fraction_range),
4165         (gst_value_get_compare_func), (gst_value_compare),
4166         (gst_value_compare_with_func):
4167         * gst/gstvalue.h:
4168           Saves the expensive lookup of the compare function in many cases
4169          (#345444)
4170
4171 2006-08-18  Edward Hervey  <edward@fluendo.com>
4172
4173         * tests/check/gst/gstinfo.c: (gst_info_suite):
4174         Disable test that require gstdebug if it wasn't built in core.
4175
4176 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
4177
4178         * docs/random/ensonic/logging.txt:
4179           update ideas
4180           
4181         * gst/gstinfo.c: (gst_debug_log_default):
4182           reorder fields, save some columns, add optional color codes for log
4183           levels
4184
4185 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
4186
4187         * docs/random/ensonic/logging.txt:
4188           add ideas about making the logs a bit more useful
4189
4190 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
4191
4192         * docs/pwg/advanced-events.xml:
4193         * docs/pwg/titlepage.xml:
4194           Update for 0.10 API (#340627). Add myself
4195           to authors list.
4196
4197 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
4198
4199         * docs/libs/gstreamer-libs-docs.sgml:
4200         * docs/libs/gstreamer-libs-sections.txt:
4201         * libs/gst/check/gstbufferstraw.c:
4202           Make gstcheck stuff show up in docs (still needs to
4203           be documented properly though).
4204
4205 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
4206
4207         * docs/gst/gstreamer-sections.txt:
4208         * gst/Makefile.am:
4209         * gst/gst.c: (init_post):
4210         * gst/gst_private.h:
4211         * gst/gstquark.c: (_priv_gst_quarks_initialize):
4212         * gst/gstquark.h:
4213         * gst/gstquery.c: (gst_query_new_position),
4214         (gst_query_set_position), (gst_query_parse_position),
4215         (gst_query_new_duration), (gst_query_set_duration),
4216         (gst_query_parse_duration), (gst_query_new_convert),
4217         (gst_query_set_convert), (gst_query_parse_convert),
4218         (gst_query_new_segment), (gst_query_set_segment),
4219         (gst_query_parse_segment), (gst_query_new_seeking),
4220         (gst_query_set_seeking), (gst_query_parse_seeking):
4221         Add internal helpers for pre-registering quarks from static strings
4222         and using the quark values directly instead of looking them up when
4223         creating and parsing queries. Can be used for event construction too.
4224         Closes #350432.
4225
4226 2006-08-16  Wim Taymans  <wim@fluendo.com>
4227
4228         * gst/gstbin.c:
4229         Fix bogus docs.
4230
4231 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4232
4233         * gst/gstutils.c: (gst_util_set_value_from_string):
4234           Fix memleak (#351502).
4235
4236         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4237           Add unit test for most of gst_util_set_value_from_string()
4238           (not that one would want to encourage use of this function).
4239
4240 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4241
4242         * libs/gst/check/gstcheck.h:
4243           Use const gchar * variables in fail_unless_equals_string
4244           macro to avoid compiler warnings (and don't use tabs for
4245           indenting).
4246
4247 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4248
4249         * tools/gst-launch.c: (print_tag):
4250           More space on the left for the tag names, to cater
4251           for the 'extended comment' tag (not touching the
4252           string for the first line since it's translated).
4253
4254 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4255
4256         * libs/gst/check/gstcheck.h:
4257           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
4258           print something when they fail.
4259
4260 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4261
4262         * docs/gst/gstreamer-sections.txt:
4263         * gst/gsttaglist.c: (_gst_tag_initialize):
4264         * gst/gsttaglist.h:
4265           API: add GST_TAG_EXTENDED_COMMENT (#350935).
4266           Also change merge function for GST_TAG_COMMENT to
4267           use_first.
4268
4269 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4270
4271         * gst/gstinfo.c: (gst_debug_print_object):
4272           Make GST_PTR_FORMAT print messages as well.
4273
4274         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
4275         (GST_START_TEST), (gst_info_suite):
4276           More tests.
4277
4278 2006-08-14  Edward Hervey  <edward@fluendo.com>
4279
4280         * gst/gstelementfactory.c: (gst_element_register):
4281         If the GstElementClass doesn't have a GstElementDetails with all fields
4282         filled up correctly (longname, description AND author), then error out
4283         nicely instead of crashing.
4284
4285 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4286
4287         * gst/gststructure.c:
4288           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
4289
4290         * gst/gstvalue.h:
4291           Expand on the difference between arrays and lists as we use them.
4292           
4293 2006-08-14  Wim Taymans  <wim@fluendo.com>
4294
4295         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4296         If the parent state change function failed, don't assume we can safely
4297         stop the source, this will be done when the pads are deactivated.
4298
4299 2006-08-14  Wim Taymans  <wim@fluendo.com>
4300
4301         * gst/gstbuffer.c:
4302         * gst/gsttask.c: (gst_task_join):
4303         Small doc updates.
4304
4305         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
4306         (gst_pad_stop_task):
4307         When pad (de)activation failed for some reason, restore the old
4308         activation mode and set the pad to flushing instead of assuming the
4309         pad is deactivated.
4310         If the _task_join() failed, reinstall the task on the pad so that it can
4311         be stopped later and return an error.
4312
4313 2006-08-11  Andy Wingo  <wingo@pobox.com>
4314
4315         * configure.ac:
4316         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4317         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
4318         is only for users of API that don't want to see deprecated
4319         functions in the headers; people that want to compile out
4320         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
4321         CFLAGS. Fixes the build of multifdsink, or will soon..
4322
4323 2006-08-11  Wim Taymans  <wim@fluendo.com>
4324
4325         * docs/gst/gstreamer-sections.txt:
4326         Add GstClockClass vmethod docs.
4327
4328         * gst/gstcaps.h:
4329         Mark #endif with comment for associated #if
4330
4331         * gst/gstclock.c: (gst_clock_id_wait):
4332         * gst/gstclock.h:
4333         Add vmethod wait_jitter to avoid an unneeded _get_time() for
4334         most clock implementations.
4335         Document vmethods.
4336         Flesh out docs about resolution methods.
4337         API: GstClockClass::wait_jitter
4338
4339         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4340         (gst_system_clock_async_thread),
4341         (gst_system_clock_id_wait_jitter_unlocked),
4342         (gst_system_clock_id_wait_jitter):
4343         Use base class wait_jitter variant for improved performance
4344         due to less clock polling.
4345
4346 2006-08-11  Edward Hervey  <edward@fluendo.com>
4347
4348         * gst/gst.c: (gst_init_check), (init_post):
4349         Set gst as being initialized before scanning/updating the registry,
4350         since there might be my python plugin loader that calls gst_init() and
4351         we don't want to loop back in.
4352         Closes #350879
4353
4354 2006-08-11  Wim Taymans  <wim@fluendo.com>
4355
4356         * docs/design/part-qos.txt:
4357         Bring docs in line with the code. Mostly the sign of the jitter was
4358         wrong in the docs. Fixes #349943.
4359
4360         * gst/gstclock.c:
4361         Fix the docs for the jitter.
4362
4363         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
4364         (gst_event_parse_tag), (gst_event_new_buffer_size),
4365         (gst_event_parse_buffer_size), (gst_event_parse_qos),
4366         (gst_event_new_seek), (gst_event_parse_seek),
4367         (gst_event_new_navigation):
4368         Make sure the GstStructure has no parent when creating custom
4369         events.
4370         Add some more argument checking so that we avoid 0.0 rates.
4371         Flesh out the docs for the QoS event some more.
4372
4373 2006-08-11  Wim Taymans  <wim@fluendo.com>
4374
4375         * docs/gst/gstreamer-sections.txt:
4376         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4377         (ensure_current_registry_forking), (ensure_current_registry),
4378         (parse_one_option), (parse_goption_arg), (gst_deinit),
4379         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
4380         * gst/gst.h:
4381         Doc updates.
4382         Added API and command line option to disable registry forking in
4383         addition to the environment variable.
4384         Constify some static arrays.
4385         Added some more debug.
4386         Don't deinit twice.
4387         API: gst_registry_fork_is_enabled()
4388         API: gst_registry_fork_set_enabled()
4389         API: --gst-disable-registry-fork command line option
4390         Fixes #348918.
4391
4392 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
4393
4394         * gst/gst.c: (gst_init):
4395           Fix typo in error message.
4396
4397 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
4398
4399         * libs/gst/controller/gstcontroller.h:
4400           fix ABI size-correction
4401
4402         * tests/check/libs/gdp.c: (gst_dp_suite):
4403           make tests that use deprecated API conditional
4404
4405 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
4406
4407         * docs/libs/gstreamer-libs-sections.txt:
4408         * libs/gst/controller/gstcontroller.c:
4409         (_gst_controller_get_property), (_gst_controller_set_property),
4410         (_gst_controller_init), (_gst_controller_class_init):
4411         * libs/gst/controller/gstcontroller.h:
4412         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
4413         (gst_object_set_control_rate):
4414           API: add gst_object_{s,g}et_control_rate(), add private data section,
4415           fix docs
4416
4417         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4418         * libs/gst/dataprotocol/dataprotocol.h:
4419           add deprecation guards to make gtk-doc happy and allow disabling cruft
4420
4421 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
4422
4423         * tests/check/Makefile.am:
4424         * tests/check/gst/.cvsignore:
4425           Let's enable the new unit test as well.
4426
4427 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
4428
4429         * configure.ac:
4430         * docs/gst/gstreamer-sections.txt:
4431         * gst/gstconfig.h.in:
4432         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
4433         (_gst_info_printf_extension_ptr),
4434         (_gst_info_printf_extension_segment):
4435           API: add GST_SEGMENT_FORMAT, which is a printf extension we
4436           register that lets us easily dump GstSegments into debug
4437           logs (#350419).
4438
4439         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
4440         (info_segment_format_printf_extension), (gst_info_suite):
4441           Add simple unit test that logs a bunch of different segments (not
4442           valgrinded at the moment because of leaks in
4443           gst_debug_add_log_function).
4444
4445 2006-08-09  Edward Hervey  <edward@fluendo.com>
4446
4447         * libs/gst/base/gstbasetransform.c:
4448         (gst_base_transform_buffer_alloc):
4449         Even if we can't figure out the proper format to request downstream,
4450         call buffer_alloc() downstream with the input parameters without setting
4451         the caps on the srcpad. This will force negotiation in the chain
4452         function.
4453         Closes #350449
4454
4455 2006-08-08  Edward Hervey  <edward@fluendo.com>
4456
4457         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4458         Unlinking from a pad without a target is now a perfectly valid case
4459         which should NOT raise an assertion.
4460         This case would happen if a linked ghostpad its target set to NULL after
4461         it was previously linked.
4462
4463 2006-08-08  Edward Hervey  <edward@fluendo.com>
4464
4465         * tests/check/libs/gdp.c:
4466         Also comment out the test (see below).
4467
4468 2006-08-08  Edward Hervey  <edward@fluendo.com>
4469
4470         * tests/check/libs/gdp.c: (gst_dp_suite):
4471         Use the architecture information from config.h and not gcc macros
4472         in order to properly disable a test that fails on PPC64.
4473
4474 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
4475
4476         * gst/gstelement.c: (gst_element_remove_pad):
4477           Don't crash printing the warning if the pad has no parent.
4478
4479 2006-08-02  Wim Taymans  <wim@fluendo.com>
4480
4481         * libs/gst/dataprotocol/dataprotocol.c:
4482         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
4483         (gst_dp_crc), (gst_dp_header_payload_length),
4484         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
4485         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
4486         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
4487         (gst_dp_event_from_packet), (gst_dp_validate_header),
4488         (gst_dp_validate_payload):
4489         Make debug category static
4490         Constify the crc table.
4491         Do some more arg checking in public functions.
4492         Fix some docs and do some small cleanups.
4493
4494         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
4495         Add some more checks to see if GDP deals with bogus input.
4496
4497 2006-07-31  Wim Taymans  <wim@fluendo.com>
4498
4499         * gst/gstvalue.c: (gst_value_compare_list):
4500         Fix GstValueList comparison code. Fixes #347293.
4501
4502         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4503         Check to test GstValueList comparison.
4504
4505 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4506
4507         * gst/gstelementfactory.c: (gst_element_factory_create):
4508         Remove unnecessary ref/unref pair
4509
4510         * gst/parse/grammar.y:
4511         Make sure to free the parse buffer on all code paths.
4512         Move a g_free up to the error handler where it's easier to see.
4513
4514         * tests/check/gst/gstevent.c: (test_event):
4515         Extending timeout for downstream travelling events to 10 seconds to
4516         hopefully avoid intermittent failure on the buildbots.
4517
4518         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
4519         Don't manually set the state of the src element - it will happen as a
4520         natural consequence of the pipeline changing state, and that way it
4521         will do it in the right order too.
4522
4523 2006-07-31  Wim Taymans  <wim@fluendo.com>
4524
4525         * libs/gst/base/gstbasetransform.c:
4526         (gst_base_transform_buffer_alloc):
4527         Use OBJECT_LOCK and refcounting to get the pad caps in the
4528         buffer_alloc function because the caps could change while we are
4529         busy with them. Fixes #349105
4530
4531 2006-07-31  Wim Taymans  <wim@fluendo.com>
4532
4533         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
4534         Protect _PAD_CAPS with OBJECT_LOCK.
4535
4536 2006-07-31  Wim Taymans  <wim@fluendo.com>
4537
4538         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4539         (gst_pad_get_property), (gst_pad_activate_pull),
4540         (gst_pad_activate_push), (gst_pad_set_blocked_async),
4541         (gst_pad_set_activate_function),
4542         (gst_pad_set_activatepull_function),
4543         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
4544         (gst_pad_set_getrange_function),
4545         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
4546         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4547         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
4548         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
4549         (gst_pad_set_acceptcaps_function),
4550         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4551         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
4552         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
4553         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
4554         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
4555         (gst_pad_configure_sink), (gst_pad_configure_src),
4556         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
4557         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
4558         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
4559         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
4560         (gst_pad_send_event):
4561         Use _DEBUG_OBJECT when it makes sense.
4562         Protect GST_PAD_CAPS with the OBJECT_LOCK.
4563         Small cleanups and code reflows.
4564         Avoid caps refcounting in _accept_caps.
4565         Refactor alloc_buffer so that the code performed on the peer is in a
4566         separate function. Also if the pad does not implement a buffer alloc
4567         function, we should still check if the pad is flushing before falling
4568         back to the default allocator.
4569
4570 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4571
4572         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4573         Make all uses of identity and fakesink have silent=true to avoid
4574         serialising every passing data structure, which is breaking tests
4575         on FC4 for some unknown reason.
4576
4577 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4578
4579         * gst/parse/Makefile.am:
4580         * gst/parse/grammar.y:
4581         * gst/parse/parse.l:
4582           Reverted previous patch as it required to bump the flex dependency to
4583           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
4584
4585 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4586
4587         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
4588
4589         * gst/parse/Makefile.am:
4590         * gst/parse/grammar.y:
4591         * gst/parse/parse.l:
4592           push & pop the state of the lexer for reentrant use case
4593           Fixes #349180
4594
4595 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
4596
4597         * libs/gst/base/gstbasesrc.h:
4598           Note in the docs that the ::newsegment vfunc is not actually used by
4599           GstBaseSrc.
4600
4601 2006-07-28  Wim Taymans  <wim@fluendo.com>
4602
4603         * libs/gst/base/gstcollectpads.c:
4604         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
4605         (gst_collect_pads_clear), (gst_collect_pads_flush),
4606         (gst_collect_pads_event), (gst_collect_pads_chain):
4607         When flushing a pad, also clear the queued buffer so that we don't
4608         accidentally use it when we shouldn't.
4609         Fix leaks by inreffing incomming buffer.
4610         Flush out queued buffers in case of errors.
4611         Fixes #347452.
4612
4613 2006-07-28  Wim Taymans  <wim@fluendo.com>
4614
4615         * docs/random/phonon-gst:
4616         Random notes about a Phonon backend.
4617
4618 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4619
4620         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4621         Extra debug output
4622         * tests/check/libs/gdp.c: (gst_dp_suite):
4623         Take a whack at fixing the ppc compile using a different define to
4624         disable the broken test.
4625
4626         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4627         Remove excess g_print()
4628
4629 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4630
4631         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4632         Oops, meant to uncomment this line too to dampen the noise a bit.
4633
4634 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4635
4636         * gst/parse/grammar.y:
4637         * gst/parse/parse.l:
4638         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4639         (GST_START_TEST), (parse_suite):
4640         Fix some of the leaks exposed by extending the parse-launch testsuite,
4641         and move the 3 I can't figure out into a separate test that won't run
4642         the pipelines unless the appropriate line is uncommented.
4643
4644 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4645
4646         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4647           Requesting 0 bytes before the end of the file should result in
4648           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
4649           unit test.
4650
4651 2006-07-27  Wim Taymans  <wim@fluendo.com>
4652
4653         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
4654         Fix useless assert, a uint is always positive.
4655
4656         * gst/gststructure.c: (gst_structure_nth_field_name),
4657         (gst_structure_foreach), (gst_structure_map_in_place):
4658         Check input arguments for public functions to avoid obvious crashes.
4659
4660         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
4661         * plugins/elements/gstfakesink.h:
4662         Do less useless typechecking.
4663
4664 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4665
4666         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4667           Do not use mmap() by default since there are a number of error
4668           conditions that we would like to handle in a non-fatal way that
4669           will result in a SIGBUS if we use mmap(). Examples: external
4670           devices (USB harddrive, portable music player) being unplugged
4671           while in use; file on mounted CD/DVD that can't be read because
4672           the medium is partly damaged. Fixes #348455 and #348475.
4673
4674 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4675
4676         * gst/gstquery.h:
4677         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
4678         rates are a gdouble
4679
4680 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
4681
4682         * gst/gstregistry.c:
4683           Move big documentation comment into class section header, so that it
4684           appears in the API docs.
4685
4686 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4687
4688         * docs/gst/gstreamer-sections.txt:
4689         Oops. Commit the docs additions too for new API.
4690         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
4691
4692 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4693
4694         * gst/gststructure.c: (gst_structure_id_set),
4695         (gst_structure_id_set_valist):
4696         * gst/gststructure.h:
4697         Add API for setting values into structures without performing
4698         a quark lookup, if the appropriate quark is already known.
4699
4700         API: gst_structure_id_set
4701         API: gst_structure_id_set_valist
4702
4703         * gst/parse/grammar.y:
4704         * gst/parse/parse.l:
4705         Remove some dead code shown by the coverage information.
4706         Don't throw a critical g_warning when encountering a syntax error,
4707         just warn and let the normal error path handle it.
4708
4709         * plugins/elements/gstelements.c:
4710         Bump the rank of filesink up to PRIMARY so that it is preferred over
4711         gnomevfssink for file:// sink uri's
4712
4713         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4714         (GST_START_TEST), (run_delayed_test),
4715         (gst_parse_test_element_base_init),
4716         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
4717         (gst_parse_test_element_change_state),
4718         (gst_register_parse_element), (parse_suite):
4719         Beef up the tests for parse syntax to check that more error cases
4720         fail as they are supposed to. Increases the test coverage a bit.
4721
4722 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
4723
4724         * docs/manual/basics-elements.xml:
4725           Fix gst_element_link() example.
4726
4727         * gst/gstutils.c:
4728           Mention in API docs that one should usually gst_bin_add()
4729           elements to a bin or pipeline before doing the linking.
4730           
4731 2006-07-26  Wim Taymans  <wim@fluendo.com>
4732
4733         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
4734         (gst_subbuffer_get_type), (gst_buffer_create_sub):
4735         Avoid function call for known types by keeping the buffer and
4736         subbuffer GType global.
4737
4738         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4739         Random silly optimisations in read() path.
4740
4741 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4742
4743         * tools/gst-launch.c: (main):
4744           If the top-level of the parse is a normal bin, it doesn't do the
4745           right logic to run as a top-level element, so place it inside a
4746           pipeline.
4747
4748 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
4749
4750         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
4751           Remove superfluous g_object_notify() calls, GObject does
4752           that for us automatically.
4753
4754 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
4755
4756         * gst/gstinfo.h:
4757           on Win32, use dllspec to export the debug category symbols
4758
4759 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
4760
4761         * gst/gsttaglist.c: (_gst_tag_initialize):
4762           Allow more than one GST_TAG_IMAGE per taglist.
4763
4764 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4765
4766         * gst/gstminiobject.c:
4767           update docs
4768         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
4769         (gst_fd_src_create):
4770           log recurring events at LOG level
4771           add more debug for when the fd gets set
4772
4773 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4774
4775         * gst/gstparse.c: (gst_parse_launch):
4776           Also remove reentrance checks if flex is MT safe (#348179)
4777          Fix my empty ChangeLog entry below
4778
4779 2006-07-21  Andy Wingo  <wingo@pobox.com>
4780
4781         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
4782
4783         * libs/gst/check/Makefile.am
4784         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
4785         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
4786         * libs/gst/check/gstbufferstraw.h:
4787         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
4788         functions, thus proving I am still a GStreamer haxor. OK I wrote
4789         them a long time ago, but anyways.
4790
4791 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4792
4793         * configure.ac:
4794         * gst/gstparse.c: (gst_parse_launch):
4795           Check for flex version and omit mutex if we have a MT save flex
4796           (fixes #348179)
4797
4798 2006-07-21  Wim Taymans  <wim@fluendo.com>
4799
4800         * gst/gstparse.c: (gst_parse_launch):
4801         Protect recursive calls to _parse with a recursive mutex
4802         and busy flag.
4803
4804 2006-07-21  Wim Taymans  <wim@fluendo.com>
4805
4806         * tests/check/gst/gstpad.c: (GST_START_TEST):
4807         Fix leak in test.
4808
4809 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
4810
4811         * gst/gstparse.c: (gst_parse_launch):
4812           Do not hang on recursive usage of gst_parse_launch()
4813
4814 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4815
4816         * gst/gsttaglist.c:
4817           Add some more docs, comments and FIXME 0.11s here and there
4818           and also fix some typos.
4819
4820 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4821
4822         * gst/gstsegment.h:
4823           Convert tabs to spaces for better readability. 
4824
4825 2006-07-20  Edward Hervey  <edward@fluendo.com>
4826
4827         * tests/check/libs/gdp.c: (gst_dp_suite):
4828         the test_buffer test fails at line 140 on ppc64 at the following
4829         check:
4830         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
4831                 GST_BUFFER_FLAG_IN_CAPS),
4832                 "GST_BUFFER_IN_CAPS flag should have been copied !");
4833         See bug #348114 for more details.
4834
4835 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
4836
4837         * docs/pwg/advanced-scheduling.xml:
4838         * gst/gstpad.c:
4839           Fix typos (#348000).
4840
4841 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
4842
4843         * docs/pwg/intro-basics.xml:
4844           Fix wrong links (#347927).
4845
4846 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
4847
4848         * gst/gstregistry.h:
4849         * gst/gstregistryxml.c: (load_feature),
4850         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
4851         * win32/common/config.h:
4852           make --disable-index work (#342564)
4853
4854 2006-07-18  Wim Taymans  <wim@fluendo.com>
4855
4856         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4857
4858         * gst/Makefile.am:
4859         * gst/gsttrace.h:
4860         The attached patch adds two missing defines to gsttrace.h when tracing
4861         is disabled.  It also corrects one existing define.
4862         Fixes #347756.
4863
4864 2006-07-17  Wim Taymans  <wim@fluendo.com>
4865
4866         * docs/gst/gstreamer-sections.txt:
4867         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
4868         * gst/gst.h:
4869         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
4870         Add two functions to check and change the SIGSEGV behaviour
4871         when loading plugins.
4872         Don't mess with the SIGSEGV handler when we were told not to.
4873         Fixes #347794.
4874         API: gst_segtrap_is_enabled
4875         API: gst_segtrap_set_enabled
4876
4877 2006-07-14  Wim Taymans  <wim@fluendo.com>
4878
4879         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4880         * tests/check/elements/filesrc.c: (GST_START_TEST):
4881         Revert fix for regression in #347408 after release.
4882
4883 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
4884
4885         Patch by: Antoine Tremblay <hexa00 at gmail com>
4886
4887         * gst/gstutils.c: (gst_element_unlink):
4888           Free iterator when done (#347311).
4889
4890         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4891           And add a test case for this.
4892
4893 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
4894
4895         * configure.ac:
4896         Bump nano back to CVS
4897
4898 === release 0.10.9 ===
4899
4900 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
4901
4902         * configure.ac:
4903           releasing 0.10.9, "On the road again"
4904
4905 2006-07-13  Wim Taymans  <wim@fluendo.com>
4906
4907         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4908         * tests/check/elements/filesrc.c: (GST_START_TEST):
4909         Revert pull-0 fix for release. Disable check. Fixes #347408.
4910
4911 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4912
4913         * libs/gst/dataprotocol/dataprotocol.c:
4914         (gst_dp_event_from_packet_1_0):
4915           Fixes #347337: failure to deserialize event packets with
4916           empty payload (only event type)
4917
4918 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4919
4920         * gst/Makefile.am:
4921           do not install a .c file in the header directory
4922
4923 2006-07-13  Edward Hervey  <edward@fluendo.com>
4924
4925         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4926         GhostPad no longer implicitely use the padtemplates of the targets.
4927         Fixes #347384
4928
4929 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
4930
4931         * gst/gstvalue.c: (gst_value_compare_list),
4932         (gst_value_compare_array), (_gst_value_initialize):
4933         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4934         Make GstValueArray comparison be order dependent as designed.
4935         Add checks for value lists and value array comparisons.
4936         Fixes #347221
4937
4938 2006-07-11  Edward Hervey  <edward@fluendo.com>
4939
4940         * gst/gstbin.c: (activate_pads),
4941         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
4942         (gst_bin_change_state_func):
4943         (de)activate src pads before calling state_change on the childs.
4944         This is to avoid the case where a src ghostpad is blocked (holding the
4945         stream lock), which would block the deactivation of the ghostpad's
4946         target pad.
4947         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
4948         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
4949         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
4950         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
4951         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
4952         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4953         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4954         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
4955         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
4956         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4957         (gst_ghost_pad_class_init),
4958         (gst_ghost_pad_internal_do_activate_push),
4959         (gst_ghost_pad_internal_do_activate_pull),
4960         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4961         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4962         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
4963         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
4964         GhostPads now create their internal GstProxyPad at creation (and not
4965         when they're linked, as it was being done previously).
4966         The internal and target pads are linked straight away.
4967         The data will also travel through the other pad in order to make
4968         pad blocking and probes non-hackish (the probe/block now really happens
4969         on the GhostPad and not on the target).
4970         * gst/gstpad.c: (gst_pad_set_blocked_async),
4971         (gst_pad_link_prepare), (gst_pad_push_event):
4972         Remove previous ghostpad cruft.
4973         * gst/gstutils.c: (gst_pad_add_data_probe),
4974         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4975         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4976         (gst_pad_remove_buffer_probe):
4977         Remove previous ghost pad cruft.
4978         Added more detailed debug statements.
4979         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4980         Fix the testsuite for refcounting changes.
4981         The comments about who has references were correct, but the refcount
4982         being checked wasn't the same (!?!).
4983
4984         Fixes #341029
4985
4986 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4987
4988         * docs/gst/gstreamer-sections.txt:
4989         * gst/gstconfig.h.in:
4990         More docs for configuration options, add docs to gtk-doc.
4991
4992 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4993
4994         * gst/Makefile.am:
4995         * gst/gstconfig.h.in:
4996         * win32/common/config.h:
4997         Fix build when disabling tracing (fixes #344016). Also start to document
4998         the defines that disable the sub-systems.
4999
5000 2006-07-10  Edward Hervey  <edward@fluendo.com>
5001
5002         * gst/gst.c: (ensure_current_registry_forking):
5003         let's make valgrind happy...
5004
5005 2006-07-09  Wim Taymans  <wim@fluendo.com>
5006
5007         * gst/gstelement.c: (activate_pads),
5008         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
5009         Better pad activation code: Reset the collect value too on resync.
5010         Add some comments.
5011
5012 2006-07-09  Wim Taymans  <wim@fluendo.com>
5013
5014         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
5015         (gst_pad_activate_push):
5016         Use some more macros where it makes sense.
5017         Allow pad mode switching instead of asserting. When a pad
5018         is activated in one mode and we activate it in another, 
5019         deactivate it first before activating it in a different mode.
5020         Fixes #329198.
5021
5022 2006-07-08  Andy Wingo  <wingo@pobox.com>
5023
5024         * tools/gst-launch.c (main): Handle err == NULL.
5025
5026         * gst/gst.c (init_post, ensure_current_registry)
5027         (ensure_current_registry_forking)
5028         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
5029         factoring out the registry scanning into separate functions. Don't
5030         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
5031         Better environment var name/interface suggestions accepted.
5032
5033 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5034
5035         * gst/gstobject.c: (gst_object_set_name_default),
5036         (gst_object_set_name):
5037           Random micro-optimisation: don't use a hash table
5038           with strings as keys and the usual strdup/strcmp
5039           involved, but rather just use the GQuark of the
5040           type name as key, since it needs to be looked up
5041           anyway to get the type name string.
5042
5043         * tests/check/gst/gstobject.c: (GST_START_TEST):
5044           Fix various leaks.
5045
5046 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5047
5048         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
5049         (gst_bin_iterate_all_by_interface):
5050           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
5051           GTypes are gulongs and thus the top 4 bytes might be cut
5052           off on some platforms when doing GPOINTER_TO_INT, leading
5053           to invalid GTypes and bad things happening (see RH bug #179654).
5054           Also add a check to make sure the type passed in is really
5055           an interface type.
5056
5057 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5058
5059         * .cvsignore:
5060           Ignore more.
5061
5062 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
5063
5064         * Makefile.am:
5065         * configure.ac:
5066         * gst-element-check.m4:
5067         * gst-element-check.m4.in:
5068           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
5069           instead of the unversioned gst-inspect (#324176, #168659).
5070
5071 2006-07-06  Wim Taymans  <wim@fluendo.com>
5072
5073         * gst/gstmessage.h:
5074         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
5075         warnings.
5076
5077 2006-07-06  Wim Taymans  <wim@fluendo.com>
5078
5079         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5080         (gst_base_src_wait), (gst_base_src_update_length),
5081         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
5082         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
5083         (gst_base_src_loop), (gst_base_src_start),
5084         (gst_base_src_activate_pull):
5085         Update docs.
5086         blocksize == 0 now means the default blocksize when working in push
5087         based mode.
5088         Remove some pointless asserts in _wait function.
5089         Fix offset/length calculations and EOS handling. We can now pull 0
5090         bytes as well, which is allowed.
5091         use _check_get_range() to decide if we can operate in _pull based
5092         mode.
5093         Fix refcounting leak when check_get_range function was not 
5094         implemented.
5095         API GstBaseSrc::blocksize range can be 0 too now (default)
5096
5097         * tests/check/elements/filesrc.c: (GST_START_TEST),
5098         (filesrc_suite):
5099         Added check to test _get_range() behaviour.
5100
5101 2006-07-06  Wim Taymans  <wim@fluendo.com>
5102
5103         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5104         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
5105         (gst_pad_pull_range):
5106         * gst/gstpad.h:
5107         Lots of comments and docs added to the pad functions.
5108         Flesh out the expected behaviour of the get_range() functions.
5109
5110 2006-07-06  Wim Taymans  <wim@fluendo.com>
5111
5112         * gst/gstbus.h:
5113         * gst/gstclock.h:
5114         * gst/gstevent.h:
5115         * gst/gstiterator.h:
5116         * gst/gstpad.h:
5117         * gst/gstplugin.h:
5118         * gst/gsttask.h:
5119         Remove comma at end of enumerator list. 
5120
5121 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
5122
5123         * win32/common/libgstbase.def:
5124         * win32/common/libgstdataprotocol.def:
5125         * win32/common/libsgtreamer.def:
5126         Add new exported functions.
5127
5128 2006-07-05  Wim Taymans  <wim@fluendo.com>
5129
5130         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
5131         Add some more docs here and there.
5132
5133 2006-07-05  Wim Taymans  <wim@fluendo.com>
5134
5135         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
5136         (gst_base_sink_loop), (gst_base_sink_get_position):
5137         When operating in pull mode update the offset so that we
5138         read sequentially.
5139
5140 2006-07-05  Wim Taymans  <wim@fluendo.com>
5141
5142         * gst/gstregistryxml.c: (read_string):
5143         Avoid strdup. (will happen in libxml, but hey!)
5144
5145         * gst/gsturi.c:
5146         Add some more docs.
5147
5148 2006-07-05  Wim Taymans  <wim@fluendo.com>
5149
5150         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
5151         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
5152         (gst_buffer_suite):
5153         No point in checking if the size of the subbuffer > 0, the
5154         code handles it correclty as demonstrated by unit test.
5155         Also add a unit test for the zero sized _new_and_alloc and
5156         _copy. Fixes #346663.
5157
5158 2006-07-05  Wim Taymans  <wim@fluendo.com>
5159
5160         * libs/gst/base/gstbasetransform.c:
5161         (gst_base_transform_prepare_output_buffer),
5162         (gst_base_transform_buffer_alloc),
5163         (gst_base_transform_handle_buffer):
5164         Make sure the buffer we pass to transform_ip has a refcount of
5165         1 and thus is writable. Fixes #343196
5166
5167 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
5168
5169         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5170         (gst_file_src_init), (gst_file_src_set_property),
5171         (gst_file_src_get_property), (gst_file_src_map_region):
5172         * plugins/elements/gstfilesrc.h:
5173         Add "sequential" property, off by default, to use madvise and hint
5174         to the kernel that sequential access is desired.
5175         Touch all retrieved pages by default to ensure they are pulled
5176         into memory. (Closes #345720)
5177
5178 2006-07-03  Wim Taymans  <wim@fluendo.com>
5179
5180         * docs/design/part-block.txt:
5181         * docs/design/part-dynamic.txt:
5182         Small docs updates.
5183
5184 2006-07-03  Wim Taymans  <wim@fluendo.com>
5185
5186         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
5187         (gst_caps_unref), (gst_static_caps_get),
5188         (gst_caps_append_structure):
5189         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
5190         Use GSlice when the glib we build against is >= 2.10
5191
5192 2006-07-03  Wim Taymans  <wim@fluendo.com>
5193
5194         * gst/gstelement.c: (gst_element_pads_activate):
5195         Small cleanup in pad activation code.
5196
5197 2006-07-03  Wim Taymans  <wim@fluendo.com>
5198
5199         Patch by: Peter Kjellerstedt <pkj at axis dot com>
5200
5201         * gst/gst-i18n-app.h:
5202         * gst/gst-i18n-lib.h:
5203         * tools/gst-inspect.c: (print_signal_info):
5204         The attached patch will make the inclusion of gettext.h unconditional in
5205         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
5206         libintl.h in tools/gst-inspect.c.
5207         This allows use of --disable-nls again and fixes #344642.
5208
5209 2006-07-03  Edward Hervey  <edward@fluendo.com>
5210
5211         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
5212         Implement pad blocking on events according to part-block.txt.
5213         More comments on behaviour.
5214         * tests/check/gst/gstevent.c: (test_event):
5215         Send event to peer pad of blocked pad (else it will block).
5216
5217 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5218
5219         * libs/gst/check/gstcheck.c: (gst_check_message_error),
5220         (gst_check_run_suite):
5221           if we get the wrong message, give us the types as string
5222         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
5223           Fix a translatable
5224         * tests/check/elements/filesrc.c: (GST_START_TEST):
5225           add a test for trying to open a non-existing file
5226
5227 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5228
5229         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5230           add a test for adding self
5231
5232 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5233
5234         * libs/gst/check/gstcheck.h:
5235           add some assert_ as alias for fail_unless_*
5236         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
5237           increase test coverage
5238
5239 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5240
5241         * Makefile.am:
5242           include lcov.mak for lcov coverage generation
5243         * tools/Makefile.am:
5244           add to CLEANFILES
5245
5246 2006-07-02  Edward Hervey  <edward@fluendo.com>
5247
5248         * tests/check/elements/.cvsignore:
5249         moaping
5250
5251 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5252
5253         * configure.ac:
5254           don't set CFLAGS and friends for gcov, done from GST_GCOV now
5255         * tests/check/Makefile.am:
5256           clean up gcov files
5257
5258 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5259
5260         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
5261           remove gst_caps_simplify; it was not declared and not used
5262           and deprecated in 0.8
5263
5264 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5265
5266         * docs/faq/gst-uninstalled:
5267           don't put empty paths on PYTHONPATH
5268         * docs/gst/gstreamer-sections.txt:
5269           remove some symbols that are not there
5270
5271 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5272
5273         * gst/gstcaps.c: (gst_caps_compare_structures):
5274           whitespace fixes
5275         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5276         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
5277           add more tests
5278
5279 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5280
5281         * libs/gst/dataprotocol/Makefile.am:
5282           build dataprotocol test by linking to the lib, instead of
5283           compiling the source, so we get coverage
5284         * tests/check/Makefile.am:
5285         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
5286         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
5287           add a test for filesrc
5288
5289 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5290
5291         * tests/check/gst/gststructure.c: (GST_START_TEST),
5292         (gst_structure_suite):
5293           Push coverage from 59.04% to 70.00%
5294
5295 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5296
5297         * tests/check/Makefile.am:
5298           gst-inspect every element; this makes sure that we also get
5299           coverage on element's get/set functions
5300
5301 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5302
5303         * configure.ac:
5304           set CFLAGS and friends to -O0 if gcov is being used
5305           add GCOV LIBS
5306         * gst/Makefile.am:
5307         * libs/gst/base/Makefile.am:
5308         * libs/gst/check/Makefile.am:
5309         * libs/gst/controller/Makefile.am:
5310         * libs/gst/dataprotocol/Makefile.am:
5311         * libs/gst/net/Makefile.am:
5312         * plugins/elements/Makefile.am:
5313         * plugins/indexers/Makefile.am:
5314           add makefile rules to generate gcov data and clean up
5315         * tests/check/Makefile.am:
5316           add a coverage target that generates an html overview
5317           of coverage data
5318
5319 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5320
5321         * tests/check/elements/fakesink.c:
5322         * tests/check/elements/fakesrc.c:
5323         * tests/check/elements/fdsrc.c:
5324         * tests/check/elements/identity.c:
5325         * tests/check/generic/sinks.c: (gst_sinks_suite):
5326         * tests/check/generic/states.c:
5327         * tests/check/gst/gst.c:
5328         * tests/check/gst/gstabi.c:
5329         * tests/check/gst/gstbin.c:
5330         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
5331         * tests/check/gst/gstbus.c: (gst_bus_suite):
5332         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5333         * tests/check/gst/gstelement.c:
5334         * tests/check/gst/gstevent.c: (gst_event_suite):
5335         * tests/check/gst/gstghostpad.c:
5336         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
5337         * tests/check/gst/gstmessage.c: (gst_message_suite):
5338         * tests/check/gst/gstminiobject.c:
5339         * tests/check/gst/gstobject.c:
5340         * tests/check/gst/gstpad.c:
5341         * tests/check/gst/gstpipeline.c:
5342         * tests/check/gst/gstplugin.c:
5343         * tests/check/gst/gstquery.c: (gst_query_suite):
5344         * tests/check/gst/gstsegment.c: (gst_segment_suite):
5345         * tests/check/gst/gststructure.c:
5346         * tests/check/gst/gstsystemclock.c:
5347         * tests/check/gst/gsttag.c:
5348         * tests/check/gst/gsttask.c: (gst_task_suite):
5349         * tests/check/gst/gstutils.c:
5350         * tests/check/gst/gstvalue.c:
5351         * tests/check/libs/adapter.c:
5352         * tests/check/libs/basesrc.c:
5353         * tests/check/libs/collectpads.c:
5354         * tests/check/libs/controller.c:
5355         * tests/check/libs/gdp.c: (gst_dp_suite):
5356         * tests/check/libs/gstnetclientclock.c:
5357         * tests/check/libs/gstnettimeprovider.c:
5358         * tests/check/libs/libsabi.c: (libsabi_suite):
5359         * tests/check/libs/typefindhelper.c:
5360         * tests/check/pipelines/cleanup.c:
5361         * tests/check/pipelines/parse-launch.c:
5362         * tests/check/pipelines/simple-launch-lines.c:
5363         * tests/check/pipelines/stress.c: (stress_suite):
5364           use the new macro
5365
5366 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5367
5368         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
5369         * libs/gst/check/gstcheck.h:
5370           create a macro and function so that the simple unit test
5371           case can be just one macro to create main()
5372
5373 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
5374
5375         * gst/gstbin.c: (gst_bin_restore_thyself):
5376         * gst/gstxml.c: (gst_xml_make_element):
5377           Fix deserialisation from XML. Set parent manually
5378           instead of using gst_bin_add(), since gst_bin_add()
5379           will unlink all pads of the element being added.
5380           Fixes #341667.
5381
5382 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
5383
5384         Patch by: Peter Kjellerstedt <pkj at axis com>
5385
5386         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
5387           Fix missing g_strdup() and double free when using the
5388           --gst-plugin-load command line option (#346097).
5389
5390 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
5391
5392         * gst/gstinfo.c:
5393           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
5394
5395         * libs/gst/net/gstnetclientclock.c:
5396         * libs/gst/net/gstnettimeprovider.c:
5397           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
5398
5399 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
5400
5401         * docs/manual/advanced-dataaccess.xml:
5402           Fix buffer probe example compilation in
5403           ADM (#345708).
5404         
5405 2006-06-22  Edward Hervey  <edward@fluendo.com>
5406
5407         * gst/gstelement.c: (gst_element_pads_activate):
5408         We need to deactivate src pads first and then sink pads.
5409         The reason is the src pads might be blocking while holding the streaming
5410         lock, so we need to deactivate them first so that deactivating the sink
5411         pads doesn't block (since it will require the streaming lock).
5412
5413 2006-06-22  Wim Taymans  <wim@fluendo.com>
5414
5415         * libs/gst/base/gstbasetransform.c:
5416         (gst_base_transform_buffer_alloc):
5417         Forgot to remove two unneeded unrefs.
5418         Simplify a check _is_equal allready checks the obvious case.
5419
5420 2006-06-22  Wim Taymans  <wim@fluendo.com>
5421
5422         * docs/design/part-block.txt:
5423         Some docs about what pad_block should do.
5424
5425 2006-06-22  Wim Taymans  <wim@fluendo.com>
5426
5427         * gst/gstcaps.c: (gst_caps_replace):
5428         Fix crasher when passed NULL. Doc clarification.
5429         Optimize for the trivial case.
5430
5431         * gst/gstpipeline.c: (gst_pipeline_change_state):
5432         Small cleanups.
5433
5434         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
5435         Small documentation cleanup.
5436
5437         * libs/gst/base/gstbasetransform.c:
5438         (gst_base_transform_buffer_alloc):
5439         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
5440         is what we need and it avoids a whole lot of redundant 
5441         refcount operations.
5442
5443 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
5444
5445         Patch by: Philip Jägenstedt  <philip at lysator liu se>
5446
5447         * docs/manual/advanced-dataaccess.xml:
5448           Fix 'Embedding static elements' section to use
5449           GST_PLUGIN_DEFINE_STATIC (#345607).
5450
5451 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5452
5453         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
5454           Attempt to 'fix' spuriously failing test case: it seems like the
5455           timeout of half a second is simply too small when the system is under
5456           load otherwise, and the timeout doesn't really seem to serve any
5457           particular purpose here. Give the pipeline a few seconds to preroll
5458           first, and then give it another half a second to go from PAUSED to
5459           PLAYING and marshal the message into the main thread.
5460
5461 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5462
5463         * tools/gst-feedback-m.m:
5464           Don't only use unversioned tools, try versioned tools as well
5465           (#345086).
5466
5467 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5468
5469         * gst/gstbus.c: (gst_bus_class_init):
5470           Fix some typos, make docs more explicit.
5471
5472 2006-06-20  Wim Taymans  <wim@fluendo.com>
5473
5474         * tests/check/gst/gstghostpad.c: (block_callback),
5475         (GST_START_TEST), (gst_ghost_pad_suite):
5476         Added some more ghostpad tests, mainly blocking
5477         and probes.
5478
5479 2006-06-16  Wim Taymans  <wim@fluendo.com>
5480
5481         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
5482         (gst_file_sink_close_file), (gst_file_sink_do_seek),
5483         (gst_file_sink_event), (gst_file_sink_render):
5484         * plugins/elements/gstfilesink.h:
5485         Check if we can seek in the file instead of assuming
5486         we always can. Post an error when we are asked to seek in a
5487         non-seekable file (like a fifo). Fixes #343312.
5488         Some cleanups.
5489
5490 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
5491
5492         * tools/gst-launch.1.in:
5493           Un-garble (fourcc) bit in filtered caps section.
5494
5495 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
5496
5497         * docs/manual/advanced-autoplugging.xml:
5498         * docs/manual/basics-helloworld.xml:
5499         * docs/manual/highlevel-components.xml:
5500           Don't leak bus reference in sample code.
5501
5502 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
5503
5504         * autogen.sh:
5505           Add default for new --enable-plugin-docs switch.
5506
5507         * configure.ac:
5508           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
5509           Fixes #344039.
5510
5511         * docs/Makefile.am:
5512           Use new ENABLE_PLUGIN_DOCS conditional.
5513
5514 2006-06-14  Wim Taymans  <wim@fluendo.com>
5515
5516         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
5517         Make it clear with a FIXME and a real define what the #if 0
5518         previously disabled.
5519
5520 2006-06-14  Wim Taymans  <wim@fluendo.com>
5521
5522         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
5523         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5524         * libs/gst/base/gstbasetransform.c:
5525         (gst_base_transform_sink_eventfunc):
5526         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
5527         Don't randomly and silently reset a segment when the format 
5528         changes as this is a bug somewhere upstream. Fixes #330379.
5529
5530 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5531
5532         Patch by: Wouter Paesen  <wouter at kangaroot net>
5533
5534         * libs/gst/controller/gstcontroller.c:
5535         (gst_controlled_property_new):
5536           Fix controlling of float properties (#344849).
5537
5538         * tests/check/libs/controller.c:
5539         (gst_test_mono_source_get_property),
5540         (gst_test_mono_source_set_property),
5541         (gst_test_mono_source_class_init), (GST_START_TEST):
5542           While we're at it, add some float stuff to unit test.
5543
5544 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5545
5546         * docs/README:
5547         * docs/images/gdp-header.svg:
5548           add a gdp image
5549         * docs/libs/Makefile.am:
5550         * docs/libs/gdp-header.png:
5551         * libs/gst/dataprotocol/dataprotocol.c:
5552           add it to the API docs
5553         * docs/manual/intro-motivation.xml:
5554           fix typo
5555
5556 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5557
5558         * gst/gst.c: (scan_and_update_registry), (init_post):
5559           If the fork()'ed child process can't write the updated registry cache
5560           file to disk for some reason, make it exit with a failure exit code,
5561           so that the parent can then re-scan the plugins itself and update the
5562           registry structures in memory and work with that (rather than failing
5563           when creating elements because seemingly no plugins are available).
5564           Refactor registry scanning code into separate function for this and
5565           also separate fork() and non-fork() code paths. Fixes #344748.
5566
5567 2006-06-13  Wim Taymans  <wim@fluendo.com>
5568
5569         * docs/manual/advanced-dataaccess.xml:
5570         Fix wrong PluginDesc. Fixes #344755.
5571
5572 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5573
5574         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5575           Fix silly bug that prevented us from creating
5576           ~/.gstreamer-0.10 and writing the registry in one
5577           go (the first call to g_mkstemp() would overwrite the
5578           placeholder in the template string, so the second call
5579           to g_mkstemp() after creating the missing directory
5580           would then error out with 'invalid argument').
5581
5582 2006-06-13  Edward Hervey  <edward@fluendo.com>
5583
5584         * gst/gst.c: (init_post):
5585         Free string.
5586
5587 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5588
5589         * gst/glib-compat-private.h:
5590         * gst/glib-compat.c:
5591         * gst/glib-compat.h:
5592         * gst/gstvalue.c: (gst_value_serialize_flags):
5593           remove GLib 2.6 compatibility code
5594
5595 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
5596
5597         * gst/parse/Makefile.am:
5598           Fix build with 'make -j N' even more (#340016).
5599
5600 2006-06-12  Wim Taymans  <wim@fluendo.com>
5601
5602         * docs/gst/gstreamer-sections.txt:
5603         Fix docs.
5604
5605 2006-06-12  Wim Taymans  <wim@fluendo.com>
5606
5607         * gst/gstsegment.c: (gst_segment_set_duration),
5608         (gst_segment_set_last_stop), (gst_segment_set_seek),
5609         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5610         (gst_segment_to_running_time), (gst_segment_clip):
5611         Use G_UNLIKELY to help the compiler a bit.
5612
5613 2006-06-12  Wim Taymans  <wim@fluendo.com>
5614
5615         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
5616
5617         * gst/gstevent.c: (gst_event_get_type):
5618         * gst/gstmessage.c:
5619         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5620         (gst_pad_push):
5621         constify quark registration strings. Fixes #344115
5622         Avoid unneeded type checking is _pad_push() by internally
5623         calling gst_pad_chain_unchecked().
5624
5625 2006-06-12  Wim Taymans  <wim@fluendo.com>
5626
5627         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
5628         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
5629         (gst_subbuffer_finalize), (gst_buffer_create_sub),
5630         (gst_buffer_is_span_fast), (gst_buffer_span):
5631         Init _type for consistency.
5632         Use _FLAGS macro to avoid type check.
5633         Avoid unneeded type checks in subbufer code.
5634
5635 2006-06-12  Wim Taymans  <wim@fluendo.com>
5636
5637         * gst/gst.c: (gst_debug_help):
5638         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
5639         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5640         (gst_plugin_feature_list_free):
5641         * gst/gstregistry.c: (gst_registry_add_plugin),
5642         (gst_registry_add_feature), (gst_registry_plugin_filter),
5643         (gst_registry_feature_filter), (gst_registry_find_plugin),
5644         (gst_registry_find_feature), (gst_registry_get_plugin_list),
5645         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
5646         * gst/gstregistryxml.c: (load_feature),
5647         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
5648         * gst/gstminiobject.c: (gst_mini_object_unref),
5649         (gst_mini_object_replace), (gst_value_mini_object_free),
5650         (gst_value_mini_object_copy):
5651         Use _CAST macros to avoid unneeded type checking.
5652         Added some more G_UNLIKELY.
5653
5654 2006-06-12  Wim Taymans  <wim@fluendo.com>
5655
5656         * gst/gstbuffer.h:
5657         Avoid unneeded type checking.
5658         API: GST_BUFFER_IS_DISCONT
5659
5660         * gst/gstminiobject.h:
5661         Avoid type check in flag accessor.
5662
5663         * gst/gstelementfactory.h:
5664         * gst/gstplugin.h:
5665         * gst/gstpluginfeature.h:
5666         Add _CAST macros.
5667         API: GST_ELEMENT_FACTORY_CAST
5668         API: GST_PLUGIN_CAST
5669         API: GST_PLUGIN_FEATURE_CAST
5670
5671 2006-06-12  Wim Taymans  <wim@fluendo.com>
5672
5673         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
5674         (gst_object_unref):
5675         Add G_UNLIKELY in type registration.
5676         Avoid type check in _ref/_unref since that is also
5677         done in glib.
5678
5679 2006-06-12  Wim Taymans  <wim@fluendo.com>
5680
5681         * gst/gsterror.c: (gst_g_error_get_type):
5682         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5683         (gst_static_pad_template_get_type):
5684         * gst/gsttaglist.c: (gst_tag_list_get_type):
5685         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
5686         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
5687         * gst/gsturi.c: (gst_uri_handler_get_type):
5688         * gst/gstvalue.c: (gst_date_get_type):
5689         * gst/gstxml.c: (gst_xml_get_type):
5690         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5691         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5692         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
5693         Add G_UNLIKELY in type registration.
5694
5695 2006-06-12  Wim Taymans  <wim@fluendo.com>
5696
5697         * tools/gst-inspect.c: (print_signal_info):
5698         Properly print enum values.
5699
5700 2006-06-12  Wim Taymans  <wim@fluendo.com>
5701
5702         * gst/gstinfo.c: (gst_debug_set_active),
5703         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
5704         * gst/gstinfo.h:
5705         Add some G_[UN]LIKELY.
5706         Maintain __gst_debug_min to avoid formatting the arguments of
5707         debug messages that will be dropped anyway to avoid a lot of 
5708         overhead from the debugging system.
5709
5710 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5711
5712         * po/POTFILES.in:
5713         * po/POTFILES.skip:
5714           add missing files containing translatable strings, tell intltool about
5715           one exception
5716
5717 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5718
5719         * tests/check/libs/.cvsignore:
5720         add test-binary to ignore list
5721
5722 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5723
5724         * docs/libs/gstreamer-libs-docs.sgml:
5725         reorder (put dp into a chapter) and indent
5726
5727 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5728
5729         * configure.ac:
5730           back to HEAD
5731
5732 === release 0.10.8 ===
5733
5734 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
5735
5736         * configure.ac:
5737           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
5738
5739 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5740
5741         * gst/gst.c: (init_post):
5742           move pid declaration to declaration block
5743
5744 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5745
5746         * gst/gst.c: (init_post):
5747           use _exit() instead of exit() in our forked child; this ensures
5748           that none of the registered exit handlers from whatever is using
5749           GStreamer get executed.  This fixes gnome-mixer-applet failing
5750           to load, because ORBit would shut down.
5751           Spotted by: Edward Hervey  <edward@fluendo.com>
5752           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
5753           Fixes #344474
5754
5755 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5756
5757         * configure.ac:
5758           back to TRUNK
5759
5760 === release 0.10.7 ===
5761
5762 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
5763
5764         * configure.ac:
5765           releasing 0.10.7, "Soepeke, ik zie ou"
5766
5767 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5768
5769         * configure.ac:
5770         * po/af.po:
5771         * po/az.po:
5772         * po/bg.po:
5773         * po/ca.po:
5774         * po/cs.po:
5775         * po/de.po:
5776         * po/en_GB.po:
5777         * po/fr.po:
5778         * po/it.po:
5779         * po/nb.po:
5780         * po/nl.po:
5781         * po/ru.po:
5782         * po/sq.po:
5783         * po/sr.po:
5784         * po/sv.po:
5785         * po/tr.po:
5786         * po/uk.po:
5787         * po/vi.po:
5788         * po/zh_CN.po:
5789         * po/zh_TW.po:
5790         * win32/common/config.h:
5791           0.10.6.2 prerelease
5792
5793 2006-06-07  Wim Taymans  <wim@fluendo.com>
5794
5795         * gst/gstindex.c: (gst_index_gtype_resolver):
5796         * tools/gst-xmlinspect.c: (print_plugin_info):
5797         Fix leak spotted by coverity checker. Fixes #343827
5798         Fix another other leak found by paolo borelli.
5799
5800 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5801
5802         * libs/gst/dataprotocol/dataprotocol.c:
5803         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5804         (gst_dp_version_get_type), (gst_dp_init),
5805         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
5806         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
5807         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
5808         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
5809         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
5810         (gst_dp_packetizer_free):
5811         * libs/gst/dataprotocol/dataprotocol.h:
5812           API: add a GstDPPacketizer object, and create/free functions
5813           API: add GstDPVersion enum
5814           Add 1.0 event function that uses the string serialization
5815           Serialize more useful buffer flags
5816           Fixes #343988
5817
5818 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5819
5820         * tests/check/Makefile.am:
5821         * tests/check/gst/gstabi.c:
5822         * tests/check/gst/struct_ppc64.h:
5823         * tests/check/libs/libsabi.c:
5824         * tests/check/libs/struct_ppc64.h:
5825           add ppc64 structure sizes
5826
5827 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5828
5829         * tests/check/Makefile.am:
5830         * tests/check/gst/gstabi.c:
5831         * tests/check/gst/struct_x86_64.h:
5832         * tests/check/libs/libsabi.c:
5833         * tests/check/libs/struct_x86_64.h:
5834           generate and add structure size lists for x86_64
5835
5836 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5837
5838         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5839         * libs/gst/check/gstcheck.h:
5840           factor out the method from tests that checks size of structures,
5841           and add code to generate the header containing these sizes
5842         * tests/check/gst/gstabi.c: (GST_START_TEST):
5843         * tests/check/gst/struct_i386.h:
5844         * tests/check/libs/libsabi.c: (GST_START_TEST):
5845         * tests/check/libs/struct_i386.h:
5846           use it
5847
5848 2006-06-06  Michael Smith  <msmith@fluendo.com>
5849
5850         * gst/gstsegment.h:
5851           Don't use c++-style comments, fixes #343929
5852
5853 2006-06-05  Edward Hervey  <edward@fluendo.com>
5854
5855         * gst/gst.c:
5856         plugin_paths is not used if we build without registry support.
5857
5858         * gst/gstsegment.c: (gst_segment_copy): 
5859         _copy() was always returning NULL...
5860
5861 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5862
5863         * libs/gst/dataprotocol/dataprotocol.c:
5864         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5865         (gst_dp_packet_from_event):
5866           factor out CRC code
5867
5868 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5869
5870         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
5871           make sure we unset caps
5872
5873 2006-06-02  Michael Smith  <msmith@fluendo.com>
5874
5875         * libs/gst/check/gstcheck.c: (gst_check_init),
5876         (gst_check_chain_func):
5877         * libs/gst/check/gstcheck.h:
5878           Add a cond/mutex to the check support lib, signal this whenever we
5879           add to the buffers list. This will allow tests to not busy-wait on
5880           the buffer-list.
5881
5882 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5883
5884         * libs/gst/dataprotocol/dataprotocol.c:
5885         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5886         (gst_dp_packet_from_event):
5887           factor out some common header init code
5888
5889 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5890
5891         * docs/libs/gstreamer-libs-sections.txt:
5892         * docs/libs/tmpl/gstdataprotocol.sgml:
5893         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5894         * libs/gst/dataprotocol/dataprotocol.h:
5895           API: make gst_dp_crc() public
5896
5897 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5898
5899         * plugins/indexers/gstindexers.c: (plugin_init):
5900         conditionally register fileindexer (fixes #343598)
5901
5902 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5903
5904         * gst/gsttagsetter.h:
5905         Can't cast ifaces to a class
5906
5907         * libs/gst/net/gstnetclientclock.h:
5908         * libs/gst/net/gstnettimeprovider.h:
5909         * plugins/elements/gstfakesink.h:
5910         * plugins/elements/gstfakesrc.h:
5911         * plugins/elements/gstfdsink.h:
5912         * plugins/elements/gstfdsrc.h:
5913         * plugins/elements/gstfilesink.h:
5914         * plugins/elements/gstfilesrc.h:
5915         * plugins/elements/gstidentity.h:
5916         * plugins/elements/gstqueue.h:
5917         * plugins/elements/gsttee.h:
5918         * plugins/indexers/gstfileindex.c:
5919         * plugins/indexers/gstmemindex.c:
5920         * tests/old/examples/plugins/example.h:
5921         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
5922
5923 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5924
5925         * libs/gst/dataprotocol/dataprotocol.c:
5926         (gst_dp_header_from_buffer):
5927           make sure we zero the whole ABI-compatible area
5928
5929 2006-06-01  Wim Taymans  <wim@fluendo.com>
5930
5931         Patch by: Alessandro Decina <alessandro at nnva dot org>
5932
5933         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
5934         Make sure the EOS flag is cleared from pads after a flush
5935         or stop. Fixes #343538.
5936
5937         * tests/check/libs/collectpads.c: (GST_START_TEST),
5938         (gst_collect_pads_suite):
5939         Added test for collectpads reusage after EOS.
5940
5941 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
5942
5943         * gst/gst.c:
5944          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
5945         * win32/common/libgstbase.def:
5946          export gst_collect_pads_set_flushing
5947         * win32/common/libgstreamer.def:
5948          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
5949          gst_value_fraction_multiply
5950         * win32/vs6/gst_inspect.dsp:
5951          add a link to intl.lib
5952
5953 2006-05-30  Wim Taymans  <wim@fluendo.com>
5954
5955         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5956         (gst_collect_pads_chain):
5957         Handle the case where a pad is removed from the collection
5958         that could cause the other pads to become collectable.
5959
5960 2006-05-30  Wim Taymans  <wim@fluendo.com>
5961
5962         * gst/gstelement.c:
5963         Clarify the use of _release_request_pad() and
5964         _get_request_pad() a bit better.
5965
5966         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
5967         (gst_adapter_take_buffer):
5968         Fix some doc and comment typos.
5969
5970 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5971
5972         * docs/gst/gstreamer-sections.txt:
5973         * docs/libs/gstreamer-libs-sections.txt:
5974           add declared symbols
5975
5976 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
5977
5978         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5979         Add debug that can be enabled using a #define at the top of the file,
5980         for dumping stats about how late/early we were when waking up from
5981         waiting on the clock.
5982
5983 2006-05-30  Wim Taymans  <wim@fluendo.com>
5984
5985         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
5986         When rebuilding the pad list, don't leak the previous list.
5987
5988 2006-05-30  Wim Taymans  <wim@fluendo.com>
5989
5990         Patch by: Lutz Mueller <lutz at topfrose dot de>
5991
5992         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5993         (gst_base_src_get_query_types), (gst_base_src_update_length):
5994         Publish supported query types.
5995         Update last_stop field in get_range mode so the position
5996         query works. Fixes #342321.
5997
5998 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
5999
6000         * docs/gst/gstreamer-sections.txt:
6001         * gst/gsttaglist.c: (_gst_tag_initialize):
6002         * gst/gsttaglist.h:
6003           API: add GST_TAG_PREVIEW_IMAGE (#343341).
6004
6005 2006-05-30  Wim Taymans  <wim@fluendo.com>
6006
6007         Patch by: Alessandro Decina <alessandro at nnva dot org>
6008
6009         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
6010         Unlock mutex when removing an unknown pad.
6011         Fixes #343334.
6012
6013         * tests/check/Makefile.am:
6014         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
6015         (push_event), (setup), (teardown), (GST_START_TEST),
6016         (gst_collect_pads_suite), (main):
6017         Added collecpads check, disabled for now as check crashes for
6018         some reason.
6019
6020 2006-05-29  Wim Taymans  <wim@fluendo.com>
6021
6022         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
6023         Don't leak pads lists.
6024
6025 2006-05-29  Wim Taymans  <wim@fluendo.com>
6026
6027         * docs/libs/gstreamer-libs-sections.txt:
6028         * libs/gst/base/gstcollectpads.c:
6029         (gst_collect_pads_set_flushing_unlocked),
6030         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
6031         (gst_collect_pads_stop):
6032         * libs/gst/base/gstcollectpads.h:
6033         API: gst_collect_pads_set_flushing()
6034         Added api to set the pads to flushing, useful for seeking
6035         code in elements using collectpads.
6036         Clear segment when receiving a flush.
6037
6038 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
6039
6040         * gst/gst.c: (add_path_func), (init_post):
6041           Don't scan registry paths passed via --gst-plugin-path immediately
6042           (will crash, because absolutely nothing is set up and no types are
6043           registered etc.); do this later in init_post(). Fixes #343057.
6044
6045 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6046
6047         * gst/gst.c: (init_post):
6048           if we have fork, fork while reading/rebuilding the registry
6049           so the parent doesn't take the hit of having all plugins loaded
6050           in memory.  Fixes #342777.
6051         * configure.ac:
6052           Check if we have fork()
6053         * win32/common/config.h.in:
6054           no fork() on win32
6055
6056 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
6057
6058         * plugins/elements/gstelements.c:
6059         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
6060         (gst_file_src_init), (gst_file_src_set_property),
6061         (gst_file_src_get_property), (gst_file_src_start):
6062         * plugins/elements/gstfilesrc.h:
6063           API: GstFileSrc::use-mmap
6064
6065         Add a use-mmap property to enable easier testing of all code paths.
6066         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
6067         in the absence of gnomevfssrc. (Closes #340501)
6068
6069 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
6070
6071         * tools/gst-inspect.c:
6072         Add missing include, removes warning of ngettext not being defined on
6073         some arches.
6074
6075 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
6076
6077         * gst/gstvalue.c: (gst_value_deserialize_fraction):
6078         Handle NULL input and output pointers silently as a failed conversion,
6079         rather than g_warnings.
6080
6081 2006-05-25  Wim Taymans  <wim@fluendo.com>
6082
6083         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
6084         Initialize variable before using. Fixes #342820.
6085
6086 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
6087
6088         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
6089           Fix off-by-one bug that would only allow peeks of N-1 bytes
6090           from the start even if the buffer to typefind on contains
6091           in fact N bytes of data (makes vorbis typefinding from a
6092           vorbis identification header buffer work).
6093
6094         * tests/check/Makefile.am:
6095         * tests/check/libs/.cvsignore:
6096         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
6097         (gst_typefindhelper_suite), (main), (foobar_typefind),
6098         (plugin_init):
6099           Add very basic unit test for gst_type_find_helper_for_buffer()
6100           that checks for the problem fixed above.
6101
6102 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
6103
6104         * tools/gst-inspect.c: (print_interfaces),
6105         (print_element_properties_info), (print_element_list), (main):
6106           add more translatable strings
6107
6108 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
6109
6110         Patch by: Julien Moutte  <julien at moutte net>
6111
6112         * docs/gst/gstreamer-sections.txt:
6113           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
6114           
6115         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
6116         (gst_fake_sink_preroll):
6117         * plugins/elements/gstfakesink.h:
6118           API: Add new GstFakeSink::preroll-handoff signal (#337100).
6119
6120 2006-05-23  Wim Taymans  <wim@fluendo.com>
6121
6122         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
6123         * gst/gstpad.h:
6124         Added _CUSTOM error and success GstFlowReturn that can be
6125         used be elements internally. 
6126         Added macro to check for SUCCESS flowreturns.
6127         API: GST_FLOW_CUSTOM_SUCCESS
6128         API: GST_FLOW_CUSTOM_ERROR
6129         API: GST_FLOW_IS_SUCCESS
6130
6131         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
6132         Added check for GstFlowReturn sanity.
6133
6134 2006-05-23  Wim Taymans  <wim@fluendo.com>
6135
6136         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
6137
6138         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
6139         (gst_collect_pads_event):
6140         clear/reset segment info in FLUSH_STOP.
6141         Fixes #336929.
6142
6143 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
6144
6145         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
6146         (gst_collect_pads_check_collected):
6147         Flush queued buffer on _stop(), fixes playing again (#342454)
6148
6149 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6150
6151         * tests/check/gst/gststructure.c: (GST_START_TEST),
6152         (gst_structure_suite):
6153           add a test for a complete structure
6154
6155 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
6156
6157         * docs/faq/developing.xml:
6158         * docs/faq/faq.xml:
6159         * docs/faq/troubleshooting.xml:
6160         * docs/faq/using.xml:
6161           Some minor FAQ updates that won't change the fact that
6162           our FAQ is badly structured, full of information hardly
6163           anyone new to GStreamer needs to know and lacking lots
6164           of information people constantly ask for.
6165           
6166 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
6167
6168         * gst/gstpad.c: (gst_pad_set_caps):
6169           Short-circuit gst_pad_set_caps if setting the existing
6170           caps pointer again, and avoid printing debug and 
6171           reffing/unreffing the caps.
6172
6173         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6174           There's actually no need to set the caps before pushing -
6175           the acceptcaps method will handle it anyway.
6176
6177 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
6178
6179         * docs/gst/gstreamer-sections.txt:
6180         * win32/common/libgstreamer.def:
6181         * gst/gstutils.c: (gst_element_seek_simple):
6182         * gst/gstutils.h:
6183           API: add gst_element_seek_simple() (#342238).
6184
6185 2006-05-18  Edward Hervey  <edward@fluendo.com>
6186
6187         * gst/gsttypefind.c: (gst_type_find_get_type):
6188         * gst/gsttypefind.h:
6189         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
6190         registered for GstTypeFind pointers. This allows wrapping the structure
6191         in bindings (i.e. gst-python).
6192
6193 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
6194
6195         * gst/gsttagsetter.c:
6196           Docs additions and fixes (see #339918).
6197
6198 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
6199
6200         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6201         The caps intersection algorithm can produce multiple copies of the
6202         caps. Until that is fixed, we need to simplify the result to be
6203         sure whether the allowed caps are fixed or not.
6204
6205         * plugins/elements/gstqueue.c: (gst_queue_init),
6206         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
6207         (gst_queue_push_one):
6208         Proxied buffer alloc should not set the caps on the source pad.
6209         When pushing buffers, we always accept the caps change that triggers.
6210         This prevents negotiation errors caused by caps changing mid-stream 
6211         and then being refused on our source pad (because upstream is now
6212         refusing those caps).
6213
6214 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
6215
6216         * tests/examples/helloworld/helloworld.c: (main):
6217           Must plug audioconvert and audioresample between decoder
6218           and audio sink.
6219
6220 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
6221
6222         * gst/gstregistryxml.c: (read_string), (load_pad_template),
6223         (load_feature), (load_plugin):
6224         Allow empty strings for some of the plugin fields so we don't 
6225         drop valid plugin entries that were written out correctly
6226         (Fixes #341479)
6227
6228 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
6229         
6230         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
6231           Use g_remove and g_rename instead of remove and rename that don't 
6232           handle utf8 characters. rename was failing for users who had specific
6233           characters in their name then the registry was built at each 
6234           gstreamer init.
6235         * win32/vs6/gst_inspect.dsp:
6236         * win32/vs6/gst_launch.dsp:
6237         * win32/vs6/libgstbase.dsp:
6238         * win32/vs6/libgstcoreelements.dsp:
6239         * win32/vs6/libgstreamer.dsp:
6240           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
6241           build of libgstreamer and clean unused libraries in projects link 
6242           settings.
6243
6244 2006-05-17  Edward Hervey  <edward@fluendo.com>
6245
6246         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6247         The queue is not responsible for pushing an EOS when receiving a fatal
6248         flow error. It's up to the real element driving the pipeline to do that.
6249
6250 2006-05-16  Edward Hervey  <edward@fluendo.com>
6251
6252         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6253         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
6254         buffer returned a fatal error. It should just send an EOS and stop
6255         its task.
6256         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
6257         when pushing buffers on the queue and will be able to handle the event.
6258
6259 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
6260
6261         * docs/manual/basics-bins.xml:
6262         * docs/manual/basics-init.xml:
6263           Fix typos and minor errors in sample code (#341856).
6264
6265 2006-05-16  Wim Taymans  <wim@fluendo.com>
6266
6267         * docs/design/part-qos.txt:
6268         Fix indexes in formulas to make more sense.
6269
6270 2006-05-15  Wim Taymans  <wim@fluendo.com>
6271
6272         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6273         Don't report POSITION based on clock time if sync is
6274         disabled in a sink.
6275
6276 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
6277
6278         * gst/gstobject.h:
6279           Add cast to make compiler happy - refcount variable was a gint
6280           in GstObject but is a guint in GObject and g_atomic_int_get()
6281           wants a gint *.
6282
6283 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6284
6285         * gst/parse/Makefile.am:
6286           chain commands using &&, which also makes parallel make work
6287
6288 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
6289
6290         * docs/gst/gstreamer-sections.txt:
6291         * gst/gstevent.c:
6292         * gst/gstevent.h:
6293         * gst/gstmessage.h:
6294           Minor docs fixes.
6295
6296 === release 0.10.6 ===
6297
6298 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
6299
6300         * configure.ac:
6301           releasing 0.10.6, "Take the cannoli"
6302
6303 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
6304
6305         * tools/gst-launch.c: (print_tag):
6306           Fix use of uninitialized variable in the hypothetical
6307           case that some broken plugin creates a GST_TAG_IMAGE
6308           tag containing a NULL buffer (#341667).
6309
6310 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
6311
6312         * tools/gst-launch.c: (print_tag):
6313           Print something more intelligible for image tags when
6314           using the -t switch (#341556).
6315
6316 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6317
6318         * Makefile.am:
6319           updates for win32
6320         * configure.ac:
6321           define GST_MAJORMINOR so we have it available in win32/common/config.h
6322           Possibly remove it from our Makefile.am files later
6323         * win32/common/config.h:
6324         * win32/common/config.h.in:
6325           added GST_MAJORMINOR
6326         * win32/common/gstenumtypes.c: (register_gst_resource_error):
6327         * win32/common/gstversion.h:
6328           updated
6329
6330 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
6331
6332         * win32/MANIFEST:
6333           Update win32 files listing.
6334         * win32/common/gstversion.h:
6335           Add GST_MAJORMINOR definition.
6336         * win32/common/libgstreamer.def:
6337           Add new exported functions.
6338           
6339 2006-05-12  Michael Smith  <msmith@fluendo.com>
6340
6341         * gst/gstplugin.c: (gst_plugin_load_file):
6342           If an so file has no plugin entry point, unload the module.
6343
6344 2006-05-11  Wim Taymans  <wim@fluendo.com>
6345
6346         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
6347         (gst_queue_set_property):
6348         Don't forget to signal the _chain or _loop function 
6349         when the queue size or thresholds change since that might
6350         cause them to make progres again.
6351
6352 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
6353
6354         * gst/gstclock.c: (gst_clock_class_init):
6355         * gst/gstindex.c: (gst_index_class_init):
6356         * gst/gstobject.c: (gst_object_class_init):
6357         * gst/gstpad.c: (gst_pad_class_init):
6358         * gst/gstpipeline.c: (gst_pipeline_class_init):
6359         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6360         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
6361         * libs/gst/base/gstbasetransform.c:
6362         (gst_base_transform_class_init):
6363         * libs/gst/net/gstnetclientclock.c:
6364         (gst_net_client_clock_class_init):
6365         * libs/gst/net/gstnettimeprovider.c:
6366         (gst_net_time_provider_class_init):
6367         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
6368         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
6369         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
6370         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
6371         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6372         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
6373         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
6374         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6375         * plugins/elements/gsttee.c: (gst_tee_class_init):
6376         * tests/old/examples/plugins/example.c: (gst_example_class_init):
6377         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6378           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
6379
6380 2006-05-11  Wim Taymans  <wim@fluendo.com>
6381
6382         * gst/gstbuffer.c: (_gst_buffer_initialize):
6383         Register subbufer along with the buffer type so that
6384         it does not accidentally gets registered from N
6385         different streaming threads in a non threadsafe way.
6386
6387 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
6388
6389         * gst/gstbuffer.h:
6390         * gst/gstevent.h:
6391         * gst/gstmessage.h:
6392           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
6393           gst_event_ref() and gst_message_ref() functions again
6394           (ugly hack, please do fix if there's a better way besides
6395           overrides.txt, which doesn't seem to work).
6396
6397 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6398
6399         * libs/gst/check/gstcheck.h:
6400           add an assert for setting state to avoid lots of repetitive code
6401           in the future
6402
6403 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6404
6405         * gst/gstvalue.c: (gst_value_serialize_flags):
6406           fix a leak if no flags are set
6407         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6408           fix leak in tests
6409
6410 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
6411
6412         * docs/manual/basics-pads.xml:
6413           Expand a bit on caps and filtered links and update
6414           examples that were still using the no longer existing
6415           gst_pad_link_filtered() (#338206).
6416
6417 2006-05-10  Wim Taymans  <wim@fluendo.com>
6418
6419         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6420         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
6421         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
6422         (gst_collect_pads_stop):
6423         * libs/gst/base/gstcollectpads.h:
6424         No need to call _stop in _finalize.
6425         Iterate the main pad list in _finalize.
6426         Added some more debug.
6427         Free lists and data in the right order.
6428         Also free data whem doing _remove_pad when stopped for
6429         backward compatibility protect ::started with PAD_LOCK as
6430         well.
6431
6432 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6433
6434         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
6435         (gst_structure_parse_value):
6436           add some comments
6437           rename a method so that it actually says what it does better
6438
6439 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6440
6441         * gst/gstevent.c: (_gst_event_initialize):
6442         * gst/gstformat.c: (_gst_format_initialize):
6443           make sure some essential types used by events are registered
6444           as part of gst_init()
6445         * gst/gstvalue.c: (gst_value_serialize_flags):
6446           if no flags are set, serialize them to a value that represents NONE
6447           so that deserializing them works
6448         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6449           add tests for serialization and deserialization of flags
6450
6451 2006-05-10  Wim Taymans  <wim@fluendo.com>
6452
6453         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
6454         (gst_collect_pads_collect_range), (gst_collect_pads_available),
6455         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
6456         (gst_collect_pads_event), (gst_collect_pads_chain):
6457         Update docs.
6458         Better debug info.
6459         Catch and return errors from the collect function
6460         Refuse data on eos pads.
6461
6462 2006-05-10  Edward Hervey  <edward@fluendo.com>
6463
6464         * gst/gstinterface.h:
6465         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
6466         GInterface type checking.
6467         They were previously using non-defined macros.
6468
6469 2006-05-09  Wim Taymans  <wim@fluendo.com>
6470
6471         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
6472         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
6473         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
6474         (gst_collect_pads_start), (gst_collect_pads_stop),
6475         (gst_collect_pads_peek), (gst_collect_pads_pop),
6476         (gst_collect_pads_available), (gst_collect_pads_read),
6477         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
6478         (gst_collect_pads_is_collected), (gst_collect_pads_event),
6479         (gst_collect_pads_chain):
6480         * libs/gst/base/gstcollectpads.h:
6481         Clean up the mess that is collectpads, add comments and
6482         FIXMEs where needed.
6483         Maintain a separate pad list so we can add pads while
6484         collecting the other ones. For this we need a new separate 
6485         lock (see comics).
6486         Fix memory leak in finalize.
6487         Refactor some weird code to set/unset pad flushing flags, mark
6488         with comments.
6489         Don't crash in _available, _read, _flush when we're EOS.
6490
6491         * tests/check/libs/.cvsignore:
6492         Ignore adapter check binary.
6493
6494 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6495
6496         * gst/gstindex.c: (gst_index_resolver_get_type):
6497         * plugins/elements/gstfakesink.c:
6498         (gst_fake_sink_state_error_get_type):
6499         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6500         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
6501         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
6502           Const-ify GEnumValue arrays.
6503
6504 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6505
6506         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6507           Add test case for flags + gst_buffer_make_metadata_writable().
6508
6509 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6510
6511         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
6512           gst_buffer_make_metadata_writable() should maintain the
6513           buffer flags (those that make sense at least) (see #340859).
6514
6515 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6516
6517         * tools/gst-inspect.c:
6518         * tools/gst-launch.c:
6519         * tools/gst-typefind.c:
6520         * tools/gst-xmlinspect.c:
6521         * tools/tools.h:
6522           Fix up includes: need to include stdlib.h in tools.h for exit().
6523
6524 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6525
6526         * gst/gsttaglist.c: (_gst_tag_initialize):
6527         * gst/gsttaglist.h:
6528           API: add GST_TAG_IMAGE tag (#340721).
6529
6530 2006-05-08  Wim Taymans  <wim@fluendo.com>
6531
6532         * gst/gstquery.c:
6533         Added some docs for the segment query.
6534
6535 2006-05-08  Wim Taymans  <wim@fluendo.com>
6536
6537         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6538         (gst_base_src_loop), (gst_base_src_change_state):
6539         Always push non-flushing serialized events in the streaming 
6540         thread.
6541
6542 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6543
6544         * gst/gsterror.c: (_gst_stream_errors_init):
6545           Add a missing error string.
6546
6547 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
6548
6549         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
6550         Add applied_rate to the debug
6551
6552         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6553         Copy applied_rate into the outgoing NEWSEGMENT event
6554
6555 2006-05-08  Wim Taymans  <wim@fluendo.com>
6556
6557         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
6558
6559         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
6560         (gst_base_sink_change_state):
6561         call ::unlock before taking the PREROLL_LOCK so we can safely
6562         handle elements that lock in ::render.
6563         Fixes #340174.
6564
6565 2006-05-08  Edward Hervey  <edward@fluendo.com>
6566
6567         * autogen.sh: (CONFIGURE_DEF_OPT): 
6568         Darwin's libtoolize is in fact called glibtoolize.
6569         Adding glibtoolize to the list of accepted names for libtoolize.
6570
6571 2006-05-08  Wim Taymans  <wim@fluendo.com>
6572
6573         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6574         Unify error handling, don't post an error message
6575         when a push() returns EOS but perform our normal EOS
6576         handling code. Fixes #340772.
6577
6578 2006-05-08  Wim Taymans  <wim@fluendo.com>
6579
6580         * docs/design/part-overview.txt:
6581         Make upsteam/downstream concepts more clear.
6582         Give an example of serialized/non-serialized events.
6583
6584         * docs/design/part-events.txt:
6585         * docs/design/part-streams.txt:
6586         Mention applied_rate.
6587
6588         * docs/design/part-trickmodes.txt:
6589         Mention applied rate, flesh out some more use cases.
6590
6591         * gst/gstevent.c: (gst_event_new_new_segment),
6592         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
6593         (gst_event_parse_new_segment_full), (gst_event_new_tag),
6594         (gst_event_parse_tag), (gst_event_new_buffer_size),
6595         (gst_event_parse_buffer_size), (gst_event_new_qos),
6596         (gst_event_parse_qos), (gst_event_parse_seek),
6597         (gst_event_new_navigation):
6598         * gst/gstevent.h:
6599         Add applied_rate field to NEWSEGMENT event.
6600         API: gst_event_new_new_segment_full()
6601         API: gst_event_parse_new_segment_full()
6602
6603         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
6604         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
6605         (gst_segment_to_stream_time), (gst_segment_to_running_time):
6606         * gst/gstsegment.h:
6607         Add applied_rate to GstSegment structure.
6608         Make calculation of stream_time and running_time more correct
6609         wrt rate/applied_rate.
6610         Add some more docs.
6611         API: GstSegment::applied_rate field
6612         API: gst_segment_set_newsegment_full();
6613
6614         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
6615         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
6616         * libs/gst/base/gstbasetransform.c:
6617         (gst_base_transform_sink_eventfunc),
6618         (gst_base_transform_handle_buffer):
6619         Parse and use applied_rate in the GstSegment field.
6620
6621         * tests/check/gst/gstevent.c: (GST_START_TEST):
6622         Add check for applied_rate field.
6623
6624         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6625         (gstsegments_suite):
6626         Add more checks for various GstSegment operations.
6627
6628 2006-05-08  Wim Taymans  <wim@fluendo.com>
6629
6630         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6631         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
6632         (gst_base_sink_get_position), (gst_base_sink_change_state):
6633         Store the sync time of the buffer end position separatly in a
6634         new variable eos_rtime so we can properly sync the EOS event.
6635         Fixes #340697.
6636         Fix the docs for gst_base_sink_set_qos_enabled().
6637         Don't set segment start to invalid value when we receive a 
6638         non TIME newsegment.
6639         get closer to handling position reporting for negative rates 
6640         correctly.
6641
6642 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6643
6644         * gst/gstcaps.c:
6645         Docs about how to print caps for debug purposes.
6646
6647         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
6648         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
6649
6650 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6651
6652         * gst/gstelement.c:
6653           use full enum names and preprend a '%' in docs strings to make recent 
6654           gtk-doc turn that into a link
6655
6656 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6657
6658         * docs/manual/basics-bins.xml:
6659         * docs/manual/basics-bus.xml:
6660         * docs/manual/basics-pads.xml:
6661           Some typo fixes, some additions, some clarifications. 
6662
6663 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6664
6665         * tools/gst-inspect.c: (main):
6666         * tools/gst-launch.c: (main):
6667         * tools/gst-run.c: (main):
6668         * tools/gst-typefind.c: (main):
6669         * tools/gst-xmlinspect.c: (main):
6670           Use the string passed to g_option_context_new() for
6671           what it's intended for - the program name is already
6672           printed elsewhere.
6673
6674 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6675
6676         * tools/Makefile.am:
6677         * tools/gst-inspect.c: (main):
6678         * tools/gst-launch.c: (main):
6679         * tools/gst-xmlinspect.c: (main):
6680         * tools/tools.h:
6681           Add back --version command line option (#340460).
6682
6683         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
6684           Add --version option and use GOption for argument parsing; refactor a
6685           bit; accept directories as arguments and recurse into them; lastly,
6686           print a decent error message when things go wrong.
6687
6688 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6689
6690         * docs/manual/basics-bins.xml:
6691         Don't mention GstThread (#340611)
6692         * docs/manual/basics-elements.xml:
6693         Update link to GObject tutorial (#340607)
6694         
6695 2006-05-05  Wim Taymans  <wim@fluendo.com>
6696
6697         * gst/gstbuffer.h:
6698         * gst/gstminiobject.c:
6699         Add note about refcounting and miniobject/buffer writeability
6700         to docs. Fixes #340604
6701
6702         * gst/gstelementfactory.h:
6703         Added some explanation about @klass.
6704
6705 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6706
6707         * docs/manual/intro-motivation.xml:
6708         * docs/manual/manual.xml:
6709         Avoid CORBA & Bonobo references (#340598)
6710
6711 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6712
6713         * docs/manual/basics-bus.xml:
6714         * docs/manual/basics-pads.xml:
6715         Fix up some inaccuracies and omissions (#340609)
6716         
6717 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6718
6719         * gst/gstghostpad.c:
6720           Small typo in docs (#340625)
6721
6722 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6723
6724         * gst/parse/Makefile.am:
6725           Make 'make -j' proof (see #340698).
6726
6727 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6728
6729         * configure.ac:
6730           Require GLib-2.8 here as well.
6731
6732 2006-05-05  Wim Taymans  <wim@fluendo.com>
6733
6734         * gst/glib-compat.c:
6735         * gst/gst.c: (init_pre):
6736         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
6737         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
6738         (gst_object_dispatch_properties_changed):
6739         * gst/gstobject.h:
6740         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6741         * gst/gststructure.c: (gst_structure_set_valist):
6742         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6743         Remove pre glib2.8 compatibility, fixes #340508
6744
6745 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6746
6747         * gst/gsttaglist.h:
6748           Mention type of tags in doc blurbs.
6749
6750 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
6751
6752         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6753         (gst_pad_configure_src), (gst_pad_push):
6754         Restore acceptcaps checking behaviour now that good plugins have
6755         been released.
6756
6757 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6758
6759         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
6760
6761         * gst/gst.c:
6762         * gst/gstbus.c:
6763         * gst/gstclock.c:
6764         * gst/gstevent.c:
6765         * gst/gstformat.c:
6766         * gst/gstmessage.c:
6767         * gst/gstparse.c:
6768         * gst/gstquery.c:
6769         * gst/gstutils.c:
6770         * gst/parse/Makefile.am:
6771         * libs/gst/base/gstadapter.c:
6772         * libs/gst/base/gstbasesrc.c:
6773         * libs/gst/base/gstpushsrc.c:
6774         * libs/gst/base/gsttypefindhelper.c:
6775         * plugins/elements/gstfakesrc.c:
6776         * plugins/elements/gstidentity.c:
6777           Make sure gstprivate.h and/or config.h are
6778           always included first, otherwise some of our
6779           defines (like _FILE_OFFSET_BITS) might be
6780           redefined in the system headers. Fixes build
6781           on opensolaris (#340016).
6782
6783 2006-05-04  Wim Taymans  <wim@fluendo.com>
6784
6785         * docs/libs/gstreamer-libs-sections.txt:
6786         API: addition: gst_adapter_take_buffer()
6787         
6788         * libs/gst/base/gstadapter.c: (gst_adapter_push),
6789         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
6790         (gst_adapter_available_fast):
6791         * libs/gst/base/gstadapter.h:
6792         Prepare for optimizing the hell out of this hugely inefficient
6793         piece of code. 
6794         Added gst_adapter_take_buffer() so we can at least start thinking
6795         about subbuffering and merging.
6796         Added some comments.
6797
6798         * tests/check/Makefile.am:
6799         * tests/check/libs/adapter.c: (GST_START_TEST),
6800         (gst_adapter_suite), (main):
6801         Added GstAdapter check.
6802
6803 2006-05-04  Wim Taymans  <wim@fluendo.com>
6804
6805         * docs/design/part-overview.txt:
6806         Fix some typos, add blurb about buffer flags.
6807
6808 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6809
6810         * docs/libs/gstreamer-libs-sections.txt:
6811           make sure GstBaseTransformClass shows up in the docs
6812         * libs/gst/base/gstbasetransform.c:
6813         * libs/gst/base/gstbasetransform.h:
6814           move docs so gtk-doc picks it up now
6815
6816 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6817
6818         * docs/libs/gstreamer-libs-sections.txt:
6819           add missing symbols to docs
6820
6821 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6822
6823         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6824           back out the newsegment handling change, see #340060 for ongoing
6825           discussion
6826
6827 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
6828
6829         * tools/gst-run.c: (get_candidates), (main):
6830           Fix wrong g_file_test() usage (see glib docs for why it doesn't
6831           work); fix typo in error message. Fixes #340079.
6832
6833 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6834
6835         * common/Makefile.am:
6836         * docs/Makefile.am:
6837         * docs/faq/Makefile.am:
6838         * docs/gst/Makefile.am:
6839         * docs/libs/Makefile.am:
6840         * docs/manual/Makefile.am:
6841         * docs/plugins/Makefile.am:
6842         * docs/pwg/Makefile.am:
6843         * docs/slides/Makefile.am:
6844         * docs/upload.mak:
6845         * common/upload.mak:
6846           move upload.mak to common
6847
6848 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6849
6850         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6851           add more asserts on refcounts
6852           do more cleanup at end of tests
6853           fix test leaks showing in FC5
6854
6855 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
6856
6857         * plugins/elements/gsttypefindelement.c:
6858         (gst_type_find_element_handle_event):
6859         reverted wrong change and reflowed code to avoid others falling into
6860         this trap
6861
6862 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6863
6864         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6865           fix changelog entry about last collectpads change,
6866           add notes about proper fix
6867
6868 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6869
6870         * gst/gst.c:
6871         * gst/gstregistry.c: (gst_registry_scan_path_level),
6872         (gst_registry_scan_path):
6873         * gst/gstregistry.h:
6874           only write out registry if it has changed, fixes #338339
6875
6876 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6877
6878         * gst/gstbin.c:
6879         * gst/gstpipeline.c:
6880         * plugins/elements/gstcapsfilter.c:
6881         * plugins/elements/gstfakesink.c:
6882         * plugins/elements/gstfakesrc.c:
6883         * plugins/elements/gstfdsink.c:
6884         * plugins/elements/gstfdsrc.c:
6885         * plugins/elements/gstfilesink.c:
6886         * plugins/elements/gstfilesrc.c:
6887         * plugins/elements/gstidentity.c:
6888         * plugins/elements/gstqueue.c:
6889         * plugins/elements/gsttee.c:
6890         * plugins/elements/gsttypefindelement.c:
6891         (gst_type_find_element_handle_event):
6892           make GstElementDetails const
6893
6894 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6895
6896         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6897         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6898         (gst_collect_pads_is_collected), (gst_collect_pads_event):
6899           more detailed debug and formatting cleanup,
6900           forward newsegments to src-pad (so that e.g. adder not eats them)
6901
6902 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6903
6904         * gst/gstutils.c: (gst_element_link_pads):
6905           cleanup double code
6906
6907 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6908
6909         * libs/gst/controller/gstcontroller.c:
6910         (gst_controller_sync_values):
6911           some little tuning
6912         * tests/check/libs/controller.c: (GST_START_TEST),
6913         (gst_controller_suite):
6914           a new test for live value handling
6915
6916 2006-04-28  Wim Taymans  <wim@fluendo.com>
6917
6918         * gst/gstutils.c: (push_and_ref):
6919         Added some more docs.
6920         Fix refcount issue whith gst_element_found_tags() helper 
6921         function. Fixes #338335
6922
6923         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6924         Added testsuite for gst_element_found_tags().
6925
6926 2006-04-28  Michael Smith  <msmith@fluendo.com>
6927
6928         * gst/gstvalue.c: (gst_value_serialize_flags):
6929           Avoid NULL dereference when trying to serialize flags containing
6930           invalid values.
6931
6932 2006-04-28  Michael Smith  <msmith@fluendo.com>
6933
6934         * plugins/elements/gsttypefindelement.c:
6935         (gst_type_find_element_handle_event):
6936           If we get EOS before any data is accumulated, don't use
6937           uninitialised local variables.
6938
6939 2006-04-28  Michael Smith  <msmith@fluendo.com>
6940
6941         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6942         (gst_dp_event_from_packet):
6943           Fixes in reading/writing events over GDP (not currently used?) - 
6944           dereferencing NULL events for unknown/invalid event types, memory
6945           leak, and change g_warning to GST_WARNING.
6946
6947 2006-04-28  Wim Taymans  <wim@fluendo.com>
6948
6949         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
6950         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6951         (gst_base_sink_get_position), (gst_base_sink_change_state):
6952         When frame dropping is enabled, we should not ignore frames
6953         without a duration.
6954         Update some documentation.
6955
6956 2006-04-28  Wim Taymans  <wim@fluendo.com>
6957
6958         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6959         (gst_base_src_send_event), (gst_base_src_change_state):
6960         Documentation updates.
6961
6962 2006-04-28  Wim Taymans  <wim@fluendo.com>
6963
6964         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
6965         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
6966         handle EAGAIN, EINTR and short writes correctly. Also clean
6967         up some error cases, avoid a deadlock on bad file descriptors and
6968         use GST_DEBUG_OBJECT.
6969         Fixes #339843
6970
6971 2006-04-28  Wim Taymans  <wim@fluendo.com>
6972
6973         * gst/gstvalue.c: (gst_value_serialize_buffer),
6974         (gst_value_deserialize_buffer):
6975         Don't try to serialize a GValue with a NULL buffer. 
6976         Fixes #339821.
6977
6978         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6979         Added check for serialisation of NULL buffers.
6980
6981 2006-04-28  Wim Taymans  <wim@fluendo.com>
6982
6983         * gst/gstminiobject.c: (gst_value_take_mini_object):
6984         Taking a NULL miniobject is valid, fix the case where
6985         we try to unref the NULL miniobject.
6986
6987 2006-04-28  Wim Taymans  <wim@fluendo.com>
6988
6989         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6990
6991         * gst/gstbin.c: (gst_bin_handle_message_func):
6992         Update docs.
6993         Don't leak bin refcount when a state recalc is
6994         in progress and we delay another one #339808.
6995
6996 2006-04-28  Wim Taymans  <wim@fluendo.com>
6997
6998         * docs/design/part-TODO.txt:
6999         Mention QoS as an ongoing work item.
7000
7001         * docs/design/part-buffering.txt:
7002         New doc about buffering that needs to be fleshed out
7003         at some point.
7004
7005         * docs/design/part-qos.txt:
7006         More QoS policy for decoders/demuxers/transforms
7007
7008         * docs/design/part-trickmodes.txt:
7009         Small update.
7010
7011 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
7012
7013         * configure.ac:
7014           back to HEAD
7015
7016 === release 0.10.5 ===
7017
7018 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
7019
7020         * configure.ac:
7021           releasing 0.10.5, "Fogo"
7022
7023 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
7024
7025         patch by: Wim Taymans
7026
7027         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
7028         (gst_pad_configure_src), (gst_pad_push):
7029         * gst/gstpipeline.c: (gst_pipeline_init):
7030           Fix internal data flow errors.  Fixes #338711.
7031
7032 2006-04-12  Wim Taymans  <wim@fluendo.com>
7033
7034         * tests/check/gst/gstelement.c: (GST_START_TEST):
7035         Don't leak the factory.
7036
7037 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7038
7039         * configure.ac:
7040         * win32/common/config.h:
7041           prerelease
7042
7043 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
7044
7045         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
7046         (gst_controller_unset_all):
7047           Free allocated GstTimedValues when freeing list nodes.
7048           Should fix leaks 'make check-valgrind' complains about.
7049
7050         * win32/common/libgstcontroller.def:
7051           Add gst_controller_unset_all.
7052
7053 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
7054
7055         * docs/libs/gstreamer-libs-sections.txt:
7056         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
7057         (gst_controller_unset_all):
7058         * libs/gst/controller/gstcontroller.h:
7059         API: Added new method gst_controller_unset_all()
7060         fixed gst_controller_unset()
7061         * tests/check/libs/controller.c: (GST_START_TEST),
7062         (gst_controller_suite):
7063         Added two testcases for new and fixed method
7064
7065 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
7066
7067         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
7068           MSG_DONTWAIT is not defined on Cygwin, so work
7069           around that (fixes #317048).
7070           
7071 2006-04-11  Wim Taymans  <wim@fluendo.com>
7072
7073         * gst/gstelementfactory.c: (gst_element_register),
7074         (gst_element_factory_create), (gst_element_factory_make):
7075         Some cleanups.
7076         Fixed a FIXME.
7077         Updated docs (Fixes #131079)
7078
7079         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
7080         Small cleanups.
7081
7082         * tests/check/gst/gstelement.c: (GST_START_TEST),
7083         (gst_element_suite):
7084         Added testcase for elementfactory class field.
7085
7086 2006-04-10  Wim Taymans  <wim@fluendo.com>
7087
7088         * gst/gstsegment.c:
7089         Added some more docs.
7090
7091         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
7092         (gst_base_sink_reset_qos):
7093         Calculate more accurate rate values.
7094
7095 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
7096
7097         * gst/gst_private.h:
7098           add a new #ifdef to use __declspec(dllimport) only for
7099           other modules and not for gstreamer core
7100         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
7101           use gst_guint64_to_gdouble for conversion
7102         * win32/common/libgstreamer.def:
7103           add new exported functions
7104         * win32/vs6/gst_inspect.dsp:
7105         * win32/vs6/gst_launch.dsp:
7106         * win32/vs6/libgstbase.dsp:
7107         * win32/vs6/libgstcontroller.dsp:
7108         * win32/vs6/libgstcoreelements.dsp:
7109         * win32/vs6/libgstdataprotocol.dsp:
7110         * win32/vs6/libgstnet.dsp:
7111           update project files
7112
7113 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
7114
7115         * gst/gstbuffer.c: (gst_subbuffer_class_init):
7116         * gst/gstclock.c: (gst_clock_class_init):
7117         * gst/gstelement.c: (gst_element_class_init):
7118         * gst/gstindex.c: (gst_index_class_init):
7119         * gst/gstindexfactory.c: (gst_index_factory_class_init):
7120         * gst/gstobject.c: (gst_object_class_init),
7121         (gst_signal_object_class_init):
7122         * gst/gstpad.c: (gst_pad_class_init):
7123         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
7124         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
7125         * gst/gstregistry.c: (gst_registry_class_init):
7126         * gst/gstsystemclock.c: (gst_system_clock_class_init):
7127         * gst/gsttask.c: (gst_task_class_init):
7128         * gst/gstxml.c: (gst_xml_class_init):
7129         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7130         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7131         (gst_base_src_loop):
7132         * libs/gst/controller/gstcontroller.c:/
7133         (_gst_controller_class_init):
7134         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
7135         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
7136         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
7137         * tests/old/examples/plugins/example.c: (gst_example_class_init):
7138         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
7139         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
7140
7141 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
7142
7143         * gst/gstpad.c: (gst_pad_link):
7144           Must set peer pads before calling the link function, otherwise
7145           a task started from a link function might get a flow-not-linked
7146           result when trying to push because the other thread where the
7147           linking happens hasn't had a chance to set the peers yet. This
7148           might happen for example when a queue gets linked to a downstream
7149           element, as queue starts a streaming task when its source pad
7150           gets linked. Happens in real life when playing back flac/musepack
7151           files in playbin (#332390).
7152           
7153 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
7154
7155         * gst/gstindex.h:
7156         * gst/gstxml.h:
7157         * libs/gst/base/gstadapter.h:
7158         * libs/gst/base/gstbasesink.h:
7159         * libs/gst/base/gstbasesrc.h:
7160         * libs/gst/base/gstbasetransform.h:
7161         * libs/gst/base/gstcollectpads.h:
7162         * libs/gst/base/gstpushsrc.h:
7163         Fix broken GObject macros
7164
7165 2006-04-07  Wim Taymans  <wim@fluendo.com>
7166
7167         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7168         Initialize start and stop times, thanks valgrind.
7169
7170 2006-04-07  Wim Taymans  <wim@fluendo.com>
7171
7172         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7173         Be a bit nicer to badly behaving upstream elements that expect
7174         us to deal with non TIME segments and timestamps (such as fakesrc
7175         in the testsuite).
7176
7177 2006-04-07  Wim Taymans  <wim@fluendo.com>
7178
7179         * gst/gstbus.c:
7180         Small documentation clarification about the signal watch.
7181
7182         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
7183         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
7184         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7185         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
7186         (gst_base_sink_get_position_last),
7187         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
7188         Convert and store timestamps in stream time and running time, the
7189         raw timestamps are not useful, also document this better.
7190         Use different window sizes for good and bad QoS observations so
7191         we react to badness a little quicker.
7192         Keep track of the amount of rendered and dropped buffers.
7193         Send QoS timestamps in running time.
7194
7195         * libs/gst/base/gstbasetransform.c:
7196         (gst_base_transform_sink_eventfunc),
7197         (gst_base_transform_handle_buffer):
7198         Compare QoS timestamps against running time.
7199
7200 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
7201
7202         * gst/gstpad.c:
7203           Typo fixes in docs.
7204
7205 2006-04-06  Michael Smith  <msmith@fluendo.com>
7206
7207         * gst/gstpad.c: (gst_pad_set_property):
7208           Use g_value_get_object() instead of g_value_dup_gst_object(),
7209           to avoid double-reffing the pad template (which we then sink,
7210           so this worked previously if (and only if) the pad template
7211           was floating.
7212
7213         * gst/gstpadtemplate.c: (gst_pad_template_init),
7214         (gst_pad_template_pad_created):
7215           Never return floating references to pad templates, create
7216           them as initially-sunken.
7217
7218           Document an extra function (and make this stop sinking our
7219           pad template, since that is now guaranteed to do nothing,
7220           since we created it sunken).
7221
7222         * gst/gstghostpad.c:
7223           Fix docs typo.
7224
7225 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
7226
7227         * gst/gstinfo.c: (__gst_in_valgrind):
7228           Add some newlines.
7229
7230         * plugins/elements/gsttypefindelement.c:
7231         (gst_type_find_element_chain):
7232           Don't leak buffer caps.
7233
7234 2006-04-06  Michael Smith  <msmith@fluendo.com>
7235
7236         * gst/parse/grammar.y:
7237           Fix a leak in parse-launch for any source-or-sink named element 
7238           references used.
7239
7240         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
7241           Unref the pipeline if it exists after we've failed parsing.
7242
7243 2006-04-05  Michael Smith  <msmith@fluendo.com>
7244
7245         * gst/gstpipeline.c: (gst_pipeline_init):
7246           When we create a pipeline bus, initially create it in flushing mode.
7247           Fixes leaks in at least one test, and makes a new pipeline work the
7248           same as one that has gone to READY and then back to NULL.
7249
7250         * gst/gstelement.c:
7251           Typo fix in docs.
7252
7253 2006-04-05  Michael Smith  <msmith@fluendo.com>
7254
7255         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7256           Unref a pad we reffed.
7257         * tests/check/gst/gstutils.c: (GST_START_TEST):
7258           Unref bins
7259
7260 2006-04-05  Michael Smith  <msmith@fluendo.com>
7261
7262         * gst/gstquery.c: (gst_query_set_formats),
7263         (gst_query_set_formatsv):
7264           Fix leaking GValues in queries, as shown by valgrind/testsuite.
7265
7266 2006-04-05  Michael Smith  <msmith@fluendo.com>
7267
7268         * tests/check/generic/sinks.c: (GST_START_TEST):
7269           Fix a variety of memleaks in sinks check, which are only sometimes 
7270           shown by running the tests under valgrind (weird?).
7271
7272 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
7273
7274         * docs/version.entities.in:
7275           Fix the substituted entity name after thomas' changes on the
7276           weekend.
7277
7278 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7279
7280         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
7281         VALGRIND_PRINTF
7282         
7283 2006-04-05  Andy Wingo  <wingo@pobox.com>
7284
7285         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
7286
7287         * libs/gst/base/gstbasetransform.c
7288         (gst_base_transform_sink_eventfunc): When resetting our segment on
7289         FLUSH_STOP, also update the flag saying we haven't seen a
7290         newsegment.
7291
7292 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7293
7294         Patch by: Paolo Borelli  <pborelli at katamail dot com>
7295
7296         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7297         (gst_plugin_check_license):
7298           minor clean-ups: G_DEFINE_TYPE already takes care of the
7299           parent_class stuff, no need to do it twice. Mark array of
7300           license strings as constant. (#337103)
7301           
7302 2006-04-04  Michael Smith  <msmith@fluendo.com>
7303
7304         * tools/gst-inspect.c: (print_element_list):
7305           Free the right plugin list; fixes a memory leak.
7306
7307 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7308
7309         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
7310
7311         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7312           Don't error out on empty buffers (#336945).
7313           
7314 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
7315
7316         * docs/libs/gstreamer-libs-sections.txt:
7317         * gst/gsttaglist.c:
7318         * libs/gst/base/gstbasesink.c:
7319         * libs/gst/base/gstbasesink.h:
7320         * libs/gst/base/gstbasesrc.c:
7321         * libs/gst/base/gstbasesrc.h:
7322           Documentation updates. Make BaseSink and BaseSrc docs contain the
7323           class structure so that people can actually see the prototypes for
7324           virtual functions they're supposed to be overriding.
7325
7326 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7327
7328         * plugins/elements/gsttypefindelement.c:
7329         (gst_type_find_element_chain):
7330           More debug info; when skipping typefinding, send cached
7331           events in all cases.
7332
7333 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7334
7335         * configure.ac:
7336           use new AS_VERSION and AS_NANO macros
7337         * gst/gst-i18n-lib.h:
7338         * gst/gst.c:
7339         * gst/gsterror.c:
7340         * gst/gstversion.h.in:
7341         * win32/common/config.h:
7342         * win32/common/config.h.in:
7343           update accordingly
7344
7345 2006-03-31  Michael Smith  <msmith@fluendo.com>
7346
7347         * plugins/elements/gsttypefindelement.c:
7348         (gst_type_find_element_chain):
7349           Do not typefind content if the buffers already have caps.
7350           Neccesary for icydemux (#333657), and the right thing to do anyway.
7351
7352 2006-03-30  Wim Taymans  <wim@fluendo.com>
7353
7354         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7355         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
7356         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
7357         (gst_base_sink_record_qos_observation),
7358         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7359         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7360         (gst_base_sink_change_state):
7361         More QoS measurements as described in the design doc.
7362         Get rid of ringbuffer with observations, running average is
7363         more simple and equally good.
7364         Calculates valid proportion now.
7365         Added beginning of flood measurement.
7366
7367 2006-03-29  Wim Taymans  <wim@fluendo.com>
7368
7369         * docs/design/part-qos.txt:
7370         * gst/gstclock.c:
7371         Small documentation updates and additions.
7372
7373 2006-03-29  Wim Taymans  <wim@fluendo.com>
7374
7375         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7376         (gst_base_src_send_event), (gst_base_src_loop),
7377         (gst_base_src_change_state):
7378         Perform the EOS logic when we reach the segment stop position.
7379         Fix compilation on gcc4.1
7380
7381 2006-03-29  Wim Taymans  <wim@fluendo.com>
7382
7383         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
7384
7385         * plugins/elements/gstqueue.c: (gst_queue_init),
7386         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
7387         (gst_queue_set_property):
7388         * plugins/elements/gstqueue.h:
7389         In queue, when EOS is received, if minimum threshold > max_size -
7390         current_level, there is chance that queue blocks forever in conditional
7391         item del wait. This is because the queue is not emptied completely due
7392         to minimum threshold.  Here is another approach. Instead of setting
7393         cur_levels to max in EOS, just zero all minimum threshold levels. This
7394         should make sure that queue gives out all data. When going to READY
7395         (stop) state, just reset the original minimum threshold levels.
7396         Fixes #336336.
7397
7398 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
7399
7400         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
7401         (gst_type_find_element_handle_event),
7402         (gst_type_find_element_send_cached_events),
7403         (gst_type_find_element_change_state):
7404         * plugins/elements/gsttypefindelement.h:
7405           When typefinding is done in push mode, we should cache
7406           events we receive during typefinding instead of just
7407           dropping them (e.g. newsegment, custom events from
7408           dvdreadsrc etc.) and then send them out once we've
7409           determined the type of the stream (and decodebin
7410           has had a chance to plug in a decoder/demuxer).
7411           
7412 2006-03-27  Wim Taymans  <wim@fluendo.com>
7413
7414         * docs/design/part-qos.txt:
7415         First QoS ideas.
7416
7417 2006-03-27  Wim Taymans  <wim@fluendo.com>
7418
7419         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
7420
7421         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7422         (gst_base_src_send_event), (gst_base_src_change_state):
7423         Handle element seek correctly when we are streaming.
7424         Fixes #326998.
7425
7426 2006-03-24  Michael Smith  <msmith@fluendo.com>
7427
7428         * docs/faq/gst-uninstalled:
7429           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
7430           allow you to correctly run intalled applications built against old 
7431           core, using plugins that require updated core (e.g. running
7432           installed totem against a full uninstalled gstreamer stack)
7433
7434 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7435
7436         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
7437         more debug details
7438
7439 2006-03-24  Wim Taymans  <wim@fluendo.com>
7440
7441         * docs/gst/gstreamer-sections.txt:
7442         Rearrange the order of the methods so that related methods
7443         are grouped together in sections.
7444
7445 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7446
7447         * gst/gstelement.c:
7448           Little clarification in the docs
7449
7450 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7451
7452         * docs/README:
7453         formatting fix
7454         * plugins/elements/gstidentity.c:
7455         * plugins/elements/gstqueue.c:
7456         * plugins/elements/gsttee.c:
7457         * plugins/elements/gsttypefindelement.c:
7458         GST_ELEMENT_DETAILS formatting
7459
7460 2006-03-24  Wim Taymans  <wim@fluendo.com>
7461
7462         * libs/gst/base/gstbasesink.h:
7463         Only add fields, not insert or we break ABI.
7464
7465 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7466
7467         * win32/common/libgstbase.def:
7468         * win32/common/libgstreamer.def:
7469           Update, add recently added functions.
7470
7471 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7472
7473         * docs/gst/gstreamer-sections.txt:
7474         * gst/gstutils.c: (gst_pad_query_peer_position),
7475         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
7476         * gst/gstutils.h:
7477           API: add some new utility functions:
7478            - gst_pad_query_peer_position()
7479            - gst_pad_query_peer_duration()
7480            - gst_pad_query_peer_convert()
7481           
7482 2006-03-23  Wim Taymans  <wim@fluendo.com>
7483
7484         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7485         (gst_base_sink_init), (gst_base_sink_finalize),
7486         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
7487         (gst_base_sink_set_property), (gst_base_sink_get_property),
7488         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
7489         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
7490         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
7491         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7492         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7493         (gst_base_sink_preroll_object), (gst_base_sink_event),
7494         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
7495         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
7496         (gst_base_sink_query), (gst_base_sink_change_state):
7497         Decouple max-lateness and the fact that QoS messages are generated
7498         with a new property (qos).
7499         added API: GstBaseSink::async_play()
7500         Add vmethod so subclasses can be notified of ASYNC playing
7501         state changes.
7502         Collect timestamp start and stop to report better current
7503         position in EOS/PLAYING/PAUSED/READY/NULL.
7504         Refactor QoS/frame dropping and other measurements.
7505         API: GstBaseSrc::qos
7506         Fixes #326311
7507
7508         * libs/gst/base/gstbasesink.h:
7509         Added Private struct.
7510         API: gst_base_sink_set_qos_enabled()
7511         API: gst_base_sink_is_qos_enabled()
7512
7513 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7514
7515         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
7516           If compiling against GLib-2.8 or newer, try to read the
7517           registry file using GMappedFile first before falling back
7518           to fopen() + fread() (#332151).
7519
7520 2006-03-22  Wim Taymans  <wim@fluendo.com>
7521
7522         * gst/gstinfo.c: (gst_debug_set_active),
7523         (gst_debug_category_set_threshold):
7524         Disable debugging unless explicitly activated.
7525         Fixes #335480.
7526
7527 2006-03-22  Wim Taymans  <wim@fluendo.com>
7528
7529         * gst/gstelement.c: (gst_element_set_locked_state),
7530         (gst_element_dispose):
7531         Cleanup the error case.
7532
7533         * gst/gstobject.c: (gst_object_dispose):
7534         print a critical when some object was disposed with
7535         a parent, also revive the object since it might
7536         crash the parent.
7537
7538 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
7539
7540         * tools/gst-launch.1.in:
7541           Fix another typo.
7542
7543 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7544
7545         * configure.ac:
7546         * tests/check/Makefile.am:
7547           disable some tests when we don't have a registry
7548         * tests/check/gst/gstutils.c: (gst_utils_suite):
7549           don't build the part that needs parsing
7550
7551 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7552
7553         * gst/Makefile.am
7554         * tests/examples/Makefile.am:
7555           fix --disable-parse build
7556
7557 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7558
7559         * tools/gst-feedback.1.in:
7560           Fix typo: s/feeback/feedback/ (#133494).
7561
7562 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7563
7564         * tools/Makefile.am:
7565         * tools/gst-launch.1.in:
7566           Add FILES section and correct entry about GST_REGISTRY_PATH
7567           environment variable (#133495; #133494).
7568
7569 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7570
7571         * tools/Makefile.am:
7572         * tools/gst-md5sum.1.in:
7573         * tools/gst-md5sum.c:
7574           Remove gst-md5sum and man page (the md5sink element
7575           required was removed ages ago)
7576
7577 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7578
7579         * gst/gststructure.c: (gst_structure_id_set_value):
7580           Make sure that string fields in structures/taglists
7581           contain valid UTF-8 - we don't want to pass rubbish to
7582           applications because of a buggy plugin (cp. #334167).
7583
7584 2006-03-21  Edward Hervey  <edward@fluendo.com>
7585
7586         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7587         (gst_bin_handle_message_func):
7588         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
7589         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
7590         (gst_element_set_bus_func):
7591         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
7592         * gst/gstminiobject.c: (gst_value_set_mini_object),
7593         (gst_value_take_mini_object):
7594         * gst/gstpad.c: (gst_pad_set_pad_template):
7595         * gst/gstpipeline.c: (gst_pipeline_dispose),
7596         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7597         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
7598         (gst_collect_pads_chain):
7599         * libs/gst/net/gstnettimeprovider.c:
7600         (gst_net_time_provider_set_property):
7601         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
7602         It's in fact all issues with gst_*object_replace().
7603
7604 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7605
7606         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
7607         
7608         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7609         * pkgconfig/gstreamer-check.pc.in:
7610           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
7611
7612 2006-03-21  Edward Hervey  <edward@fluendo.com>
7613
7614         * gst/gstbuffer.h:
7615         * gst/gstevent.h:
7616         * gst/gstmessage.h:
7617         gst_[buffer|event|message]_ref() macros are replaced by a static
7618         inline functions because gcc-4.1 will about if the return value
7619         isn't used.
7620         * tests/check/gst/gstevent.c: (event_probe):
7621         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
7622
7623 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
7624
7625         * gst/gstutils.h:
7626         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
7627         the type' case. (Closes: #335195 for now). In the future, when we
7628         depend on GLib 2.10, we could also intern the type name using
7629         g_intern_static_string()
7630
7631 2006-03-20  Wim Taymans  <wim@fluendo.com>
7632
7633         * gst/gstbin.c: (gst_bin_handle_message_func),
7634         (bin_query_max_init), (bin_query_position_fold),
7635         (bin_query_position_done), (gst_bin_query):
7636         Position query should also take max of all streams.
7637
7638 2006-03-20  Wim Taymans  <wim@fluendo.com>
7639
7640         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7641         (gst_fake_src_finalize):
7642         Fix leaks in fakesrc.
7643
7644         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7645         Fix leaks in the testcase.
7646
7647 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
7648
7649         * gst/gst_private.h:
7650           add win32 specific import decoration(__declspec(dllimport)) 
7651           for all extern GstDebugCategory * variables
7652         * win32/common/libgstbase.def:
7653         * win32/common/libgstcontroller.def:
7654         * win32/common/libgstreamer.def:
7655           Add some exports, remove empty lines
7656         * win32/common/libgstdataprotocol.def:
7657         * win32/common/libgstdataprotocol.dsp:
7658         * win32/common/libgstnet.def:
7659         * win32/common/libgstnet.dsp:
7660           new project files and exportation files added
7661         
7662 2006-03-19  Wim Taymans  <wim@fluendo.com>
7663
7664         * tests/check/libs/basesrc.c: (eos_event_counter):
7665         Use proper return value for probe.
7666
7667 2006-03-17  Wim Taymans  <wim@fluendo.com>
7668
7669         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7670         (gst_pad_push):
7671         Don't leak buffers, caps and pads on negotiation errors.
7672
7673 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
7674
7675         * docs/faq/cvs.xml:
7676         * docs/faq/dependencies.xml:
7677         * docs/faq/developing.xml:
7678         * docs/faq/faq.xml:
7679         * docs/faq/general.xml:
7680         * docs/faq/getting.xml:
7681         * docs/faq/legal.xml:
7682         * docs/faq/troubleshooting.xml:
7683         * docs/faq/using.xml:
7684         Faq review and update.
7685
7686 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
7687
7688         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7689         (gst_pad_push):
7690         Don't pound the cpu to pieces by checking get_caps when accept_caps
7691         is called with the same caps as the pad already has.
7692         Use GST_DEBUG_OBJECT when outputting caps change information.
7693
7694 2006-03-15  Wim Taymans  <wim@fluendo.com>
7695
7696         * gst/gstclock.c: (gst_clock_class_init):
7697         Fix docs.
7698
7699 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
7700
7701         * gst/gstbuffer.h:
7702         Documentation fix.
7703
7704         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
7705         (gst_pad_accept_caps), (gst_pad_configure_sink),
7706         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
7707         Make the default acceptcaps behaviour be to check the requested 
7708         caps against the gst_pad_get_caps output. 
7709
7710         Ensure that gst_pad_accept_caps is used to check caps when a pad
7711         doesn't have a setcaps function, so that pads automatically refuse 
7712         caps that they don't allow in their pad template. (Fixes #332986)
7713
7714         When a buffer with attached caps is pushed, ensure that the source 
7715         pad receives those caps even if the element didn't call
7716         gst_pad_set_caps first.
7717
7718 2006-03-15  Wim Taymans  <wim@fluendo.com>
7719
7720         * libs/gst/base/gstadapter.c:
7721         Add some docs.
7722
7723 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
7724
7725         * win32/common/libgstbase.def:
7726         * win32/common/libgstcontroller.def:
7727         * win32/common/libgstreamer.def:
7728           Add a whole bunch of missing functions (#334434).
7729
7730 2006-03-14  Wim Taymans  <wim@fluendo.com>
7731
7732         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7733         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
7734         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
7735         Better debug info when we receive a segment event.
7736         Reorganize a bit so we can pass the get_times() results around.
7737         Use the segment format when calculating the running time.
7738         Don't do QoS is sync is disabled or we have no clock or the
7739         element does not want us to sync to the clock.
7740         Don't drop buffers if QoS is disabled for now.
7741
7742 2006-03-14  Wim Taymans  <wim@fluendo.com>
7743
7744         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
7745         Marked the stats property as unimplemented so people don't get
7746         wild ideas.
7747         Add debug message when regression goes wrong.
7748         Added some more docs.
7749
7750 2006-03-14  Wim Taymans  <wim@fluendo.com>
7751
7752         * gst/gstsegment.c: (gst_segment_to_stream_time):
7753         Return correct return type in case of errors.
7754
7755 2006-03-14  Wim Taymans  <wim@fluendo.com>
7756
7757         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
7758           Don't segfault on invalid formats.
7759
7760 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7761
7762         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7763           Can't use gst_segment_to_running_time() when the segment
7764           is not in GST_TIME_FORMAT (like with filesink, for example).
7765           Stops flac encoding pipelines from spewing critical warnings
7766           at EOS (#331248).
7767           
7768 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7769
7770         * gst/gstpipeline.c: (gst_pipeline_class_init):
7771           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
7772
7773         * plugins/elements/gsttypefindelement.c:
7774         (gst_type_find_element_handle_event):
7775           Don't try to typefind empty streams.
7776
7777 2006-03-14  Wim Taymans  <wim@fluendo.com>
7778
7779         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
7780         (gst_base_sink_do_qos):
7781         Separate QoS calculation.
7782         Only drop buffers when lateness is bigger than the 
7783         duration of the buffer.
7784
7785 2006-03-13  Wim Taymans  <wim@fluendo.com>
7786
7787         * gst/gstpipeline.c: (gst_pipeline_set_property),
7788         (gst_pipeline_get_property), (do_pipeline_seek),
7789         (gst_pipeline_change_state), (gst_pipeline_set_delay),
7790         (gst_pipeline_get_delay):
7791         Don't deadlock when reading properties.
7792
7793 2006-03-13  Wim Taymans  <wim@fluendo.com>
7794
7795         * libs/gst/base/gstbasetransform.c:
7796         (gst_base_transform_class_init), (gst_base_transform_init),
7797         (gst_base_transform_sink_event),
7798         (gst_base_transform_sink_eventfunc),
7799         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
7800         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7801         (gst_base_transform_set_property),
7802         (gst_base_transform_get_property),
7803         (gst_base_transform_change_state), (gst_base_transform_update_qos),
7804         (gst_base_transform_set_qos_enabled),
7805         (gst_base_transform_is_qos_enabled):
7806         * libs/gst/base/gstbasetransform.h:
7807         Make basetransform virtual method for src events too.
7808         Handle QOS in basetransform.
7809         API: gst_base_transform_update_qos()
7810         API: gst_base_transform_set_qos_enabled()
7811         API: gst_base_transform_is_qos_enabled()
7812
7813 2006-03-13  Wim Taymans  <wim@fluendo.com>
7814
7815         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7816         (gst_base_sink_do_sync):
7817         Small cleanups.
7818         Use QOS debug category.
7819
7820 2006-03-13  Wim Taymans  <wim@fluendo.com>
7821
7822         * plugins/elements/gstqueue.c:
7823         Very small doc update.
7824
7825 2006-03-13  Wim Taymans  <wim@fluendo.com>
7826
7827         * gst/gst_private.h:
7828         * gst/gstinfo.c: (_gst_debug_init):
7829         Added QOS debug category
7830
7831 2006-03-13  Wim Taymans  <wim@fluendo.com>
7832
7833         * docs/gst/gstreamer-sections.txt:
7834         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
7835         * gst/gstbin.h:
7836         * gst/gstbus.c: (gst_bus_class_init):
7837         * gst/gstbus.h:
7838         * gst/gstclock.c:
7839         * gst/gstelement.c: (gst_element_set_locked_state):
7840         * gst/gstsegment.c:
7841         Documentation updates.
7842
7843         * gst/gstpipeline.c: (gst_pipeline_get_type),
7844         (gst_pipeline_class_init), (gst_pipeline_init),
7845         (gst_pipeline_dispose), (gst_pipeline_set_property),
7846         (gst_pipeline_get_property), (do_pipeline_seek),
7847         (gst_pipeline_send_event), (gst_pipeline_change_state),
7848         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
7849         (gst_pipeline_get_delay):
7850         * gst/gstpipeline.h:
7851         Added methods for setting the delay.
7852         API: gst_pipeline_set_delay()
7853         API: gst_pipeline_get_delay()
7854         Add pipeline debug category
7855         Various cleanups.
7856         Updated docs.
7857         Don't reset stream time when seek failed.
7858
7859 2006-03-13  Wim Taymans  <wim@fluendo.com>
7860
7861         * docs/design/draft-klass.txt:
7862         * docs/design/part-clocks.txt:
7863         * docs/design/part-events.txt:
7864         * docs/design/part-gstbin.txt:
7865         * docs/design/part-gstpipeline.txt:
7866         * docs/design/part-messages.txt:
7867         * docs/design/part-negotiation.txt:
7868         * docs/design/part-overview.txt:
7869         * docs/design/part-preroll.txt:
7870         * docs/design/part-seeking.txt:
7871         * docs/design/part-states.txt:
7872         * docs/design/part-streams.txt:
7873         Documentation updates.
7874
7875 2006-03-12  Julien MOUTTE  <julien@moutte.net>
7876
7877         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
7878         us to leak strings...
7879
7880 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7881
7882         * libs/gst/net/gstnettimeprovider.c:
7883           fix docs
7884         * win32/common/config.h:
7885           update
7886
7887 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
7888
7889         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
7890
7891         * configure.ac:
7892           Don't check for libgnomeui (leftover from old examples
7893           that aren't built or disted any longer) (#334303).
7894           
7895 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
7896
7897         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
7898         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7899           Emit RESOURCE_NO_SPACE_LEFT error here as well when
7900           there's no space left on the device.
7901
7902 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
7903
7904         * gst/gstclock.h:
7905           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
7906           to cast the input to GstClockTime before comparing with
7907           another GstClockTime value.
7908
7909 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7910
7911         * configure.ac:
7912           back to trunk
7913
7914 === release 0.10.4 ===
7915
7916 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
7917
7918         * configure.ac:
7919           releasing 0.10.4, "Light"
7920
7921 2006-03-10  Michael Smith  <msmith@fluendo.com>
7922
7923         * libs/gst/dataprotocol/dataprotocol.c:
7924           Fix docs for dataprocotol to not get the return types completely
7925           wrong for a few functions.
7926
7927 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7928
7929         * docs/gst/gstreamer-sections.txt:
7930         * gst/gstpipeline.c: (gst_pipeline_class_init),
7931         (gst_pipeline_init), (gst_pipeline_set_property),
7932         (gst_pipeline_get_property), (gst_pipeline_change_state),
7933         (gst_pipeline_set_auto_flush_bus),
7934         (gst_pipeline_get_auto_flush_bus):
7935         * gst/gstpipeline.h:
7936           Add new API: gst_pipeline_set_auto_flush_bus() and
7937           gst_pipeline_get_auto_flush_bus() to disable automatic
7938           flushing of the pipeline's GstBus when going from READY
7939           to NULL state (#332045).
7940
7941 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7942
7943         * docs/gst/gstreamer-sections.txt:
7944         * gst/gsturi.c: (gst_uri_has_protocol):
7945         * gst/gsturi.h:
7946            Add new API: gst_uri_has_protocol() (#333779).
7947
7948 2006-03-09  Wim Taymans  <wim@fluendo.com>
7949
7950         * gst/gstclock.c: (gst_clock_entry_new),
7951         (gst_clock_id_compare_func), (gst_clock_id_wait),
7952         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
7953         (gst_clock_init), (gst_clock_get_internal_time),
7954         (gst_clock_set_master), (do_linear_regression),
7955         (gst_clock_add_observation), (gst_clock_set_property):
7956         * gst/gstclock.h:
7957         Review docs.
7958         Small cleanups.
7959         Fix a possible segfault when the window-size is made smaller.
7960         Calculate jitter before performing the clock wait. Ideally
7961         the clock implementation should calculate jitter but we need
7962         API breakage for that.
7963
7964         * gst/gstsystemclock.c: (gst_system_clock_init):
7965         Docs review.
7966         
7967         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7968         Remove leftover else
7969
7970         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7971         (gst_systemclock_suite):
7972         Added check to test GST_CLOCK_DIFF.
7973
7974 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7975
7976         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
7977         (gst_type_find_helper_get_range):
7978           If we are provided with the size, we should implement
7979           GstTypeFind::get_length, so that typefind functions who
7980           want to can actually peek at the middle of a file.
7981
7982 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
7983
7984         * docs/manual/advanced-dataaccess.xml:
7985           Add some very very basic error checking.
7986
7987         * docs/pwg/appendix-checklist.xml:
7988           Some updates to the list of things to check when writing an element.
7989
7990 2006-03-08  Wim Taymans  <wim@fluendo.com>
7991
7992         * docs/design/part-element-transform.txt:
7993         Added some docs about the design of tranform elements.
7994
7995         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7996         (gst_base_src_loop), (gst_base_src_change_state):
7997         Mark buffers with the DISCONT flag.
7998
7999 2006-03-08  Michael Smith  <msmith@fluendo.com>
8000
8001         * gst/gstregistry.h:
8002         * gst/gstregistryxml.c: (gst_registry_save),
8003         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
8004         (gst_registry_xml_save_pad_template),
8005         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
8006         (gst_registry_xml_write_cache):
8007           Rewrite registry-saving to avoid race conditions and check for
8008           failed writes.
8009
8010 2006-03-08  Wim Taymans  <wim@fluendo.com>
8011
8012         * libs/gst/base/gstbasetransform.c:
8013         (gst_base_transform_transform_caps),
8014         (gst_base_transform_transform_size),
8015         (gst_base_transform_prepare_output_buffer),
8016         (gst_base_transform_get_unit_size),
8017         (gst_base_transform_buffer_alloc),
8018         (gst_base_transform_handle_buffer),
8019         (gst_base_transform_change_state):
8020         Cleanups, separate normal flow from errors, add sensible
8021         DEBUG lines.
8022         Don't try to renegotiate when allocating an output buffer.
8023         Also copy DISCONT buffer flag when copying a buffer.
8024         Reset the transform after we finish streaming, not during.
8025
8026 2006-03-08  Wim Taymans  <wim@fluendo.com>
8027
8028         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
8029         Use last buffer timestamp in qos message.
8030
8031 2006-03-07  Wim Taymans  <wim@fluendo.com>
8032
8033         Patch by: Christophe Fergeau
8034
8035         * docs/pwg/advanced-tagging.xml:
8036         * docs/pwg/building-pads.xml:
8037           fixes #333416
8038
8039 2006-03-07  Wim Taymans  <wim@fluendo.com>
8040
8041         * docs/libs/gstreamer-libs-sections.txt:
8042         Added basesink new methods.
8043
8044         * gst/gstevent.c:
8045         * gst/gstevent.h:
8046         Docs updates. Flesh out the QoS docs.
8047
8048         * libs/gst/base/gstadapter.c:
8049         Small doc clarification about ownership and flushing.
8050
8051         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
8052         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
8053         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
8054         (gst_base_sink_get_property), (gst_base_sink_do_sync):
8055         * libs/gst/base/gstbasesink.h:
8056         API additions: 
8057         Added new methods to allow subclass to control max-lateness 
8058         and sync.
8059         Generate very basic QoS events based on last sync observation.
8060         Updated docs, fix typo, added some QoS blurb.
8061
8062         * libs/gst/base/gstbasesrc.c:
8063         Remove obsolete _get_state() calls from docs.
8064
8065 2006-03-07  Wim Taymans  <wim@fluendo.com>
8066
8067         * docs/libs/gstreamer-libs-sections.txt:
8068         * libs/gst/base/gstbasetransform.h:
8069         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
8070         Fix docs for GstBaseSrc.
8071
8072 2006-03-07  Wim Taymans  <wim@fluendo.com>
8073
8074         * docs/gst/gstreamer-sections.txt:
8075         * gst/gstbuffer.h:
8076         * gst/gstvalue.c:
8077         * libs/gst/base/gstbasetransform.h:
8078         Small documentation fixes.
8079
8080 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
8081
8082         * gst/gstvalue.c:
8083           Document thread-unsafety of gst_value_register_foo_func()
8084           when used at the same time as gst_value_foo() (#322628).
8085
8086 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
8087
8088         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
8089         (gst_push_src_check_get_range):
8090           Push sources don't support pull mode by default.
8091
8092 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
8093
8094         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8095         (gst_base_src_init), (gst_base_src_pad_check_get_range),
8096         (gst_base_src_default_check_get_range):
8097         * libs/gst/base/gstbasesrc.h:
8098           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
8099           provide default implementation, and rename
8100           gst_base_src_check_get_range() to
8101           gst_base_src_pad_check_get_range() for clarity.
8102
8103 2006-03-06  Wim Taymans  <wim@fluendo.com>
8104
8105         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
8106         Make property overridable.
8107
8108 2006-03-06  Wim Taymans  <wim@fluendo.com>
8109
8110         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
8111         (gst_base_sink_init), (gst_base_sink_set_property),
8112         (gst_base_sink_get_property), (gst_base_sink_do_sync):
8113         * libs/gst/base/gstbasesink.h:
8114         API addition: Make max-lateness a property.
8115
8116 2006-03-06  Wim Taymans  <wim@fluendo.com>
8117
8118         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
8119         (gst_base_sink_do_sync), (gst_base_sink_render_object):
8120         Don't ever draw a frame that is >10ms late.
8121
8122 2006-03-06  Michael Smith  <msmith@fluendo.com>
8123
8124         * gst/gstmessage.c: (_gst_message_copy):
8125           When copying a message, set the parent_refcount of the enclosed
8126           structure to point at the copy, not the original message.
8127
8128 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
8129
8130         Patch by: Christophe Fergeau
8131
8132         * gst/gstutils.h:
8133           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
8134           usable in c++ code (#333417)
8135
8136 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
8137
8138         * gst/gstclock.h:
8139           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
8140
8141 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
8142
8143         * libs/gst/base/gstbasetransform.c:
8144         (gst_base_transform_transform_caps):
8145           Make sure caps are writable before passing them to
8146           gst_caps_append().
8147
8148 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
8149
8150         * gst/gsterror.h:
8151           Fix some minor docs errors.
8152
8153 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
8154
8155           Patch by: Ross Burton <ross at burtonini dot com>
8156
8157         * gst/gsterror.c: (_gst_resource_errors_init):
8158         * gst/gsterror.h:
8159           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
8160
8161 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
8162
8163         * gst/gst.c:
8164         Add a check and output a g_warning when GStreamer is built
8165         against GLib 2.6 but running against 2.8 or higher, and vice 
8166         versa. (Closes: #323542)
8167
8168 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
8169
8170         * gst/parse/parse.l:
8171           Commit patch for parse_launch syntax from #331255. Removes 
8172           support for quoted strings and mimetypes when writing filtered 
8173           caps. See the bug report for more details - I'm pretty sure this
8174           obscure feature is not in use by _anyone_ anywhere.
8175
8176           With this simple change, the size of the gstreamer.so here 
8177           drops from 2193KB to 1565KB.
8178
8179 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8180
8181         * plugins/elements/gsttypefindelement.h:
8182         * plugins/elements/gsttypefindelement.c:
8183         (gst_type_find_element_src_event), (start_typefinding),
8184         (stop_typefinding), (gst_type_find_element_handle_event),
8185         (gst_type_find_element_chain),
8186         (gst_type_find_element_chain_do_typefinding):
8187           Use gst_type_find_helper_for_buffer() for chain-based
8188           typefinding.
8189
8190 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8191
8192         * plugins/elements/gsttypefindelement.c:
8193         (gst_type_find_element_class_init),
8194         (gst_type_find_element_set_property),
8195         (gst_type_find_element_get_property):
8196           Deprecate "maximum" property (not only was it only taken into
8197           account for typefinding in push-mode anyway, it also was never
8198           actually possible to set it in the first place because the
8199           property was registered with the numeric property ID for the
8200           "minimum" property). Register "maximum" property correctly,
8201           for the sake of future copy'n'pasters. Remove some cruft
8202           from property get/set functions.
8203
8204 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8205
8206         * plugins/elements/gsttypefindelement.c:
8207         (gst_type_find_element_activate):
8208           Use gst_type_find_helper_get_range() here, so we
8209           can honour the "minimum" property and also emit
8210           the signal with the correct probability of the found caps.
8211
8212 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
8213
8214         * docs/libs/gstreamer-libs-sections.txt:
8215         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
8216         (helper_find_suggest), (gst_type_find_helper_get_range),
8217         (gst_type_find_helper):
8218         * libs/gst/base/gsttypefindhelper.h:
8219           New API: gst_type_find_helper_get_range() (#333042).
8220
8221 2006-03-02  Michael Smith  <msmith@fluendo.com>
8222
8223         * gst/gstregistryxml.c: (load_feature):
8224           Asserting on a failure to read part of the registry is Not Cool.
8225           Just log a warning and return NULL (which is already handled)
8226
8227 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
8228
8229         * win32/common/libgstbase.def:
8230           added export of gst_type_find_helper_for_buffer
8231         * win32/common/libgstbase.def:
8232           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
8233           gst_ghost_pad_get_target
8234
8235 2006-02-28  Wim Taymans  <wim@fluendo.com>
8236
8237         * docs/design/draft-klass.txt:
8238         We use Filter now.
8239         Added Connector to mark elements that are only used to
8240         allow pipeline connections.
8241         Moved Debug to extra feature since most of them are 
8242         functionally something else.
8243
8244 2006-02-28  Wim Taymans  <wim@fluendo.com>
8245
8246         * docs/design/draft-klass.txt:
8247         Some updates and clarifications.
8248
8249 2006-02-28  Wim Taymans  <wim@fluendo.com>
8250
8251         * docs/design/draft-klass.txt:
8252         Proposal for klass field values.
8253
8254         * docs/design/part-streams.txt:
8255         Start of a doc describing stream anatomy.
8256
8257 2006-02-28  Wim Taymans  <wim@fluendo.com>
8258
8259         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
8260         Help the compiler a bit with type registration.
8261         Use existing forward cod path instead of duplicating it when 
8262         handling a message.
8263         
8264         * gst/gstbus.c: (gst_bus_get_type):
8265         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
8266         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
8267         * gst/gstclock.c: (gst_clock_get_type):
8268         * gst/gstelement.c: (gst_element_get_type),
8269         * gst/gstelementfactory.c: (gst_element_factory_get_type):
8270         * gst/gstindexfactory.c: (gst_index_factory_get_type):
8271         * gst/gstminiobject.c: (gst_mini_object_get_type):
8272         * gst/gstpad.c: (gst_pad_get_type):
8273         * gst/gstsegment.c: (gst_segment_get_type):
8274         * gst/gststructure.c: (gst_structure_get_type):
8275         * gst/gstsystemclock.c: (gst_system_clock_get_type):
8276         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
8277         * gst/gstvalue.c:
8278         Help compiler with type registration.
8279
8280         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8281         Small doc update.
8282
8283 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8284
8285         * plugins/elements/gsttypefindelement.c:
8286         (gst_type_find_element_handle_event):
8287           When we get an EOS event and have not found a type yet
8288           (most likely because we had not yet accumulated
8289           TYPE_FIND_MIN_SIZE of data yet), try to determine the
8290           type given the data we have so far. Fixes typefinding
8291           for very short streams again, most notably quicktime
8292           redirections as used on Apple's trailer site (#331701).
8293
8294 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8295
8296         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
8297         (gst_type_find_helper):
8298           Try typefinding factories with the highest rank first.
8299
8300 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8301
8302         * docs/libs/gstreamer-libs-docs.sgml:
8303         * docs/libs/gstreamer-libs-sections.txt:
8304         * libs/gst/base/gsttypefindhelper.c:
8305           Add section for typefind helper and add documentation
8306           for the old and the new function.
8307
8308 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8309
8310         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
8311         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
8312         (gst_type_find_helper_for_buffer):
8313         * libs/gst/base/gsttypefindhelper.h:
8314           New API: gst_type_find_helper_for_buffer() (#332723).
8315           
8316 2006-02-27  Michael Smith  <msmith@fluendo.com>
8317
8318         Patch by: Loïc Minier
8319
8320         * configure.ac:
8321         * docs/Makefile.am:
8322         * docs/slides/Makefile.am:
8323           prevent CVS directories getting disted.
8324
8325 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8326
8327         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
8328           Use the REFCOUNTING category for caps refcounting.
8329           
8330 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
8331
8332         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
8333           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
8334
8335 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
8336
8337         * plugins/elements/gsttypefindelement.c:
8338         (gst_type_find_element_activate):
8339           Use gst_pad_check_pull_range() before _activate_pull()
8340           to avoid unnecessary open/close (see #331690).
8341
8342 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
8343
8344         * gst/gstutils.c:
8345           Docs enhancement: make it crystal clear what the
8346           gst_pad_add_*_probe() callbacks should look like.
8347
8348 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
8349
8350         * libs/gst/base/gstbasesrc.c:
8351           Document how applications can stop recording from
8352           live sources (see #330996).
8353
8354 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8355
8356         * tests/check/Makefile.am:
8357         * tests/check/libs/basesrc.c: (eos_event_counter),
8358         (basesrc_eos_events_pull), (basesrc_eos_events_push),
8359         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
8360         (gst_basesrc_suite), (main):
8361           ... and add some tests for the base source EOS stuff.
8362
8363 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8364
8365         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
8366           Test case originally showed the problem fixed below,
8367           but was then amended. Add checks back at the place
8368           where they used to be.
8369
8370 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8371
8372         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8373         (gst_base_src_init), (gst_base_src_loop),
8374         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8375         (gst_base_src_change_state):
8376         * libs/gst/base/gstbasesrc.h:
8377           Don't unconditionally send EOS when going from PAUSED to
8378           READY state, esp. make sure we don't send two EOS events
8379           in some cases (e.g. one when reaching EOS and one when
8380           going from PAUSED to READY). Also, we don't want to send
8381           EOS events when operating in pull mode. However, we do
8382           want to send an EOS event when shutting down a live
8383           source explicitly, for example (fixes #330996).
8384           
8385 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8386
8387         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
8388           Update src->read_position after a seek when not using mmap.
8389           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
8390
8391 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
8392
8393         * gst/Makefile.am:
8394         * gst/gstparse.h:
8395         * gst/gstutils.c:
8396         * gst/gstutils.h:
8397         Make things work with --disable-parse as they do with 
8398         --disable-load-save - the symbols involved disappear, but the
8399         header is still installed and GST_DISABLE_PARSE is included via
8400         gstconfig.h
8401
8402 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8403
8404         * libs/gst/base/gstbasetransform.c:
8405         (gst_base_transform_change_state): Fix a stupid bug. I was 
8406         sure I compiled that.
8407
8408 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8409
8410         * gst/gstpad.c: (gst_pad_set_blocked_async):
8411         * gst/gstutils.c: (gst_pad_add_data_probe),
8412         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8413         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8414         (gst_pad_remove_buffer_probe): Make those function act on the
8415         ghostpad target when it's a ghostpad. (Closes #331727)
8416
8417 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8418
8419         * libs/gst/base/gstbasetransform.c:
8420         (gst_base_transform_change_state): Make basetransform reusable.
8421         (Closes #331898)
8422
8423 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
8424
8425         * docs/random/release:
8426         Move the current documentation of how to do a release to the top
8427         of the file.
8428
8429         * gst/gstbin.c: (gst_bin_class_init),
8430         (gst_bin_handle_message_func):
8431         Allow multiple state-recalculation threads. (Closes #328873)
8432
8433 2006-02-19  Julien MOUTTE  <julien@moutte.net>
8434
8435         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
8436         * gst/gstpad.c: (gst_pad_set_event_function),
8437         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8438         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
8439         2 strings. You can't use the STR_NULL macro on that.
8440
8441 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
8442
8443         * gst/gstpad.c: (gst_pad_set_event_function),
8444         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8445         (gst_pad_set_getcaps_function)
8446         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
8447           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
8448           So now, we can use --gst-debug-level=5 on Windows
8449         * win32/common/libgstcontroller.def:
8450           Added export of gst_controller_init
8451         * win32/vs6/libgstcontroller.dsp:
8452           Fixed Release post build configuration
8453
8454 2006-02-17  Wim Taymans  <wim@fluendo.com>
8455
8456         * tests/check/gst/gstquery.c: (GST_START_TEST):
8457         Added another check.
8458
8459 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
8460
8461         * plugins/elements/gsttypefindelement.c: (find_peek):
8462           We can do peeks at non-zero offsets, as long as they
8463           fall within the buffer we have.
8464
8465 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
8466
8467         * tests/check/Makefile.am:
8468         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
8469         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
8470         (parse_suite), (main):
8471           Add testsuite for parse launch syntax
8472
8473 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
8474
8475         * plugins/elements/gsttypefindelement.c:
8476         (gst_type_find_element_chain):
8477           When typefinding is unsuccessful in the chain function, don't
8478           error out immediately. Only error out with NO_CAPS_FOUND if
8479           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
8480           otherwise simply wait for more data so we can try typefinding
8481           again with more data later. Also, don't attempt to typefind
8482           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
8483           this should improve typefinding from network sources where the
8484           size of the first buffer can be somewhat random.
8485
8486 2006-02-14  Wim Taymans  <wim@fluendo.com>
8487
8488         * docs/gst/gstreamer-sections.txt:
8489         * gst/gstpadtemplate.c:
8490         * gst/gstpadtemplate.h:
8491         Fix padtemplate docs, fixes #328805.
8492
8493 2006-02-14  Wim Taymans  <wim@fluendo.com>
8494
8495         * tools/gst-launch.c: (main):
8496         NO_PREROLL is not an ERROR so don't send confusing messages
8497         to the user.
8498
8499 2006-02-14  Wim Taymans  <wim@fluendo.com>
8500
8501         Patch by: Torsten Schoenfeld
8502
8503         * gst/gstregistry.c: (gst_registry_get_default),
8504         (_gst_registry_cleanup):
8505         Protect default registry with lock and ref/sink it.
8506         Fixes #324818
8507
8508 2006-02-14  Wim Taymans  <wim@fluendo.com>
8509
8510         * gst/gstbuffer.c:
8511         * gst/gstquery.c: (gst_query_list_add_format),
8512         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8513         (gst_query_parse_formats_nth):
8514         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8515         Docs fixes.
8516
8517 2006-02-14  Wim Taymans  <wim@fluendo.com>
8518
8519         * docs/gst/gstreamer-sections.txt:
8520         Reworked query docs.
8521
8522         * gst/gstquery.c: (gst_query_new_formats),
8523         (gst_query_list_add_format), (gst_query_set_formats),
8524         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8525         (gst_query_parse_formats_nth):
8526         * gst/gstquery.h:
8527         Flesh out formats query, added some new methods.
8528         Fix part of #324398.
8529
8530         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
8531         Added query creation tests.
8532
8533 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
8534
8535         * gst/gstpad.c: (fixate_value):
8536         Add a default fixation for fraction lists.
8537
8538 2006-02-13  Wim Taymans  <wim@fluendo.com>
8539
8540         * gst/gsttask.c: (gst_task_init), (gst_task_func),
8541         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
8542         (gst_task_join):
8543         * gst/gsttask.h:
8544         Detect and warn for obvious deadlocks. fixes #320340
8545         Fix error case where lock was not released.
8546
8547         * tests/check/Makefile.am:
8548         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
8549         (task_func), (gst_element_suite), (main):
8550         Add task check.
8551
8552 2006-02-13  Wim Taymans  <wim@fluendo.com>
8553
8554         * docs/gst/gstreamer-sections.txt:
8555         * gst/gstbus.c:
8556         Add new functions to docs.
8557
8558 2006-02-13  Wim Taymans  <wim@fluendo.com>
8559
8560         * docs/design/part-TODO.txt:
8561         Updated TODO list, basesrc supports seeking to non-bytes
8562         formats.
8563
8564         * docs/design/part-element-sink.txt:
8565         Update docs.
8566
8567         * gst/gstbin.c: (bin_replace_message),
8568         (gst_bin_handle_message_func):
8569         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
8570         * gst/gstevent.c: (gst_event_finalize):
8571         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8572         (gst_pad_send_event):
8573         Use shiny new _TYPE_NAME macros.
8574
8575         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8576         Move debug statement up.
8577
8578         * gst/gstelement.c: (gst_element_set_locked_state):
8579         Add some debugging.
8580
8581 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
8582
8583         * docs/gst/gstreamer-sections.txt:
8584         * gst/gstmessage.h:
8585         * gst/gstquery.h:
8586           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
8587           macros (#330906). Also, document the already existing
8588           GST_QUERY_TYPE macro.
8589
8590 2006-02-13  Wim Taymans  <wim@fluendo.com>
8591
8592         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
8593         (event_probe), (GST_START_TEST):
8594         Only events up to the pipeline EOS are counted, there are
8595         some more when going to NULL currently which we don't care
8596         about for now.
8597
8598 2006-02-13  Wim Taymans  <wim@fluendo.com>
8599
8600         * gst/gstpad.c: (gst_pad_send_event):
8601         Correctly check flushing and emit probes. fixes #330125
8602
8603 2006-02-10  Andy Wingo  <wingo@pobox.com>
8604
8605         * gst/gstbus.c (gst_bus_class_init): Declare our private data
8606         structure.
8607         (gst_bus_init): Cache the location of the private data in the
8608         instance structure.
8609         (gst_bus_enable_sync_message_emission) 
8610         (gst_bus_disable_sync_message_emission): Implement new public
8611         functions.
8612         (gst_bus_post): Emit the sync-message signal if the user asked for
8613         it. Fixes #330684.
8614
8615         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
8616         location of the bus-private structure.
8617         (gst_bus_enable_sync_message_emission)
8618         (gst_bus_disable_sync_message_emission): API addition
8619
8620 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
8621
8622         Patch by: Vincent Torri
8623
8624         * docs/pwg/building-boiler.xml:
8625         PWG patch from #326800
8626
8627 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
8628
8629         * configure.ac:
8630         * docs/Makefile.am:
8631         * docs/design/Makefile.am:
8632           Dist design docs.
8633
8634 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8635
8636         * configure.ac:
8637           back to CVS
8638
8639 === release 0.10.3 ===
8640
8641 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
8642
8643         * configure.ac:
8644           releasing 0.10.3, "Like a virgin"
8645
8646 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8647
8648         * configure.ac:
8649           2nd prerelease of 0.10.3
8650           Bump libtool versioning.
8651
8652 2006-02-07  Andy Wingo  <wingo@pobox.com>
8653
8654         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
8655         update last_stop if we're in TIME format and the timestamp is
8656         valid.
8657
8658         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
8659         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
8660         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
8661         If we get a new newsegment with a different format, adapt
8662         accordingly.
8663
8664         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
8665         of 0. Not a problem, really.
8666
8667         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
8668         warn if sync=true.
8669
8670 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
8671
8672         * configure.ac:
8673           Prelease of 0.10.3
8674
8675 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
8676
8677         * win32/vs7:
8678           project files updated to the default vs7 configuration
8679         * win32/common/libgstbase.def:
8680         * win32/common/libgstreamer.def:
8681           added new symbols,
8682           removed empty lines,
8683           sorted all exported symbols alphabetically
8684         * win32/common/dirent.c:
8685         * win32/common/dirent.h:
8686         * win32/common/gchar.h:
8687           use windows line end.
8688           
8689 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8690
8691         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8692           Send EOS event when stopping.
8693
8694 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8695
8696         * docs/README:
8697           Tell folks what to do if the plugin-foobar.xml file
8698           hasn't been generated for a newly-added plugin.
8699
8700 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8701
8702         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8703         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8704         (gst_collect_pads_start), (gst_collect_pads_stop),
8705         (gst_collect_pads_event): Collectpads now holds a reference
8706         to the GstPad that was added. Indeed we don't want to look
8707         at pads that might just go away with no warning...
8708
8709 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8710
8711         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8712         (gst_collect_pads_start), (gst_collect_pads_stop),
8713         (gst_collect_pads_event), (gst_collect_pads_chain):
8714         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
8715         Mark Nauwelaerts's patch on bug #328491.
8716
8717 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8718
8719         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
8720         (gst_utils_suite):
8721           Add some simple tests for gst_parse_bin_from_description() and
8722           gst_bin_find_unconnected_pad() (#329069).
8723
8724 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8725
8726         * tools/gst-launch.c: (event_loop), (main):
8727           Catch errors during preroll (#320084).
8728
8729 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
8730
8731         * plugins/elements/gsttypefindelement.c:
8732         (gst_type_find_element_activate):
8733           Post TYPE_NOT_FOUND error message when typefinding
8734           is unsuccessful in the activate function as well.
8735
8736 2006-02-02  Wim Taymans  <wim@fluendo.com>
8737
8738         * docs/design/part-element-sink.txt:
8739         Updated doc.
8740
8741 2006-02-02  Wim Taymans  <wim@fluendo.com>
8742
8743         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8744         (gst_base_sink_render_object),
8745         (gst_base_sink_queue_object_unlocked):
8746         Only keep track of prerollable items when we are 
8747         prerolling.
8748         Before rendering after preroll, always check if we
8749         have queued items.
8750         Added some more debugging.
8751
8752 2006-02-02  Wim Taymans  <wim@fluendo.com>
8753
8754         * gst/gstelement.c: (gst_element_continue_state),
8755         (gst_element_set_state_func), (gst_element_change_state):
8756         Fixed #326576, been running this for quite some time with
8757         no regressions at all.
8758
8759 2006-02-02  Wim Taymans  <wim@fluendo.com>
8760
8761         * common/gst.supp:
8762         Added more suppressions
8763
8764 2006-02-02  Wim Taymans  <wim@fluendo.com>
8765
8766         * docs/design/part-element-sink.txt:
8767         Updated document.
8768
8769         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8770         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
8771         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
8772         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8773         (gst_base_sink_do_sync), (gst_base_sink_render_object),
8774         (gst_base_sink_preroll_object),
8775         (gst_base_sink_queue_object_unlocked),
8776         (gst_base_sink_queue_object), (gst_base_sink_event),
8777         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
8778         (gst_base_sink_loop), (gst_base_sink_activate_pull),
8779         (gst_base_sink_get_position), (gst_base_sink_change_state):
8780         * libs/gst/base/gstbasesink.h:
8781         Totally refactored matching the design doc.
8782         Use two segments, one to clip incomming buffers and another to
8783         perform sync.
8784         Handle queueing correctly, bypass the queue when playing.
8785         Make EOS cancelable.
8786         Handle errors correctly when operating in pull based mode.
8787
8788         * tests/check/elements/fakesink.c: (GST_START_TEST),
8789         (fakesink_suite):
8790         Added new check for sinks.
8791
8792 2006-02-02  Wim Taymans  <wim@fluendo.com>
8793
8794         * gst/gstsegment.c: (gst_segment_clip):
8795         No reason to refuse to clip when start == -1
8796
8797 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
8798
8799         * docs/README:
8800         * docs/manual/intro-basics.xml:
8801         * docs/manual/intro-preface.xml:
8802         * docs/manual/manual.xml:
8803         * docs/pwg/advanced-dparams.xml:
8804         * docs/pwg/intro-basics.xml:
8805         * docs/pwg/intro-preface.xml:
8806         * docs/pwg/pwg.xml:
8807           describe dparams (controller) for plugins
8808           unify docs a little more
8809
8810 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
8811
8812         * docs/gst/gstreamer-sections.txt:
8813         * gst/gstutils.c: (element_find_unconnected_pad),
8814         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
8815         * gst/gstutils.h:
8816           Add new API: gst_parse_bin_from_description() and
8817           gst_bin_find_unconnected_pad() (#329069).
8818
8819 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
8820
8821         * docs/manual/README:
8822           uncover a nasty detail of the docs build
8823
8824 2006-01-31  Wim Taymans  <wim@fluendo.com>
8825
8826         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
8827         Don't cache duration messages if we're not going to use or
8828         free them.
8829
8830 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
8831
8832         * docs/manual/advanced-dparams.xml:
8833         * docs/pwg/advanced-dparams.xml:
8834           more dparam docs
8835         * gst/gstindex.c:
8836           fix docs
8837         * libs/gst/controller/lib.c: (gst_controller_init):
8838           init just once
8839
8840 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8841
8842         * gst/gstelement.c: (gst_element_message_full):
8843           also show file/line/func if no additional debug was given
8844
8845 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
8846         
8847         * win32/vs7/grammar.vcproj:
8848           activate copy of autogenerated files for Release mode
8849
8850 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8851         
8852         * win32/common/libgstreamer.def:
8853           export gst_value_compare
8854
8855 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
8856
8857         * plugins/elements/Makefile.am:
8858         * plugins/elements/gstelements.c:
8859         * plugins/elements/gstfdsink.c: (_do_init),
8860         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
8861         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
8862         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
8863         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
8864         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
8865         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
8866         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
8867         * plugins/elements/gstfdsink.h:
8868         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
8869
8870 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
8871
8872         * docs/manual/advanced-dparams.xml:
8873           describe controller
8874         * docs/manual/advanced-position.xml:
8875         * docs/manual/basics-init.xml:
8876         * docs/manual/manual.xml:
8877         * docs/manual/titlepage.xml:
8878         * docs/pwg/pwg.xml:
8879         * docs/pwg/titlepage.xml:
8880           cleanup xml (more to come)
8881         * libs/gst/controller/gstcontroller.c:
8882           fix typo
8883
8884 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8885         
8886         * win32/vs6/grammar.dsp:
8887           add autogen of gstmarshal.c,h for Release mode
8888                 
8889 2006-01-30  Wim Taymans  <wim@fluendo.com>
8890
8891         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8892         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
8893         (gst_base_sink_handle_object), (gst_base_sink_event),
8894         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
8895         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8896         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
8897         (gst_base_sink_deactivate), (gst_base_sink_activate),
8898         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8899         (gst_base_sink_query), (gst_base_sink_change_state):
8900         Basesink cleanups, remove some old code.
8901         Handle the case where a subclass can preroll in the render
8902         method (mostly audiosinks).
8903         Handle more events.
8904         Remove some locks around variables that are now protected
8905         with the PREROLL_LOCK (clock_id, flushing, ..).
8906         Optimize position query some more, do correct locking.
8907         Remove old code to push queue in state change, this is not
8908         needed anymore since preroll blocks on all prerollable items 
8909         now.
8910         Almost implemented as described in design doc.
8911
8912 2006-01-30  Wim Taymans  <wim@fluendo.com>
8913
8914         * tests/check/gst/gstbin.c: (GST_START_TEST):
8915         Wait for refcount to settle down before checking.
8916
8917 2006-01-30  Wim Taymans  <wim@fluendo.com>
8918
8919         * docs/design/part-element-sink.txt:
8920         Pseudo code overview of desired sink behaviour regarding
8921         preroll.
8922
8923 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8924         * win32/vs6/grammar.dsp:
8925           fix some bugs in Release mode for autogenerated files
8926                 
8927 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8928         * win32/common/libgstbase.def:
8929         * win32/common/libgstreamer.def:
8930           export some new symbols: gst_base_src_set_format,
8931           gst_iterator_next, gst_structure_set_valist
8932
8933 2006-01-29  Julien MOUTTE  <julien@moutte.net>
8934
8935         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
8936         Set pad functions unconditionally. Fixes #329105.
8937
8938 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8939         * win32/vs8:
8940           add vs8 project files created by Sergey Scobich
8941
8942 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
8943
8944         * gst/gstutils.c: (gst_element_unlink_pads):
8945         Don't leak pad references.
8946
8947         * tests/check/elements/fakesink.c: (GST_START_TEST):
8948         * tests/check/generic/sinks.c: (GST_START_TEST):
8949         * tests/check/generic/states.c: (GST_START_TEST):
8950         * tests/check/gst/gstbin.c: (GST_START_TEST):
8951         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8952         * tests/check/gst/gstelement.c: (GST_START_TEST):
8953         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8954         * tests/check/gst/gstiterator.c: (GST_START_TEST):
8955         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8956         Fix a bunch of leaks. Make generic/sinks.c
8957         use a bit less cpu by slowing the buffer rate
8958         between fakesrc and fakesink.
8959         
8960 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
8961         * gst/gstcaps.c:
8962         * gst/gstelement.c: (gst_element_send_event):
8963         * gst/gstevent.c:
8964         * gst/gstinfo.c:
8965         * gst/gstiterator.c:
8966         * gst/gstiterator.h:
8967         * gst/gstpad.c: (gst_pad_send_event):
8968         * gst/gststructure.c:
8969         * gst/gsturi.c:
8970         * gst/gstutils.c:
8971         * gst/gstvalue.c:
8972         * libs/gst/base/gstadapter.c:
8973           doc fixes, to link to function, just write gst_cool_function(), don't
8974           prefix with '#'
8975
8976 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8977
8978         * plugins/elements/gsttee.c: (gst_tee_do_push),
8979         (gst_tee_handle_buffer):
8980         Always prefer an actual return value from a src
8981         pad in place of NOT_LINKED. This means we return
8982         WRONG_STATE when all src pads are WRONG_STATE
8983         instead of NOT_LINKED.
8984
8985         Lock when replacing the last message to prevent
8986         racing with the get_property method.
8987
8988         Add debug output
8989
8990 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8991
8992         * tests/check/Makefile.am:
8993         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
8994         (main):
8995         Add a very simple check that should have caught the memleak I fixed
8996         last night (if not for the slice allocator hiding it)
8997
8998 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8999
9000         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
9001         (gst_bin_remove_func), (gst_bin_handle_message_func),
9002         (bin_query_duration_fold), (bin_query_generic_fold):
9003         Clean up references to the clock provider when disposed or when
9004         handling a clock-lost message from it.
9005
9006         Unref sinks when performing a query via gst_iterator_fold, as the
9007         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
9008
9009         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
9010         (gst_clock_set_master):
9011         Drop our reference to the master clock, if any, when we are disposed.
9012
9013         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
9014         Chain up in dispose. 
9015
9016 2006-01-26  Wim Taymans  <wim@fluendo.com>
9017
9018         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
9019         Add some debugging.
9020
9021 2006-01-26  Julien MOUTTE  <julien@moutte.net>
9022
9023         * plugins/elements/gsttee.c: (gst_tee_do_push),
9024         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
9025         handles pad being NOT_LINKED or in WRONG_STATE.
9026
9027 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
9028
9029         * win32/MANIFEST:
9030           more updating
9031
9032 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
9033
9034         * win32/MANIFEST:
9035           remove obsolete entry
9036
9037 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
9038
9039         * docs/gst/gstreamer-sections.txt:
9040         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
9041         (gst_bin_iterate_sources), (gst_bin_send_event):
9042         * gst/gstbin.h:
9043         * gst/gstelement.c: (gst_element_send_event):
9044         * gst/gstevent.c:
9045         * gst/gstpad.c: (gst_pad_send_event):
9046           added code for downstream events, reviewed docs in gstevent.c
9047
9048 2006-01-25  Julien MOUTTE  <julien@moutte.net>
9049
9050         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9051         We only query position using the clock in the playing state.
9052         Query peer in the other cases.
9053         * win32/common/config.h: Updates.
9054
9055 2006-01-24  Wim Taymans  <wim@fluendo.com>
9056
9057         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
9058         A clock entry that is scheduled for the exact time of the
9059         clock is still in time.
9060
9061         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9062         (gst_base_sink_do_sync):
9063         Add some more debug info.
9064
9065 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
9066
9067         * win32/vs7:
9068           Add new vs7 project files and solution.
9069
9070 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
9071
9072         * win32/vs7:
9073           all files removed as they were out-dated.
9074
9075 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9076
9077         * docs/random/release:
9078           update notes
9079         * gst/gstbin.c: (gst_bin_init):
9080         * gst/gstbus.c: (gst_bus_new):
9081         * gst/gstbus.h:
9082         * gst/gstpipeline.c: (gst_pipeline_init):
9083           use gst_bus_new(), improve logging, fix docs
9084         * win32/common/config.h:
9085           update for cvs build
9086
9087 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
9088
9089         * autogen.sh:
9090           up required version of automake to 1.7
9091
9092 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
9093
9094         * win32/common/libgstreamer.def:
9095           export gst_buffer_is_metadata_writable
9096
9097 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
9098
9099         * docs/gst/gstreamer-sections.txt:
9100         * gst/gstevent.h:
9101           Add gst_event_replace() (#327001)
9102
9103 2006-01-20  Wim Taymans  <wim@fluendo.com>
9104
9105         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
9106         Make it actually compile too..
9107
9108 2006-01-20  Wim Taymans  <wim@fluendo.com>
9109
9110         * gst/gstcaps.c:
9111         Clarify behaviour of _is_equal() when passing NULL parameters.
9112
9113         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
9114         (gst_pad_set_caps):
9115         Cleanups. Don't unref NULL caps.
9116         When setting the same caps, protect caps of the pad with
9117         proper lock.
9118         Use full functionality of _is_equal() when comparing caps.
9119
9120 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
9121
9122         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
9123         Don't loop infinitely if there are no buffers to present. Partially
9124         fixes #327197, but collectpads is just broken for reusing elements
9125         to do multiple encodes atm.
9126
9127 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
9128
9129         * tools/gst-inspect.c: (print_element_features):
9130         * tools/gst-xmlinspect.c: (main):
9131         URL_HANDLER is not a plugin feature we can search for in
9132         the registry.
9133
9134 2006-01-19  Edward Hervey  <edward@fluendo.com>
9135
9136         * gst/gstelement.c: (gst_element_pads_activate): 
9137         When activating, do src pads first, then sink pads.
9138         When de-activating, do sink pads first, then src pads.
9139
9140 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9141
9142         * docs/gst/gstreamer-sections.txt:
9143         Add gst_index_add_associationv to the docs
9144
9145 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9146
9147         * gst/gstevent.c:
9148           Fix docs typo
9149
9150         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
9151         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
9152           Do some refactoring. Doesn't actually change functionality,
9153           but makes landing the DRAIN event easier later.
9154
9155 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
9156
9157         * docs/pwg/advanced-scheduling.xml:
9158           Update from 0.9.x to 0.10 API and make example a bit
9159           clearer.
9160
9161 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9162
9163         * docs/gst/gstreamer-sections.txt:
9164         Add gst_buffer_(is|make)_metadata_writable methods.
9165
9166 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9167
9168         * docs/design/part-sparsestreams.txt:
9169         Update sparse streams doc, hopefully for greater clarity
9170
9171 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
9172
9173         * docs/design/part-events.txt:
9174         Remove mention of FILLER events.
9175         Add DRAIN event.
9176
9177         * docs/design/part-sparsestreams.txt:
9178         Write some things about using NEWSEGMENT to keep sparse streams
9179         flowing.
9180
9181 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
9182
9183         * gst/gstbin.c: (gst_bin_dispose):
9184           Guard gst_object_unref call against a NULL object (dispose
9185           can theoretically be called multiple times).
9186           
9187 2006-01-18  Wim Taymans  <wim@fluendo.com>
9188
9189         * gst/gstbin.c: (gst_bin_element_set_state):
9190         * gst/gstclock.c: (gst_clock_id_wait):
9191         Added some more debug info.
9192
9193         * libs/gst/base/gstadapter.c:
9194         Added more docs.
9195
9196         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9197         (gst_base_sink_do_sync), (gst_base_sink_chain):
9198         Added some comments.
9199
9200 2006-01-18  Wim Taymans  <wim@fluendo.com>
9201
9202         * tests/check/Makefile.am:
9203         * tests/check/elements/fakesink.c: (chain_async_buffer),
9204         (chain_async), (chain_async_return), (GST_START_TEST),
9205         (fakesink_suite), (main):
9206         Added fakesink test that checks prerolling and clipping
9207         behaviour.
9208
9209         * tests/check/gst/gstutils.c: (GST_START_TEST):
9210         Make check run faster so that buildbots don't timeout.
9211
9212 2006-01-18  Wim Taymans  <wim@fluendo.com>
9213
9214         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9215         (gst_base_sink_do_sync):
9216         Some cleanups.
9217         When the sink finishes blocking on the preroll buffer, it can
9218         immediatly render it instead of rendering when the next buffer
9219         arrives.
9220
9221 2006-01-18  Wim Taymans  <wim@fluendo.com>
9222
9223         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
9224         (gst_base_sink_get_property), (gst_base_sink_do_sync),
9225         (gst_base_sink_chain):
9226         Small cleanups.
9227         GST_ELEMENT_CLOCK and sync are protected with LOCK.
9228         Don't store _last_stop if the buffer is dropped.
9229
9230 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
9231
9232         * plugins/elements/gsttypefindelement.c:
9233         (gst_type_find_element_class_init):
9234           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
9235           object method handler that sets the caps on the pad and we want
9236           that to happen before we emit the signal (fixes e.g. feeding a
9237           plain text file to decodebin).
9238
9239 2006-01-18  Christian Schaller  <Christian@fluendo.com>
9240
9241         * gst/gstplugin.c: Add MPL and Proprietary as license options
9242
9243 2006-01-18  Andy Wingo  <wingo@pobox.com>
9244
9245         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
9246         symbol was exported before, it appears this was just an oversight.
9247         Fixes #168703.
9248         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
9249
9250         * gst/gstindex.c (gst_index_add_associationv): Changed int in
9251         prototype to gint. OK since this prototype was not in the header.
9252
9253 2006-01-17  Andy Wingo  <wingo@pobox.com>
9254
9255         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
9256         registry while we remove plugins.
9257
9258         * tools/gst-inspect.c (print_element_info): Don't unref the
9259         factory arg, that should be the responsibility of whatever code
9260         received the ref. Fixes a double-free when called from
9261         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
9262         (main): Unref the factory if we have one.
9263         (print_element_list): No change -- relies on the
9264         plugin_feature_list_free to free the list of features.
9265
9266 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
9267
9268         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
9269         (gst_buffer_make_metadata_writable):
9270         * gst/gstbuffer.h:
9271         * libs/gst/base/gstbasetransform.c:
9272         (gst_base_transform_prepare_output_buf):
9273         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9274         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9275           Replace gst_buffer_(make|is)_metadata_writable patch now
9276           that the release is out.
9277
9278 2006-01-17  Andy Wingo  <wingo@pobox.com>
9279
9280         * gst/gstregistry.c: Reflow design comment. Update so as to speak
9281         in the present tense without reference to versions.
9282
9283         * gst/gstregistry.c (gst_registry_add_plugin)
9284         (gst_registry_remove_plugin, gst_registry_remove_feature)
9285         (gst_registry_find_feature, gst_registry_get_feature_list)
9286         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
9287         (gst_registry_lookup, gst_registry_scan_path)
9288         (_gst_registry_remove_cache_plugins)
9289         (gst_registry_get_feature_list_by_plugin): Add argument
9290         validation.
9291
9292 === release 0.10.2 ===
9293
9294 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
9295
9296         * configure.ac:
9297           releasing 0.10.2, "If man is five"
9298
9299 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9300
9301         * gst/gstbuffer.c:
9302         * gst/gstbuffer.h:
9303         * libs/gst/base/gstbasetransform.c:
9304         (gst_base_transform_prepare_output_buf):
9305         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9306         * tests/check/gst/gstbuffer.c: (gst_test_suite):
9307           Back out patch until after the release.
9308
9309 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9310
9311         * gst/gstminiobject.c:
9312           Spelling fix in docs.
9313         * ChangeLog - remove conflict indicator
9314
9315 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9316
9317         Reviewed By: Andy Wingo
9318
9319         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
9320         (gst_buffer_make_metadata_writable):
9321         * gst/gstbuffer.h:
9322           Add gst_buffer_(is|make)_metadata_writable as analogues of
9323           gst_buffer_(is|make)_writable.
9324
9325         * libs/gst/base/gstbasetransform.c:
9326         (gst_base_transform_prepare_output_buf):
9327         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9328           Use name gst_buffer_(is|make)_metadata_writable functions.
9329
9330         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9331           Test gst_buffer_(is|make)_metadata_writable
9332         
9333           (Closes: #324162)
9334
9335 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9336
9337         * docs/manual/Makefile.am:
9338           don't do parallel make
9339         * configure.ac:
9340           AC_SUBST HOST_CPU
9341         * win32/common/config.h.in:
9342           add generations for HOST_CPU and GST_MAJORMINOR
9343         * win32/common/config.h:
9344           commit generated result
9345
9346 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
9347
9348         * docs/manual/appendix-integration.xml:
9349           Update GNOME integration section to use gst_init_get_option_group()
9350           instead of the old popt stuff (#322911). Also, GNOME applications
9351           should  now use gconf*sink and gconf*src instead of the old gconf
9352           helper lib we had.
9353
9354 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
9355
9356
9357         * docs/gst/gstreamer-docs.sgml:
9358         * docs/gst/gstreamer-sections.txt:
9359         * docs/libs/gstreamer-libs-sections.txt:
9360           add new API entries to the docs
9361         * libs/gst/controller/Makefile.am:
9362         * libs/gst/controller/gstcontroller.c:
9363         * libs/gst/controller/gstcontroller.h:
9364         * libs/gst/controller/gstcontrollerprivate.h:
9365         * libs/gst/controller/gsthelper.c:
9366         * libs/gst/controller/gstinterpolation.c:
9367           move private structs to private header
9368         * po/README:
9369           gstreamer-0.7 -> gstreamer-0.10
9370         * tests/check/libs/struct_i386.h:
9371           remove private structs
9372
9373 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9374
9375         * plugins/indexers/Makefile.am:
9376           Fixes as part of #317048
9377
9378 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9379
9380         * plugins/indexers/Makefile.am:
9381           fix #316086 - compilation when mmap is missing
9382
9383 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
9384
9385         * libs/gst/base/gstbasesink.c:
9386           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
9387           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
9388         * win32/common/config.h:
9389           added some defines GST_MAJORMINOR and HOST_CPU
9390         * win32/common/libgstbase.def:
9391         * win32/common/libgstreamer.def:
9392           added some exported functions.
9393
9394 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
9395
9396         * libs/gst/controller/gstcontroller.c:
9397         (gst_controlled_property_set_interpolation_mode),
9398         (gst_controlled_property_new):
9399         * libs/gst/controller/gstcontroller.h:
9400         * libs/gst/controller/gstinterpolation.c:
9401         (interpolate_none_get_string_value_array):
9402           make G_TYPE_STRING controlable
9403
9404 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
9405
9406         * tools/README:
9407         * tools/gst-feedback.1.in:
9408         * tools/gst-inspect.1.in:
9409         * tools/gst-launch.1.in:
9410         * tools/gst-md5sum.1.in:
9411         * tools/gst-typefind.1.in:
9412         * tools/gst-xmlinspect.1.in:
9413         * tools/gst-xmllaunch.1.in:
9414           cleanup man-pages, remove reference to gst-register, document env-vars
9415
9416 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
9417
9418         * gst/gstbuffer.c: (gst_buffer_span):
9419           gst_buffer_span should copy the timestamp of the first buffer
9420           if they were both originally overlapping subbuffers of the 
9421           same parent, using the same logic as the 'slow copy' case.
9422
9423 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
9424
9425         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
9426           Need to awaken ALL the pads when we pop a buffer, otherwise
9427           collectpads only works when there is 2 input streams.
9428
9429 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
9430
9431         * docs/random/ensonic/media-device-daemon.txt:
9432           more ideas (dbus)
9433         * gst/gstbuffer.c:
9434           fix doc example, add clarification
9435         * tools/gst-launch.1.in:
9436           add initial info about GST_PLUGIN_PATH, needs more work
9437
9438 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
9439
9440         * docs/manual/basics-bins.xml:
9441         * docs/manual/basics-elements.xml:
9442         * docs/manual/intro-basics.xml:
9443           Some more minor docs additions and updates.
9444
9445 2006-01-11  Wim Taymans  <wim@fluendo.com>
9446
9447         * docs/manual/basics-bins.xml:
9448         * docs/manual/basics-elements.xml:
9449         Some small fixes as pointed out by Ser-ver on IRC.
9450
9451 2006-01-10  Edward Hervey  <edward@fluendo.com>
9452
9453         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9454         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
9455         the single-segment mode.
9456
9457 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
9458
9459         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9460
9461         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
9462         (gst_base_src_perform_seek), (gst_base_src_send_event),
9463         (gst_base_src_set_property), (gst_base_src_get_property),
9464         (gst_base_src_loop), (gst_base_src_start),
9465         (gst_base_src_activate_push):
9466         * libs/gst/base/gstbasesrc.h:
9467           Name (private) union; makes Sun's Forte compiler happy (#324900).
9468
9469 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
9470
9471         * README:
9472           gst-register is gone.
9473
9474 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9475
9476         * gst/gstvalue.c: (_gst_value_initialize):
9477           make the G_TYPE_DATE instantiation work if debug is disabled
9478
9479 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
9480
9481         * gst/gstmessage.c: (gst_message_parse_tag),
9482         (gst_message_parse_error), (gst_message_parse_warning):
9483           Don't crash when return location for error/warning debug
9484           string is NULL; add fact that return locations can be
9485           NULL to docs where appropriate.
9486
9487 2006-01-05  Wim Taymans  <wim@fluendo.com>
9488
9489         * gst/gstplugin.c: (gst_plugin_load_file):
9490         Replace strdup by g_strdup.
9491
9492 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9493
9494         * docs/pwg/advanced-types.xml:
9495           fix doc borkage
9496
9497 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9498
9499         submitted by: Abel Cheung
9500
9501         * po/LINGUAS:
9502         * po/zh_TW.po:
9503           Added Chinese (traditional) translation
9504
9505 2006-01-04  Wim Taymans  <wim@fluendo.com>
9506
9507         * docs/manual/basics-pads.xml:
9508         * docs/plugins/Makefile.am:
9509         * docs/plugins/gstreamer-plugins-docs.sgml:
9510         * docs/plugins/gstreamer-plugins-sections.txt:
9511         * docs/pwg/advanced-clock.xml:
9512         * docs/pwg/advanced-scheduling.xml:
9513         * docs/pwg/advanced-types.xml:
9514         * plugins/elements/gstfdsink.c:
9515         * plugins/elements/gstfdsrc.c:
9516         * plugins/elements/gstfdsrc.h:
9517         * plugins/elements/gstidentity.c: (gst_identity_class_init):
9518         * plugins/elements/gstidentity.h:
9519         * plugins/elements/gstqueue.h:
9520         * plugins/elements/gsttee.c:
9521         * plugins/elements/gsttee.h:
9522         * plugins/elements/gsttypefindelement.c:
9523         (gst_type_find_element_class_init):
9524         * plugins/elements/gsttypefindelement.h:
9525         Small updates to various docs.
9526         Added core plugins to docs.
9527
9528 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9529
9530         * common/gst.supp:
9531           add a suppression for liboil's uninitialized variable
9532
9533 2006-01-02  James Livingston  <jrl at ids dot org dot au>
9534
9535         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9536
9537         * gst/gstutils.h:
9538           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
9539           macro, so that gcc doesn't complain if the -Wmissing-prototypes
9540           compiler switch is being used (#325429).
9541
9542 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
9543
9544         * gst/gstbin.c: (gst_bin_query):
9545           Disable duration query caching in bins until it gets
9546           fixed (see #324807).
9547
9548 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9549
9550         * tools/gst-inspect.c: (print_element_properties_info):
9551           Handle properties of POINTER and BOXED type.
9552
9553 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9554
9555         * gst/gst.c: (init_post):
9556           Init tags stuff and some other things before loading
9557           any static plugins (there may be other static plugins
9558           than just the GStreamer ones, and they may want to
9559           register their own tags or formats or whatever, and
9560           preferably without segfaulting).
9561
9562         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
9563           Print at least a warning in the debug logs if we drop a
9564           query just because we don't know how to adjust the value
9565           in the particular format.
9566
9567 2005-12-24  David Schleef  <ds@schleef.org>
9568
9569         * tools/gstreamer-completion:
9570           Replacement for gst-complete written in sh and sed.  Only
9571           completes names of features, but that's 90% of what I want
9572           it for.  Properties are not available in registry.xml.  (Maybe
9573           they should be...)
9574
9575 === release 0.10.1 ===
9576
9577 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
9578
9579         * configure.ac:
9580           releasing 0.10.1, "Nollaig chridheil"
9581
9582 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
9583
9584         * docs/faq/cvs.xml:
9585           Add missing quote, should be make ERROR_CFLAGS="".
9586
9587 2005-12-20  Wim Taymans  <wim@fluendo.com>
9588
9589         * docs/design/part-trickmodes.txt:
9590         More documentation on trickmodes.
9591
9592 2005-12-20  Edward Hervey  <edward@fluendo.com>
9593
9594         * gst/gstcaps.c: (gst_static_caps_get_type):
9595         * gst/gstcaps.h:
9596           API addition: GST_TYPE_STATIC_CAPS
9597         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
9598         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
9599         * gst/gstpadtemplate.h:
9600           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
9601         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
9602         bindings.
9603
9604 2005-12-18  Wim Taymans  <wim@fluendo.com>
9605
9606         * libs/gst/base/gstadapter.c:
9607         * libs/gst/base/gstadapter.h:
9608         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9609         (gst_base_sink_get_position):
9610         * libs/gst/base/gstbasesink.h:
9611         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9612         (gst_base_src_default_query), (gst_base_src_default_do_seek),
9613         (gst_base_src_do_seek), (gst_base_src_perform_seek),
9614         (gst_base_src_send_event), (gst_base_src_update_length),
9615         (gst_base_src_get_range), (gst_base_src_loop),
9616         (gst_base_src_start):
9617         * libs/gst/base/gstbasesrc.h:
9618         * libs/gst/base/gstbasetransform.h:
9619         * libs/gst/base/gstcollectpads.h:
9620         * libs/gst/base/gstpushsrc.c:
9621         * libs/gst/base/gstpushsrc.h:
9622         * libs/gst/dataprotocol/dataprotocol.c:
9623         * libs/gst/dataprotocol/dataprotocol.h:
9624         * libs/gst/net/gstnetclientclock.h:
9625         * libs/gst/net/gstnettimeprovider.h:
9626         Documentation updates.
9627
9628 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
9629
9630         * docs/manual/basics-helloworld.xml:
9631           Remove superfluous closing bracket in helloworld example.
9632
9633 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
9634
9635         * tools/gst-launch.1.in:
9636           Update gst-launch man page; add a section with useful
9637           environment variables. Fixes #323882.
9638
9639 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
9640
9641         * gst/gst.c:
9642         * gst/gst_private.h:
9643           change some char* into char[]
9644
9645 2005-12-16  Wim Taymans  <wim@fluendo.com>
9646
9647         * gst/gstregistryxml.c: (load_feature):
9648         Cleanups.
9649         Don't use g_object_unref on GstObjects so that we avoid
9650         leaks on unsafe glibs.
9651
9652 2005-12-16  Wim Taymans  <wim@fluendo.com>
9653
9654         * gst/gstbin.c: (gst_bin_recalc_state):
9655         Small doc updates.
9656
9657 2005-12-16  Wim Taymans  <wim@fluendo.com>
9658
9659         * common/check.mak:
9660         Added make forever target for check.
9661
9662 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9663
9664         * gst/gst.c: (init_post):
9665           make the registry cache file HOST_CPU-dependent
9666
9667 2005-12-16  Andy Wingo  <wingo@pobox.com>
9668
9669         * plugins/elements/gstbufferstore.c
9670         (gst_buffer_store_cleared_func): Pay attention to g_list_append
9671         return value.
9672
9673         * tests/check/gst/gstobject.c
9674         (test_fake_object_name_threaded_unique): Pay attention to
9675         g_list_sort return value.
9676
9677 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9678
9679         * tools/gst-feedback-m.m:
9680           Update for 0.9/0.10 (fixes #323870).
9681
9682 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
9683
9684         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
9685           Fix lcopy for mini objects, the mini object needs to be ref'ed.
9686           
9687         * tests/check/gst/gstminiobject.c: (my_foo_init),
9688         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
9689         (test_value_collection), (gst_mini_object_suite):
9690           Add test to ensure refcounts end up as expected when passing
9691           GstMiniObjects through g_object_get() and g_object_set().
9692
9693 2005-12-14  Julien MOUTTE  <julien@moutte.net>
9694
9695         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9696         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
9697         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
9698         of collectpads. This version removes a lot of races without
9699         touching API/ABI. Yay !
9700
9701 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
9702
9703         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
9704           Don't allow activation of a srcpad in pull_range if it has no
9705           getrange function.
9706           Change some debug statements to be a little clearer
9707
9708         * plugins/elements/gsttypefindelement.c:
9709         (gst_type_find_handle_src_query):
9710           Check that we have a peer before executing queries thereupon.
9711
9712         * tests/examples/metadata/read-metadata.c: (message_loop):
9713           Use gst_bus_pop instead of gst_bus_poll when we just want it to
9714           immediately return us any available message with 0 timeout.
9715
9716 2005-12-12  Michael Smith  <msmith@fluendo.com>
9717
9718         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9719           Don't unref factories after calling them.
9720         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
9721         * plugins/elements/gsttypefindelement.c:
9722         (gst_type_find_element_chain):
9723           Free lists of factories after using them. Fixing typefinding memory
9724           leaks.
9725
9726 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9727
9728         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
9729         (gst_plugin_feature_load):
9730           more meaningful debug output
9731         * configure.ac:
9732         * tests/Makefile.am:
9733         * tests/old/examples/Makefile.am:
9734           make make distcheck happy again
9735
9736 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9737
9738         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9739           Catch the special case where we are operating chain-based,
9740           but the downstream peer pad has no chain function. Emit a
9741           custom error message in this case instead of letting the
9742           core generate one implying that this is some sort of core
9743           bug. It's not, it just means that whatever got plugged
9744           into the pipeline downstream when we announced the type
9745           can only operate pull-based, while our source can only
9746           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
9747           Error string has not been marked for translation yet, as
9748           it probably needs some more work first.
9749
9750         (gst_type_find_element_get_best_possibility):
9751           Add helper function to find the best of all available
9752           found possibilities that qualify given the min. threshold.
9753
9754         (gst_type_find_element_handle_event):
9755           Fix the case where we get an EOS while still in TYPEFIND
9756           mode (we want to chose the best of all possible types,
9757           not just the first type that happens to be in our unsorted
9758           list of possible types).
9759
9760         (gst_type_find_element_chain):
9761           Make sure we return GST_FLOW_ERROR when we errored out
9762           in stop_typefinding(); also, don't just find the best of
9763           all found type entries and then use the last examined
9764           type entry, but actually use the best entry.
9765
9766 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9767
9768         * tests/examples/typefind/typefind.c: (type_found):
9769         * tests/examples/xml/runxml.c: (xml_loaded):
9770           More gcc4 fixes and a mem leak fix.
9771
9772 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9773
9774         * tests/examples/xml/createxml.c: (object_saved):
9775           gcc 4 fixes
9776
9777 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9778
9779         * tests/Makefile.am:
9780           enable the examples even more
9781
9782 2005-12-12  Andy Wingo  <wingo@pobox.com>
9783
9784         * libs/gst/net/gstnettimeprovider.c
9785         (gst_net_time_provider_class_init, gst_net_time_provider_init)
9786         (gst_net_time_provider_set_property)
9787         (gst_net_time_provider_get_property):
9788         API addition: Export "active" as a GObject property.
9789         (gst_net_time_provider_thread): Only respond to time queries if
9790         the time provider is active.
9791
9792         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
9793         NetTimeProvider, preserving binary compat.
9794
9795 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9796
9797         * tests/examples/controller/audio-example.c: (main):
9798         * tests/examples/launch/Makefile.am:
9799           convert comments again
9800
9801 2005-12-12  Wim Taymans  <wim@fluendo.com>
9802
9803         * libs/gst/base/gstpushsrc.c:
9804         Fix typo.
9805
9806 2005-12-12  Wim Taymans  <wim@fluendo.com>
9807
9808         * docs/libs/gstreamer-libs-sections.txt:
9809         Added new symbol to docs.
9810
9811         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9812         (gst_base_src_init), (gst_base_src_set_format),
9813         (gst_base_src_default_query), (gst_base_src_query),
9814         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
9815         (gst_base_src_perform_seek), (gst_base_src_send_event),
9816         (gst_base_src_default_event), (gst_base_src_event_handler),
9817         (gst_base_src_set_property), (gst_base_src_get_property),
9818         (gst_base_src_wait), (gst_base_src_do_sync),
9819         (gst_base_src_update_length), (gst_base_src_get_range),
9820         (gst_base_src_check_get_range), (gst_base_src_loop),
9821         (gst_base_src_default_negotiate), (gst_base_src_start),
9822         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9823         (gst_base_src_change_state):
9824         * libs/gst/base/gstbasesrc.h:
9825         Implement seeking to other formats than _BYTES.
9826         Implement more seeking methods correctly.
9827         Doc updates.
9828         Added query vmethod.
9829         Added do_seek vmethod to make life easier for subclasses
9830         when seeking.
9831         API addition: gst_base_src_set_format()
9832
9833 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9834
9835         * tests/examples/Makefile.am:
9836           added that too
9837
9838 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9839
9840         * configure.ac:
9841         * docs/random/ensonic/media-device-daemon.txt:
9842         * tests/examples/controller/.cvsignore:
9843         * tests/examples/controller/Makefile.am:
9844         * tests/examples/controller/audio-example.c: (main):
9845         * tests/examples/helloworld/.cvsignore:
9846         * tests/examples/helloworld/Makefile.am:
9847         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
9848         * tests/examples/launch/.cvsignore:
9849         * tests/examples/launch/Makefile.am:
9850         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
9851         * tests/examples/metadata/.cvsignore:
9852         * tests/examples/metadata/Makefile.am:
9853         * tests/examples/metadata/read-metadata.c: (message_loop),
9854         (make_pipeline), (print_tag), (main):
9855         * tests/examples/queue/.cvsignore:
9856         * tests/examples/queue/Makefile.am:
9857         * tests/examples/queue/queue.c: (event_loop), (main):
9858         * tests/examples/typefind/.cvsignore:
9859         * tests/examples/typefind/Makefile.am:
9860         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
9861         (main):
9862         * tests/examples/xml/.cvsignore:
9863         * tests/examples/xml/Makefile.am:
9864         * tests/examples/xml/createxml.c: (object_saved), (main):
9865         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
9866         * tests/old/examples/Makefile.am:
9867         * tests/old/examples/TODO:
9868         * tests/old/examples/controller/.cvsignore:
9869         * tests/old/examples/controller/Makefile.am:
9870         * tests/old/examples/controller/audio-example.c:
9871         * tests/old/examples/helloworld/.cvsignore:
9872         * tests/old/examples/helloworld/Makefile.am:
9873         * tests/old/examples/helloworld/helloworld.c:
9874         * tests/old/examples/launch/.cvsignore:
9875         * tests/old/examples/launch/Makefile.am:
9876         * tests/old/examples/launch/mp3parselaunch.c:
9877         * tests/old/examples/launch/mp3play:
9878         * tests/old/examples/manual/Makefile.am:
9879         * tests/old/examples/metadata/Makefile.am:
9880         * tests/old/examples/metadata/read-metadata.c:
9881         * tests/old/examples/queue/.cvsignore:
9882         * tests/old/examples/queue/Makefile.am:
9883         * tests/old/examples/queue/queue.c:
9884         * tests/old/examples/typefind/.cvsignore:
9885         * tests/old/examples/typefind/Makefile.am:
9886         * tests/old/examples/typefind/typefind.c:
9887         * tests/old/examples/xml/.cvsignore:
9888         * tests/old/examples/xml/Makefile.am:
9889         * tests/old/examples/xml/createxml.c:
9890         * tests/old/examples/xml/runxml.c:
9891           applied some simple fixing to some examples
9892           re-enabled the working examples
9893
9894 2005-12-12  Wim Taymans  <wim@fluendo.com>
9895
9896         * gst/gstsegment.c: (gst_segment_init),
9897         (gst_segment_set_last_stop), (gst_segment_set_seek),
9898         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
9899         (gst_segment_to_running_time):
9900         Added more documentation.
9901         Make sure the last_pos value is updated properly.
9902         Make sure to_stream_time and to_running_time don't
9903         operate on wrong values.
9904
9905         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9906         Update check.
9907
9908 2005-12-12  Michael Smith  <msmith@fluendo.com>
9909
9910         * plugins/elements/gsttypefindelement.c: (free_entry),
9911         (gst_type_find_element_chain):
9912           Now that we're not leaking factories, make sure we keep references
9913           to them while we need them.
9914
9915 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9916
9917         * tests/check/gst/struct_i386.h:
9918           ifdef out the XML structs
9919
9920 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9921
9922         * gst/gstvalue.c: (gst_value_transform_double_fraction):
9923           floor is not needed, F is always positive; this obviates the
9924           need for adding -lm when building without libxml
9925
9926 2005-12-12  Wim Taymans  <wim@fluendo.com>
9927
9928         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9929         Take current playback rate into account when reporting
9930         the position.
9931
9932 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9933
9934         * docs/manual/mime-world.fig:
9935           Let's try this again, this time with a file that is
9936           actually in XFig format.
9937
9938 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9939
9940         * docs/manual/mime-world.fig:
9941           Add audioconvert element to diagram so that it
9942           matches the text and the code (fixes #319526).
9943
9944 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9945
9946         * docs/pwg/building-chainfn.xml:
9947         * docs/pwg/building-pads.xml:
9948         * docs/pwg/building-state.xml:
9949         * docs/pwg/other-source.xml:
9950           Update state change stuff for 0.10 (fixes #322969).
9951
9952 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9953
9954         * docs/manual/advanced-dataaccess.xml:
9955         * docs/manual/appendix-checklist.xml:
9956         * docs/manual/appendix-programs.xml:
9957         * docs/manual/basics-pads.xml:
9958         * docs/manual/highlevel-components.xml:
9959         * docs/manual/manual.xml:
9960           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
9961           add converters in front of pipelines; remove curly
9962           brackets for threads stuff, they no longer exist; use
9963           GST_TYPE_FRACTION for framerates; update some pieces of
9964           code to 0.10, but there's plenty more to do.
9965
9966         * docs/manual/appendix-porting.xml:
9967           Expand on asynchroneous state changes; s/0.9/0.10/;
9968           mention disappearance of gst_init_get_popt_table()
9969           (fixes #322916).
9970
9971 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9972
9973         * docs/faq/using.xml:
9974           Spider no longer exists, and neither does gst-launch-ext.
9975           Update examples to use decodebin and playbin and put
9976           converters in front of sinks (fixes #323726).
9977
9978 2005-12-09  Michael Smith  <msmith@fluendo.com>
9979
9980         * plugins/elements/gsttypefindelement.c: (find_peek),
9981         (gst_type_find_element_chain):
9982           Fix leaking element factories in typefinding.
9983           Fix problem where we forgot about a probable type on non-seekable
9984           files, and thus later mis-typefound it.
9985
9986 2005-12-09  Michael Smith  <msmith@fluendo.com>
9987
9988         * common/m4/gst-makecontext.m4:
9989         * common/m4/gst-mcsc.m4:
9990         * configure.ac:
9991         * win32/common/config.h:
9992         * win32/common/config.h.in:
9993           Remove makecontext stuff; not used in 0.10 and causes problems on
9994           HPUX according to bug #322441
9995
9996 2005-12-07  Wim Taymans  <wim@fluendo.com>
9997
9998         * tests/check/Makefile.am:
9999         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
10000         (main):
10001         * tests/check/libs/struct_i386.h:
10002         Added ABI check for libs
10003
10004 2005-12-07  Wim Taymans  <wim@fluendo.com>
10005
10006         * tests/check/Makefile.am:
10007         And add the struct_i386.h to dist.
10008
10009 2005-12-07  Wim Taymans  <wim@fluendo.com>
10010
10011         * tests/check/Makefile.am:
10012         * tests/check/gst/.cvsignore:
10013         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
10014         (main):
10015         * tests/check/gst/struct_i386.h:
10016         Added check for ABI compatibility.
10017
10018 2005-12-07  Wim Taymans  <wim@fluendo.com>
10019
10020         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10021         (gst_fake_src_get_times), (gst_fake_src_create):
10022         Fix broken sync option, fixes #323259
10023
10024 2005-12-07  Wim Taymans  <wim@fluendo.com>
10025
10026         * gst/gstbuffer.c:
10027         Small docs update.
10028
10029         * gst/gstcaps.c: (gst_caps_is_equal):
10030         Don't assert on NULL <--> X. Fixes #323260
10031
10032         * gst/gstminiobject.c: (gst_mini_object_replace):
10033         If we're doing atomic operations, we might just as well use
10034         the proper way to get an atomic pointer.
10035
10036         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
10037         Clean up debugging.
10038
10039 2005-12-07  Michael Smith  <msmith@fluendo.com>
10040
10041         * gst/parse/grammar.y:
10042           Remove handling of { } for threads.
10043
10044 2005-12-06  David Schleef  <ds@schleef.org>
10045
10046         * libs/gst/base/gstbasetransform.c: speling fix.
10047
10048 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
10049
10050         * docs/libs/tmpl/gstdataprotocol.sgml:
10051         * docs/random/omega/testing/gstobject.c:
10052         * gst/gst.c:
10053         * gst/gstclock.c:
10054         * gst/gstelement.c:
10055         * gst/gstelementfactory.c:
10056         * gst/gsterror.c:
10057         * gst/gstevent.c:
10058         * gst/gstghostpad.c:
10059         * gst/gstinfo.c:
10060         * gst/gstpadtemplate.c:
10061         * gst/gstregistryxml.c:
10062         * gst/gsttaglist.c:
10063         * gst/gsttagsetter.c:
10064         * gst/gsttypefind.c:
10065         * gst/gstvalue.c:
10066         * libs/gst/base/gstbasesrc.c:
10067         * libs/gst/net/gstnetclientclock.c:
10068         * libs/gst/net/gstnettimeprovider.c:
10069         * plugins/elements/gstfakesrc.c:
10070         * plugins/elements/gstfdsrc.c:
10071         * plugins/elements/gstfilesrc.c:
10072         * plugins/elements/gstidentity.c:
10073         * plugins/elements/gstqueue.c:
10074         * plugins/elements/gsttypefindelement.c:
10075         * plugins/indexers/gstfileindex.c:
10076         * plugins/indexers/gstmemindex.c:
10077         * tests/check/gst/gsttag.c:
10078         * tests/old/examples/cutter/cutter.c:
10079         * tests/old/examples/mixer/mixer.c:
10080         * tests/old/examples/xml/runxml.c: (main):
10081         * tests/old/testsuite/caps/normalisation.c:
10082         * tests/old/testsuite/debug/global.c:
10083         * tests/old/testsuite/parse/parse1.c:
10084         * tools/gst-xmlinspect.c:
10085         * win32/common/dirent.c:
10086           expand tabs
10087
10088 === release 0.10.0 ===
10089
10090 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10091
10092         * configure.ac:
10093           releasing 0.10.0, "Maroilles"
10094
10095 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10096
10097         submitted by: Funda Wang <fundawang@linux.net.cn>
10098
10099         * po/LINGUAS:
10100         * po/zh_CN.po:
10101           added Chinese (Traditional) translation
10102
10103 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10104
10105         * docs/gst/gstreamer-sections.txt:
10106         * docs/libs/tmpl/gstdataprotocol.sgml:
10107         * docs/random/thomasvs/TODO:
10108         * gst/gstutils.c:
10109         * gst/gstutils.h:
10110           fix docs
10111
10112 2005-12-05  Andy Wingo  <wingo@pobox.com>
10113
10114         patch by: Wim Taymans <wim@fluendo.com>
10115
10116         * libs/gst/base/gstbasetransform.c
10117         (gst_base_transform_prepare_output_buf)
10118         (gst_base_transform_buffer_alloc):
10119         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
10120         alloc_buffer_and_set_caps.
10121
10122         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
10123         set_caps on the source pad.
10124         (gst_pad_alloc_buffer_and_set_caps): New function, does what
10125         alloc_buffer used to do. Fixes #322874.
10126
10127         * docs/gst/gstreamer-sections.txt: 
10128         * docs/design/part-negotiation.txt: 
10129         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
10130         changes.
10131
10132 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
10133
10134         patch by: Sebastien Moutte
10135
10136         * win32/MANIFEST:
10137         * win32/common/config.h.in:
10138         * win32/vs6/libgstcontroller.dsp:
10139           win32 build fixes
10140
10141 2005-12-05  Wim Taymans  <wim@fluendo.com>
10142
10143         * gst/gstcaps.c: (gst_caps_is_equal):
10144         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10145         (gst_fake_src_create):
10146         Back out previous code changes, leave doc updates, file bugs 
10147         instead. 
10148
10149 2005-12-05  Wim Taymans  <wim@fluendo.com>
10150
10151         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
10152         (gst_fake_src_get_times), (gst_fake_src_create):
10153         * plugins/elements/gstfakesrc.h:
10154         Fix broken sync code.
10155
10156 2005-12-05  Wim Taymans  <wim@fluendo.com>
10157
10158         * gst/gstcaps.c: (gst_caps_is_equal):
10159         Comparing NULL against !NULL yields different caps, not a
10160         failure.
10161
10162 2005-12-05  Wim Taymans  <wim@fluendo.com>
10163
10164         * gst/gstpipeline.c:
10165         Fix small typo in docs.
10166
10167 2005-12-05  Andy Wingo  <wingo@pobox.com>
10168
10169         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
10170
10171         * gst/gst.c (init_post): remove hard-coded 0.9 location for
10172         registries/plugins with a MAJORMINOR one.
10173         (plugin_desc): Rename library from gstcoreleements to
10174         staticelements. Fixes #323222.
10175
10176 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
10177
10178         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
10179           Change debug category to 'collectpads' from 'collect_pads'
10180           (fixes #323250).
10181
10182 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10183
10184         patch by: Sebastien Moutte
10185
10186         * libs/gst/controller/gstinterpolation.c:
10187           use convert function for uint64/double
10188         * win32/vs6/libgstcontroller.dsp:
10189           link to GLib
10190
10191 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10192
10193         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
10194         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
10195         * gst/gstutils.h:
10196         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10197           add tests that seem to show that the guint64/gdouble conversions
10198           are correct.
10199
10200 2005-12-02  Wim Taymans  <wim@fluendo.com>
10201
10202         * gst/gstregistry.c: (gst_registry_add_path):
10203         * gst/gstregistry.h:
10204         * gst/gstregistryxml.c:
10205         Fix docs again.
10206
10207 2005-12-02  Wim Taymans  <wim@fluendo.com>
10208
10209         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10210         (gst_util_uint64_scale_int):
10211         Small cleanup.
10212
10213         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10214         Add debug log line.
10215
10216         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
10217         Add FIXME.
10218
10219 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10220
10221         * win32/MANIFEST:
10222         * win32/common/config.h:
10223         * win32/vs6/gstreamer.dsw:
10224         * win32/vs6/libgstcoreelements.dsp:
10225         * win32/vs6/libgstelements.dsp:
10226           renamed core elements plugin
10227
10228 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10229
10230         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
10231         (get_candidates):
10232           do piece-wise major/minor comparison so 0.9 < 0.10
10233           also allow .exe extensions for tools
10234
10235 2005-12-02  Michael Smith  <msmith@fluendo.com>
10236
10237         * gst/gst.c:
10238           Escape a % to make gtkdoc happier; bug 322958.
10239
10240 === release 0.9.7 ===
10241
10242 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10243
10244         * configure.ac:
10245           releasing 0.9.7, "My Dog Has No Nose"
10246
10247 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10248
10249         * common/gst-xmlinspect.py:
10250         * configure.ac:
10251         * docs/libs/tmpl/gstdataprotocol.sgml:
10252         * docs/random/release:
10253         * po/af.po:
10254         * po/az.po:
10255         * po/bg.po:
10256         * po/ca.po:
10257         * po/cs.po:
10258         * po/de.po:
10259         * po/en_GB.po:
10260         * po/fr.po:
10261         * po/it.po:
10262         * po/nb.po:
10263         * po/nl.po:
10264         * po/ru.po:
10265         * po/sq.po:
10266         * po/sr.po:
10267         * po/sv.po:
10268         * po/tr.po:
10269         * po/uk.po:
10270         * po/vi.po:
10271         * win32/common/config.h:
10272         * win32/common/config.h.in:
10273         * win32/vs6/gst_inspect.dsp:
10274         * win32/vs6/gst_launch.dsp:
10275         * win32/vs6/libgstbase.dsp:
10276         * win32/vs6/libgstelements.dsp:
10277         * win32/vs6/libgstreamer.dsp:
10278         * win32/vs7/GStreamer.vcproj:
10279         * win32/vs7/gst-inspect.vcproj:
10280         * win32/vs7/gst-launch.vcproj:
10281         * win32/vs7/libgstbase.vcproj:
10282           bump GST_MAJORMINOR to 0.10
10283           reset libtool version
10284
10285 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10286
10287         * po/LINGUAS:
10288         * po/bg.po:
10289           Added Bulgarian translation by (Alexander Shopov)
10290
10291 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10292
10293         * tests/check/gst/gstplugin.c:
10294           fix test
10295
10296 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10297
10298         * common/gst-xmlinspect.py:
10299         * common/gtk-doc-plugins.mak:
10300         * configure.ac:
10301         * docs/Makefile.am:
10302         * docs/gst/Makefile.am:
10303         * docs/gst/gstreamer-docs.sgml:
10304         * docs/gst/gstreamer-sections.txt:
10305         * docs/gst/gstreamer.types:
10306         * docs/gst/gstreamer.types.in:
10307         * docs/plugins/Makefile.am:
10308         * docs/plugins/gstreamer-plugins-docs.sgml:
10309         * docs/plugins/gstreamer-plugins-sections.txt:
10310         * docs/plugins/gstreamer-plugins.types:
10311         * docs/plugins/inspect.stamp:
10312         * docs/plugins/inspect/plugin-coreelements.xml:
10313         * docs/plugins/inspect/plugin-coreindexers.xml:
10314         * docs/plugins/scanobj-build.stamp:
10315         * gstreamer.spec.in:
10316         * plugins/elements/Makefile.am:
10317         * plugins/elements/gstelements.c:
10318         * plugins/elements/gstfakesink.c:
10319         * plugins/elements/gstfakesrc.c:
10320         * plugins/elements/gstfilesink.c:
10321         * plugins/elements/gstfilesrc.c:
10322         * plugins/elements/gstqueue.c:
10323         * plugins/indexers/Makefile.am:
10324         * plugins/indexers/gstindexers.c:
10325           document core plugins in a separate document just like all the
10326           others
10327           rename these plugins to something starting with core
10328
10329 2005-12-01  Andy Wingo  <wingo@pobox.com>
10330
10331         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
10332         padding here before, but it missed the commit.
10333
10334 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10335
10336         * libs/gst/controller/gstinterpolation.c:
10337           whitespace prices have crashed, we should feel free to use some now
10338           use gst_guint64_to_gdouble
10339
10340 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10341
10342         * libs/gst/controller/gstcontroller.c:
10343         * libs/gst/controller/gsthelper.c:
10344         * libs/gst/controller/gstinterpolation.c:
10345         * libs/gst/controller/lib.c:
10346           wrap config.h include
10347
10348 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10349
10350         * docs/gst/gstreamer-sections.txt:
10351           update docs
10352
10353 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10354
10355         * plugins/elements/gstelements.c:
10356         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
10357         (gst_fd_sink__class_init), (gst_fd_sink__init),
10358         (gst_fd_sink__chain), (gst_fd_sink__set_property),
10359         (gst_fd_sink__get_property):
10360         * plugins/elements/gstfdsink.h:
10361         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
10362         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
10363         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
10364         (gst_fd_src_unlock), (gst_fd_src_set_property),
10365         (gst_fd_src_get_property), (gst_fd_src_create),
10366         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
10367         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
10368         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
10369         (gst_fd_src_uri_handler_init):
10370         * plugins/elements/gstfdsrc.h:
10371         * plugins/elements/gstqueue.c: (gst_queue_get_type):
10372           more anal cleanup
10373
10374 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10375
10376         * docs/gst/Makefile.am:
10377         * docs/gst/gstreamer.types.in:
10378         * gst/Makefile.am:
10379           fix the docs build
10380
10381 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10382
10383         * configure.ac:
10384         * gst/Makefile.am:
10385         * gst/gst.c:
10386         * gst/gstplugin.h:
10387         * gst/gstregistry.h:
10388         * tests/benchmarks/complexity.c:
10389         * tests/benchmarks/mass-elements.c:
10390         * tests/check/Makefile.am:
10391         * tools/Makefile.am:
10392         * tools/gst-inspect.c:
10393         * tools/gst-xmlinspect.c:
10394           various fixes to make
10395           --disable-nls --disable-registry --disable-loadsave
10396           --disable-parse --disable-gst-debug
10397           work and get the core .so down to 360444 bytes after stripping
10398
10399 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10400
10401         * Makefile.am:
10402         * configure.ac:
10403           descend into tests
10404         * docs/random/thomasvs/TODO:
10405         * tests/Makefile.am:
10406         * tests/README:
10407           add a README
10408
10409 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10410
10411         * win32/GStreamer.vcproj:
10412         * win32/MANIFEST:
10413         * win32/Makefile:
10414         * win32/Makefile.inspect:
10415         * win32/Makefile.launch:
10416         * win32/Makefile.register:
10417         * win32/README.txt:
10418         * win32/gst-inspect.vcproj:
10419         * win32/gst-launch.vcproj:
10420         * win32/gst-register.vcproj:
10421         * win32/gstelements.vcproj:
10422         * win32/gstgetbits.def:
10423         * win32/gstgetbits.vcproj:
10424         * win32/gstreamer-dbg.def:
10425         * win32/gstreamer.def:
10426         * win32/libgstbase.def:
10427         * win32/libgstbase.vcproj:
10428         * win32/link_oldruntime.c:
10429         * win32/mman.c:
10430         * win32/mman.h:
10431         * win32/mman.inl:
10432         * win32/msvc71.sln:
10433           move even more stuff, win32/ is nice and clean now
10434
10435 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10436
10437         * libs/gst/control/.cvsignore:
10438         * win32/MANIFEST:
10439         * win32/config.h:
10440         * win32/dirent.c:
10441         * win32/dirent.h:
10442         * win32/gstbytestream.def:
10443         * win32/gstbytestream.vcproj:
10444         * win32/gstconfig.h:
10445         * win32/gstenumtypes.c:
10446         * win32/gstenumtypes.h:
10447         * win32/gstoptimalscheduler.vcproj:
10448         * win32/gstversion.h:
10449         * win32/gtchar.h:
10450         * win32/testsuite/bins.vcproj:
10451         * win32/testsuite/bytestream.vcproj:
10452         * win32/testsuite/caps.vcproj:
10453         * win32/testsuite/cleanup.vcproj:
10454         * win32/testsuite/clock.vcproj:
10455         * win32/testsuite/debug.vcproj:
10456         * win32/testsuite/dlopen.vcproj:
10457         * win32/testsuite/dynparams.vcproj:
10458         * win32/testsuite/elements.vcproj:
10459         * win32/testsuite/ghostpads.vcproj:
10460         * win32/testsuite/indexers.vcproj:
10461         * win32/testsuite/negotiation.vcproj:
10462         * win32/testsuite/parse.vcproj:
10463         * win32/testsuite/plugin.vcproj:
10464         * win32/testsuite/refcounting.vcproj:
10465         * win32/testsuite/schedulers.vcproj:
10466         * win32/testsuite/states.vcproj:
10467         * win32/testsuite/tags.vcproj:
10468         * win32/testsuite/threads.vcproj:
10469           remove old win32 stuff that isn't maintained and should be
10470           reorganized
10471
10472 2005-11-30  Andy Wingo  <wingo@pobox.com>
10473
10474         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
10475         loading the gst.interfaces python module bork.
10476
10477         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
10478         available since GLib 2.2. Fixes #318031.
10479
10480 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10481
10482         * Makefile.am:
10483         * check/.cvsignore:
10484         * check/Makefile.am:
10485         * check/elements/.cvsignore:
10486         * check/elements/fakesrc.c:
10487         * check/elements/fdsrc.c:
10488         * check/elements/identity.c:
10489         * check/generic/.cvsignore:
10490         * check/generic/states.c:
10491         * check/gst-libs/.cvsignore:
10492         * check/gst-libs/controller.c:
10493         * check/gst-libs/gdp.c:
10494         * check/gst/.cvsignore:
10495         * check/gst/capslist.h:
10496         * check/gst/gst.c:
10497         * check/gst/gstbin.c:
10498         * check/gst/gstbuffer.c:
10499         * check/gst/gstbus.c:
10500         * check/gst/gstcaps.c:
10501         * check/gst/gstelement.c:
10502         * check/gst/gstevent.c:
10503         * check/gst/gstghostpad.c:
10504         * check/gst/gstiterator.c:
10505         * check/gst/gstmessage.c:
10506         * check/gst/gstminiobject.c:
10507         * check/gst/gstobject.c:
10508         * check/gst/gstpad.c:
10509         * check/gst/gstpipeline.c:
10510         * check/gst/gstplugin.c:
10511         * check/gst/gstsegment.c:
10512         * check/gst/gststructure.c:
10513         * check/gst/gstsystemclock.c:
10514         * check/gst/gsttag.c:
10515         * check/gst/gstutils.c:
10516         * check/gst/gstvalue.c:
10517         * check/net/.cvsignore:
10518         * check/net/gstnetclientclock.c:
10519         * check/net/gstnettimeprovider.c:
10520         * check/pipelines/.cvsignore:
10521         * check/pipelines/cleanup.c:
10522         * check/pipelines/simple_launch_lines.c:
10523         * check/pipelines/stress.c:
10524         * check/states/.cvsignore:
10525         * check/states/sinks.c:
10526         * configure.ac:
10527         * examples/Makefile.am:
10528         * examples/appreader/.cvsignore:
10529         * examples/appreader/Makefile.am:
10530         * examples/appreader/appreader.c:
10531         * examples/controller/.cvsignore:
10532         * examples/controller/Makefile.am:
10533         * examples/controller/audio-example.c:
10534         * examples/cutter/.cvsignore:
10535         * examples/cutter/Makefile.am:
10536         * examples/cutter/cutter.c:
10537         * examples/cutter/cutter.h:
10538         * examples/events/Makefile.am:
10539         * examples/events/seek.c:
10540         * examples/helloworld/.cvsignore:
10541         * examples/helloworld/Makefile.am:
10542         * examples/helloworld/helloworld.c:
10543         * examples/helloworld2/.cvsignore:
10544         * examples/helloworld2/Makefile.am:
10545         * examples/helloworld2/helloworld2.c:
10546         * examples/launch/.cvsignore:
10547         * examples/launch/Makefile.am:
10548         * examples/launch/mp3parselaunch.c:
10549         * examples/launch/mp3play:
10550         * examples/manual/.cvsignore:
10551         * examples/manual/Makefile.am:
10552         * examples/manual/extract.pl:
10553         * examples/metadata/Makefile.am:
10554         * examples/metadata/read-metadata.c:
10555         * examples/mixer/.cvsignore:
10556         * examples/mixer/Makefile.am:
10557         * examples/mixer/mixer.c:
10558         * examples/mixer/mixer.h:
10559         * examples/pingpong/.cvsignore:
10560         * examples/pingpong/Makefile.am:
10561         * examples/pingpong/pingpong.c:
10562         * examples/plugins/.cvsignore:
10563         * examples/plugins/Makefile.am:
10564         * examples/plugins/example.c:
10565         * examples/plugins/example.h:
10566         * examples/pwg/.cvsignore:
10567         * examples/pwg/Makefile.am:
10568         * examples/pwg/extract.pl:
10569         * examples/queue/.cvsignore:
10570         * examples/queue/Makefile.am:
10571         * examples/queue/queue.c:
10572         * examples/queue2/.cvsignore:
10573         * examples/queue2/Makefile.am:
10574         * examples/queue2/queue2.c:
10575         * examples/queue3/.cvsignore:
10576         * examples/queue3/Makefile.am:
10577         * examples/queue3/queue3.c:
10578         * examples/queue4/.cvsignore:
10579         * examples/queue4/Makefile.am:
10580         * examples/queue4/queue4.c:
10581         * examples/retag/.cvsignore:
10582         * examples/retag/Makefile.am:
10583         * examples/retag/retag.c:
10584         * examples/retag/transcode.c:
10585         * examples/thread/.cvsignore:
10586         * examples/thread/Makefile.am:
10587         * examples/thread/thread.c:
10588         * examples/typefind/.cvsignore:
10589         * examples/typefind/Makefile.am:
10590         * examples/typefind/typefind.c:
10591         * examples/xml/.cvsignore:
10592         * examples/xml/Makefile.am:
10593         * examples/xml/createxml.c:
10594         * examples/xml/runxml.c:
10595         * tests/Makefile.am:
10596         * tests/check/Makefile.am:
10597         * testsuite/.cvsignore:
10598         * testsuite/Makefile.am:
10599         * testsuite/Rules:
10600         * testsuite/caps/.cvsignore:
10601         * testsuite/caps/Makefile.am:
10602         * testsuite/caps/app_fixate.c:
10603         * testsuite/caps/audioscale.c:
10604         * testsuite/caps/caps.c:
10605         * testsuite/caps/caps.h:
10606         * testsuite/caps/caps_strings:
10607         * testsuite/caps/compatibility.c:
10608         * testsuite/caps/deserialize.c:
10609         * testsuite/caps/enumcaps.c:
10610         * testsuite/caps/eratosthenes.c:
10611         * testsuite/caps/filtercaps.c:
10612         * testsuite/caps/fixed.c:
10613         * testsuite/caps/fraction-convert.c:
10614         * testsuite/caps/fraction-multiply-and-zero.c:
10615         * testsuite/caps/intersect2.c:
10616         * testsuite/caps/intersection.c:
10617         * testsuite/caps/normalisation.c:
10618         * testsuite/caps/random.c:
10619         * testsuite/caps/renegotiate.c:
10620         * testsuite/caps/sets.c:
10621         * testsuite/caps/simplify.c:
10622         * testsuite/caps/string-conversions.c:
10623         * testsuite/caps/structure.c:
10624         * testsuite/caps/subtract.c:
10625         * testsuite/caps/union.c:
10626         * testsuite/debug/.cvsignore:
10627         * testsuite/debug/Makefile.am:
10628         * testsuite/debug/category.c:
10629         * testsuite/debug/commandline.c:
10630         * testsuite/debug/global.c:
10631         * testsuite/debug/output.c:
10632         * testsuite/debug/printf_extension.c:
10633         * testsuite/dlopen/.cvsignore:
10634         * testsuite/dlopen/Makefile.am:
10635         * testsuite/dlopen/dlopen_gst.c:
10636         * testsuite/dlopen/loadgst.c:
10637         * testsuite/elements/.cvsignore:
10638         * testsuite/elements/Makefile.am:
10639         * testsuite/elements/gst-inspect-check.in:
10640         * testsuite/elements/struct_i386.h:
10641         * testsuite/elements/struct_size.c:
10642         * testsuite/indexers/.cvsignore:
10643         * testsuite/indexers/Makefile.am:
10644         * testsuite/indexers/cache1.c:
10645         * testsuite/indexers/indexdump.c:
10646         * testsuite/parse/.cvsignore:
10647         * testsuite/parse/Makefile.am:
10648         * testsuite/parse/parse1.c:
10649         * testsuite/parse/parse2.c:
10650         * testsuite/plugin/.cvsignore:
10651         * testsuite/plugin/Makefile.am:
10652         * testsuite/plugin/README:
10653         * testsuite/plugin/dynamic.c:
10654         * testsuite/plugin/linked.c:
10655         * testsuite/plugin/loading.c:
10656         * testsuite/plugin/registry.c:
10657         * testsuite/plugin/static.c:
10658         * testsuite/plugin/static2.c:
10659         * testsuite/plugin/testplugin.c:
10660         * testsuite/plugin/testplugin2.c:
10661         * testsuite/plugin/testplugin2_s.c:
10662         * testsuite/plugin/testplugin_s.c:
10663         * testsuite/refcounting/.cvsignore:
10664         * testsuite/refcounting/Makefile.am:
10665         * testsuite/refcounting/bin.c:
10666         * testsuite/refcounting/element.c:
10667         * testsuite/refcounting/element_pad.c:
10668         * testsuite/refcounting/mainloop.c:
10669         * testsuite/refcounting/mem.c:
10670         * testsuite/refcounting/mem.h:
10671         * testsuite/refcounting/object.c:
10672         * testsuite/refcounting/pad.c:
10673         * testsuite/refcounting/sched.c:
10674         * testsuite/refcounting/thread.c:
10675         * testsuite/states/.cvsignore:
10676         * testsuite/states/Makefile.am:
10677         * testsuite/states/bin.c:
10678         * testsuite/states/locked.c:
10679         * testsuite/states/parent.c:
10680         * testsuite/threads/.cvsignore:
10681         * testsuite/threads/159566.c:
10682         * testsuite/threads/159852.c:
10683         * testsuite/threads/Makefile.am:
10684         * testsuite/threads/queue.c:
10685         * testsuite/threads/signals.c:
10686         * testsuite/threads/staticrec.c:
10687         * testsuite/threads/thread.c:
10688         * testsuite/threads/threadb.c:
10689         * testsuite/threads/threadc.c:
10690         * testsuite/threads/threadd.c:
10691         * testsuite/threads/threade.c:
10692         * testsuite/threads/threadf.c:
10693         * testsuite/threads/threadg.c:
10694         * testsuite/threads/threadh.c:
10695         * testsuite/threads/threadi.c:
10696           move all of these under tests
10697
10698 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10699
10700         * configure.ac:
10701         * tests/Makefile.am:
10702           fix distcheck
10703
10704 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10705
10706         * docs/gst/gstreamer-sections.txt:
10707         * tests/sched/.cvsignore:
10708         * tests/sched/Makefile.am:
10709         * tests/sched/cases/(fs-fs).xml:
10710         * tests/sched/cases/(fs-i-fs).xml:
10711         * tests/sched/cases/(fs-i-i-fs).xml:
10712         * tests/sched/cases/(fs-i-q[i-fs]).xml:
10713         * tests/sched/dynamic-pipeline.c:
10714         * tests/sched/interrupt1.c:
10715         * tests/sched/interrupt2.c:
10716         * tests/sched/interrupt3.c:
10717         * tests/sched/runtestcases:
10718         * tests/sched/runxml.c:
10719         * tests/sched/sched-stress.c:
10720         * tests/sched/sort.c:
10721         * tests/sched/testcases:
10722         * tests/sched/testcases1.tc:
10723         * tests/seeking/.cvsignore:
10724         * tests/seeking/Makefile.am:
10725         * tests/seeking/seeking1.c:
10726         * tests/threadstate/.cvsignore:
10727         * tests/threadstate/Makefile.am:
10728         * tests/threadstate/test1.c:
10729         * tests/threadstate/test2.c:
10730         * tests/threadstate/threadstate1.c:
10731         * tests/threadstate/threadstate2.c:
10732         * tests/threadstate/threadstate3.c:
10733         * tests/threadstate/threadstate4.c:
10734         * tests/threadstate/threadstate5.c:
10735           remove obsolete tests
10736         * configure.ac:
10737         * tests/bench-complexity.scm:
10738         * tests/bench-mass_elements.scm:
10739         * tests/complexity.c:
10740         * tests/complexity.gnuplot:
10741         * tests/instantiate/.cvsignore:
10742         * tests/instantiate/Makefile.am:
10743         * tests/instantiate/caps.c:
10744         * tests/mass_elements.c:
10745         * tests/network-clock-utils.scm:
10746         * tests/network-clock.scm:
10747         * tests/plot-data:
10748         First pass at cleaning up tests/ dir before moving the rest
10749         Combined with CVS surgery
10750
10751 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10752
10753         * po/POTFILES.in:
10754           queue has moved, update
10755
10756 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10757
10758         * docs/gst/gstreamer-sections.txt:
10759           remove double entries from the docs
10760         * gst/gst_private.h:
10761         * gst/gstinfo.c: (_gst_debug_init):
10762           remove the THREAD debug category
10763         * gst/Makefile.am:
10764         * gst/gstqueue.c:
10765         * gst/gstqueue.h:
10766         * docs/gst/gstreamer.types:
10767         * plugins/elements/gstqueue.c: (gst_queue_get_type),
10768         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
10769           completely move queue and fix up debugging categories
10770
10771 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10772
10773         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10774           make initialization portable, using LL is not
10775
10776 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10777
10778         * win32/common/gstconfig.h:
10779           add large padding
10780
10781 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10782
10783         * win32/common/libgstreamer.def:
10784           rename symbols; sort base section
10785
10786 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10787
10788         * gst/gstclock.c: (do_linear_regression):
10789           remove crack non-portable handrolled DEBUG macro
10790
10791 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10792
10793         * docs/random/release:
10794           update notes
10795         * win32/common/gstenumtypes.c: (register_gst_object_flags),
10796         (gst_object_flags_get_type), (register_gst_bin_flags),
10797         (gst_bin_flags_get_type), (register_gst_buffer_flag),
10798         (gst_buffer_flag_get_type), (register_gst_bus_flags),
10799         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10800         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
10801         (gst_caps_flags_get_type), (register_gst_clock_return),
10802         (gst_clock_return_get_type), (register_gst_clock_entry_type),
10803         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10804         (gst_clock_flags_get_type), (register_gst_state),
10805         (gst_state_get_type), (register_gst_state_change_return),
10806         (gst_state_change_return_get_type), (register_gst_state_change),
10807         (gst_state_change_get_type), (register_gst_element_flags),
10808         (gst_element_flags_get_type), (register_gst_core_error),
10809         (gst_core_error_get_type), (register_gst_library_error),
10810         (gst_library_error_get_type), (register_gst_resource_error),
10811         (gst_resource_error_get_type), (register_gst_stream_error),
10812         (gst_stream_error_get_type), (register_gst_event_type_flags),
10813         (gst_event_type_flags_get_type), (register_gst_event_type),
10814         (gst_event_type_get_type), (register_gst_seek_type),
10815         (gst_seek_type_get_type), (register_gst_seek_flags),
10816         (gst_seek_flags_get_type), (register_gst_format),
10817         (gst_format_get_type), (register_gst_index_certainty),
10818         (gst_index_certainty_get_type), (register_gst_index_entry_type),
10819         (gst_index_entry_type_get_type),
10820         (register_gst_index_lookup_method),
10821         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10822         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10823         (gst_index_resolver_method_get_type), (register_gst_index_flags),
10824         (gst_index_flags_get_type), (register_gst_debug_level),
10825         (gst_debug_level_get_type), (register_gst_debug_color_flags),
10826         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10827         (gst_iterator_result_get_type), (register_gst_iterator_item),
10828         (gst_iterator_item_get_type), (register_gst_message_type),
10829         (gst_message_type_get_type), (register_gst_mini_object_flags),
10830         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10831         (gst_pad_link_return_get_type), (register_gst_flow_return),
10832         (gst_flow_return_get_type), (register_gst_activate_mode),
10833         (gst_activate_mode_get_type), (register_gst_pad_direction),
10834         (gst_pad_direction_get_type), (register_gst_pad_flags),
10835         (gst_pad_flags_get_type), (register_gst_pad_presence),
10836         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10837         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10838         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10839         (gst_plugin_error_get_type), (register_gst_plugin_flags),
10840         (gst_plugin_flags_get_type), (register_gst_rank),
10841         (gst_rank_get_type), (register_gst_query_type),
10842         (gst_query_type_get_type), (register_gst_tag_merge_mode),
10843         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10844         (gst_tag_flag_get_type), (register_gst_task_state),
10845         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10846         (gst_alloc_trace_flags_get_type),
10847         (register_gst_type_find_probability),
10848         (gst_type_find_probability_get_type), (register_gst_uri_type),
10849         (gst_uri_type_get_type), (register_gst_parse_error),
10850         (gst_parse_error_get_type):
10851         * win32/common/gstenumtypes.h:
10852         * win32/common/gstversion.h:
10853           update visual studio generated files
10854
10855 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10856
10857         * win32/vs6/libgstbase.dsp:
10858         * win32/vs6/libgstelements.dsp:
10859           update project files for new locations
10860
10861 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10862
10863         * Makefile.am:
10864           remove some files
10865         * README:
10866           reinstate and update
10867         * DEVEL:
10868         * REQUIREMENTS:
10869           removed
10870         * LICENSE:
10871         * docs/random/LICENSE:
10872           moved to random
10873
10874 2005-11-30  Edward Hervey  <edward@fluendo.com>
10875
10876         * gst/gsttypefind.c: (gst_type_find_register):
10877         * gst/gsttypefind.h:
10878         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
10879         (gst_type_find_factory_dispose):
10880         * gst/gsttypefindfactory.h:
10881         Fix memory leak in GstTypeFindFactory.
10882
10883 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10884
10885         * gst/gst.c:
10886         * plugins/elements/Makefile.am:
10887         * plugins/elements/gstelements.c:
10888         * plugins/elements/gstqueue.c:
10889           move queue from core to the elements plugin
10890
10891 2005-11-29  Andy Wingo  <wingo@pobox.com>
10892
10893         * libs/gst/base/gstbasetransform.h: 
10894         * libs/gst/base/gstbasesrc.h: 
10895         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
10896
10897         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
10898         of pointers by which to pad very extensible base classes (like the
10899         ones in libs/gst/base).
10900
10901 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10902
10903         * docs/gst/gstreamer-docs.sgml:
10904         * docs/gst/gstreamer-sections.txt:
10905         * docs/libs/gstreamer-libs-docs.sgml:
10906         * docs/libs/gstreamer-libs-sections.txt:
10907           moving documentation from core to lib
10908
10909 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10910
10911         * check/Makefile.am:
10912         * configure.ac:
10913         * docs/gst/Makefile.am:
10914         * gst/Makefile.am:
10915         * gst/base/.cvsignore:
10916         * gst/base/Makefile.am:
10917         * gst/base/README:
10918         * gst/base/gstadapter.c:
10919         * gst/base/gstadapter.h:
10920         * gst/base/gstbasesink.c:
10921         * gst/base/gstbasesink.h:
10922         * gst/base/gstbasesrc.c:
10923         * gst/base/gstbasesrc.h:
10924         * gst/base/gstbasetransform.c:
10925         * gst/base/gstbasetransform.h:
10926         * gst/base/gstcollectpads.c:
10927         * gst/base/gstcollectpads.h:
10928         * gst/base/gstpushsrc.c:
10929         * gst/base/gstpushsrc.h:
10930         * gst/base/gsttypefindhelper.c:
10931         * gst/base/gsttypefindhelper.h:
10932         * gst/check/Makefile.am:
10933         * gst/check/gstcheck.c:
10934         * gst/check/gstcheck.h:
10935         * gst/net/Makefile.am:
10936         * gst/net/gstnet.h:
10937         * gst/net/gstnetclientclock.c:
10938         * gst/net/gstnetclientclock.h:
10939         * gst/net/gstnettimepacket.c:
10940         * gst/net/gstnettimepacket.h:
10941         * gst/net/gstnettimeprovider.c:
10942         * gst/net/gstnettimeprovider.h:
10943         * libs/gst/Makefile.am:
10944         * libs/gst/base/Makefile.am:
10945         * libs/gst/base/gstbasetransform.c:
10946         * libs/gst/check/Makefile.am:
10947         * plugins/elements/Makefile.am:
10948         * po/POTFILES.in:
10949           CVS surgery + support to move base, check, and net out of gst
10950           and into libs/gst
10951
10952 2005-11-29  Andy Wingo  <wingo@pobox.com>
10953
10954         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
10955
10956         * gst/gststructure.h (struct _GstStructure): Only one pointer of
10957         padding.
10958
10959         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
10960
10961         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
10962
10963         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
10964
10965         * gst/gstobject.h: (struct _GstObject): Only one pointer of
10966         padding; reduces object size by about 30%. We don't expect
10967         anything else to go into gstobject.
10968
10969         * gst/gstminiobject.h (struct _GstMiniObject)
10970         (struct _GstMiniObjectClass): Only one pointer of padding; the
10971         payload is only a pointer and two ints anyway. For the class there
10972         are only two methods as well.
10973         
10974         * gst/gstelement.h (struct _GstElementClass): Removed
10975         the state_changed signal callback, it is not used.
10976
10977 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10978
10979         * docs/gst/gstreamer.types:
10980           fix includes, though they are a little dinky
10981
10982 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10983
10984         * check/Makefile.am:
10985           look in the right place for elements, a lot more chance of
10986           success
10987         * gst/Makefile.am:
10988           remove indexers and elements subdirs
10989         * plugins/Makefile.am:
10990           make indexers conditional
10991
10992 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10993
10994         * Makefile.am:
10995         * configure.ac:
10996         * plugins/elements/Makefile.am:
10997         * plugins/elements/gstcapsfilter.c:
10998         * plugins/elements/gstfilesink.c:
10999         * plugins/elements/gstfilesrc.c:
11000         * plugins/elements/gstidentity.c:
11001         * plugins/indexers/Makefile.am:
11002           do CVS surgery and related build fixery to move elements
11003           and indexers in a new gstreamer/plugins directory, out of the
11004           gst/ directory
11005
11006 2005-11-29  Andy Wingo  <wingo@pobox.com>
11007
11008         * check/Makefile.am:
11009         * pkgconfig/gstreamer-net-uninstalled.pc.in:
11010         * pkgconfig/gstreamer-net.pc.in:
11011         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
11012         #322257.
11013
11014 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11015
11016         * tools/Makefile.am:
11017         * tools/gst-complete.1.in:
11018         * tools/gst-complete.c:
11019         * tools/gst-compprep.1.in:
11020         * tools/gst-compprep.c:
11021           removing -compprep and -complete
11022
11023 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
11024
11025         * gst/gstevent.c: (gst_event_new_new_segment),
11026         (gst_event_parse_new_segment):
11027         * gst/gstevent.h:
11028           fix #320529 - clean up new_segment API and structure.
11029           Let's hope everyone was using the methods, and not the structure.
11030
11031 2005-11-29  Edward Hervey  <edward@fluendo.com>
11032
11033         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11034         (gst_base_sink_event), (gst_base_sink_do_sync),
11035         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
11036         Properly handle non GST_FORMAT_TIME segment
11037         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11038         Properly handle non GST_FORMAT_TIME segment
11039         * gst/gstsegment.c:
11040         This function is valid if the accumulator is 0 and the format
11041         is different from the requested format.
11042         
11043 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11044
11045         * docs/gst/gstreamer-sections.txt:
11046         Add gst_query_new_seeking and gst_query_parse_seeking to the
11047         docs.
11048
11049 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
11050
11051         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
11052           Treat a pad alloc with new caps the same as if we were not
11053           negotiated, in order to allow a changing upstream output
11054           to produce a new format of data.
11055
11056 2005-11-29  Edward Hervey  <edward@fluendo.com>
11057
11058         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
11059         (gst_base_transform_event), (gst_base_transform_eventfunc):
11060         The event virtual method is now properly implemented, with a default
11061         handler
11062         Sub classes should call the parent_class event method. They should
11063         return FALSE if they had a problem handling the given event, or don't
11064         want GstBaseTransform to send that even downstream
11065         * gst/elements/gstidentity.c: (gst_identity_class_init),
11066         (gst_identity_init), (gst_identity_event),
11067         (gst_identity_transform_ip), (gst_identity_set_property),
11068         (gst_identity_get_property):
11069         * gst/elements/gstidentity.h:
11070         Added the single-segment boolean property.
11071         If set to TRUE, it will output a single segment of data, starting from
11072         0, will eat up all incoming newsegment, and modify the timestamp of the
11073         buffers accordingly
11074
11075 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
11076
11077         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
11078           Don't ref NULL target pad (#322751). Improve docs.
11079
11080 2005-11-29  Michael Smith  <msmith@fluendo.com>
11081
11082         * gst/gstregistryxml.c: (load_plugin):
11083           Don't crash if we failed to load a feature from a plugin. 
11084
11085 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11086
11087         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
11088         (GST_START_TEST):
11089           use more check API and less GLib API
11090
11091 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11092
11093         * Makefile.am:
11094           don't run checks if we don't have check
11095         * common/check.mak:
11096           remove the registry when running make torture
11097         * docs/gst/gstreamer-sections.txt:
11098           remove second multiply
11099         * gst/gstqueue.c: (gst_queue_loop):
11100           fix a compile warning when disabling debug
11101
11102 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
11103
11104         * gst/gstinfo.h:
11105         Hey! Let's print the pad name if the pointer != NULL instead
11106         of when it == NULL :-)
11107
11108 2005-11-28  Wim Taymans  <wim@fluendo.com>
11109
11110         * check/gst/gstutils.c: (GST_START_TEST):
11111         Updated check, add some scaling accuracy checking code.
11112
11113         * gst/gstutils.c: (gst_util_div128_64),
11114         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
11115         (gst_util_uint64_scale_int):
11116         Fix 6 times faster division code. Optimize for common 
11117         1/1 and less common X/1 cases.
11118
11119 2005-11-28  Wim Taymans  <wim@fluendo.com>
11120
11121         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11122         More checks.
11123
11124         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
11125         (do_linear_regression), (gst_clock_add_observation):
11126         Cleanups.
11127         Release lock when the clock cannot be slaved.
11128         Catch the case where the regression returned an invalid denominator.
11129
11130         * gst/gstutils.c: (gst_util_div128_64_iterate),
11131         (gst_util_div128_64), (gst_util_uint64_scale_int64),
11132         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
11133         Add protentially more performant non-iterative 128/64 divide function
11134         that unfortunatly does not work yet.
11135         Shortcut the trivial 0/X = 0 case.
11136         Remove the warnings on overflow.
11137
11138 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11139
11140         * gst/gstplugin.c: (gst_plugin_register_func):
11141           everything causing a plugin not to load should be at least a WARNING
11142
11143 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
11144
11145         * docs/random/ensonic/dparams.txt:
11146           some TODOs for the next dev cycle
11147         * libs/gst/controller/gstcontroller.c:
11148         (gst_controlled_property_set_interpolation_mode),
11149         (gst_controlled_property_new):
11150         * libs/gst/controller/gstcontroller.h:
11151           use base type to assign acccessor functions
11152
11153 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
11154
11155         * check/Makefile.am:
11156         Oops, that should have been top_srcdir
11157
11158 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
11159
11160         * check/Makefile.am:
11161         * check/elements/fdsrc.c: (GST_START_TEST):
11162         Use a cmdline define to specify the location of a file to use for
11163         testing, to avoid breaking distcheck.
11164
11165 2005-11-28  Andy Wingo  <wingo@pobox.com>
11166
11167         * gst/gstpad.c (fixate_value): Use array functions for arrays.
11168
11169 2005-11-28  Edward Hervey  <edward@fluendo.com>
11170
11171         * tools/gst-launch.c: (main):
11172         Clarify the output strings, makes it easier to translate.
11173         Fixes #322626
11174
11175 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11176
11177         * gst/Makefile.am:
11178           don't try and build net if we don't even have <sys/socket.h>
11179
11180 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
11181
11182         * check/Makefile.am:
11183         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
11184         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
11185           Add tests for fdsrc seekability
11186
11187         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11188         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
11189         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
11190         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
11191         * gst/elements/gstfdsrc.h:
11192           fdsrc should not be a 'live' source.
11193           Implement seeking on seekable fd's.
11194
11195         * gst/gstquery.c: (gst_query_new_seeking),
11196         (gst_query_parse_seeking):
11197         * gst/gstquery.h:
11198           Implement SEEKING query functions: 
11199             *_new_seeking and *_parse_seeking
11200
11201 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
11202
11203         * gst/gstelement.c: (gst_element_dispose):
11204           don't loop forever
11205
11206         * gst/gstiterator.c:
11207         * gst/gststructure.c:
11208           doc fixes
11209
11210         * libs/gst/controller/gstcontroller.c:
11211         (gst_controlled_property_set_interpolation_mode):
11212         * libs/gst/controller/gstcontroller.h:
11213         * libs/gst/controller/gstinterpolation.c:
11214         (interpolate_none_get_enum_value_array):
11215           support controlling enums
11216
11217 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
11218
11219         * gst/gstvalue.c:
11220           Improve documentation for gst_value_union().
11221
11222         * gst/gstvalue.h:
11223           Change return value for union, intersect and subtract functions
11224           from gint to gboolean.
11225
11226 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
11227
11228         * gst/gstvalue.c: (gst_value_serialize_any_list),
11229         (gst_value_transform_any_list_string),
11230         (gst_value_deserialize_list), (gst_value_deserialize_array),
11231         (gst_value_set_int_range), (gst_value_deserialize_int_range),
11232         (gst_value_set_double_range), (gst_value_deserialize_double_range),
11233         (gst_value_set_fraction_range_full),
11234         (gst_value_deserialize_fraction_range),
11235         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
11236         (gst_value_deserialize_boolean),
11237         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
11238         (gst_value_serialize_float), (gst_value_deserialize_float),
11239         (gst_string_wrap), (gst_value_deserialize_string),
11240         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
11241         (gst_value_union_int_range_int_range),
11242         (gst_value_intersect_int_range_int_range),
11243         (gst_value_intersect_double_range_double_range),
11244         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
11245         (gst_value_subtract_int_range_int_range),
11246         (gst_value_subtract_double_double_range),
11247         (gst_value_subtract_double_range_double_range),
11248         (gst_value_deserialize_fraction):
11249         * gst/gstvalue.h:
11250           Use gint, gdouble and gchar in our API instead of int, double and
11251           char (and make usage in gstvalue.c more consistent).
11252
11253 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11254
11255         * check/Makefile.am:
11256         * libs/gst/controller/Makefile.am:
11257         * libs/gst/dataprotocol/Makefile.am:
11258           fix up Makefile.am and remove GST_ENABLE_NEW
11259
11260 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11261
11262         * configure.ac:
11263         * gst/Makefile.am:
11264         * gst/base/Makefile.am:
11265         * gst/check/Makefile.am:
11266         * gst/elements/Makefile.am:
11267         * gst/net/Makefile.am:
11268           update LDFLAGS use some more
11269
11270 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11271
11272         * common/m4/gst-doc.m4:
11273           Fixes #312589
11274
11275 2005-11-26  Edward Hervey  <edward@fluendo.com>
11276
11277         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11278         This shouldn't issue a g_warning since it returns NULL if it
11279         couldn't find the plugin, and all functions using this behave
11280         properly on a NULL return. Switching to a GST_WARNING.
11281
11282 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
11283
11284         * gst/gstbin.c: (gst_bin_handle_message_func):
11285         Don't leak clock messages.
11286
11287 2005-11-25  Wim Taymans  <wim@fluendo.com>
11288
11289         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11290         (gst_util_uint64_scale_int):
11291         Optimisations, remove unneeded vars.
11292
11293 2005-11-25  Wim Taymans  <wim@fluendo.com>
11294
11295         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11296         Added more checks for the high precision uint64 cases.
11297
11298         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11299         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
11300         Implement high precision (guint64 * guint64) / guint64.
11301
11302 2005-11-24  Wim Taymans  <wim@fluendo.com>
11303
11304         * gst/base/gstbasesrc.c: (gst_base_src_query):
11305         Fix wrong percentage query.
11306
11307         * gst/gstutils.c: (gst_util_uint64_scale),
11308         (gst_util_uint64_scale_int):
11309         Add some more common cases that can be handled 
11310         efficiently to _scale.
11311
11312 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11313
11314         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
11315         (gst_mini_object_suite):
11316           don't use check calls from threads; check probably isn't
11317           threadsafe and using a lock to make it threadsafe would
11318           defeat the purpose of this check
11319         * gst/check/gstcheck.c:
11320         * gst/check/gstcheck.h:
11321           use GST_DEBUG some more
11322
11323 2005-11-24  Wim Taymans  <wim@fluendo.com>
11324
11325         * gst/gstutils.c: (gst_util_uint64_scale),
11326         (gst_util_uint64_scale_int):
11327         Chain trivial case to _scale_int.
11328
11329 2005-11-24  Wim Taymans  <wim@fluendo.com>
11330
11331         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11332         Added test for scaling.
11333
11334         * gst/gstclock.h:
11335         Small doc fix.
11336
11337         * gst/gstutils.c: (gst_util_uint64_scale_int):
11338         Implemented high precision scaling code.
11339
11340 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
11341
11342         * gst/gstinfo.h:
11343           do not crash on pad==NULL
11344
11345 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11346
11347         Patch by: Stefan Kost
11348
11349         * common/gtk-doc.mak:
11350         * docs/gst/Makefile.am:
11351         * docs/libs/Makefile.am:
11352           Fix distcheck issues for the libraries docs build
11353           Closes #319599.
11354
11355 2005-11-24  Michael Smith <msmith@fluendo.com>
11356
11357         * docs/manual/basics-helloworld.xml:
11358           Fix bug #315027: memory leak in example code in docs.
11359
11360 2005-11-24  Michael Smith <msmith@fluendo.com>
11361
11362         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11363           Unlock the PREROLL_LOCK in a failure case.
11364
11365 2005-11-24  Wim Taymans  <wim@fluendo.com>
11366
11367         * docs/gst/gstreamer-sections.txt:
11368         * gst/base/gstadapter.h:
11369         * gst/base/gstbasesink.h:
11370         * gst/base/gstbasesrc.h:
11371         * gst/base/gstbasetransform.h:
11372         * gst/base/gstpushsrc.h:
11373         * gst/elements/gstfakesink.h:
11374         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
11375         * gst/elements/gstfakesrc.h:
11376         * gst/elements/gstfilesink.h:
11377         * gst/elements/gstfilesrc.h:
11378         * gst/gst.c:
11379         * gst/gstbin.c:
11380         * gst/gstbuffer.c: (_gst_buffer_copy):
11381         * gst/gstbus.h:
11382         * gst/gstcaps.c:
11383         * gst/gstchildproxy.c:
11384         * gst/gstclock.c:
11385         * gst/gstelement.c:
11386         * gst/gstelementfactory.c:
11387         * gst/gstelementfactory.h:
11388         * gst/gstevent.c:
11389         * gst/gstghostpad.h:
11390         * gst/gstindex.h:
11391         * gst/gstinterface.h:
11392         * gst/gstminiobject.c:
11393         * gst/gstminiobject.h:
11394         * gst/gstpad.c:
11395         * gst/gstpad.h:
11396         * gst/gstpadtemplate.h:
11397         * gst/gstpipeline.h:
11398         * gst/gstpluginfeature.h:
11399         * gst/gstquery.h:
11400         * gst/gstqueue.h:
11401         * gst/gsttaglist.c:
11402         * gst/gsttaglist.h:
11403         * gst/gsttagsetter.c:
11404         * gst/gsttagsetter.h:
11405         * gst/gsttrace.c:
11406         * gst/gsttrace.h:
11407         * gst/gsttypefind.h:
11408         * gst/gsturi.h:
11409         * gst/gstvalue.c:
11410         * gst/net/gstnetclientclock.c:
11411         * gst/net/gstnetclientclock.h:
11412         * gst/net/gstnettimepacket.c:
11413         * gst/net/gstnettimeprovider.c:
11414         * gst/net/gstnettimeprovider.h:
11415         Doc fixes.
11416
11417 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11418
11419         * configure.ac: back to HEAD
11420
11421 === release 0.9.6 ===
11422
11423 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
11424
11425         * configure.ac:
11426           releasing 0.9.6, "Always On Time"
11427
11428 2005-11-23  Wim Taymans  <wim@fluendo.com>
11429
11430         * docs/gst/gstreamer-sections.txt:
11431         * gst/glib-compat.c:
11432         * gst/gsttagsetter.c:
11433         * gst/gstvalue.c:
11434         * gst/net/gstnetclientclock.c:
11435         * gst/net/gstnettimepacket.h:
11436         Doc updates.
11437
11438 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11439
11440         * docs/faq/using.xml:
11441         * docs/libs/tmpl/gstcontrol.sgml:
11442         * docs/manual/advanced-dparams.xml:
11443         * docs/manual/appendix-checklist.xml:
11444         * docs/manual/basics-elements.xml:
11445         * docs/pwg/other-source.xml:
11446         * docs/random/moving-plugins:
11447         * gst/gstpad.c:
11448         * tools/gst-launch.1.in:
11449           remove mentions of sinesrc
11450
11451 2005-11-23  Michael Smith <msmith@fluendo.com>
11452
11453         * docs/gst/gstreamer-sections.txt:
11454           Update for new API and API changes.
11455         * gst/gstobject.h:
11456           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
11457         * gst/gstvalue.c:
11458           Documentation typo fix.
11459         * gst/net/gstnettimepacket.c:
11460           Documentation fixes for arguments.
11461
11462 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
11463
11464         * gst/gststructure.c: (gst_structure_get_fraction),
11465         (gst_structure_parse_value),
11466         (gst_structure_fixate_field_nearest_fraction):
11467         * gst/gststructure.h:
11468         * gst/gstutils.c: (gst_util_uint64_scale_int):
11469         * gst/gstutils.h:
11470         * scripts/update-funcnames:
11471         API Changes. 
11472         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
11473         Make gst_structure_fixate_field_nearest_fraction take a numerator
11474         and denominator argument instead of a GValue
11475         add gst_structure_get_fraction helper function.
11476
11477 2005-11-23  Wim Taymans  <wim@fluendo.com>
11478
11479         * docs/design/part-TODO.txt:
11480         Update TODO.
11481
11482         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11483         * gst/net/gstnetclientclock.h:
11484         Use parent fields for timeout and window_size.
11485
11486 2005-11-23  Andy Wingo  <wingo@pobox.com>
11487
11488         * check/net/gstnetclientclock.c (test_functioning): Adjust to
11489         rate_num/rate_denom change.
11490
11491         * gst/net/gstnetclientclock.c
11492         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
11493         OBJECT_LOCK. Don't call add_observation with the lock.
11494
11495         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
11496         fraction.
11497         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
11498         rate fraction.
11499         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
11500         deal with rate as a fraction whose numerator and denominator are
11501         GstClockTime values.
11502         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
11503         master; the other fields are protected by the SLAVE_LOCK.
11504         (do_linear_regression): Note that this must be called with the
11505         SLAVE_LOCK.
11506         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
11507         OBJECT_LOCK. Call set_calibration instead of touching the
11508         variables directly.
11509         (gst_clock_set_property, gst_clock_get_property): Protect
11510         master/slave parameters with the SLAVE_LOCK.
11511
11512         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
11513         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
11514         note that all of the instance variables that add_observation and
11515         the set_master functions use are protected by that lock and not
11516         the OBJECT_LOCK.
11517         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
11518
11519         * gst/gstclock.c (gst_clock_add_observation): No longer requires
11520         the caller to take the object lock.
11521
11522 2005-11-23  Wim Taymans  <wim@fluendo.com>
11523
11524         * gst/gsterror.c: (_gst_core_errors_init):
11525         * gst/gsterror.h:
11526         Add error for clock stuff.
11527
11528         * gst/gstpipeline.c: (gst_pipeline_change_state),
11529         (gst_pipeline_set_clock):
11530         Post clock error when clock cannot be used in a pipeline.
11531
11532 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
11533
11534         * docs/gst/gstreamer-sections.txt:
11535           make two symbols from gstinfo private for the docs
11536         * gst/base/gstcollectpads.h:
11537         * gst/gstutils.c:
11538           fix doc typos, update docs
11539
11540 2005-11-22  Wim Taymans  <wim@fluendo.com>
11541
11542         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11543         (gst_base_sink_wait), (gst_base_sink_do_sync),
11544         (gst_base_sink_handle_event):
11545         * gst/base/gstbasesink.h:
11546         No need to store the clock, the parent element class already
11547         has it.
11548
11549         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
11550         Updates for clock_set returning a gboolean
11551
11552         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
11553         (gst_clock_id_wait_async), (gst_clock_class_init),
11554         (gst_clock_init), (gst_clock_finalize),
11555         (gst_clock_get_internal_time), (gst_clock_get_time),
11556         (gst_clock_slave_callback), (gst_clock_set_master),
11557         (gst_clock_get_master), (do_linear_regression),
11558         (gst_clock_add_observation), (gst_clock_set_property),
11559         (gst_clock_get_property):
11560         * gst/gstclock.h:
11561         Implement master/slave. When setting a clock as a slave, a
11562         periodic timeout is scheduled to sample master and slave times.
11563         Then the slave clock is recalibrated to match offset and rate
11564         of the master clock.
11565         Update logging a bit.
11566         Add flag so that a clock can state that is cannot be slaved to
11567         another clock.
11568
11569         * gst/gstelement.c: (gst_element_set_clock):
11570         * gst/gstelement.h:
11571         The set clock returns a gboolean for when an element cannot
11572         deal with the selected clock in the pipeline. 
11573
11574         * gst/gstpipeline.c: (gst_pipeline_change_state),
11575         (gst_pipeline_set_clock):
11576         * gst/gstpipeline.h:
11577         Handle the case where the selected clock cannot be set on
11578         the pipeline.
11579
11580         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
11581         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
11582         (gst_net_client_clock_set_property),
11583         (gst_net_client_clock_get_property),
11584         (gst_net_client_clock_observe_times):
11585         * gst/net/gstnetclientclock.h:
11586         Use regression code in GstClock parent, remove duplicated
11587         functionality.
11588
11589 2005-11-22  Michael Smith <msmith@fluendo.com>
11590
11591         * gst/gstutils.c: (gst_util_clock_time_scale):
11592         * gst/gstutils.h:
11593         * docs/gst/gstreamer-sections.txt:
11594           Rename method to have extra underscore.
11595
11596 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11597
11598         * gst/elements/Makefile.am:
11599         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
11600         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11601         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11602         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
11603         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
11604         * gst/elements/gstfakesrc.h:
11605         * gst/gstqueue.c: (queue_leaky_get_type):
11606           correctly fix GEnumValues so that nick is the short lowercase
11607           dashed tag
11608         * tools/gst-inspect.c: (print_element_properties_info):
11609           also show the nick, since it's useful to use from parse_launch
11610           syntax
11611           Fixes #322139
11612
11613 2005-11-22  Michael Smith <msmith@fluendo.com>
11614
11615         * gst/gstutils.c: (gst_util_clocktime_scale):
11616         * gst/gstutils.h:
11617         * docs/gst/gstreamer-sections.txt:
11618           Add util method for scaling a clocktime by a fraction. Useful 
11619           implementation is left as an exercise for the reader.
11620
11621 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11622
11623         * gst/gstvalue.c: (gst_value_collect_fraction_range):
11624         If needed, allocate storage in the destination value during
11625         collection.
11626
11627 2005-11-22  Edward Hervey  <edward@fluendo.com>
11628
11629         * docs/gst/gstreamer-sections.txt:
11630         * gst/Makefile.am:
11631         * gst/gst.h:
11632         * gst/gsturitype.c:
11633         * gst/gsturitype.h:
11634         * gst/gstutils.c: (gst_util_set_object_arg):
11635         * tools/gst-compprep.c: (main):
11636         * tools/gst-inspect.c: (print_element_properties_info):
11637         Removed GstURI, closes bug #321061
11638
11639 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11640
11641         * check/gst/gststructure.c: (GST_START_TEST):
11642         * gst/gststructure.c: (gst_structure_parse_value):
11643           Oops, broke automatic string type parsing.
11644           Add a test to catch it in future.
11645
11646 2005-11-22  Andy Wingo  <wingo@pobox.com>
11647
11648         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
11649         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
11650         Actually rename the function implementations. Grr.
11651
11652 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11653
11654         * check/gst/capslist.h:
11655           Comment test cases
11656         * check/gst/gststructure.c: (GST_START_TEST),
11657         (gst_structure_suite):
11658           Test automatic value type detection in gst_structure_from_string.
11659         * gst/gststructure.c: (gst_structure_parse_value):
11660           Add fraction as a type we try and guess automatically in
11661           caps/structure strings.
11662
11663 2005-11-22  Andy Wingo  <wingo@pobox.com>
11664
11665         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
11666
11667         * gst/gsttagsetter.h:
11668         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
11669         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
11670         (gst_tag_setter_add_tag_valist)
11671         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
11672         _add_values, _add_valist, and _add_valist_values. Since this is an
11673         interface the function suffixes should be more explicit so
11674         language binding don't end up with element.add_valist ->
11675         gst_tag_setter_add_valist, for example. Fixes #322069.
11676
11677 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11678
11679         * check/gst/gstcaps.c: (GST_START_TEST):
11680           Extend caps string tests to check that a caps to string
11681           conversion is reversible and produces the same caps.
11682
11683         * gst/gststructure.c: (gst_structure_value_get_generic_type):
11684           Output "fraction" as the generic type fraction range, so caps
11685           serialisation and deserialisation works.
11686         * check/gst/capslist.h:
11687         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11688           Support 'MIN' and 'MAX' for deserialising fractions.
11689
11690 2005-11-22  Andy Wingo  <wingo@pobox.com>
11691
11692         * gst/gstevent.h (gst_event_new_new_segment)
11693         (gst_event_parse_new_segment, gst_event_new_buffer_size)
11694         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
11695         Renamed from *_newsegment, *_buffersize, *_notarget.
11696
11697         * scripts/update-funcnames: New script, performs the changes
11698         listed above.
11699
11700 2005-11-22  Wim Taymans  <wim@fluendo.com>
11701
11702         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11703         Make sure the GstFlowReturn is returned.
11704
11705         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
11706         (gst_bus_add_signal_watch):
11707         * gst/gstbus.h:
11708         add gst_bus_add_signal_watch_full.
11709
11710         * gst/gstplugin.c: (gst_plugin_load_file):
11711         Small style cleanup.
11712
11713 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11714
11715         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
11716           Block the fakesrc srcpad when we send an event, to avoid
11717           contention on the stream_lock causing random test failures.
11718
11719 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11720
11721         * check/gst/gstvalue.c: (GST_START_TEST):
11722         * gst/gstvalue.c: (gst_value_fraction_subtract):
11723           Fix subtraction.
11724
11725 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
11726
11727         * gst/gst.h:
11728           include "gstchildproxy.h"
11729         * gst/gstchildproxy.h:
11730         * libs/gst/controller/gstcontroller.h:
11731           use G_GNUC_NULL_TERMINATED
11732
11733 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11734
11735         * check/gst/capslist.h:
11736         * check/gst/gstcaps.c: (GST_START_TEST):
11737         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11738         * gst/gststructure.c: (gst_structure_parse_range),
11739         (gst_structure_fixate_field_nearest_fraction):
11740         * gst/gststructure.h:
11741         * gst/gstvalue.c: (gst_value_init_fraction_range),
11742         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
11743         (gst_value_collect_fraction_range),
11744         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
11745         (gst_value_set_fraction_range_full),
11746         (gst_value_get_fraction_range_min),
11747         (gst_value_get_fraction_range_max),
11748         (gst_value_serialize_fraction_range),
11749         (gst_value_transform_fraction_range_string),
11750         (gst_value_compare_fraction_range),
11751         (gst_value_deserialize_fraction_range),
11752         (gst_value_intersect_fraction_fraction_range),
11753         (gst_value_intersect_fraction_range_fraction_range),
11754         (gst_value_subtract_fraction_fraction_range),
11755         (gst_value_subtract_fraction_range_fraction),
11756         (gst_value_subtract_fraction_range_fraction_range),
11757         (gst_value_collect_fraction), (gst_value_fraction_multiply),
11758         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
11759         (gst_value_transform_string_fraction), (_gst_value_initialize):
11760         * gst/gstvalue.h:
11761           Implement fraction ranges and extend GstFraction to support
11762           arithmetic subtraction, as well as deserialization from integer
11763           strings such as "100"
11764           Add a testsuite as for int and double range set operations
11765
11766 2005-11-21  Andy Wingo  <wingo@pobox.com>
11767
11768         * gst/gsttaglist.h: 
11769         * gst/gstcaps.h: 
11770         * gst/gststructure.h: Add glib-compat.h.
11771
11772 2005-11-21  Wim Taymans  <wim@fluendo.com>
11773
11774         * gst/gstbin.c: (gst_bin_change_state_func):
11775         Fix for #321595
11776
11777 2005-11-21  Wim Taymans  <wim@fluendo.com>
11778
11779         * gst/gstsegment.h:
11780         And add a nice define too.
11781
11782 2005-11-21  Wim Taymans  <wim@fluendo.com>
11783
11784         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
11785         (gst_segment_new), (gst_segment_free), (gst_segment_init),
11786         (gst_segment_set_duration), (gst_segment_set_last_stop),
11787         (gst_segment_set_seek), (gst_segment_set_newsegment),
11788         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11789         (gst_segment_clip):
11790         * gst/gstsegment.h:
11791         Make binding friendly.
11792
11793 2005-11-21  Andy Wingo  <wingo@pobox.com>
11794
11795         * gst/gsttagsetter.h: 
11796         * gst/gsttaglist.h: 
11797         * gst/gststructure.h: 
11798         * gst/gstcaps.h: 
11799         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
11800         #319940.
11801
11802         * gst/gsterror.c (_gst_core_errors_init):
11803         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
11804         category.
11805
11806         * gst/Makefile.am (gst_headers): Add glib-compat.h.
11807         (noinst_HEADERS): noinst the -private.
11808
11809 2005-11-21  Michael Smith <msmith@fluendo.com>
11810
11811         * gst/gstplugin.h:
11812         * gst/gstregistry.h:
11813           Remove unimplemented declarations for which we can see no sensible
11814           use.
11815
11816 2005-11-21  Andy Wingo  <wingo@pobox.com>
11817
11818         * gst/gst.h: Include glib-compat.h.
11819
11820         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
11821
11822         * gst/glib-compat.c: Include the public and the private header.
11823
11824         * gst/glib-compat-private.h: Copied here from glib-compat.h.
11825
11826         * gst/gstvalue.c: 
11827         * gst/gstpad.c: 
11828         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
11829
11830         * check/gst/gstevent.c (create_custom_events): Check that
11831         FLUSH_STOP is serialized.
11832
11833         * check/elements/identity.c (event_func): 
11834         * check/elements/fakesrc.c (event_func): No stream lock, the core
11835         takes it.
11836
11837         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
11838         stream lock taking, yay.
11839
11840         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
11841         ensure that core takes the stream lock.
11842
11843         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
11844         lock name change.
11845
11846         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
11847         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
11848         it already. For the flush start we do take it though so we get the
11849         right preroll state change messages.
11850
11851         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
11852         the stream lock here, the core does it for us.
11853
11854         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
11855         GST_STREAM_GET_LOCK.
11856         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
11857         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
11858         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
11859         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
11860         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
11861         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
11862
11863         * gst/gstpad.c: Update for stream lock name change.
11864
11865         * gst/base/gstbasesink.c: Update for preroll lock name change.
11866
11867 2005-11-21  Wim Taymans  <wim@fluendo.com>
11868
11869         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
11870         (gst_clock_get_master):
11871         * gst/gstclock.h:
11872         * gst/gstsystemclock.c: (gst_system_clock_init):
11873         Convert Clock flags to object flags.
11874         Added methods to manage master/slave clocks.
11875
11876 2005-11-21  Wim Taymans  <wim@fluendo.com>
11877
11878         * check/gst/gstsegment.c: (GST_START_TEST):
11879         * docs/design/part-TODO.txt:
11880         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11881         (gst_base_sink_event), (gst_base_sink_do_sync),
11882         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11883         (gst_base_sink_query), (gst_base_sink_change_state):
11884         * gst/base/gstbasesink.h:
11885         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
11886         (gst_base_src_default_newsegment),
11887         (gst_base_src_configure_segment), (gst_base_src_do_seek),
11888         (gst_base_src_get_range), (gst_base_src_loop),
11889         (gst_base_src_change_state):
11890         * gst/base/gstbasesrc.h:
11891         * gst/base/gstbasetransform.c:
11892         (gst_base_transform_prepare_output_buf),
11893         (gst_base_transform_event), (gst_base_transform_change_state):
11894         * gst/base/gstbasetransform.h:
11895         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11896         (gst_collect_pads_event):
11897         * gst/base/gstcollectpads.h:
11898         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
11899         (gst_fake_src_create):
11900         * gst/elements/gstfakesrc.h:
11901         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11902         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11903         (gst_segment_set_last_stop), (gst_segment_set_seek),
11904         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
11905         (gst_segment_to_running_time), (gst_segment_clip):
11906         * gst/gstsegment.h:
11907         More segment updates, replace code in plugins with segment
11908         helper functions.
11909
11910 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11911
11912         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
11913         Don't ignore sscanf results
11914
11915 2005-11-21  Andy Wingo  <wingo@pobox.com>
11916
11917         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
11918
11919         * *.h:
11920         * *.c: Ran scripts/update-macros. Oh yes.
11921
11922         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
11923         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
11924         GST_GET_LOCK, etc.
11925
11926         * scripts/update-macros: New script. Run it on your files to
11927         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
11928         well.
11929
11930 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11931
11932         * docs/gst/Makefile.am:
11933         * docs/gst/gstreamer-docs.sgml:
11934         * docs/gst/gstreamer-sections.txt:
11935         * docs/gst/gstreamer.types:
11936         * gst/gstinfo.h:
11937           more docs fixes, add new api to the docs
11938
11939 2005-11-21  Andy Wingo  <wingo@pobox.com>
11940
11941         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
11942         state_broadcast call.
11943
11944         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
11945
11946 2005-11-21  Julien MOUTTE  <julien@moutte.net>
11947
11948         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
11949         function calls for arrays.
11950
11951 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11952
11953         * docs/random/ensonic/media-device-daemon.txt:
11954           wild idea, can this be done?
11955         * docs/gst/gstreamer-sections.txt:
11956         * gst/gsterror.h:
11957         * gst/gstfilter.c:
11958         * gst/gstfilter.h:
11959         * gst/gstplugin.h:
11960         * gst/gstpluginfeature.c:
11961         * gst/gsttrace.c:
11962         * gst/gstvalue.c:
11963         * gst/gstvalue.h:
11964           doc fixes and additions
11965
11966 2005-11-21  Andy Wingo  <wingo@pobox.com>
11967
11968         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
11969         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
11970         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
11971         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
11972         private to the basesrc implementation.
11973
11974         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
11975         behalf of event function if necessary. It should no longer be
11976         necessary to take the stream lock in pad's event functions. Fixes
11977         #320299.
11978
11979 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11980         * docs/gst/gstreamer-sections.txt:
11981         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
11982         (gst_structure_fixate_field_nearest_double),
11983         (gst_structure_fixate_field_boolean):
11984         * gst/gststructure.h:
11985         * win32/common/libgstreamer.def:
11986         * win32/gstreamer.def:
11987
11988         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
11989         (#322027)
11990
11991 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11992
11993         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
11994         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
11995         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
11996         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
11997         (gst_fdsrc_uri_handler_init):
11998         * gst/elements/gstfdsrc.h:
11999           Port fd:// URI handler from 0.8 to fdsrc
12000
12001 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12002
12003         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
12004         (gst_value_serialize_fourcc):
12005         * gst/gstvalue.h:
12006           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
12007           consistent with our other format defines (#320324).
12008
12009 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12010
12011         * gst/gstvalue.c: (gst_value_is_fixed):
12012           Revert previous commit. Value lists are by definition
12013           not fixed, as they are a list of possible values.
12014
12015 2005-11-21  Andy Wingo  <wingo@pobox.com>
12016
12017         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
12018         during the stable series if we need it. Fixes #319178.
12019
12020         * gst/gstevent.c (gst_event_new_filler): Removed.
12021
12022         * check/gst/gstevent.c: Update comment about filler events.
12023
12024 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12025
12026         * gst/gstvalue.c: (gst_value_is_fixed):
12027           Should handle both value arrays and value lists.
12028
12029 2005-11-21  Andy Wingo  <wingo@pobox.com>
12030
12031         patch by: Alessandro Dessina <alessandro nnva org>
12032
12033         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
12034         functions to access arrays. Fixes #321962.
12035
12036 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12037
12038         * docs/gst/gstreamer.types:
12039           gst_collectpads_get_type => gst_collect_pads_get_type.
12040           
12041         * gst/base/gstbasetransform.c:
12042           Remove unused SIGNAL_HANDOFF enum.
12043
12044 2005-11-21  Andy Wingo  <wingo@pobox.com>
12045
12046         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
12047         the event type (upstream, downstream, serialized). Renamed
12048         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
12049         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
12050         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
12051
12052         * gst/gstevent.c: Update for new CUSTOM event names.
12053
12054         * check/gst/gstevent.c: Update check for new CUSTOM event names.
12055
12056         * gst/gstevent.h:
12057         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
12058         bug #319392.
12059
12060 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12061
12062         * docs/gst/gstreamer-sections.txt:
12063         * win32/common/libgstbase.def:
12064         * win32/libgstbase.def:
12065         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
12066         (gst_collect_pads_class_init), (gst_collect_pads_init),
12067         (gst_collect_pads_finalize), (gst_collect_pads_new),
12068         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
12069         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
12070         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
12071         (gst_collect_pads_start), (gst_collect_pads_stop),
12072         (gst_collect_pads_peek), (gst_collect_pads_pop),
12073         (gst_collect_pads_available), (gst_collect_pads_read),
12074         (gst_collect_pads_flush), (gst_collect_pads_event),
12075         (gst_collect_pads_chain):
12076         * gst/base/gstcollectpads.h:
12077           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
12078           unimplemented functions as unimplemented. Add padding to
12079           GstCollectData. (#320766, #320423)
12080
12081 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
12082
12083         * gst/gstmessage.c:
12084           Improve docs for DURATION message (usage of duration parameter)
12085           (#320113)
12086
12087 2005-11-20  Wim Taymans  <wim@fluendo.com>
12088
12089         * check/Makefile.am:
12090         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
12091         (main):
12092         * gst/Makefile.am:
12093         * gst/gst.h:
12094         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
12095         (gst_segment_set_seek), (gst_segment_set_newsegment),
12096         (gst_segment_to_stream_time), (gst_segment_to_running_time),
12097         (gst_segment_clip):
12098         * gst/gstsegment.h:
12099         Added segment helper structure and methods. Not fully implemented
12100         yet.
12101         Added segment check.
12102
12103 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
12104
12105         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
12106           Add a deserialisation test for fractions
12107         * examples/metadata/read-metadata.c: (message_loop),
12108         (make_pipeline), (main):
12109           Fix up metadata reading sample.
12110         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12111           Debug format fix
12112         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12113           Don't try and fixate empty caps
12114         * gst/gst_private.h:
12115           Wrap in G_BEGIN_DECLS/G_END_DECLS
12116         * gst/gstvalue.c: (gst_value_collect_fraction),
12117         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
12118         (gst_value_transform_string_fraction),
12119         (gst_value_compare_fraction):
12120           Add some extra guards to ensure that we don't end up 
12121           with an invalid denominator of 0 in a gstfraction and
12122           that fractions always get reduced.
12123
12124 2005-11-20  Wim Taymans  <wim@fluendo.com>
12125
12126         * docs/gst/gstreamer-sections.txt:
12127         * gst/gstbuffer.h:
12128         * gst/gstelement.c:
12129         * gst/gstformat.c:
12130         * gst/gstformat.h:
12131         * gst/gstindex.h:
12132         * gst/gstquery.c:
12133         * gst/gstquery.h:
12134         * gst/gstvalue.c:
12135         Doc fixes.
12136
12137 2005-11-20  Wim Taymans  <wim@fluendo.com>
12138
12139         * docs/design/part-TODO.txt:
12140         * gst/gstcaps.h:
12141         Make a proper enum of the flag.
12142
12143 2005-11-19  Wim Taymans  <wim@fluendo.com>
12144
12145         * docs/design/part-TODO.txt:
12146         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
12147         (gst_format_to_quark), (gst_format_register):
12148         * gst/gstformat.h:
12149         * gst/gstquery.c: (_gst_query_initialize),
12150         (gst_query_type_get_name), (gst_query_type_to_quark),
12151         (gst_query_type_register):
12152         * gst/gstquery.h:
12153         Add type to quark and type to string conversions.
12154
12155 2005-11-19  Andy Wingo  <wingo@pobox.com>
12156
12157         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
12158         #320097.
12159
12160 2005-11-19  Wim Taymans  <wim@fluendo.com>
12161
12162         * docs/design/part-TODO.txt:
12163         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
12164         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
12165         (gst_bin_handle_message_func):
12166         * gst/gstbin.h:
12167         Make message handling overridable.
12168
12169 2005-11-19  Andy Wingo  <wingo@pobox.com>
12170
12171         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
12172
12173         * gst/gstclock.h:
12174         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
12175         be a GstClockTime.
12176         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
12177         is a GstClockTime. Fixes #321710.
12178
12179         * gst/gstclock.h (GstClock): Remove offset property. Add
12180         internal_calibration and external_calibration. Fix padding. Pad
12181         also by GstClockTime so we don't run into problems.
12182
12183         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
12184         (gst_clock_get_rate_offset): Remove.
12185         (gst_clock_set_time_adjust): Remove. Fixes #321712.
12186
12187         * gst/gstutils.h:
12188         * gst/gstutils.c (g_static_rec_cond_wait)
12189         (g_static_rec_cond_timed_wait): Removed, no longer needed.
12190
12191         * gst/gstbin.c: Remove terrible continue_state prototype.
12192
12193         * gst/gstelement.h (gst_element_continue_state): Make public.
12194
12195         * gst/gstelement.h:
12196         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
12197         by continue_state. Fixes #319389.
12198
12199         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
12200         Really fixes #168438. However I don't see anywhere where the
12201         filter function is called... stupid GStreamer...
12202         
12203         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
12204         don't have a dispose function, so it won't get called when the
12205         object is unreffed, but oh well!
12206
12207         * gst/gstindex.c (gst_index_set_filter_full): New API function,
12208         allows a destroy function to be set so user_data can be freed.
12209         Fixes #168438.
12210         (gst_index_set_filter): Call gst_index_set_filter_full.
12211
12212         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
12213
12214         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
12215         string should produce an error, given the lack of a way to
12216         represent NULL strings. Fixes #165650.
12217         
12218         * gst/gstvalue.h: 
12219         * gst/gstvalue.c (gst_value_array_append_value) 
12220         (gst_value_array_prepend_value, gst_value_array_get_size) 
12221         (gst_value_array_get_value): New API, copied from
12222         gst_value_list_*, only operates on arrays.
12223         (gst_value_list_append_value, gst_value_list_prepend_value) 
12224         (gst_value_list_concat, gst_value_list_get_size) 
12225         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
12226
12227         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
12228         init_list, because it works on both.
12229         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
12230         (gst_value_copy_list_or_array): Renamed from copy_list.
12231         (gst_value_free_list_or_array): Renamed from free_list.
12232         (gst_value_collect_list_or_array): Renamed from collect_list.
12233         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
12234         (gst_value_list_or_array_peek_pointer): Renamed from
12235         list_peek_pointer.
12236         (_gst_value_array_value_table, _gst_value_list_value_table):
12237         Update value table functions.
12238         (gst_value_compare_list_or_array): Renamed from compare_list.
12239
12240         * gsttaglist.h: Whoops, foreach function returns void. Also fix
12241         some constness.
12242
12243         * gst/gsttaglist.c:
12244         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
12245         GstTagList*. Fixes #143472.
12246
12247         * gst/gststructure.h: Clarify what the foreach/map functions can
12248         or can't do to their arguments.
12249
12250 2005-11-18  Wim Taymans  <wim@fluendo.com>
12251
12252         * gst/gstclock.c: (gst_clock_set_calibration),
12253         (gst_clock_get_calibration):
12254         Doc and API fixes.
12255         Calibration can be set with internal time equal to current
12256         internal time too.
12257
12258 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12259
12260         * gst/gsterror.c:
12261         * gst/gsterror.h:
12262           document
12263
12264 2005-11-18  Andy Wingo  <wingo@pobox.com>
12265
12266         * configure.ac: 
12267         * pkgconfig/gstreamer-net.pc.in:
12268         * pkgconfig/gstreamer-net-uninstalled.pc.in:
12269         * pkgconfig/Makefile.am: Add net pkgconfig files.
12270
12271 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
12272
12273         * gst/gstcaps.c:
12274         * gst/gstghostpad.c:
12275         * gst/gsttrace.c:
12276         * gst/gstvalue.c:
12277         * gst/gstvalue.h:
12278           docs fixes
12279
12280 2005-11-18  Andy Wingo  <wingo@pobox.com>
12281
12282         * gst/net/gstnetclientclock.c: Turn off debugging.
12283
12284         * check/net/gstnetclientclock.c (test_functioning): Assert that the
12285         times connverge somewhat. Can't make a real test.
12286
12287         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
12288         integer arithmetic. Return the minimum of the domain, which can be
12289         set as "internal" for gst_clock_set_calibration.
12290         (gst_net_client_clock_observe_times): Call _set_calibration.
12291         (gst_net_client_clock_new): Call _set_calibration instead of
12292         rate_offset.
12293
12294         * check/net/gstnetclientclock.c (test_functioning): Use the right
12295         adjustment api.
12296
12297         * gst/gstclock.h:
12298         * gst/gstclock.c (gst_clock_get_calibration) 
12299         (gst_clock_set_calibration): New functions, obsolete the ones I
12300         added yesterday. Doh. Precision issues mean we have to extrapolate
12301         from a point in the more recent past than 1970.
12302         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
12303         obsolete.
12304         (gst_clock_adjust_unlocked): Use the right calibration data.
12305
12306 2005-11-18  Edward Hervey  <edward@fluendo.com>
12307
12308         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
12309         Also reset the ->current_* values in READY->PAUSED
12310
12311 2005-11-18  Andy Wingo  <wingo@pobox.com>
12312
12313         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
12314         Whoops, check the right fd. Also add some debugging.
12315         (gst_net_client_clock_observe_times): Adjust for int64 offset.
12316         (do_linear_regression): Add a crapload of debugging. Subtract off
12317         the minimum values from the input series to discard unneeded bits.
12318         Use only int arithmetic. There is still double arithmetic when
12319         calculating the intercept that needs fixing. Return boolean to
12320         indicate success; FALSE would mean the domain or range is too
12321         great. Still needs fixes.
12322
12323 2005-11-18  Wim Taymans  <wim@fluendo.com>
12324
12325         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
12326         For the current position in stream time, we need to subtract
12327         accumulated time.
12328         
12329         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
12330         Release lock before calling the callback function of async
12331         entries.
12332
12333 2005-11-18  Andy Wingo  <wingo@pobox.com>
12334
12335         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
12336         Port goes all the way to MAXUINT16.
12337
12338         * gst/net/gstnettimeprovider.c: Make the port range the same as
12339         for the kernel: 0 assigns, otherwise ports are less than
12340         MAXUINT16.
12341
12342         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
12343         port change.
12344
12345         * check/net/gstnetclientclock.c (test_functioning): Add the start
12346         of another test. 
12347
12348 2005-11-18  Wim Taymans  <wim@fluendo.com>
12349
12350         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
12351         (gst_bin_remove_func), (bin_bus_handler):
12352         * gst/gstbin.h:
12353         Removing a clock provider from a bin, triggers a clock lost message
12354         so that a new clock will be selected.
12355         Adding a clock to a bin triggers a clock provider message.
12356         Make sure we reselect a clock when we received a clock lost message.
12357         Keep a reference to the element that provided the clock.
12358
12359 2005-11-18  Andy Wingo  <wingo@pobox.com>
12360
12361         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
12362         the clock initially so it produces values around the base time.
12363         (gst_net_client_clock_class_init): Typo fix.
12364         (gst_net_client_clock_thread): Add note on when the socket gets
12365         closed.
12366
12367 2005-11-17  Wim Taymans  <wim@fluendo.com>
12368
12369         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
12370         Free remote and local time arrays.
12371
12372 2005-11-17  Wim Taymans  <wim@fluendo.com>
12373
12374         * gst/net/gstnetclientclock.c: (do_linear_regression),
12375         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
12376         Fix compilation, uninitialized vars and a forgotten continue.
12377
12378 2005-11-17  Andy Wingo  <wingo@pobox.com>
12379
12380         * check/Makefile.am (check_PROGRAMS): 
12381         * check/net/gstnetclientclock.c: Add a most minimal test for the
12382         net client clock. More to come later.
12383
12384         * gst/net/gstnet.h: 
12385         * gst/net/Makefile.am: Add netclientclock.
12386
12387         * gst/net/gstnetclientclock.h:
12388         * gst/net/gstnetclientclock.c: New files, implement an untested
12389         GstClock that takes its time from a network time provider.
12390         Implements the algorithm in network-clock.scm.
12391
12392         * tests/network-clock.scm (*window-size*): Rename from
12393         *queue-length*.
12394         * tests/network-clock.scm (network-time): 
12395         * tests/network-clock-utils.scm (q-push): Update callers.
12396
12397 2005-11-17  Wim Taymans  <wim@fluendo.com>
12398
12399         * gst/gstbin.c: (gst_bin_provide_clock_func),
12400         (gst_bin_sort_iterator_new):
12401         And unref the child too..
12402
12403 2005-11-17  Wim Taymans  <wim@fluendo.com>
12404
12405         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12406         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
12407         Refactor the sort iterator so it can be used while holding the
12408         LOCK too.
12409         Make clock selection select a clock closest to the source.
12410
12411 2005-11-17  Michael Smith <msmith@fluendo.com>
12412
12413         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
12414         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
12415         * gst/gstclock.h:
12416           Anonymous structs are a gcc (and some other compilers) extension, so
12417           don't use them. Since this is only for ABI-compatibility, and our
12418           API/ABI freeze is over in a few days, this whole thing will only
12419           last a few days, so don't bother trying to think up a meaningful
12420           name for the struct.
12421
12422 2005-11-17  Andy Wingo  <wingo@pobox.com>
12423
12424         * gst/gstclock.h (GstClock): Add rate and offset properties,
12425         preserving ABI stability. Add rate/offset accessors. Will file bug
12426         for the freeze break.
12427
12428         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
12429         and offset, trying to keep precision and avoiding
12430         underflow/overflow.
12431         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
12432         functions. Make gst_clock_set_time_adjust obsolete.
12433         (gst_clock_set_time_adjust): Note that this function is obsolete.
12434         Will file bug soon.
12435
12436         * gst/base/gstbasetransform.h: Make the ABI-stability hack
12437         greppable by using GST_PADDING-1+1.
12438
12439 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
12440
12441         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12442
12443         * gst/gstmessage.c: (gst_message_parse_clock_lost):
12444           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
12445
12446         * gst/gstpadtemplate.h:
12447         * gst/gstpluginfeature.h:
12448           Don't use c++ style comments in headers (#321638).
12449
12450 2005-11-16  Andy Wingo  <wingo@pobox.com>
12451
12452         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
12453         buffer.
12454
12455         * check/net/gstnettimeprovider.c: Check to see that the time
12456         provider actually provides times. Works, yo!
12457
12458 2005-11-16  Wim Taymans  <wim@fluendo.com>
12459
12460         * check/Makefile.am:
12461         Enable more tests.
12462
12463         * check/elements/fakesrc.c: (GST_START_TEST):
12464         Set element to NULL before disposing it.
12465
12466 2005-11-16  Andy Wingo  <wingo@pobox.com>
12467
12468         * gst/net/Makefile.am:
12469         * gst/net/gstnet.h:
12470         * gst/net/gstnettimeprovider.c: 
12471         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
12472         provider, include it from gstnet.h, and add it to the build.
12473
12474         * gst/net/gstnettimepacket.h: 
12475         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
12476         sending and receiving.
12477
12478 2005-11-16  Wim Taymans  <wim@fluendo.com>
12479
12480         * check/Makefile.am:
12481         Enable valgrind check.
12482
12483         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
12484         (gst_fake_src_alloc_buffer):
12485         Fix memleak.
12486
12487 2005-11-16  Wim Taymans  <wim@fluendo.com>
12488
12489         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
12490         Call parent finalize too.
12491
12492 2005-11-16  Wim Taymans  <wim@fluendo.com>
12493
12494         * check/Makefile.am:
12495         Enable valgrind check that should work fine now.
12496
12497         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12498         * gst/gstqueue.c: (gst_queue_init):
12499         Fix memleaks in pad allocation.
12500
12501 2005-11-16  Andy Wingo  <wingo@pobox.com>
12502
12503         * gst/net/Makefile.am:
12504         * gst/net/gstnet.h: New part of core to hold network elements and
12505         objects. Put in core because it exposes API that applications want
12506         to use. The library is named libgstnet-tempname right now because
12507         of the existing libgstnet in gst-plugins-base. Solution is
12508         probably to rename the one in plugins-base; will file a bug for
12509         the freeze break.
12510
12511         * gst/net/gstnettimeprovider.c: 
12512         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
12513         get_time call over the network.
12514
12515         * configure.ac: 
12516         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
12517
12518         * check/Makefile.am:
12519         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
12520         get additions shortly.
12521
12522 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12523
12524         * gst/gstpad.c: (gst_pad_new_from_static_template):
12525         * gst/gstpad.h:
12526           add gst_pad_new_from_static_template functions
12527         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
12528         (gst_check_setup_sink_pad):
12529         * gst/elements/gsttee.c: (gst_tee_init):
12530           and use them
12531
12532 2005-11-16  Wim Taymans  <wim@fluendo.com>
12533
12534         * gst/gstpad.c: (gst_pad_pause_task):
12535         Removed warning, it's not really an error either.
12536
12537 2005-11-16  Wim Taymans  <wim@fluendo.com>
12538
12539         * gst/base/gstbasetransform.c:
12540         (gst_base_transform_prepare_output_buf),
12541         (gst_base_transform_event):
12542         Check if the caps are NULL, this can happen if the element
12543         is shutting down and the pad caps are set to NULL.
12544
12545 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12546
12547         * gst/elements/gsttee.c: (gst_tee_init):
12548           fix pad template leak in tee
12549
12550 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12551
12552         * gst/glib-compat.c: (g_value_dup_gst_object):
12553         * gst/glib-compat.h:
12554         * gst/gstpad.c: (gst_pad_set_property):
12555           use gst_object_ref when setting the pad template; this will
12556           trigger the pad template leaks on GLib 2.6 and the slaves
12557
12558 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12559
12560         * gst/glib-compat.c: (gst_flags_get_first_value):
12561         * gst/glib-compat.h:
12562         * gst/gstregistryxml.c:
12563           remove functions copied from GLib 2.6
12564
12565 2005-11-16  Michael Smith <msmith@fluendo.com>
12566
12567         * gst/Makefile.am:
12568           Don't link against VALGRIND_LIBS. That was always the wrong thing to
12569           do, but only breaks with newer valgrind versions. We're not a
12570           valgrind tool, we have no link-time dependencies on libcoregrind.
12571
12572 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12573
12574         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12575           some debug changes
12576         * gst/gstmessage.h:
12577           typo fixes
12578
12579 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12580
12581         * gst/base/gstbasesrc.c: (gst_base_src_init):
12582         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12583         * gst/gstqueue.c: (gst_queue_init):
12584         * gst/gstregistryxml.c: (load_feature):
12585           Revert all these unrefs, they don't even pass make check !
12586
12587 2005-11-15  Johan Dahlin  <johan@gnome.org>
12588
12589         * gst/base/gstbasesrc.c: (gst_base_src_init):
12590         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12591         * gst/gstqueue.c: (gst_queue_init): 
12592         Free pad templates, fixes a couple of leaks.
12593
12594 2005-11-15  Daniel Fischer  <dan at f3c dot com>
12595
12596         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12597
12598         * gst/gstpad.c: (gst_pad_get_property):
12599           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
12600           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
12601           (#321452)
12602
12603 2005-11-15  Wim Taymans  <wim@fluendo.com>
12604
12605         * gst/gstevent.c:
12606         Small doc update.
12607
12608 2005-11-15  Andy Wingo  <wingo@pobox.com>
12609
12610         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
12611
12612         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
12613         using GST_CLOCK_TIME_NONE to disable base time management.
12614         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
12615         time if it was NONE before.
12616         (gst_pipeline_change_state): Only munge the base time if
12617         stream_time != GST_CLOCK_TIME_NONE.
12618
12619         * check/gst/gstpipeline.c (test_base_time): Punt around the
12620         problem of the probe not being called, because that's not the
12621         issue I'm looking at. Add a check that setting stream_time to NONE
12622         disables base time management.
12623         
12624 2005-11-15  Wim Taymans  <wim@fluendo.com>
12625
12626         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12627         segment_stop == -1 at startup.
12628
12629         * gst/base/gstbasetransform.c: (gst_base_transform_event),
12630         (gst_base_transform_change_state):
12631         Init segment values at start.
12632
12633 2005-11-15  Wim Taymans  <wim@fluendo.com>
12634
12635         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12636         0 segment values are 0 in any format.
12637
12638         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12639         * gst/base/gstbasetransform.h:
12640         Parse newsegment correctly in basetransform
12641
12642         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12643         Sync to clock using updated segment values.
12644
12645 2005-11-15  Andy Wingo  <wingo@pobox.com>
12646
12647         * check/gst/gstpipeline.c (test_base_time): Add check that the
12648         base time and stream time are reset correctly.
12649
12650 2005-11-15  Wim Taymans  <wim@fluendo.com>
12651
12652         * docs/design/part-TODO.txt:
12653         Some more TODO items.
12654
12655 2005-11-15  Andy Wingo  <wingo@pobox.com>
12656
12657         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
12658         error if the user selected "no clock" as the clocking method.
12659
12660         * check/gst/gstpipeline.c (test_base_time): New test for buffer
12661         timestamps with live capture.
12662
12663         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
12664         is 0 but we are a live source, timestamp the buffers using the
12665         element's clock.
12666
12667 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
12668
12669         * docs/gst/gstreamer-sections.txt:
12670         * gst/gsterror.c:
12671         * gst/gstghostpad.c:
12672         * gst/gstobject.h:
12673         * gst/gstxml.c:
12674           more section docs
12675
12676 2005-11-14  Wim Taymans  <wim@fluendo.com>
12677
12678         * common/gst.supp:
12679           add suppressions from Wim's Debian machine
12680
12681 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12682
12683         * common/gst.supp:
12684           add suppressions from Andy's AMD64 Ubuntu machine
12685
12686 2005-11-14  Andy Wingo  <wingo@pobox.com>
12687
12688         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
12689         STATE_LOCK not necessary. Fixes #311489.
12690
12691         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
12692         #305291.
12693
12694         * gst/gstindex.c (gst_index_add_object): Note in the docs that
12695         this function is not implemented.
12696
12697 2005-11-14  Julien MOUTTE  <julien@moutte.net>
12698
12699         * gst/base/gstbasetransform.c:
12700         (gst_base_transform_prepare_output_buf):
12701         Ref the source pad caps while we need them.
12702         Fixes (#321386)
12703
12704 2005-11-11  Wim Taymans  <wim@fluendo.com>
12705
12706         * docs/gst/gstreamer-sections.txt:
12707         Added some docs for GstCollectData.
12708
12709         * gst/base/gstadapter.c:
12710         Some small code example fix.
12711
12712         * gst/base/gstcollectpads.c:
12713         * gst/base/gstcollectpads.h:
12714         Document some more.
12715
12716 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12717
12718         * configure.ac: back to HEAD
12719
12720 === release 0.9.5 ===
12721
12722 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
12723
12724         * configure.ac:
12725           releasing 0.9.5, "Bike Lunch Day"
12726
12727 2005-11-11  Wim Taymans  <wim@fluendo.com>
12728
12729         * gst/gstbuffer.c: (_gst_buffer_copy):
12730         Copy more flags.
12731
12732         * gst/gstcaps.c: (gst_caps_is_equal):
12733         Fix some docs.
12734         Make _is_equal fast in the trivial cases.
12735
12736         * gst/gstminiobject.c:
12737         * gst/gstminiobject.h:
12738         More docs. Spifify .h file.
12739
12740         * gst/gstutils.c:
12741         Small doc update.
12742
12743 2005-11-11  Wim Taymans  <wim@fluendo.com>
12744
12745         * gst/base/gstbasetransform.c:
12746         (gst_base_transform_prepare_output_buf),
12747         (gst_base_transform_handle_buffer):
12748         Small cleanups.
12749         If we're processing a buffer and need to allocate an output
12750         buffer, we cannot accept a format change. If we did get a 
12751         format change, we have to alloc a buffer ourselves of the 
12752         right size.
12753
12754 2005-11-11  Wim Taymans  <wim@fluendo.com>
12755
12756         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
12757         While checking the flag for reentrancy in the gstcaps function
12758         is nice to detect recursive invocations, it also makes it 
12759         impossible to call getcaps from multiple threads, which must be
12760         possible. So, checking for recursive calls has to go.
12761
12762 2005-11-11  Michael Smith <msmith@fluendo.com>
12763
12764         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12765           Don't sync on buffers that fall partially outside our current
12766           segment. Prevents an assertion failure/abort playing some files.
12767
12768 2005-11-10  Andy Wingo  <wingo@pobox.com>
12769
12770         * check/gst/gstbin.c (test_message_state_changed_children): Style
12771         fix..
12772
12773         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
12774         gst_bus_poll with the signal watch. Ensures that poll and a signal
12775         watch see the same messages.
12776
12777         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
12778         a poll and a watch at the same time get the same messages.
12779
12780 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12781
12782         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
12783         * gst/gstcaps.c: (gst_caps_intersect):
12784           Don't call gst_caps_do_simplify - it doesn't respect order of caps
12785           and it's not needed.
12786
12787 2005-11-10  Wim Taymans  <wim@fluendo.com>
12788
12789         * docs/design/part-TODO.txt:
12790         Updated todo.
12791
12792 2005-11-10  Wim Taymans  <wim@fluendo.com>
12793
12794         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12795         * gst/base/gstbasesrc.c: (gst_base_src_wait),
12796         (gst_base_src_do_sync), (gst_base_src_get_range):
12797         Implement clock sync in base class.
12798
12799 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12800
12801         patch by: Tim-Philipp Müller <tim at centricular dot net>
12802
12803         * gst/gststructure.c: (gst_structure_parse_field),
12804         (gst_structure_from_string):
12805           Forward-port a 0.8 patch to handle escaped spaces in structure string,
12806           so that gst_parse_launch() can deal with spaces in filtered link
12807           caps (fixes #164479)
12808         * check/gst/capslist.h:
12809         * check/gst/gststructure.c: (GST_START_TEST):
12810           add unit tests for this change
12811
12812 2005-11-10  Wim Taymans  <wim@fluendo.com>
12813
12814         * docs/gst/gstreamer-sections.txt:
12815         * gst/gstelement.c:
12816         * gst/gstelement.h:
12817         Fix docs, move some STATE macros to private.
12818
12819 2005-11-10  Wim Taymans  <wim@fluendo.com>
12820
12821         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12822         Added check for bug #317341
12823
12824         * gst/gstbuffer.c:
12825         * gst/gstbuffer.h:
12826         Some more spiffifying.
12827
12828         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
12829         Call peer linkfunction if we are a source pad. Totally fixes
12830         #317341
12831
12832         * gst/gstpad.c:
12833         Update docs, source pads should call the peer linkfunction
12834         so they can atomically perform the pad link.
12835
12836 2005-11-09  Wim Taymans  <wim@fluendo.com>
12837
12838         * gst/gstbuffer.c:
12839         * gst/gstbuffer.h:
12840         Uber-spiffy-spiffify some more.
12841
12842 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
12843
12844         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
12845         * gst/elements/gstfilesink.c: (gst_file_sink_init):
12846         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12847         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
12848         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
12849         * gst/gstpad.c: (gst_pad_init):
12850           Use GST_DEBUG_FUNCPTR() more extensively.
12851
12852 2005-11-09  Wim Taymans  <wim@fluendo.com>
12853
12854         * gst/gstobject.c: (gst_object_class_init):
12855         * gst/gstobject.h:
12856         Documentation fixes.
12857
12858 2005-11-09  Edward Hervey  <edward@fluendo.com>
12859
12860         * gst/gsttypefindfactory.c:
12861         Fix docs.
12862         
12863 2005-11-09  Edward Hervey  <edward@fluendo.com>
12864
12865         * gst/base/gsttypefindhelper.c:
12866         * gst/gsttypefind.c:
12867         * gst/gsttypefind.h:
12868         Fix docs.
12869
12870 2005-11-09  Wim Taymans  <wim@fluendo.com>
12871
12872         * gst/gstiterator.c:
12873         Fix revision data.
12874
12875         * gst/gsttask.c:
12876         * gst/gsttask.h:
12877         Fix docs.
12878
12879 2005-11-09  Wim Taymans  <wim@fluendo.com>
12880
12881         * gst/gstevent.h:
12882         * gst/gsturi.h:
12883         Fix docs.
12884
12885 2005-11-09  Wim Taymans  <wim@fluendo.com>
12886
12887         * docs/gst/gstreamer-sections.txt:
12888         Moved the message async delivery private lock and cond
12889         to the private section.
12890
12891         * gst/gstmessage.c:
12892         * gst/gstmessage.h:
12893         Fixed docs.
12894
12895 2005-11-09  Edward Hervey  <edward@fluendo.com>
12896
12897         * docs/gst/gstreamer-sections.txt:
12898         * gst/gsturi.c:
12899         * gst/gsturi.h:
12900         Document GstURIHandler
12901
12902 2005-11-09  Wim Taymans  <wim@fluendo.com>
12903
12904         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
12905         (gst_iterator_find_custom):
12906         * gst/gstiterator.h:
12907         Fix iterator docs.
12908
12909 2005-11-09  Wim Taymans  <wim@fluendo.com>
12910
12911         * gst/gstbin.h:
12912         Document another field.
12913
12914         * gst/gststructure.c:
12915         * gst/gststructure.h:
12916         Document.
12917
12918 2005-11-09  Wim Taymans  <wim@fluendo.com>
12919
12920         * gst/gstbin.h:
12921         Documented structs.
12922
12923 2005-11-09  Wim Taymans  <wim@fluendo.com>
12924
12925         * docs/gst/gstreamer-sections.txt:
12926         Added some new macros.
12927
12928         * gst/gstclock.c:
12929         * gst/gstclock.h:
12930         * gst/gstobject.h:
12931         Docs updates.
12932
12933 2005-11-09  Wim Taymans  <wim@fluendo.com>
12934
12935         * docs/design/part-TODO.txt:
12936         Some more items for the TODO
12937
12938         * gst/gstcaps.c:
12939         * gst/gstcaps.h:
12940         Document GstCaps.
12941
12942 2005-11-09  Andy Wingo  <wingo@pobox.com>
12943
12944         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
12945         to work on something else now tho...
12946
12947         * gst/base/gstadapter.c: More adapter docs.
12948
12949         * gst/elements/gstfilesink.c (gst_file_sink_start) 
12950         (gst_file_sink_stop): New functions, replace the state change
12951         handler.
12952         (gst_file_sink_class_init): Hook up the start and stop functions.
12953         (gst_file_sink_base_init): Don't set the state change handler any
12954         more. It was a bit ugly too, being set from here...
12955         (gst_file_sink_get_property, gst_file_sink_set_property):
12956         Cleanups...
12957         (gst_file_sink_set_location): More robust check that doesn't call
12958         GST_STATE. Ugggggg.
12959
12960 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
12961
12962         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12963           Hold STREAM_LOCK while pushing newsegment or tag events as well.
12964
12965 2005-11-08  Wim Taymans  <wim@fluendo.com>
12966
12967         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12968         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12969         (gst_base_sink_chain), (gst_base_sink_change_state):
12970         * gst/base/gstbasesink.h:
12971         * gst/base/gstbasesrc.h:
12972         * gst/gstelement.h:
12973         * gst/gstevent.h:
12974         Avoid excessive typechecking in macros.
12975
12976         * gst/gstminiobject.c: (gst_mini_object_get_type),
12977         (gst_mini_object_init), (gst_mini_object_new),
12978         (gst_mini_object_free):
12979         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12980         (gst_object_finalize):
12981         Remove cruft code, optimize alloc_trace.
12982
12983 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12984
12985         * docs/faq/gst-uninstalled:
12986           fix up PS1 for systems that try to reset it
12987
12988 2005-11-07  Wim Taymans  <wim@fluendo.com>
12989
12990         * gst/base/gstbasesrc.c: (gst_base_src_init),
12991         (gst_base_src_get_range):
12992         Set the segment_end to -1 initially. Fixed typefind.
12993
12994 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
12995
12996         * gst/base/gstadapter.c:
12997           Debug category should be 'adapter', not 'GstAdapter'.
12998           
12999         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
13000         (gst_collectpads_class_init), (gst_collectpads_init),
13001         (gst_collectpads_peek), (gst_collectpads_pop),
13002         (gst_collectpads_event), (gst_collectpads_chain):
13003           Add debug category and some debugging output. Use boilerplate
13004           macros. Remove some extraneous words from docs.
13005
13006 2005-11-05  Andy Wingo  <wingo@pobox.com>
13007
13008         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
13009         macro.
13010
13011 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
13012
13013         * docs/gst/gstreamer-sections.txt:
13014         * gst/gstcaps.h:
13015         * gst/gstinfo.c:
13016         * gst/gstminiobject.h:
13017         * gst/gstobject.h:
13018         * gst/gstutils.h:
13019           more docs added
13020
13021 2005-11-04  Wim Taymans  <wim@fluendo.com>
13022
13023         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13024         Small update to stop at the configured segment_end
13025         position.
13026
13027 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
13028
13029         * gst/gstregistry.c:
13030         * gst/gstregistry.h:
13031           added missing docs
13032
13033 2005-11-04  Edward Hervey  <edward@fluendo.com>
13034
13035         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
13036         Check if we are doing a segment seek and have arrived at the
13037         end of that segment.
13038
13039 2005-11-04  Wim Taymans  <wim@fluendo.com>
13040
13041         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
13042         Don't leak a mutex unlock in case of an error.
13043
13044         * gst/gstbus.h:
13045         Doc fixes.
13046
13047 2005-11-04  Wim Taymans  <wim@fluendo.com>
13048
13049         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
13050         (gst_bus_post):
13051         Get the context to wake up only once.
13052
13053 2005-11-03  Wim Taymans  <wim@fluendo.com>
13054
13055         * check/states/sinks.c: (GST_START_TEST):
13056         Uncomment fixed check.
13057
13058         * docs/design/part-TODO.txt:
13059         Updated TODO.
13060
13061         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13062         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
13063         (gst_base_sink_get_position):
13064         If we are going to PLAYING, post the right pending state
13065         when we post the intermediate paused message.
13066
13067         * gst/gstelement.c: (gst_element_continue_state),
13068         (gst_element_set_state_func), (gst_element_change_state):
13069         Don't post state changes that were between the same state
13070         and were not ASYNC.
13071
13072 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
13073
13074         * docs/gst/gstreamer-sections.txt:
13075         * gst/gstcaps.h:
13076         * gst/gstinfo.c:
13077         * gst/gstminiobject.h:
13078         * gst/gstobject.h:
13079         * gst/gstutils.h:
13080           more docs and doc style fixes
13081
13082 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
13083
13084         * docs/gst/gstreamer-sections.txt:
13085         * gst/gstelement.c:
13086         * gst/gstminiobject.c:
13087         doc fixes
13088
13089 2005-11-03  Andy Wingo  <wingo@pobox.com>
13090
13091         * check/states/sinks.c (test_livesrc_sink): Add checks that the
13092         state-changed messages actually have the right order and the right
13093         values.
13094
13095 2005-11-03  Wim Taymans  <wim@fluendo.com>
13096
13097         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
13098         Added some more checks. Specifically the case where NO_PREROLL
13099         elements are in the pipeline.
13100
13101         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13102         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
13103         (gst_base_sink_get_position):
13104         Post READY->PAUSED state change messages too.
13105         Fix bug where VOID was posted as pending state...
13106
13107         * gst/gstbin.c: (gst_bin_recalc_state):
13108         use _element_continue_state() to continue the state change.
13109
13110         * gst/gstelement.c: (gst_element_continue_state),
13111         (gst_element_commit_state), (gst_element_set_state_func),
13112         (gst_element_change_state), (gst_element_change_state_func):
13113         Lots of state change cleanups, assign the STATE_RETURN in
13114         a new continue_state() function that also propagates the
13115         last return value from a state change to the app.
13116         Update some debug statements with proper category.
13117
13118 2005-11-03  Wim Taymans  <wim@fluendo.com>
13119
13120         * docs/design/part-events.txt:
13121         * docs/design/part-gstpipeline.txt:
13122         * docs/design/part-messages.txt:
13123         * docs/design/part-overview.txt:
13124         * docs/design/part-seeking.txt:
13125         * docs/design/part-states.txt:
13126         * docs/design/part-trickmodes.txt:
13127         * docs/manual/advanced-position.xml:
13128         Small docs updates.
13129
13130         * gst/gstobject.h:
13131         People think !! is ugly, this looks better.
13132
13133         * gst/gstpad.c: (gst_pad_set_blocked_async):
13134         Remove !! since it's fixed elsewhere now.
13135
13136 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
13137
13138         * gst/gstminiobject.h:
13139         * gst/gstobject.h:
13140           Add !! to _FLAG_IS_SET macros to make the result boolean.
13141
13142 2005-11-03  Edward Hervey  <edward@fluendo.com>
13143
13144         * gst/gstpad.c: (gst_pad_set_blocked_async):
13145         comparing a flag and a gboolean rarely returns coherent results...
13146         Added two characters (!!) to make that work correctly.
13147         
13148 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
13149
13150         * gst/gstbus.c: (gst_bus_class_init):
13151           Fix some typos.
13152           
13153         * gst/gstqueue.c: (gst_queue_loop):
13154           Don't assume a miniobject that isn't a buffer is an
13155           event (it could be that there is a refcounting
13156           problem somewhere and the pointer is stale and
13157           refers to an already destroyed miniobject).
13158
13159 2005-11-03  Julien MOUTTE  <julien@moutte.net>
13160
13161         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
13162
13163 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
13164
13165         * docs/manual/advanced-position.xml:
13166           Update seek example and explanations to current 0.9 API.
13167
13168         * gst/elements/gsttypefindelement.c:
13169         (gst_type_find_element_activate):
13170           Remove FIXME comment now that the found caps
13171           are unreffed.
13172
13173 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13174
13175         * gst/gstregistryxml.c: (load_feature):
13176           Add another GST_STR_NULL instance
13177
13178 2005-11-02  Edward Hervey  <edward@fluendo.com>
13179
13180         * gst/gstpad.c: (handle_pad_block):
13181         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
13182         
13183 2005-11-02  Wim Taymans  <wim@fluendo.com>
13184
13185         * gst/gstbin.c:
13186         Fix typo in docs.
13187
13188         * gst/gstelement.c: (gst_element_commit_state):
13189         Remove unused value.
13190
13191         * gst/gstiterator.c:
13192         Mention that the returned element is reffed in the docs.
13193
13194 2005-11-02  Wim Taymans  <wim@fluendo.com>
13195
13196         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
13197         (gst_pad_push), (gst_pad_push_event):
13198         Unlock blocked pads when they are flushed.
13199
13200 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13201
13202         * docs/README:
13203         * docs/gst/gstreamer-sections.txt:
13204         * gst/gstbin.c:
13205           doc updates
13206         * gst/gstregistry.c: (gst_registry_scan_path_level):
13207           fix for a nasty little missed situation where an installed plug-in
13208           which was in the cache did not get overridden by an uninstalled one
13209           which was earlier in the plugin path because the newly created plugin
13210           for the uninstalled one (not in the registry) didn't get its
13211           ->registered set to TRUE
13212
13213 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
13214
13215         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
13216         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
13217         (gst_collectpads_is_active), (gst_collectpads_collect),
13218         (gst_collectpads_collect_range), (gst_collectpads_start),
13219         (gst_collectpads_stop), (gst_collectpads_peek),
13220         (gst_collectpads_pop), (gst_collectpads_available),
13221         (gst_collectpads_read), (gst_collectpads_flush):
13222           Guard public API with assertions.
13223         
13224         * gst/gstpad.c:
13225           Fix docs for gst_pad_set_link_function().
13226
13227 2005-11-02  Johan Dahlin  <johan@gnome.org>
13228
13229         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
13230         Unref found_caps after we used it.
13231
13232 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
13233
13234         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
13235           Don't try to ref NULL.
13236
13237 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13238
13239         * win32/common/config.h.in:
13240           provide a GST_FUNCTION that just gives a string for now
13241
13242 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13243
13244         * win32/common/gstenumtypes.c: (register_gst_object_flags),
13245         (gst_object_flags_get_type), (register_gst_bin_flags),
13246         (gst_bin_flags_get_type), (register_gst_buffer_flag),
13247         (gst_buffer_flag_get_type), (register_gst_bus_flags),
13248         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
13249         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
13250         (gst_clock_return_get_type), (register_gst_clock_entry_type),
13251         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
13252         (gst_clock_flags_get_type), (register_gst_state),
13253         (gst_state_get_type), (register_gst_state_change_return),
13254         (gst_state_change_return_get_type), (register_gst_state_change),
13255         (gst_state_change_get_type), (register_gst_element_flags),
13256         (gst_element_flags_get_type), (register_gst_core_error),
13257         (gst_core_error_get_type), (register_gst_library_error),
13258         (gst_library_error_get_type), (register_gst_resource_error),
13259         (gst_resource_error_get_type), (register_gst_stream_error),
13260         (gst_stream_error_get_type), (register_gst_event_type),
13261         (gst_event_type_get_type), (register_gst_seek_type),
13262         (gst_seek_type_get_type), (register_gst_seek_flags),
13263         (gst_seek_flags_get_type), (register_gst_format),
13264         (gst_format_get_type), (register_gst_index_certainty),
13265         (gst_index_certainty_get_type), (register_gst_index_entry_type),
13266         (gst_index_entry_type_get_type),
13267         (register_gst_index_lookup_method),
13268         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
13269         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
13270         (gst_index_resolver_method_get_type), (register_gst_index_flags),
13271         (gst_index_flags_get_type), (register_gst_debug_level),
13272         (gst_debug_level_get_type), (register_gst_debug_color_flags),
13273         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
13274         (gst_iterator_result_get_type), (register_gst_iterator_item),
13275         (gst_iterator_item_get_type), (register_gst_message_type),
13276         (gst_message_type_get_type), (register_gst_mini_object_flags),
13277         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
13278         (gst_pad_link_return_get_type), (register_gst_flow_return),
13279         (gst_flow_return_get_type), (register_gst_activate_mode),
13280         (gst_activate_mode_get_type), (register_gst_pad_direction),
13281         (gst_pad_direction_get_type), (register_gst_pad_flags),
13282         (gst_pad_flags_get_type), (register_gst_pad_presence),
13283         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
13284         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
13285         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
13286         (gst_plugin_error_get_type), (register_gst_plugin_flags),
13287         (gst_plugin_flags_get_type), (register_gst_rank),
13288         (gst_rank_get_type), (register_gst_query_type),
13289         (gst_query_type_get_type), (register_gst_tag_merge_mode),
13290         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
13291         (gst_tag_flag_get_type), (register_gst_task_state),
13292         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
13293         (gst_alloc_trace_flags_get_type),
13294         (register_gst_type_find_probability),
13295         (gst_type_find_probability_get_type), (register_gst_uri_type),
13296         (gst_uri_type_get_type), (register_gst_parse_error),
13297         (gst_parse_error_get_type):
13298         * win32/common/gstversion.h:
13299           update win32 copies
13300
13301 2005-11-01  Luca Ognibene  <luogni@tin.it>
13302
13303         * gst/gst.c:
13304           fix docs. popt is dead, long live GOption.
13305
13306 2005-10-31  Wim Taymans  <wim@fluendo.com>
13307
13308         * gst/gstbuffer.h:
13309         Small doc fix.
13310
13311 2005-10-31  Andy Wingo  <wingo@pobox.com>
13312
13313         * Boo!
13314
13315         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
13316
13317         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
13318         need to serialize property notifications on GLib 2.8. GLib 2.6 has
13319         the possibility of deadlocks here if code calling notify() or
13320         set() has a lock that can be taken in another notify handler (ABBA
13321         with class lock and e.g. python GIL state lock).
13322
13323 2005-10-28  Julien MOUTTE  <julien@moutte.net>
13324
13325         * gst/gstbus.c: Doc updates.
13326
13327 2005-10-28  Wim Taymans  <wim@fluendo.com>
13328
13329         * docs/design/part-TODO.txt:
13330         * gst/gstiterator.c:
13331         * gst/gstsystemclock.c:
13332         * gst/gstsystemclock.h:
13333         Doc updates.
13334
13335 2005-10-28  Edward Hervey  <edward@fluendo.com>
13336
13337         * docs/gst/gstreamer-docs.sgml:
13338         * docs/gst/gstreamer-sections.txt:
13339         the GstURIType documentation page is private, it only defines GstURIType
13340         which should be defined in the GstURIHandler page
13341         
13342 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13343
13344         * gst/gstbin.c: (gst_bin_class_init):
13345         * gst/gstbin.h:
13346         * gst/gstutils.c:
13347         Documentation updates.
13348
13349 2005-10-28  Wim Taymans  <wim@fluendo.com>
13350
13351         * docs/gst/gstreamer-sections.txt:
13352         * gst/gstclock.c:
13353         * gst/gstclock.h:
13354         Documented the clocks.
13355
13356 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
13357
13358         * docs/gst/gstreamer-sections.txt:
13359           move some macros to private sections
13360         * gst/gstminiobject.c:
13361         * gst/gstminiobject.h:
13362           add descriptions provided by ds and some more
13363         * gst/gstpad.h:
13364           mark macro as to be removed
13365
13366 2005-10-28  Wim Taymans  <wim@fluendo.com>
13367
13368         * docs/design/part-TODO.txt:
13369         Add an item to TODO.
13370
13371         * gst/gstiterator.c: (gst_iterator_fold),
13372         (gst_iterator_find_custom):
13373         * gst/gstiterator.h:
13374         Add iterator docs.
13375
13376 2005-10-28  Wim Taymans  <wim@fluendo.com>
13377
13378         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13379         (gst_base_transform_init):
13380         Don't leak class.
13381
13382         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
13383         An EOS event marks the queue as completely filled.
13384
13385 2005-10-27  Wim Taymans  <wim@fluendo.com>
13386
13387         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13388         (gst_base_sink_do_sync), (gst_base_sink_get_position):
13389         Some more debugging.
13390
13391         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
13392         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
13393         (gst_base_transform_event), (gst_base_transform_getrange),
13394         (gst_base_transform_chain):
13395         * gst/base/gstbasetransform.h:
13396         Fix debugging,
13397         Protect transform and concurrent buffer alloc with a new lock.
13398         Try not to break ABI/API.
13399
13400 2005-10-27  Wim Taymans  <wim@fluendo.com>
13401
13402         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13403         (gst_base_src_init), (gst_base_src_query),
13404         (gst_base_src_default_newsegment),
13405         (gst_base_src_configure_segment), (gst_base_src_do_seek),
13406         (gst_base_src_send_event), (gst_base_src_event_handler),
13407         (gst_base_src_pad_get_range), (gst_base_src_loop),
13408         (gst_base_src_unlock), (gst_base_src_default_negotiate),
13409         (gst_base_src_start), (gst_base_src_deactivate),
13410         (gst_base_src_activate_push), (gst_base_src_change_state):
13411         Move some stuff around and cleanup things.
13412
13413 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
13414
13415         * gst/base/gstbasesrc.c: (gst_base_src_query):
13416           Add missing break statements.
13417
13418 2005-10-27  Wim Taymans  <wim@fluendo.com>
13419
13420         * check/gst/gstbin.c: (GST_START_TEST):
13421         An extra refcount is taken in basesrc.
13422
13423         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
13424         (gst_base_src_get_range), (gst_base_src_pad_get_range),
13425         (gst_base_src_loop):
13426         Small cleanups, check for flushing after being unlocked from the 
13427         LIVE_LOCK. take refcounts correctly (not yet everywhere).
13428         Don't send out EOS when going to READY.
13429
13430 2005-10-27  Wim Taymans  <wim@fluendo.com>
13431
13432         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13433         (gst_base_sink_get_position):
13434         Some more debug.
13435
13436         * gst/gstbin.c: (message_check), (bin_replace_message),
13437         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13438         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13439         (bin_query_duration_init), (bin_query_duration_fold),
13440         (bin_query_duration_done), (bin_query_generic_fold),
13441         (gst_bin_query):
13442         * tools/gst-launch.c: (main):
13443         Remove old option.
13444
13445 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
13446
13447         * examples/controller/audio-example.c: (main):
13448         * examples/queue/queue.c: (event_loop):
13449         * gst/base/gstbasetransform.h:
13450         * gst/gstelement.c: (gst_element_send_event):
13451         * gst/gstevent.h:
13452         * gst/gstpad.c: (gst_pad_send_event):
13453           fixing examples
13454           fixing docs typos
13455           changing log priority in error situations
13456
13457 2005-10-25  Wim Taymans  <wim@fluendo.com>
13458
13459         * gst/gstbin.c: (message_check), (bin_replace_message),
13460         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13461         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13462         (bin_query_duration_init), (bin_query_duration_fold),
13463         (bin_query_duration_done), (bin_query_generic_fold),
13464         (gst_bin_query):
13465         Some doc and debug updates.
13466         Cache previously requested query DURATION for speed. invalidate
13467         cached duration if element posts a DURATION message.
13468
13469 2005-10-25  Wim Taymans  <wim@fluendo.com>
13470
13471         * docs/design/part-TODO.txt:
13472         Update TODO.
13473
13474         * gst/gstbin.c: (message_check), (bin_replace_message),
13475         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13476         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13477         (bin_query_duration_init), (bin_query_duration_fold),
13478         (bin_query_duration_done), (bin_query_generic_fold),
13479         (gst_bin_query):
13480         Handle SEGMENT_START/DONE messages correctly.
13481         More evolved query algorithm that handles duration queries
13482         correctly.
13483
13484         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
13485         (gst_element_get_state_func), (gst_element_abort_state),
13486         (gst_element_commit_state), (gst_element_lost_state):
13487         Some more debugging.
13488
13489         * gst/gstmessage.h:
13490         Added doc.
13491
13492 2005-10-25  Wim Taymans  <wim@fluendo.com>
13493
13494         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
13495         Don't use invalid stream_time.
13496
13497         * gst/gstevent.c: (gst_event_new_newsegment):
13498         stream_time in newsegment cannot be undefined.
13499
13500 2005-10-24  Wim Taymans  <wim@fluendo.com>
13501
13502         * gst/gstbus.c:
13503         Doc fix.
13504
13505         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13506         (gst_queue_loop):
13507         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
13508
13509 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
13510
13511         * docs/libs/tmpl/gstdparam.sgml:
13512         * docs/libs/tmpl/gstdplinint.sgml:
13513         * docs/libs/tmpl/gstdpman.sgml:
13514         * docs/libs/tmpl/gstdpsmooth.sgml:
13515         * docs/libs/tmpl/gstunitconvert.sgml:
13516           these are obsolete
13517
13518 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13519
13520         * configure.ac:
13521           back to HEAD
13522
13523 === release 0.9.4 ===
13524
13525 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13526
13527         * configure.ac:
13528           releasing 0.9.4, "Tyrannosaurus Rex"
13529
13530 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
13531
13532         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13533         (gst_file_sink_get_current_offset):
13534           Use fseeko() and ftello() if available. When falling back on
13535           lseek() to get the current offset, fflush() first to make sure
13536           everything is up-to-date and we get the right offset.
13537
13538 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13539
13540         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13541         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13542         * gst/gsterror.c: (_gst_stream_errors_init):
13543         * gst/gsterror.h:
13544         * gst/gstqueue.c: (gst_queue_loop):
13545         * po/POTFILES.in:
13546           remove prematurely added error category and clean up the instances
13547
13548 2005-10-21  Wim Taymans  <wim@fluendo.com>
13549
13550         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13551         (gst_base_sink_get_position), (gst_base_sink_query),
13552         (gst_base_sink_change_state):
13553         Simply set the right flag when going to playing, that's all
13554         we need to do instead of calling a function inside the object
13555         lock (that could take the lock as well and deadlock)
13556
13557 2005-10-21  Wim Taymans  <wim@fluendo.com>
13558
13559         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
13560         (gst_base_src_loop):
13561         Don't warn, the peer element knows what to do best when
13562         the seek failed, it might try something else.
13563
13564 2005-10-21  Wim Taymans  <wim@fluendo.com>
13565
13566         * gst/base/gstbasesrc.c: (gst_base_src_init),
13567         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13568         Fix seeking.
13569
13570 2005-10-21  Wim Taymans  <wim@fluendo.com>
13571
13572         * docs/design/part-segments.txt:
13573         More docs.
13574
13575         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13576         Correctly set caps, even on the subbufer.
13577
13578 2005-10-21  Wim Taymans  <wim@fluendo.com>
13579
13580         * docs/gst/gstreamer-docs.sgml:
13581         * docs/gst/gstreamer-sections.txt:
13582         * gst/gstelement.h:
13583         * gst/gstevent.c:
13584         * gst/gstevent.h:
13585         * gst/gstmessage.h:
13586         * gst/gstpad.h:
13587         * gst/gstparse.h:
13588         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
13589         * gst/gsttask.h:
13590         * gst/gstutils.c:
13591         * gst/gstutils.h:
13592         And 2% more doc coverage.
13593
13594 2005-10-21  Andy Wingo  <wingo@pobox.com>
13595
13596         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
13597         position reporting.
13598
13599 2005-10-20  Wim Taymans  <wim@fluendo.com>
13600
13601         * gst/gsterror.c: (gst_error_get_message):
13602         * gst/gstparse.h:
13603         * gst/gstquery.h:
13604         * gst/gststructure.c:
13605         * gst/gsttrace.c:
13606         * gst/gstutils.c:
13607         More docs.
13608
13609 2005-10-20  Wim Taymans  <wim@fluendo.com>
13610
13611         * gst/gstbuffer.h:
13612         * gst/gstpad.c:
13613         * gst/gstparse.c:
13614         Another 1% more coverage.
13615
13616 2005-10-20  Wim Taymans  <wim@fluendo.com>
13617
13618         * docs/gst/gstreamer-sections.txt:
13619         * gst/gstelement.c: (gst_element_get_state_func),
13620         (gst_element_abort_state), (gst_element_commit_state),
13621         (gst_element_lost_state):
13622         * gst/gstevent.h:
13623         * gst/gstquery.c: (gst_query_set_position),
13624         (gst_query_parse_position), (gst_query_set_duration),
13625         (gst_query_parse_duration), (gst_query_new_convert):
13626         * gst/gstutils.c:
13627         Yay! 1% more docs coverage.
13628
13629 2005-10-20  Wim Taymans  <wim@fluendo.com>
13630
13631         * gst/gstpad.h:
13632         * gst/gstquery.c: (gst_query_set_position),
13633         (gst_query_parse_position), (gst_query_set_duration),
13634         (gst_query_parse_duration), (gst_query_new_convert):
13635         * gst/gstquery.h:
13636         * gst/gstutils.c: (gst_element_query_convert):
13637         * gst/gstutils.h:
13638         Docs and consistency fixes.
13639
13640 2005-10-20  Wim Taymans  <wim@fluendo.com>
13641
13642         * gst/gsttask.c:
13643         * gst/gsttask.h:
13644         More docs.
13645
13646 2005-10-20  Wim Taymans  <wim@fluendo.com>
13647
13648         * gst/gstbin.c: (message_check), (bin_replace_message),
13649         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13650         (update_degree), (gst_bin_sort_iterator_next),
13651         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
13652         Reworked the message handling a bit, cache the messages instead of
13653         only the senders. alows us to do more in the future.
13654
13655 2005-10-20  Wim Taymans  <wim@fluendo.com>
13656
13657         * docs/design/part-TODO.txt:
13658         Update TODO
13659
13660         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13661         (gst_base_sink_query):
13662         Don't use clock time to report position when in EOS.
13663
13664 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
13665
13666         * tools/gst-inspect.c: (print_interfaces),
13667         (print_element_properties_info), (print_element_info):
13668           Fix interface output with gst-inspect -a; don't print
13669           newlines after double/float properties.
13670
13671 2005-10-20  Wim Taymans  <wim@fluendo.com>
13672
13673         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13674         (gst_base_sink_query):
13675         Speed up current position calculation.
13676
13677         * gst/base/gstbasesrc.c: (gst_base_src_query),
13678         (gst_base_src_default_newsegment):
13679         Correctly set stream position in newsegment.
13680
13681         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
13682         (update_degree), (gst_bin_sort_iterator_next),
13683         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
13684         * gst/gstmessage.c: (gst_message_new_custom):
13685         Clean up debugging info
13686
13687         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13688         (gst_queue_loop), (gst_queue_handle_src_query):
13689         Pause task faster.
13690
13691 2005-10-19  Wim Taymans  <wim@fluendo.com>
13692
13693         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13694         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13695         Fix query handling again.
13696
13697 2005-10-19  Wim Taymans  <wim@fluendo.com>
13698
13699         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13700         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13701         * gst/base/gstbasesrc.c: (gst_base_src_query):
13702         * gst/elements/gstfilesink.c: (gst_file_sink_query):
13703         * gst/elements/gsttypefindelement.c:
13704         (gst_type_find_handle_src_query), (find_element_get_length),
13705         (gst_type_find_element_activate):
13706         API change fix.
13707
13708         * gst/gstquery.c: (gst_query_new_position),
13709         (gst_query_set_position), (gst_query_parse_position),
13710         (gst_query_new_duration), (gst_query_set_duration),
13711         (gst_query_parse_duration), (gst_query_set_segment),
13712         (gst_query_parse_segment):
13713         * gst/gstquery.h:
13714         Bundling query position/duration is not a good idea since duration
13715         does not change much and we don't want to recalculate it for every
13716         position query, so they are separated again..
13717         Base value in segment query is not needed.
13718
13719         * gst/gstqueue.c: (gst_queue_handle_src_query):
13720         * gst/gstutils.c: (gst_element_query_position),
13721         (gst_element_query_duration), (gst_pad_query_position),
13722         (gst_pad_query_duration):
13723         * gst/gstutils.h:
13724         Updates for query API change.
13725         Added some docs here and there.
13726
13727 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13728
13729         * check/gst/gstbin.c: (GST_START_TEST):
13730         * check/gst/gstghostpad.c: (GST_START_TEST):
13731         * check/pipelines/cleanup.c: (GST_START_TEST):
13732           wait on thread to die so we can check refcount correctly
13733
13734 2005-10-18  Wim Taymans  <wim@fluendo.com>
13735
13736         * check/pipelines/stress.c: (GST_START_TEST):
13737         Make check a little more time consuming.
13738
13739 2005-10-18  Wim Taymans  <wim@fluendo.com>
13740
13741         * check/Makefile.am:
13742         * check/pipelines/stress.c: (GST_START_TEST),
13743         (simple_launch_lines_suite), (main):
13744         Small state change torture test.
13745
13746         * docs/design/part-states.txt:
13747         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13748         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
13749         (gst_base_sink_change_state):
13750         Never take state lock from streaming thread, clean up ugly
13751         hacks. Unfortunatly core does not yet support nice ways to
13752         async commit state.
13753         
13754         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
13755         (bin_bus_handler):
13756         Start state recalc if a STATE_DIRTY message is posted, but only
13757         on the toplevel bin.
13758
13759         * gst/gstelement.c: (gst_element_sync_state_with_parent),
13760         (gst_element_get_state_func), (gst_element_abort_state),
13761         (gst_element_commit_state), (gst_element_lost_state),
13762         (gst_element_set_state_func), (gst_element_change_state):
13763         * gst/gstelement.h:
13764         State variables are now protected with the LOCK, the state
13765         lock is only used to serialize _set_state().
13766
13767 2005-10-18  Wim Taymans  <wim@fluendo.com>
13768
13769         * check/gst/gstbin.c: (GST_START_TEST):
13770         * check/gst/gstmessage.c: (GST_START_TEST):
13771         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13772         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
13773         (bin_bus_handler):
13774         * gst/gstelement.c: (gst_element_abort_state),
13775         (gst_element_commit_state), (gst_element_lost_state):
13776         * gst/gstmessage.c: (gst_message_new_state_changed),
13777         (gst_message_new_state_dirty), (gst_message_new_segment_start),
13778         (gst_message_new_segment_done), (gst_message_new_duration),
13779         (gst_message_parse_state_changed),
13780         (gst_message_parse_segment_start),
13781         (gst_message_parse_segment_done), (gst_message_parse_duration):
13782         * gst/gstmessage.h:
13783         * tools/gst-launch.c: (event_loop):
13784         Seriously, this is better than a previous commit as we only need
13785         to notify the fact that an element changed state in a streaming
13786         thread, marking the state of the parents dirty, hence the 
13787         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
13788         message.
13789
13790 2005-10-18  Wim Taymans  <wim@fluendo.com>
13791
13792         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
13793         (gst_bin_recalc_func):
13794         * gst/gstelement.c: (gst_element_set_clock),
13795         (gst_element_abort_state), (gst_element_lost_state):
13796         Cleanups, prepare for state change fixes.
13797
13798 2005-10-18  Wim Taymans  <wim@fluendo.com>
13799
13800         * gst/gstbin.h:
13801         * gst/gstelement.c: (gst_element_class_init),
13802         (gst_element_set_state), (gst_element_set_state_func):
13803         * gst/gstelement.h:
13804         Pending ABI changes.
13805         GThreadPool in GstBinClass to monitor async state changes.
13806         state_cookie in GstElement to detect concurrent gst/set state.
13807         set_state is now virtual too in case a very complicated element
13808         has to be constructed.
13809
13810 2005-10-18  Wim Taymans  <wim@fluendo.com>
13811
13812         * check/gst/gstbin.c: (GST_START_TEST):
13813         * check/gst/gstmessage.c: (GST_START_TEST):
13814         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13815         * gst/gstbin.c: (bin_bus_handler):
13816         * gst/gstelement.c: (gst_element_commit_state),
13817         (gst_element_lost_state):
13818         * gst/gstmessage.c: (gst_message_new_state_changed),
13819         (gst_message_new_segment_start), (gst_message_new_segment_done),
13820         (gst_message_new_duration), (gst_message_parse_state_changed),
13821         (gst_message_parse_segment_start),
13822         (gst_message_parse_segment_done), (gst_message_parse_duration):
13823         * gst/gstmessage.h:
13824         * tools/gst-launch.c: (event_loop):
13825         Make messages future proof.
13826         state-change gets a flag if it was a message comming from the
13827         streaming thread.
13828         segment-start/stop can also be specified in other formats.
13829         A message to notify an app that a pipeline changed playback 
13830         duration.
13831         Also fix a GstMessage leak in -launch
13832
13833 2005-10-18  Andy Wingo  <wingo@pobox.com>
13834
13835         * gst/gstelement.c (gst_element_dispose): More helpful message.
13836
13837 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13838
13839         reviewed by: <delete if not using a buddy>
13840
13841         * common/gtk-doc.mak:
13842
13843 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13844
13845         * gst/gstregistry.c: (gst_registry_scan_path_level):
13846           unref a plug-in we get that was already initialized
13847
13848 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
13849
13850         * docs/gst/gstreamer-sections.txt:
13851         * docs/libs/gstreamer-libs-sections.txt:
13852         * gst/gstelement.h:
13853           add new api entries
13854           hide internal macro
13855
13856 2005-10-17  Andy Wingo  <wingo@pobox.com>
13857
13858         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
13859         cleanup.
13860
13861         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
13862
13863         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
13864
13865         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
13866         (gst_element_get_state_func): Better debug message.
13867         (gst_element_commit_state): s/INFO/DEBUG/.
13868         (gst_element_lost_state, gst_element_change_state): 
13869
13870         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
13871         (gst_message_new_custom): s/INFO/LOG/.
13872
13873 2005-10-17  Michael Smith <msmith@fluendo.com>
13874
13875         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13876           Check if end time is valid using end time, not start time.
13877
13878 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
13879
13880         * check/gst-libs/controller.c: (GST_START_TEST),
13881         (gst_controller_suite):
13882         * libs/gst/controller/gstcontroller.c:
13883         (gst_controlled_property_set_interpolation_mode):
13884         * libs/gst/controller/gstcontroller.h:
13885         * libs/gst/controller/gstinterpolation.c:
13886         * testsuite/controller/.cvsignore:
13887         * testsuite/controller/Makefile.am:
13888         * testsuite/controller/interpolator.c:
13889           merge controller testsuites
13890           fix broken tests
13891           remove mem-chunk from docs
13892
13893 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13894
13895         * gst/gstmemchunk.c:
13896         * gst/gstmemchunk.h:
13897         * gst/gsttrashstack.c:
13898         * gst/gsttrashstack.h:
13899           out.  get out.  you're fired.  to the Attic !
13900
13901 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13902
13903         * gst/gstcaps.c: (gst_caps_intersect):
13904           fix signedness issues in a (hopefully) correct way
13905         * gst/gstelement.c: (gst_element_pads_activate):
13906           some debugging
13907         * gst/gstobject.c: (gst_object_set_parent):
13908           some debugging
13909
13910 2005-10-17  Julien MOUTTE  <julien@moutte.net>
13911
13912         * gst/gstvalue.h: Fix prototypes.
13913
13914 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13915
13916         * docs/gst/gstreamer-sections.txt:
13917         * gst/gst.c: (gst_version_string):
13918         * gst/gst.h:
13919         * gst/gstversion.h.in:
13920         * win32/common/libgstreamer.def:
13921           add gst_version_string ()
13922
13923 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13924
13925         * configure.ac:
13926           clean up further
13927         * gst/gst.c: (init_post):
13928         * win32/common/config.h.in:
13929           it's PLUGINDIR now
13930         * gst/gstcaps.c: (gst_caps_intersect):
13931           use gint64, the range could be bigger than a guint
13932
13933 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13934
13935         * gst/gstclock.h:
13936           document potential problem in 2038
13937
13938 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13939
13940         * gst/gstcaps.c: (gst_caps_intersect):
13941           Fix guint j diving under 0
13942
13943 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13944
13945         * configure.ac:
13946         * win32/common/config.h:
13947         * win32/common/config.h.in:
13948           check for process.h, declares getpid() on Windows
13949         * gst/gstinfo.c:
13950           include process.h if we have it
13951         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
13952         * gst/gstmemchunk.h:
13953           fix signedness issues
13954         * win32/common/libgstreamer.def:
13955           fix get_type's
13956
13957 2005-10-16  Julien MOUTTE  <julien@moutte.net>
13958
13959         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
13960         fix. Because of unsigned ints, caps intersection was going nuts and
13961         trying to access structures with G_MAXUINT index. That fixes
13962         videotestsrc ! ffmpegcolorspace ! fakesink
13963         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
13964         consistency.
13965
13966 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13967
13968         * configure.ac:
13969           use the gettext macro
13970         * gst/elements/gstelements.c:
13971         * gst/gst.c:
13972         * gst/indexers/gstindexers.c:
13973           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
13974         * win32/common/config.h:
13975           updated config.h
13976         * win32/common/config.h.in:
13977           add the template to generate config.h
13978         * win32/common/gstenumtypes.c:
13979         * win32/common/gstversion.h:
13980           updated copies
13981
13982 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13983
13984         * gst/gst.c: (gst_version):
13985         * gst/gstversion.h.in:
13986           add the nano
13987
13988 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13989
13990         * gst/gstevent.h:
13991           Oops, add missing closing bracket.
13992
13993 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13994
13995         * configure.ac:
13996           use common m4's for argument checking
13997
13998 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13999
14000         * docs/gst/gstreamer-sections.txt:
14001         * gst/gstevent.h:
14002           Add GST_EVENT_TYPE_NAME() macro.
14003
14004 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14005
14006         * gst/gstinfo.c:
14007         * gst/gstpluginfeature.c:
14008         * gst/gsttask.c:
14009           privatize more symbols
14010
14011 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14012
14013         * configure.ac:
14014           add srcdir, builddir includes to GST_ALL_CFLAGS, since
14015           everything that uses GStreamer API should have the includes
14016
14017 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14018
14019         * docs/gst/gstreamer-sections.txt:
14020         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
14021         * gst/gstvalue.h:
14022           give each value a _get_type, removes the DATA exports
14023
14024 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14025
14026         * gst/gst.c:
14027         * gst/gst.h:
14028           remove _gst_registry_auto_load, not used anymore
14029         * gst/gstbin.c: (gst_bin_get_type):
14030         * gst/gstbin.h:
14031         * gst/gstelement.c: (gst_element_get_type):
14032         * gst/gstelement.h:
14033         * gst/gstobject.c: (gst_object_get_type):
14034         * gst/gstobject.h:
14035         * gst/gstpad.c: (gst_pad_get_type):
14036         * gst/gstpad.h:
14037           make _get_type functions similar, fixes data export from library
14038
14039 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14040
14041         * configure.ac:
14042           correctly make conditionals
14043         * gst/elements/Makefile.am:
14044         * gst/elements/gstelements.c:
14045           fix typo causing fdsrc not to build
14046
14047 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14048
14049         * testsuite/Makefile.am:
14050         * testsuite/bytestream/.cvsignore:
14051         * testsuite/bytestream/Makefile.am:
14052         * testsuite/bytestream/filepadsink.c:
14053         * testsuite/bytestream/gstbstest.c:
14054         * testsuite/bytestream/test1.c:
14055         * testsuite/bytestream/testfile1:
14056         * testsuite/caps/normalisation.c:
14057         * testsuite/caps/random.c: (main):
14058         * testsuite/cleanup/.cvsignore:
14059         * testsuite/cleanup/Makefile.am:
14060         * testsuite/cleanup/cleanup1.c:
14061         * testsuite/cleanup/cleanup2.c:
14062         * testsuite/cleanup/cleanup3.c:
14063         * testsuite/cleanup/cleanup4.c:
14064         * testsuite/cleanup/cleanup5.c:
14065         * testsuite/controller/interpolator.c:
14066         * testsuite/debug/printf_extension.c: (main):
14067         * testsuite/elements/tee.c:
14068         * testsuite/negotiation/.cvsignore:
14069         * testsuite/negotiation/Makefile.am:
14070         * testsuite/negotiation/pad_link.c:
14071         * testsuite/pad/Makefile.am:
14072         * testsuite/pad/chainnopull.c:
14073         * testsuite/pad/getnopush.c:
14074         * testsuite/pad/link.c:
14075         * testsuite/refcounting/sched.c: (create_pipeline):
14076         * testsuite/registry/Makefile.am:
14077         * testsuite/registry/gst-print-formats.c:
14078         * testsuite/schedulers/.cvsignore:
14079         * testsuite/schedulers/142183-2.c:
14080         * testsuite/schedulers/142183.c:
14081         * testsuite/schedulers/143777-2.c:
14082         * testsuite/schedulers/143777.c:
14083         * testsuite/schedulers/147713.c:
14084         * testsuite/schedulers/147819.c:
14085         * testsuite/schedulers/147894-2.c:
14086         * testsuite/schedulers/147894.c:
14087         * testsuite/schedulers/Makefile.am:
14088         * testsuite/schedulers/group_link.c:
14089         * testsuite/schedulers/queue_link.c:
14090         * testsuite/schedulers/relink.c:
14091         * testsuite/schedulers/unlink.c:
14092         * testsuite/schedulers/unref.c:
14093         * testsuite/schedulers/useless_iteration.c:
14094         * testsuite/states/bin.c:
14095           clean out/remove some stuff from the testsuite directories
14096
14097 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14098
14099         * configure.ac:
14100           check for some headers
14101         * gst/elements/Makefile.am:
14102         * gst/elements/gstelements.c:
14103           don't compile fdsrc without sys/socket.h
14104         * gst/indexers/Makefile.am:
14105         * gst/indexers/gstindexers.c: (plugin_init):
14106           don't compile fileindex without mmap
14107
14108 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
14109
14110         * configure.ac:
14111           reorganize
14112           clean up
14113           document more
14114           remove cruft
14115         * check/Makefile.am:
14116         * docs/gst/Makefile.am:
14117         * examples/helloworld/Makefile.am:
14118         * gst/Makefile.am:
14119         * gst/base/Makefile.am:
14120         * gst/check/Makefile.am:
14121         * gst/elements/Makefile.am:
14122         * gst/indexers/Makefile.am:
14123         * gst/parse/Makefile.am:
14124         * libs/gst/controller/Makefile.am:
14125         * libs/gst/dataprotocol/Makefile.am:
14126         * examples/helloworld/helloworld.c: (event_loop):
14127           compile fixes, though it's not being compiled currently
14128
14129 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
14130
14131         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
14132           Add some simple tests for the new taglist date API.
14133
14134 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
14135
14136         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
14137         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
14138           Beautify 'last-message' output: print 'none' for buffer timestamps
14139           and durations if none is set; improve alignment with next messages.
14140
14141 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
14142
14143         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
14144         * gst/gstpluginfeature.h:
14145         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
14146         * gst/gstregistry.h:
14147         * docs/gst/gstreamer-sections.txt:
14148           Add new API to check plugin feature version requirements.
14149
14150         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
14151           Some basic tests for the above.         
14152
14153 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14154
14155         * gst/gststructure.c: (gst_structure_to_string):
14156           guard against NULL printf - happens when for example
14157           a message structure with GstClock gets serialized
14158
14159 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
14160
14161         * gst/base/gstcollectpads.c: (gst_collectpads_event):
14162           Fix presumable copy'n'pasto.
14163
14164 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14165
14166         * gst/elements/gstfakesrc.h:
14167         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
14168         * gst/elements/gsttypefindelement.c:
14169           fix some signedness
14170         * gst/elements/gstfilesink.c: (gst_file_sink_render):
14171           I wonder if this could actually write +2GB files before
14172
14173 2005-10-13  Andy Wingo  <wingo@pobox.com>
14174
14175         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
14176         Fix Timmeke Waymans bug.
14177         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
14178         string of the proper length to gst_caps_from_string. There's a
14179         potential for, before this fix, that this could cause someone
14180         connecting over the network to cause a segfault if the payload is
14181         not NUL-terminated.
14182
14183 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
14184
14185         * docs/design/draft-push-pull.txt:
14186         * docs/design/part-overview.txt:
14187         * docs/random/TODO-pre-0.9:
14188         * docs/random/old/ChangeLog.gstreamer:
14189         * gst/base/gstpushsrc.c:
14190         * gst/gstclock.c:
14191           fixed typos
14192
14193 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14194
14195         * gst/glib-compat.c: (gst_flags_get_first_value):
14196         * gst/glib-compat.h:
14197         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
14198         (gst_value_compare_double), (gst_value_serialize_flags):
14199           GLib 2.6 g_flags_get_first_value has a bug that triggers an
14200           infinite loop
14201
14202 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14203
14204         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14205         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14206           fix up debugging
14207         * tools/gst-launch.c: (event_loop):
14208           print out clock nicely
14209
14210 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
14211
14212         * docs/gst/gstreamer-sections.txt:
14213         * gst/gsttaglist.h:
14214         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
14215         (gst_tag_list_get_date_index):
14216           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
14217           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
14218
14219 2005-10-13  Julien MOUTTE  <julien@moutte.net>
14220
14221         * gst/base/gstcollectpads.c: (gst_collectpads_event),
14222         (gst_collectpads_chain):
14223         * gst/base/gstcollectpads.h: Handle newsegment and store informations
14224         in CollectData.
14225
14226 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
14227
14228         * docs/gst/gstreamer-sections.txt:
14229         * gst/gst.c:
14230         * gst/gsterror.h:
14231         * tools/gst-inspect.c: (main):
14232         * tools/gst-launch.c: (main):
14233         * tools/gst-run.c: (main):
14234         * tools/gst-xmlinspect.c: (main):
14235           fix GOption context leaks
14236           doc fixes
14237
14238 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14239
14240         * gst/gstbus.c:
14241           use HAVE_UNISTD_H
14242         * win32/common/config.h:
14243           update config
14244         * win32/vs6/grammar.dsp:
14245         * win32/vs6/libgstelements.dsp:
14246         * win32/vs6/libgstreamer.dsp:
14247           update vs6 files
14248
14249 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14250
14251         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14252         * gst/base/gstbasesrc.c: (gst_base_src_query):
14253           fix more guint64<->gdouble conversions
14254
14255 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14256
14257         * Makefile.am:
14258           add win32-update target
14259         * win32/common/gstconfig.h:
14260         * win32/common/gstenumtypes.c:
14261         * win32/common/gstenumtypes.h:
14262         * win32/common/gstversion.h:
14263           add files that visual studio can't generate
14264
14265 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14266
14267         * Makefile.am:
14268           add a win32-update target
14269         * configure.ac:
14270
14271 2005-10-12  Wim Taymans  <wim@fluendo.com>
14272
14273         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14274         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
14275         * gst/gstelement.c: (gst_element_commit_state),
14276         (gst_element_set_state):
14277         Protect flags with proper lock.
14278         unref provided cached clock in dispose.
14279
14280 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
14281
14282         * gst/gst.c:
14283         * gst/gstminiobject.h:
14284         * gst/gstpad.h:
14285         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
14286           removed unused flags from miniobject
14287           doc fixes
14288
14289 2005-10-12  Wim Taymans  <wim@fluendo.com>
14290
14291         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
14292         (gst_file_sink_event), (gst_file_sink_render):
14293         Flush before seeking.
14294
14295 2005-10-12  Andy Wingo  <wingo@pobox.com>
14296
14297         * gst/gst.c (gst_init_check): Ignore unknown options, as has
14298         always been the case.
14299
14300 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
14301
14302         * check/gst/gstbin.c: (GST_START_TEST):
14303         * docs/gst/gstreamer-sections.txt:
14304         * gst/base/gstbasesink.c: (gst_base_sink_init):
14305         * gst/base/gstbasesrc.c: (gst_base_src_init),
14306         (gst_base_src_get_range), (gst_base_src_check_get_range),
14307         (gst_base_src_start), (gst_base_src_stop):
14308         * gst/base/gstbasesrc.h:
14309         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
14310         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14311         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
14312         (bin_bus_handler):
14313         * gst/gstbin.h:
14314         * gst/gstbuffer.h:
14315         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
14316         * gst/gstbus.h:
14317         * gst/gstelement.c: (gst_element_is_locked_state),
14318         (gst_element_set_locked_state), (gst_element_commit_state),
14319         (gst_element_set_state):
14320         * gst/gstelement.h:
14321         * gst/gstindex.c: (gst_index_init):
14322         * gst/gstindex.h:
14323         * gst/gstminiobject.h:
14324         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
14325         (gst_object_set_parent):
14326         * gst/gstobject.h:
14327         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
14328         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
14329         * gst/gstpad.h:
14330         * gst/gstpadtemplate.h:
14331         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
14332         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
14333         * gst/gstpipeline.h:
14334         * gst/indexers/gstfileindex.c: (gst_file_index_load),
14335         (gst_file_index_commit):
14336         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
14337         * testsuite/pad/link.c: (gst_test_src_init),
14338         (gst_test_filter_init), (gst_test_sink_init):
14339         * testsuite/states/locked.c: (main):
14340           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
14341           moved bitshift from macro to enum definition
14342
14343 2005-10-12  Wim Taymans  <wim@fluendo.com>
14344
14345         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
14346         * gst/elements/gstfilesink.c: (gst_file_sink_event),
14347         (gst_file_sink_render):
14348         Some more debugging info.
14349
14350 2005-10-12  Wim Taymans  <wim@fluendo.com>
14351
14352         * docs/design/part-states.txt:
14353         * tools/gst-launch.c: (main):
14354         Some doc updates.
14355         Revert non-intentional change.
14356
14357 2005-10-12  Wim Taymans  <wim@fluendo.com>
14358
14359         * check/gst/gstbin.c: (GST_START_TEST):
14360         * check/gst/gstelement.c: (GST_START_TEST):
14361         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
14362         * check/gst/gstghostpad.c: (GST_START_TEST):
14363         * check/gst/gstpipeline.c: (GST_START_TEST):
14364         * check/pipelines/simple_launch_lines.c: (run_pipeline):
14365         * check/states/sinks.c: (GST_START_TEST):
14366         * gst/elements/gsttypefindelement.c: (stop_typefinding):
14367         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14368         (gst_bin_remove_func), (gst_bin_get_state_func),
14369         (gst_bin_recalc_state), (gst_bin_change_state_func),
14370         (bin_bus_handler):
14371         * gst/gstelement.c: (gst_element_get_state_func),
14372         (gst_element_get_state), (gst_element_abort_state),
14373         (gst_element_commit_state), (gst_element_set_state),
14374         (gst_element_change_state), (gst_element_change_state_func):
14375         * gst/gstelement.h:
14376         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
14377         (gst_pipeline_provide_clock_func):
14378         * gst/gstutils.c: (gst_element_link_pads_filtered):
14379         * tools/gst-launch.c: (main):
14380         * tools/gst-typefind.c: (main):
14381         Use GstClockTime in _get_state() instead of GTimeVal.
14382         Remove old code in gstutils.c
14383
14384 2005-10-12  Andy Wingo  <wingo@pobox.com>
14385
14386         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
14387         removed.
14388
14389         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
14390         there is no task. Shouldn't affect any code, as nothing in our
14391         plugins checks this return value.
14392         (gst_pad_stop_task): Also take the stream lock if the pad has no
14393         task. Docs updated.
14394
14395 2005-10-12  Wim Taymans  <wim@fluendo.com>
14396
14397         * gst/gstpad.c: (pre_activate), (post_activate),
14398         (gst_pad_activate_pull), (gst_pad_activate_push):
14399         Cleanup activation code. Reset old state if
14400         activation failed.
14401
14402 2005-10-12  Wim Taymans  <wim@fluendo.com>
14403
14404         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14405         (gst_base_sink_change_state):
14406         No need to prerol after receiving EOS.
14407
14408         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14409         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
14410         * gst/elements/gstidentity.c: (gst_identity_event):
14411         Print events more verbosely.
14412
14413 2005-10-12  Wim Taymans  <wim@fluendo.com>
14414
14415         * check/Makefile.am:
14416         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
14417         * check/states/sinks2.c:
14418         Moved sinks2 testcode in sinks check.
14419
14420         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14421         (gst_bin_remove_func), (gst_bin_recalc_state),
14422         (gst_bin_change_state_func), (bin_bus_handler):
14423         Fix potential race condition when _get_state() iterated over an
14424         ASYNC element right before it posted a state completion.
14425
14426         * gst/gstclock.h:
14427         Do proper cast here.
14428
14429         * gst/gstevent.c: (gst_event_new_newsegment),
14430         (gst_event_parse_newsegment):
14431         A playback rate of 0.0 is not allowed.
14432
14433 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14434
14435         * win32/common/config.h:
14436         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
14437         (_trewinddir), (_ttelldir), (_tseekdir):
14438         * win32/common/dirent.h:
14439         * win32/common/gtchar.h:
14440         * win32/common/libgstbase.def:
14441         * win32/common/libgstreamer.def:
14442         * win32/vs6/grammar.dsp:
14443         * win32/vs6/gst_inspect.dsp:
14444         * win32/vs6/gst_launch.dsp:
14445         * win32/vs6/gstreamer.dsw:
14446         * win32/vs6/libgstbase.dsp:
14447         * win32/vs6/libgstelements.dsp:
14448         * win32/vs6/libgstreamer.dsp:
14449           Visual Studio 6 project files, and a new common directory.
14450           Phear.
14451
14452 2005-10-11  Wim Taymans  <wim@fluendo.com>
14453
14454         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14455         (gst_base_sink_do_sync), (gst_base_sink_query),
14456         (gst_base_sink_change_state):
14457         * gst/base/gstbasesink.h:
14458         Correctly parse newsegment info.
14459
14460 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14461
14462         * gst/gst.c: (init_post):
14463           split plugin paths correctly
14464
14465 2005-10-11  Wim Taymans  <wim@fluendo.com>
14466
14467         * check/gst/gstevent.c: (GST_START_TEST):
14468         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14469         (gst_base_sink_change_state):
14470         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
14471         * gst/base/gstbasetransform.c: (gst_base_transform_event):
14472         * gst/elements/gstfilesink.c: (gst_file_sink_event):
14473         * gst/gstevent.c: (gst_event_new_newsegment),
14474         (gst_event_parse_newsegment):
14475         * gst/gstevent.h:
14476         Added extra flag to newsegment for future API freeze.
14477         Updated check and base elements.
14478
14479 2005-10-11  Julien MOUTTE  <julien@moutte.net>
14480
14481         * gst/base/gstcollectpads.c: (gst_collectpads_init),
14482         (gst_collectpads_add_pad), (gst_collectpads_pop),
14483         (gst_collectpads_event), (gst_collectpads_chain):
14484         * gst/base/gstcollectpads.h: Handle EOS correctly.
14485
14486 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14487
14488         * tools/gst-launch.c: (main):
14489           more null protecting
14490
14491 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14492
14493         * gst/gst-i18n-lib.h:
14494           check for ENABLE_NLS, not GETTEXT_PACKAGE
14495         * gst/gstregistry.c: (gst_registry_add_plugin),
14496         (gst_registry_scan_path_level),
14497         (_gst_registry_remove_cache_plugins):
14498           protect possibly NULL strings
14499         * gst/parse/types.h:
14500           config.h already included before
14501         * tools/gst-inspect.c: (main):
14502           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
14503           check for ENABLE_NLS, not GETTEXT_PACKAGE
14504         * tools/gst-launch.c: (main):
14505           check for ENABLE_NLS, not GETTEXT_PACKAGE
14506
14507 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14508
14509         * configure.ac:
14510           if we don't have glib, fail before testing 2.8
14511         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
14512           fix a leak, should fix plugins-base testsuite
14513
14514 2005-10-11  Andy Wingo  <wingo@pobox.com>
14515
14516         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
14517         take the mode we're going to as an arg. Go head and set the mode
14518         and flushing flags now, so that if the activate function starts a
14519         thread all the flags will be in the right state.
14520         (post_activate): Renamed also. Just handle making sure streaming
14521         finishes for the deactivation case, and setting the deactivated
14522         mode.
14523         (gst_pad_set_active): Complain loudly if deactivation fails.
14524         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
14525         (gst_pad_activate_push): Adapt to pre/post_activate changes,
14526         remove the terrible hack.
14527
14528 2005-10-11  Wim Taymans  <wim@fluendo.com>
14529
14530         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14531         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
14532         (gst_bin_recalc_state), (gst_bin_change_state_func),
14533         (gst_bin_dispose), (bin_bus_handler):
14534         * gst/gstbin.h:
14535         Prepare to make current EOS message queue more generic.
14536         Fix some typos.
14537
14538         * gst/gstevent.c: (gst_event_new_newsegment),
14539         (gst_event_parse_newsegment):
14540         * gst/gstevent.h:
14541         Rename base to stream_time.
14542
14543         * gst/gstmessage.h:
14544         Fix typo in docs.
14545
14546 2005-10-11  Wim Taymans  <wim@fluendo.com>
14547
14548         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14549         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
14550         (gst_bin_change_state_func), (bin_bus_handler):
14551         * gst/gstbin.h:
14552         Work on proper clock selection.
14553
14554 2005-10-11  Edward Hervey  <edward@fluendo.com>
14555
14556         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
14557         * libs/gst/controller/gstcontroller.h:
14558         Added GList* version of _remove_properties() in order to be able to wrap
14559         it in bindings.
14560
14561 2005-10-11  Wim Taymans  <wim@fluendo.com>
14562
14563         * docs/design/part-states.txt:
14564         Some more docs.
14565
14566         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
14567         (gst_bin_change_state_func), (bin_bus_handler):
14568         Doc updates. Don't distribute the same clock over and over again.
14569
14570         * gst/gstclock.c:
14571         * gst/gstclock.h:
14572         Doc updates.
14573
14574         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
14575         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
14576         (gst_pad_send_event):
14577         * gst/gstpad.h:
14578         Make probe emission threadsafe again.
14579         Register quarks and move _get_name() from utils.
14580         Doc updates.
14581
14582         * gst/gstpipeline.c: (gst_pipeline_class_init),
14583         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14584         Only redistribute the clock of it changed.
14585
14586         * gst/gstsystemclock.h:
14587         Doc updates. 
14588
14589         * gst/gstutils.c:
14590         * gst/gstutils.h:
14591         Moved the _flow_get_name() to GstPad.
14592
14593 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14594
14595         * check/gst-libs/gdp.c: (GST_START_TEST):
14596         * check/gst/gstcaps.c: (GST_START_TEST):
14597         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
14598         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
14599         (gst_dp_packet_from_caps):
14600           fix more valgrind warnings before turning up the heat
14601
14602 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14603
14604         * gst/parse/grammar.y:
14605           some cleanup before the hacking
14606
14607 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14608
14609         * gst/base/gstbasesrc.c: (gst_base_src_query):
14610           use conversions
14611         * gst/gstutils.c: (gst_guint64_to_gdouble),
14612         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
14613         * gst/gstutils.h:
14614           externalize, basesrc uses it
14615           obviously the implementation needs testing
14616
14617 2005-10-10  Wim Taymans  <wim@fluendo.com>
14618
14619         * tests/sched/Makefile.am:
14620         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
14621         (make_pipeline3), (make_pipeline4), (print_elem), (main):
14622
14623 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14624
14625         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
14626           apparently converting from guint64 to double is not implemented
14627           on MSVC
14628
14629 2005-10-10  Wim Taymans  <wim@fluendo.com>
14630
14631         * check/Makefile.am:
14632         * check/generic/states.c: (GST_START_TEST):
14633         * check/gst/gstbin.c: (GST_START_TEST):
14634         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14635         * check/states/sinks.c: (GST_START_TEST):
14636         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
14637         (main):
14638         Check fixes, use API as stated in design docs, remove hacks.
14639
14640         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14641         (gst_base_sink_change_state):
14642         Catch stopping our task while we're shutting down.
14643
14644         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
14645         (gst_bin_remove_func), (gst_bin_get_state_func),
14646         (gst_bin_recalc_state), (gst_bin_change_state_func),
14647         (bin_bus_handler):
14648         * gst/gstbin.h:
14649         * gst/gstelement.c: (gst_element_init),
14650         (gst_element_get_state_func), (gst_element_abort_state),
14651         (gst_element_commit_state), (gst_element_lost_state),
14652         (gst_element_set_state), (gst_element_change_state),
14653         (gst_element_change_state_func):
14654         * gst/gstelement.h:
14655         New state change algorithm (see #318116)
14656
14657         * gst/gstpipeline.c: (gst_pipeline_class_init),
14658         (gst_pipeline_init), (gst_pipeline_set_property),
14659         (gst_pipeline_get_property), (do_pipeline_seek),
14660         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14661         * gst/gstpipeline.h:
14662         Remove crude state change hacks.
14663
14664         * gst/gstutils.h:
14665         Remove crude hacks.
14666
14667         * tools/gst-launch.c: (main):
14668         Fixes for state change. Needs some more work to fully use the
14669         new stuff.
14670
14671 2005-10-10  Andy Wingo  <wingo@pobox.com>
14672
14673         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
14674
14675         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
14676         this flag, but it's not even in GLib 2.6. Odd. Hack around the
14677         issue.
14678
14679 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14680
14681         * gst/gstiterator.c: (gst_iterator_new):
14682           Fix my previous commit: GTypes passed to gst_iterator_new()
14683           can be fundamental types.
14684
14685 2005-10-10  Wim Taymans  <wim@fluendo.com>
14686
14687         * gst/gstelement.c: (gst_element_iterate_pad_list),
14688         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
14689         (gst_element_iterate_sink_pads):
14690         Use src/sink pads lists for the respective iterators instead
14691         of filtering.
14692
14693 2005-10-10  Andy Wingo  <wingo@pobox.com>
14694
14695         Merged in popt removal + GOption addition patch from Ronald, bug
14696         #169772.
14697
14698         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
14699         GstElement macros around, remove popt-related symbols, add goption
14700         stuff.
14701
14702         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
14703         
14704         * docs/gst/Makefile.am:
14705         * docs/libs/Makefile.am: No POPT_CFLAGS.
14706         
14707         * examples/manual/Makefile.am:
14708         * docs/manual/basics-init.xml: Doc updates with an example.
14709         
14710         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
14711         (gst_init), (parse_one_option), (parse_goption_arg):
14712         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
14713         bit of hand merging and debugging to get the GOption stuff working
14714         tho.
14715         
14716         * tests/Makefile.am:
14717         * tools/Makefile.am:
14718         * tools/gst-inspect.c: (main):
14719         * tools/gst-launch.c: (main):
14720         * tools/gst-run.c: (main):
14721         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
14722
14723 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14724
14725         * gst/gstiterator.c: (gst_iterator_new):
14726           Add assertions to make sure passed GType is likely to really
14727           be a GType (as the compiler won't catch it if the size and
14728           GType arguments get mixed up, see #318447).
14729
14730 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
14731
14732         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14733
14734         * gst/gstbin.c: (gst_bin_iterate_sorted):
14735           Pass GType and size arguments to gst_iterator_new() in the right
14736           order (maybe we should make _new() take the GType as first argument
14737           just like _new_list()?) (#318447).
14738           
14739
14740 2005-10-10  Wim Taymans  <wim@fluendo.com>
14741
14742         * gst/gstelement.c: (gst_element_finalize):
14743         And free the GStaticRecMutex too
14744
14745 2005-10-10  Andy Wingo  <wingo@pobox.com>
14746
14747         * gst/gstelement.c (gst_element_init, gst_element_finalize):
14748         Allocate and free the mutex properly.
14749
14750         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
14751         New macros.
14752         (GstElement): The state_lock is now recursive. Rebuild your
14753         plugins, suckers. Old macros adapted.
14754
14755         * docs/gst/gstreamer-sections.txt: Doc updates.
14756
14757         * gst/gstutils.h:
14758         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
14759         (g_static_rec_cond_wait): Ported from state changes patch, while
14760         we wait on bug #317802 to be solved in a well-distributed GLib.
14761
14762         * gst/gstelement.c (gst_element_change_state_func): Renamed from
14763         gst_element_change_state, variable name changes.
14764         (gst_element_change_state): Split out of gst_element_set_state in
14765         preparation for the state change merge. Doesn't pay attention to
14766         the 'transition' argument.
14767         (gst_element_set_state): Updates, hopefully purely cosmetic.
14768         (gst_element_sync_state_with_parent): MT-safety. Ported from the
14769         state change patch.
14770         (gst_element_get_state_func): Renamed from get_state, cosmetic
14771         changes.
14772
14773 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14774
14775         * gst/elements/gstelements.c:
14776         * win32/GStreamer.vcproj:
14777         * win32/config.h:
14778         * win32/dirent.c: (_tseekdir):
14779         * win32/gst-inspect.vcproj:
14780         * win32/gst-launch.vcproj:
14781         * win32/gstconfig.h:
14782         * win32/gstelements.vcproj:
14783         * win32/gstenumtypes.c: (gst_object_flags_get_type):
14784         * win32/gstreamer.def:
14785         * win32/msvc71.sln:
14786           updates for the win32 build (patch from Sebastien Moutte)
14787
14788 2005-10-10  Andy Wingo  <wingo@pobox.com>
14789
14790         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
14791         gst_bin_get_state, cleaned up (but no logic changes).
14792         (bin_element_is_sink): Comment updates.
14793         (sink_iterator_filter): Remove needless cast.
14794         (gst_bin_iterate_sinks): Doc update.
14795         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
14796         cleaned up (but no logic changes).
14797
14798         * check/states/sinks.c (test_src_sink): Cleanups from the state
14799         change patch.
14800         (test_livesrc_sink): Sync on the state.
14801
14802         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
14803         the state change patch.
14804
14805         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
14806         change patch.
14807
14808         * check/gst/gstbin.c: Merge in some style fixes and additional
14809         checks from Wim's state change patch.
14810
14811 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14812
14813         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14814         (gst_type_find_helper):
14815           Check whether we have the requested data already in our list of
14816           cached buffers before pulling a new buffer; also make the buffer
14817           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
14818
14819 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14820
14821         * gst/gstcaps.c:
14822         * gst/gstevent.c:
14823           doc updates
14824         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14825           don't use long long, it's not portable.  Replacing with
14826           gint64 seems to work; let's hope no skeletons fall out of the closet.
14827
14828 2005-10-10  Andy Wingo  <wingo@pobox.com>
14829
14830         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
14831
14832 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
14833
14834         * docs/gst/gstreamer-sections.txt:
14835         * gst/gstevent.c:
14836         * gst/gstevent.h:
14837         * gst/gstinfo.c:
14838         * gst/gstinfo.h:
14839         * gst/gstmessage.c: (gst_message_parse_state_changed):
14840         * gst/gstpad.c:
14841         * gst/gstpad.h:
14842           more docs, fix compilation
14843
14844 2005-10-09  Philippe Khalaf <burger@speedy.org>
14845         * gst/gstmessage.c:
14846           Fixed a few forgotten variables on previous commit
14847
14848 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
14849
14850         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14851           Fix evil typefind crasher: getrange() might return a short
14852           buffer at the end of a file, but gst_type_find_peek() must
14853           either return the full data as requested or NULL, but
14854           never a short buffer.
14855
14856 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14857
14858         * gst/gstmessage.c: (gst_message_new_state_changed),
14859         (gst_message_parse_state_changed):
14860         * gst/gstmessage.h:
14861           don't use "new", it's a C++ keyword
14862
14863 2005-10-08  Wim Taymans  <wim@fluendo.com>
14864
14865         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
14866         * gst/gstelement.c: (gst_element_post_message):
14867         * gst/gstpipeline.c: (gst_pipeline_change_state):
14868         Small docs and debug updates.
14869
14870 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14871
14872         * docs/gst/gstreamer-sections.txt:
14873         * gst/gstelementfactory.c:
14874         * gst/gstevent.c:
14875         * gst/gsttaglist.c:
14876           more docs
14877
14878 2005-10-08  Wim Taymans  <wim@fluendo.com>
14879
14880         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
14881         (gst_bin_dispose), (bin_bus_handler):
14882         Fix typos, add comments.
14883         Clear EOS list when going to PAUSED from any direction and do it
14884         in a threadsafe way.
14885         Get base time in a threadsafe way too.
14886         Fix confusing debug in the change_state function.
14887         Various other small cleanups.
14888         
14889         * gst/gstelement.c: (gst_element_post_message):
14890         Fix very verbose bus posting code.
14891
14892         * gst/gstpipeline.c: (gst_pipeline_class_init),
14893         (gst_pipeline_set_property), (gst_pipeline_get_property),
14894         (gst_pipeline_change_state):
14895         Small ARG_ -> PROP_ cleanup
14896
14897 2005-10-08  Wim Taymans  <wim@fluendo.com>
14898
14899         * gst/gstbin.c: (is_eos), (bin_bus_handler):
14900         Do a less CPU demanding EOS check because we can.
14901
14902 2005-10-08  Wim Taymans  <wim@fluendo.com>
14903
14904         * libs/gst/dataprotocol/dataprotocol.c:
14905         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14906         (gst_dp_packet_from_event):
14907         * libs/gst/dataprotocol/dataprotocol.h:
14908         * libs/gst/dataprotocol/dp-private.h:
14909         It's about time we bump the version number.
14910         Since event types don't fit in the guint8 anymore describing
14911         the payload type, make payload type 16 bits wide.
14912
14913 2005-10-08  Wim Taymans  <wim@fluendo.com>
14914
14915         * docs/design/part-TODO.txt:
14916         * docs/design/part-clocks.txt:
14917         * docs/design/part-events.txt:
14918         * docs/design/part-gstbin.txt:
14919         * docs/design/part-gstelement.txt:
14920         * docs/design/part-gstpipeline.txt:
14921         * docs/design/part-live-source.txt:
14922         * docs/design/part-messages.txt:
14923         * docs/design/part-overview.txt:
14924         * docs/design/part-states.txt:
14925         Many doc updates.
14926
14927 2005-10-08  Wim Taymans  <wim@fluendo.com>
14928
14929         * gst/gstevent.c:
14930         * gst/gstevent.h:
14931         Fix event quark registration.
14932         Add some space between events so we can insert them in the
14933         right groups.
14934
14935 2005-10-08  Wim Taymans  <wim@fluendo.com>
14936
14937         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14938         (gst_base_sink_handle_buffer):
14939         Better log message.
14940
14941         * gst/gstbus.h:
14942         * gst/gstelement.h:
14943         More docs.
14944
14945         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14946         (gst_queue_set_property), (gst_queue_get_property):
14947         * gst/gstqueue.h:
14948         Remove old unused properties.
14949
14950 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14951         * docs/gst/gstreamer-sections.txt:
14952         * gst/gstmessage.c:
14953         * gst/gstmessage.h:
14954         * gst/gstminiobject.c:
14955         * gst/gstminiobject.h:
14956         * gst/gstobject.h:
14957         * gst/gstpad.h:
14958         * gst/gstutils.h:
14959           lots of new docs and doc fixes
14960
14961 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14962
14963         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
14964         * gst/gstplugin.h:
14965         * gst/gstregistry.c: (gst_registry_lookup_locked),
14966         (gst_registry_scan_path_level):
14967         * gst/gstregistryxml.c: (load_plugin):
14968           Only ever load one plugin for a given plugin basename.
14969           This ensures correct overriding of GST_PLUGIN_PATH over
14970           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
14971           system installed plugins.
14972
14973 2005-10-08  Wim Taymans  <wim@fluendo.com>
14974
14975         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14976         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
14977         Prepare for doing QOS.
14978
14979 2005-10-08  Wim Taymans  <wim@fluendo.com>
14980
14981         * check/gst/gstbin.c: (GST_START_TEST):
14982         * check/pipelines/cleanup.c: (GST_START_TEST):
14983         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14984         Allow new clock message too.
14985
14986 2005-10-08  Wim Taymans  <wim@fluendo.com>
14987
14988         * gst/gstmessage.c: (gst_message_new_error),
14989         (gst_message_new_warning), (gst_message_new_tag),
14990         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14991         (gst_message_new_clock_lost), (gst_message_new_new_clock),
14992         (gst_message_new_segment_start), (gst_message_new_segment_done),
14993         (gst_message_parse_state_changed),
14994         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
14995         (gst_message_parse_new_clock):
14996         * gst/gstmessage.h:
14997         Also carry the clock in question.
14998
14999 2005-10-08  Wim Taymans  <wim@fluendo.com>
15000
15001         * gst/gstmessage.c: (gst_message_new_custom),
15002         (gst_message_new_eos), (gst_message_new_error),
15003         (gst_message_new_warning), (gst_message_new_tag),
15004         (gst_message_new_state_changed), (gst_message_new_clock_provide),
15005         (gst_message_new_new_clock), (gst_message_new_segment_start),
15006         (gst_message_new_segment_done), (gst_message_parse_state_changed),
15007         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
15008         * gst/gstmessage.h:
15009         Clean up.
15010         Added clock related messages.
15011
15012         * gst/gstpipeline.c: (gst_pipeline_change_state):
15013         Post message when the clock changed.
15014
15015         * tools/gst-launch.c: (event_loop):
15016         Print new clock.
15017
15018 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
15019
15020         * tools/gst-inspect.c: (print_element_properties_info):
15021           Can't pass NULL strings to g_print() on windows.
15022
15023 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15024
15025         * docs/Makefile.am:
15026         * docs/gst/Makefile.am:
15027         * docs/gst/gstreamer-docs.sgml:
15028         * docs/gst/running.xml:
15029         * docs/version.entities.in:
15030           add a chapter on running GStreamer.
15031           document GST_DEBUG and GST_PLUGIN* env vars
15032
15033 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15034
15035         * Makefile.am:
15036           remove include dir
15037         * configure.ac:
15038           remove PLUGINS_BUILDDIR stuff
15039         * gst/gst.c: (init_post):
15040           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
15041         * idiottest.mak:
15042           remove, it was condescending and not needed
15043
15044 2005-10-08  Wim Taymans  <wim@fluendo.com>
15045
15046         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
15047         (gst_base_sink_handle_object), (gst_base_sink_event),
15048         (gst_base_sink_wait), (gst_base_sink_handle_event),
15049         (gst_base_sink_change_state):
15050         * gst/base/gstbasesink.h:
15051         Repost EOS message while going to PLAYING if still EOS.
15052         Make sure that when receiving a FLUSH_START we don't attempt
15053         to sync on the clock anymore.
15054
15055 2005-10-08  Wim Taymans  <wim@fluendo.com>
15056
15057         * tools/gst-launch.c: (event_loop):
15058         Better message printout.
15059
15060 2005-10-08  Wim Taymans  <wim@fluendo.com>
15061
15062         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
15063         (gst_bin_child_proxy_get_children_count):
15064         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
15065         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
15066         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
15067         (gst_child_proxy_set_valist):
15068         * gst/parse/grammar.y:
15069         Make ChildProxy threadsafe and fix mem leaks.
15070
15071 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15072
15073         * gst/gst.c: (init_post):
15074           debug the GST_PLUGIN_ env vars
15075
15076 2005-10-08  Wim Taymans  <wim@fluendo.com>
15077
15078         * check/gst/gstbin.c: (GST_START_TEST):
15079         * check/gst/gstmessage.c: (GST_START_TEST):
15080         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
15081         * gst/gstelement.c: (gst_element_commit_state),
15082         (gst_element_lost_state):
15083         * gst/gstmessage.c: (gst_message_new_state_changed),
15084         (gst_message_parse_state_changed):
15085         * gst/gstmessage.h:
15086         * tools/gst-launch.c: (event_loop):
15087         Added extra field to STATE_CHANGE message with the pending
15088         state, which will be different from the new state soon.
15089
15090 2005-10-08  Wim Taymans  <wim@fluendo.com>
15091
15092         * gst/gstbus.c: (gst_bus_pop):
15093         * gst/gstclock.c:
15094         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
15095         Small cleanups and doc updates.
15096
15097 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
15098
15099         * gst/gst.c: (init_pre):
15100         * gst/gstbin.c: (gst_bin_add_func):
15101           log distributing clocks and base time
15102         * gst/gstregistry.c: (gst_registry_add_plugin),
15103         (gst_registry_scan_path_level), (gst_registry_scan_path):
15104           clean up the debugging output a little
15105         * gst/gstutils.c: (gst_element_state_get_name):
15106           warn about a memleak (I've actually seen this be used, though
15107           it was probably a bug)
15108
15109 2005-10-07  Wim Taymans  <wim@fluendo.com>
15110
15111         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15112         (gst_base_src_init), (gst_base_src_default_newsegment),
15113         (gst_base_src_newsegment), (gst_base_src_do_seek),
15114         (gst_base_src_loop), (gst_base_src_start):
15115         * gst/base/gstbasesrc.h:
15116         Make the newsegment event customizable by subclasses.
15117
15118 2005-10-07  Wim Taymans  <wim@fluendo.com>
15119
15120         * gst/gstevent.c: (gst_event_new_buffersize),
15121         (gst_event_parse_buffersize):
15122         * gst/gstevent.h:
15123         New event for future idea.
15124
15125 2005-10-07  Andy Wingo  <wingo@pobox.com>
15126
15127         * gst/gstelement.c (gst_element_post_message): Doc update.
15128
15129         * docs/gst/gstreamer-sections.txt: Update.
15130
15131         * gst/gstmessage.c (gst_message_new_application): Made into a
15132         function like honest API calls.
15133         (gst_message_new_element): New message type.
15134
15135         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
15136
15137         * check/elements/fakesrc.c (test_no_preroll): New check, checks
15138         that setting a live fakesrc to PAUSED returns NO_PREROLL both
15139         times.
15140
15141         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
15142         NO_PREROLL from gst_element_change_state to fall through.
15143
15144 2005-10-07  Wim Taymans  <wim@fluendo.com>
15145
15146         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
15147         (gst_ghost_pad_do_activate_push):
15148         Activating a ghostpad with no internal pad in push mode
15149         is ok.
15150
15151 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
15152
15153         * gst/gstobject.h:
15154           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
15155           Fixes compilation on Windows.
15156
15157 2005-10-07  Michael Smith <msmith@fluendo.com>
15158
15159         * tools/gst-inspect.c:
15160           Print out feature and plugin count at the end when printing out
15161           all features.
15162
15163 2005-10-04  Michael Smith <msmith@fluendo.com>
15164
15165         * gst/gsterror.c: (_gst_stream_errors_init):
15166           Add another error string used in a few existing plugins.
15167
15168         * gst/gstplugin.c:
15169         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15170         * tools/gst-inspect.c: (print_element_info):
15171           When a feature disappears from a plugin (and the feature exists in
15172           the cached registry file), things went horribly wrong. This isn't a
15173           complete fix, we should actually be removing the 'missing' features
15174           from the features list when we load the actual plugin. That's not
15175           yet implemented. 
15176
15177 2005-10-04  Johan Dahlin  <johan@gnome.org>
15178
15179         * check/gst/gstiterator.c: (GST_START_TEST):
15180         * gst/gstbin.c: (gst_bin_iterate_elements),
15181         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
15182         * gst/gstelement.c: (gst_element_iterate_pads):
15183         * gst/gstformat.c: (gst_format_iterate_definitions):
15184         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
15185         (gst_iterator_new_list), (gst_iterator_filter):
15186         * gst/gstiterator.h:
15187         * gst/gstquery.c: (gst_query_type_iterate_definitions):
15188         Add a GType to GstIterator, update callsites and tests.
15189
15190 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15191
15192         * gst/gstpad.c: (gst_pad_event_default_dispatch):
15193           give events a chance to be handled by event probes when the pad
15194           is not linked
15195
15196 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15197
15198         * gst/gstevent.c: (gst_event_type_get_name),
15199         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
15200         * gst/gstevent.h:
15201           add string representations for event types
15202
15203 2005-10-06  Wim Taymans  <wim@fluendo.com>
15204
15205         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
15206         Don't use NULL pointers.
15207
15208 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15209
15210         * gst/gst_private.h:
15211         * gst/gstbus.c:
15212         * gst/gstelement.c:
15213         * gst/gstinfo.c:
15214         * gst/gstpluginfeature.c:
15215           widen the debug category in output to fit the biggest one we have
15216           add a bus category and use it
15217           play with the colors
15218           fix up some categories
15219
15220 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15221
15222         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
15223           add push activation of sink ghost pads.
15224           Andye, please verify
15225
15226 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15227
15228         * gst/gstutils.c: (gst_element_link_pads):
15229           fix a bug in the case where neither element has a pad
15230         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15231           add a test for that case
15232
15233 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15234
15235         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
15236           emit have-data before checking for peers.  This allows
15237           for probe handlers to connect elements.  This helps autopluggers.
15238         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
15239         (gst_pad_suite):
15240           add six checks, linked/unlinked with no/true/false probe
15241
15242 2005-10-04  Wim Taymans  <wim@fluendo.com>
15243
15244         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
15245         (gst_fake_sink_event), (gst_fake_sink_preroll),
15246         (gst_fake_sink_render), (gst_fake_sink_change_state):
15247         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
15248         (gst_fake_src_get_property), (gst_fake_src_create),
15249         (gst_fake_src_stop):
15250         * gst/elements/gstidentity.c: (gst_identity_stop):
15251         Protect last_message with lock.
15252
15253 2005-10-04  Edward Hervey  <edward@fluendo.com>
15254
15255         * gst/gstformat.h: 
15256         Added precision in the comments for GST_FORMAT_DEFAULT
15257
15258 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
15259
15260         * tools/gst-launch.c: (main):
15261           Don't try to run erroneous pipelines.
15262
15263 2005-10-04  Julien MOUTTE  <julien@moutte.net>
15264
15265         * gst/gstbus.c: We don't need this header.
15266
15267 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15268
15269         * configure.ac:
15270           back to development
15271
15272 === release 0.9.3 ===
15273
15274 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15275
15276         * README:
15277         * configure.ac:
15278           Releasing 0.9.3, "Unregistered"
15279
15280 2005-10-03  Andy Wingo  <wingo@pobox.com>
15281
15282         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
15283         whereby calling a pad's activatepush() function can start a thread
15284         that starts to push or pull before the pad gets the FLUSHING flag
15285         unset. Hack around it by holding the stream lock until the flag is
15286         set. Need to replace this with a proper solution. Together with
15287         the ghost pad fixes, this fixes mp3 playing/tagreading.
15288
15289         * docs/design/part-gstghostpad.txt: Add a note about activation of
15290         proxy pads outside of ghost pads.
15291
15292         * gst/gstghostpad.c: Implement the ghost pad activation design.
15293
15294 2005-10-02  Andy Wingo  <wingo@pobox.com>
15295
15296         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
15297         It is volatile, after all.
15298
15299         * docs/design/part-gstghostpad.txt: Flesh out activation with
15300         ghost pads.
15301
15302         * gst/base/gstbasesrc.c (gst_base_src_init): Use
15303         GST_DEBUG_FUNCPTR.
15304
15305 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
15306
15307         * configure.ac:
15308           Fix (unused) AM_CONDITIONAL tests.
15309
15310 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
15311
15312         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15313
15314         * gst/gstutils.c: (gst_pad_query_convert):
15315           Add assertion that makes sure src_val is >=0, just like
15316           gst_query_new_convert() has. (#315895)
15317
15318 2005-09-30  Edward Hervey  <edward@fluendo.com>
15319
15320         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
15321         Let's not iterate pads we're not interested in, it avoids getting 
15322         sky-high refcounts on sinkpad.
15323
15324 2005-09-30  Wim Taymans  <wim@fluendo.com>
15325
15326         * gst/gstelement.c: (gst_element_set_state),
15327         (gst_element_change_state):
15328         Small tweak, element in ASYNC remains ASYNC.
15329
15330 2005-09-30  Wim Taymans  <wim@fluendo.com>
15331
15332         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
15333         Only error is an error.
15334
15335         * gst/gstbin.c: (gst_bin_change_state):
15336         Better debugging.
15337
15338         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
15339         Also call pad_block in pad alloc.
15340
15341         * gst/gstutils.c: (gst_flow_get_name):
15342         Better debugging.
15343
15344 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15345
15346         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15347         (gst_base_src_get_range):
15348           Fix documentation typos. Add some more debug info.
15349
15350 2005-09-29  David Schleef  <ds@schleef.org>
15351
15352         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
15353           more end-user friendly.
15354         * tools/gst-inspect.c: (main): Check if command-line argument is
15355           a file and attempt to load that file as a plugin.
15356
15357 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15358
15359         * check/gst/gstbin.c:
15360         * check/states/sinks.c:
15361           fix tests for the new warning
15362         * check/gst/gstpipeline.c:
15363           add a test for pipeline and bus interaction
15364         * gst/gstelement.c:
15365           elements should be NULL if they get disposed; add a warning if not
15366
15367 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15368
15369         * gst/gstobject.c:
15370           for 2.6 refcounting, make debug log more correct by printing
15371           the actual refcounts at the time of swap (Wim)
15372
15373 2005-09-29  Andy Wingo  <wingo@pobox.com>
15374
15375         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
15376         removes signal watches previously added via
15377         gst_bus_add_signal_watch.
15378         (gst_bus_add_signal_watch): Don't return the source id, just store
15379         it on the bus if there wasn't an id already.
15380
15381         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
15382         add_signal_watch and remove_signal_watch.
15383
15384 2005-09-29  Edward Hervey  <edward@fluendo.com>
15385
15386         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
15387         Better if we actually iterate the list :)
15388
15389 2005-09-29  Wim Taymans  <wim@fluendo.com>
15390
15391         * check/gst/gstbin.c: (GST_START_TEST):
15392         Change for new bus API.
15393
15394         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
15395         (send_messages), (GST_START_TEST), (gstbus_suite):
15396         Change for new bus signal API.
15397
15398         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
15399         (gst_bus_source_prepare), (gst_bus_source_check),
15400         (gst_bus_create_watch), (gst_bus_add_watch_full),
15401         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
15402         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
15403         * gst/gstbus.h:
15404         Remove support for multiple GSources operating on different
15405         message types as it is too complex and unneeded when using
15406         signals.
15407         Added support for receiving signals from the bus.
15408
15409 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15410
15411         * docs/libs/tmpl/gstdataprotocol.sgml:
15412         * docs/manual/advanced-dataaccess.xml:
15413         * gst/elements/gstcapsfilter.c:
15414         * gst/gstutils.c:
15415           rename filter-caps to caps property
15416
15417 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15418
15419         * gst/gstvalue.c: (gst_value_deserialize_fraction):
15420           More robust fraction string parsing.
15421
15422         * docs/pwg/appendix-porting.xml:
15423           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
15424
15425 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15426
15427         * gst/gstcaps.c: (gst_caps_do_simplify):
15428           Thou shalt not free a structure and then continue using it
15429           in the next loop iteration.
15430
15431         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
15432         (gst_caps_suite):
15433           Add test case for caps simplification.
15434
15435 2005-09-29  Wim Taymans  <wim@fluendo.com>
15436
15437         * check/gst/gstbin.c: (GST_START_TEST):
15438         Oops.
15439
15440 2005-09-29  Wim Taymans  <wim@fluendo.com>
15441
15442         * check/gst/gstbin.c: (GST_START_TEST):
15443         Add bus to bin.
15444
15445         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
15446         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15447         (find_element), (gst_bin_sort_iterator_next),
15448         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15449         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15450         (gst_bin_change_state), (gst_bin_dispose):
15451         A bin does not have a bus, it gets the bus from the parent.
15452
15453         * gst/gstelement.c: (gst_element_requires_clock),
15454         (gst_element_provides_clock), (gst_element_is_indexable),
15455         (gst_element_is_locked_state), (gst_element_change_state),
15456         (gst_element_set_bus_func):
15457         Small cleanups.
15458
15459         * gst/gstpipeline.c: (gst_pipeline_class_init),
15460         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
15461         The pipeline provides a bus.
15462
15463 2005-09-28  Johan Dahlin  <johan@gnome.org>
15464
15465         * gst/gstmessage.c (gst_message_parse_state_changed): Use
15466         gst_structure_get_enum instead of gst_structure_get_int
15467
15468         * gst/gststructure.c (gst_structure_get_enum): Impl.
15469
15470         * gst/gststructure.h (gst_structure_get_enum): Add
15471
15472         * docs/gst/gstreamer-sections.txt: Ditto
15473
15474         * gst/gstmessage.c (gst_message_new_state_changed): Use
15475         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
15476         which does introspection.
15477         Reviewed by Christian Schaller
15478
15479 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
15480
15481         * gst/gstinfo.c: (gst_debug_log_default):
15482           don't do dummy g_strdup()s
15483         * libs/gst/controller/gstcontroller.c:
15484         (on_object_controlled_property_changed),
15485         (gst_controlled_property_new), (gst_controller_new_valist),
15486         (gst_controller_new_list),
15487         (gst_controller_remove_properties_valist), (gst_controller_set),
15488         (gst_controller_get), (gst_controller_sync_values),
15489         (gst_controller_get_value_array), (_gst_controller_class_init),
15490         (gst_controller_get_type):
15491         * libs/gst/controller/gstcontroller.h:
15492         * libs/gst/controller/gstinterpolation.c:
15493         (gst_controlled_property_find_timed_value_node):
15494           convert // to /**/ comments
15495
15496 2005-09-28  Wim Taymans  <wim@fluendo.com>
15497
15498         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
15499         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
15500         (gst_bus_sync_signal_handler):
15501         * gst/gstbus.h:
15502         Added async-message and sync-message signals to the bus.
15503         Added helper BusFunc to emit signals for all posted messages.
15504
15505         * gst/gstmessage.c: (gst_message_type_get_name),
15506         (gst_message_type_to_quark), (gst_message_get_type):
15507         * gst/gstmessage.h:
15508         Register quarks for message names.
15509
15510 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
15511
15512         * docs/libs/gstreamer-libs-sections.txt:
15513         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
15514         (gst_controller_new_list):
15515         * libs/gst/controller/gstcontroller.h:
15516           added another constructor for language bindings
15517
15518 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15519
15520         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
15521           add another check
15522         * gst/gstbus.c:
15523           add some doc
15524         * gst/gstinfo.c: (_gst_debug_init):
15525           slightly more readable color for refcount debugging
15526
15527 2005-09-28  Wim Taymans  <wim@fluendo.com>
15528
15529         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
15530         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15531         (find_element), (gst_bin_sort_iterator_next),
15532         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15533         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15534         (gst_bin_change_state), (gst_bin_dispose):
15535         Small doc fixes. get_clock -> provide_clock.
15536
15537         * gst/gstelement.c: (gst_element_class_init),
15538         (gst_element_provides_clock), (gst_element_provide_clock),
15539         (gst_element_get_clock), (gst_element_commit_state),
15540         (gst_element_lost_state):
15541         * gst/gstelement.h:
15542         Make get/set_clock() symetric. Add provide_clock vmethod since
15543         that is actually what this function does.
15544
15545         * gst/gstpipeline.c: (gst_pipeline_class_init),
15546         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
15547         (gst_pipeline_get_clock):
15548         get_clock -> provide_clock.
15549
15550 2005-09-28  Andy Wingo  <wingo@pobox.com>
15551
15552         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
15553         lieu of real docs...
15554
15555         * gst/elements/gstfdsrc.c: Cleaned up a bit.
15556
15557 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
15558
15559         * gst/elements/gstcapsfilter.c:
15560         * gst/elements/gstfakesink.c:
15561         * gst/elements/gstfakesrc.c:
15562         * gst/elements/gstfdsink.c:
15563         * gst/elements/gstfdsrc.c:
15564         * gst/elements/gstfilesink.c:
15565         * gst/elements/gstfilesrc.c:
15566         * gst/elements/gstidentity.c:
15567         * gst/elements/gsttee.c:
15568         * gst/elements/gsttypefindelement.c:
15569           Make element details static.
15570
15571 2005-09-28  Wim Taymans  <wim@fluendo.com>
15572
15573         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15574         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15575         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15576         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15577         (gst_bin_change_state), (gst_bin_dispose):
15578         Some documentation updates.
15579         Clean up dispose handlers.
15580
15581         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
15582         * gst/gstpad.c: (gst_pad_dispose):
15583         Clean up dispose handler.
15584
15585         * gst/gstpipeline.c: (gst_pipeline_change_state):
15586         Removed spurious UNLOCK.
15587
15588 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
15589
15590         * docs/gst/gstreamer-sections.txt:
15591         * gst/base/gstbasesrc.h:
15592         * gst/gstelement.h:
15593         * gst/gstevent.h:
15594         * gst/gstobject.h:
15595         * gst/gstpad.h:
15596         * gst/gstpipeline.c:
15597         * gst/gstpipeline.h:
15598         * gst/gstutils.h:
15599         * gst/gstxml.h:
15600           added two new functions to the docs
15601                 documents all undocumented GstXXXFlags
15602                 completed some incomplete docs 
15603
15604 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15605
15606         * gst/gstbin.c: (gst_bin_dispose):
15607         * gst/gstelement.c: (gst_element_dispose):
15608           remove now useless and leaky resurrection code in dispose
15609         * gst/base/gstbasesrc.c: (gst_base_src_init):
15610         * gst/gstelementfactory.c: (gst_element_factory_create):
15611         * gst/gstobject.c: (gst_object_set_parent):
15612           add some debugging
15613
15614 2005-09-27  Wim Taymans  <wim@fluendo.com>
15615
15616         * docs/design/part-TODO.txt:
15617         Update TODO.
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/gstelement.h:
15625         Remove element variable, we keep element info in the iterator now.
15626
15627 2005-09-27  Andy Wingo  <wingo@pobox.com>
15628
15629         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
15630         values.
15631
15632 2005-09-27  Wim Taymans  <wim@fluendo.com>
15633
15634         * check/gst/gstbin.c: (GST_START_TEST):
15635         Enable check that works now.
15636
15637         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15638         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15639         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15640         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15641         (gst_bin_change_state):
15642         * gst/gstbin.h:
15643         Redid the state change algorithm using a topological sort algo.
15644         Handles all cases correctly.
15645         Exposed iterator for state change order.
15646
15647         * gst/gstelement.h:
15648         Temp storage for state changes. Need to get rid of this soon.
15649
15650 2005-09-27  Wim Taymans  <wim@fluendo.com>
15651
15652         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
15653         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
15654         (link_fold_func), (gst_pad_proxy_setcaps):
15655         Leak fixes, the fold functions need to unref the passed object and
15656         _get_parent_*() returns ref to parent.
15657
15658 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15659
15660         * check/gst/gstbuffer.c: (test_make_writable):
15661           Plug leak in test case and fix 'make check-valgrind'
15662
15663 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15664
15665         * gst/gstbuffer.c: (gst_subbuffer_init):
15666           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
15667           works correctly in all circumstances (we could have just copied
15668           the parent buffer's readonly flag, but conceptually it seems
15669           cleaner to mark all subbuffers as read-only). (based on patch
15670           by Alessandro Decina, #314710).
15671         
15672         * check/gst/gstbuffer.c: (create_read_only_buffer),
15673         (test_make_writable), (test_subbuffer_make_writable),
15674         (gst_test_suite):
15675           Add some tests for gst_buffer_make_writable().
15676
15677 2005-09-27  Wim Taymans  <wim@fluendo.com>
15678
15679         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
15680         use gst_object_has_ancestor().
15681
15682         * gst/gstobject.c: (gst_object_has_ancestor):
15683         * gst/gstobject.h:
15684         gst_object_has_ancestor() copied from gstbin.c as it is a
15685         useful function.
15686
15687         * tests/instantiate/create.c: (create_all_elements):
15688         * tests/lat.c: (handoff_src), (handoff_sink):
15689         * tests/sched/runxml.c: (main):
15690         * tests/seeking/seeking1.c: (main):
15691         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15692         (main):
15693         Fix compilation of some tests.
15694
15695 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15696
15697         * gst/gsterror.h:
15698           Remove comment. GST_TYPE_G_ERROR is here to stay,
15699           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
15700           (#316961, #300610).
15701
15702 2005-09-26  Wim Taymans  <wim@fluendo.com>
15703
15704         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15705         Added check that shows error in state change order.
15706
15707 2005-09-26  Wim Taymans  <wim@fluendo.com>
15708
15709         * gst/gstbin.c: (gst_bin_change_state):
15710         Make state change function use 3 queues again, we were
15711         adding elements in the wrong order.
15712
15713         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
15714         Some debug info,
15715
15716         * gst/gstpad.c: (gst_pad_dispose):
15717         Added some debug info first.
15718
15719 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
15720
15721         * docs/design/draft-push-pull.txt:
15722         * docs/design/part-events.txt:
15723         * docs/design/part-overview.txt:
15724         * docs/design/part-scheduling.txt:
15725           Replace all _pull_region() with _pull_range()
15726           
15727 2005-09-26  Andy Wingo  <wingo@pobox.com>
15728
15729         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
15730
15731         * check/gst-libs/controller.c: Update for controller api change.
15732
15733         * configure.ac: 
15734         * tests/Makefile.am:
15735         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
15736         over by GLib bug 118439.
15737         
15738         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
15739         routines to a function.
15740
15741         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
15742
15743         * libs/gst/controller/gsthelper.c:
15744         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
15745         (gst_object_sync_values): Renamed from sink_values. Ugh.
15746
15747         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
15748
15749         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
15750         Renamed from controller_key, as it is exported.
15751
15752         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
15753
15754 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
15755
15756         * gst/Makefile.am:
15757         * gst/gst.h:
15758         * gst/gstpad.h:
15759         * gst/gstpadtemplate.h:
15760         * gst/gstquery.c:
15761         * gst/gstquery.h:
15762         * gst/gstqueryutils.c:
15763         * gst/gstqueryutils.h:
15764           remove queryutils headers after moving the two used functions
15765           to gstquery.  also fixes build problem for gstsiddec
15766
15767 2005-09-26  Michael Smith <msmith@fluendo.com>
15768
15769         * tools/gst-launch.1.in:
15770         Correct documentation in manpage of debug syntax
15771
15772 2005-09-26  Wim Taymans  <wim@fluendo.com>
15773
15774         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15775         (gst_base_src_is_seekable), (gst_base_src_change_state):
15776         Some more debugging info.
15777
15778 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15779
15780         * docs/gst/gstreamer-sections.txt:
15781         * gst/base/gstbasetransform.h:
15782         * gst/gstindex.h:
15783           added more docs
15784
15785 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15786
15787         * docs/gst/.cvsignore:
15788         * docs/gst/tmpl/.cvsignore:
15789         * docs/gst/tmpl/gstpipeline.sgml:
15790         * docs/gst/tmpl/gstplugin.sgml:
15791         * gst/gstpipeline.c:
15792         * gst/gstplugin.c:
15793         * gst/gstplugin.h:
15794           inlined the last two docs files
15795           removed the tmpl directory from cvs (no more conflicts here!)
15796
15797 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15798
15799         * docs/gst/gstreamer-sections.txt:
15800         * docs/gst/tmpl/.cvsignore:
15801         * docs/gst/tmpl/gstpad.sgml:
15802         * docs/gst/tmpl/gstpadtemplate.sgml:
15803         * gst/Makefile.am:
15804         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
15805         (gst_pad_finalize), (gst_pad_set_pad_template):
15806         * gst/gstpad.h:
15807         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
15808         (gst_pad_template_class_init), (gst_pad_template_init),
15809         (gst_pad_template_dispose), (name_is_valid),
15810         (gst_static_pad_template_get), (gst_pad_template_new),
15811         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
15812         (gst_pad_template_pad_created):
15813         * gst/gstpadtemplate.h:
15814           inlined two more docs
15815           factored gstpadtemplate out of gstpad
15816
15817 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
15818
15819         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15820         (test_children_state_change_order_semi_sink):
15821           Fix test case: we can't rely on a fixed state change order when
15822           going from READY => PAUSED because the sink might commit its 
15823           new state first when the first buffer created by the source 
15824           reaches the sink before the source has finished its change state.
15825           (Test case still fails at times, see #316856, comment 5 onwards)
15826
15827 2005-09-24  Wim Taymans  <wim@fluendo.com>
15828
15829         * docs/design/part-events.txt:
15830         * docs/design/part-gstbus.txt:
15831         * docs/design/part-gstpipeline.txt:
15832         * docs/design/part-messages.txt:
15833         * docs/design/part-overview.txt:
15834         * docs/design/part-segments.txt:
15835         * gst/gstbin.c:
15836         * gst/gstbuffer.c:
15837         * gst/gstclock.c:
15838         * gst/gstelement.c:
15839         * gst/gstevent.c:
15840         * gst/gstfilter.c:
15841         * gst/gstiterator.c:
15842         Various documentation updates.
15843
15844 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15845
15846         * gst/gstclock.h:
15847           Well, that's embarassing.  Luckily we weren't using
15848           GST_CLOCK_DIFF anywhere.
15849
15850 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15851
15852         * common/gtk-doc.mak:
15853           don't fail on building XML, FC4 slave shows a bunch of doc
15854           missing bits that I don't get
15855         * gst/gstpad.c:
15856         * gst/gstpipeline.c:
15857         * gst/gststructure.c:
15858           some doc updates
15859
15860 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15861
15862         * docs/design/part-gstbin.txt:
15863         * docs/design/part-gstbus.txt:
15864         * gst/gstbus.c:
15865           Add blurb about how the bus goes into flushing mode and
15866           drops all messages when its bin goes from READY into NULL 
15867           state.
15868
15869 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15870
15871         * docs/gst/gstreamer-sections.txt:
15872         * gst/gststructure.c: (gst_structure_get_clock_time):
15873         * gst/gststructure.h:
15874           add a method to get a GstClockTime out of a structure
15875
15876 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15877
15878         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15879         (test_children_state_change_order_semi_sink), (gst_bin_suite):
15880           Added test to check state change order in bins (can still be made
15881           to fail here under heavy disk load; bails out with 'Push on pad
15882           fakesink:sink0, but it was not activated in push mode').
15883
15884         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
15885           Fix state change order when there is only a semi sink (#316856)
15886
15887         * gst/gstbus.c: (gst_bus_class_init):
15888           Use _class_peek_parent(), not _class_ref(); fix docs to say
15889           'default main context' instead of 'mainloop' where that is
15890           what's meant.
15891
15892         * gst/gstelement.c: (gst_element_commit_state),
15893         (gst_element_set_state):
15894           Fix typos in debug messages
15895
15896 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15897
15898         * docs/README:
15899         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
15900         * gst/gstpluginfeature.c:
15901         * gst/gstutils.c:
15902           various doc updates
15903         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15904           change an assert into an error until it gets fixed properly
15905
15906 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
15907
15908         * docs/gst/gstreamer-sections.txt:
15909         * docs/gst/tmpl/.cvsignore:
15910         * docs/gst/tmpl/gstelement.sgml:
15911         * docs/gst/tmpl/gstinfo.sgml:
15912         * docs/gst/tmpl/gstobject.sgml:
15913         * gst/gstelement.c:
15914         * gst/gstelement.h:
15915         * gst/gstinfo.c:
15916         * gst/gstinfo.h:
15917         * gst/gstobject.c: (gst_object_class_init):
15918         * gst/gstobject.h:
15919           inlined 3 more biiiig doc files and added some missing docs on the fly
15920
15921 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15922
15923         * check/gst/.cvsignore:
15924         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
15925         * gst/gstregistryxml.c: (load_plugin),
15926         (gst_registry_xml_save_plugin):
15927           put back source in registry.  add checks for find_plugin.
15928         * testsuite/states/bin.c: (assert_state), (empty_bin),
15929         (test_adding_one_element), (main):
15930         * testsuite/states/locked.c: (main):
15931           some compile/run fixes
15932
15933 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15934
15935         * check/gst/gstvalue.c: (GST_START_TEST):
15936           fix leaks in the test itself
15937
15938 2005-09-22  Wim Taymans  <wim@fluendo.com>
15939
15940         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15941         (gst_base_sink_send_event), (gst_base_sink_peer_query),
15942         (gst_base_sink_query):
15943         Prepare for more accurate position reporting and query
15944         handling.
15945
15946         * gst/gstelement.c: (gst_element_send_event),
15947         (gst_element_set_state):
15948         Add some comment.
15949
15950 2005-09-22  Wim Taymans  <wim@fluendo.com>
15951
15952         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
15953         (gst_query_parse_segment):
15954         * gst/gstquery.h:
15955         More documentation.
15956         Add segment query for future use.
15957
15958 2005-09-22  Wim Taymans  <wim@fluendo.com>
15959
15960         * gst/gstbin.c: (gst_bin_add_func):
15961         Some more debug info.
15962
15963         * gst/gstelement.c: (gst_element_send_event):
15964         Simplify send_event
15965
15966         * gst/gstelement.h:
15967         Don't know how flags got broken.
15968
15969         * gst/gstquery.h:
15970         Added new query.
15971
15972 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15973
15974         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
15975           Add simplistic test suite for GST_TYPE_DATE serialisation and
15976           deserialisation.
15977
15978 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15979
15980         * docs/gst/gstreamer-sections.txt:
15981         * gst/gststructure.c: (gst_structure_set_valist),
15982         (gst_structure_get_date):
15983         * gst/gststructure.h:
15984         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
15985         (gst_date_copy), (gst_value_compare_date),
15986         (gst_value_serialize_date), (gst_value_deserialize_date),
15987         (gst_value_transform_date_string),
15988         (gst_value_transform_string_date), (_gst_value_initialize):
15989         * gst/gstvalue.h:
15990           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
15991           bunch of utility functions along with a hack that checks that
15992           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
15993           is required. Part of the grand scheme in #170777.
15994
15995 2005-09-22  Andy Wingo  <wingo@pobox.com>
15996
15997         * gst/gstconfig.h.in: Psych out gtk-doc.
15998
15999         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
16000
16001         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
16002
16003         * tools/gst-inspect.c (print_element_list): Plug some
16004         inconsequential leaks.
16005
16006         * gst/gstregistry.c (gst_registry_get_default): Doc.
16007
16008         * check/gst/gstplugin.c: 
16009         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
16010         * gst/gstelementfactory.c (gst_element_factory_create): 
16011         * gst/gstindexfactory.c (gst_index_factory_create): Update for
16012         refcount changes.
16013
16014         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
16015         (gst_plugin_feature_load): Doc, don't eat refs.
16016
16017         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
16018         (gst_plugin_list_free): Doc.
16019         (gst_plugin_load_file): Doc updates.
16020
16021         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
16022         accessors returning refcounted objects, return a ref.
16023
16024         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
16025         accessor for caps. IDEMPOTENCE. Oh yes.
16026
16027 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
16028
16029         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
16030
16031         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
16032         (_gst_debug_register_funcptr):
16033           Add mutex to serialise access to the hash table with
16034           the function pointer => function name string mapping;
16035           make that hash table static scope (#316809).
16036
16037         * gst/registries/.cvsignore:
16038           Remove left-over file.
16039
16040 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
16041
16042         * docs/pwg/appendix-porting.xml:
16043           And something about newsegment events and caps-on-buffers to
16044           the porting guide (feel free to improve).
16045
16046 2005-09-21  Andy Wingo  <wingo@pobox.com>
16047
16048         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
16049         data and event probes on the same pad.
16050         (test_buffer_probe_once): Test that removing probes from within
16051         the probe functions works.
16052
16053 2005-09-21  Andy Wingo  <wingo@pobox.com>
16054
16055         * check/gst/gstutils.c: New file.
16056         (test_buffer_probe_n_times): A simple buffer probe test. More to
16057         come, foolios.
16058
16059         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
16060         have-data::buffer, not have-data.
16061         (gst_pad_add_event_probe): Likewise for have-data::event.
16062         (gst_pad_add_data_probe): More docs. The part about 'resolving the
16063         peer' isn't quite right yet though.
16064         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
16065         (gst_pad_remove_data_probe): Change to take the guint handler_id
16066         as their arg, not the function+data, which is more glib-like.
16067
16068         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
16069         the signal emission to indicate if the data is a buffer or an
16070         event.
16071         (gst_pad_get_type): Initialize buffer and event quarks.
16072         (gst_pad_class_init): have-data is now a detailed signal, yes it
16073         is.
16074
16075 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
16076
16077         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
16078         * gst/gstutils.c: (gst_util_set_value_from_string),
16079         (gst_util_set_object_arg):
16080           Don't put functional code in g_return_if_fail() or
16081           g_return_val_if_fail() statements, otherwise things will 
16082           break when G_DISABLE_CHECKS is defined during compilation.
16083
16084 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16085
16086         * docs/gst/tmpl/.cvsignore:
16087         * docs/gst/tmpl/gstvalue.sgml:
16088         * gst/gstvalue.c:
16089         * gst/gstvalue.h:
16090           inlied another one and added  some obvious docs
16091
16092 2005-09-21  Wim Taymans  <wim@fluendo.com>
16093
16094         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
16095         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
16096         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
16097         (gst_fdsrc_get_property), (gst_fdsrc_create):
16098         * gst/elements/gstfdsrc.h:
16099         Properly implement fdsrc. Removed signal and timeout,
16100         better implemented somewhere else.
16101
16102 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16103
16104         * docs/gst/tmpl/.cvsignore:
16105         * docs/gst/tmpl/gstimplementsinterface.sgml:
16106         * gst/gstinterface.c:
16107           inlined more docs
16108
16109 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16110
16111         * docs/gst/gstreamer-sections.txt:
16112         * docs/gst/tmpl/.cvsignore:
16113         * docs/gst/tmpl/gstenumtypes.sgml:
16114           remove obsolete doc file
16115
16116 2005-09-21  David Schleef  <ds@schleef.org>
16117
16118         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
16119         little beer, fix a little leak.
16120
16121 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
16122
16123         * docs/gst/gstreamer-docs.sgml:
16124         * docs/gst/gstreamer-sections.txt:
16125         * docs/gst/tmpl/.cvsignore:
16126         * gst/Makefile.am:
16127         * gst/gst.h:
16128         * gst/gstbin.c:
16129         * gst/gstelement.h:
16130         * gst/gstindex.c: (gst_index_class_init):
16131         * gst/gstindex.h:
16132         * gst/gstindexfactory.c: (gst_index_factory_get_type),
16133         (gst_index_factory_class_init), (gst_index_factory_init),
16134         (gst_index_factory_finalize), (gst_index_factory_new),
16135         (gst_index_factory_destroy), (gst_index_factory_find),
16136         (gst_index_factory_create), (gst_index_factory_make):
16137         * gst/gstindexfactory.h:
16138         * gst/gstpluginfeature.c:
16139         * gst/gstpluginfeature.h:
16140         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
16141           more docs inlined, splitted gstindex.{c,h}
16142
16143 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16144
16145         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
16146           fix a leak
16147
16148 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
16149
16150         * gst/elements/gstfilesink.c: (gst_file_sink_init):
16151           Set sync to FALSE by default.
16152
16153 2005-09-20  Wim Taymans  <wim@fluendo.com>
16154
16155         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16156         (gst_base_sink_init):
16157         Make sync property settable from subclass.
16158
16159         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16160         (gst_fake_sink_change_state):
16161         Set sync to FALSE by default.
16162
16163 2005-09-20  Wim Taymans  <wim@fluendo.com>
16164
16165         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
16166         * tools/gst-launch.c: (main):
16167         The timeout handler should have lower priority than the source
16168         so we don't timeout before popping a message with 0 timeout.
16169         Dump error messages after failed state change.
16170
16171 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
16172
16173         * tools/gst-inspect.c: (print_element_properties_info):
16174           Fix two typos.
16175
16176 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16177
16178         * check/gst/gstevent.c:
16179         * gst/elements/gstfakesink.c:
16180         * gst/elements/gstfakesink.h:
16181           remove the sync property from fakesink.
16182           has the side effect of setting sync TRUE
16183           for fakesink, which is a change.  Anyone who knows how
16184           to fix this nicely in a GObject-y way, feel free.
16185
16186 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16187
16188         * docs/gst/gstreamer-docs.sgml:
16189           remove probe refsection
16190
16191 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16192
16193         * check/Makefile.am:
16194           disable valgrinding the controller test again
16195         * docs/gst/gstreamer-sections.txt:
16196           update for api-changes
16197
16198 2005-09-20  Wim Taymans  <wim@fluendo.com>
16199
16200         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16201         (gst_base_sink_set_property), (gst_base_sink_get_property),
16202         (gst_base_sink_do_sync):
16203         * gst/base/gstbasesink.h:
16204         Added sync property to basesink to disable clock sync.
16205
16206 2005-09-20  Andy Wingo  <wingo@pobox.com>
16207
16208         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
16209         eating the caller's refcount.
16210
16211         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
16212         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
16213         refcount.
16214
16215         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
16216         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
16217         of GLib 2.8 public, so we can know which refcount to check in
16218         tests.
16219
16220         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
16221         (gst_object_init): Only set the gst refcount if we're going ahead
16222         with the refcount hack.
16223
16224 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16225
16226         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
16227         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
16228           more leaks plumbed, added more debug-logging
16229         * gst/gstmacros.h:
16230           whitespace fix
16231
16232 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16233
16234         * gst/gstmessage.c:
16235           remove include of gstmemchunk.h
16236
16237 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16238
16239         * gst/gstclock.c: (_gst_clock_id_free):
16240           Commit from the Political Party For More Atomic CVS Commits,
16241           so that people don't waste too much of their day fishing
16242           out obvious leaks out of massive commits.
16243           Oh, and fix a pretty damn obvious leak in the memchunk
16244           removal code.
16245
16246 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16247
16248         * check/Makefile.am:
16249         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
16250           plug mem-leak, re-add to valgrindable tests
16251
16252 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16253
16254         * gst/gstplugin.h:
16255           unbreak the build for those who have chronic arthritis
16256           and typing "make check" is just too taxing on the hands
16257
16258 2005-09-20  Andy Wingo  <wingo@pobox.com>
16259
16260         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
16261         really want it out, you should fix plugins at the same time.
16262
16263 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
16264
16265         * configure.ac:
16266         * docs/gst/gstreamer-sections.txt:
16267         * gst/gstobject.c:
16268           added missing symbols to api docs
16269           disable ref-count hack if we have glib >= 2.8
16270
16271 2005-09-19  David Schleef  <ds@schleef.org>
16272
16273         * docs/gst/Makefile.am: Ignore a few more internal headers
16274         * docs/gst/gstreamer-docs.sgml: Remove old sections
16275         * docs/gst/gstreamer-sections.txt: Remove old sections
16276         * docs/gst/tmpl/gstobject.sgml: update
16277         * docs/gst/tmpl/gstplugin.sgml: update
16278         * docs/gst/tmpl/gstpluginfeature.sgml: update
16279         * docs/random/ds/0.9-suggested-changes: update.
16280         * gst/Makefile.am: remove memchunk and trashstack, since they're
16281           not used.
16282         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
16283         * gst/gst.h: don't include some headers
16284         * gst/gstchildproxy.c: add gstmarshal.h
16285         * gst/gstclock.c: Don't use memchunks
16286         * gst/gstminiobject.c: Add some docs
16287         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
16288         * gst/gstobject.h: same
16289         * gst/gstplugin.c: include gstmacros.h
16290         * gst/gstplugin.h: don't include gstmacros.h, since it's private
16291         * gst/gstquery.c: don't use memchunks
16292         * gst/gstregistry.c: rename gst_registry_deinit()
16293         * gst/gstregistry.h: same
16294
16295 2005-09-19  David Schleef  <ds@schleef.org>
16296
16297         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
16298         * docs/libs/gstreamer-libs-sections.txt:
16299         * docs/libs/tmpl/gstgetbits.sgml:
16300         * docs/libs/tmpl/gstputbits.sgml:
16301
16302 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
16303
16304         * win32/gstenumtypes.c:
16305         * win32/gstenumtypes.h:
16306           Update.
16307
16308 2005-09-19  Wim Taymans  <wim@fluendo.com>
16309
16310         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
16311         Automatically PAUSE and RESUME a pipeline when a flushing seek
16312         is performed.
16313
16314 2005-09-19  Andy Wingo  <wingo@pobox.com>
16315
16316         * gst/gstregistry.h: Spacing fixen.
16317
16318 2005-09-19  Wim Taymans  <wim@fluendo.com>
16319
16320         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
16321         Handle state change failure more correctly.
16322
16323 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16324
16325         * check/Makefile.am:
16326         * check/pipelines/cleanup.c: (run_pipeline):
16327         * check/pipelines/simple_launch_lines.c: (run_pipeline),
16328         (GST_START_TEST):
16329           enable cleanup again after fixing the leak
16330         * docs/README:
16331           some more info on docs
16332
16333 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16334
16335         * check/Makefile.am:
16336           re-enable tests now that leaks are plugged
16337         * check/gst/gst.c:
16338         * check/gst/gstbin.c:
16339         * check/gst/gstpipeline.c:
16340           add some more tests while fixing leaks
16341         * common/check.mak:
16342           make sure binaries are uptodate when valgrinding/gdbing
16343         * gst/gst.c:
16344         * gst/gstelementfactory.c:
16345           remove a ref too many, and add a FIXME for when we get
16346           round to disposing of classes
16347         * gst/gstplugin.c:
16348           fix the refcounting when loading a plugin from a file and
16349           the code pretends that the pointer is the same even though
16350           of course it can change
16351         * gst/gstpluginfeature.c:
16352           unref plugins marked cached (a bit confusing as a name)
16353           as the docs state should be done
16354           various doc additions to explain refcounting
16355         * gst/gstregistry.c:
16356         * gst/gstregistryxml.c:
16357           debugging
16358
16359 2005-09-19  Wim Taymans  <wim@fluendo.com>
16360
16361         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
16362         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
16363         (send_messages), (GST_START_TEST), (gstbus_suite):
16364         * check/gst/gstpipeline.c: (GST_START_TEST):
16365         * check/pipelines/cleanup.c: (run_pipeline):
16366         * check/pipelines/simple_launch_lines.c: (run_pipeline),
16367         (GST_START_TEST):
16368         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
16369         (gst_bus_source_check), (gst_bus_source_dispatch),
16370         (gst_bus_create_watch), (gst_bus_add_watch_full),
16371         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
16372         * gst/gstbus.h:
16373         * tools/gst-launch.c: (event_loop):
16374         * tools/gst-md5sum.c: (event_loop):
16375         GstBusHandler -> GstBusFunc, return value has the same meaning as
16376         any other GSource (FALSE == remove source).
16377         _add_watch() and _add_watch_full() now take a MessageType mask to
16378         only handle specific types of messages.
16379         _poll() returns the GstMessage instead of the message type to avoid
16380         race conditions.
16381         _have_pending() takes a MessageType mask now too.
16382         Added testsuite for multiple bus watches.
16383         Fix testsuites and applications for new bus API.
16384
16385 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16386
16387         * check/Makefile.am:
16388           mark a bunch of the tests as to fix until we fix them
16389
16390 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16391
16392         * common/check.mak:
16393           use GST_PLUGIN settings for valgrind tests as well, so we're
16394           valgrinding the correct thing
16395         * gst/gst.c: (init_post):
16396           plug another leak
16397
16398 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16399
16400         * gst/gst.c: (init_post), (gst_deinit):
16401         * gst/gstelementfactory.c: (gst_element_factory_class_init),
16402         (gst_element_factory_finalize), (gst_element_factory_cleanup):
16403         * gst/gstindex.c: (gst_index_factory_class_init),
16404         (gst_index_factory_finalize):
16405         * gst/gstobject.c: (gst_object_dispose):
16406         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16407         (gst_plugin_load_file), (gst_plugin_desc_free):
16408         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
16409         (gst_plugin_feature_finalize):
16410         * gst/gstregistry.c: (gst_registry_class_init),
16411         (gst_registry_init), (gst_registry_finalize),
16412         (gst_registry_get_default), (gst_registry_deinit):
16413         * gst/gstregistry.h:
16414         * gst/gstregistryxml.c: (load_feature), (load_plugin):
16415           various cleanups and memleak plugging.  make valgrind is happy now.
16416
16417 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16418
16419         * common/check.mak:
16420           add a check-valgrind target
16421
16422 2005-09-18  David Schleef  <ds@schleef.org>
16423
16424         * tools/gst-inspect.c: Revert the GOption code.
16425
16426 2005-09-17  David Schleef  <ds@schleef.org>
16427
16428         * check/Makefile.am: Fix environment variables.
16429         * check/gst/gstplugin.c: Fix for API changes.
16430         * tools/gst-inspect.c: Fix for API changes.
16431         * tools/gst-xmlinspect.c: Fix for API changes.
16432         * gst/gstelementfactory.c:
16433         * gst/gstplugin.c:
16434         * gst/gstplugin.h:
16435         * gst/gstpluginfeature.c:
16436         * gst/gstpluginfeature.h:
16437         * gst/gstregistry.c:
16438         * gst/gstregistry.h:
16439         * gst/gstregistryxml.c:
16440         * gst/gsttypefind.c:
16441         * gst/gsttypefindfactory.c:
16442         * gst/indexers/gstfileindex.c:
16443         * gst/indexers/gstmemindex.c:
16444         * gst/schedulers/Makefile.am:
16445           Change registry to keep track of both plugins and features,
16446           removing the feature tracking from plugins themselves.
16447
16448 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16449
16450         * check/Makefile.am:
16451         * tools/gst-register.1.in:
16452           remove gst-register
16453
16454 2005-09-15  David Schleef  <ds@schleef.org>
16455
16456         * check/gst/gstplugin.c:
16457         * gst/gstelementfactory.c:
16458         * gst/gstplugin.c:
16459         * gst/gstpluginfeature.c:
16460         * gst/gstregistry.c:
16461           Getting tired of debugging.  Disabled all the unreffing of
16462           plugins and features, which fixes the segfaults, but of
16463           course leaks like crazy.  At least playbin works.
16464
16465 2005-09-15  David Schleef  <ds@schleef.org>
16466
16467         * check/gst/gstplugin.c: (register_check_elements),
16468         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
16469         More testing
16470         * gst/elements/gsttypefindelement.c: Fix refcounting.
16471         * gst/gsttypefind.c:
16472         * gst/gsttypefindfactory.c:
16473         * gst/gsttypefindfactory.h:
16474
16475 2005-09-15  David Schleef  <ds@schleef.org>
16476
16477         * gst/gstindex.c: get refcounting correct.
16478         * gst/gstregistry.c: Handle the case where a feature/plugin is
16479           not found.
16480
16481 2005-09-15  David Schleef  <ds@schleef.org>
16482
16483         * check/Makefile.am:
16484         * check/gst/gstplugin.c: Add test
16485         * gst/gstplugin.c: Fix problems noticed by testsuite
16486         * gst/gstplugin.h:
16487         * gst/gstregistry.c: 
16488         * gst/gstregistry.h:
16489
16490 2005-09-15  David Schleef  <ds@schleef.org>
16491
16492         * gst/gstplugin.c: Implement semi-decent recounting and locking
16493           in plugins and plugin features.
16494         * gst/gstplugin.h:
16495         * gst/gstpluginfeature.c:
16496         * gst/gstpluginfeature.h:
16497         * gst/gstregistry.c:
16498
16499 2005-09-15  Michael Smith <msmith@fluendo.com>
16500
16501         * gst/gstregistry.c: (gst_registry_get_feature_list):
16502           Implement this. Makes oggdemux work; decodebin still broken.
16503
16504 2005-09-14  David Schleef  <ds@schleef.org>
16505
16506         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
16507           #316076)
16508         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
16509         * gst/check/Makefile.am:
16510         * libs/gst/controller/Makefile.am:
16511         * libs/gst/dataprotocol/Makefile.am:
16512
16513 2005-09-14  David Schleef  <ds@schleef.org>
16514
16515         * configure.ac: Remove getbits library.  Nothing uses it, and
16516           it should be in something like liboil if someone did want
16517           to use it.
16518         * libs/gst/Makefile.am:
16519         * libs/gst/getbits/Makefile.am:
16520         * libs/gst/getbits/gbtest.c:
16521         * libs/gst/getbits/getbits.c:
16522         * libs/gst/getbits/getbits.h:
16523         * libs/gst/getbits/gstgetbits_generic.c:
16524         * libs/gst/getbits/gstgetbits_i386.s:
16525         * libs/gst/getbits/gstgetbits_inl.h:
16526
16527 2005-09-14  David Schleef  <ds@schleef.org>
16528
16529         * gst/Makefile.am: Dist glib-compat.h
16530
16531 2005-09-14  David Schleef  <ds@schleef.org>
16532
16533         * configure.ac: Remove gst/registries, since it's no longer used.
16534         * gst/registries/Makefile.am:
16535         * gst/registries/gstlibxmlregistry.c:
16536         * gst/registries/gstlibxmlregistry.h:
16537         * gst/registries/gstxmlregistry.c:
16538         * gst/registries/gstxmlregistry.h:
16539         * gst/registries/registrytest.c:
16540
16541 2005-09-14  David Schleef  <ds@schleef.org>
16542
16543         * gst/glib-compat.h:
16544         * gst/gstregistryxml.c:
16545           Convergence is near.  Seriously.
16546
16547 2005-09-14  David Schleef  <ds@schleef.org>
16548
16549         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16550         * gst/glib-compat.h:
16551           Attempt #4 to appease the buildbots.
16552
16553 2005-09-14  David Schleef  <ds@schleef.org>
16554
16555         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16556           Attempt #3.
16557
16558 2005-09-14  David Schleef  <ds@schleef.org>
16559
16560         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16561         Attempt #2.
16562
16563 2005-09-14  David Schleef  <ds@schleef.org>
16564
16565         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
16566           the new functions.
16567
16568 2005-09-14  David Schleef  <ds@schleef.org>
16569
16570         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16571         * gst/glib-compat.h: Add some functions that are in newer versions
16572           of glib than we care to require.
16573         * gst/gstregistryxml.c: Use them.
16574
16575 2005-09-14  David Schleef  <ds@schleef.org>
16576
16577         * po/POTFILES.in: remove gst-register.c
16578
16579 2005-09-14  David Schleef  <ds@schleef.org>
16580
16581         * docs/gst/gstreamer-docs.sgml:
16582         * docs/gst/gstreamer-sections.txt:
16583         * docs/gst/gstreamer.types:
16584         * docs/gst/tmpl/gstelement.sgml:
16585         * docs/gst/tmpl/gstplugin.sgml:
16586         * docs/gst/tmpl/gstpluginfeature.sgml:
16587           Documentation updates for registry changes.
16588
16589 2005-09-14  David Schleef  <ds@schleef.org>
16590
16591         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
16592           because we don't require glib-2.8.
16593
16594 2005-09-14  David Schleef  <ds@schleef.org>
16595
16596         * gst/gstregistryxml.c: Added.  Essentially moved out of the
16597           registries directory.
16598
16599 2005-09-14  David Schleef  <ds@schleef.org>
16600
16601         * check/Makefile.am:
16602         * check/generic/states.c:
16603         * gst/Makefile.am:
16604         * gst/gst.c:
16605         * gst/gst.h:
16606         * gst/gst_private.h:
16607         * gst/gstelementfactory.c:
16608         * gst/gstindex.c:
16609         * gst/gstinfo.c:
16610         * gst/gstplugin.c:
16611         * gst/gstplugin.h:
16612         * gst/gstpluginfeature.c:
16613         * gst/gstpluginfeature.h:
16614         * gst/gstregistry.c:
16615         * gst/gstregistry.h:
16616         * gst/gstregistrypool.c: remove
16617         * gst/gstregistrypool.h: remove
16618         * gst/gsttypefind.c:
16619         * gst/gsttypefindfactory.c:
16620         * gst/gsturi.c:
16621         * tools/Makefile.am:
16622         * tools/gst-compprep.c:
16623         * tools/gst-inspect.c:
16624         * tools/gst-register.c: remove
16625         * tools/gst-xmlinspect.c:
16626           Registry rewrite.  Changes registry from being a file created
16627           by a tool into a simple cache file created automatically by 
16628           libgstreamer.  Removed gst-register (because it's no longer
16629           needed).  Remove registry pools, because we only have one
16630           registry implementation (XML).  Fix up other subsystems as
16631           necessary.
16632
16633 2005-09-13  Michael Smith <msmith@fluendo.com>
16634
16635         * gst/gstconfig.h.in:
16636           Don't Use windows linking attributes for MinGW. Fixes #316157
16637
16638 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16639
16640         * gst/gstutils.c: (set_state_async_thread_func),
16641         (gst_element_set_state_async):
16642           Apparently people think it's better if this function doesn't
16643           try to set the state to whatever state was asked for on the first
16644           call to this function for any object.  Seriously.
16645
16646 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16647
16648         * check/gst/gstpipeline.c: (GST_START_TEST):
16649         * docs/gst/gstreamer-sections.txt:
16650         * gst/gstutils.c: (set_state_async_thread_func),
16651         (gst_element_set_state_async):
16652         * gst/gstutils.h:
16653           add a "gst_element_set_state_async" method that
16654           sets the state and starts a thread to make sure the state
16655           change completes as best as it can
16656
16657 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16658
16659         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16660           codify design+behaviour in testsuite after discussion
16661
16662 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16663
16664         * docs/gst/tmpl/gstelement.sgml:
16665         * docs/manual/appendix-quotes.xml:
16666           add a quote
16667         * gst/gstelement.c: (gst_element_set_state):
16668           add some debug
16669
16670 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
16671
16672         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16673         (gst_base_transform_prepare_output_buf),
16674         (gst_base_transform_handle_buffer):
16675         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
16676         (gst_capsfilter_prepare_buf):
16677           Remove the requirement for sub-classes to call the parent
16678           implementation of prepare_output_buffer with a wrapper function.
16679           
16680         * gst/gsttaglist.h:
16681         * gst/gsttagsetter.h:
16682           Fix #define wrapper
16683
16684 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
16685
16686         * docs/gst/gstreamer-sections.txt:
16687           more doc cleanups
16688
16689 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16690
16691         * docs/gst/gstreamer-sections.txt:
16692         * docs/gst/tmpl/gstelement.sgml:
16693         * docs/gst/tmpl/gstplugin.sgml:
16694         * gst/gstminiobject.c:
16695         * gst/gstvalue.h:
16696           docs now stop throwing warnings
16697
16698 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16699
16700         * docs/gst/gstreamer-sections.txt:
16701         * docs/gst/gstreamer.types:
16702         * docs/gst/tmpl/gstpad.sgml:
16703         * docs/gst/tmpl/gsttypes.sgml:
16704         * gst/base/gstadapter.h:
16705         * gst/base/gstbasesink.h:
16706         * gst/base/gstbasesrc.h:
16707         * gst/gstbin.h:
16708         * gst/gstbuffer.h:
16709         * gst/gstbus.h:
16710         * gst/gstcaps.h:
16711         * gst/gstclock.h:
16712         * gst/gstelement.h:
16713         * gst/gstevent.h:
16714         * gst/gstmessage.h:
16715         * gst/gstpad.h:
16716         * gst/gststructure.c:
16717         * gst/registries/gstlibxmlregistry.h:
16718           various documentation fixes
16719
16720 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16721
16722         * docs/gst/gstreamer-sections.txt:
16723         * docs/gst/tmpl/gstvalue.sgml:
16724           rearrange gstvalue section
16725         * gst/gstutils.c: (gst_element_state_get_name):
16726           NONE -> VOID
16727         * gst/gstvalue.c: (_gst_value_initialize):
16728         * gst/gstvalue.h:
16729           doc updates
16730
16731 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
16732
16733         * check/gst-libs/controller.c:
16734           Header include fix.
16735         * gst/base/gstbasetransform.c:
16736         (gst_base_transform_default_prepare_buf),
16737         (gst_base_transform_handle_buffer):
16738         * gst/base/gstbasetransform.h:
16739           Some more basetransform changes and fixes to enable sub-classes
16740           that modify buffer metadata only.
16741         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16742         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
16743         (gst_capsfilter_prepare_buf):
16744           If the output pad has fixed allowed caps and input buffers 
16745           don't have any, set the fixed caps on outgoing buffers.
16746
16747 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
16748         * check/elements/identity.c: (GST_START_TEST):
16749           Make the error a little clearer when the test fails because
16750           identity made a copy of the buffer.
16751         * docs/gst/gstreamer-sections.txt:
16752           New symbols in gstbasetransform.h
16753         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16754         (gst_base_transform_init), (gst_base_transform_transform_size),
16755         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16756         (gst_base_transform_default_prepare_buf),
16757         (gst_base_transform_get_unit_size),
16758         (gst_base_transform_buffer_alloc),
16759         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16760         (gst_base_transform_change_state),
16761         (gst_base_transform_set_passthrough),
16762         (gst_base_transform_set_in_place),
16763         (gst_base_transform_is_in_place):
16764         * gst/base/gstbasetransform.h:
16765           Change BaseTransform to separate in_place operate from same_caps
16766           output. in_place implies that the element can perform the transform
16767           on incoming buffers in-place, even if the caps on the output are
16768           different.
16769           Sub-class elements can now implement special buffer allocation
16770           methods for outgoing buffers if they wish to.
16771           Big documentation addition.
16772         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
16773         * gst/elements/gstelements.c:
16774           Changes for basetransform modifications.
16775         * gst/elements/Makefile.am:
16776         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
16777           Compile fix. Extra debug output.
16778
16779 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16780
16781         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
16782         (gst_pad_suite):
16783           add tests for valid pad naming
16784         * gst/check/gstcheck.c: (gst_check_log_message_func),
16785         (gst_check_log_critical_func):
16786           add ASSERT_WARNING
16787           remove printing of code, it is fragile when the code contains
16788           % and the line number is enough info
16789         * gst/check/gstcheck.h:
16790         * gst/gstpad.c: (gst_pad_template_new):
16791           fix memleaks
16792
16793 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16794
16795         * configure.ac:
16796           say what CHECK flags we use
16797         * docs/libs/gstreamer-libs.types:
16798         * libs/gst/controller/Makefile.am:
16799         * libs/gst/controller/gst-controller.c:
16800         * libs/gst/controller/gst-controller.h:
16801         * libs/gst/controller/gst-helper.c:
16802         * libs/gst/controller/gst-interpolation.c:
16803         * libs/gst/controller/gstcontroller.c:
16804         * libs/gst/controller/gsthelper.c:
16805         * libs/gst/controller/gstinterpolation.c:
16806         * tools/gst-inspect.c: (print_plugin_info):
16807           we don't use dashes in header names
16808
16809 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16810
16811         * check/Makefile.am:
16812         * check/gst/.cvsignore:
16813         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
16814         (gst_pipeline_suite), (main):
16815           adding a test for pipelines and state changes
16816         * gst/gstutils.c: (get_state_func):
16817           add some debugging
16818         * gstreamer.spec.in:
16819           fix up spec file
16820
16821 2005-09-08  Michael Smith <msmith@fluendo.com>
16822
16823         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
16824         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
16825         (gst_file_src_is_seekable), (gst_file_src_get_size),
16826         (gst_file_src_start):
16827         * gst/elements/gstfilesrc.h:
16828           Various fixes for unseekable, unmmapable, and non-normal files, so
16829           that fallback to read() rather than mmap() works.
16830         * gst/gstevent.c: (gst_event_new_newsegment):
16831           Allow newsegment events with segment_start == segment_end, as will
16832           correctly happen if you use filesrc on a zero-size file, for
16833           example.
16834
16835 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16836
16837         * gst/gstplugin.c: (gst_plugin_load_file):
16838           Call g_module_close when we don't load the module
16839
16840         * gst/registries/gstlibxmlregistry.c:
16841         (gst_xml_registry_get_property):
16842           Port leak fix from 0.8
16843
16844 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16845
16846         * docs/gst/gstreamer-docs.sgml:
16847         * docs/gst/tmpl/.cvsignore:
16848         * docs/gst/tmpl/gsttrace.sgml:
16849         * docs/gst/tmpl/gsttrashstack.sgml:
16850         * gst/Makefile.am:
16851         * gst/gst.h:
16852         * gst/gstelement.h:
16853         * gst/gstevent.h:
16854         * gst/gstmessage.c:
16855         * gst/gstmessage.h:
16856         * gst/gsttag.c:
16857         * gst/gsttag.h:
16858         * gst/gsttaginterface.c:
16859         * gst/gsttaginterface.h:
16860         * gst/gsttaglist.c:
16861         * gst/gsttaglist.h:
16862         * gst/gsttagsetter.c:
16863         * gst/gsttagsetter.h:
16864         * gst/gsttrace.c:
16865         * gst/gsttrace.h:
16866         * gst/gsttrashstack.c:
16867           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
16868           inlined docs for gsttrace, gsttrashstack
16869
16870 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16871
16872         * gst/Makefile.am:
16873         * gst/elements/gstbufferstore.h:
16874         * gst/elements/gsttypefindelement.c:
16875         * gst/elements/gsttypefindelement.h:
16876         * gst/gst.h:
16877         * gst/gsttypefind.c:
16878         * gst/gsttypefind.h:
16879         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
16880         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
16881         (gst_type_find_factory_dispose),
16882         (gst_type_find_factory_unload_thyself),
16883         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
16884         (gst_type_find_factory_get_caps),
16885         (gst_type_find_factory_get_extensions),
16886         (gst_type_find_factory_call_function):
16887         * gst/gsttypefindfactory.h:
16888         * gst/registries/gstlibxmlregistry.c:
16889         * gst/registries/gstxmlregistry.c:
16890           splitted gsttypefind into gsttypefind, gsttypefindfactory
16891
16892 2005-09-07  Andy Wingo  <wingo@pobox.com>
16893
16894         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
16895         condition whereby the pad's task function is entered before the
16896         pad_mode variable was set.
16897
16898 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16899
16900         * gst/gstpad.c: (gst_pad_alloc_buffer):
16901           Catch misbehaving pad_alloc functions that don't
16902           set up caps and do it for them.
16903
16904 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16905
16906         * check/pipelines/simple_launch_lines.c: (run_pipeline):
16907           test for pipe!=NULL
16908         * docs/gst/tmpl/.cvsignore:
16909         * docs/gst/tmpl/gstmemchunk.sgml:
16910         * docs/gst/tmpl/gstparse.sgml:
16911         * docs/gst/tmpl/gsttaglist.sgml:
16912         * docs/gst/tmpl/gsttagsetter.sgml:
16913         * docs/gst/tmpl/gsttypefind.sgml:
16914         * docs/gst/tmpl/gsttypefindfactory.sgml:
16915         * gst/gstmemchunk.c:
16916         * gst/gstparse.c:
16917         * gst/gsttag.c:
16918         * gst/gsttaginterface.c:
16919         * gst/gsttypefind.c:
16920         * gst/gsttypefind.h:
16921           inlined more docs
16922
16923 === release 0.9.2 ===
16924
16925 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16926
16927         * NEWS:
16928         * RELEASE:
16929         * configure.ac:
16930           releasing 0.9.2, "South"
16931
16932 2005-09-05  Andy Wingo  <wingo@pobox.com>
16933
16934         * gst/registries/gstxmlregistry.h:
16935         * gst/registries/gstxmlregistry.c: Um... resurrect...
16936         
16937         * gst/registries/gstxmlregistry.h:
16938         * gst/registries/gstxmlregistry.c: and update to newer API.
16939         Incidentally they should be a bit faster now that they don't have
16940         to parse the caps.
16941         
16942 2005-09-05  Andy Wingo  <wingo@pobox.com>
16943
16944         * gst/registries/gstxmlregistry.h:
16945         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
16946         replaced by the libxml registry a while back
16947
16948 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16949
16950         * docs/gst/tmpl/gstplugin.sgml:
16951         * gst/elements/gstelements.c:
16952         * gst/gst.c:
16953         * gst/gstplugin.c: (gst_plugin_register_func),
16954         (gst_plugin_desc_copy), (gst_plugin_desc_free),
16955         (gst_plugin_get_source):
16956         * gst/gstplugin.h:
16957         * gst/registries/gstlibxmlregistry.c: (load_plugin),
16958         (gst_xml_registry_save_plugin):
16959         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
16960         (gst_xml_registry_save_plugin):
16961         * tools/gst-inspect.c: (print_plugin_info):
16962           add a "source" plugin description field, to represent the source
16963           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
16964           will set it to PACKAGE, which is automake's idea of the name of
16965           the source project.
16966
16967 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16968
16969         * Makefile.am:
16970         * autogen.sh:
16971         * configure.ac:
16972         * docs/Makefile.am:
16973         * docs/faq/Makefile.am:
16974         * docs/gst/tmpl/gstelement.sgml:
16975         * docs/gst/tmpl/gsttypes.sgml:
16976         * docs/htmlinstall.mak:
16977         * docs/manual/Makefile.am:
16978         * docs/pwg/Makefile.am:
16979           reorganize doc build a little
16980           split out docbook and gtk-doc stuff
16981           have two separate --enable's and enable them through autogen
16982           but disable by default in configure (to be similar to other
16983           projects)
16984         * gstreamer.spec.in:
16985           clean up docs install
16986         * po/af.po:
16987         * po/az.po:
16988         * po/ca.po:
16989         * po/cs.po:
16990         * po/de.po:
16991         * po/en_GB.po:
16992         * po/fr.po:
16993         * po/it.po:
16994         * po/nb.po:
16995         * po/nl.po:
16996         * po/ru.po:
16997         * po/sq.po:
16998         * po/sr.po:
16999         * po/sv.po:
17000         * po/tr.po:
17001         * po/uk.po:
17002         * po/vi.po:
17003           translation updates
17004
17005 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
17006
17007         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
17008           Add comment.
17009           
17010         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
17011         (gst_fake_sink_change_state):
17012           Make state change function thread-safe.
17013           
17014         * gst/gstpad.c: (gst_pad_alloc_buffer):
17015           Set offset on generic buffer allocated by fallback.
17016
17017 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
17018
17019         * docs/gst/gstreamer-sections.txt:
17020         * docs/gst/tmpl/gstelement.sgml:
17021         * gst/gstpad.c:
17022         * libs/gst/controller/gst-controller.c:
17023         (gst_controlled_property_set_interpolation_mode),
17024         (gst_controlled_property_new),
17025         (gst_controller_find_controlled_property):
17026          run the wingo-magic script against the docs
17027
17028 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
17029
17030         * docs/gst/gstreamer-docs.sgml:
17031         * docs/gst/gstreamer-sections.txt:
17032         * docs/gst/tmpl/.cvsignore:
17033         * docs/gst/tmpl/gstelementdetails.sgml:
17034         * docs/gst/tmpl/gstelementfactory.sgml:
17035         * gst/gst.c:
17036         * gst/gstbus.c:
17037         * gst/gstelementfactory.c:
17038         * gst/gstelementfactory.h:
17039           merged elementdetails docs into elementfactory docs
17040           inlined both
17041
17042 2005-09-02  Andy Wingo  <wingo@pobox.com>
17043
17044         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
17045         consider this enum an enum and not a flags.
17046
17047 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
17048
17049         * docs/gst/gstreamer-docs.sgml:
17050         * docs/gst/tmpl/.cvsignore:
17051         * docs/gst/tmpl/gstghostpad.sgml:
17052         * docs/gst/tmpl/gstiterator.sgml:
17053         * docs/gst/tmpl/gstmacros.sgml:
17054         * docs/gst/tmpl/gstrealpad.sgml:
17055         * docs/gst/tmpl/gstregistry.sgml:
17056         * docs/gst/tmpl/gstregistrypool.sgml:
17057         * docs/gst/tmpl/gststructure.sgml:
17058         * docs/gst/tmpl/gstsystemclock.sgml:
17059         * docs/gst/tmpl/gsttrace.sgml:
17060         * gst/gstghostpad.c:
17061         * gst/gstmacros.h:
17062         * gst/gstmemchunk.c:
17063         * gst/gstmemchunk.h:
17064         * gst/gstqueue.c:
17065         * gst/gstregistry.c:
17066         * gst/gstregistrypool.c:
17067         * gst/gststructure.c:
17068         * gst/gstsystemclock.c:
17069           more docs inlined
17070
17071 2005-09-02  Andy Wingo  <wingo@pobox.com>
17072
17073         * gst/gstelement.h (GstState): Renamed from GstElementState,
17074         changed to be a normal enum instead of flags.
17075         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
17076         munged to be GST_STATE_CHANGE_*.
17077         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
17078         work with the new state representation.
17079         (GstStateChange): New enumeration of possible state transitions.
17080         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
17081         (GstElementClass::change_state): Pass the GstStateChange along as
17082         an argument. Helps language bindings, so they don't have to use
17083         tricky lock-needing macros like GST_STATE_CHANGE ().
17084
17085         * scripts/update-states (file): New script. Run it on a file to
17086         update it for state naming and API changes. Updates files in
17087         place.
17088
17089         * All files updated for the new API.
17090
17091 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
17092
17093         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
17094         * gst/gstutils.c: (gst_util_set_value_from_string),
17095         (gst_util_set_object_arg):
17096           fix a bunch of unchecked return values
17097         * tools/gst-complete.c: (main):
17098         * gstreamer.spec.in:
17099           clean up a little
17100
17101 2005-09-01  Wim Taymans  <wim@fluendo.com>
17102
17103         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17104         (gst_base_sink_event), (gst_base_sink_do_sync),
17105         (gst_base_sink_handle_event):
17106         * gst/base/gstbasesink.h:
17107         Handle newsegments more correctly.
17108
17109         * gst/gstbus.c:
17110         Fix docs.
17111
17112         * gst/gstevent.c: (gst_event_new_newsegment):
17113         A newsegment cannot have a start_time of -1
17114
17115 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
17116
17117         * win32/gstenumtypes.c:
17118         * win32/gstenumtypes.h:
17119           Update
17120
17121 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
17122
17123         * libs/gst/controller/gst-controller.c:
17124         (gst_controlled_property_set_interpolation_mode),
17125         (gst_controlled_property_new):
17126          fixed boolean again
17127
17128 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
17129
17130         * docs/faq/gst-uninstalled:
17131           add -good
17132         * gst/gstevent.c:
17133         * gst/gstevent.h:
17134           remove wrong docs
17135         * gst/gstutils.c: (gst_element_link_filtered):
17136         * gst/gstutils.h:
17137           add gst_element_link_filtered
17138
17139 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
17140
17141         * docs/gst/gstreamer-docs.sgml:
17142         * docs/gst/gstreamer-sections.txt:
17143         * docs/gst/tmpl/.cvsignore:
17144         * docs/gst/tmpl/gsterror.sgml:
17145         * docs/gst/tmpl/gstfilter.sgml:
17146         * docs/gst/tmpl/gsturihandler.sgml:
17147         * docs/gst/tmpl/gsturitype.sgml:
17148         * docs/gst/tmpl/gstutils.sgml:
17149         * docs/gst/tmpl/gstxml.sgml:
17150         * gst/gsterror.c:
17151         * gst/gsterror.h:
17152         * gst/gstfilter.c:
17153         * gst/gsturi.c:
17154         * gst/gsturitype.c:
17155         * gst/gstutils.c:
17156         * gst/gstxml.c:
17157           inlined more docs, fixed double id-ref
17158
17159 2005-08-31  Wim Taymans  <wim@fluendo.com>
17160
17161         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
17162         (gst_base_transform_handle_buffer):
17163         Passthrough elements don't need the caps as they don't care.
17164
17165 2005-08-31  Wim Taymans  <wim@fluendo.com>
17166
17167         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
17168         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
17169         Don't leak refcounts on buffers.
17170
17171 2005-08-31  Wim Taymans  <wim@fluendo.com>
17172
17173         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
17174         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17175         (gst_base_transform_chain), (gst_base_transform_change_state):
17176         * gst/base/gstbasetransform.h:
17177         Handle the case where we are not negotiated more gracefully.
17178
17179 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
17180
17181         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
17182         (gst_file_src_map_region):
17183           Set READONLY flag on mmap'ed buffers, otherwise
17184           gst_buffer_make_writable() won't work properly (#314708).
17185
17186 2005-08-31  Wim Taymans  <wim@fluendo.com>
17187
17188         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
17189         passthrough elements can even do inplace on non writable
17190         buffers (as they don't touch them).
17191
17192 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
17193
17194         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
17195         (gst_test_mono_source_set_property),
17196         (gst_test_mono_source_class_init), (GST_START_TEST),
17197         (gst_controller_suite):
17198           more tests (hehe I have the most)
17199         * gst/gstbus.c:
17200           describe popping messages whenusing mulltiple sources
17201         * libs/gst/controller/gst-controller.c:
17202         (gst_controlled_property_set_interpolation_mode),
17203         (gst_controlled_property_new):
17204         * libs/gst/controller/gst-controller.h:
17205         * libs/gst/controller/gst-interpolation.c:
17206           implement boolean properties
17207
17208 2005-08-31  Wim Taymans  <wim@fluendo.com>
17209
17210         * gst/gstminiobject.c: (gst_mini_object_ref):
17211         Cannot assert that the refcount has to be positive
17212         since a disposed object can be resurrected.
17213
17214 2005-08-31  Wim Taymans  <wim@fluendo.com>
17215
17216         * gst/gstpad.c: (gst_pad_init):
17217         Revert change, need to first fix badly behaving 
17218         apps.
17219
17220 2005-08-30  Wim Taymans  <wim@fluendo.com>
17221
17222         * check/elements/fakesrc.c: (setup_fakesrc):
17223         * check/elements/identity.c: (setup_identity):
17224         Activate pads before using them.
17225
17226 2005-08-30  Wim Taymans  <wim@fluendo.com>
17227
17228         * gst/base/gstadapter.c: (gst_adapter_flush):
17229         Flushing out 0 bytes is ok for this function.
17230
17231         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17232         no newsegment gives a warning and sets the start/stop to 
17233         invalid.
17234
17235         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
17236         (gst_base_transform_set_passthrough):
17237         Some debug info.
17238
17239         * gst/gstminiobject.c: (gst_mini_object_ref):
17240         Check refcount here too.
17241
17242         * gst/gstpad.c: (gst_pad_init):
17243         Pads are initially flushing and refusing data.
17244
17245         * gst/gstutils.c: (gst_element_link_pads_filtered):
17246         When adding a capsfilter element make sure it has the
17247         same state as the parent bin.
17248
17249 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17250
17251         * docs/gst/tmpl/.cvsignore:
17252         * docs/gst/tmpl/gstformat.sgml:
17253         * docs/gst/tmpl/gstversion.sgml:
17254         * gst/gstbus.h:
17255         * gst/gstformat.c:
17256         * gst/gstformat.h:
17257         * gst/gstversion.h.in:
17258           more docs and two more inlined
17259
17260 2005-08-30  Wim Taymans  <wim@fluendo.com>
17261
17262         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
17263         Don't sync to clock.
17264
17265 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17266
17267         * docs/gst/gstreamer-sections.txt:
17268           ultral33t func10ns deserve to appear in the docs actually
17269         * docs/gst/tmpl/.cvsignore:
17270         * docs/gst/tmpl/gstcompat.sgml:
17271         * docs/gst/tmpl/gstconfig.sgml:
17272         * gst/check/gstcheck.c:
17273         * gst/gstcompat.h:
17274         * gst/gstconfig.h.in:
17275           inlined more docs
17276
17277 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17278
17279         * docs/gst/tmpl/.cvsignore:
17280         * docs/gst/tmpl/gstquery.sgml:
17281         * docs/gst/tmpl/gstutils.sgml:
17282         * gst/gstquery.c:
17283         * gst/gstquery.h:
17284           inlined and extended docs
17285
17286 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17287
17288         * check/gst-libs/controller.c: (GST_START_TEST),
17289         (gst_controller_suite):
17290           more tests
17291         * docs/gst/tmpl/gstutils.sgml:
17292         * docs/libs/gstreamer-libs-sections.txt:
17293         * docs/libs/tmpl/gstdataprotocol.sgml:
17294           include path fixes
17295         * examples/controller/audio-example.c: (main):
17296           controller example works now
17297         * gst/gstclock.h:
17298           doc fixes
17299         * tools/gst-inspect.c: (print_element_properties_info):
17300           show param spec flags
17301
17302 2005-08-29  Andy Wingo  <wingo@pobox.com>
17303
17304         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
17305
17306 2005-08-28  Andy Wingo  <wingo@pobox.com>
17307
17308         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
17309         as having two arguments instead of just one. Allows superclasses
17310         to access information on subclasses -- see the terrible for() loop
17311         in gtype.c:g_type_create_instance for the reason why. All callers
17312         changed.
17313
17314 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17315
17316         * docs/design/part-messages.txt:
17317           update info
17318         * docs/gst/tmpl/.cvsignore:
17319         * docs/gst/tmpl/gstcaps.sgml:
17320         * docs/gst/tmpl/gstclock.sgml:
17321         * gst/gstbus.c:
17322         * gst/gstcaps.c:
17323         * gst/gstcaps.h:
17324         * gst/gstclock.c:
17325         * gst/gstclock.h:
17326         * gst/gstmessage.c:
17327           added descriptions for bus and message
17328           inline caps and clock docs
17329
17330 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17331
17332         * gst/gstmessage.c:
17333         * gst/gstmessage.h:
17334           doc fixes
17335
17336 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17337
17338         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
17339           fix div-by-zero
17340
17341 2005-08-26  Andy Wingo  <wingo@pobox.com>
17342
17343         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
17344         element_set_state's return val.
17345         (test_2_elements): Add test that's been disabled for months.
17346
17347         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
17348         can-activate-pull properties.
17349
17350         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
17351         can-activate-pull properties. Implement is_seekable so fakesrc can
17352         operate in pull mode.
17353
17354         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
17355         properties.
17356         (gst_base_sink_activate, gst_base_sink_activate_pull)
17357         (gst_base_sink_activate_push): Make activation mode choosing work.
17358         Cleanups.
17359         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
17360         is right. Make pull mode work. Post an eos before pausing in pull
17361         mode.
17362         (gst_base_sink_change_state): Pay attention to the core's
17363         change_state() return val.
17364         
17365         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
17366         has-getrange properties. Cleanups.
17367         
17368         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
17369         has_getrange and replace with can_activate_pull and
17370         can_activate_push.
17371
17372         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
17373         locking comments. Remove has_loop, has_chain and replace with
17374         can_activate_pull and can_activate_push.
17375
17376 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
17377
17378         * configure.ac:
17379         * examples/Makefile.am:
17380         * examples/metadata/Makefile.am:
17381         * examples/metadata/read-metadata.c: (message_loop),
17382         (have_pad_handler), (make_pipeline), (print_tag), (main):
17383           Add metadata reading example that loops over a list of filenames,
17384           dumping any tags found.
17385
17386         * gst/gstbus.c: (gst_bus_dispose):
17387         * gst/gstelement.c: (gst_element_dispose):
17388           Release a few potentially-held references in dispose.
17389
17390 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17391
17392         * docs/gst/tmpl/gstminiobject.sgml:
17393           do *not* add tmpl/*.sgml files to CVS!
17394
17395 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17396
17397         * libs/gst/bytestream/.cvsignore:
17398         * libs/gst/bytestream/Makefile.am:
17399         * libs/gst/bytestream/adapter.c:
17400         * libs/gst/bytestream/adapter.h:
17401         * libs/gst/bytestream/bytestream.c:
17402         * libs/gst/bytestream/bytestream.h:
17403         * libs/gst/bytestream/filepad.c:
17404         * libs/gst/bytestream/filepad.h:
17405           removing obsolete files
17406
17407 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17408
17409         * docs/gst/gstreamer-docs.sgml:
17410         * docs/libs/gstreamer-libs-docs.sgml:
17411           disabed additional index entries again, as this makes docs-gen just
17412           slow and they aren't useful yet
17413         * docs/libs/gstreamer-libs-sections.txt:
17414           little -section.txt cleanup for libs
17415
17416 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
17417
17418         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17419         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
17420           fix up some debugging
17421         (gst_base_transform_get_unit_size),
17422         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
17423         (gst_base_transform_handle_buffer):
17424         * gst/base/gstbasetransform.h:
17425           handle and store timed NEWSEGMENT events so that subclasses that
17426           calculate time by counting samples have a segment_start time they
17427           need to add to their timestamps - see audioresample
17428
17429 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17430
17431         * gst/gstbin.h:
17432           removed ';' from the end of macro defs
17433         * docs/gst/gstreamer-docs.sgml:
17434         * docs/gst/gstreamer-sections.txt:
17435         * docs/gst/tmpl/.cvsignore:
17436         * gst/gstbus.h:
17437         * gst/gstelement.c: (gst_element_class_init),
17438         (gst_element_set_state), (activate_pads),
17439         (gst_element_save_thyself):
17440         * gst/gstevent.c: (gst_event_new_newsegment):
17441         * gst/gstevent.h:
17442         * gst/gstiterator.c:
17443         * gst/gstiterator.h:
17444         * gst/gstpad.c:
17445         * gst/gstprobe.h:
17446         * gst/gstutils.c: (gst_pad_query_convert):
17447         * gst/gstutils.h:
17448           fixed parameter name mismatches between source, header and docs
17449           added some more docs, resolved the last batch of unused elements in
17450           docs (now someone needs to doc them)
17451
17452 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17453
17454         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
17455         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
17456           don't walk through the plugins backwards.  Where is all this
17457           reversed logic coming from ?
17458
17459 2005-08-25  Wim Taymans  <wim@fluendo.com>
17460
17461         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17462         (gst_base_transform_transform_size),
17463         (gst_base_transform_configure_caps),
17464         (gst_base_transform_get_unit_size),
17465         (gst_base_transform_buffer_alloc),
17466         (gst_base_transform_change_state):
17467         * gst/base/gstbasetransform.h:
17468         Cache caps unit_size.
17469         Make sure we cannot negotiate up and downstream at the
17470         same time.
17471
17472 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17473
17474         * gst/gst.c: (init_pre), (init_post):
17475           register the installed plugin path after the env var
17476         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
17477         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
17478           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
17479           directories, so the tests can prefer uninstalled over installed
17480
17481 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17482
17483         * gst/base/gstbasetransform.h:
17484           comment
17485         * gst/gstpad.c:
17486           add to docs
17487
17488 2005-08-25  Wim Taymans  <wim@fluendo.com>
17489
17490         * gst/gstbin.c: (bin_bus_handler):
17491         Be a bit more conservative about the posted message.
17492         
17493         * gst/gstbus.c: (gst_bus_post):
17494         Some cleanups, warn wrong return values.
17495
17496 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
17497
17498         * check/gst/gstbin.c: (GST_START_TEST):
17499         * gst/gstbin.c: (bin_bus_handler):
17500         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17501         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17502         (gst_message_new_warning), (gst_message_new_tag),
17503         (gst_message_new_state_changed), (gst_message_new_segment_start),
17504         (gst_message_new_segment_done), (gst_message_new_custom):
17505         * gst/gstmessage.h:
17506         * tools/gst-launch.c: (event_loop):
17507         * tools/gst-md5sum.c: (event_loop):
17508           Revert unpopular change for GST_MESSAGE_SRC to GObject.
17509
17510 2005-08-25  Wim Taymans  <wim@fluendo.com>
17511
17512         * check/generic/states.c: (GST_START_TEST):
17513         Cleanup can be done at the end.
17514
17515         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
17516         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17517         (gst_task_get_state), (gst_task_start), (gst_task_pause):
17518         Oh boy.. Thanks for finding this, Thomas. 
17519
17520 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17521
17522         * docs/gst/gstreamer.types:
17523           added missing types
17524
17525 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17526
17527         * docs/gst/gstreamer-docs.sgml:
17528         * docs/gst/gstreamer-sections.txt:
17529         * docs/gst/tmpl/.cvsignore:
17530         * gst/gstbin.c:
17531         * gst/gstiterator.c:
17532         * gst/gstutils.c:
17533         * gst/registries/gstxmlregistry.h:
17534           added missing classes and symbols (123 more to go)
17535           removed removed symbols from section file
17536           fixed many doc-comments
17537
17538 2005-08-24  Wim Taymans  <wim@fluendo.com>
17539
17540         * check/generic/states.c: (GST_START_TEST):
17541         Make sure all tasks are stopped.
17542
17543         * check/gst/gstbin.c: (GST_START_TEST):
17544         Unref after usage for proper valgrinding.
17545
17546         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
17547         Really wait for the task to stop before destroying the
17548         mutex.
17549
17550         * gst/gstqueue.c: (gst_queue_sink_activate_push),
17551         (gst_queue_src_activate_push):
17552         Small cleanups. Don't stop the task when we did not start
17553         it.
17554
17555         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
17556         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17557         (gst_task_get_state), (gst_task_start), (gst_task_pause),
17558         (gst_task_join):
17559         * gst/gsttask.h:
17560         Protect the stream lock with the object lock.
17561         Disallow setting the stream lock when running.
17562         Add cleanup_all to wait for the threadpool to finish.
17563         Remove code to autoallocate a mutex if none was provided.
17564         Add _join() to wait for a task to stop.
17565         Protect the thread pool with a global lock.
17566
17567 2005-08-24  Wim Taymans  <wim@fluendo.com>
17568
17569         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17570         (gst_base_sink_get_times), (gst_base_sink_do_sync),
17571         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
17572         * gst/base/gstbasesink.h:
17573         Handle newsegment events correctly.
17574         Drop buffers out of the segment range.
17575
17576 2005-08-22  Andy Wingo  <wingo@pobox.com>
17577
17578         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
17579         macro, implements an interface and gstimplementsinterface for a
17580         new type.
17581
17582 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17583
17584         * check/Makefile.am:
17585         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
17586           add a test that does a bunch of state changes on elements
17587           needs some fixing for valgrind
17588         * check/states/sinks.c: (gst_object_suite):
17589           whitespace
17590         * gst/gstcaps.h:
17591           add prototype for gst_caps_is_equal_fixed
17592         * gst/gstplugin.c:
17593         * gst/gstregistrypool.c:
17594           doc fixes
17595
17596 2005-08-24  Andy Wingo  <wingo@pobox.com>
17597
17598         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
17599         convert a negative value. Doesn't make much sense. Mostly this is
17600         here to force callers to ensure -1 maps to -1.
17601
17602 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17603
17604         * docs/pwg/advanced-types.xml:
17605           Well done to Michael for catching my deliberate introduction
17606           of this spelling mistake. 
17607         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
17608         * gst/gstelement.h:
17609           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
17610           unlink pads before removing the element from the bin.
17611
17612 2005-08-24  Andy Wingo  <wingo@pobox.com>
17613
17614         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
17615         the same thing as GST_DEBUG=*:4.
17616         (parse_debug_level, parse_debug_category): New helper parsers.
17617
17618 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17619
17620         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17621         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
17622         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
17623         (gst_base_transform_buffer_alloc),
17624         (gst_base_transform_handle_buffer):
17625           use gboolean return values and pointers to size so we can use the
17626           full GST_BUFFER_SIZE range (guint) for buffer sizes
17627           use GstPadDirection for transform_caps
17628         * gst/base/gstbasetransform.h:
17629           rename get_size to get_unit_size since that's what it is
17630         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
17631           use GstPadDirection for transform_caps
17632         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17633         * gst/gstutils.h:
17634           cleanup and debugging
17635
17636 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17637
17638         * gst/gstelement.c: (gst_element_class_init),
17639         (gst_element_set_state), (activate_pads),
17640         (gst_element_save_thyself):
17641         * tools/gst-compprep.c: (main):
17642         * tools/gst-inspect.c: (print_element_properties_info):
17643         * tools/gst-xmlinspect.c: (print_element_properties):
17644           Fixed long standing mem-leak
17645
17646 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17647
17648         * check/gst/gstbin.c: (GST_START_TEST):
17649         * gst/gstbin.c: (bin_bus_handler):
17650         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17651         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17652         (gst_message_new_warning), (gst_message_new_tag),
17653         (gst_message_new_state_changed), (gst_message_new_segment_start),
17654         (gst_message_new_segment_done), (gst_message_new_custom):
17655         * gst/gstmessage.h:
17656         * tools/gst-launch.c: (event_loop):
17657         * tools/gst-md5sum.c: (event_loop):
17658           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
17659           that applications can sensibly post custom messages with references
17660           to their own objects.
17661
17662 2005-08-24  Andy Wingo  <wingo@pobox.com>
17663
17664         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
17665         already.
17666
17667 2005-08-24  Wim Taymans  <wim@fluendo.com>
17668
17669         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17670         (gst_base_transform_transform_caps),
17671         (gst_base_transform_transform_size),
17672         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17673         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
17674         (gst_base_transform_handle_buffer):
17675         * gst/base/gstbasetransform.h:
17676         Many fixes and new features added by Thomas. Can now also do
17677         transforms with variable sizes and a custom fixate_caps function.
17678
17679 2005-08-24  Wim Taymans  <wim@fluendo.com>
17680
17681         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17682         Some debugging.
17683
17684         * gst/gstclock.h:
17685         Cast to ClockTime before formatting to time.
17686
17687         * gst/gstutils.h:
17688         Cleanups.
17689
17690 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17691
17692         * check/gst-libs/controller.c: (GST_START_TEST),
17693         (gst_controller_suite):
17694         * docs/gst/tmpl/gstcaps.sgml:
17695         * docs/gst/tmpl/gstghostpad.sgml:
17696         * docs/gst/tmpl/gstquery.sgml:
17697         * docs/gst/tmpl/gstutils.sgml:
17698         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
17699         (gst_object_sink_values), (gst_object_get_value_arrays),
17700         (gst_object_get_value_array):
17701           gracefully handle helper method calls to objects that are not beeing
17702           controlled, added test case for that          
17703
17704 2005-08-23  Wim Taymans  <wim@fluendo.com>
17705
17706         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
17707         (gst_event_new_newsegment), (gst_event_parse_newsegment),
17708         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
17709         (gst_event_parse_qos), (gst_event_new_seek),
17710         (gst_event_parse_seek):
17711         * gst/gstevent.h:
17712         Some more debugging output and doc cleanups.
17713
17714         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17715         Fix possible deadlock.
17716
17717 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17718
17719         * docs/gst/gstreamer-docs.sgml:
17720         * docs/gst/gstreamer-sections.txt:
17721         * docs/gst/gstreamer.types:
17722         * docs/gst/tmpl/.cvsignore:
17723         * gst/gstbin.h:
17724         * gst/gstbus.c:
17725         * gst/gstelement.c:
17726         * gst/gstevent.h:
17727           added 100 symbols from gstreamer-unused.txt to the right sections
17728           fixed more broken comments
17729           added GstBus to docs
17730
17731 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17732
17733         * docs/gst/gstreamer-sections.txt:
17734         * docs/gst/tmpl/.cvsignore:
17735         * docs/gst/tmpl/gstbin.sgml:
17736         * docs/gst/tmpl/gstbuffer.sgml:
17737         * gst/base/gstbasesrc.c:
17738         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
17739         * gst/gstbuffer.c:
17740         * gst/gstbuffer.h:
17741         * tools/gst-launch.1.in:
17742           inlined more doc comments, added missing comments and fixed comments
17743           fixed typos
17744
17745 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17746
17747         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17748           some debugging
17749         * gst/gstcaps.h:
17750           whitespace fixes
17751         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
17752           more debugging
17753         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
17754         * gst/gststructure.h:
17755           add a fixate function for booleans; add a FIXME that these func
17756           names should probably be gst_structure_fixate_*
17757
17758 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17759
17760         * docs/gst/gstreamer-docs.sgml:
17761         * docs/gst/gstreamer-sections.txt:
17762         * gst/Makefile.am:
17763         * gst/gstbin.c: (gst_bin_get_type),
17764         (gst_bin_child_proxy_get_child_by_index),
17765         (gst_bin_child_proxy_get_children_count),
17766         (gst_bin_child_proxy_init):
17767         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17768         (gst_child_proxy_get_child_by_index),
17769         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
17770         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
17771         (gst_child_proxy_get), (gst_child_proxy_set_property),
17772         (gst_child_proxy_set_valist), (gst_child_proxy_set),
17773         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
17774         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
17775         * gst/gstchildproxy.h:
17776         * gst/parse/grammar.y:
17777         * tools/gst-inspect.c: (print_interfaces),
17778         (print_element_properties_info), (print_element_info):
17779           ported gstchildproxy over from 0.8
17780           ported gst-inspect fixes and enhancements over from 0.8
17781
17782 2005-08-22  Wim Taymans  <wim@fluendo.com>
17783
17784         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17785         (gst_base_transform_handle_buffer):
17786         Also call the transform function if we have ANY caps.
17787
17788         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
17789         Fix debug info.
17790
17791 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17792
17793         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
17794           Don't pretend to handle seek events if the source is not seekable
17795
17796 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17797
17798         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17799           Remove extra parameter to debug output
17800
17801         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17802         (gst_base_src_do_seek), (gst_base_src_activate_push):
17803           Fix seek event handling.
17804
17805         * gst/gstpipeline.c: (gst_pipeline_change_state):
17806         * gst/gstqueue.c: (gst_queue_handle_sink_event),
17807         (gst_queue_src_activate_push):
17808           Don't start the src pad task on FLUSH_STOP if the pad
17809           isn't linked.
17810           Debug changes.
17811
17812 2005-08-22  Wim Taymans  <wim@fluendo.com>
17813
17814         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
17815         Added check for gst_static_caps_get() refcounting.
17816
17817 2005-08-22  Wim Taymans  <wim@fluendo.com>
17818
17819         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
17820         Make _static_caps_get() refcounting sane.
17821         
17822         * gst/gstelement.c: (gst_element_set_state):
17823         Add g_return_val_if_fail() to protect against segfaults.
17824
17825 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
17826
17827         * docs/gst/tmpl/gstevent.sgml:
17828         * gst/gstevent.c:
17829         * gst/gstevent.h:
17830           inlined remaining docs, added missing doc comments
17831
17832 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17833
17834         * check/gst/gstbin.c: (GST_START_TEST):
17835           since we don't know when preroll is done, use refcount range
17836           check for the sink
17837         * gst/check/gstcheck.h:
17838           add macro for checking refcount range
17839
17840 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17841
17842         * check/Makefile.am:
17843           clean up environment for when registry gets built versus
17844           when actual tests are run; valgrind seems to not report
17845           leaks if GST_PLUGIN_PATH is set to some specific values
17846         * check/gst/gstbin.c: (GST_START_TEST):
17847           add more refcounting checks; maybe this exposes a
17848           preroll lock bug ?
17849         * common/check.mak:
17850         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17851         * gst/check/gstcheck.h:
17852         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
17853         (gst_bin_change_state):
17854         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
17855           add/fix debugging/whitespace
17856
17857 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17858
17859         * check/gst/gstevent.c: (event_probe), (test_event),
17860         (GST_START_TEST):
17861          Er, don't call gst_bin_watch_for_state_change you idiot.
17862
17863 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17864
17865         * check/Makefile.am:
17866           Use CHECK_CFLAGS and CHECK_LIBS
17867         * check/gst/gstevent.c: (event_probe), (test_event),
17868         (GST_START_TEST):
17869           Don't leak events.
17870         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17871         (gst_base_src_start), (gst_base_src_stop),
17872         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17873         (gst_base_src_change_state):
17874           Sprinkle gst_base_src_stop liberally around error paths to fix
17875           problems reusing a source after failed state changes.
17876         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17877         (helper_find_suggest), (gst_type_find_helper):
17878           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
17879         * gst/gstevent.h:
17880         * docs/gst/tmpl/gstevent.sgml:
17881           Migrate part of the docs from the SGML file. Wait for ensonic to
17882           tell me how I did it wrong ;)
17883         * tools/gst-typefind.c: (main):
17884           Extra robustness to state changes between files.
17885
17886 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17887
17888         * check/Makefile.am:
17889           don't valgrind the controller test - it's leaking - Stefan, HELP
17890         * gst/check/gstcheck.c: (gst_check_message_error),
17891         (gst_check_chain_func), (gst_check_setup_element),
17892         (gst_check_teardown_element), (gst_check_setup_src_pad),
17893         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
17894         (gst_check_teardown_sink_pad):
17895         * gst/check/gstcheck.h:
17896           add a bunch of methods to set up elements, and src and sink pads
17897         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
17898         * check/elements/identity.c: (setup_identity), (cleanup_identity),
17899         (GST_START_TEST):
17900           use them
17901         * gst/gstmessage.c:
17902         * gst/gsttag.h:
17903           whitespace/doc fixes
17904
17905 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17906
17907         * gst/gstelement.h:
17908           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
17909           be handled by the application and not always printed as well
17910
17911 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17912
17913         * check/Makefile.am:
17914           set GST_TOOLS_DIR
17915         * gst/check/gstcheck.c: (gst_check_message_error):
17916         * gst/check/gstcheck.h:
17917           add a fail_unless_equals_int
17918           add fail_unless for error messages
17919
17920 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17921
17922         * check/Makefile.am:
17923         * check/gst.supp:
17924         * common/Makefile.am:
17925         * common/check.mak:
17926         * common/gst.supp:
17927           factor out some of the common stuff so we can use it
17928
17929 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17930
17931         * check/Makefile.am:
17932         * check/gst/gstiterator.c: (GST_START_TEST):
17933         * check/gst/gstsystemclock.c: (GST_START_TEST),
17934         (gst_systemclock_suite):
17935         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
17936         * gst/gstclock.c:
17937           valgrind more tests
17938
17939 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17940
17941         * check/elements/.cvsignore:
17942         * check/elements/gstfakesrc.c:
17943           rename to name of element
17944         * check/elements/identity.c: (chain_func), (event_func),
17945         (setup_identity), (cleanup_identity), (GST_START_TEST),
17946         (identity_suite), (main):
17947           add a test for identity
17948         * check/Makefile.am:
17949         * pkgconfig/Makefile.am:
17950         * pkgconfig/gstreamer-check.pc.in:
17951         * pkgconfig/gstreamer-check-uninstalled.pc.in:
17952         * gst/check:
17953         * gst/Makefile.am:
17954         * configure.ac:
17955           move the check stuff to a library that gets installed
17956         * check/gst-libs/controller.c: (GST_START_TEST):
17957         * check/gst-libs/gdp.c:
17958         * check/gst/gst.c: (GST_START_TEST):
17959         * check/gst/gstbin.c:
17960         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17961         * check/gst/gstbus.c:
17962         * check/gst/gstcaps.c: (GST_START_TEST):
17963         * check/gst/gstelement.c:
17964         * check/gst/gstghostpad.c:
17965         * check/gst/gstiterator.c:
17966         * check/gst/gstmessage.c:
17967         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
17968         * check/gst/gstobject.c:
17969         * check/gst/gstpad.c: (GST_START_TEST):
17970         * check/gst/gststructure.c: (GST_START_TEST):
17971         * check/gst/gstsystemclock.c: (GST_START_TEST),
17972         (gst_systemclock_suite):
17973         * check/gst/gsttag.c: (gst_tag_suite):
17974         * check/gst/gstvalue.c:
17975         * check/pipelines/cleanup.c:
17976         * check/pipelines/simple_launch_lines.c:
17977         * check/states/sinks.c:
17978           change include statement
17979
17980         * docs/gst/gstreamer-sections.txt:
17981         * docs/gst/tmpl/gstpad.sgml:
17982           document more pad stuff
17983         * gst/gstminiobject.c: (gst_mini_object_ref),
17984         (gst_mini_object_unref):
17985           debug refcounting
17986
17987 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
17988
17989         * docs/gst/tmpl/gst.sgml:
17990         * gst/gst.c:
17991           eliminate another tmpl file, fix spelling in the long-description
17992
17993 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17994
17995         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17996         (test_event), (timediff), (gstevents_suite):
17997           Should fix build on 64-bit arch's
17998
17999 2005-08-18  Andy Wingo  <wingo@pobox.com>
18000
18001         Make sure that when a pipeline goes to PLAYING, that data has
18002         actually hit the sink.
18003
18004         * check/states/sinks.c (test_sink): A sink that doesn't get any
18005         data shouldn't return SUCCESS for going to either PLAYING or
18006         PAUSED. Test also the return values on the way back down.
18007
18008         * gst/gstelement.c (gst_element_set_state): When changing the
18009         state of an element currently changing state asynchronously, go to
18010         lost-state after commiting the pending state. Makes future calls
18011         to get_state continue to return ASYNC.
18012
18013         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
18014         ASYNC when going to PLAYING if we still don't have preroll, as can
18015         happen with live sources.
18016
18017 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18018
18019         * docs/pwg/advanced-types.xml:
18020           Hack long paragraph into 2 chunks as a workaround for buggy
18021           jadetex version in sid and breezy that loops infinitely and
18022           eats all RAM.
18023
18024 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18025
18026         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
18027         (test_event), (timediff), (gstevents_suite):
18028           Provide more error margin in clock measurements to allow for 
18029           g_get_current_time inaccuracies.
18030
18031 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18032
18033         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
18034         (test_event), (timediff), (gstevents_suite):
18035            Fix error message output so I might be able to tell why the
18036            test works here but fails on the build farm.
18037
18038 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
18039
18040         * check/Makefile.am:
18041         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
18042         (test_event), (timediff), (gstevents_suite), (main):
18043           I wrote a test!
18044
18045         * docs/design/part-seeking.txt:
18046           Spelling correction
18047
18048         * docs/gst/tmpl/gstevent.sgml:
18049         * docs/gst/tmpl/gstfakesrc.sgml:
18050           Docs updates.
18051
18052         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
18053           Treat a buffer-without-newsegment the same as a receiving 
18054           a newsegment not in time format, and disable syncing to the clock
18055           with a warning.
18056
18057         * gst/gstbus.c: (gst_bus_set_sync_handler):
18058           Assert if anyone tries to replace the existing sync_handler for bus, 
18059           as only the owner should be setting it.
18060
18061         * gst/gstevent.h:
18062           Have a fixed set of custom event enums with events identified by
18063           their structure name (as in 0.8), rather than a free-for-all
18064           allowing collisions between enum values from different plugins.
18065
18066         * gst/gstpad.c: (gst_pad_class_init):
18067           Docs change.
18068           
18069         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18070           Handle out-of-band downstream events from the sending thread.
18071
18072 2005-08-17  Andy Wingo  <wingo@pobox.com>
18073
18074         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
18075         play-timeout==0 to mean no timeout at all. In that case, don't
18076         bother with a get_state or a warning, just return directly, even
18077         if it's ASYNC.
18078
18079         * gst/base/gstbasetransform.c: Debug changes.
18080
18081         * gst/gstutils.h:
18082         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
18083         ensure bins post state change messages. A bit of a hack but I can't
18084         think of a way to avoid it.
18085
18086         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
18087
18088 2005-08-16  Andy Wingo  <wingo@pobox.com>
18089
18090         * gst/base/gstadapter.h:
18091         * gst/base/gstadapter.c (gst_adapter_take): New function, like
18092         peek() but you own the data. Not terribly efficient atm.
18093
18094 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18095
18096         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
18097         (gst_element_found_tags):
18098         * gst/gstutils.h:
18099           Add two utility functions for tag handling.
18100
18101 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18102
18103         * docs/manual/advanced-dataaccess.xml:
18104         * docs/manual/basics-helloworld.xml:
18105           Fix docs to use _bin_add() before _link(), which fixes the examples
18106           with recent core versions (reported by Madhan Raj M
18107           <raj_madan@rediffmail.com>, #313199).
18108
18109 2005-08-16  Wim Taymans  <wim@fluendo.com>
18110
18111         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
18112         Added subtract checks.
18113
18114         * docs/design/part-events.txt:
18115         Some more docs about newsegment
18116
18117         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
18118         Fix FIXME
18119
18120         * gst/gstcaps.c: (gst_caps_to_string):
18121         Add comments, cleanups.
18122         
18123         * gst/gstelement.c: (gst_element_save_thyself):
18124         cleanups
18125         
18126         * gst/gstvalue.c: (gst_value_collect_int_range),
18127         (gst_string_unwrap), (gst_value_union_int_int_range),
18128         (gst_value_union_int_range_int_range),
18129         (gst_value_intersect_int_int_range),
18130         (gst_value_intersect_int_range_int_range),
18131         (gst_value_intersect_double_double_range),
18132         (gst_value_intersect_double_range_double_range),
18133         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
18134         (gst_value_subtract_int_range_int),
18135         (gst_value_subtract_double_range_double),
18136         (gst_value_subtract_double_range_double_range),
18137         (gst_value_subtract_from_list), (gst_value_subtract_list),
18138         (gst_value_can_compare), (gst_value_compare_fraction):
18139         Cleanups, add comments, remove unneeded asserts.
18140
18141 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18142
18143         * tools/gst-launch.c: (event_loop):
18144           don't convert NULL structures to strings
18145
18146 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
18147
18148         * docs/gst/gstreamer-sections.txt:
18149           made some defines private
18150         * docs/gst/tmpl/gstconfig.sgml:
18151         * docs/gst/tmpl/gstqueue.sgml:
18152         * docs/gst/tmpl/gsttaglist.sgml:
18153         * docs/gst/tmpl/gsttypes.sgml:
18154         * docs/gst/tmpl/gstutils.sgml:
18155         * docs/pwg/appendix-porting.xml:
18156         * gst/base/gstbasesink.h:
18157         * gst/base/gstbasesrc.c:
18158         * gst/base/gstbasesrc.h:
18159         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
18160         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
18161         * gst/gstelement.c: (gst_element_class_init):
18162         * gst/gstpad.c: (gst_pad_class_init):
18163         * gst/gstqueue.c: (gst_queue_class_init):
18164         * gst/gstxml.c: (gst_xml_class_init):
18165           documented all undocumented signal inline
18166         * libs/gst/controller/gst-controller.h:
18167           added padding
18168
18169 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18170
18171         * docs/pwg/appendix-porting.xml:
18172           Document _set_link_function -> _set_setcaps_function.
18173
18174 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18175
18176         * check/Makefile.am:
18177           add a .check target for running the check
18178         * check/gst-libs/controller.c: (GST_START_TEST):
18179           cosmetic fixups
18180         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18181           complete checks for gstbuffer; would be nice if I could get the
18182           gcov stuff to work so I can see if I actually completed gstbuffer.c
18183         * check/gstcheck.h:
18184           add ASSERT_BUFFER_REFCOUNT
18185
18186 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
18187
18188         * docs/gst/gstreamer-sections.txt:
18189         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
18190         * gst/gsttag.h:
18191           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
18192           spew out a warning if a tag that is already registered
18193           is re-registered, unless it is re-registered with a 
18194           different type (#308438).
18195
18196 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
18197
18198         * docs/pwg/appendix-porting.xml:
18199         * docs/pwg/building-state.xml:
18200           Add some paragraphs about state changes in 0.9 to the PWG
18201           and the porting guide, in particular about the new meaning
18202           of GST_STATE_PAUSED and how to write state change functions
18203           with concurrent access by multiple threads in mind.
18204
18205 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
18206
18207         * docs/gst/gstreamer-docs.sgml:
18208         * docs/libs/gstreamer-libs-docs.sgml:
18209           added deprecation and since indexes
18210         * libs/gst/controller/gst-controller.c:
18211         * libs/gst/controller/gst-helper.c:
18212           added since tags
18213
18214
18215 2005-08-11  Wim Taymans  <wim@fluendo.com>
18216
18217         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
18218         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
18219         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
18220         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
18221         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
18222         (gst_ghost_pad_set_target):
18223         Actually implement (re)setting the target on a ghostpad
18224         as described in the docs.
18225
18226 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
18227
18228         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
18229           Check whether GST_DEBUG_NO_COLOR environment variable is
18230           set and disable coloured debug output if that is the case.
18231
18232 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
18233
18234         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18235         (gst_type_find_helper):
18236           The memory returned by gst_type_find_peek() needs to
18237           stay valid until the end of a typefind function, and
18238           typefind functions may keep results from different 
18239           offsets around, so we can't just unref the buffer from
18240           the previous _peek(), but have to save all buffers 
18241           returned by _peek() until typefinding is done and only
18242           free them then.
18243
18244 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
18245
18246         * docs/gst/gstreamer-sections.txt:
18247         * gst/gstutils.h:
18248           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
18249
18250 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18251
18252         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
18253           Fix a pretty good memleak.
18254
18255 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
18256
18257         * gst/gstiterator.h:
18258           Fix wrong include and 'make distcheck'.
18259
18260 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18261
18262         * gst/gstbin.c: (bin_bus_handler):
18263           Use gst_element_post_message() instead.
18264
18265 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
18266
18267         * gst/base/gstadapter.h:
18268         * gst/base/gstbasesink.h:
18269         * gst/base/gstbasesrc.h:
18270         * gst/base/gstbasetransform.h:
18271         * gst/base/gstcollectpads.h:
18272         * gst/base/gstpushsrc.h:
18273         * gst/gstiterator.h:
18274           Add padding to our base elements' class and instance structs and
18275           to GstIterator (you will need to rebuild all plugins and apps!)
18276
18277 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18278
18279         * gst/gstbin.c: (bin_bus_handler):
18280           Make default message forwarding from child->bus to bin->bus
18281           threadsafe and make it not emit warnings if the parent has no bus.
18282
18283 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18284
18285         * gst/gstelement.c: (activate_pads):
18286           On paused->ready, set pad->caps to NULL, as is the documented
18287           behaviour in this state change. Fixes playback of series of
18288           media files when visualization is enabled in Totem.
18289
18290 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18291
18292         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
18293           Allow NULL as filter-caps (which means "any").
18294
18295 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18296
18297         * docs/libs/gstreamer-libs-sections.txt:
18298         * libs/gst/controller/gst-controller.c:
18299         * libs/gst/controller/gst-controller.h:
18300         * libs/gst/controller/gst-helper.c:
18301           adding more entries to the docs and fix small doc-bugs
18302
18303 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18304
18305         * docs/gst/gstreamer-docs.sgml:
18306         * docs/gst/gstreamer-sections.txt:
18307         * docs/gst/gstreamer.types:
18308         * docs/gst/tmpl/gstbasesink.sgml:
18309         * docs/gst/tmpl/gstbasesrc.sgml:
18310         * docs/gst/tmpl/gstbasetransform.sgml:
18311         * docs/gst/tmpl/gstfakesrc.sgml:
18312         * gst/base/gstcollectpads.c:
18313         * gst/base/gstcollectpads.h:
18314         * libs/gst/controller/gst-controller.c:
18315         * libs/gst/controller/gst-controller.h:
18316         * libs/gst/controller/gst-helper.c:
18317         * libs/gst/controller/gst-interpolation.c:
18318         * libs/gst/controller/lib.c:
18319           added long/short desc for controller docs
18320           added collectpads base class docs
18321           added correct includes to base-class docs
18322
18323 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18324
18325         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
18326         (gst_test_mono_source_set_property),
18327         (gst_test_mono_source_class_init), (GST_START_TEST),
18328         (gst_controller_suite):
18329         * docs/gst/gstreamer-docs.sgml:
18330         * docs/gst/gstreamer-sections.txt:
18331         * docs/gst/gstreamer.types:
18332         * docs/libs/gstreamer-libs-docs.sgml:
18333         * docs/libs/gstreamer-libs-sections.txt:
18334         * gst/base/gstadapter.c:
18335         * libs/gst/controller/gst-controller.c:
18336         (gst_controlled_property_new), (gst_controlled_property_free),
18337         (gst_controller_new_valist),
18338         (gst_controller_remove_properties_valist),
18339         (gst_controller_sink_values), (_gst_controller_finalize):
18340         * libs/gst/controller/gst-controller.h:
18341         * libs/gst/controller/gst-helper.c:
18342         (gst_object_control_properties), (gst_object_uncontrol_properties),
18343         (gst_object_get_controller), (gst_object_set_controller),
18344         (gst_object_sink_values), (gst_object_get_value_arrays),
18345         (gst_object_get_value_array):
18346           more tests (and fixes) for the controller
18347           more docs for the controller
18348           integrated companies docs for the adapter 
18349
18350 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18351
18352         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
18353         (GST_START_TEST), (fakesrc_suite):
18354           add tests for sizetype
18355
18356 2005-08-04  Andy Wingo  <wingo@pobox.com>
18357
18358         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
18359         fixes buffer_alloc proxying among other things.
18360
18361         * gst/base/gstbasetransform.c:
18362         * gst/base/gstbasetransform.h:
18363         Revert patch to gstbasetransform from 7-28 removing
18364         delay_configure.
18365
18366         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
18367         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
18368         Semantics changed, should return not the size of the output buffer
18369         but the byte size of a buffer with a given caps.
18370
18371         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
18372         debug object.
18373         (gst_base_transform_configure_caps): Don't set out_size here: (in,
18374         out) are not the pad caps until setcaps finishes.
18375         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
18376         not-in-place case as well. Deal with changing from in-place to
18377         not-in-place within calling pad_alloc_buffer. Still a bit
18378         concerned about the overhead here...
18379
18380 2005-08-03  Andy Wingo  <wingo@pobox.com>
18381
18382         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
18383         fixating is an error.
18384
18385 2005-08-04  Edward Hervey  <edward@fluendo.com>
18386
18387         * gst/base/gstadapter.h: 
18388         Added gst_adapter_get_type() to the header
18389
18390 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18391
18392         * check/Makefile.am:
18393         * check/gst-libs/controller.c:
18394         * libs/gst/controller/gst-controller.c:
18395         (gst_controller_new_valist):
18396           added check test suite for the controller
18397         * gst/base/gstpushsrc.c:
18398           fixed a doc typo
18399
18400 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18401
18402         * docs/gst/Makefile.am:
18403         * docs/gst/gstreamer-docs.sgml:
18404         * docs/gst/gstreamer-sections.txt:
18405         * docs/gst/gstreamer.types:
18406         * docs/gst/tmpl/gstfakesrc.sgml:
18407         * gst/base/README:
18408         * gst/base/gstbasesink.c:
18409         * gst/base/gstbasesink.h:
18410         * gst/base/gstbasesrc.c:
18411         * gst/base/gstbasesrc.h:
18412         * gst/base/gstbasetransform.c:
18413         * gst/base/gstpushsrc.c:
18414         * gst/base/gstpushsrc.h:
18415           add short/long description docs to base classes
18416           add pushsrc to the docs
18417           remove consolidated doc fragments
18418
18419 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18420
18421         * configure.ac:
18422         * docs/libs/Makefile.am:
18423         * docs/libs/gstreamer-libs-docs.sgml:
18424         * docs/libs/gstreamer-libs-sections.txt:
18425         * docs/libs/gstreamer-libs.types:
18426         * examples/Makefile.am:
18427         * examples/controller/.cvsignore:
18428         * examples/controller/Makefile.am:
18429         * examples/controller/audio-example.c: (main):
18430         * libs/gst/Makefile.am:
18431         * libs/gst/controller/.cvsignore:
18432         * libs/gst/controller/Makefile.am:
18433         * libs/gst/controller/gst-controller.c:
18434         (on_object_controlled_property_changed), (gst_timed_value_compare),
18435         (gst_timed_value_find),
18436         (gst_controlled_property_set_interpolation_mode),
18437         (gst_controlled_property_new), (gst_controlled_property_free),
18438         (gst_controller_find_controlled_property),
18439         (gst_controller_new_valist), (gst_controller_new),
18440         (gst_controller_remove_properties_valist),
18441         (gst_controller_remove_properties), (gst_controller_set),
18442         (gst_controller_set_from_list), (gst_controller_unset),
18443         (gst_controller_get), (gst_controller_get_all),
18444         (gst_controller_sink_values), (gst_controller_get_value_arrays),
18445         (gst_controller_get_value_array),
18446         (gst_controller_set_interpolation_mode),
18447         (_gst_controller_finalize), (_gst_controller_init),
18448         (_gst_controller_class_init), (gst_controller_get_type):
18449         * libs/gst/controller/gst-controller.h:
18450         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
18451         (g_object_uncontrol_properties), (g_object_get_controller),
18452         (g_object_set_controller), (g_object_sink_values),
18453         (g_object_get_value_arrays), (g_object_get_value_array):
18454         * libs/gst/controller/gst-interpolation.c:
18455         (gst_controlled_property_find_timed_value_node),
18456         (interpolate_none_get), (interpolate_trigger_get),
18457         (interpolate_trigger_get_value_array):
18458         * libs/gst/controller/lib.c: (gst_controller_init):
18459         * pkgconfig/Makefile.am:
18460         * pkgconfig/gstreamer-control-uninstalled.pc.in:
18461         * pkgconfig/gstreamer-control.pc.in:
18462         * testsuite/Makefile.am:
18463         * testsuite/controller/.cvsignore:
18464         * testsuite/controller/Makefile.am:
18465         * testsuite/controller/interpolator.c: (main):
18466           added controller code
18467           removed dparam pc files
18468
18469 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
18470         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
18471         (gst_collectpads_stop):
18472           Broadcast the condition when shutting down, to make sure we wake all
18473           threads up. Shut down pads on finalize, for safety.
18474
18475 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
18476         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18477         (gst_base_transform_handle_buffer),
18478         (gst_base_transform_change_state):
18479           Handle PAUSED->READY->PAUSED transition after negotiation
18480           occurred already.
18481         * gst/gstmessage.c: (gst_message_init):
18482           Extra piece of debug for new messages.
18483
18484 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
18485
18486         * configure.ac:
18487         * docs/gst/tmpl/gstbasesrc.sgml:
18488         * docs/gst/tmpl/gstelement.sgml:
18489         * docs/gst/tmpl/gstevent.sgml:
18490         * docs/gst/tmpl/gstfakesrc.sgml:
18491         * docs/gst/tmpl/gstformat.sgml:
18492         * docs/gst/tmpl/gstghostpad.sgml:
18493         * docs/gst/tmpl/gstpad.sgml:
18494         * docs/gst/tmpl/gstquery.sgml:
18495         * docs/gst/tmpl/gststructure.sgml:
18496         * docs/gst/tmpl/gsttaglist.sgml:
18497         * docs/gst/tmpl/gstvalue.sgml:
18498         * docs/libs/gstreamer-libs-docs.sgml:
18499         * docs/libs/gstreamer-libs-sections.txt:
18500         * docs/libs/gstreamer-libs.types:
18501         * libs/gst/Makefile.am:
18502         * libs/gst/control/.cvsignore:
18503         * libs/gst/control/Makefile.am:
18504         * libs/gst/control/control.c:
18505         * libs/gst/control/control.h:
18506         * libs/gst/control/dparam.c:
18507         * libs/gst/control/dparam.h:
18508         * libs/gst/control/dparam_smooth.c:
18509         * libs/gst/control/dparam_smooth.h:
18510         * libs/gst/control/dparamcommon.h:
18511         * libs/gst/control/dparammanager.c:
18512         * libs/gst/control/dparammanager.h:
18513         * libs/gst/control/dplinearinterp.c:
18514         * libs/gst/control/dplinearinterp.h:
18515         * libs/gst/control/unitconvert.c:
18516         * libs/gst/control/unitconvert.h:
18517         * testsuite/Makefile.am:
18518         * testsuite/dynparams/.cvsignore:
18519         * testsuite/dynparams/Makefile.am:
18520         * testsuite/dynparams/dparamstest.c:
18521         * tools/Makefile.am:
18522         * tools/gst-inspect.c: (print_element_info), (main):
18523         * tools/gst-xmlinspect.c: (print_element_info), (main):
18524           deactivate and remove dparams (libgstcontrol)
18525
18526 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18527
18528         * gst/elements/gsttypefindelement.c:
18529         (gst_type_find_element_have_type), (gst_type_find_element_init),
18530         (stop_typefinding), (gst_type_find_element_handle_event),
18531         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18532         * gst/elements/gsttypefindelement.h:
18533           Set caps on all outgoing buffers, not just the first one.
18534
18535 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18536
18537         * gst/elements/gsttypefindelement.c:
18538         (gst_type_find_element_have_type),
18539         (gst_type_find_element_check_set_buffer_caps),
18540         (gst_type_find_element_init), (stop_typefinding),
18541         (gst_type_find_element_handle_event),
18542         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18543         * gst/elements/gsttypefindelement.h:
18544           Set caps on first outgoing buffer when we've found the type.
18545
18546 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18547
18548         * docs/gst/gstreamer-docs.sgml:
18549         * docs/gst/gstreamer-sections.txt:
18550         * docs/gst/tmpl/gstscheduler.sgml:
18551         * docs/gst/tmpl/gstschedulerfactory.sgml:
18552           Remove some old cruft from docs.
18553
18554 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
18555
18556         * gst/gstpad.h:
18557           Fix inline docs for GstPadLinkReturn.
18558           
18559         * gst/gststructure.c: (gst_structure_has_name):
18560         * gst/gststructure.h:
18561         * docs/gst/gstreamer-sections.txt:
18562           New API: gst_structure_has_name().
18563
18564 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
18565
18566         * configure.ac:
18567           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
18568           and _LARGEFILE_SOURCE in config.h as required. Do not 
18569           export those flags in our .pc files any longer (#142209).
18570
18571           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
18572
18573         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
18574         (gst_file_sink_do_seek), (gst_file_sink_event),
18575         (gst_file_sink_get_current_offset), (gst_file_sink_render):
18576           Redo seek/tell calls with large file support in mind; add some
18577           debugging messages; add log message that tells us when large
18578           file support is unavailable or not enabled for some reason.
18579
18580         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
18581           Add log message that tells us when large file support 
18582           is unavailable or not enabled for some reason.
18583
18584 2005-07-29  Wim Taymans  <wim@fluendo.com>
18585
18586         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18587         Added test for removing an element with ghostpad from a bin.
18588         Fixed test as current implementation does the right thing.
18589
18590         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
18591         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
18592         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
18593         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
18594         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
18595         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
18596         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
18597         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
18598         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
18599         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
18600         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
18601         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
18602         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
18603         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
18604         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
18605         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
18606         * gst/gstghostpad.h:
18607         Clean up ghostpads, remove properties for internal stuff.
18608         Make threadsafe.
18609         Fix refcounting.
18610         Prepare for switching targets, not all use cases work yet.
18611
18612 2005-07-29  Wim Taymans  <wim@fluendo.com>
18613
18614         * docs/design/part-gstghostpad.txt:
18615         Small update.
18616
18617         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18618         (gst_bin_remove_func):
18619         Unlinking pads while holding the bin LOCK is not a good
18620         idea.
18621
18622         * gst/gstpad.c: (gst_pad_class_init),
18623         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
18624         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
18625         No prob setting template after creating the pad.
18626
18627 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
18628
18629         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
18630         (gst_bus_peek), (gst_bus_source_dispatch),
18631         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
18632         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
18633           gst_bus_poll may be called from other threads. Handle
18634           this nicely by not making poll_data disappear off the
18635           stack once gst_bus_poll returns.
18636           gst_bus_peek now increments the refcount on the returned
18637           message.
18638
18639 2005-07-29  Wim Taymans  <wim@fluendo.com>
18640
18641         * docs/design/part-gstghostpad.txt:
18642         Overview of current GhostPad datastructures and use
18643         cases for changing the target.
18644
18645 2005-07-28  Wim Taymans  <wim@fluendo.com>
18646
18647         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18648         Added checks for hierarchy consistency whan adding linked
18649         elements to bins.
18650
18651         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18652         Added check to test element scheduling without bin/pipeline.
18653
18654         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18655         First add elements to bin, then link.
18656         
18657         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18658         (gst_bin_remove_func):
18659         Unlink pads from elements added/removed from bin to maintain
18660         hierarchy consistency.
18661
18662 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18663
18664         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18665         (gst_base_transform_handle_buffer):
18666         * gst/base/gstbasetransform.h:
18667           Remove broken delay_configure (fixes renegotiation of software
18668           scaling pipelines); remove some leftover printf()s.
18669
18670 2005-07-28  Wim Taymans  <wim@fluendo.com>
18671
18672         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18673         Added some more tests for wrong hierarchy
18674
18675         * docs/design/part-overview.txt:
18676         Some updates.
18677
18678         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
18679         Cleanups.
18680
18681         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
18682         (gst_element_dispose):
18683         Some more cleanups.
18684
18685         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18686         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
18687         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18688         (gst_pad_set_caps), (gst_pad_send_event):
18689         Check for correct hierarchy when linking pads. Moving to
18690         strict requirement for ghostpads when linking elements in
18691         different bins.
18692
18693         * gst/gstpad.h:
18694         Clean ups. Added WRONG_HIERARCHY return value.
18695
18696 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18697
18698         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18699           Better debug if no transform is possible.
18700
18701 2005-07-27  Wim Taymans  <wim@fluendo.com>
18702
18703         * docs/random/wtay/network-transp:
18704         Some old doc I had.
18705
18706 2005-07-27  Wim Taymans  <wim@fluendo.com>
18707
18708         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18709         (gst_dp_event_from_packet):
18710         Fix serialization of seek events.
18711
18712 2005-07-27  Wim Taymans  <wim@fluendo.com>
18713
18714         * check/gst-libs/gdp.c: (GST_START_TEST):
18715         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18716         Fix compilation and fix event serialization.
18717
18718 2005-07-27  Wim Taymans  <wim@fluendo.com>
18719
18720         * CHANGES-0.9:
18721         * docs/design/part-TODO.txt:
18722         * docs/design/part-events.txt:
18723         Some docs updates
18724
18725         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18726         (gst_base_sink_event), (gst_base_sink_do_sync),
18727         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18728         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18729         (gst_base_src_do_seek), (gst_base_src_event_handler),
18730         (gst_base_src_loop):
18731         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18732         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18733         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18734         (gst_base_transform_event), (gst_base_transform_handle_buffer),
18735         (gst_base_transform_set_passthrough),
18736         (gst_base_transform_is_passthrough):
18737         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18738         * gst/elements/gstfilesink.c: (gst_file_sink_event):
18739         Event updates.
18740
18741         * gst/gstbuffer.h:
18742         Use faster casts.
18743
18744         * gst/gstelement.c: (gst_element_seek):
18745         * gst/gstelement.h:
18746         Update gst_element_seek.
18747
18748         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
18749         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
18750         (gst_event_new_flush_start), (gst_event_new_flush_stop),
18751         (gst_event_new_eos), (gst_event_new_newsegment),
18752         (gst_event_parse_newsegment), (gst_event_new_tag),
18753         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
18754         (gst_event_parse_qos), (gst_event_new_seek),
18755         (gst_event_parse_seek), (gst_event_new_navigation):
18756         * gst/gstevent.h:
18757         Make GstEvent use GstStructure. Add parsing code, make sure the
18758         API is sufficiently generic.
18759         Mark possible directions of events and serialization.
18760
18761         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
18762         (_gst_message_copy), (gst_message_new_segment_start),
18763         (gst_message_new_segment_done), (gst_message_new_custom),
18764         (gst_message_parse_segment_start),
18765         (gst_message_parse_segment_done):
18766         Small cleanups.
18767
18768         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18769         (gst_pad_set_caps), (gst_pad_send_event):
18770         Update for new events. 
18771         Catch events sent in wrong directions.
18772
18773         * gst/gstqueue.c: (gst_queue_link_src),
18774         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18775         (gst_queue_handle_src_query):
18776         Event updates.
18777
18778         * gst/gsttag.c:
18779         * gst/gsttag.h:
18780         Remove event code from this file.
18781
18782         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18783         (gst_dp_event_from_packet):
18784         Event updates.
18785
18786 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18787
18788         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
18789         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18790         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
18791           Make debugging actually useful.
18792
18793 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18794
18795         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
18796         (gst_pad_fixate_caps):
18797           Implement default fixation once again, so that gst_pad_fixate()
18798           actually does anything at all. This probably needs to be some
18799           sort of a last resort, and use profile-based fixation first, but
18800           since that doesn't exist yet, this is the best we have. Fixes
18801           visualization in Totem.
18802
18803 2005-07-22  Wim Taymans  <wim@fluendo.com>
18804
18805         * docs/design/part-events.txt:
18806         Small update.
18807
18808         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18809         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
18810         (gst_base_sink_activate_pull):
18811         Some more comments.
18812
18813         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
18814         (gst_fake_src_create):
18815         Fix handoff marshall.
18816
18817         * gst/elements/gstidentity.c: (gst_identity_class_init),
18818         (gst_identity_transform_ip):
18819         We're a real inplace element.
18820
18821         * gst/gstbus.c: (gst_bus_post):
18822         Added some comments.
18823
18824         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
18825         * tests/muxing/case1.c: (main):
18826         * tests/sched/dynamic-pipeline.c: (main):
18827         * tests/sched/interrupt1.c: (main):
18828         * tests/sched/interrupt2.c: (main):
18829         * tests/sched/interrupt3.c: (main):
18830         * tests/sched/runxml.c: (main):
18831         * tests/sched/sched-stress.c: (main):
18832         * tests/seeking/seeking1.c: (event_received), (main):
18833         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18834         (main):
18835         * tests/threadstate/threadstate3.c: (main):
18836         * tests/threadstate/threadstate4.c: (main):
18837         * tests/threadstate/threadstate5.c: (main):
18838         Fix the tests.
18839
18840 2005-07-21  Wim Taymans  <wim@fluendo.com>
18841
18842         * docs/design/part-seeking.txt:
18843         Some small additions.
18844
18845         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18846         (gst_base_sink_get_times), (gst_base_sink_do_sync),
18847         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18848         * gst/base/gstbasesink.h:
18849         discont values are gint64, handle the math correctly.
18850
18851         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18852         Make the basesrc report error if the source pad is not linked.
18853
18854         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18855         (gst_queue_loop), (gst_queue_handle_src_query),
18856         (gst_queue_src_activate_push):
18857         Make queue collect data even if the srcpad is not linked.
18858         Start pushing out data as soon as it is linked.
18859
18860         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
18861         * gst/gstutils.h:
18862         Added gst_flow_get_name() to ease error reporting.
18863
18864 2005-07-20  Wim Taymans  <wim@fluendo.com>
18865
18866         * gst/gstmessage.c: (gst_message_new_segment_start),
18867         (gst_message_new_segment_done), (gst_message_parse_segment_start),
18868         (gst_message_parse_segment_done):
18869         * gst/gstmessage.h:
18870         Added a bunch of messages for advanced seeking.
18871
18872         * gst/parse/grammar.y:
18873         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
18874         (gst_dpman_state_changed):
18875         Fix some new-pad -> pad-added signals
18876
18877 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18878
18879         * docs/manual/appendix-porting.xml:
18880         * docs/pwg/appendix-porting.xml:
18881           Document new-pad/state-change signal renames and the FixedList
18882           type rename.
18883
18884 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18885
18886         * docs/manual/advanced-autoplugging.xml:
18887         * docs/manual/basics-helloworld.xml:
18888         * docs/manual/basics-pads.xml:
18889         * docs/random/ds/0.9-suggested-changes:
18890         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
18891         * gst/gstelement.h:
18892         * gst/gstevent.h:
18893         * gst/gstformat.h:
18894         * gst/gstquery.h:
18895         * gst/gststructure.c: (gst_structure_value_get_generic_type),
18896         (gst_structure_parse_array), (gst_structure_parse_value):
18897         * gst/gstvalue.c: (gst_type_is_fixed),
18898         (gst_value_list_prepend_value), (gst_value_list_append_value),
18899         (gst_value_list_get_size), (gst_value_list_get_value),
18900         (gst_value_transform_array_string), (gst_value_serialize_array),
18901         (gst_value_deserialize_array), (gst_value_intersect_array),
18902         (gst_value_is_fixed), (_gst_value_initialize):
18903         * gst/gstvalue.h:
18904           GstElement::new-pad -> pad-added, GstElement::state-change ->
18905           state-changed, GstValueFixedList -> GstValueArray, add format and
18906           flags as their own arguments in gst_element_seek() (should improve
18907           "bindeability"), remove function generators since they don't work
18908           under a whole bunch of compilers (they were deprecated already
18909           anyway).
18910
18911 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18912
18913         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18914         (_gst_debug_register_funcptr):
18915         * gst/gstinfo.h:
18916           Fix illegal cast on some platforms (#309253).
18917
18918 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18919
18920         * gst/gstmessage.c: (gst_message_new_custom):
18921         * gst/gstmessage.h:
18922           Add _new_custom, make _new_application a macro to _new_custom.
18923
18924 2005-07-20  Wim Taymans  <wim@fluendo.com>
18925
18926         * gst/base/gstbasesrc.c: (gst_base_src_init),
18927         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18928         * gst/base/gstbasesrc.h:
18929         Add a gboolean to decide when to push out a discont.
18930
18931         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18932         (gst_queue_loop), (gst_queue_handle_src_query),
18933         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
18934         (gst_queue_set_property), (gst_queue_get_property):
18935         Some cleanups.
18936
18937         * tests/threadstate/threadstate1.c: (main):
18938         Make a thread test compile and run... very silly..
18939
18940
18941 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18942
18943         * docs/manual/appendix-porting.xml:
18944           Mention removal of libgstgconf-0.9.la and existence of gconf
18945           elements.
18946
18947 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18948
18949         * docs/pwg/advanced-clock.xml:
18950         * docs/pwg/appendix-porting.xml:
18951         * docs/pwg/intro-preface.xml:
18952         * docs/pwg/other-base.xml:
18953         * docs/pwg/other-manager.xml:
18954         * docs/pwg/other-nton.xml:
18955         * docs/pwg/other-ntoone.xml:
18956         * docs/pwg/other-oneton.xml:
18957         * docs/pwg/pwg.xml:
18958           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
18959           demuxer), remove n-to-n (was never written), fix some code examples
18960           and links and update the porting section to include all this.
18961
18962 2005-07-19  Wim Taymans  <wim@fluendo.com>
18963
18964         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
18965         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
18966         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
18967         (gst_queue_src_activate_push), (gst_queue_change_state),
18968         (gst_queue_get_property):
18969         * gst/gstqueue.h:
18970         Propagate GstFlowReturn more intelligently upstream and output
18971         an ERROR/EOS when streaming stopped due to fatal error.
18972
18973 2005-07-19  Wim Taymans  <wim@fluendo.com>
18974
18975         * tools/gst-launch.c: (check_intr), (event_loop), (main):
18976         Don't block forever for the state change to complete, the
18977         pipeline already did with a sensible timeout.
18978
18979 2005-07-19  Wim Taymans  <wim@fluendo.com>
18980
18981         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18982         Make sure we never call the create function is we
18983         got deactivated.
18984
18985 2005-07-19  Andy Wingo  <wingo@pobox.com>
18986
18987         * gst/parse/parse.l: Attempt to solve bug #172815.
18988
18989 2005-07-19  Wim Taymans  <wim@fluendo.com>
18990
18991         * docs/design/part-clocks.txt:
18992         * docs/design/part-events.txt:
18993         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
18994         Small docs updates.
18995         Only update the seeking values when we are not
18996         busy streaming.
18997
18998 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18999
19000         * gst/base/gstbasesrc.c: (gst_base_src_loop):
19001           Oops, ignore the result of gst_pad_push_event here.
19002
19003 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
19004
19005         * gst/base/gstbasesrc.c: (gst_base_src_loop),
19006         (gst_base_src_activate_push):
19007           Send discont event from the loop function, as pads
19008           aren't activated yet in the activate_push handler.
19009
19010         * gst/gstbin.c: (bin_bus_handler):
19011           Don't leak element name.
19012
19013 2005-07-18  Andy Wingo  <wingo@pobox.com>
19014
19015         * configure.ac: Use AS_LIBTOOL_TAGS.
19016
19017 2005-07-18  Wim Taymans  <wim@fluendo.com>
19018
19019         * docs/gst/gstreamer.types:
19020         Remove deleted types.
19021
19022 2005-07-18  Wim Taymans  <wim@fluendo.com>
19023
19024         * check/elements/gstfakesrc.c: (GST_START_TEST):
19025         * configure.ac:
19026         * gst/Makefile.am:
19027         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
19028         (init_popt_callback):
19029         * gst/gst.h:
19030         * gst/gst_private.h:
19031         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
19032         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
19033         * gst/gstbin.h:
19034         * gst/gstbus.h:
19035         * gst/gstconfig.h.in:
19036         * gst/gstelement.c: (gst_element_class_init),
19037         (gst_element_set_base_time), (gst_element_get_base_time),
19038         (iterator_fold_with_resync), (gst_element_change_state),
19039         (gst_element_dispose), (gst_element_get_bus):
19040         * gst/gstelement.h:
19041         * gst/gstelementfactory.h:
19042         * gst/gsterror.c: (_gst_core_errors_init):
19043         * gst/gsterror.h:
19044         * gst/gstevent.h:
19045         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
19046         * gst/gstindex.c:
19047         * gst/gstinfo.c: (_gst_debug_init):
19048         * gst/gstmessage.c: (_gst_message_copy):
19049         * gst/gstmessage.h:
19050         * gst/gstminiobject.h:
19051         * gst/gstobject.c:
19052         * gst/gstobject.h:
19053         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19054         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
19055         * gst/gstpad.h:
19056         * gst/gstparse.h:
19057         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19058         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
19059         (gst_pipeline_get_last_stream_time):
19060         * gst/gstpipeline.h:
19061         * gst/gstpluginfeature.h:
19062         * gst/gstquery.h:
19063         * gst/gstscheduler.c:
19064         * gst/gstscheduler.h:
19065         * gst/gststructure.h:
19066         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
19067         (gst_task_finalize), (gst_task_func), (gst_task_create),
19068         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
19069         (gst_task_stop), (gst_task_pause):
19070         * gst/gsttask.h:
19071         * gst/gsttypefind.h:
19072         * gst/gsttypes.h:
19073         * gst/registries/gstlibxmlregistry.c: (load_feature),
19074         (gst_xml_registry_load), (gst_xml_registry_save_feature):
19075         * gst/registries/gstxmlregistry.c:
19076         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
19077         * gst/schedulers/threadscheduler.c:
19078         * libs/gst/control/dparammanager.h:
19079         * tools/gst-inspect.c: (print_element_list),
19080         (print_plugin_features), (print_element_features):
19081         * tools/gst-xmlinspect.c: (print_element_list),
19082         (print_plugin_info), (main):
19083         Removed plugable schedulers.
19084         Removed Scheduler/Manager from elements.
19085         Removed gsttypes.h, rearranged includes.
19086         Removed dependency pad<->element, element<>pipeline, and
19087         various others,  fix includes.
19088         implement gst_pad_get_parent() with gst_object_get_parent()
19089         Make GstTask sefcontained.
19090         Fix _get_state() on GstBin, it did not return ASYNC with a 0
19091         timeout.
19092         Fix endless loop in iterator_fold_with_resync.
19093
19094
19095 2005-07-18  Wim Taymans  <wim@fluendo.com>
19096
19097         * gst/Makefile.am:
19098         * gst/gstarch.h:
19099         Remove old file.
19100
19101 2005-07-18  Wim Taymans  <wim@fluendo.com>
19102
19103         * gst/Makefile.am:
19104         No more cothreads.h
19105
19106 2005-07-18  Wim Taymans  <wim@fluendo.com>
19107
19108         * gst/cothreads.c:
19109         * gst/cothreads.h:
19110         Let's remove these.
19111
19112 2005-07-18  Wim Taymans  <wim@fluendo.com>
19113
19114         * docs/design/part-dynamic.txt:
19115         * docs/design/part-events.txt:
19116         * docs/design/part-seeking.txt:
19117         Some more docs in the works.
19118
19119         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
19120         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
19121         (gst_base_transform_setcaps), (gst_base_transform_get_size),
19122         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
19123         (gst_base_transform_handle_buffer),
19124         (gst_base_transform_sink_activate_push),
19125         (gst_base_transform_src_activate_pull),
19126         (gst_base_transform_set_passthrough),
19127         (gst_base_transform_is_passthrough):
19128         Refcounting fixes.
19129
19130         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
19131         Cleanups.
19132
19133         * gst/gstevent.c: (gst_event_finalize):
19134         Set SRC to NULL.
19135
19136         * gst/gstutils.c: (gst_element_unlink),
19137         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
19138         (gst_pad_proxy_setcaps):
19139         * gst/gstutils.h:
19140         Add _get_parent_element() to get a pads parent as an element.
19141
19142 2005-07-18  Wim Taymans  <wim@fluendo.com>
19143
19144         * check/gst/gstbin.c: (GST_START_TEST):
19145         Remove bogus test.
19146
19147 2005-07-18  Wim Taymans  <wim@fluendo.com>
19148
19149         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19150         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19151         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19152         (gst_base_sink_event), (gst_base_sink_do_sync),
19153         (gst_base_sink_chain), (gst_base_sink_loop),
19154         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
19155         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
19156         Refcounting fixes.
19157         Fix logic for returning ASYNC when not prerolled.
19158
19159 2005-07-18  Wim Taymans  <wim@fluendo.com>
19160
19161         * gst/gstqueue.c: (gst_queue_handle_sink_event):
19162         Fix nasty refcount bug.
19163
19164 2005-07-16 Philippe Khalaf <burger@speedy.org>
19165
19166         * gst/elements/gstfdsrc.c:
19167         * gst/elements/gstfdsrc.h:
19168         * gst/elements/gstelements.c:
19169         * gst/elements/Makefile.am:
19170         Ported fdsrc to 0.9.
19171
19172 2005-07-16  Wim Taymans  <wim@fluendo.com>
19173
19174         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19175         (gst_base_sink_do_sync):
19176         Fix compile error.
19177
19178 2005-07-16  Wim Taymans  <wim@fluendo.com>
19179
19180         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19181         (gst_base_sink_event), (gst_base_sink_get_times),
19182         (gst_base_sink_do_sync), (gst_base_sink_change_state):
19183         * gst/base/gstbasesink.h:
19184         Store and use discont values when syncing buffers as described
19185         in design docs.
19186         
19187         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
19188         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
19189         (gst_base_src_activate_push):
19190         Push discont event when starting.
19191
19192         * gst/elements/gstidentity.c: (gst_identity_transform):
19193         Small cleanups.
19194
19195         * gst/gstbin.c: (gst_bin_change_state):
19196         Small cleanups in base_time  distribution.
19197
19198         * gst/gstelement.c: (gst_element_set_base_time),
19199         (gst_element_get_base_time), (gst_element_change_state):
19200         * gst/gstelement.h:
19201         Added methods for the base_time of the element.
19202         Some MT fixes.
19203
19204         * gst/gstpipeline.c: (gst_pipeline_send_event),
19205         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
19206         (gst_pipeline_get_last_stream_time):
19207         * gst/gstpipeline.h:
19208         MT fixes.
19209         Handle seeking as described in design doc, remove stream_time
19210         hack.
19211         Cleanups clock and stream_time selection code. Added accessors
19212         for the stream_time.
19213         
19214
19215 2005-07-16  Andy Wingo  <wingo@pobox.com>
19216
19217         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
19218         (#305291).
19219
19220 2005-07-16  Wim Taymans  <wim@fluendo.com>
19221
19222         * check/gst/gstbin.c: (GST_START_TEST):
19223         Make elements silent as the deep_notify refs the
19224         parent, which might make the test fail.
19225
19226         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
19227         Don't hold the lock for too long.
19228
19229 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
19230
19231         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
19232           Don't unref the caps we passed to gst_caps_make_writable() after
19233           passing them. gst_caps_make_writable() will do that for us.
19234
19235 2005-07-15  Andy Wingo  <wingo@pobox.com>
19236
19237         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
19238         (#157311).
19239
19240         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
19241         own marshalling function for the handoff signal. Properly type the
19242         buffer as a buffer. Fixes some warnings. Should do a more general
19243         solution.
19244         (gst_identity_class_init): Plug into the right marshaller.
19245
19246 2005-07-15  Wim Taymans  <wim@fluendo.com>
19247
19248         * docs/design/part-TODO.txt:
19249         * docs/design/part-clocks.txt:
19250         * docs/design/part-element-sink.txt:
19251         * docs/design/part-events.txt:
19252         * docs/design/part-gstpipeline.txt:
19253         Updated docs, mostly DISCONT related.
19254
19255 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
19256
19257         * docs/pwg/building-pads.xml:
19258           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
19259
19260 2005-07-15  Andy Wingo  <wingo@pobox.com>
19261
19262         * tools/gst-typefind.c: Update, add copyright block.
19263
19264         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
19265         Normalize and truncate caps before fixation.
19266
19267         * gst/gstcaps.h:
19268         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
19269         discards all but the first structure from its argument.
19270
19271 2005-07-15  Wim Taymans  <wim@fluendo.com>
19272
19273         * gst/base/gstbasetransform.c: (gst_base_transform_init),
19274         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
19275         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19276         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
19277         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
19278         (gst_base_transform_chain), (gst_base_transform_change_state),
19279         (gst_base_transform_set_passthrough),
19280         (gst_base_transform_is_passthrough):
19281         * gst/base/gstbasetransform.h:
19282         Make passthrough work using the bufferpools.
19283         Changed API a bit, subclasses have to write into a buffer
19284         provided by the base class.
19285         More debug info in nego functions.
19286         
19287         * gst/elements/gstidentity.c: (gst_identity_init),
19288         (gst_identity_transform):
19289         Port to new base class.
19290
19291 2005-07-15  Wim Taymans  <wim@fluendo.com>
19292
19293         * gst/gstmessage.c: (gst_message_new_state_changed):
19294         * tools/gst-launch.c: (event_loop), (main):
19295         Totally dump messages in -launch with the -m option.
19296         Fix message name for State messages,
19297
19298 2005-07-14  Wim Taymans  <wim@fluendo.com>
19299
19300         * gst/base/gstbasesrc.c: (gst_base_src_loop):
19301         Post error messages on errors.
19302
19303 2005-07-14  Wim Taymans  <wim@fluendo.com>
19304
19305         * gst/gstcaps.c: (gst_caps_do_simplify):
19306         Remove debug info.
19307
19308         * gst/gsterror.h:
19309         Define error for stream stopped.
19310
19311         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19312         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
19313         Do proper return values.
19314
19315         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19316         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
19317         (gst_pad_get_range):
19318         Better return values.
19319
19320         * gst/gstpad.h:
19321         Reorganise return values, add macro to check for fatal errors.
19322
19323         * gst/gstqueue.c: (gst_queue_chain):
19324         Return proper GstFlowReturn values,
19325
19326 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
19327
19328         * docs/gst/gstreamer-sections.txt:
19329         * docs/gst/gstreamer.types:
19330         * docs/gst/tmpl/gst.sgml:
19331         * docs/gst/tmpl/gstbasesink.sgml:
19332         * docs/gst/tmpl/gstbasesrc.sgml:
19333         * docs/gst/tmpl/gstbasetransform.sgml:
19334         * docs/gst/tmpl/gstbin.sgml:
19335         * docs/gst/tmpl/gstbuffer.sgml:
19336         * docs/gst/tmpl/gstcaps.sgml:
19337         * docs/gst/tmpl/gstclock.sgml:
19338         * docs/gst/tmpl/gstcompat.sgml:
19339         * docs/gst/tmpl/gstconfig.sgml:
19340         * docs/gst/tmpl/gstelement.sgml:
19341         * docs/gst/tmpl/gstelementdetails.sgml:
19342         * docs/gst/tmpl/gstelementfactory.sgml:
19343         * docs/gst/tmpl/gstenumtypes.sgml:
19344         * docs/gst/tmpl/gsterror.sgml:
19345         * docs/gst/tmpl/gstevent.sgml:
19346         * docs/gst/tmpl/gstfakesink.sgml:
19347         * docs/gst/tmpl/gstfakesrc.sgml:
19348         * docs/gst/tmpl/gstfilesink.sgml:
19349         * docs/gst/tmpl/gstfilesrc.sgml:
19350         * docs/gst/tmpl/gstfilter.sgml:
19351         * docs/gst/tmpl/gstformat.sgml:
19352         * docs/gst/tmpl/gstghostpad.sgml:
19353         * docs/gst/tmpl/gstimplementsinterface.sgml:
19354         * docs/gst/tmpl/gstindex.sgml:
19355         * docs/gst/tmpl/gstindexfactory.sgml:
19356         * docs/gst/tmpl/gstinfo.sgml:
19357         * docs/gst/tmpl/gstiterator.sgml:
19358         * docs/gst/tmpl/gstmacros.sgml:
19359         * docs/gst/tmpl/gstmemchunk.sgml:
19360         * docs/gst/tmpl/gstminiobject.sgml:
19361         * docs/gst/tmpl/gstobject.sgml:
19362         * docs/gst/tmpl/gstpad.sgml:
19363         * docs/gst/tmpl/gstpadtemplate.sgml:
19364         * docs/gst/tmpl/gstparse.sgml:
19365         * docs/gst/tmpl/gstpipeline.sgml:
19366         * docs/gst/tmpl/gstplugin.sgml:
19367         * docs/gst/tmpl/gstpluginfeature.sgml:
19368         * docs/gst/tmpl/gstquery.sgml:
19369         * docs/gst/tmpl/gstqueue.sgml:
19370         * docs/gst/tmpl/gstregistry.sgml:
19371         * docs/gst/tmpl/gstregistrypool.sgml:
19372         * docs/gst/tmpl/gstscheduler.sgml:
19373         * docs/gst/tmpl/gstschedulerfactory.sgml:
19374         * docs/gst/tmpl/gststructure.sgml:
19375         * docs/gst/tmpl/gstsystemclock.sgml:
19376         * docs/gst/tmpl/gsttaglist.sgml:
19377         * docs/gst/tmpl/gsttagsetter.sgml:
19378         * docs/gst/tmpl/gsttrace.sgml:
19379         * docs/gst/tmpl/gsttrashstack.sgml:
19380         * docs/gst/tmpl/gsttypefind.sgml:
19381         * docs/gst/tmpl/gsttypefindfactory.sgml:
19382         * docs/gst/tmpl/gsttypes.sgml:
19383         * docs/gst/tmpl/gsturihandler.sgml:
19384         * docs/gst/tmpl/gsturitype.sgml:
19385         * docs/gst/tmpl/gstutils.sgml:
19386         * docs/gst/tmpl/gstvalue.sgml:
19387         * docs/gst/tmpl/gstversion.sgml:
19388         * docs/gst/tmpl/gstxml.sgml:
19389         * docs/libs/tmpl/gstcontrol.sgml:
19390         * docs/libs/tmpl/gstdataprotocol.sgml:
19391         * docs/libs/tmpl/gstdparam.sgml:
19392         * docs/libs/tmpl/gstdplinint.sgml:
19393         * docs/libs/tmpl/gstdpman.sgml:
19394         * docs/libs/tmpl/gstdpsmooth.sgml:
19395         * docs/libs/tmpl/gstgetbits.sgml:
19396         * docs/libs/tmpl/gstunitconvert.sgml:
19397         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
19398         (gst_push_src_base_init), (gst_push_src_class_init),
19399         (gst_push_src_init), (gst_push_src_create):
19400         * gst/base/gstpushsrc.h:
19401         * gst/elements/gstelements.c:
19402         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
19403         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
19404         (gst_fake_sink_init), (gst_fake_sink_set_property),
19405         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
19406         (gst_fake_sink_event), (gst_fake_sink_preroll),
19407         (gst_fake_sink_render), (gst_fake_sink_change_state):
19408         * gst/elements/gstfakesink.h:
19409         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
19410         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
19411         (gst_fake_src_base_init), (gst_fake_src_class_init),
19412         (gst_fake_src_init), (gst_fake_src_event_handler),
19413         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
19414         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
19415         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
19416         (gst_fake_src_create_buffer), (gst_fake_src_create),
19417         (gst_fake_src_start), (gst_fake_src_stop):
19418         * gst/elements/gstfakesrc.h:
19419         * gst/elements/gstfilesink.c: (_do_init),
19420         (gst_file_sink_base_init), (gst_file_sink_class_init),
19421         (gst_file_sink_init), (gst_file_sink_dispose),
19422         (gst_file_sink_set_location), (gst_file_sink_set_property),
19423         (gst_file_sink_get_property), (gst_file_sink_open_file),
19424         (gst_file_sink_close_file), (gst_file_sink_query),
19425         (gst_file_sink_event), (gst_file_sink_render),
19426         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
19427         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
19428         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
19429         * gst/elements/gstfilesink.h:
19430         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
19431         (gst_file_src_class_init), (gst_file_src_init),
19432         (gst_file_src_finalize), (gst_file_src_set_location),
19433         (gst_file_src_set_property), (gst_file_src_get_property),
19434         (gst_file_src_map_region), (gst_file_src_map_small_region),
19435         (gst_file_src_create_mmap), (gst_file_src_create_read),
19436         (gst_file_src_create), (gst_file_src_is_seekable),
19437         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
19438         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
19439         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
19440         (gst_file_src_uri_handler_init):
19441         * gst/elements/gstfilesrc.h:
19442           more autistic cleanliness in functions/names/defines
19443
19444 2005-07-13  Andy Wingo  <wingo@pobox.com>
19445
19446         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
19447         source couldn't negotiate.
19448
19449         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
19450         connections again.
19451
19452         * gst/gstutils.h:
19453         * gst/gstutils.c (gst_element_link_pads_filtered): New old
19454         function. I am channeling Hades. Put your boots on suckers!!!
19455
19456 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19457
19458         * testsuite/caps/Makefile.am:
19459         * testsuite/caps/value_compare.c:
19460         * testsuite/caps/value_intersect.c:
19461         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19462           move two testsuite apps over to the check dir
19463
19464 2005-07-12  Wim Taymans  <wim@fluendo.com>
19465
19466         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
19467         Added more debug info in the negotiate process.
19468
19469         * gst/gstmessage.h:
19470         Prepare for segment playback.
19471
19472         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
19473         Better debugging.
19474
19475         * gst/gstutils.c:
19476         Some more docs.
19477
19478         * tools/gst-launch.c: (main):
19479         NULL pipeline on errors.
19480
19481 2005-07-12  Andy Wingo  <wingo@pobox.com>
19482
19483         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
19484         not it comes from a malloc region. Make sure our copy gets freed.
19485
19486 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19487
19488         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
19489         * check/gst/gstmessage.c: (GST_START_TEST):
19490         * check/gst/gststructure.c: (GST_START_TEST),
19491         (gst_structure_suite), (main):
19492           more testing
19493         * gst/gstelement.c: (gst_element_message_full):
19494           clean up GError and debug string now that they get copied
19495         * gst/gstmessage.c: (gst_message_new_error),
19496         (gst_message_new_warning), (gst_message_parse_error),
19497         (gst_message_parse_warning):
19498           use GST_TYPE_G_ERROR for structure_new, and take copies of
19499           arguments, so that we don't mess up refcounting
19500
19501 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19502
19503         * check/Makefile.am:
19504           add per-test valgrind targets
19505         * check/gst-libs/gdp.c: (GST_START_TEST),
19506         (gst_data_protocol_suite), (main):
19507           clean up
19508
19509 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19510
19511         * check/Makefile.am:
19512           instate more valgrindable tests
19513         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19514         (GST_START_TEST), (fakesrc_suite):
19515         * check/gst/gstpad.c: (GST_START_TEST):
19516         * check/gst/gststructure.c: (GST_START_TEST):
19517           fix test leaks
19518         * docs/gst/tmpl/gstminiobject.sgml:
19519         * gst/gstpad.c: (gst_pad_finalize):
19520           fix the static mutex leak
19521
19522 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19523
19524         * check/Makefile.am:
19525           add two more tests for valgrinding
19526         * check/gst/gstvalue.c: (GST_START_TEST):
19527           test refcount of deserialized buffer, found a leak
19528         * docs/gst/gstreamer-docs.sgml:
19529         * docs/gst/gstreamer-sections.txt:
19530         * docs/gst/gstreamer.types:
19531         * docs/gst/tmpl/gstminiobject.sgml:
19532           add miniobject to docs
19533         * gst/gstminiobject.c:
19534           add some docs
19535         * gst/gstvalue.c: (gst_value_deserialize_buffer),
19536         (gst_string_unwrap):
19537           fix a hard-to-find invalid write for one of the tests
19538           fix a leak for deserialized buffers
19539
19540 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19541
19542         * docs/pwg/advanced-events.xml:
19543         * docs/pwg/advanced-request.xml:
19544         * docs/pwg/advanced-scheduling.xml:
19545         * docs/pwg/appendix-porting.xml:
19546         * docs/pwg/building-boiler.xml:
19547         * docs/pwg/intro-preface.xml:
19548         * docs/pwg/other-ntoone.xml:
19549           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
19550           of example code and explanation for pad activation, loop() and
19551           getrange() functions and a bit more. Remove old comments pointing
19552           to loop-functions.
19553         * examples/pwg/Makefile.am:
19554           Add loop/getrange examples.
19555
19556 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19557
19558         * configure.ac:
19559           check for valgrind binary + some fixes
19560         * check/gst.supp:
19561           valgrind suppressions for the tests
19562         * check/Makefile.am:
19563           add a valgrind: target that valgrinds the unit tests
19564         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
19565         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
19566         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19567         * check/gst/gstghostpad.c:
19568           added some cleanup
19569         * check/gst/gstdata.c:
19570           removed
19571         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
19572         (thread_unref), (gst_mini_object_suite), (main):
19573           added
19574         * gst/gst.c: (gst_deinit):
19575         * gst/gst.h:
19576           add a method to clean up.
19577         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19578         (gst_system_clock_obtain):
19579           allow for disposing the system clock.
19580         * tools/gst-launch.c: (main):
19581           deinit
19582
19583 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19584
19585         * docs/gst/tmpl/gstbasesrc.sgml:
19586         * docs/gst/tmpl/gstfakesrc.sgml:
19587         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19588         (gst_base_src_init), (gst_base_src_set_property),
19589         (gst_base_src_get_property), (gst_base_src_get_range),
19590         (gst_base_src_start):
19591         * gst/base/gstbasesrc.h:
19592           add num-buffers property
19593         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19594         (gst_fakesrc_init), (gst_fakesrc_set_property),
19595         (gst_fakesrc_get_property), (gst_fakesrc_create),
19596         (gst_fakesrc_start):
19597           remove num-buffers property
19598
19599 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19600
19601         * docs/gst/gstreamer-sections.txt:
19602         * docs/gst/tmpl/gstbasesink.sgml:
19603         * docs/gst/tmpl/gstbasesrc.sgml:
19604         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19605         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19606         (gst_base_sink_finalize), (gst_base_sink_set_clock),
19607         (gst_base_sink_set_property), (gst_base_sink_get_property),
19608         (gst_base_sink_handle_object), (gst_base_sink_event),
19609         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19610         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
19611         (gst_base_sink_loop), (gst_base_sink_deactivate),
19612         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
19613         (gst_base_sink_change_state):
19614         * gst/base/gstbasesink.h:
19615         * gst/base/gstbasesrc.h:
19616         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
19617         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
19618         (gst_filesink_init):
19619           more macro splitting
19620
19621 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19622
19623         * gst/gstelement.c: (gst_element_get_bus):
19624           add debug
19625         * tools/gst-launch.c: (check_intr), (event_loop):
19626           fix bus leaks
19627
19628 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19629
19630         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
19631           fix a caps leak
19632
19633 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19634
19635         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19636         (gst_base_src_finalize):
19637           add finalize method and clean up properly
19638         * gst/gstpipeline.c: (gst_pipeline_dispose):
19639           add debug
19640
19641 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19642
19643         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
19644         (gst_bin_suite):
19645           add more things to check
19646         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19647         * gst/gstelement.c:
19648           more debug
19649
19650 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19651
19652         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19653         (GST_START_TEST), (fakesrc_suite):
19654         * check/gst-libs/gdp.c: (GST_START_TEST):
19655         * check/gst/gst.c: (GST_START_TEST):
19656         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19657         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19658         * check/gst/gstbus.c: (GST_START_TEST):
19659         * check/gst/gstcaps.c: (GST_START_TEST):
19660         * check/gst/gstdata.c: (GST_START_TEST):
19661         * check/gst/gstelement.c: (GST_START_TEST):
19662         * check/gst/gstghostpad.c: (GST_START_TEST):
19663         * check/gst/gstiterator.c: (GST_START_TEST):
19664         * check/gst/gstmessage.c: (GST_START_TEST):
19665         * check/gst/gstobject.c: (GST_START_TEST):
19666         * check/gst/gstpad.c: (GST_START_TEST):
19667         * check/gst/gststructure.c: (GST_START_TEST):
19668         * check/gst/gstsystemclock.c: (GST_START_TEST),
19669         (gst_systemclock_suite):
19670         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
19671         * check/gst/gstvalue.c: (GST_START_TEST):
19672         * check/pipelines/cleanup.c: (GST_START_TEST):
19673         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19674         * check/states/sinks.c: (GST_START_TEST):
19675         * check/gstcheck.c: (gst_check_init):
19676         * check/gstcheck.h:
19677           add debugging category
19678           use GST_START_TEST now, so we add a debug line
19679
19680 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19681
19682         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
19683           add test for state change message on a bin
19684         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
19685           add another test
19686         * gst/gstbin.c: (gst_bin_init):
19687         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
19688         * gst/gstelement.c: (gst_element_post_message),
19689         (gst_element_set_state):
19690         * gst/gstelementfactory.c: (gst_element_factory_create):
19691         * gst/gstmessage.c: (gst_message_new):
19692         * gst/gstscheduler.c:
19693           various debugging additions and cleanups
19694
19695 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19696
19697         * check/Makefile.am:
19698         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
19699         (main):
19700           adding tests for elements
19701         * gst/gstelement.c: (gst_element_dispose):
19702
19703 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19704
19705         * gst/registries/gstlibxmlregistry.c: (load_feature):
19706           plug more leaks.  A simple gst_init() now is leakfree, yay.
19707
19708 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19709
19710         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
19711         (gst_xml_registry_load):
19712           plug another memleak
19713
19714 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19715
19716         * configure.ac:
19717           use GST_SET_ERROR_CFLAGS
19718         * docs/faq/cvs.xml:
19719           change to ERROR_CFLAGS
19720
19721 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19722
19723         * configure.ac:
19724           make GST_ERROR_CFLAGS overridable and re-enable Werror
19725         * docs/faq/cvs.xml:
19726           add a note about error CFLAGS
19727         * docs/gst/tmpl/gstfakesrc.sgml:
19728         * gst/elements/gstfakesrc.c:
19729           comment out some unused code
19730         * gst/gst.c: (split_and_iterate):
19731         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
19732         (load_feature):
19733           plug some memleaks
19734
19735 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19736
19737         * common/Makefile.am:
19738         * common/gtk-doc.mak:
19739         * docs/gst/Makefile.am:
19740           factor out gtk-doc.mak
19741
19742 2005-07-07  Wim Taymans  <wim@fluendo.com>
19743
19744         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
19745         (gst_thread_scheduler_dispose):
19746         Unlock the STREAM_LOCK completely.
19747
19748 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19749
19750         * check/Makefile.am:
19751         * check/elements/.cvsignore:
19752         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19753         (START_TEST), (fakesrc_suite), (main):
19754         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19755         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19756         (gst_fakesrc_create), (gst_fakesrc_start):
19757         * gst/elements/gstfakesrc.h:
19758           adding a first element test
19759
19760 2005-07-07  Andy Wingo  <wingo@pobox.com>
19761
19762         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
19763         debug message.
19764
19765 2005-07-07  Wim Taymans  <wim@fluendo.com>
19766
19767         * gst/gstquery.c:
19768         * gst/gstquery.h:
19769         Remove old types
19770
19771 2005-07-07  Wim Taymans  <wim@fluendo.com>
19772
19773         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
19774         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
19775         Allow subclasses to implement their own negotiation.
19776
19777 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19778
19779         * docs/design/part-gstbin.txt:
19780         * docs/design/part-gstpipeline.txt:
19781           Update design notes to reflect the movement of
19782           responsibility for bus handling from GstPipeline to
19783           GstBin
19784
19785 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19786
19787         * configure.ac:
19788           Remove unnecessary queue2/3/4 examples.
19789
19790 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19791
19792         * examples/Makefile.am:
19793         * examples/helloworld/helloworld.c: (event_loop), (main):
19794         * examples/queue/queue.c: (event_loop), (main):
19795         * examples/queue2/queue2.c: (main):
19796           Update a couple of the examples to work again.
19797
19798         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19799         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
19800          Spelling corrections and extra debug.
19801         
19802         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
19803         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
19804         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
19805         * gst/gstbin.h:
19806         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19807         (gst_pipeline_change_state):
19808         * gst/gstpipeline.h:
19809           Move the bus handler for children to the GstBin, and create a
19810           separate bus for receiving messages from children to the one the
19811           bus sends 'upwards' on.
19812
19813 2005-07-06  Wim Taymans  <wim@fluendo.com>
19814
19815         * gst/base/README:
19816         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19817         (gst_base_sink_handle_object), (gst_base_sink_loop),
19818         (gst_base_sink_change_state):
19819         * gst/base/gstbasesink.h:
19820         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19821         (gst_base_src_init), (gst_base_src_setcaps),
19822         (gst_base_src_getcaps), (gst_base_src_loop),
19823         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
19824         (gst_base_src_start), (gst_base_src_change_state):
19825         * gst/base/gstbasesrc.h:
19826         Make basesrc negotiate.
19827         Handle the case where preroll fails in basesink.
19828         Update README.
19829
19830 2005-07-06  Wim Taymans  <wim@fluendo.com>
19831
19832         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
19833         Implement the fixate function.
19834         Clean up acceptcaps.
19835
19836 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19837
19838         * docs/pwg/building-filterfactory.xml:
19839         * docs/pwg/pwg.xml:
19840           Remove never-written filter-factory chapter; I'll add the various
19841           base classes to part 4 ("other element types") later on.
19842
19843 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19844
19845         * docs/pwg/advanced-negotiation.xml:
19846         * docs/pwg/building-boiler.xml:
19847         * docs/pwg/building-pads.xml:
19848         * docs/pwg/pwg.xml:
19849         * examples/pwg/Makefile.am:
19850           Add a chapter on caps negotiation, simplify the original code
19851           samples a bit w.r.t. caps negotiation, add link to the advanced
19852           section. Add a bunch of examples showing different use cases of
19853           different types of caps negotiation. Upstream renegotiation isn't
19854           fully documented yet since nobody knows how that works.
19855
19856 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19857
19858         * check/gst/gstpad.c:
19859         * check/gstcheck.c:
19860         * gst/gstpad.c: (gst_pad_get_internal_links_default):
19861           if pad has no parent, return NULL as list of internal links
19862
19863 2005-07-05  Andy Wingo  <wingo@pobox.com>
19864
19865         * gst/elements/gstfilesrc.c:
19866         * gst/elements/gstfakesrc.c: 
19867         * gst/base/gstpushsrc.c:
19868         * gst/base/gstbasesrc.h: 
19869         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
19870         
19871 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
19872
19873         * Makefile.am:
19874           better report generation target (lcov needs a patch)
19875
19876 2005-07-05  Andy Wingo  <wingo@pobox.com>
19877
19878         * gst/elements, testsuite: Null if we got it...
19879
19880 2005-07-05  Wim Taymans  <wim@fluendo.com>
19881
19882         * configure.ac:
19883         * libs/gst/dataprotocol/Makefile.am:
19884         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
19885         * libs/gst/dataprotocol/dataprotocol.h:
19886         * pkgconfig/Makefile.am:
19887         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
19888         * pkgconfig/gstreamer-dataprotocol.pc.in:
19889         Ported dataprotol to 0.9. 
19890         Added pkgconfig files.
19891
19892 2005-07-05  Andy Wingo  <wingo@pobox.com>
19893
19894         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
19895         Default to returning TRUE for the case when tranform_caps returns
19896         a fixed caps, like for identity or volume.
19897
19898         * check/gst/gstbus.c (pound_bus_with_messages): 
19899         * check/gst/gstmessage.c (START_TEST): 
19900         * check/pipelines/simple_launch_lines.c (got_handoff): Application
19901         message API change.
19902
19903         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
19904         logic weaks here: always run transform_caps, trying passthrough
19905         operation only if the original caps intersects with the transform.
19906
19907         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
19908         source and sink caps.
19909
19910         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
19911         Intersect the peer caps with the pad template before going into
19912         transform_caps.
19913         (gst_base_transform_transform_caps): More debugging.
19914
19915         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
19916         src argument.
19917
19918 2005-07-04  Edward Hervey  <edward@fluendo.com>
19919
19920         * gst/gstutils.c:
19921         * gst/gstutils.h:
19922         (gst_pad_add_*_probe): now returns the signal id for better wrapping
19923         in bindings.
19924
19925 2005-07-04  Andy Wingo  <wingo@pobox.com>
19926
19927         * check/gst/gstpad.c: Only set explicit caps on pads.
19928
19929 2005-07-01  Andy Wingo  <wingo@pobox.com>
19930
19931         * tests/network-clock.scm: Commentary update.
19932
19933         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
19934         Didn't really make sense, not implementable with basetransform,
19935         etc.
19936         (gst_identity_transform): Unref inbuf via make_writable. Feeble
19937         attempt at implementing the sync property, needs an unlock method.
19938
19939         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
19940         New func, by default returns the same caps (the identity
19941         transformation).
19942         (gst_base_transform_getcaps): Uses transform_caps to return
19943         something sensible.
19944         (gst_base_transform_setcaps): Complicated logic to get caps on
19945         both pads, even if they are different, and to call set_caps once
19946         for every time both pads get their caps set.
19947         (gst_base_transform_handle_buffer): Give the ref to the transform
19948         function. Allows in-place modification of the buffer.
19949
19950         * gst/base/gstbasetransform.h (transform_caps): New class method.
19951         Given caps on one side, what can I do on the other.
19952         (set_caps): Take two caps, one for each side of the element.
19953
19954         * gst/gstpad.h:
19955         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
19956         caps in place. This is safe because we can check the mutability of
19957         the caps, and a good idea because fixate functions are just called
19958         as a matter of last resort. (Not actually implemented.)
19959         (gst_pad_set_caps): If the caps we're setting is actually the same
19960         as the existing pad caps, just update the pointer without calling
19961         setcaps. Assert that caps is either NULL or fixed, as per the
19962         docs.
19963
19964         * gst/gstghostpad.c: Update for fixate changes.
19965
19966 2005-07-02  Andy Wingo  <wingo@pobox.com>
19967
19968         * gst/gstcaps.c:
19969         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
19970         two refcounts makes it immutable, which is enough. Doc more.
19971
19972 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
19973
19974         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
19975           Put the mini_object into GValue as a mini_object,
19976           not a gpointer, since that's how we declared
19977           the signal.
19978
19979 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19980
19981         * examples/pwg/Makefile.am:
19982           Fix buildbot again.
19983
19984 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19985
19986         * docs/pwg/building-testapp.xml:
19987           Add extra check.
19988         * examples/pwg/Makefile.am:
19989           Fix buildbot.
19990
19991 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19992
19993         * configure.ac:
19994         * examples/Makefile.am:
19995         * examples/pwg/Makefile.am:
19996         * examples/pwg/extract.pl:
19997           Enable building the PWG examples.
19998         * docs/pwg/advanced-interfaces.xml:
19999           Add URI interface stub.
20000         * docs/pwg/advanced-types.xml:
20001         * docs/pwg/other-autoplugger.xml:
20002         * docs/pwg/appendix-porting.xml:
20003         * docs/pwg/pwg.xml:
20004           Add porting guide (mostly stubs), remove autoplugging (see ADM).
20005         * docs/pwg/building-boiler.xml:
20006         * docs/pwg/building-chainfn.xml:
20007         * docs/pwg/building-pads.xml:
20008         * docs/pwg/building-props.xml:
20009         * docs/pwg/building-state.xml:
20010         * docs/pwg/building-testapp.xml:
20011           Update the building-*.xml parts for 0.9 changes. All examples
20012           code blocks compile in examples/pwg/*.
20013
20014 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20015
20016         * docs/manual/advanced-autoplugging.xml:
20017         * docs/manual/appendix-checklist.xml:
20018         * docs/manual/appendix-integration.xml:
20019         * docs/manual/highlevel-components.xml:
20020           Fix playbin/decodebin examples, update docs a bit, mention bus
20021           instead of signals in various places, mention kmplayer and
20022           kaffeine since they have a working GStreamer backend in the KDE
20023           section.
20024
20025 2005-06-30  Wim Taymans  <wim@fluendo.com>
20026
20027         * CHANGES-0.9:
20028         * docs/design/draft-ghostpads.txt:
20029         * docs/design/draft-push-pull.txt:
20030         * docs/design/draft-query.txt:
20031         * docs/design/part-TODO.txt:
20032         * docs/design/part-query.txt:
20033         Added CHANGES-0.9 doc, updated status of other docs.
20034         
20035         * gst/gstquery.h:
20036         Remove "hmm" macro
20037
20038 2005-06-30  Wim Taymans  <wim@fluendo.com>
20039
20040         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
20041         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
20042         (gst_base_sink_change_state):
20043         * gst/base/gstbasesink.h:
20044         Some tweaks, only EOS and a buffer complete a preroll.
20045
20046 2005-06-30  Andy Wingo  <wingo@pobox.com>
20047
20048         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
20049         activate_push down to the internal pad as well.
20050
20051 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
20052
20053         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20054
20055         * gst/gsttaginterface.c:
20056           Some documentation fixes (#307394 and #307397).
20057
20058 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
20059
20060         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20061
20062         * gst/gstvalue.c: (gst_value_intersect_list):
20063           Fix memleak (#309125).
20064
20065 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20066
20067         * docs/manual/advanced-dataaccess.xml:
20068           Fix fakesrc example to compile; doesn't work, bug somewhere...?
20069         * docs/manual/basics-pads.xml:
20070           Add reference for filtered caps to above chapter.
20071
20072 2005-06-30  Wim Taymans  <wim@fluendo.com>
20073
20074         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
20075         (gst_bin_change_state):
20076         Probes are gone.
20077         Lame attempt at making the state change function a bit
20078         more readable.
20079
20080 2005-06-30  Wim Taymans  <wim@fluendo.com>
20081
20082         * docs/design/part-clocks.txt:
20083         * docs/design/part-element-sink.txt:
20084         * docs/design/part-events.txt:
20085         * docs/design/part-preroll.txt:
20086         * docs/design/part-states.txt:
20087         Some more tweeks and additions to the docs.
20088
20089 2005-06-30  Wim Taymans  <wim@fluendo.com>
20090
20091         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
20092         (default_have_data), (gst_pad_class_init), (gst_pad_init),
20093         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
20094         (gst_pad_check_pull_range), (gst_pad_get_range),
20095         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
20096         * gst/gstpad.h:
20097         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
20098         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
20099         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
20100         (gst_pad_remove_buffer_probe):
20101         Removed atomic operations, use existing LOCK.
20102         Move exception handling out of main code path.
20103
20104 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20105
20106         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
20107         (silly_return_true_function), (gst_pad_class_init),
20108         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
20109         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
20110         (gst_pad_send_event):
20111           Fix accumulator, add default value by using _emitv() instead
20112           of _emit() for signal emission.
20113
20114 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20115
20116         * docs/manual/advanced-dataaccess.xml:
20117         * examples/manual/Makefile.am:
20118           Add probe example.
20119         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
20120           Make work (??).
20121
20122 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
20123
20124         * gst/elements/gstfilesink.c: (gst_filesink_render):
20125           Simplify code so that we don't have to handle short
20126           writes and return GST_FLOW_ERROR if an error occured.
20127
20128 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20129
20130         * docs/gst/gstreamer-docs.sgml:
20131           Remove probes more.
20132
20133 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20134
20135         * docs/gst/gstreamer-sections.txt:
20136         * docs/gst/tmpl/gstpad.sgml:
20137         * docs/gst/tmpl/gstprobe.sgml:
20138         * gst/Makefile.am:
20139         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
20140         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
20141         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
20142         (gst_pad_push_event), (gst_pad_send_event):
20143         * gst/gstpad.h:
20144         * gst/gstutils.c: (gst_pad_add_data_probe),
20145         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
20146         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
20147         (gst_pad_remove_buffer_probe):
20148         * gst/gstutils.h:
20149           Remove old probes, add new g-signal-based probes and some utility
20150           functions.
20151
20152 2005-06-29  Edward Hervey  <edward@fluendo.com>
20153
20154         * gst/gstelementfactory.c:
20155         * gst/gstutils.h:
20156         * gst/gstutils.c:
20157         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
20158         the definition to the header file.
20159
20160 2005-06-29  Andy Wingo  <wingo@pobox.com>
20161
20162         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
20163         plugins from the source directory.
20164
20165 2005-06-29  Wim Taymans  <wim@fluendo.com>
20166
20167         * docs/gst/tmpl/gstbuffer.sgml:
20168         * docs/gst/tmpl/gstclock.sgml:
20169         Some fixings for blantently wrong text.
20170
20171 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20172
20173         * check/Makefile.am:
20174         * gst/gst.c: (add_path_func), (init_pre):
20175         * gst/gstregistry.c: (gst_registry_add_path):
20176           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
20177           only scan the GST_PLUGIN_PATH locations, and not add
20178           system locations
20179
20180 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20181
20182         * docs/gst/gstreamer-sections.txt:
20183         * docs/gst/tmpl/gstbasesrc.sgml:
20184         * gst/gstelement.c:
20185         * gst/gstelement.h:
20186         * gst/gstevent.c:
20187         * gst/gstutils.c:
20188           doc fixes
20189
20190 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20191
20192         * docs/manual/advanced-autoplugging.xml:
20193           Fix autoplugging example.
20194
20195 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20196
20197         * docs/manual/advanced-autoplugging.xml:
20198         * docs/manual/mime-world.fig:
20199           Try to get autoplugging working, fix type detection. Fix text
20200           in hello-world image.
20201
20202 2005-06-29  Wim Taymans  <wim@fluendo.com>
20203
20204         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20205         (gst_base_sink_change_state):
20206         Small debug line.
20207
20208         * gst/gstclock.h:
20209         map SIGNAL and BROADCAST to the right function.
20210
20211         * gst/gstobject.h:
20212         Remove redundant braces.
20213
20214         * gst/gstpad.c: (gst_pad_set_caps):
20215         Don't call setcaps function when reseting caps to NULL.
20216
20217         * gst/gstsystemclock.c: (gst_system_clock_dispose),
20218         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
20219         (gst_system_clock_id_unschedule):
20220         Use BROADCAST as this is what we do.
20221
20222 2005-06-29  Wim Taymans  <wim@fluendo.com>
20223
20224         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20225         We are actually prerolling before commiting the state
20226         change. 
20227
20228 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20229
20230         * docs/manual/advanced-clocks.xml:
20231         * docs/manual/advanced-interfaces.xml:
20232         * docs/manual/advanced-metadata.xml:
20233         * docs/manual/advanced-position.xml:
20234         * docs/manual/advanced-schedulers.xml:
20235         * docs/manual/advanced-threads.xml:
20236         * docs/manual/appendix-porting.xml:
20237         * docs/manual/basics-bins.xml:
20238         * docs/manual/basics-bus.xml:
20239         * docs/manual/basics-elements.xml:
20240         * docs/manual/basics-helloworld.xml:
20241         * docs/manual/basics-pads.xml:
20242         * docs/manual/highlevel-components.xml:
20243         * docs/manual/manual.xml:
20244         * docs/manual/thread.fig:
20245           Update (until threads/scheduling) Application Development Manual;
20246           remove GstThread, add GstBus, add simple porting checklist, add
20247           documentation for tag writing, clocks, make all examples until this
20248           part compile and run.
20249         * examples/manual/Makefile.am:
20250           Update from changes to Application Development Manual; add bus
20251           example, remove thread example.
20252
20253 2005-06-28  Wim Taymans  <wim@fluendo.com>
20254
20255         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
20256         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
20257         (gst_bus_source_dispatch):
20258         Add debugging messages.
20259         Make internal methods static.
20260         Handle the case where the bus is flushed in the handler.
20261         
20262         * gst/gstelement.c: (gst_element_get_bus):
20263         Fix refcount in _get_bus();
20264
20265         * gst/gstpipeline.c: (gst_pipeline_change_state),
20266         (gst_pipeline_get_clock_func):
20267         Clock refcounting fixes.
20268         Handle the case where preroll timed out more gracefully.
20269         
20270         * gst/gstsystemclock.c: (gst_system_clock_dispose):
20271         Clean up the internal thread in dispose. This is needed
20272         for subclasses that actually get disposed.
20273         
20274         * gst/schedulers/threadscheduler.c:
20275         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
20276         (gst_thread_scheduler_dispose):
20277         Free thread pool in dispose.
20278
20279 2005-06-28  Andy Wingo  <wingo@pobox.com>
20280
20281         * tests/network-clock-utils.scm (debug, print-event): New utils.
20282
20283         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
20284         (*packet-loss*): Unified loss probability.
20285         (network-time): Report out-of-band events.
20286
20287         * tests/plot-data: Add support for out-of-band events. Hack it
20288         into this script instead of passing it down the pipe; should fix
20289         this later.
20290
20291 2005-06-28  Wim Taymans  <wim@fluendo.com>
20292
20293         * docs/gst/gstreamer.types:
20294         * docs/gst/tmpl/gstbasesrc.sgml:
20295         * docs/gst/tmpl/gstpad.sgml:
20296         Docs fixes.
20297
20298 2005-06-28  Wim Taymans  <wim@fluendo.com>
20299
20300         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20301         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
20302         (gst_proxy_pad_do_fixatecaps):
20303         Correctly proxy the check_pull_range function.
20304
20305 2005-06-28  Andy Wingo  <wingo@pobox.com>
20306
20307         * tests/network-clock.scm: Removed need for slib.
20308         
20309 2005-06-28  Wim Taymans  <wim@fluendo.com>
20310
20311         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
20312         (gst_basesink_preroll_queue_flush):
20313         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
20314         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
20315         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20316         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
20317         (gst_proxy_pad_set_property):
20318         * gst/gstpad.c:
20319         * gst/gstpad.h:
20320         * gst/gstqueue.c: (gst_queue_init):
20321         The deprecated pad loop function is removed now.
20322
20323 2005-06-28  Andy Wingo  <wingo@pobox.com>
20324
20325         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
20326         New parameters, simulate network packet loss.
20327
20328         * tests/network-clock-utils.scm: Initialize the RNG.
20329
20330 2005-06-28  Wim Taymans  <wim@fluendo.com>
20331
20332         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
20333         (gst_basesink_event), (gst_basesink_deactivate):
20334         Flushing the preroll queue always needs to unlock the waiters.
20335
20336 2005-06-28  Edward Hervey  <edward@fluendo.com>
20337
20338         * gst/gstpipeline.c: (gst_pipeline_send_event): 
20339         Wheen a seek was successful on a pipeline, set the stream_time to the
20340         seek offset in order to have a synchronized stream_time.
20341
20342 2005-06-28  Wim Taymans  <wim@fluendo.com>
20343
20344         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20345         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
20346         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
20347         (gst_proxy_pad_do_fixatecaps):
20348         Call wrapper function instead of just calling the function
20349         pointers. This takes care of any locking and whatmore.
20350
20351 2005-06-28  Wim Taymans  <wim@fluendo.com>
20352
20353         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
20354         (gst_pad_pull_range):
20355         * gst/gstpad.h:
20356         CONNECTED -> LINKED.
20357
20358 2005-06-28  Andy Wingo  <wingo@pobox.com>
20359
20360         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
20361         source-munging commit!!!
20362
20363         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
20364         (gst_object_sink): Take gpointer arguments, not GstObject --
20365         avoids casts. Like GLib.
20366
20367         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
20368         activate.
20369
20370 2005-06-27  Andy Wingo  <wingo@pobox.com>
20371
20372         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
20373         remaining buffer.
20374
20375         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
20376         returns a sorted copy of the trace list.
20377         (gst_alloc_trace_print_live): New API, only prints traces with
20378         live objects. Sort the list.
20379         (gst_alloc_trace_print_all): Sort the list.
20380         (gst_alloc_trace_print): Align columns.
20381
20382         * gst/elements/gstttypefindelement.c:
20383         * gst/elements/gsttee.c:
20384         * gst/base/gstbasesrc.c:
20385         * gst/base/gstbasesink.c:
20386         * gst/base/gstbasetransform.c:
20387         * gst/gstqueue.c: Adapt for pad activation changes.
20388
20389         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
20390         sched.
20391         (gst_pipeline_dispose): Drop ref on sched.
20392
20393         * gst/gstpad.c (gst_pad_init): Set the default activate func.
20394         (gst_pad_activate_default): Push mode by default.
20395         (pre_activate_switch, post_activate_switch): New stubs, things to
20396         do before and after switching activation modes on pads.
20397         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
20398         the pad's activate function to choose which mode to activate.
20399         Shortcut on deactivation and call the right function directly.
20400         (gst_pad_activate_pull): New API, (de)activates a pad in pull
20401         mode.
20402         (gst_pad_activate_push): New API, same for push mode.
20403         (gst_pad_set_activate_function) 
20404         (gst_pad_set_activatepull_function) 
20405         (gst_pad_set_activatepush_function): Setters for new API.
20406
20407         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
20408         Trace all miniobjects.
20409         (gst_mini_object_make_writable): Unref the arg if we copy, like
20410         gst_caps_make_writable.
20411
20412         * gst/gstmessage.c (_gst_message_initialize): No trace init.
20413
20414         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
20415         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
20416         Adapt for new pad API.
20417
20418         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
20419
20420         * gst/gstelement.h:
20421         * gst/gstelement.c (gst_element_iterate_src_pads) 
20422         (gst_element_iterate_sink_pads): New API functions.
20423         
20424         * gst/gstelement.c (iterator_fold_with_resync): New utility,
20425         should fold into gstiterator.c in some form.
20426         (gst_element_pads_activate): Simplified via use of fold and
20427         delegation of decisions to gstpad->activate.
20428
20429         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
20430         help in debugging.
20431
20432         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
20433         class once in init, like gstmessage. Didn't run into this issue
20434         but it seems correct. Don't initialize a trace, gstminiobject does
20435         that.
20436
20437         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
20438         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
20439         to the bus.
20440         (assert_live_count): New util function, uses alloc traces to check
20441         cleanup.
20442
20443         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
20444         To be modified when unlink drops the internal pad.
20445
20446 2005-06-27  Wim Taymans  <wim@fluendo.com>
20447
20448         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
20449         (gst_bin_change_state):
20450         Cleanup the get_state() function a little, make sure it
20451         iterates the same set of elements.
20452         Added stub iterate_state_order().
20453
20454 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20455
20456         * docs/gst/gstreamer-docs.sgml:
20457         * docs/gst/gstreamer-sections.txt:
20458         * docs/gst/gstreamer.types:
20459         * docs/gst/tmpl/gstbasesink.sgml:
20460         * docs/gst/tmpl/gstbasesrc.sgml:
20461         * docs/gst/tmpl/gstbasetransform.sgml:
20462         * docs/gst/tmpl/gstelement.sgml:
20463         * docs/gst/tmpl/gstiterator.sgml:
20464         * gst/base/gstbasesrc.c:
20465         * gst/base/gstbasesrc.h:
20466         * gst/base/gstbasetransform.h:
20467         * gst/gstelement.c:
20468         * gst/gstiterator.h:
20469           adding basetransform and iterator docs
20470
20471 2005-06-27  Andy Wingo  <wingo@pobox.com>
20472
20473         * docs/design/part-activation.txt: Notes on how activation should
20474         work -- not quite implemented yet.
20475
20476 2005-06-25  Wim Taymans  <wim@fluendo.com>
20477
20478         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
20479         At least get the chain function correct, needs more
20480         fixing.
20481
20482 2005-06-25  Wim Taymans  <wim@fluendo.com>
20483
20484         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20485         (gst_basesink_handle_object), (gst_basesink_event),
20486         (gst_basesink_do_sync), (gst_basesink_handle_event),
20487         (gst_basesink_change_state):
20488         * gst/gsttask.h:
20489         Right, two problems here: ghostpads don't take locks and
20490         glib _rec_mutex_lock_full() with depth==0 still locks.
20491         Catch illegal locking and g_warn them.
20492
20493 2005-06-25  Wim Taymans  <wim@fluendo.com>
20494
20495         * check/states/sinks.c: (START_TEST), (gst_object_suite):
20496         Have to check for completion now...
20497
20498 2005-06-25  Wim Taymans  <wim@fluendo.com>
20499
20500         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20501         (gst_basesink_handle_object), (gst_basesink_event),
20502         (gst_basesink_do_sync), (gst_basesink_handle_event),
20503         (gst_basesink_change_state):
20504         * gst/gstpad.h:
20505         Unlock STREAM_LOCK whatever the recursion was.
20506
20507 2005-06-25  Wim Taymans  <wim@fluendo.com>
20508
20509         * gst/base/gstbasesink.c: (gst_basesink_set_property),
20510         (gst_basesink_preroll_queue_empty),
20511         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
20512         (gst_basesink_event), (gst_basesink_do_sync),
20513         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
20514         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
20515         (gst_basesink_change_state):
20516         Reworked the base sink, handle event and buffer serialisation
20517         correctly and removed possible deadlock.
20518         Handle EOS correctly.
20519
20520 2005-06-25  Wim Taymans  <wim@fluendo.com>
20521
20522         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
20523         (gst_pipeline_change_state):
20524         * tools/gst-launch.c: (check_intr), (event_loop), (main):
20525         Allow elements to post EOS in the state change function.
20526         Fix up -launch, make it exit the poll loop when the
20527         pipeline actually changed state.
20528         Fix up warning parsing in -launch.
20529
20530 2005-06-25  Wim Taymans  <wim@fluendo.com>
20531
20532         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
20533         (gst_tee_sink_activate):
20534         Core takes STREAM_LOCK for us now.
20535
20536 2005-06-25  Wim Taymans  <wim@fluendo.com>
20537
20538         * gst/gstelement.c: (gst_element_get_state_func),
20539         (gst_element_set_state):
20540         * gst/gstelement.h:
20541         * gst/gstmessage.c: (gst_message_parse_error),
20542         (gst_message_parse_warning):
20543         Keep track of current target state while performing a state
20544         change so that subclasses can do something interesting.
20545         Fix parsing of warning/error messages when GError is NULL.
20546
20547 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20548
20549         * docs/gst/Makefile.am:
20550         * docs/gst/gstreamer-docs.sgml:
20551         * docs/gst/gstreamer-sections.txt:
20552         * docs/gst/gstreamer.types:
20553         * docs/gst/tmpl/gstbasesink.sgml:
20554         * docs/gst/tmpl/gstbasesrc.sgml:
20555         * docs/gst/tmpl/gstbin.sgml:
20556         * docs/gst/tmpl/gstcompat.sgml:
20557         * docs/gst/tmpl/gstfakesink.sgml:
20558         * docs/gst/tmpl/gstfakesrc.sgml:
20559         * docs/gst/tmpl/gstfilesink.sgml:
20560         * docs/gst/tmpl/gstfilesrc.sgml:
20561         * docs/gst/tmpl/gstindex.sgml:
20562         * docs/manual/appendix-quotes.xml:
20563         * gst/base/gstbasesrc.h:
20564         * gst/elements/gstfakesrc.h:
20565         * gst/gstmessage.h:
20566           start pulling in base classes and elements in our docs
20567
20568 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
20569
20570         * docs/gst/Makefile.am:
20571         * docs/libs/Makefile.am:
20572           fixed make distcheck with gtk-doc 1.3
20573
20574 2005-06-23  Wim Taymans  <wim@fluendo.com>
20575
20576         * gst/gstelement.c: (gst_element_get_state_func),
20577         (gst_element_set_state), (gst_element_change_state):
20578         When the state did not change, also report NO_PREROLL
20579         when it matters.
20580
20581 2005-06-23  Wim Taymans  <wim@fluendo.com>
20582
20583         * gst/gstpad.c: (gst_pad_event_default):
20584         * gst/gstqueue.c: (gst_queue_loop):
20585         No unsafe task pausing please.
20586
20587 2005-06-23  Wim Taymans  <wim@fluendo.com>
20588
20589         * gst/schedulers/threadscheduler.c:
20590         (gst_thread_scheduler_task_start),
20591         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
20592         Ref the task before pushing it on the threadpool. This
20593         makes sure that we have a ref when the threadfunction is
20594         actually called.
20595
20596 2005-06-23  Andy Wingo  <wingo@pobox.com>
20597
20598         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
20599         offset is greater than the file's size.
20600
20601         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
20602         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
20603         * gst/gstobject.c (gst_object_class_init): Make the class lock
20604         recursive. Wim won't let me drop deep_notify. Decodebin works
20605         again, whoopdy doo.
20606
20607         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
20608         internal pad, and hacks accordingly. Doesn't do it on the target
20609         pad because we change its caps. Probably catches all cases of
20610         interest tho.
20611         (gst_ghost_pad_set_property): Connect to notify::caps as
20612         appropritate.
20613
20614         * tests/network-clock.scm (plot-simulation): Pipe data to the
20615         elite python skript.
20616
20617         * tests/network-clock-utils.scm (define-parameter): New macro,
20618         defines a parameter that can be set via the command line.
20619         (set-parameter!, parse-parameter-arguments): Command line args
20620         parser.
20621
20622         * tests/plot-data: Simple matplotlib-based plotter, takes input on
20623         stdin.
20624
20625 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
20626
20627         * gst/elements/gsttypefindelement.c:
20628         (gst_type_find_element_handle_event):
20629           Don't restart typefinding on a discont.
20630         * gst/gstelement.c: (gst_element_set_state):
20631           Debug spelling fix.
20632         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
20633           Allow changing mode of an active pad.
20634           Debug output fixes.
20635         * gst/registries/gstlibxmlregistry.c: (load_feature):
20636           Don't cast a static pad template to a normal pad template.
20637
20638 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20639
20640         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20641         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20642           remove gst_strtoll completely, since it didn't actually do
20643           anything more than what g_ascii_strtoull already does.
20644           check for range errors when deserializing
20645           do a cast for the unsigned cases; but further fixing needs
20646           a decision on what the interpretation of "(int)" and
20647           deserialization should be for values that fall outside the
20648           type's boundaries (ie, refuse, or interpret as casting)
20649
20650 2005-06-23  Wim Taymans  <wim@fluendo.com>
20651
20652         * check/Makefile.am:
20653         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
20654         * docs/design/part-live-source.txt:
20655         * docs/design/part-states.txt:
20656         * gst/base/gstbasesrc.c: (gst_basesrc_init),
20657         (gst_basesrc_set_live), (gst_basesrc_is_live),
20658         (gst_basesrc_get_range), (gst_basesrc_activate),
20659         (gst_basesrc_change_state):
20660         * gst/base/gstbasesrc.h:
20661         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20662         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
20663         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
20664         * gst/gstelement.c: (gst_element_get_state_func),
20665         (gst_element_set_state):
20666         * gst/gstelement.h:
20667         * gst/gsttypes.h:
20668         * tools/gst-launch.c: (event_loop), (main):
20669         Added support for live sources and other elements that
20670         cannot do preroll.
20671         Updated design docs, added live-source design doc.
20672         Implemented live source functionality in basesrc
20673         Fix error condition in _bin_get_state()
20674         Implement live source handling in -launch.
20675         Added check for live sources.
20676         Fixed case in GstBin where elements were changed state
20677         multiple times.
20678
20679
20680 2005-06-23  Andy Wingo  <wingo@pobox.com>
20681
20682         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
20683         borken refcounting.
20684
20685         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
20686         gst_caps_replace takes care of this for us.
20687
20688         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
20689         gst_pad_set_caps on the target, not just its setcaps() function.
20690
20691         * tests/network-clock.scm: 
20692         * tests/network-clock-utils.scm: A network clock simulator.
20693         Something of an algorithmic testbed before doing something in C.
20694
20695 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20696
20697         * check/Makefile.am:
20698         * check/gst/capslist.h:
20699           copy over from 0.8, and add two with bitmasks specified with
20700           (int) 0xFF...
20701         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20702           add test to parse everything from capslist.h
20703         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
20704         (main):
20705           add test for structure deserialization
20706         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20707           add tests for deserialization of strings to int types
20708         * gst/gststructure.c: (gst_structure_nth_field_name):
20709         * gst/gststructure.h:
20710           add a way to get the name of a field referenced by index
20711         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20712           instead of checking if the resulting long long lies between
20713           min and max, we check if the long long would fit into
20714           a number of bytes for the final type.
20715           This fixes cases where a string represents 2^32 - 1, which
20716           when cast to int would be the (valid) -1, but is bigger than
20717           G_MAXINT
20718
20719 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20720
20721         * gst/parse/grammar.y:
20722           add a log line for type deserialization
20723
20724 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20725
20726         * check/gst/gstvalue.c: (START_TEST):
20727         * gst/gstvalue.c: (gst_value_deserialize):
20728           return long long, not int, so gint64 deserialization actually
20729           works.  Is there any flag that makes the compiler check this ?
20730           Fixes #308559
20731
20732 2005-06-22  Wim Taymans  <wim@fluendo.com>
20733
20734         * gst/gstbuffer.h:
20735         Added convenience macros for setting buffers in GValue.
20736
20737 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20738
20739         * check/gst/.cvsignore:
20740         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20741           add a test deserializing int64, and comment part out because
20742           it fails, yay !
20743
20744 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20745
20746         * check/Makefile.am:
20747         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
20748         * testsuite/Makefile.am:
20749         * testsuite/caps/Makefile.am:
20750         * testsuite/caps/value_serialize.c:
20751         * testsuite/test_gst_init.c:
20752           move a value_serialize test over
20753
20754 2005-06-20  Wim Taymans  <wim@fluendo.com>
20755
20756         * gst/gstpad.c:
20757         Small doc updates.
20758         
20759         * gst/gstvalue.c: (gst_value_compare_buffer),
20760         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
20761         (gst_value_compare_flags), (gst_value_serialize_flags),
20762         (gst_value_deserialize_flags), (_gst_value_initialize):
20763         Fix serialisation of buffers, they are not boxed types anymore
20764
20765 2005-06-20  Wim Taymans  <wim@fluendo.com>
20766
20767         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20768         Testcase to show error in buffer-on-caps serialisation.
20769
20770 2005-06-20  Andy Wingo  <wingo@pobox.com>
20771
20772         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
20773         will be adding to later.
20774
20775         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
20776         if its socks fill with rocks.
20777         (gst_system_clock_obtain): Set the name on object construction.
20778         Avoid double-checked locking.
20779
20780 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
20781
20782         * gst/gsturi.c: (gst_element_make_from_uri):
20783           Fix potential endless loop.
20784
20785 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20786
20787         * check/Makefile.am:
20788           add gsttag
20789         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
20790         (main):
20791           move over from testsuite dir and clean up
20792         * configure.ac:
20793         * gst/gsttag.c:
20794         * testsuite/Makefile.am:
20795         * testsuite/tags/.cvsignore:
20796         * testsuite/tags/Makefile.am:
20797         * testsuite/tags/merge.c:
20798           remove testsuite/tags
20799
20800 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20801
20802         * docs/gst/gstreamer-sections.txt:
20803         * docs/gst/tmpl/gstenumtypes.sgml:
20804         * win32/gstenumtypes.c:
20805           clean up documentation build a little
20806
20807 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20808
20809         * check/gstcheck.h:
20810           add macros for checking refcounts on objects and caps
20811         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
20812           add some more unit tests
20813         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
20814         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
20815           fix leaked refcounts (I hope :)) so unittest works
20816         * gst/gstpad.h:
20817           whitespace removal
20818
20819 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20820
20821         * configure.ac: back to HEAD
20822
20823 === release 0.9.1 ===
20824
20825 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20826
20827         * NEWS:
20828         * RELEASE:
20829           updated
20830
20831 2005-06-17  Andy Wingo  <wingo@pobox.com>
20832
20833         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
20834         assert; it's always possible that the pad gets deactivated in
20835         between the checks in gstpad.c and the implementation. Rely on
20836         finish_preroll() to return a FLUSHING or similar instead of on the
20837         assert.
20838         
20839         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
20840         clock and post an EOS message if we come out of finish_preroll in
20841         the playing state.
20842
20843 2005-06-16  David Schleef  <ds@schleef.org>
20844
20845         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
20846         (gst_capsfilter_set_property): Allow NULL as possible value
20847         for filter_caps property, indicating GST_CAPS_ANY.
20848
20849 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20850
20851         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
20852           fix debug output
20853         * gst/schedulers/Makefile.am:
20854           use libgst prefix
20855         * gstreamer.spec.in:
20856           fix spec for it
20857
20858 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20859
20860         * gstreamer.spec.in:
20861           clean up
20862
20863 2005-06-08  Andy Wingo  <wingo@pobox.com>
20864
20865         * gst/gstutils.c: RPAD fixes all around.
20866         (gst_element_link_pads): Refcounting fixes.
20867
20868         * tools/gst-inspect.c:
20869         * tools/gst-xmlinspect.c:
20870         * parse/grammar.y:
20871         * gst/base/gsttypefindhelper.c:
20872         * gst/base/gstbasesink.c:
20873         * gst/gstqueue.c: RPAD fixes.
20874
20875         * gst/gstghostpad.h:
20876         * gst/gstghostpad.c: New ghost pad implementation as full proxy
20877         pads. The tricky thing is they provide both source and sink
20878         interfaces, since they proxy the internal pad for the external
20879         pad, and vice versa. Implement with lower-level ProxyPad objects,
20880         with the interior proxy pad as a child of the exterior ghost pad.
20881         Should write a doc on this.
20882         
20883         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
20884         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
20885         gst_object API.
20886         
20887         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
20888         pads are real pads. No ghost pads in this file. Not documenting
20889         the myriad s/RPAD/PAD/ and REALIZE fixes.
20890         (gst_pad_class_init): Add properties for "direction" and
20891         "template". Both are construct-only, so they can't change during
20892         the life of the pad. Fixes properly deriving from GstPad.
20893         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
20894         derived objects, just set properties when creating the objects via
20895         g_object_new.
20896         (gst_pad_get_parent): Implement as a function, return NULL if the
20897         parent is not an element.
20898         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
20899         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
20900         
20901         * gst/gstobject.c (gst_object_class_init): Make name a construct
20902         property. Don't set it in the object init.
20903
20904         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
20905         with UNKNOWN direction.
20906         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
20907         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
20908         (gst_element_remove_pad): Remove ghost-pad special cases.
20909         (gst_element_pads_activate): Remove rpad cruft.
20910
20911         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
20912         catch the pad's-parent-not-an-element case.
20913
20914         * gst/gst.h: Include gstghostpad.h.
20915
20916         * gst/gst.c (init_post): No more real, ghost pads.
20917
20918         * gst/Makefile.am: Add gstghostpad.[ch].
20919
20920         * check/Makefile.am:
20921         * check/gst/gstbin.c:
20922         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
20923         into a bin creates ghost pads, and that the refcounts are right.
20924         Partly moved from gstbin.c.
20925
20926 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20927
20928         * check/gst-libs/.cvsignore:
20929         * check/gst/.cvsignore:
20930         * check/pipelines/.cvsignore:
20931           ignore more
20932         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
20933         (START_TEST), (cleanup_suite), (main):
20934           add some tests related to cleanup after running pipelines
20935
20936 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20937
20938         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
20939           add a testsuite for GstBuffer
20940
20941 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20942
20943         * gst/gstminiobject.h:
20944           add defines for accessing the refcount
20945
20946 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
20947
20948         * Makefile.am: added support for html unit test coverage reports
20949
20950 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
20951
20952         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20953           Free existing caps if the capsfilter changes. Add a FIXME about
20954           setting those caps on the pads.
20955
20956         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
20957           Before adding a ghost pad to a parent bin, check that there isn't
20958           already one for the element on the bin. Prevents infinite recursion
20959           when using decodebin in parse pipelines. Andy says he'll rewrite the
20960           way this works anyway, so ignore the hack.
20961
20962 2005-06-02  Andy Wingo  <wingo@pobox.com>
20963
20964         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
20965         file size, pass it on to the type find helper.
20966
20967         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
20968         segment_start and segment_end properly according to the seek
20969         method. Segment_end is still a bit flaky because offset can be
20970         negative for CUR and END cases, but it takes -1 as an "unset"
20971         value.
20972
20973 2005-06-02  Wim Taymans  <wim@fluendo.com>
20974
20975         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
20976         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
20977         (gst_basesink_activate):
20978         * gst/base/gstbasesink.h:
20979         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20980         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20981         (gst_pad_query), (gst_pad_start_task):
20982         * gst/gstpad.h:
20983         * gst/gstqueue.c: (gst_queue_bufferalloc),
20984         (gst_queue_handle_sink_event), (gst_queue_chain):
20985         Bufferalloc: return GstFlowReturn to more accuratly report
20986         why allocation failed.
20987
20988 2005-06-02  Wim Taymans  <wim@fluendo.com>
20989
20990         * gst/gstpipeline.c: (gst_pipeline_send_event):
20991         Take snapshot of state without blocking.
20992
20993 2005-06-02  Wim Taymans  <wim@fluendo.com>
20994
20995         * docs/design/part-TODO.txt:
20996         * docs/design/part-caps.txt:
20997         * docs/design/part-clocks.txt:
20998         * docs/design/part-negotiation.txt:
20999         * docs/design/part-preroll.txt:
21000         Small doc updates 
21001
21002 2005-05-30  Wim Taymans  <wim@fluendo.com>
21003
21004         * gst/elements/gstidentity.c: (gst_identity_event),
21005         (gst_identity_transform), (gst_identity_get_property):
21006         Protect last_message property as it is accessed from
21007         multiple threads.
21008
21009 2005-05-30  Wim Taymans  <wim@fluendo.com>
21010
21011         * gst/gstelement.c: (gst_element_init),
21012         (gst_element_pads_activate), (gst_element_change_state):
21013         Slicker pad activation code.
21014
21015 2005-05-30  Wim Taymans  <wim@fluendo.com>
21016
21017         * gst/Makefile.am:
21018         * gst/gstelement.h:
21019         * gst/gstelementfactory.h:
21020         * gst/gsttypes.h:
21021         Move elementfactory methods to separate .h file.
21022
21023 2005-05-30  Wim Taymans  <wim@fluendo.com>
21024
21025         * docs/design/part-overview.txt:
21026         * gst/gstsystemclock.h:
21027         Small typo fixes, doc updates.
21028
21029 2005-05-30  Wim Taymans  <wim@fluendo.com>
21030
21031         * gst/gst.c: (gst_init_get_popt_table), (init_post),
21032         (init_popt_callback):
21033         Remove cpu-opt flag.
21034
21035 2005-05-30  Wim Taymans  <wim@fluendo.com>
21036
21037         * gst/gstbuffer.c: (gst_subbuffer_finalize),
21038         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
21039         * gst/gstbuffer.h:
21040         Avoid typechecking in places where not needed.
21041         Added accessor for malloc_data.
21042
21043 2005-05-30  Wim Taymans  <wim@fluendo.com>
21044
21045         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
21046         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
21047         (gst_pad_configure_sink), (gst_pad_configure_src),
21048         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
21049         (gst_pad_start_task):
21050         Propagate errors from _set_caps() in configure_src/sink
21051         functions instead of returning TRUE.
21052         FLUSH events can travel up and downstream
21053
21054
21055 2005-05-30  Wim Taymans  <wim@fluendo.com>
21056
21057         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
21058         (gst_basesink_activate):
21059         Handle EOS in preroll.
21060
21061 2005-05-30  Wim Taymans  <wim@fluendo.com>
21062
21063         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21064         (gst_queue_loop), (gst_queue_handle_src_event):
21065         Remove old pieces of code
21066         Flushing the queue in an upstream event is a very bad idea.
21067
21068 2005-05-26  Andy Wingo  <wingo@pobox.com>
21069
21070         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
21071         gst_value_set_mini_object so as to add a ref on the object (which
21072         will be removed when the value is unset).
21073
21074         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
21075         arg type in ::handoff.
21076
21077         * gst/gstelement.c (gst_element_change_state): Also deactivate
21078         pads in READY->NULL, just in case the element didn't make it to
21079         PAUSED. Wingo tested, Wim approved.
21080
21081 2005-05-26  Wim Taymans  <wim@fluendo.com>
21082
21083         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21084         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
21085         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
21086         A flushing pad cannot be used to alloc_buffer from.
21087
21088 2005-05-26  Wim Taymans  <wim@fluendo.com>
21089
21090         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
21091         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
21092         (gst_bus_source_dispatch), (gst_bus_source_finalize),
21093         (gst_bus_create_watch), (gst_bus_add_watch_full):
21094         * gst/gstbus.h:
21095         Implement a real GSource and use g_main_context_wakeup() to
21096         signal new messages instead of the socketpair.
21097
21098 2005-05-25  Wim Taymans  <wim@fluendo.com>
21099
21100         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
21101         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
21102         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21103         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
21104         (gst_pad_send_event), (gst_pad_start_task):
21105         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
21106         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
21107         (gst_queue_sink_activate), (gst_queue_src_activate),
21108         (gst_queue_change_state):
21109         * gst/gstqueue.h:
21110         Fix state changes for non sinks. We now change sinks, then elements
21111         with unconnected srcpads, then the rest.
21112         More efficient queue unlocking in flush and state changes.
21113         Set the pad activate mode even if it does not have an activate
21114         function.
21115
21116 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21117
21118         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
21119           Don't go in pull mode for non-seekable sources.
21120         * gst/elements/gsttypefindelement.h:
21121         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21122         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
21123         (free_entry), (stop_typefinding),
21124         (gst_type_find_element_handle_event), (find_peek),
21125         (gst_type_find_element_chain), (do_pull_typefind),
21126         (gst_type_find_element_change_state):
21127           Allow typefinding (w/o seeking) in push-mode, simplified version
21128           of what was in 0.8.
21129         * gst/gstutils.c: (gst_buffer_join):
21130         * gst/gstutils.h:
21131           gst_buffer_join() from 0.8.
21132
21133 2005-05-25  Wim Taymans  <wim@fluendo.com>
21134
21135         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
21136         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
21137         (gst_pad_send_event), (gst_pad_start_task):
21138         Disable attempt at mode switching until it is figured out.
21139
21140 2005-05-25  Wim Taymans  <wim@fluendo.com>
21141
21142         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
21143         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
21144         (gst_basesink_finish_preroll), (gst_basesink_chain),
21145         (gst_basesink_loop), (gst_basesink_activate),
21146         (gst_basesink_change_state):
21147         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
21148         (gst_basesrc_get_range), (gst_basesrc_loop),
21149         (gst_basesrc_activate):
21150         * gst/elements/gsttee.c: (gst_tee_sink_activate):
21151         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
21152         (gst_real_pad_init), (gst_real_pad_set_property),
21153         (gst_real_pad_get_property), (gst_pad_set_active),
21154         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
21155         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
21156         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
21157         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
21158         (gst_pad_event_default_dispatch), (gst_pad_event_default),
21159         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
21160         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
21161         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
21162         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
21163         (gst_pad_stop_task):
21164         * gst/gstpad.h:
21165         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21166         (gst_queue_loop), (gst_queue_src_activate):
21167         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
21168         (gst_task_get_state):
21169         * gst/gsttask.h:
21170         * gst/schedulers/threadscheduler.c:
21171         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
21172         Implement gst_pad_pause/start/stop_task(), take STREAM lock
21173         in task function.
21174         Remove ACTIVE pad flag, use FLUSHING everywhere
21175         Added _pad_chain(), _pad_get_range() to call chain/getrange 
21176         functions.
21177         Add locks around IS_FLUSHING when reading.
21178         Take STREAM lock in chain(), get_range() functions so plugins
21179         don't need to take it anymore.
21180         
21181
21182
21183 2005-05-25  Wim Taymans  <wim@fluendo.com>
21184
21185         * tools/gst-launch.c: (event_loop):
21186         Unref message after using its contents instead of
21187         before.
21188
21189 2005-05-24  Wim Taymans  <wim@fluendo.com>
21190
21191         * docs/design/draft-ghostpads.txt:
21192         * docs/design/draft-push-pull.txt:
21193         * docs/design/draft-query.txt:
21194         * docs/design/part-overview.txt:
21195         Docs updates, added general overview doc.
21196
21197 2005-05-21  David Schleef  <ds@schleef.org>
21198
21199         * docs/gst/tmpl/old/GstBin.sgml:
21200         * docs/gst/tmpl/old/GstBuffer.sgml:
21201         * docs/gst/tmpl/old/GstCaps.sgml:
21202         * docs/gst/tmpl/old/GstClock.sgml:
21203         * docs/gst/tmpl/old/GstCompat.sgml:
21204         * docs/gst/tmpl/old/GstData.sgml:
21205         * docs/gst/tmpl/old/GstElement.sgml:
21206         * docs/gst/tmpl/old/GstEvent.sgml:
21207         * docs/gst/tmpl/old/GstIndex.sgml:
21208         * docs/gst/tmpl/old/GstStructure.sgml:
21209         * docs/gst/tmpl/old/GstTag.sgml:
21210         * docs/gst/tmpl/old/cothreads.sgml:
21211         * docs/gst/tmpl/old/cothreads_compat.sgml:
21212         * docs/gst/tmpl/old/gettext.sgml:
21213         * docs/gst/tmpl/old/gobject2gtk.sgml:
21214         * docs/gst/tmpl/old/grammar.tab.sgml:
21215         * docs/gst/tmpl/old/gst-i18n-app.sgml:
21216         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
21217         * docs/gst/tmpl/old/gst_private.sgml:
21218         * docs/gst/tmpl/old/gstaggregator.sgml:
21219         * docs/gst/tmpl/old/gstarch.sgml:
21220         * docs/gst/tmpl/old/gstatomic_impl.sgml:
21221         * docs/gst/tmpl/old/gstbufferstore.sgml:
21222         * docs/gst/tmpl/old/gstdata_private.sgml:
21223         * docs/gst/tmpl/old/gstdisksink.sgml:
21224         * docs/gst/tmpl/old/gstdisksrc.sgml:
21225         * docs/gst/tmpl/old/gstelementfactory.sgml:
21226         * docs/gst/tmpl/old/gstextratypes.sgml:
21227         * docs/gst/tmpl/old/gstfakesink.sgml:
21228         * docs/gst/tmpl/old/gstfakesrc.sgml:
21229         * docs/gst/tmpl/old/gstfdsink.sgml:
21230         * docs/gst/tmpl/old/gstfdsrc.sgml:
21231         * docs/gst/tmpl/old/gstfilesink.sgml:
21232         * docs/gst/tmpl/old/gstfilesrc.sgml:
21233         * docs/gst/tmpl/old/gsthttpsrc.sgml:
21234         * docs/gst/tmpl/old/gstidentity.sgml:
21235         * docs/gst/tmpl/old/gstindexfactory.sgml:
21236         * docs/gst/tmpl/old/gstmarshal.sgml:
21237         * docs/gst/tmpl/old/gstmd5sink.sgml:
21238         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
21239         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
21240         * docs/gst/tmpl/old/gstpadtemplate.sgml:
21241         * docs/gst/tmpl/old/gstpipefilter.sgml:
21242         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
21243         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
21244         * docs/gst/tmpl/old/gstshaper.sgml:
21245         * docs/gst/tmpl/old/gstspider.sgml:
21246         * docs/gst/tmpl/old/gstspideridentity.sgml:
21247         * docs/gst/tmpl/old/gststatistics.sgml:
21248         * docs/gst/tmpl/old/gsttee.sgml:
21249         * docs/gst/tmpl/old/gsttimecache.sgml:
21250         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
21251         * docs/gst/tmpl/old/gstxmlregistry.sgml:
21252         * docs/gst/tmpl/old/gthread-cothreads.sgml:
21253         * docs/gst/tmpl/old/types.sgml:
21254           I didn't intend to add these or check them in.
21255
21256 2005-05-19  David Schleef  <ds@schleef.org>
21257
21258         * configure.ac: Use -no-common everywhere.  In a sane world, it
21259           would be the default in libtool, because without it, you can't
21260           build DLLs on Windows.
21261         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
21262         * docs/gst/gstreamer-sections.txt:
21263         * docs/gst/tmpl/gstcpu.sgml:
21264         * docs/gst/tmpl/gstdata.sgml:
21265         * docs/gst/tmpl/gstthread.sgml:
21266
21267 2005-05-19  David Schleef  <ds@schleef.org>
21268
21269         * gst/gstminiobject.c: (gst_value_set_mini_object),
21270         (gst_value_take_mini_object), (gst_value_get_mini_object):
21271         * gst/gstminiobject.h: Add GValue set/get functions.
21272
21273 2005-05-19  Wim Taymans  <wim@fluendo.com>
21274
21275         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
21276         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
21277         (gst_subbuffer_init), (gst_buffer_is_span_fast):
21278         * gst/gstbuffer.h:
21279         * gst/gstbus.c: (gst_bus_post):
21280         * gst/gstelement.c: (gst_element_get_random_pad):
21281         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
21282         Make subbufer unref the parent in finalize.
21283         some more debugging info.
21284
21285
21286 2005-05-19  Wim Taymans  <wim@fluendo.com>
21287
21288         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21289         (gst_basesink_init), (gst_basesink_finalize),
21290         (gst_basesink_activate), (gst_basesink_change_state):
21291         Don't free preroll queue too early.
21292
21293 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21294
21295         * gst/Makefile.am:
21296         * gst/ROADMAP:
21297           Hi, I'm outdated. Please shoot me.
21298
21299 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21300
21301         * gst/gstpipeline.c: (gst_pipeline_send_event):
21302           Do not access variables after they have been deleted.
21303
21304 2005-05-19  Wim Taymans  <wim@fluendo.com>
21305
21306         * tools/gst-inspect.c: (print_plugin_features):
21307         A plugin feature does unfortunatly not use the
21308         object name yet...
21309
21310 2005-05-18  Wim Taymans  <wim@fluendo.com>
21311
21312         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
21313         Port _span() functions to new subbuffers.
21314
21315 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21316
21317         * gst/gstbin.c: (gst_bin_add_func):
21318           Fix clock settery in bins when adding kids after the clock has
21319           been selected.
21320
21321 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21322
21323         * gst/elements/gstidentity.c: (gst_identity_class_init):
21324           Workaround until signals support GstMiniObject.
21325
21326 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
21327
21328         * gst/gstbuffer.c:
21329         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
21330
21331 2005-05-18  Wim Taymans  <wim@fluendo.com>
21332
21333         * gst/base/Makefile.am:
21334         * gst/base/gstadapter.c: (gst_adapter_base_init),
21335         (gst_adapter_class_init), (gst_adapter_init),
21336         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
21337         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
21338         (gst_adapter_flush), (gst_adapter_available),
21339         (gst_adapter_available_fast):
21340         * gst/base/gstadapter.h:
21341         Ported and added adapter to the base classes.
21342
21343 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21344
21345         * gst/gst.c:
21346         * gst/gstmessage.c:
21347           Make sure the class is reffed/unreffed once before threads can be
21348           used.  Fixes #304551.
21349
21350 2005-05-17  Wim Taymans  <wim@fluendo.com>
21351
21352         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
21353         (gst_basesink_chain_unlocked), (gst_basesink_activate):
21354         * gst/gstminiobject.c: (gst_mini_object_get_type),
21355         (gst_mini_object_free):
21356         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
21357         (gst_pad_push), (gst_pad_push_event):
21358         * gst/gstqueue.c: (gst_queue_change_state):
21359         Don't queue buffers in basesink when we are flushing.
21360         Unref buffer when flushing in basesink.
21361         Flush queue when going to READY
21362         Unref buffer when _push() returns an error.
21363         Don't free MiniObject instance when refcount is incremented
21364         in _finalize() so that we can recover objects.
21365
21366 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21367
21368         * docs/manual/advanced-schedulers.xml:
21369         * docs/manual/appendix-checklist.xml:
21370         * docs/pwg/advanced-clock.xml:
21371         * docs/pwg/advanced-interfaces.xml:
21372         * docs/pwg/advanced-request.xml:
21373         * docs/pwg/advanced-types.xml:
21374         * docs/pwg/intro-preface.xml:
21375         * examples/plugins/example.c: (gst_example_get_type),
21376         (gst_example_class_init), (gst_example_chain),
21377         (gst_example_set_property), (gst_example_get_property),
21378         (gst_example_change_state), (plugin_init):
21379         * examples/plugins/example.h:
21380           small doc fixes
21381
21382 2005-05-17  Wim Taymans  <wim@fluendo.com>
21383
21384         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
21385         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
21386         * gst/gstqueue.c: (gst_queue_change_state):
21387         Clear queue when going to READY.
21388         Remove IN_SETCAPS flag too.
21389
21390 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
21391
21392         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
21393           Remove implicit cast from gboolean to GstElementStateReturn;
21394           make sure we still return failure in paused => ready case if
21395           the parent class fails to change state and our own stop 
21396           vfunc succeeds.
21397
21398 2005-05-17  Wim Taymans  <wim@fluendo.com>
21399
21400         * tools/gst-launch.c: (event_loop):
21401         Message was unreffed too soon.
21402
21403 2005-05-16  Andy Wingo  <wingo@pobox.com>
21404
21405         * gst/gstbin.c (sink_iterator_filter): Err... um...
21406
21407         * check/gst/gstbin.c (test_ghost_pads): New test for the
21408         ghosting-if-elements-not-in-same-bin behavior.
21409
21410 2005-05-16  David Schleef  <ds@schleef.org>
21411
21412         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
21413         accessing refcount directly.
21414
21415 2005-05-15  David Schleef  <ds@schleef.org>
21416
21417         * check/Makefile.am: remove GstData checks
21418         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
21419         * gst/Makefile.am: add miniobject, remove data
21420         * gst/gst.h: add miniobject, remove data
21421         * gst/gstdata.c: remove
21422         * gst/gstdata.h: remove
21423         * gst/gstdata_private.h: remove
21424         * gst/gsttypes.h: remove GstEvent and GstMessage
21425         * gst/gstelement.c: (gst_element_post_message): fix for API changes
21426         * gst/gstmarshal.list: change BOXED -> OBJECT
21427
21428         Implement GstMiniObject.
21429         * gst/gstminiobject.c:
21430         * gst/gstminiobject.h:
21431
21432         Modify to be subclasses of GstMiniObject.
21433         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
21434         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
21435         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
21436         (gst_subbuffer_get_type), (gst_subbuffer_init),
21437         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
21438         (gst_buffer_span):
21439         * gst/gstbuffer.h:
21440         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
21441         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
21442         (_gst_event_copy), (gst_event_new):
21443         * gst/gstevent.h:
21444         * gst/gstmessage.c: (_gst_message_initialize),
21445         (gst_message_get_type), (gst_message_class_init),
21446         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
21447         (gst_message_new), (gst_message_new_error),
21448         (gst_message_new_warning), (gst_message_new_tag),
21449         (gst_message_new_state_changed), (gst_message_new_application):
21450         * gst/gstmessage.h:
21451         * gst/gstprobe.c: (gst_probe_perform),
21452         (gst_probe_dispatcher_dispatch):
21453         * gst/gstprobe.h:
21454         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
21455         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
21456         (_gst_query_copy), (gst_query_new):
21457
21458         Update elements for GstData -> GstMiniObject changes
21459         * gst/gstquery.h:
21460         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
21461         (gst_queue_chain), (gst_queue_loop):
21462         * gst/elements/gstbufferstore.c:
21463         (gst_buffer_store_add_buffer_func),
21464         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
21465         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21466         (gst_fakesink_render):
21467         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
21468         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
21469         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
21470         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
21471         (gst_filesrc_create_read):
21472         * gst/elements/gstidentity.c: (gst_identity_class_init):
21473         * gst/elements/gsttypefindelement.c:
21474         (gst_type_find_element_src_event), (free_entry_buffers),
21475         (gst_type_find_element_handle_event):
21476         * libs/gst/dataprotocol/dataprotocol.c:
21477         (gst_dp_header_from_buffer):
21478         * libs/gst/dataprotocol/dataprotocol.h:
21479         * libs/gst/dataprotocol/dp-private.h:
21480
21481 2005-05-15  David Schleef  <ds@schleef.org>
21482
21483         * gst/elements/gstelements.c: Don't include headers that were
21484         just removed.
21485
21486 2005-05-15  David Schleef  <ds@schleef.org>
21487
21488         * gst/elements/Makefile.am: Remove some elements that don't
21489         need to be in the core (or even exist at all).
21490         * gst/elements/gstaggregator.c:
21491         * gst/elements/gstaggregator.h:
21492         * gst/elements/gstmd5sink.c:
21493         * gst/elements/gstmd5sink.h:
21494         * gst/elements/gstmultifilesrc.c:
21495         * gst/elements/gstmultifilesrc.h:
21496         * gst/elements/gstpipefilter.c:
21497         * gst/elements/gstpipefilter.h:
21498         * gst/elements/gstshaper.c:
21499         * gst/elements/gstshaper.h:
21500         * gst/elements/gststatistics.c:
21501         * gst/elements/gststatistics.h:
21502         * po/POTFILES.in: Remove above files.
21503
21504 2005-05-14  Andy Wingo  <wingo@pobox.com>
21505
21506         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
21507         so as to get the refs right.
21508         (sink_iterator_filter): New function, wraps bin_element_is_sink,
21509         unreffing objects that don't pass the filter.
21510
21511         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
21512         gst_element_set_bus.
21513         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
21514         normal cases, this will destroy the bus.
21515
21516         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
21517         object.
21518
21519         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
21520         has no sinks.
21521
21522 2005-05-13  Andy Wingo  <wingo@pobox.com>
21523
21524         * gst/gstutils.c (gst_element_link_pads): Instead of calling
21525         gst_pad_link, call pad_link_maybe_ghosting,
21526         (pad_link_maybe_ghosting): Links pads, making sure that the
21527         elements being linked are in the same bin.
21528         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
21529         Helpers for pad_link_maybe_ghosting.
21530
21531 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21532
21533         * configure.ac:
21534           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
21535
21536 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21537
21538         * docs/design/part-element-source.txt:
21539           Mention GstPushSrc
21540
21541 2005-05-12  Wim Taymans  <wim@fluendo.com>
21542
21543         * gst/base/gstbasesink.c: (gst_basesink_init),
21544         (gst_basesink_activate):
21545         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
21546         (gst_basesrc_is_seekable):
21547         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21548         (bin_element_is_sink), (gst_bin_change_state):
21549         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21550         * gst/gstelement.h:
21551         Identify sinks by their flag to avoid overly complicated
21552         checks (fow now).
21553         Do state changes even for elements not reachable from the
21554         sinks.
21555         BaseSink is a sink now :)
21556         Some more debugging info in the basesrc.
21557
21558
21559 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21560
21561         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
21562           Implement _query on a bin, similar to _send_event.
21563
21564 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
21565
21566         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
21567           Discont event offset format should be GST_FORMAT_BYTES,
21568           not GST_FORMAT_TIME.
21569
21570 2005-05-12  Wim Taymans  <wim@fluendo.com>
21571
21572         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
21573         Same fix as Ronald's but without the signal. 
21574
21575 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21576
21577         * gst/gstutils.c: (gst_element_query_position):
21578           No, an element is not a pad.
21579
21580 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21581
21582         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
21583         (gst_bin_get_state):
21584           If a child is removed from a bin while we remove the child from
21585           the bin and while we're retrieving its state, signal this to the
21586           get_state function so we abort the wait (instead of waiting for
21587           a timeout) and can immediately re-iterate over all other elements.
21588
21589 2005-05-12  Wim Taymans  <wim@fluendo.com>
21590
21591         * gst/base/Makefile.am:
21592         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
21593         (gst_basesrc_start):
21594         * gst/base/gstbasesrc.h:
21595         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
21596         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
21597         (gst_pushsrc_init), (gst_pushsrc_create):
21598         * gst/base/gstpushsrc.h:
21599         Added is_seekable to BaseSrc
21600         Added simple PushSrc.
21601
21602 2005-05-11  Wim Taymans  <wim@fluendo.com>
21603
21604         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21605         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21606         (gst_element_link_pads), (gst_element_query_position),
21607         (gst_element_query_convert), (intersect_caps_func),
21608         (gst_pad_query_position), (gst_pad_query_convert):
21609         Fix refcounting in utils function.
21610         No point in trying to activate a pad when it's added, it could
21611         be added from the state change function and then we deadlock, the
21612         element has to decide what to do.
21613
21614 2005-05-10  Andy Wingo  <wingo@pobox.com>
21615
21616         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
21617         *all* the arguments.
21618
21619         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
21620         stream lock if it's a FLUSH_DONE; normal flushes don't get the
21621         lock (according to the docs -- if this is wrong change the docs).
21622
21623         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
21624         flush messages in the NULL state.
21625
21626         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
21627         message immediately and return.
21628         (gst_bus_set_flushing): New function. If a bus is flushing, it
21629         flushes out any queued messages and immediately unrefs new
21630         messages. This is so when an element goes to NULL, all of the
21631         unhandled messages coming from it can be freed, and their
21632         references to the element dropped. In other words: message source
21633         ref considered harmful :P
21634
21635         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
21636         we're finished with it.
21637
21638         * gst/gstmessage.c (gst_message_new_state_changed): 
21639
21640 2005-05-10  Wim Taymans  <wim@fluendo.com>
21641
21642         * gst/gstvalue.c: (gst_value_compare_flags),
21643         (gst_value_serialize_flags), (gst_value_deserialize_flags),
21644         (_gst_value_initialize):
21645         Added flags serialize/deserialize/compare code.
21646
21647 2005-05-09  Andy Wingo  <wingo@pobox.com>
21648
21649         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
21650         Intersect the peer's caps with our caps.
21651
21652 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21653
21654         * gst/base/gsttypefindhelper.c: (helper_find_peek):
21655         * gst/elements/gsttypefindelement.c: (find_peek):
21656           Handle negative offsets better. Fixes decodebin.
21657
21658 2005-05-09  Wim Taymans  <wim@fluendo.com>
21659
21660         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
21661         (gst_base_transform_event):
21662         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
21663         Implement accept_caps.
21664         Fix silly lock/unlock mismatch in base class.
21665
21666 2005-05-09  Wim Taymans  <wim@fluendo.com>
21667
21668         * docs/design/draft-push-pull.txt:
21669         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
21670         * gst/elements/gstfilesink.c: (gst_filesink_init),
21671         (gst_filesink_query):
21672         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21673         (gst_type_find_handle_src_query), (find_element_get_length):
21674         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
21675         * gst/gstelement.h:
21676         * gst/gstmessage.c:
21677         * gst/gstmessage.h:
21678         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
21679         (gst_real_pad_get_caps_unlocked),
21680         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
21681         (gst_pad_event_default_dispatch), (gst_pad_event_default),
21682         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
21683         (gst_real_pad_dispose), (gst_real_pad_finalize),
21684         (gst_pad_load_and_link), (gst_pad_save_thyself),
21685         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
21686         (gst_pad_check_pull_range), (gst_pad_pull_range),
21687         (gst_pad_template_get_type), (gst_pad_template_class_init),
21688         (gst_pad_template_init), (gst_pad_template_dispose),
21689         (name_is_valid), (gst_static_pad_template_get),
21690         (gst_pad_template_new), (gst_static_pad_template_get_caps),
21691         (gst_pad_template_get_caps), (gst_pad_set_element_private),
21692         (gst_pad_get_element_private), (gst_pad_start_task),
21693         (gst_pad_pause_task), (gst_pad_stop_task),
21694         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
21695         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
21696         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
21697         (gst_ghost_pad_new):
21698         * gst/gstpad.h:
21699         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
21700         (gst_query_new_position), (gst_query_set_position),
21701         (gst_query_parse_position), (gst_query_new_convert),
21702         (gst_query_set_convert), (gst_query_parse_convert):
21703         * gst/gstquery.h:
21704         * gst/gstqueryutils.c:
21705         * gst/gstqueryutils.h:
21706         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21707         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21708         (gst_queue_handle_src_query):
21709         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21710         (gst_element_query_position), (gst_element_query_convert),
21711         (intersect_caps_func), (gst_pad_query_position),
21712         (gst_pad_query_convert):
21713         * gst/gstutils.h:
21714         * tools/gst-inspect.c: (print_pad_info):
21715         * tools/gst-xmlinspect.c: (print_element_info):
21716         Remove old query functions. Ported old code.
21717         Added position/convert helper functions to gstutils.
21718         Reordered gstpad.c code, grouping relevant things.
21719         Remove gst_message_new(), always need to speficy a specific
21720         message.
21721
21722
21723 2005-05-09  Andy Wingo  <wingo@pobox.com>
21724
21725         * gst/gstiterator.h: Add some includes.
21726
21727         * gst/gstqueryutils.h: Include more headers.
21728
21729         * gst/gstpad.h:
21730         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
21731         some uses of gst_pad_query.
21732
21733         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
21734         NULL out parameters.
21735         (gst_query_new_position): New proc, allocates a new position
21736         query.
21737
21738         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
21739         gstqueryutils.c to the build.
21740
21741         * gst/gststructure.c (gst_structure_set_valist): Implement with
21742         the generic G_VALUE_COLLECT.
21743         
21744 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
21745
21746         * gst/Makefile.am: (gst_headers):
21747         Added gstqueryutils.h to the list of headers to install, that was
21748         a 'nachty' move wingo :)
21749
21750 2005-05-06  Andy Wingo  <wingo@pobox.com>
21751
21752         * gst/gstquery.h
21753         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
21754         GstData, init a memchunk.
21755         (standard_definitions): Add a few query types, deprecate a few.
21756         (gst_query_get_type): New proc.
21757         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
21758         implementation.
21759         (gst_query_new_application, gst_query_get_structure): New public
21760         procs.
21761
21762         * docs/design/draft-query.txt: Removed LINKS from the query types,
21763         because all the rest can be dispatched to other pads -- seemed
21764         ugly to have a query that couldn't be dispatched. internal_links
21765         is fine as a pad method.
21766
21767         * gst/gstpad.h: Add query2 as a pad method, add the new functions
21768         in gstpad.c, but maintain binary compatibility for the moment.
21769         Will fix before 0.9 is out.
21770
21771         * gst/gstqueryutils.c: 
21772         * gst/gstqueryutils.h: New files, implement 3 methods for each
21773         query type: parse_query, parse_response, and set. Probably need an
21774         allocator as well.
21775
21776         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
21777
21778         * gst/elements/gstfilesink.c (gst_filesink_query2):
21779         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
21780         query_types, and formats methods.
21781
21782         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
21783         (gst_pad_set_query2_function): New functions.
21784         (gst_real_pad_init): Set query2_default as the default query2
21785         function. Basically just dispatches to internally linked pads.
21786
21787         Needs review!
21788         
21789         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
21790         without using the atomic operations. Only one thread can possibly
21791         be accessing the data at this point. Changed so as to avoid
21792         gst_atomic operations.
21793
21794 2005-05-06  Wim Taymans  <wim@fluendo.com>
21795
21796         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
21797         Also set caps if we use the fallback buffer alloc.
21798
21799 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
21800
21801         * docs/gst/Makefile.am:
21802         * docs/gst/gstreamer-docs.sgml:
21803         * docs/gst/gstreamer-sections.txt:
21804         * docs/gst/tmpl/gstatomic.sgml:
21805         * docs/gst/tmpl/gstmemchunk.sgml:
21806         * testsuite/elements/struct_i386.h:
21807         * win32/GStreamer.vcproj:
21808         * win32/Makefile:
21809           Purge GstAtomic stuff from docs and win32 makefiles as well
21810
21811 2005-05-06  Wim Taymans  <wim@fluendo.com>
21812
21813         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
21814         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
21815         * gst/gstpad.c: (gst_pad_peer_get_caps):
21816         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21817         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21818         (gst_queue_src_activate), (gst_queue_change_state):
21819         * gst/gstqueue.h:
21820         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21821         (intersect_caps_func):
21822         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
21823         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
21824         Some fixes for the peer_get_caps() change.
21825
21826 2005-05-06  Wim Taymans  <wim@fluendo.com>
21827
21828         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21829         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
21830         (gst_basesink_activate):
21831         Actually do something with error codes returned from the push
21832         functions.
21833
21834 2005-05-06  Wim Taymans  <wim@fluendo.com>
21835
21836         * docs/design/part-element-sink.txt:
21837         * docs/design/part-element-source.txt:
21838         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21839         (gst_basesink_event), (gst_basesink_activate):
21840         * gst/base/gstbasesink.h:
21841         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
21842         (gst_basesrc_activate):
21843         * gst/base/gstbasesrc.h:
21844         * gst/gstelement.c: (gst_element_pads_activate):
21845         Some more documentation.
21846         Fixed scheduling decision in _pads_activate().
21847
21848 2005-05-05  Andy Wingo  <wingo@pobox.com>
21849
21850         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
21851         the test suite.
21852
21853 2005-05-05  Wim Taymans  <wim@fluendo.com>
21854
21855         * gst/base/Makefile.am:
21856         * gst/base/gstbasesink.h:
21857         * gst/base/gstbasesrc.c: (gst_basesrc_init),
21858         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
21859         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
21860         (gst_collectpads_class_init), (gst_collectpads_init),
21861         (gst_collectpads_finalize), (gst_collectpads_new),
21862         (gst_collectpads_set_function), (gst_collectpads_add_pad),
21863         (find_pad), (gst_collectpads_remove_pad),
21864         (gst_collectpads_is_active), (gst_collectpads_collect),
21865         (gst_collectpads_collect_range), (gst_collectpads_start),
21866         (gst_collectpads_stop), (gst_collectpads_peek),
21867         (gst_collectpads_pop), (gst_collectpads_available),
21868         (gst_collectpads_read), (gst_collectpads_flush),
21869         (gst_collectpads_chain):
21870         * gst/base/gstcollectpads.h:
21871         * gst/elements/Makefile.am:
21872         * gst/elements/gstelements.c:
21873         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21874         (gst_fakesink_get_times), (gst_fakesink_event),
21875         (gst_fakesink_preroll), (gst_fakesink_render):
21876         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
21877         (gst_filesink_init), (gst_filesink_set_location),
21878         (gst_filesink_open_file), (gst_filesink_close_file),
21879         (gst_filesink_pad_query), (gst_filesink_event),
21880         (gst_filesink_render), (gst_filesink_change_state):
21881         * gst/elements/gstfilesink.h:
21882         Added object to help in making collect pad based elements.
21883         Ported filesink.
21884         Make event function in sink baseclass return gboolean.
21885
21886 2005-05-05  Wim Taymans  <wim@fluendo.com>
21887
21888         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
21889         (gst_bin_get_by_name):
21890         * gst/gstbuffer.h:
21891         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
21892         (gst_clock_finalize):
21893         * gst/gstdata.c: (gst_data_replace):
21894         * gst/gstdata.h:
21895         * gst/gstelement.c: (gst_element_request_pad),
21896         (gst_element_pads_activate):
21897         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
21898         (gst_object_unref):
21899         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21900         (gst_pad_set_checkgetrange_function),
21901         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
21902         (gst_pad_check_pull_range), (gst_pad_pull_range),
21903         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21904         (gst_pad_pause_task), (gst_pad_stop_task):
21905         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21906         (gst_element_request_pad), (gst_pad_proxy_getcaps):
21907         Fix name lookup in GstBin.
21908         Added _data_replace() function and _buffer_replace()
21909         Use finalize method to clean up clock.
21910         Fix refcounting on request pads.
21911         Fix pad schedule mode error.
21912         Some more object refcounting debug info,
21913
21914
21915 2005-05-04  Andy Wingo <wingo@pobox.com>
21916
21917         * check/Makefile.am:
21918         * docs/gst/tmpl/gstatomic.sgml:
21919         * docs/gst/tmpl/gstplugin.sgml:
21920         * gst/base/gstbasesink.c: (gst_basesink_activate):
21921         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
21922         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
21923         (gst_basesrc_query), (gst_basesrc_set_property),
21924         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
21925         (gst_basesrc_activate):
21926         * gst/base/gstbasesrc.h:
21927         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
21928         (gst_base_transform_src_activate):
21929         * gst/elements/gstelements.c:
21930         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21931         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21932         * gst/elements/gsttee.c: (gst_tee_sink_activate):
21933         * gst/elements/gsttypefindelement.c: (find_element_get_length),
21934         (gst_type_find_element_checkgetrange),
21935         (gst_type_find_element_activate):
21936         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
21937         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
21938         (gst_caps_load_thyself):
21939         * gst/gstelement.c: (gst_element_pads_activate),
21940         (gst_element_save_thyself), (gst_element_restore_thyself):
21941         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
21942         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
21943         * gst/gstpad.h:
21944         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
21945         (gst_xml_parse_file), (gst_xml_parse_memory),
21946         (gst_xml_get_element), (gst_xml_make_element):
21947         * gst/indexers/gstfileindex.c: (gst_file_index_load),
21948         (_file_index_id_save_xml), (gst_file_index_commit):
21949         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
21950         (read_enum), (load_pad_template), (load_feature), (load_plugin),
21951         (load_paths):
21952         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
21953         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
21954         * tools/gst-complete.c: (main):
21955         * tools/gst-compprep.c: (main):
21956         * tools/gst-inspect.c: (print_element_properties_info):
21957         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
21958         * tools/gst-xmlinspect.c: (print_element_properties):
21959         GCC 4 fixen.
21960         
21961 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21962
21963         * gst/gstplugin.c: (gst_plugin_check_module),
21964         (gst_plugin_check_file), (gst_plugin_load_file):
21965             apply patch from #172526 to make register work on MacOSX
21966
21967 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21968
21969         * docs/gst/tmpl/gstconfig.sgml:
21970         * gst/gstconfig.h.in:
21971           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
21972         * testsuite/debug/printf_extension.c: (main):
21973           Do not use GST_PTR_FORMAT on pointers to types with
21974           sizeof < sizeof(gpointer).  Fixes test on 64-bit
21975         * testsuite/elements/property.h:
21976           use correct printf format
21977
21978 2005-05-02  Wim Taymans  <wim@fluendo.com>
21979
21980         * docs/design/draft-push-pull.txt:
21981         * docs/design/draft-query.txt:
21982         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
21983         (gst_basesrc_start):
21984         Added draft for new query API.
21985         Added draft for better selecting scheduling methods.
21986         Make basesrc ignore length if the subclass does not support
21987         it.
21988
21989 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21990
21991         * gst/Makefile.am:
21992           possible fixes for automake-1.5 - _LIBADD is reserved
21993
21994 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21995
21996         * docs/faq/Makefile.am:
21997         * docs/manual/Makefile.am:
21998         * docs/manuals.mak:
21999         * docs/pwg/Makefile.am:
22000         * gst/Makefile.am:
22001           possible fixes for automake-1.5
22002
22003 2005-04-28  Wim Taymans  <wim@fluendo.com>
22004
22005         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22006         (gst_basesink_pad_getcaps), (gst_basesink_init),
22007         (gst_basesink_do_sync):
22008         * gst/gstclock.c: (gst_clock_entry_new):
22009         * gst/gstevent.c: (gst_event_discont_get_value):
22010         * gst/gstpipeline.c: (pipeline_bus_handler),
22011         (gst_pipeline_change_state):
22012         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
22013         Better debugging of clocking info.
22014         Allow NULL values when getting discont values.
22015
22016 2005-04-27  Wim Taymans  <wim@fluendo.com>
22017
22018         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
22019         * check/gst/gstpad.c: (gst_pad_suite):
22020         Increase timeout for checks.
22021
22022 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
22023
22024         * check/Makefile.am:
22025           fix the broken rule for cleanup.  Apparently this rule is
22026           only needed on FC2, so maybe this warrants further autotool
22027           inspection.
22028
22029 2005-04-26  Wim Taymans  <wim@fluendo.com>
22030
22031         * gst/gsttrashstack.h:
22032         Ooohh. a nasty one! After having a failed pop() from the stack,
22033         it's possible that the stack is empty. In that case, don't
22034         follow the NULL pointer.
22035
22036 2005-04-25  Wim Taymans  <wim@fluendo.com>
22037
22038         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22039         (gst_pad_set_checkgetrange_function),
22040         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
22041         (gst_pad_check_pull_range), (gst_pad_pull_range),
22042         (gst_static_pad_template_get_caps), (gst_pad_start_task),
22043         (gst_pad_pause_task), (gst_pad_stop_task):
22044         * gst/gstplugin.c: (gst_plugin_load):
22045         * gst/gstplugin.h:
22046         Remove gst_library_load as it does more harm than good with
22047         the new g_module flags.
22048         Revert bogus caps template check in pad linking, pad caps
22049         are important when linking not the template, which is more
22050         general than the current caps.
22051
22052 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22053
22054         * gst/autoplug/.cvsignore:
22055         * gst/autoplug/Makefile.am:
22056         * gst/autoplug/gstsearchfuncs.c:
22057         * gst/autoplug/gstsearchfuncs.h:
22058         * gst/autoplug/gstspider.c:
22059         * gst/autoplug/gstspider.h:
22060         * gst/autoplug/gstspideridentity.c:
22061         * gst/autoplug/gstspideridentity.h:
22062         * gst/autoplug/spidertest.c:
22063           Die, spider, die.
22064
22065 2005-04-25  Wim Taymans  <wim@fluendo.com>
22066
22067         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22068         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
22069         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
22070         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
22071         * gst/gstpad.h:
22072         Added stubs for unimplemented functions. 
22073
22074 2005-04-24  David Schleef  <ds@schleef.org>
22075
22076         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
22077         please fix.
22078
22079 2005-04-24  David Schleef  <ds@schleef.org>
22080
22081         Convert everything from GstAtomicInt to g_atomic_int_*, and
22082         remove gstatomic.
22083         * gst/Makefile.am:
22084         * gst/gstatomic.c:
22085         * gst/gstatomic.h:
22086         * gst/gstatomic_impl.h:
22087         * gst/gstbuffer.c:
22088         * gst/gstcaps.c:
22089         * gst/gstcaps.h:
22090         * gst/gstclock.c:
22091         * gst/gstclock.h:
22092         * gst/gstdata.c:
22093         * gst/gstdata.h:
22094         * gst/gstdata_private.h:
22095         * gst/gstevent.c:
22096         * gst/gstinfo.c:
22097         * gst/gstinfo.h:
22098         * gst/gstmessage.c:
22099         * gst/gstobject.c:
22100         * gst/gstobject.h:
22101         * gst/gststructure.c:
22102         * gst/gststructure.h:
22103         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
22104         * gst/gstutils.h:
22105
22106 2005-04-24  David Schleef  <ds@schleef.org>
22107
22108         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
22109         make the regressions tests work.  Remove some code that is no
22110         longer true.
22111         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
22112         Disable warning for pads without templates.
22113
22114 2005-04-24  David Schleef  <ds@schleef.org>
22115
22116         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
22117         functions that handle filtered links.
22118         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
22119         removed functions.
22120         * gst/gstutils.c: Fix/remove utility functions that handle
22121         filtered caps.
22122         * gst/gstutils.h:
22123         * gst/gstvalue.c: Add serialization/deserialization of caps
22124         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
22125         requires fixing so that the filter caps notation creates
22126         a capsfilter element and sets the filter_caps property.  I
22127         think everyone probably wants to keep the shorthand notation.
22128         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
22129         * docs/gst/tmpl/gstpad.sgml:
22130
22131         * gst/elements/gstelements.c: Register capsfilter element.
22132         * gst/Makefile.am: fix spacing
22133         * docs/random/ds/0.9-suggested-changes: random
22134
22135 2005-04-23  David Schleef  <ds@schleef.org>
22136
22137         * gst/elements/Makefile.am:
22138         * gst/elements/gstcapsfilter.c: New element that acts like an
22139         identity, but filters caps.  Will eventually replace filtered
22140         caps in pad linking.
22141         * gst/gstutils.c: (gst_element_create_all_pads): New function
22142         to create all the ALWAYS pads that are registered with an
22143         element class.  This functionality should eventually be
22144         merged in with GstElement initialization.
22145         * gst/gstutils.h:
22146         * testsuite/trigger/README: part of trigger test code that should
22147         have been checked in a long time ago.
22148
22149 2005-04-23  David Schleef  <ds@schleef.org>
22150
22151         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
22152         needed with new versions of libtool (nobody will confirm this),
22153         and hard to carry around.
22154         * gst/autoplug/Makefile.am:
22155         * gst/base/Makefile.am:
22156         * gst/elements/Makefile.am:
22157         * gst/indexers/Makefile.am:
22158         * gst/schedulers/Makefile.am:
22159         * libs/gst/bytestream/Makefile.am:
22160         * libs/gst/control/Makefile.am:
22161         * libs/gst/dataprotocol/Makefile.am:
22162         * libs/gst/getbits/Makefile.am:
22163
22164 2005-04-21  Wim Taymans  <wim@fluendo.com>
22165
22166         * docs/design/draft-push-pull.txt:
22167         * docs/design/part-MT-refcounting.txt:
22168         * docs/design/part-TODO.txt:
22169         * docs/design/part-caps.txt:
22170         * docs/design/part-events.txt:
22171         * docs/design/part-gstbus.txt:
22172         * docs/design/part-gstpipeline.txt:
22173         * docs/design/part-messages.txt:
22174         * docs/design/part-push-pull.txt:
22175         * docs/design/part-query.txt:
22176         Some more docs.
22177
22178 2005-04-21  Wim Taymans  <wim@fluendo.com>
22179
22180         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
22181         (gst_message_new), (gst_message_new_error),
22182         (gst_message_new_warning), (gst_message_new_tag),
22183         (gst_message_new_state_changed), (gst_message_new_application),
22184         (gst_message_get_structure):
22185         * gst/gstmessage.h:
22186         * gst/gststructure.c: (gst_structure_set_parent_refcount),
22187         (gst_structure_copy_conditional):
22188         Use parent refcount in GstMessage to ensure GstStructure
22189         consistency.
22190         Cleaned up headers a bit.
22191         
22192
22193 2005-04-20  Wim Taymans  <wim@fluendo.com>
22194
22195         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22196         (gst_basesink_pad_getcaps), (gst_basesink_init),
22197         (gst_basesink_chain_unlocked):
22198         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
22199         (gst_type_find_helper):
22200         * gst/elements/gsttypefindelement.c:
22201         (gst_type_find_element_have_type), (gst_type_find_element_init),
22202         (stop_typefinding), (gst_type_find_element_handle_event),
22203         (find_suggest), (gst_type_find_element_chain),
22204         (gst_type_find_element_checkgetrange),
22205         (gst_type_find_element_getrange), (do_typefind),
22206         (gst_type_find_element_activate):
22207         * gst/gstbuffer.c: (_gst_buffer_sub_free),
22208         (gst_buffer_default_free), (gst_buffer_default_copy),
22209         (gst_buffer_set_caps):
22210         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
22211         (gst_caps_replace):
22212         * gst/gstmessage.c: (gst_message_new),
22213         (gst_message_new_state_changed):
22214         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22215         (gst_pad_set_checkgetrange_function),
22216         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
22217         (gst_pad_set_caps), (gst_pad_check_pull_range),
22218         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
22219         * gst/gstpad.h:
22220         * gst/gsttypefind.c: (gst_type_find_register):
22221         Make gst_caps_replace() work like other _replace() functions.
22222         Use _caps_replace() where possible.
22223         Make sure _message_new() initialises its field.
22224         Add gst_static_pad_template_get_caps()
22225
22226
22227 2005-04-18  Andy Wingo  <wingo@pobox.com>
22228
22229         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
22230         on the peer, not the pad. I think that was a typo. Pass an extra
22231         arg to see if random access is possible. Activate the pads as
22232         PULL_RANGE if possible.
22233
22234         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
22235
22236         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
22237         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
22238         to PROP_....
22239
22240 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22241
22242         * docs/faq/using.xml:
22243           Add note on gstreamer-properties (#154996).
22244
22245 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22246
22247         * docs/random/bbb/optional-properties:
22248           Some analysis on optional properties.
22249
22250 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22251
22252         * docs/gst/tmpl/gstelementfactory.sgml:
22253         * gst/gstelement.h:
22254         * gst/gstelementfactory.c: (gst_element_factory_init),
22255         (gst_element_factory_cleanup), (gst_element_register),
22256         (__gst_element_factory_add_static_pad_template),
22257         (gst_element_factory_get_static_pad_templates),
22258         (gst_element_factory_can_src_caps),
22259         (gst_element_factory_can_sink_caps):
22260         * gst/registries/Makefile.am:
22261         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
22262         (gst_xml_registry_class_init), (gst_xml_registry_init),
22263         (gst_xml_registry_new), (gst_xml_registry_set_property),
22264         (gst_xml_registry_get_property), (get_time), (make_dir),
22265         (gst_xml_registry_get_perms_func),
22266         (plugin_times_older_than_recurse), (plugin_times_older_than),
22267         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
22268         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
22269         (add_to_char_array), (read_string), (read_uint), (read_enum),
22270         (load_pad_template), (load_feature), (load_plugin), (load_paths),
22271         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
22272         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
22273         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
22274         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
22275         (gst_xml_registry_rebuild):
22276         * gst/registries/gstlibxmlregistry.h:
22277         * tools/gst-compprep.c: (main):
22278         * tools/gst-inspect.c: (print_pad_templates_info):
22279         * tools/gst-xmlinspect.c: (print_element_info):
22280           Use libxml2 for registry parsing, use staticpadtemplates in
22281           elementfactories. Makes gst_init() +/- 10x faster.
22282
22283 2005-04-12  Wim Taymans  <wim@fluendo.com>
22284
22285         * gst/base/Makefile.am:
22286         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22287         (gst_basesink_pad_getcaps), (gst_basesink_init),
22288         (gst_basesink_event), (gst_basesink_change_state):
22289         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22290         (gst_basesrc_init), (gst_basesrc_query),
22291         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22292         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22293         (gst_basesrc_check_get_range), (gst_basesrc_loop),
22294         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22295         (gst_basesrc_stop), (gst_basesrc_activate),
22296         (gst_basesrc_change_state):
22297         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22298         (helper_find_suggest), (gst_type_find_helper):
22299         * gst/base/gsttypefindhelper.h:
22300         * gst/elements/Makefile.am:
22301         * gst/elements/gstelements.c:
22302         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
22303         (gst_fakesink_get_times), (gst_fakesink_event),
22304         (gst_fakesink_preroll), (gst_fakesink_render):
22305         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22306         (gst_fakesrc_init), (gst_fakesrc_event_handler),
22307         (gst_fakesrc_get_property), (gst_fakesrc_create),
22308         (gst_fakesrc_start), (gst_fakesrc_stop):
22309         * gst/elements/gstfakesrc.h:
22310         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
22311         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22312         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22313         (gst_filesrc_create_read), (gst_filesrc_create),
22314         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
22315         (gst_filesrc_start):
22316         * gst/elements/gsttypefindelement.c:
22317         (gst_type_find_element_have_type), (gst_type_find_element_init),
22318         (start_typefinding), (stop_typefinding), (push_buffer_store),
22319         (gst_type_find_element_handle_event),
22320         (gst_type_find_element_chain),
22321         (gst_type_find_element_checkgetrange),
22322         (gst_type_find_element_getrange), (do_typefind),
22323         (gst_type_find_element_activate),
22324         (gst_type_find_element_change_state):
22325         * gst/elements/gsttypefindelement.h:
22326         * gst/gstpipeline.c: (pipeline_bus_handler):
22327         Added typefind helper.
22328         Small preroll fix in the base sink.
22329         Disable typefind code in basesrc.
22330         Crude port of typefindelement.
22331         Fakesrc cleanups.
22332
22333
22334 2005-04-11  Wim Taymans  <wim@fluendo.com>
22335
22336         * check/gst/gstbus.c: (gstbus_suite):
22337         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
22338         * check/gstcheck.h:
22339           Fix up the timeout so that the test does not fail.
22340
22341 2005-04-06  Wim Taymans  <wim@fluendo.com>
22342
22343         * gst/base/README:
22344         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22345         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
22346         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22347         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22348         (gst_basesrc_check_get_range), (gst_basesrc_loop),
22349         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22350         (gst_basesrc_stop), (gst_basesrc_activate),
22351         (gst_basesrc_change_state), (basesrc_find_peek),
22352         (basesrc_find_suggest), (gst_basesrc_type_find):
22353         * gst/base/gstbasesrc.h:
22354         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
22355         (gst_filesrc_class_init), (gst_filesrc_init),
22356         (gst_filesrc_finalize), (gst_filesrc_set_location),
22357         (gst_filesrc_set_property), (gst_filesrc_get_property),
22358         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22359         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22360         (gst_filesrc_create_read), (gst_filesrc_create),
22361         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
22362         * gst/elements/gstfilesrc.h:
22363         * gst/gstelement.c: (gst_element_get_state_func),
22364         (gst_element_lost_state), (gst_element_pads_activate):
22365         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22366         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
22367         (gst_pad_pull_range):
22368         * gst/gstpad.h:
22369         More work on the generic source base class, implement seeking,
22370         query.
22371         Make filesrc extend the base source class.
22372         Added gst_pad_set_checkgetrange_function to GstPad.
22373
22374 2005-04-06  Andy Wingo  <wingo@pobox.com>
22375
22376         * pkgconfig/gstreamer-base.pc.in:
22377         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
22378
22379         * pkgconfig/Makefile.am:
22380         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
22381
22382 2005-04-04  Wim Taymans  <wim@fluendo.com>
22383
22384         * gst/base/Makefile.am:
22385         * gst/base/README:
22386         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22387         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22388         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22389         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
22390         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22391         (gst_basesrc_base_init), (gst_basesrc_class_init),
22392         (gst_basesrc_init), (gst_basesrc_get_formats),
22393         (gst_basesrc_get_query_types), (gst_basesrc_query),
22394         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
22395         (gst_basesrc_set_property), (gst_basesrc_get_property),
22396         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
22397         (gst_basesrc_loop), (gst_basesrc_activate),
22398         (gst_basesrc_change_state):
22399         * gst/base/gstbasesrc.h:
22400         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
22401         (gst_fakesrc_class_init), (gst_fakesrc_init),
22402         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
22403         (gst_fakesrc_get_property), (gst_fakesrc_create):
22404         * gst/elements/gstfakesrc.h:
22405         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
22406         (gst_filesrc_open_file), (gst_filesrc_loop),
22407         (gst_filesrc_activate), (filesrc_find_peek),
22408         (gst_filesrc_type_find):
22409         Made base source class, make fakesrc extend it.
22410         Add comments to basesink class.
22411         Some filesrc cleanup.
22412
22413 2005-03-31  David Schleef  <ds@schleef.org>
22414
22415         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
22416         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
22417         expected to link against libgstreamer.
22418         * gst/base/Makefile.am: link against libgstreamer
22419         * gst/elements/Makefile.am: same
22420
22421 2005-03-31  Andy Wingo  <wingo@pobox.com>
22422
22423         * tests/instantiate/Makefile.am:
22424         * tests/instantiate/caps.c: Add test to test speed of caps copy
22425         and free.
22426
22427         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
22428         GMemChunk to be fair.
22429
22430         * gst/gsttrashstack.h: Remove warning about using the fallback
22431         trash stack implementation, it's still faster than malloc.
22432
22433 2005-03-30  Andy Wingo  <wingo@pobox.com>
22434
22435         * tests/complexity.c: Add a copyright.
22436
22437 2005-03-31  Wim Taymans  <wim@fluendo.com>
22438
22439         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
22440         (gst_base_transform_class_init), (gst_base_transform_init),
22441         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
22442         (gst_base_transform_get_property),
22443         (gst_base_transform_sink_activate),
22444         (gst_base_transform_src_activate),
22445         (gst_base_transform_change_state):
22446         * gst/base/gstbasetransform.h:
22447         * gst/elements/gstidentity.c: (gst_identity_class_init),
22448         (gst_identity_event), (gst_identity_check_perfect),
22449         (gst_identity_transform), (gst_identity_start),
22450         (gst_identity_stop):
22451         Added start/stop methods to transform base class so subclasses 
22452         don't need to deal with state changes even.
22453
22454 2005-03-31  Wim Taymans  <wim@fluendo.com>
22455
22456         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
22457         (gst_event_new_discontinuous), (gst_event_discont_get_value):
22458         * gst/gstevent.h:
22459         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22460         (gst_pad_pull_range):
22461         Added rate to the discont event to prepare for variable speed
22462         and reverse playback.
22463
22464 2005-03-29  David Schleef  <ds@schleef.org>
22465
22466         * configure.ac:
22467         * testsuite/trigger/Makefile.am:
22468         * testsuite/trigger/trigger.c: A little example program to show
22469         how trigger-based elements can work.
22470
22471 2005-03-29  Wim Taymans  <wim@fluendo.com>
22472
22473         * gst/base/Makefile.am:
22474         * gst/base/README:
22475         * gst/base/gstbasesink.c: (gst_basesink_get_type),
22476         (gst_basesink_base_init), (gst_basesink_class_init),
22477         (gst_basesink_pad_getcaps), (gst_basesink_init),
22478         (gst_basesink_activate), (gst_basesink_change_state):
22479         * gst/base/gstbasesink.h:
22480         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
22481         (gst_base_transform_base_init), (gst_base_transform_finalize),
22482         (gst_base_transform_class_init), (gst_base_transform_init),
22483         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
22484         (gst_base_transform_event), (gst_base_transform_getrange),
22485         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
22486         (gst_base_transform_set_property),
22487         (gst_base_transform_get_property),
22488         (gst_base_transform_sink_activate),
22489         (gst_base_transform_src_activate),
22490         (gst_base_transform_change_state):
22491         * gst/base/gstbasetransform.h:
22492         * gst/elements/gstidentity.c: (gst_identity_finalize),
22493         (gst_identity_class_init), (gst_identity_init),
22494         (gst_identity_event), (gst_identity_check_perfect),
22495         (gst_identity_transform), (gst_identity_set_property),
22496         (gst_identity_get_property), (gst_identity_change_state):
22497         * gst/elements/gstidentity.h:
22498         * gst/gstelement.c: (gst_element_get_state_func),
22499         (gst_element_lost_state), (gst_element_pads_activate):
22500         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22501         (gst_pad_check_pull_range), (gst_pad_pull_range):
22502         * gst/gstpad.h:
22503         Simplify pad activation.
22504         Added function to check if pull_range can be performed.
22505         Error out when pulling inactive or flushing pads.
22506         Removed const from refcounted types as it does not make sense.
22507         Simplify pad templates in basesink
22508         Added base class for simple 1-to-1 transforms.
22509         Make identity subclass the base transform.
22510
22511 2005-03-29  Andy Wingo  <wingo@pobox.com>
22512
22513         * docs/libs/gstreamer-libs-overrides.txt: 
22514         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
22515         really don't understand what's going on, but like whatever. I want
22516         green buildbot!
22517
22518         * docs/gst/Makefile.am:
22519         * docs/libs/Makefile.am: Dist the overrides files.
22520
22521         * check/Makefile.am (clean-local): Remove .libs directories.
22522
22523         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
22524         elements to EXTRA_DIST, so po/ files are happy.
22525
22526         * po/POTFILES.in: Er, remove it here.
22527
22528         * po/POTFILES: Remove gstspider.c.
22529
22530         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
22531
22532         * docs/libs/gstreamer-libs-docs.sgml: 
22533         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
22534         bytestream.
22535
22536         * tests/complexity.c (main): Set the length of the preroll queue
22537         on the sinks to prevent a lockup.
22538
22539         * libs/gst/dataprotocol/Makefile.am: 
22540         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
22541         the same as the one in check/gst-libs/gdp.c.
22542
22543         * po/, docs/gst/: Commit automatic changes to docs and po files.
22544
22545         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
22546         the versioned libgstbase.
22547
22548         * check/Makefile.am: Depend on an unversioned gst-register, seems
22549         to make autoconf happier.
22550
22551         * gst/base/Makefile.am: Make libgstbase a versioned lib.
22552
22553 2005-03-28  Wim Taymans  <wim@fluendo.com>
22554
22555         * configure.ac:
22556         * docs/design/part-gstelement.txt:
22557         * docs/design/part-negotiation.txt:
22558         * docs/design/part-preroll.txt:
22559         * docs/design/part-scheduling.txt:
22560         * docs/design/part-states.txt:
22561         * gst/Makefile.am:
22562         * gst/base/Makefile.am:
22563         * gst/base/README:
22564         * gst/base/gstbasesink.c: (gst_basesink_get_template),
22565         (gst_basesink_base_init), (gst_basesink_class_init),
22566         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22567         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22568         (gst_basesink_set_pad_functions),
22569         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
22570         (gst_basesink_set_property), (gst_basesink_get_property),
22571         (gst_base_sink_get_template), (gst_base_sink_get_caps),
22572         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
22573         (gst_basesink_preroll_queue_push),
22574         (gst_basesink_preroll_queue_empty),
22575         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
22576         (gst_basesink_event), (gst_basesink_get_times),
22577         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
22578         (gst_basesink_chain_unlocked), (gst_basesink_chain),
22579         (gst_basesink_loop), (gst_basesink_activate),
22580         (gst_basesink_change_state):
22581         * gst/base/gstbasesink.h:
22582         * gst/elements/Makefile.am:
22583         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
22584         (gst_fakesink_class_init), (gst_fakesink_init),
22585         (gst_fakesink_set_property), (gst_fakesink_get_property),
22586         (gst_fakesink_get_times), (gst_fakesink_event),
22587         (gst_fakesink_preroll), (gst_fakesink_render),
22588         (gst_fakesink_change_state):
22589         * gst/elements/gstfakesink.h:
22590         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22591         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
22592         * gst/gstelement.c: (gst_element_add_pad),
22593         (gst_element_get_state_func), (gst_element_abort_state),
22594         (gst_element_commit_state), (gst_element_lost_state),
22595         (gst_element_set_state), (gst_element_pads_activate):
22596         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
22597         * gst/gstpipeline.c: (gst_pipeline_send_event),
22598         (gst_pipeline_change_state):
22599         Added state change code.
22600         Added/updated docs.
22601         Added sink base class, make fakesink extend the base class.
22602         Small cleanups in GstPipeline.
22603
22604 2005-03-26  David Schleef  <ds@schleef.org>
22605
22606         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
22607         is broken and should be implemented in a different library.
22608         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
22609         * gst/gst.h: remove gstcpu.h
22610         * gst/gstcpu.c: remove
22611         * gst/gstcpu.h: remove
22612         * gst/Makefile.am.future: Remove this file.  It's ancient.
22613
22614 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22615
22616         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22617         (gst_bin_send_event):
22618           Add default event/set_manager handlers. The set_manager handler
22619           takes care that the manager is distributed over kids that were
22620           already in the bin before the manager was set. The event handler
22621           is a utility virtual function that sends the event over all sinks,
22622           so that gst_element_send_event (bin, event); has the expected
22623           behaviour.
22624         * gst/gstpad.c: (gst_pad_event_default):
22625           Re-install default event handling for discontinuities, so that
22626           seeking works without requiring hacks in applications or extra
22627           code in sinks.
22628         * gst/gstpipeline.c: (gst_pipeline_class_init),
22629         (gst_pipeline_send_event):
22630           Half hack, half utility: set a pipeline to PAUSED for seek events,
22631           since that is the only way we can guarantee a/v sync. Means that
22632           you can do gst_element_seek (pipeline, method, pos); on a pipeline
22633           and it "just works".
22634
22635 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22636
22637         * gst/gstpipeline.c: (gst_pipeline_use_clock):
22638           Lock/unlock mismatch.
22639
22640 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22641
22642         * docs/faq/gst-uninstalled:
22643           add gst-plugins-base
22644         * docs/gst/Makefile.am:
22645           don't error out until docs are fixed
22646         * docs/gst/gstreamer.types:
22647           remove thread
22648
22649 2005-03-22  Wim Taymans  <wim@fluendo.com>
22650
22651         * check/Makefile.am:
22652         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
22653         * gst/gststructure.c: (gst_structure_set_valist),
22654         (gst_structure_copy_conditional):
22655         Activated more tests.
22656         Added message test.
22657         Added G_TYPE_POINTER to GstStructure.
22658         
22659
22660 2005-03-22  Wim Taymans  <wim@fluendo.com>
22661
22662         * docs/design/part-TODO.txt:
22663         * docs/design/part-events.txt:
22664         * docs/design/part-gstbin.txt:
22665         * docs/design/part-gstbus.txt:
22666         * docs/design/part-gstpipeline.txt:
22667         * docs/design/part-messages.txt:
22668         * gst/gstbus.c:
22669         * gst/gstmessage.c:
22670         Docs updates
22671
22672 2005-03-21  Wim Taymans  <wim@fluendo.com>
22673
22674         * gst/gstbus.c: (gst_bus_post):
22675         Fix copy-and-paste error.
22676
22677 2005-03-21  Wim Taymans  <wim@fluendo.com>
22678
22679         * check/Makefile.am:
22680         * gst/Makefile.am:
22681         * gst/elements/Makefile.am:
22682         * gst/elements/gstelements.c:
22683         * gst/elements/gstfakesink.c: (gst_fakesink_init),
22684         (gst_fakesink_event), (gst_fakesink_chain):
22685         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22686         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
22687         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
22688         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
22689         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22690         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
22691         (gst_fakesrc_loop), (gst_fakesrc_activate),
22692         (gst_fakesrc_change_state):
22693         * gst/elements/gstfakesrc.h:
22694         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
22695         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
22696         (gst_filesrc_open_file), (gst_filesrc_loop),
22697         (gst_filesrc_activate), (gst_filesrc_change_state),
22698         (filesrc_find_peek), (filesrc_find_suggest),
22699         (gst_filesrc_type_find):
22700         * gst/elements/gstidentity.c: (gst_identity_finalize),
22701         (gst_identity_class_init), (gst_identity_init),
22702         (gst_identity_proxy_getcaps), (identity_queue_push),
22703         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
22704         (gst_identity_getrange), (gst_identity_chain),
22705         (gst_identity_sink_loop), (gst_identity_src_loop),
22706         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
22707         (gst_identity_set_property), (gst_identity_get_property),
22708         (gst_identity_change_state):
22709         * gst/elements/gstidentity.h:
22710         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
22711         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
22712         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
22713         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
22714         (gst_tee_sink_activate):
22715         * gst/elements/gsttee.h:
22716         * gst/gst.c: (gst_register_core_elements), (init_post):
22717         * gst/gst.h:
22718         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
22719         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
22720         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
22721         (gst_bin_change_state):
22722         * gst/gstbin.h:
22723         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
22724         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
22725         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
22726         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
22727         (gst_bus_set_sync_handler), (gst_bus_create_watch),
22728         (bus_watch_callback), (bus_watch_destroy),
22729         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
22730         (poll_timeout), (gst_bus_poll):
22731         * gst/gstbus.h:
22732         * gst/gstcaps.h:
22733         * gst/gstdata.h:
22734         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22735         (gst_element_post_message), (gst_element_message_full),
22736         (gst_element_get_state_func), (gst_element_get_state),
22737         (gst_element_abort_state), (gst_element_commit_state),
22738         (gst_element_lost_state), (gst_element_set_state),
22739         (gst_element_pads_activate), (gst_element_change_state),
22740         (gst_element_dispose), (gst_element_set_manager_func),
22741         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
22742         (gst_element_set_manager), (gst_element_get_manager),
22743         (gst_element_set_bus), (gst_element_get_bus),
22744         (gst_element_set_scheduler), (gst_element_get_scheduler):
22745         * gst/gstelement.h:
22746         * gst/gstevent.c: (gst_event_new_segment_seek),
22747         (gst_event_new_flush):
22748         * gst/gstevent.h:
22749         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
22750         (_gst_message_free), (gst_message_get_type), (gst_message_new),
22751         (gst_message_new_eos), (gst_message_new_error),
22752         (gst_message_new_warning), (gst_message_new_tag),
22753         (gst_message_new_state_changed), (gst_message_new_application),
22754         (gst_message_get_structure), (gst_message_parse_tag),
22755         (gst_message_parse_state_changed), (gst_message_parse_error),
22756         (gst_message_parse_warning):
22757         * gst/gstmessage.h:
22758         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
22759         (gst_real_pad_set_property), (gst_pad_set_active),
22760         (gst_pad_is_active), (gst_pad_set_blocked_async),
22761         (gst_pad_set_blocked), (gst_pad_is_blocked),
22762         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
22763         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
22764         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
22765         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
22766         (gst_pad_link_filtered), (gst_pad_relink_filtered),
22767         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
22768         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
22769         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
22770         (gst_pad_set_caps), (gst_pad_configure_sink),
22771         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
22772         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
22773         (gst_real_pad_dispose), (gst_real_pad_finalize),
22774         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
22775         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22776         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
22777         * gst/gstpad.h:
22778         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
22779         (pipeline_bus_handler), (gst_pipeline_change_state),
22780         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
22781         * gst/gstpipeline.h:
22782         * gst/gstprobe.h:
22783         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22784         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
22785         (gst_queue_link_src), (gst_queue_bufferalloc),
22786         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
22787         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
22788         (gst_queue_loop), (gst_queue_handle_src_event),
22789         (gst_queue_handle_src_query), (gst_queue_src_activate),
22790         (gst_queue_change_state):
22791         * gst/gstqueue.h:
22792         * gst/gstscheduler.c: (gst_scheduler_init),
22793         (gst_scheduler_dispose), (gst_scheduler_create_task),
22794         (gst_scheduler_factory_create):
22795         * gst/gstscheduler.h:
22796         * gst/gststructure.c: (gst_structure_get_type),
22797         (gst_structure_copy_conditional):
22798         * gst/gststructure.h:
22799         * gst/gsttaginterface.h:
22800         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22801         (gst_task_init), (gst_task_dispose), (gst_task_create),
22802         (gst_task_get_state), (gst_task_start), (gst_task_stop),
22803         (gst_task_pause):
22804         * gst/gsttask.h:
22805         * gst/gstthread.c:
22806         * gst/gstthread.h:
22807         * gst/gsttypes.h:
22808         * gst/schedulers/Makefile.am:
22809         * gst/schedulers/cothreads_compat.h:
22810         * gst/schedulers/entryscheduler.c:
22811         * gst/schedulers/faircothreads.c:
22812         * gst/schedulers/faircothreads.h:
22813         * gst/schedulers/fairscheduler.c:
22814         * gst/schedulers/gstbasicscheduler.c:
22815         * gst/schedulers/gstoptimalscheduler.c:
22816         * gst/schedulers/gthread-cothreads.h:
22817         * gst/schedulers/threadscheduler.c:
22818         (gst_thread_scheduler_task_get_type),
22819         (gst_thread_scheduler_task_class_init),
22820         (gst_thread_scheduler_task_init),
22821         (gst_thread_scheduler_task_start),
22822         (gst_thread_scheduler_task_stop),
22823         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
22824         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22825         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
22826         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
22827         (plugin_init):
22828         * libs/gst/Makefile.am:
22829         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
22830         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
22831         (gst_file_pad_parent_set):
22832         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22833         (gst_dp_event_from_packet):
22834         * tests/complexity.c: (main):
22835         * tests/mass_elements.c: (main):
22836         * testsuite/states/locked.c: (message_received), (main):
22837         * testsuite/states/parent.c: (main):
22838         * tools/gst-inspect.c: (print_element_flag_info),
22839         (print_implementation_info), (print_pad_info):
22840         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
22841         (main):
22842         * tools/gst-md5sum.c: (event_loop), (main):
22843         * tools/gst-typefind.c: (main):
22844         * tools/gst-xmlinspect.c: (print_element_info):
22845         Next big merge.
22846         Added GstBus for mainloop integration.
22847         Added GstMessage for sending notifications on the bus.
22848         Added GstTask as an abstraction for pipeline entry points.
22849         Removed GstThread.
22850         Removed Schedulers.
22851         Simplified GstQueue for multithreaded core.
22852         Made _link threadsafe, removed old capsnego.
22853         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
22854         Added pad blocking functions.
22855         Reworked scheduling functions in GstPad to prepare for
22856         scheduling updates soon.
22857         Moved events out of data stream.
22858         Simplified GstEvent types.
22859         Added return values to push/pull.
22860         Removed clocking from GstElement.
22861         Added prototypes for state change function for next merge.
22862         Removed iterate from bins and state change management.
22863         Fixed some elements, disabled others for now.
22864         Fixed -inspect and -launch.
22865         Added check for GstBus.
22866
22867 2005-03-10  Wim Taymans  <wim@fluendo.com>
22868
22869         * docs/design/part-MT-refcounting.txt:
22870         * docs/design/part-clocks.txt:
22871         * docs/design/part-gstelement.txt:
22872         * docs/design/part-gstobject.txt:
22873         * docs/design/part-standards.txt:
22874         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22875         (gst_bin_remove_func), (gst_bin_remove):
22876         * gst/gstbin.h:
22877         * gst/gstbuffer.c:
22878         * gst/gstcaps.h:
22879         * testsuite/clock/clock1.c: (main):
22880         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
22881         (main):
22882         * testsuite/dlopen/loadgst.c: (do_test):
22883         * testsuite/refcounting/bin.c: (add_remove_test1),
22884         (add_remove_test2), (main):
22885         * testsuite/refcounting/element.c: (main):
22886         * testsuite/refcounting/element_pad.c: (main):
22887         * testsuite/refcounting/pad.c: (main):
22888         * tools/gst-launch.c: (sigint_handler_sighandler):
22889         * tools/gst-typefind.c: (main):
22890         Doc updates.
22891         Added doc about clock.
22892         removed gst_bin_iterate_recurse_up(), marked methods
22893         for removal.
22894         Fix more testsuites.
22895
22896 2005-03-09  Wim Taymans  <wim@fluendo.com>
22897
22898         * gst/gstpad.c: (gst_pad_get_direction),
22899         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
22900         (gst_pad_collect_valist):
22901         * testsuite/bins/interface.c: (main):
22902         * testsuite/caps/audioscale.c: (test_caps):
22903         * testsuite/caps/caps.c: (test1), (test2), (test3):
22904         * testsuite/caps/deserialize.c: (main):
22905         * testsuite/caps/enumcaps.c: (main):
22906         * testsuite/caps/filtercaps.c: (main):
22907         * testsuite/caps/intersect2.c: (main):
22908         * testsuite/caps/random.c: (main):
22909         * testsuite/caps/renegotiate.c: (my_fixate), (main):
22910         * testsuite/caps/sets.c: (check_caps):
22911         * testsuite/caps/simplify.c: (check_caps), (main):
22912         * testsuite/caps/subtract.c: (check_caps):
22913         Fix _pad_get_direction wrt ghostpads.
22914         Fix caps testsuite.
22915
22916 2005-03-09  Wim Taymans  <wim@fluendo.com>
22917
22918         * check/Makefile.am:
22919         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
22920         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
22921         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
22922         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
22923         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
22924         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
22925         (gst_bin_remove), (gst_bin_iterate_recurse_up),
22926         (bin_element_is_sink), (gst_bin_iterate_sinks),
22927         (gst_bin_iterate_all_by_interface):
22928         * gst/gstbin.h:
22929         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
22930         (gst_element_change_state), (gst_element_dispose),
22931         (gst_element_finalize), (gst_element_set_loop_function):
22932         * gst/gstelement.h:
22933         * gst/gstiterator.c: (find_custom_fold_func):
22934         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22935         (gst_pad_collectv), (gst_pad_collect_valist),
22936         (gst_pad_template_new):
22937         * gst/gstpipeline.c: (gst_pipeline_class_init),
22938         (gst_pipeline_dispose), (gst_pipeline_set_property),
22939         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
22940         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
22941         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
22942         * gst/gstutils.h:
22943         * gst/schedulers/entryscheduler.c:
22944         * gst/schedulers/gstbasicscheduler.c:
22945         (gst_basic_scheduler_cothreaded_chain),
22946         (gst_basic_scheduler_chain_add_element):
22947         * testsuite/bins/interface.c: (main):
22948         Added GstBin test.
22949         Added GstSystemClock test.
22950         Implemented clock distribution code in GstBin.
22951         Implemented iterate sinks method for future use.
22952         Rearranged gstelement.h
22953         Fix GstIterator comparison bug.
22954         Moved some code to GstPipeline, mostly clocking related.
22955
22956 2005-03-09  Wim Taymans  <wim@fluendo.com>
22957
22958         * configure.ac:
22959         * gst/gst_private.h:
22960         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22961         (gst_bin_remove_func), (gst_bin_remove),
22962         (gst_bin_get_by_name_recurse_up):
22963         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
22964         (gst_clock_id_compare_func), (gst_clock_id_wait),
22965         (gst_clock_id_wait_async), (gst_clock_init),
22966         (gst_clock_adjust_unlocked), (gst_clock_get_time):
22967         * gst/gstelement.h:
22968         * gst/gstinfo.c: (_gst_debug_init):
22969         * gst/gstobject.h:
22970         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22971         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
22972         * gst/gstpad.h:
22973         Bump version number, we're now 0.9.0
22974         Add future debugging category.
22975         Fix NULL _unref() in _get_by_name_recurse_up
22976         Rearrange gstpad.h.
22977         Update some docs.
22978
22979 2005-03-08  Wim Taymans  <wim@fluendo.com>
22980
22981         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
22982         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
22983         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22984         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
22985         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
22986         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
22987         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
22988         * gst/elements/gstidentity.c: (gst_identity_class_init):
22989         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
22990         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
22991         * gst/elements/gstshaper.c: (gst_shaper_class_init):
22992         * gst/elements/gststatistics.c: (gst_statistics_class_init):
22993         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
22994         (gst_tee_link):
22995         * gst/gstelement.c: (gst_element_class_init),
22996         (gst_element_base_class_init), (gst_element_init),
22997         (gst_element_get_random_pad), (gst_element_wait_state_change),
22998         (gst_element_change_state), (gst_element_dispose),
22999         (gst_element_finalize), (gst_element_set_loop_function):
23000         * gst/gstelement.h:
23001         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
23002         * gst/gstthread.c: (gst_thread_class_init),
23003         (gst_thread_release_children_locks), (gst_thread_change_state):
23004         * gst/schedulers/gstbasicscheduler.c:
23005         (gst_basic_scheduler_loopfunc_wrapper),
23006         (gst_basic_scheduler_chain_wrapper),
23007         (gst_basic_scheduler_src_wrapper),
23008         (gst_basic_scheduler_remove_element):
23009         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
23010         Remove threadsafe properties. Fix elements because GObject
23011         complains when installing a property before declaring a
23012         set/get_property handler.
23013         Rearrange gstelement.h file, use STATE macros for state locks.
23014         Free mutexes in the finalize method instead of dispose.
23015
23016 2005-03-08  Wim Taymans  <wim@fluendo.com>
23017
23018         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
23019         * gst/gstthread.c: (gst_thread_release_children_locks):
23020         Added parentage check.
23021         Fix build og GstThread again.
23022
23023 2005-03-08  Wim Taymans  <wim@fluendo.com>
23024
23025         * docs/design/part-MT-refcounting.txt:
23026         * docs/design/part-conventions.txt:
23027         * docs/design/part-gstobject.txt:
23028         * docs/design/part-relations.txt:
23029         * docs/design/part-standards.txt:
23030         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
23031         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
23032         (gst_bin_get_by_name), (gst_bin_get_by_interface),
23033         (gst_bin_iterate_all_by_interface):
23034         * gst/gstbuffer.h:
23035         * gst/gstclock.h:
23036         * gst/gstelement.c: (gst_element_class_init),
23037         (gst_element_change_state), (gst_element_set_loop_function):
23038         * gst/gstelement.h:
23039         * gst/gstiterator.c:
23040         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
23041         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
23042         (gst_object_dispatch_properties_changed), (gst_object_set_name),
23043         (gst_object_set_parent), (gst_object_unparent),
23044         (gst_object_check_uniqueness):
23045         * gst/gstobject.h:
23046         Docs updates, clean up some headers.
23047
23048 2005-03-07  Wim Taymans  <wim@fluendo.com>
23049
23050         * check/.cvsignore:
23051         * check/Makefile.am:
23052         * check/gst-libs/.cvsignore:
23053         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
23054         * check/gst/.cvsignore:
23055         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
23056         (START_TEST), (gstbus_suite), (main):
23057         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
23058         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
23059         (gst_data_suite), (main):
23060         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
23061         (add_fold_func), (gstiterator_suite), (main):
23062         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
23063         (thread_name_object), (thread_name_object_default),
23064         (gst_object_name_compare), (gst_object_suite), (main):
23065         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
23066         (gst_pad_suite), (main):
23067         * check/gstcheck.c: (gst_check_log_message_func),
23068         (gst_check_log_critical_func), (gst_check_init):
23069         * check/gstcheck.h:
23070         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
23071         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
23072         Added checks.
23073
23074 2005-03-07  Wim Taymans  <wim@fluendo.com>
23075
23076         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
23077         (gst_list_iterator_next), (gst_list_iterator_resync),
23078         (gst_list_iterator_free), (gst_iterator_new_list),
23079         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
23080         (gst_iterator_free), (gst_iterator_push), (filter_next),
23081         (filter_resync), (filter_uninit), (filter_free),
23082         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
23083         (gst_iterator_foreach), (find_custom_fold_func),
23084         (gst_iterator_find_custom):
23085         * gst/gstiterator.h:
23086         Added missing files.
23087
23088 2005-03-07  Wim Taymans  <wim@fluendo.com>
23089
23090         * Makefile.am:
23091         * configure.ac:
23092         * docs/design/part-MT-refcounting.txt:
23093         * docs/design/part-conventions.txt:
23094         * docs/design/part-gstobject.txt:
23095         * docs/design/part-relations.txt:
23096         * examples/mixer/mixer.c: (main):
23097         * examples/thread/thread.c: (eos), (main):
23098         * gst/Makefile.am:
23099         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
23100         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
23101         (gst_spider_plug_from_srcpad):
23102         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
23103         (gst_spider_identity_change_state),
23104         (gst_spider_identity_sink_loop_type_finding):
23105         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
23106         * gst/elements/gstidentity.c: (gst_identity_init):
23107         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
23108         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
23109         * gst/elements/gsttypefindelement.c: (free_entry):
23110         * gst/gst.c:
23111         * gst/gst.h:
23112         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
23113         (gst_bin_set_clock_func), (gst_bin_auto_clock),
23114         (gst_bin_set_index), (gst_bin_set_element_sched),
23115         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
23116         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
23117         (gst_bin_iterate_elements), (iterate_child_recurse),
23118         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
23119         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
23120         (compare_interface), (gst_bin_get_by_interface),
23121         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
23122         * gst/gstbin.h:
23123         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
23124         (gst_buffer_default_free), (gst_buffer_default_copy),
23125         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
23126         (gst_buffer_create_sub):
23127         * gst/gstbuffer.h:
23128         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
23129         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
23130         (gst_caps_unref), (gst_static_caps_get),
23131         (gst_caps_remove_and_get_structure), (gst_caps_append),
23132         (gst_caps_append_structure), (gst_caps_remove_structure),
23133         (gst_caps_copy_nth), (gst_caps_set_simple),
23134         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
23135         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
23136         (gst_caps_structure_intersect_field), (gst_caps_intersect),
23137         (gst_caps_structure_subtract_field), (gst_caps_subtract),
23138         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
23139         (gst_caps_structure_figure_out_union),
23140         (gst_caps_switch_structures), (gst_caps_do_simplify),
23141         (gst_caps_replace), (gst_caps_from_string),
23142         (gst_caps_copy_conditional):
23143         * gst/gstcaps.h:
23144         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
23145         (_gst_clock_id_free), (gst_clock_id_unref),
23146         (gst_clock_id_compare_func), (gst_clock_id_wait),
23147         (gst_clock_id_wait_async), (gst_clock_class_init),
23148         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
23149         (gst_clock_get_time), (gst_clock_set_time_adjust),
23150         (gst_clock_set_property), (gst_clock_get_property):
23151         * gst/gstclock.h:
23152         * gst/gstcompat.h:
23153         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
23154         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
23155         * gst/gstdata.h:
23156         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
23157         (gst_element_requires_clock), (gst_element_provides_clock),
23158         (gst_element_set_clock), (gst_element_clock_wait),
23159         (gst_element_wait), (gst_element_set_time_delay),
23160         (gst_element_is_indexable), (gst_element_add_pad),
23161         (gst_element_add_ghost_pad), (gst_element_remove_pad),
23162         (pad_compare_name), (gst_element_get_static_pad),
23163         (gst_element_request_pad), (gst_element_get_request_pad),
23164         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
23165         (gst_element_class_get_pad_template_list),
23166         (gst_element_class_get_pad_template), (gst_element_error_func),
23167         (gst_element_get_random_pad), (gst_element_get_event_masks),
23168         (gst_element_send_event), (gst_element_seek),
23169         (gst_element_get_query_types), (gst_element_query),
23170         (gst_element_get_formats), (gst_element_convert),
23171         (gst_element_is_locked_state), (gst_element_set_locked_state),
23172         (gst_element_sync_state_with_parent), (gst_element_change_state),
23173         (gst_element_finalize), (gst_element_yield),
23174         (gst_element_interrupt), (gst_element_set_scheduler),
23175         (gst_element_get_scheduler), (gst_element_set_loop_function):
23176         * gst/gstelement.h:
23177         * gst/gstevent.h:
23178         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
23179         (gst_format_get_by_nick), (gst_format_get_details),
23180         (gst_format_iterate_definitions):
23181         * gst/gstformat.h:
23182         * gst/gstindex.c: (gst_index_gtype_resolver):
23183         * gst/gstinfo.c:
23184         * gst/gstinfo.h:
23185         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
23186         (gst_mem_chunk_free):
23187         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
23188         (gst_object_ref), (gst_object_unref), (gst_object_sink),
23189         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
23190         (gst_object_dispatch_properties_changed),
23191         (gst_object_set_name_default), (gst_object_set_name),
23192         (gst_object_get_name), (gst_object_set_name_prefix),
23193         (gst_object_get_name_prefix), (gst_object_set_parent),
23194         (gst_object_get_parent), (gst_object_unparent),
23195         (gst_object_check_uniqueness), (gst_object_save_thyself),
23196         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
23197         (gst_object_set_property), (gst_object_get_property),
23198         (gst_object_get_path_string):
23199         * gst/gstobject.h:
23200         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
23201         (gst_real_pad_init), (gst_real_pad_get_property),
23202         (gst_pad_custom_new), (gst_pad_get_direction),
23203         (gst_pad_set_active), (gst_pad_is_active),
23204         (gst_pad_set_event_function), (gst_pad_is_linked),
23205         (gst_pad_link_free), (gst_pad_link_intersect),
23206         (gst_pad_link_fixate), (gst_pad_set_caps),
23207         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
23208         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
23209         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
23210         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
23211         (gst_pad_get_caps), (gst_pad_peer_get_caps),
23212         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
23213         (gst_pad_realize), (gst_pad_get_allowed_caps),
23214         (gst_real_pad_dispose), (gst_real_pad_finalize),
23215         (gst_pad_collectv), (gst_pad_collect_valist),
23216         (gst_pad_template_dispose), (gst_pad_template_new),
23217         (gst_pad_get_internal_links):
23218         * gst/gstpad.h:
23219         * gst/gstpipeline.c: (gst_pipeline_dispose),
23220         (gst_pipeline_change_state):
23221         * gst/gstpipeline.h:
23222         * gst/gstplugin.c:
23223         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
23224         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
23225         * gst/gstpluginfeature.h:
23226         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
23227         * gst/gstquery.c: (_gst_query_type_initialize),
23228         (gst_query_type_register), (gst_query_type_get_by_nick),
23229         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
23230         * gst/gstquery.h:
23231         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
23232         * gst/gstscheduler.c: (gst_scheduler_add_element),
23233         (gst_scheduler_factory_create):
23234         * gst/gststructure.c: (gst_structure_set_parent_refcount),
23235         (gst_structure_free), (gst_structure_set_name),
23236         (gst_structure_id_set_value), (gst_structure_set_value),
23237         (gst_structure_set_valist), (gst_structure_remove_field),
23238         (gst_structure_remove_fields),
23239         (gst_structure_remove_fields_valist),
23240         (gst_structure_remove_all_fields), (gst_structure_foreach),
23241         (gst_structure_map_in_place),
23242         (gst_caps_structure_fixate_field_nearest_int),
23243         (gst_caps_structure_fixate_field_nearest_double):
23244         * gst/gststructure.h:
23245         * gst/gstsystemclock.c: (gst_system_clock_class_init),
23246         (gst_system_clock_init), (gst_system_clock_dispose),
23247         (gst_system_clock_async_thread),
23248         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
23249         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
23250         * gst/gstsystemclock.h:
23251         * gst/gsttag.c: (gst_tag_list_add_value_internal),
23252         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
23253         * gst/gsttaginterface.c:
23254         * gst/gstthread.c: (gst_thread_dispose),
23255         (gst_thread_release_children_locks), (gst_thread_change_state),
23256         (gst_thread_main_loop):
23257         * gst/gsttrashstack.h:
23258         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
23259         * gst/gsttypes.h:
23260         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
23261         (gst_element_request_pad), (gst_element_get_pad_from_template),
23262         (gst_element_request_compatible_pad),
23263         (gst_element_get_compatible_pad_filtered),
23264         (gst_element_get_compatible_pad), (gst_element_state_get_name),
23265         (gst_element_link_pads_filtered), (gst_element_link_filtered),
23266         (gst_element_link_many), (gst_element_link),
23267         (gst_element_link_pads), (gst_element_unlink_pads),
23268         (gst_element_unlink_many), (gst_element_unlink),
23269         (gst_pad_can_link_filtered), (gst_pad_can_link),
23270         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
23271         (gst_object_default_error), (gst_bin_add_many),
23272         (gst_bin_remove_many), (gst_element_populate_std_props),
23273         (gst_element_class_install_std_props), (gst_buffer_merge),
23274         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
23275         (link_fold_func), (gst_pad_proxy_setcaps):
23276         * gst/gstutils.h:
23277         * gst/gstvalue.c: (gst_value_deserialize_string):
23278         * gst/parse/grammar.y:
23279         * gst/schedulers/gstbasicscheduler.c:
23280         (gst_basic_scheduler_cothreaded_chain),
23281         (gst_basic_scheduler_chain_recursive_add),
23282         (gst_basic_scheduler_pad_link):
23283         * gst/schedulers/gstoptimalscheduler.c:
23284         (get_group_schedule_function),
23285         (gst_opt_scheduler_state_transition),
23286         (gst_opt_scheduler_add_element), (element_get_reachables_func):
23287         * libs/gst/bytestream/bytestream.c:
23288         * libs/gst/dataprotocol/dataprotocol.c:
23289         (gst_dp_header_from_buffer):
23290         * po/nb.po:
23291         * po/ru.po:
23292         * tests/threadstate/threadstate2.c: (eos):
23293         * tools/gst-compprep.c: (main):
23294         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
23295         (print_pad_info), (print_children_info):
23296         * tools/gst-launch.c: (idle_func), (main):
23297         * tools/gst-md5sum.c: (idle_func), (main):
23298         * tools/gst-xmlinspect.c: (print_element_info):
23299         First THREADED backport attempt, focusing on adding locks and
23300         making sure the API is threadsafe. Needs more work. More docs
23301         follow this week.
23302
23303 2005-02-24  Andy Wingo  <wingo@pobox.com>
23304
23305         * tests/bench-complexity.scm:
23306         * tests/complexity.gnuplot: New files, good for running complexity
23307         benchmarks.
23308
23309         * tests/Makefile.am:
23310         * tests/complexity.c: New test, sets up N elements, at each level
23311         teeing into M streams per element. Eeeenteresting.
23312
23313         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
23314         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
23315         running bench-mass_elements.scm.
23316
23317         * tests/bench-mass_elements.scm: New script, runs mass_elements
23318         for various numbers of identities, outputting the results to a
23319         file. Requires guile 1.6. Just for testing.
23320
23321 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23322
23323         * gst/schedulers/fairscheduler.c:
23324           compile with debug disabled
23325
23326 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23327
23328         * configure.ac:
23329           hunting season on 0.9 is now OPEN