API: Add gst_uri_protocol_is_supported(), which checks if an sink or src that support...
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
2
3         * docs/gst/gstreamer-sections.txt:
4         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
5         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
6         * gst/gsturi.h:
7         API: Add gst_uri_protocol_is_supported(), which checks if an sink
8         or src that supports a given URI protocol exists.
9
10 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
11
12         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
13         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
14         Set the location to NULL if "file://" is set as URI. Otherwise
15         some random previous URI would still be set if "file://" is
16         set on an already used filesink/filesrc.
17
18 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
19
20         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
21         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
22         Special case the "file://" URI as as this is used by some
23         applications to test with gst_element_make_from_uri if there's
24         an element that supports the URI protocol.
25         Also move the g_path_is_absolute() check for the location part
26         of the URI to also check this for "file://localhost/bla" URIs.
27
28 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
29
30         * docs/gst/gstreamer-sections.txt:
31         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
32         * gst/gstbuffer.h:
33         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
34         (gst_buffer_suite):
35           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
36
37 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
38
39         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
40         (gst_registry_binary_load_pad_template),
41         (gst_registry_binary_load_plugin),
42         (gst_registry_binary_read_cache):
43         * gst/gstregistrybinary.h:
44           Implement no-mmap alternative for registry reading. Do code cleanups.
45           Add more comments about avoiding strdups for all text data. Comments
46           welcome.
47
48 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
49
50         * gst/gstregistrybinary.h (GstBinaryPluginElement,
51           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
52           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
53           Comment structs and reformat to fix the build (that stuff should go
54           into a priv. header).
55
56 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
57
58         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
59         (gst_registry_binary_load_feature):
60         * gst/gstregistrybinary.h:
61           Refactor so that we can implement multiple features. Add support for
62           TypeFindFactory features.
63
64 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
65
66         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
67
68         * configure.ac:
69           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
70
71 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
72
73         * gst/gstbin.c: (gst_bin_element_set_state),
74         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
75         (bin_handle_async_done), (gst_bin_handle_message_func):
76           Fix build with --gst-disable-gst-debug
77
78 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
79
80         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
81           Make sure streaming has finished before calling the ::stop() vfunc,
82           since that vfunc might clear state which is being used in the
83           streaming thread. This fixes a race that caused crashes in
84           audioresample when shutting down a pipeline (#420106).
85
86 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
87
88         * docs/gst/gstreamer-sections.txt:
89           That was one byte missing.
90
91 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
92
93         * configure.ac:
94         * docs/gst/gstreamer-sections.txt:
95         * gst/Makefile.am:
96         * gst/gstconfig.h.in:
97         * gst/gstobject.c: (gst_object_class_init),
98         (gst_signal_object_class_init):
99         * gst/gstobject.h:
100           2nd attempt to have a xml-less build as a joined effort of #413123
101           and #421480.
102
103 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
104
105         * docs/design/draft-tagreading.txt:
106           Added open issues/thoughts to draft.
107
108 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
109
110         * gst/parse/grammar.tab.pre.c:
111         * gst/parse/grammar.tab.pre.h:
112         * gst/parse/lex._gst_parse_yy.pre.c:
113         Update the prebuild parser sources.
114
115 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
116
117         * gst/parse/Makefile.am:
118         And now fix the building of the flex sources. Now everything should
119         work as expected.
120
121 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
122
123         * gst/parse/Makefile.am:
124         Now hopefully fix the build failures by setting proper rule
125         dependencies and moving instead of copying.
126
127 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
128
129         * tests/benchmarks/complexity.gnuplot:
130         * tests/benchmarks/complexity.scm:
131         * tests/benchmarks/mass-elements.gnuplot:
132         * tests/benchmarks/mass-elements.scm:
133           Total licensification.
134
135 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
136
137         * gst/parse/Makefile.am:
138           Fix the build by correcting the rule that gave wrong files to flex.
139
140 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
141
142         * tests/benchmarks/complexity.c:
143         * tests/benchmarks/mass-elements.c:
144           Change licence to LGPL as granted by Benjamin and Andy.
145
146 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
147
148         * gst/parse/Makefile.am:
149         Add correct grammar.tab.h dependency if compiling without new enough
150         flex. Fixes #431150.
151
152 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
153
154         * gst/parse/Makefile.am:
155         Fix typo and use outdated sources if the flex/bison sources are newer
156         than the pregenerated ones but flex is too old. Print a warning in
157         that case. This should fix the build on the build bot.
158
159 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
160
161         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
162         * gst/parse/Makefile.am:
163         * gst/parse/grammar.y:
164         * gst/parse/parse.l:
165         Make the parser reentrant and recursively callable. This requires flex
166         >= 2.5.31, for older versions pregenerated sources are used as we
167         can't bump the build dependency. Finally fixes #349180.
168
169         * gst/gstparse.c: (gst_parse_launch):
170         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
171         now anyway.
172
173         * docs/gst/Makefile.am:
174         * docs/gst/Makefile.am:
175         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
176         (__gst_parse_strfree), (__gst_parse_link_new),
177         (__gst_parse_link_free), (__gst_parse_chain_new),
178         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
179         (gst_parse_element_set), (gst_parse_free_link),
180         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
181         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
182         (_gst_parse_launch):
183         * gst/parse/grammar.tab.pre.h:
184         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
185         (yy_get_previous_state), (yy_try_NUL_trans), (input),
186         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
187         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
188         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
189         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
190         (_gst_parse_yypop_buffer_state),
191         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
192         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
193         (yy_fatal_error), (_gst_parse_yyget_extra),
194         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
195         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
196         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
197         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
198         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
199         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
200         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
201         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
202         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
203         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
204         (_gst_parse_yyfree):
205         If the installed flex version is too old use pre-generated parser
206         sources. These pre-generated parser sources are always updated when
207         the actual flex/bison sources change but require everybody who wants
208         to change something in the parser to have flex >= 2.5.31 installed.
209
210 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
211
212         * common/m4/gst-gettext.m4:
213         * gst/gst-i18n-lib.h:
214           Make --disable-nls to work
215
216 2007-04-17  Wim Taymans  <wim@fluendo.com>
217
218         * gst/gstconfig.h.in:
219         Revert previous change that broke the build.
220
221 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
222
223         * configure.ac:
224         * gst/Makefile.am:
225         * gst/gstconfig.h.in:
226           Drop libxml2 dependency when building with 
227           --enable-binary-registry --disable-loadsave
228
229 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
230
231         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
232         (gst_registry_binary_read_cache):
233         * gst/gstregistrybinary.h:
234           Remove unnecessary <sys/mman.h> include which broke the win32 build
235           with MingW; move includes from header file to .c file, even if the
236           header file isn't installed; use g_strerror() where UTF-8 strings
237           are expected, such as in GST_DEBUG messages.
238
239 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
240
241         * docs/libs/gstreamer-libs-sections.txt:
242         Remove bogus addition for API I didn't end up keeping.
243
244         * libs/gst/base/gstbasesrc.h:
245         Mention Since: 0.10.13 in the documentation.
246
247         Add the API keyword to the previous ChangeLog entry.
248
249 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
250
251         * docs/libs/gstreamer-libs-sections.txt:
252         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
253         (gst_base_src_default_prepare_seek_segment),
254         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
255         * libs/gst/base/gstbasesrc.h:
256         Allow basesrc derived classes to execute seeks in other formats
257         by providing a prepare_seek_segment vmethod. Sub-classes can choose
258         to prepare the GstSegment in any format that their perform_seek method
259         will be able to understand. The default implementation provides the
260         old behaviour of attempting to convert the seek offsets to the 
261         configured native format.
262
263         API: basesrc::prepare_seek_segment vmethod.
264
265 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
266
267         * gst/gstelement.c: (gst_element_get_state_func):
268         Don't output the same debug statement twice.
269
270         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
271         (gst_adapter_peek), (gst_adapter_take_buffer):
272         Optimise the case where we have buffers at the head of the queue that
273         can be joined quickly (because they're contiguous sub-buffers) by
274         merging them together rather than copying data out into new memory.
275
276         * gst/parse/grammar.y:
277         * tests/check/pipelines/parse-launch.c:
278         Fix a leak in an error path for parse_launch, and add a check 
279         for it to the testsuite.
280
281 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
282
283         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
284           Don't deadlock when releasing a pad - gst_pad_set_active may try
285           and take the multiqueue lock too.
286
287 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
288
289         * gst/gsterror.c: (_gst_core_errors_init):
290         * gst/gsterror.h:
291           API: add GST_CORE_ERROR_DISABLED (#392804).
292
293 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
294
295         * docs/faq/gst-uninstalled:
296           don't get empty paths on the PATH variables
297         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
298           Don't format for the uncommon terminal width of 84 characters.
299
300 2007-04-06  Wim Taymans  <wim@fluendo.com>
301
302         * gst/gstpipeline.c: (reset_stream_time),
303         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
304         Only try to select a different pipeline clock when we went back to
305         PAUSED and not when we merely got flushed.
306
307 2007-04-05  Michael Smith  <msmith@fluendo.com>
308
309         * tools/gst-launch.1.in:
310           fractions are better supported in gstreamer than ractions, so
311           suggest using those.
312
313 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
314
315         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
316
317         * po/LINGUAS:
318         * po/da.po:
319           Added Danish translation.
320
321 2007-04-05  Wim Taymans  <wim@fluendo.com>
322
323         * libs/gst/base/gstbasesink.c:
324         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
325         Fix leak caused when refusing newsegment after EOS.
326
327         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
328         (gst_fake_sink_init), (gst_fake_sink_set_property),
329         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
330         (gst_fake_sink_render), (gst_fake_sink_change_state):
331         * plugins/elements/gstfakesink.h:
332         Add num-buffers property to make the element generate EOS after a
333         configurable amount of buffers.
334         API: fakesink::num-buffers property.
335
336         * tests/check/elements/fakesink.c: (GST_START_TEST),
337         (fakesink_suite):
338         Fix GstBus leak in test.
339         Test for fakesink num-buffers.
340
341 2007-04-05  Wim Taymans  <wim@fluendo.com>
342
343         * libs/gst/base/gstbasesink.c:
344         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
345         (gst_base_sink_change_state):
346         Don't accept anything after an EOS, return UNEXPECTED instead.
347
348         * tests/check/elements/fakesink.c: (GST_START_TEST),
349         (fakesink_suite):
350         Unit test for new EOS behaviour.
351
352 2007-04-05  Wim Taymans  <wim@fluendo.com>
353
354         * gst/gstelement.c: (gst_element_get_request_pad):
355         Make padtemplates also work when they don't contain %s or %d.
356
357 2007-04-05  Wim Taymans  <wim@fluendo.com>
358
359         * docs/gst/gstreamer-sections.txt:
360         * gst/gstclock.c: (gst_clock_adjust_unlocked),
361         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
362         * gst/gstclock.h:
363         Improve _adjust_unlocked() so that it overflows less.
364         Add gst_clock_unadjust_unlocked to convert from external time to
365         internal time based on calibration.
366         Add some more debug.
367         API: GstClock::gst_clock_unadjust_unlocked()
368
369 2007-04-03  Wim Taymans  <wim@fluendo.com>
370
371         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
372
373         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
374         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
375         when releasing sink pad. Fixes #425400.
376
377 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
378
379         * docs/random/ensonic/dynlink.txt:
380           More work on proposal for new core api.
381
382         * docs/libs/gstreamer-libs-sections.txt:
383         * libs/gst/base/gstbasetransform.h:
384           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
385           
386         * libs/gst/controller/gstcontroller.c:
387         (on_object_controlled_property_changed),
388         (gst_controller_sync_values),
389         (gst_controller_set_interpolation_mode):
390         * libs/gst/controller/gstcontroller.h:
391           Less verbose logging add docs for unimplemented parts and correctly
392           return when using unavailable parts.
393
394 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
395
396         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
397         Move all the debug to the CLOCK category, and associate it with
398         the clock object.
399
400 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
401
402         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
403         Make take_buffer a bit quicker by removing redundant checks
404         caused by calling gst_adapter_take.
405
406 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
407
408         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
409           Don't leak GCond.
410
411         * tests/check/Makefile.am:
412         * tests/check/elements/.cvsignore:
413         * tests/check/elements/multiqueue.c: (setup_multiqueue),
414         (GST_START_TEST), (multiqueue_suite):
415           Add some dead simple unit tests for the 'multiqueue' element
416           (some bits don't work yet and are disabled for now).
417
418 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
419
420         * gst/gstelement.c: (gst_element_get_request_pad),
421         (gst_element_class_get_request_pad_template):
422           Make gst_element_get_request_pad() create request pads only for
423           request pad templates and not for, say, sometimes pad templates.
424
425 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
426
427         * docs/design/draft-klass.txt:
428           Add example that needs more thinking.
429         
430         * docs/design/draft-missing-plugins.txt:
431           More thoughts about wrapper plugins.
432         
433         * docs/random/ensonic/embedded.txt:
434         * docs/random/ensonic/profiling.txt:
435           More design work.
436
437 2007-03-25  Wim Taymans  <wim@fluendo.com>
438
439         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
440         (gst_base_src_loop):
441         Only push the segment events in the PLAYING state for live sources.
442
443 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
444
445         * gst/gstpipeline.c: (gst_pipeline_change_state):
446         Modify the clock distribution path in PAUSED->PLAYING so that we 
447         never attempt to choose a new clock unless we're actually leaving
448         the PAUSED state for the first time. This prevents choosing a
449         different clock when the state_change gets called for a 2nd time due
450         to some element doing an async state change.
451
452 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
453
454         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
455         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
456         (gst_pad_chain_unchecked), (gst_pad_push):
457         Revert last commit. This needs some more thoughts.
458
459 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
460
461         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
462         (gst_pad_chain_unchecked), (gst_pad_push):
463         Check in set_caps if the caps are compatible with the pad and remove
464         two functions that are redundant now. Fixes #421543.
465
466 2007-03-22  Wim Taymans  <wim@fluendo.com>
467
468         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
469         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
470         Unref some more to make valgrind happy.
471
472 2007-03-22  Wim Taymans  <wim@fluendo.com>
473
474         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
475         (gst_system_clock_id_wait_jitter),
476         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
477         Fix anoying regression that survived a few releases. When adding an
478         async entry while blocking on a sync entry, the sync entry will unblock
479         but still be busy, so it should continue to wait instead of returning
480         _BUSY to the app.
481         Add some comments here and there.
482
483         * tests/check/gst/gstsystemclock.c: (mixed_thread),
484         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
485         Add testcase for this.
486
487 2007-03-22  Wim Taymans  <wim@fluendo.com>
488
489         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
490         Handle errors from the clock sync better, only UNSCHEDULED indicates a
491         WRONG_STATE and can silently pause the task. All other cases should
492         error out.
493
494 2007-03-22  Wim Taymans  <wim@fluendo.com>
495
496         Patch by: <syrjala at sci dot fi>
497
498         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
499         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
500         Improve debugging.
501
502 2007-03-21  Michael Smith  <msmith@fluendo.com>
503
504         * docs/pwg/advanced-types.xml:
505           Fix some errors in the typefinding docs pointed out on irc.
506
507 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
508
509         * libs/gst/base/gstbasesrc.c:
510         Clarify FIXME comment in the face of having added unlock_stop()
511
512 2007-03-21  Wim Taymans  <wim@fluendo.com>
513
514         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
515         Prepare for release where we warn against possible app breakage in the
516         case of live pipelines along with an env var to enable/disable live
517         preroll mode (GST_COMPAT=[no-]live-preroll).
518
519 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
520
521         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
522         So we should use correct constants for checking for None offset.
523
524 2007-03-20  Wim Taymans  <wim@fluendo.com>
525
526         * docs/design/part-block.txt:
527         Mention the fact that the newly switched element should be set to at
528         least PAUSED.
529
530 2007-03-20  Wim Taymans  <wim@fluendo.com>
531
532         * gst/gst.c:
533         Fix compilation with registry disabled as spotted by Saur.
534
535 2007-03-20  Wim Taymans  <wim@fluendo.com>
536
537         Patch by: Olivier Crete <tester at tester dot ca>
538
539         * gst/gstelement.c: (gst_element_sync_state_with_parent):
540         Look at the pending state too when syncing the element state to the
541         parent. Fixes #420133.
542
543 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
544
545         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
546         (gst_base_sink_change_state):
547         * libs/gst/base/gstbasesink.h:
548         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
549         (gst_base_src_default_event), (gst_base_src_unlock_stop),
550         (gst_base_src_deactivate):
551         * libs/gst/base/gstbasesrc.h:
552         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
553         for sub-classes to correctly clear any state they set trying to
554         unlock, such as clearing out unlock commands from a command fd.
555
556         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
557         (gst_fd_sink_render), (gst_fd_sink_unlock),
558         (gst_fd_sink_unlock_stop):
559         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
560         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
561         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
562
563         Implement unlock_stop in fdsrc and fdsink.
564         Implement seeking in fdsrc when a seekable fd is passed, as in
565         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
566
567 2007-03-19  Wim Taymans  <wim@fluendo.com>
568
569         Patch by: Evan Nemerson <evan at coeus dash group dot com>
570
571         * gst/gstelement.c: (gst_element_class_init):
572         Fix pad-added and pad-removed signal signatures so that the pad type is
573         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
574
575 2007-03-19  Wim Taymans  <wim@fluendo.com>
576
577         * docs/gst/gstreamer-sections.txt:
578         Add new element field and method.
579
580         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
581         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
582         (gst_bin_recalc_state), (gst_bin_get_state_func),
583         (gst_bin_element_set_state), (gst_bin_change_state_func),
584         (gst_bin_continue_func), (bin_bus_handler),
585         (bin_push_state_continue), (bin_handle_async_start),
586         (bin_handle_async_done), (gst_bin_handle_message_func):
587         Make async state changes a bit smarter by using new ASYNC_START and
588         ASYNC_DONE messages. This reduces the number of times we run the state
589         recalculation thread.
590         Don't change state of element with a pending ASYNC_START message.
591         Deprecate STATE_DIRTY messages.
592         
593         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
594         (gst_element_get_state_func), (gst_element_continue_state),
595         (gst_element_lost_state), (gst_element_set_state_func),
596         (gst_element_change_state):
597         * gst/gstelement.h:
598         Keep the state that was last set by the app in a new element field.
599         Don't allow state changes when handling an element event.
600         Post ASYNC_START and ASYNC_DONE messages.
601         Change lost_state so that we go to PAUSED and wait for the parent to set
602         us to PLAYING again (so latency calculation can be performed)
603         Export gst_element_change_state() method so that subclasses can use it.
604         API: gst_element_change_state()
605         API: GST_STATE_TARGET
606
607         * gst/gstpipeline.c: (gst_pipeline_class_init),
608         (reset_stream_time), (gst_pipeline_change_state),
609         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
610         Using the new ASYNC_START message we can reset the base_time when
611         needed. This can then be used to implement base_time redistribution in
612         flushing seeks so that we can remove the explicit seek handling.
613         Perform latency query and configuration when going to PLAYING.
614
615         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
616         (gst_base_sink_query), (gst_base_sink_change_state):
617         Post new ASYNC_START/ASYNC_DONE messages.
618
619         * tests/check/generic/sinks.c: (GST_START_TEST):
620         Fix test because the bin will not set the async element to PLAYING right
621         away.
622
623         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
624         Make the message check a little stronger.
625         Handle ASYNC messages.
626
627         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
628         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
629         Expect ASYNC_DONE messages.
630
631 2007-03-19  Wim Taymans  <wim@fluendo.com>
632
633         * docs/gst/gstreamer-sections.txt:
634         * gst/gstmessage.c: (gst_message_new_async_start),
635         (gst_message_new_async_done), (gst_message_parse_info),
636         (gst_message_parse_async_start):
637         * gst/gstmessage.h:
638         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
639         support.
640
641 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
642
643         * tools/gst-inspect.c:
644         (print_plugin_automatic_install_info_codecs):
645           Now that we don't check for the 'Codec' keyword any longer in the
646           klass, we shouldn't spew a warning if the klass isn't a decoder or
647           encoder (since it might be a Source/Network, for example).
648
649 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
650
651         * tools/gst-inspect.c:
652         (print_plugin_automatic_install_info_codecs):
653           Don't require decoder/demuxer/depayloader elements or
654           encoder/muxer/paylader elements to have 'Codec' as part of their
655           factory class string when introspecting a plugin's capabilities.
656           draft-klass.txt mentions that it might be removed in future, and
657           flump3dec doesn't have it as part of its class string, so chances
658           are others might also not have it.
659
660 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
661
662         * po/af.po:
663         * po/az.po:
664         * po/bg.po:
665         * po/ca.po:
666         * po/cs.po:
667         * po/de.po:
668         * po/en_GB.po:
669         * po/fr.po:
670         * po/it.po:
671         * po/nb.po:
672         * po/nl.po:
673         * po/ru.po:
674         * po/sq.po:
675         * po/sr.po:
676         * po/sv.po:
677         * po/tr.po:
678         * po/uk.po:
679         * po/vi.po:
680         * po/zh_CN.po:
681         * po/zh_TW.po:
682           Update translations from translation project
683
684 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
685
686         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
687         (gst_child_proxy_set_property):
688           Invert precondition check to be alike the ones in the mimiced gobject
689           api.
690
691 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
692
693         * docs/design/draft-tagreading.txt:
694         * docs/random/ensonic/audiobaseclasses.txt:
695           Do some Architect work.
696
697         * gst/gstobject.c: (gst_object_set_name):
698           Add a WARNING.
699
700         * gst/gstpad.c:
701           Add docs that point from gst_pad_get_range to gst_pad_pull_range
702
703 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
704
705         * gst/gstsystemclock.c: (gst_system_clock_init),
706         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
707         Defer starting the async system clock thread until the first async
708         wait is scheduled. Fixes #414986.
709
710 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
711
712         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
713         (gst_single_queue_free):
714           Fix small leak (free GstSingleQueue structure too, not only contents).
715
716 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
717
718         * gst/gstbin.c:(gst_bin_add):
719         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
720         * win32/common/libgstbase.def:
721         * win32/common/libgstreamer.def:
722         Add new exported functions.
723
724 2007-03-09  Wim Taymans  <wim@fluendo.com>
725
726         * docs/plugins/gstreamer-plugins-sections.txt:
727         Fix GstTee docs.
728
729 2007-03-09  Wim Taymans  <wim@fluendo.com>
730
731         * docs/gst/gstreamer-sections.txt:
732         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
733         * gst/gstbuffer.h:
734         Add metadata copy functions. Fixes #393099.
735
736         * gst/gstutils.c: (gst_buffer_stamp):
737         * libs/gst/base/gstbasetransform.c:
738         (gst_base_transform_prepare_output_buffer):
739         Use new metadata copy functions.
740
741 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
742
743         * plugins/elements/gstidentity.c: (gst_identity_class_init),
744         (gst_identity_init), (gst_identity_check_perfect),
745         (gst_identity_check_imperfect_timestamp),
746         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
747         (gst_identity_set_property), (gst_identity_get_property):
748         * plugins/elements/gstidentity.h:
749         Separate out check-imperfect-timestamp and check-imperfect-offset.
750         Put back check-perfect as it was to keep compatibility.
751
752 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
753
754         * gst/gstelement.c: (gst_element_dispose):
755         There's no need to warn if VOID_PENDING is not NONE here, as
756         long as the state is NULL it's ok, and that's checked immediately
757         above.
758
759 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
760
761         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
762         Fix check for perfect stream to ignore buffers with -1 
763         offsets/offset ends when checking data contiguity.
764
765 2007-03-08  Wim Taymans  <wim@fluendo.com>
766
767         * tools/gst-launch.c: (event_loop):
768         Print INFO messages.
769
770 2007-03-08  Wim Taymans  <wim@fluendo.com>
771
772         * libs/gst/base/gstbasetransform.c:
773         (gst_base_transform_sink_eventfunc),
774         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
775         (gst_base_transform_activate):
776         * libs/gst/base/gstbasetransform.h:
777         Add support for dropping buffers with custom GstFlowReturn.
778         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
779         buffers or dropped buffers.
780
781         * docs/libs/gstreamer-libs-sections.txt:
782         docs for new custom return code.
783
784         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
785         Use drop support in base class to implement drop-probability.
786
787 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
788
789         * gst/gst.c: (load_plugin_func):
790         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
791         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
792         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
793           Remove newlines at end of debug log strings.
794
795 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
796
797         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
798         Only post bus message at max, once per buffer received.
799
800 2007-03-07  Wim Taymans  <wim@fluendo.com>
801
802         * docs/design/Makefile.am:
803         * docs/design/part-synchronisation.txt:
804         Add doc about synchronisation
805
806         * docs/design/draft-latency.txt:
807         * docs/design/part-TODO.txt:
808         * docs/design/part-clocks.txt:
809         * docs/design/part-events.txt:
810         * docs/design/part-gstbus.txt:
811         * docs/design/part-gstpipeline.txt:
812         * docs/design/part-live-source.txt:
813         * docs/design/part-messages.txt:
814         * docs/design/part-overview.txt:
815         * docs/design/part-streams.txt:
816         * docs/design/part-trickmodes.txt:
817         Documentation updates.
818
819 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
820
821         * gstreamer.doap:
822         Update the doap file.
823
824 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
825
826         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
827         Rename non-perfect to imperfect for Mike and for the sanctity of the
828         language.
829         Also make sure bus message gets emitted for data-incontiguities.
830
831 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
832
833         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
834         (gst_identity_start):
835         * plugins/elements/gstidentity.h:
836         Emit bus message if check-perfect is true and we encounter a
837         non-perfect stream between 2 consecutive buffers.
838         Fixes #415394.
839
840 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
841
842         * configure.ac:
843         Back to CVS
844
845 === release 0.10.12 ===
846
847 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
848
849         * configure.ac:
850           releasing 0.10.12, "Inevitable Demise"
851
852 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
853
854         * configure.ac:
855          Version 0.10.11.2 (0.10.12 pre-release)
856          Bump libtool versioning.
857
858 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
859
860         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
861           Log flow-names and not numbers.
862
863 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
864
865         * configure.ac:
866           Convert to new AG_GST style.
867
868 2007-02-28  Wim Taymans  <wim@fluendo.com>
869
870         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
871         Don't unref query twice.
872
873 2007-02-28  Wim Taymans  <wim@fluendo.com>
874
875         * gst/gstvalue.c: (gst_value_transform_object_string),
876         (_gst_value_initialize):
877         Implement GstObject -> string transform so we print object names
878         when serializing GValues containing GstObjects.
879
880 2007-02-28  Wim Taymans  <wim@fluendo.com>
881
882         * docs/gst/gstreamer-sections.txt:
883         Add new stuff to docs.
884
885 2007-02-28  Wim Taymans  <wim@fluendo.com>
886
887         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
888         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
889         (gst_base_sink_change_state):
890         Improve latency query code.
891         Don't leak latency events.
892
893         * tests/check/gst/gstbin.c: (GST_START_TEST):
894         Improve debugging.
895
896 2007-02-28  Wim Taymans  <wim@fluendo.com>
897
898         * gst/gstelement.c: (gst_element_message_full),
899         (gst_element_get_state_func):
900         * gst/gstelement.h:
901         Improve docs a little. Added Since: for new macro.
902
903         * gst/gstobject.c: (gst_object_sink):
904         * gst/gstpipeline.c: (gst_pipeline_change_state),
905         (gst_pipeline_set_new_stream_time):
906         * gst/gstpipeline.h:
907         Improve debugging and docs.
908
909         * gst/gstutils.c: (gst_element_state_change_return_get_name):
910         Improve debugging.
911
912 2007-02-28  Wim Taymans  <wim@fluendo.com>
913
914         * gst/gstelement.c: (gst_element_message_full),
915         (gst_element_set_locked_state), (gst_element_get_state_func),
916         (gst_element_change_state):
917         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
918         Documentation updates.
919         Small code cleanups.
920
921         * gst/gstmessage.c: (gst_message_new_info),
922         (gst_message_parse_info):
923         * gst/gstmessage.h:
924         API: gst_message_new_info()
925         API: gst_message_parse_info()
926         Add INFO message create and parse code.
927
928 2007-02-28  Wim Taymans  <wim@fluendo.com>
929
930         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
931         (bin_query_latency_done):
932         Also report the live parameter of a latency query.
933
934 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
935
936         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
937           Copy the current generic/states example from -base and adapt so
938           we can use the exact same code everywhere.
939           Check a STATES_IGNORE_ELEMENTS env var which can be used
940           to ignore certain element factories for this test, which is
941           what is being done in -base
942         * tests/check/Makefile.am:
943           Mention this environment variable.
944
945 2007-02-27  Wim Taymans  <wim@fluendo.com>
946
947         * docs/gst/gstreamer-sections.txt:
948         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
949         (gst_bus_timed_pop), (gst_bus_pop):
950         * gst/gstbus.h:
951         API: gst_bus_timed_pop()
952         Implement gst_bus_timed_pop() to do a blocking timed wait for a
953         message to arrive on the bus.
954
955         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
956         (gst_bus_suite):
957         Two unit tests for new _timed_pop() function.
958
959 2007-02-23  Wim Taymans  <wim@fluendo.com>
960
961         * gst/gstpipeline.c: (gst_pipeline_change_state),
962         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
963         Don't ref a NULL clock in _provide_clock_func().
964         Don't allow an INVALID delay.
965         Don't try to calculate base_time with an invalid start_time.
966         Also distribute and notify a NULL clock when it was selected.
967
968         * tools/gst-launch.c: (event_loop):
969         Don't crash when a NULL clock was selected in the pipeline.
970
971 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
972
973         * docs/design/Makefile.am:
974         * docs/design/draft-missing-plugins.txt:
975         * docs/random/draft-missing-plugins.txt:
976           Some small updates: update plugin system identifier prefix
977           ('gstreamer.net' to 'gstreamer'), mention our new install
978           API in libgstbaseutils rather than libgimme-codec, add
979           reference to the online docs.
980
981 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
982
983         * win32/common/config.h:
984           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
985           use moap cl ci to only check in what is mentioned in the ChangeLog.
986
987 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
988
989         * docs/gst/gstreamer-sections.txt:
990         * gst/gstelement.h:
991           Fix up documentation to link to the correct GstGError section.
992           Add GST_ELEMENT_INFO macro since someone else added a Info message.
993
994 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
995
996         * tools/gst-launch.c: (event_loop):
997           Make sure that we actually show the important message part of a
998           warning message.
999           No need to check if the gerror is not NULL to free; first of all
1000           g_free accepts NULL; and second the default error handler would
1001           segfault if gerror was NULL.
1002
1003 2007-02-21  Wim Taymans  <wim@fluendo.com>
1004
1005         * docs/gst/gstreamer-sections.txt:
1006         Removed docs as well.
1007
1008 2007-02-21  Wim Taymans  <wim@fluendo.com>
1009
1010         * gst/gstmessage.c: (gst_message_parse_duration):
1011         * gst/gstmessage.h:
1012         Remove new messages for release.
1013
1014 2007-02-20  Wim Taymans  <wim@fluendo.com>
1015
1016         * docs/design/part-gstghostpad.txt:
1017         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
1018         (gst_ghost_pad_new_full):
1019         Make the ghostpad a parent of the internal pad again for better backward
1020         compatibility. Don't write code that relies on this however.
1021
1022         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
1023         (gst_pad_link_check_hierarchy):
1024         Require that parents should be GstElements in the hierarchy check.
1025
1026 2007-02-20  Wim Taymans  <wim@fluendo.com>
1027
1028         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
1029         (gst_bin_change_state_func), (bin_query_min_max_init),
1030         (bin_query_latency_fold), (bin_query_latency_done),
1031         (gst_bin_query):
1032         Improve debug info.
1033         Implement latency query.
1034
1035 2007-02-20  Wim Taymans  <wim@fluendo.com>
1036
1037         * docs/design/part-gstghostpad.txt:
1038         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
1039         (gst_ghost_pad_internal_do_activate_push),
1040         (gst_ghost_pad_internal_do_activate_pull),
1041         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1042         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
1043         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
1044         Do not set the internal pad as a parent anymore so we can avoid
1045         hierarchy linking errors when the ghostpad has no parent yet. This also
1046         fixes failed activation because of unlinked internal pads, which in
1047         turn fixes the impossible case where you have to activate a pad before
1048         you can add it to a running element.
1049         Also fix the docs.
1050
1051         * gst/gstpad.c: (pre_activate), (post_activate),
1052         (gst_pad_set_active), (gst_pad_activate_pull),
1053         (gst_pad_activate_push), (gst_pad_check_pull_range):
1054         Add some more debug info.
1055         Mark activation mode in pre_activate so that we don't try to activate in
1056         endless loops. Fixes #385084.
1057
1058 2007-02-19  Wim Taymans  <wim@fluendo.com>
1059
1060         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
1061         (gst_base_transform_check_get_range):
1062         Implement a checkgetrange function instead of relying on the default
1063         core behaviour that assumes we can operate in pull mode if we have a
1064         getrange function. First step at fixing #385084.
1065
1066 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
1067
1068         * gst/gstchildproxy.h:
1069         * libs/gst/base/gstbasesink.h:
1070         * libs/gst/base/gstbasesrc.h:
1071         * libs/gst/base/gstbasetransform.h:
1072         More docs coverage and some ChangeLog surgery (add missing names)
1073
1074 2007-02-15  Wim Taymans  <wim@fluendo.com>
1075
1076         * docs/design/part-TODO.txt:
1077         * docs/design/part-activation.txt:
1078         * docs/design/part-block.txt:
1079         * docs/design/part-buffering.txt:
1080         * docs/design/part-clocks.txt:
1081         * docs/design/part-element-source.txt:
1082         * docs/design/part-events.txt:
1083         * docs/design/part-gstbin.txt:
1084         * docs/design/part-gstbus.txt:
1085         * docs/design/part-gstpipeline.txt:
1086         * docs/design/part-live-source.txt:
1087         * docs/design/part-messages.txt:
1088         * docs/design/part-overview.txt:
1089         * docs/design/part-qos.txt:
1090         * docs/design/part-query.txt:
1091         * docs/design/part-states.txt:
1092         * docs/design/part-trickmodes.txt:
1093         Some doc updates. Start renaming from stream_time to running_time where
1094         it was used wrongly.
1095
1096 2007-02-15  Wim Taymans  <wim@fluendo.com>
1097
1098         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
1099         Answer LATENCY query.
1100
1101 2007-02-15  Wim Taymans  <wim@fluendo.com>
1102
1103         * tests/check/gst/gstevent.c: (event_probe), (test_event),
1104         (GST_START_TEST):
1105         Improve debugging.
1106
1107 2007-02-15  Wim Taymans  <wim@fluendo.com>
1108
1109         * gst/gstpad.c: (gst_pad_get_internal_links_default),
1110         (gst_pad_dispatcher):
1111         Improve debugging of default pad dispatcher and query functions.
1112
1113 2007-02-15  Wim Taymans  <wim@fluendo.com>
1114
1115         * docs/gst/gstreamer-sections.txt:
1116         Remove old unused method.
1117
1118 2007-02-13  Wim Taymans  <wim@fluendo.com>
1119
1120         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1121         Fix check
1122
1123 2007-02-13  Wim Taymans  <wim@fluendo.com>
1124
1125         * docs/design/part-seeking.txt:
1126         Some small update.
1127
1128         * gst/gstsegment.c: (gst_segment_set_seek):
1129         Revert old bogus change that should make seeking work again.
1130
1131 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
1132
1133         * docs/random/ensonic/dynlink.txt:
1134         * docs/random/ensonic/interfaces.txt:
1135         * docs/random/ensonic/receipies.txt:
1136           Possible dynamic reconnection api, plus some type fixes the other two
1137           docs.
1138
1139 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
1140
1141         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1142         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1143         Also check for an absolute path following file:// in the filesrc
1144         element. Remove redundant check and call g_path_is_absolute() on the
1145         unescaped location.
1146
1147 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
1148
1149         * docs/design/draft-klass.txt:
1150           Add existing category analysis.
1151           
1152         * gst/gstcaps.c:
1153           Fix doc example, framerate is a fraction.
1154
1155 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
1156
1157         * configure.ac:
1158         * docs/gst/Makefile.am:
1159         * docs/libs/Makefile.am:
1160         * docs/plugins/Makefile.am:
1161           Add crossreferences to glib/gobject docs.
1162
1163 2007-02-12  Wim Taymans  <wim@fluendo.com>
1164
1165         * docs/design/draft-latency.txt:
1166         Small update.
1167
1168         * docs/libs/gstreamer-libs-sections.txt:
1169         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1170         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
1171         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
1172         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
1173         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
1174         (gst_base_sink_get_position), (gst_base_sink_query),
1175         (gst_base_sink_change_state):
1176         * libs/gst/base/gstbasesink.h:
1177         API: gst_base_sink_query_latency() to let subclasses query the upstream
1178         latency.
1179         API: gst_base_sink_get_latency() to let subclasses query the configured
1180         latency in the sink.
1181         Implement query and set latency.
1182         Update some docs.
1183         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
1184         don't continue preroll when we are flushing. Fixes #405284.
1185
1186         * tests/check/pipelines/stress.c: (change_state_timeout),
1187         (quit_timeout), (GST_START_TEST), (stress_suite):
1188         Test for #405284.
1189
1190 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
1191
1192         Patch by: René Stadler <mail at renestadler de>
1193
1194         * docs/gst/gstreamer-sections.txt:
1195         * gst/gsttaglist.c: (_gst_tag_initialize):
1196         * gst/gsttaglist.h:
1197           API: add GST_TAG_REFERENCE_LEVEL (#403597).
1198
1199 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
1200
1201         * docs/libs/Makefile.am:
1202           Fix path to core docs.
1203
1204         * gst/gstbin.c: (gst_bin_get_by_interface),
1205         (gst_bin_iterate_all_by_interface):
1206           Refix docs by also renaming 'interface' to 'iface' in implementation.
1207
1208         * docs/gst/gstreamer-sections.txt:
1209         * gst/gstcaps.c:
1210         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1211         * gst/gstchildproxy.h:
1212         * gst/gstelementfactory.c:
1213         * gst/gstpadtemplate.h:
1214         * libs/gst/controller/gstcontroller.c:
1215         (gst_controlled_property_new):
1216           Document more.
1217
1218 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
1219
1220         * gst/gstbin.h:(gst_bin_get_by_interface),
1221         (gst_bin_iterate_all_by_interface):
1222         Replace interface parameter name by iface as interface is 
1223         a reserved keyword in Visual Studio for C++ projects so it removes
1224         a build error for application developpers using VS.
1225         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
1226         Fix a bug on Windows in uri format check. Now the prefix checked
1227         is file:// and next we check if the path after file:// is absolute.
1228         * win32/common/libgstbase.def:
1229         * win32/common/libgstdataprotocol.def:
1230         * win32/common/libgstgstreamer.def:
1231         Add new exported functions.
1232
1233 2007-02-09  Andy Wingo  <wingo@pobox.com>
1234
1235         * tests/check/pipelines/simple-launch-lines.c
1236         (simple_launch_lines_suite, test_tee): Disable tee test until I
1237         have time to fix it :-(
1238
1239         * tests/check/Makefile.am (noinst_HEADERS): 
1240         * tests/check/libs/libsabi.c: 
1241         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
1242         * tests/check/gst/gstabi.c: 
1243         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
1244
1245         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
1246         tests for push and pull tee behavior.
1247
1248         * plugins/elements/gsttee.h: 
1249         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
1250         mark as deprecated as well as unimplemented. It was a crack idea.
1251         Add support for tee operating in pull mode, off by default.
1252
1253         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
1254         normal-case logs down to LOG, raise errors to WARNING.
1255         (gst_registry_xml_read_cache): Don't log before calling a function
1256         that logs.
1257
1258         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
1259         exit (registry finalize).
1260         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
1261         DEBUG log when we emit signals that people don't even have the
1262         chance to connect to.
1263         (gst_registry_scan_path_level): Less logging in the normal case.
1264
1265 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
1266
1267         Patch by: Michal Benes <michal dot benes at itonis dot tv>
1268
1269         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1270         Correctly generate EOS for non-seekable files. We don't have a total
1271         length for them and would get an unexpected end of file if we only
1272         special-cased for regular files. (Fixes: #404569)
1273
1274 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
1275
1276         * tests/check/elements/filesrc.c: (GST_START_TEST),
1277         (filesrc_suite):
1278         Add unit test for the GstURIHandler interface in filesrc. This also
1279         tests the newly added file://localhost/foo/bar support.
1280
1281 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1282
1283         * gst/gstelementfactory.h:
1284           The klass string is not a hierarchy. Add reference to the design doc
1285           for more information and common types.
1286
1287 2007-02-02  Wim Taymans  <wim@fluendo.com>
1288
1289         * gst/gstquery.c: (gst_query_new_latency):
1290         Remove old structure field.
1291
1292 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
1293
1294         * tools/gst-launch.1.in:
1295           Give example for network streaming (#351998)
1296
1297 2007-02-02  Wim Taymans  <wim@fluendo.com>
1298
1299         * docs/gst/gstreamer-sections.txt:
1300         Add docs for new methods.
1301
1302         * gst/gstevent.c: (gst_event_new_latency),
1303         (gst_event_parse_latency):
1304         * gst/gstevent.h:
1305         Add new LATENCY event to configure latency in a pipeline.
1306         API: gst_event_new_latency
1307         API: gst_event_parse_latency
1308
1309         * gst/gstmessage.c: (gst_message_new_buffering),
1310         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
1311         (gst_message_new_latency), (gst_message_parse_buffering),
1312         (gst_message_parse_lost_preroll):
1313         * gst/gstmessage.h:
1314         Added messages used in draft-latency.
1315         API: gst_message_new_lost_preroll
1316         API: gst_message_parse_lost_preroll
1317         API: gst_message_new_prerolled
1318         API: gst_message_new_latency
1319
1320         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
1321         (gst_query_parse_latency):
1322         * gst/gstquery.h:
1323         Implemented new latency query as in design doc.
1324         API: gst_query_new_latency
1325         API: gst_query_set_latency
1326         API: gst_query_parse_latency
1327
1328 2007-02-02  Wim Taymans  <wim@fluendo.com>
1329
1330         * docs/design/draft-latency.txt:
1331         Slight redesign to allow for dynamic latency adjustments.
1332
1333         * docs/design/part-negotiation.txt:
1334         Fix some typos.
1335
1336 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
1337
1338         reviewed by: Wim Taymans <wim@fluendo.com>
1339
1340         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1341         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1342         Allow file://localhost/foo/bar URLs and correctly fail for every other
1343         hostname that one sets. This was gnomevfssrc is linked for those if
1344         installed as it can handle it (#403172)
1345
1346 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1347
1348         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1349
1350         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1351         (unref_data), (gst_collect_pads_add_pad_full):
1352         * libs/gst/base/gstcollectpads.h:
1353         Don't put the previously added destroy notify in the GstCollectData
1354         struct as all it's padding is already used and we don't want to break
1355         ABI. Instead put in the pad's GObject data for now. This should be
1356         cleaned up for 0.11 (#402393).
1357
1358 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1359
1360         reviewed by: Wim Taymans <wim@fluendo.com>
1361
1362         * docs/libs/gstreamer-libs-sections.txt:
1363         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1364         (unref_data), (gst_collect_pads_add_pad),
1365         (gst_collect_pads_add_pad_full):
1366         * libs/gst/base/gstcollectpads.h:
1367         API: Add function to specify a destroy notification for custom
1368         GstCollectData when adding new pads in GstCollectPads (#402393).
1369
1370 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
1371
1372         * po/sv.po:
1373           Update Swedish translation (#378255).
1374
1375 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1376
1377         * docs/design/draft-klass.txt:
1378           Fix the previous change, this is a list of categories and not a hierarchy.
1379
1380 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1381
1382         * docs/design/draft-klass.txt:
1383           Add info about how to get a list of used classes.
1384
1385 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
1386
1387         * plugins/elements/gsttypefindelement.c:
1388         (gst_type_find_element_chain_do_typefinding),
1389         (gst_type_find_element_change_state):
1390           Don't leak found caps in chain function (no idea why that never
1391           showed up as a leak anywhere).
1392
1393 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
1394
1395         * gst/gstplugin.h:
1396           Fix and expand GstPluginDesc API docs.
1397
1398 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1399
1400         * gst/gstcaps.c:
1401         * gst/gstelementfactory.c:
1402         * gst/gstpadtemplate.h:
1403           api doc fixes
1404
1405         * libs/gst/controller/gstcontroller.c:
1406         (gst_controlled_property_new):
1407         * tests/examples/controller/audio-example.c:
1408           comment fixes
1409
1410 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1411
1412         * configure.ac:
1413           comment about refining the xml deps
1414
1415         * docs/manuals.mak:
1416           comments about moving away from jade for docs
1417         
1418         * gst/gst.c:
1419           recommit the ifdefs to use the binary registry
1420         
1421         * gst/gstbin.c: (gst_bin_change_state_func):
1422           this break is obsolete
1423
1424         * gst/gstelementfactory.h:
1425           better GST_ELEMENT_DETAILS docs, add comment about translation
1426
1427         * gst/gstinfo.h:
1428           remove eol slash
1429
1430         * gst/gstobject.c: (gst_signal_object_get_type):
1431           add G_UNLIKELY as usual
1432
1433         * gst/gstpad.c: (gst_pad_event_default):
1434           add fall trhu comment
1435
1436         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1437         (gst_registry_binary_initialize_magic),
1438         (gst_registry_binary_save_string),
1439         (gst_registry_binary_save_pad_template),
1440         (gst_registry_binary_save_feature),
1441         (gst_registry_binary_save_plugin),
1442         (gst_registry_binary_write_cache),
1443         (gst_registry_binary_check_magic),
1444         (gst_registry_binary_load_pad_template),
1445         (gst_registry_binary_load_feature),
1446         (gst_registry_binary_load_plugin),
1447         (gst_registry_binary_read_cache):
1448           comment typo and formatting
1449
1450         * gst/gstutils.c: (gst_element_state_get_name),
1451         (gst_element_state_change_return_get_name):
1452           remove obsolete breaks
1453
1454         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1455           add FIXME 0.11 and remove cpp comment
1456
1457 2007-01-29  Edward Hervey  <edward@fluendo.com>
1458
1459         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1460         Fix print statement in an even more portable way.
1461
1462 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
1463
1464         * docs/gst/gstreamer-sections.txt:
1465         * gst/gstutils.h:
1466           API: add GST_ROUND_DOWN_* macros (#401781).
1467
1468 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
1469
1470         * docs/gst/gstreamer.types.in:
1471         * gst/gstregistry.c: (gst_registry_class_init):
1472           Document registry signals and make gtk-doc pick them up (#401381).
1473
1474 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1475
1476         * docs/pwg/building-testapp.xml:
1477           Add some audioconverts and audioresample to the pipeline, and some
1478           more comments and error handling.
1479
1480 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1481
1482         * docs/manual/manual.xml:
1483         * docs/pwg/pwg.xml:
1484           Fix typo (#400987).
1485
1486 2007-01-26  Wim Taymans  <wim@fluendo.com>
1487
1488         * gst/gstcaps.c: (gst_static_caps_get):
1489         Init caps flags too.
1490
1491 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
1492
1493         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
1494
1495         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1496         If not using mmap'ed files try to seek to the end instead of the
1497         start to determine whether we can seek at all. This fixes the case
1498         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
1499         seeks for everything afterwards fail. Fixes #400656
1500
1501 2007-01-25  Wim Taymans  <wim@fluendo.com>
1502
1503         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
1504         Add some refcount debugging.
1505         Make gst_static_caps_get threadsafe, which is needed when autoplugging
1506         in multiple streaming threads.
1507
1508 2007-01-25  Wim Taymans  <wim@fluendo.com>
1509
1510         Patch by: David Schleef <ds at schleef dot org>
1511
1512         * docs/libs/gstreamer-libs-sections.txt:
1513         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
1514         * libs/gst/base/gstadapter.h:
1515         API: gst_adapter_copy() that can reduce the amount of memcpy when
1516         getting data from the adapter. Fixes #388201.
1517
1518 2007-01-25  Edward Hervey  <edward@fluendo.com>
1519
1520         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1521         In print statements, "%x" is for guint. Fixes build on macosx.
1522
1523 2007-01-24  Edward Hervey  <edward@fluendo.com>
1524
1525         * plugins/elements/gstmultiqueue.c:
1526         (gst_multi_queue_loop):
1527         Small fix.
1528         (single_queue_overrun_cb), (single_queue_underrun_cb),
1529         (single_queue_check_full), (gst_single_queue_new):
1530         Implement single queue growth system.
1531         This uses the extra-size properties, and will grow single queues by
1532         that much if one goes full whereas there are others empty. This is
1533         called extra-mode in the code.
1534         When a single queue's levels go back below the initial max-size
1535         limits, it is no longer in extra-mode. This is to ensure we don't
1536         consume too much memory.
1537         Fixes #399875
1538
1539 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
1540
1541         * gst/gst.c: (gst_init_get_option_group):
1542           Make warning about late g_thread_init() calls a bit more explicit,
1543           so that it's more obvious to application developers what they need
1544           to do if a user files a bug against their application.
1545
1546 2007-01-22  Edward Hervey  <edward@fluendo.com>
1547
1548         * plugins/elements/gstmultiqueue.c:
1549         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
1550         Remove previous hack of unsetting the flushing flag for the source pad
1551         instead of activating it. Instead, fix the source pad activate function
1552         so that it no longer depends on having a parent set or not.
1553
1554 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
1555
1556         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
1557
1558         * docs/manual/basics-bus.xml:
1559           Fix example code, gst_element_unref() doesn't exist any longer.
1560
1561 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
1562
1563         Patch by: Mark Nauwelaerts <manauw at skynet be>
1564
1565         * gst/gstpad.c:
1566           Fix two docs typoes (#399094).
1567
1568 2007-01-19  Edward Hervey  <edward@fluendo.com>
1569
1570         * docs/faq/gst-uninstalled:
1571         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
1572         depending on libgstbaseutils can work in uninstalled environment.
1573
1574 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
1575
1576         * gst/gsttaglist.h:
1577         * gst/gsttagsetter.c:
1578         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
1579         statement for new tag.
1580
1581 2007-01-17  Edward Hervey  <edward@fluendo.com>
1582
1583         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
1584         When dynamically creating single queues, activate sinkpad before adding
1585         it.
1586         We should be doing the same thing for the source pad, but we can't
1587         since it would call a method which needs the parent to be set in order
1588         to work propertly. Instead of activating the source pad, we just unset
1589         the flushing flag, which is the minimal requirement for adding a pad
1590         to an element in a state greater than READY.
1591
1592 2007-01-17  Edward Hervey  <edward@fluendo.com>
1593
1594         * docs/faq/gst-uninstalled:
1595         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
1596         Mac OS X.
1597
1598 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1599
1600         * tests/check/gst/gstabi.c:
1601         * tests/check/gst/struct_hppa.h:
1602         * tests/check/libs/libsabi.c:
1603         * tests/check/libs/struct_hppa.h:
1604           Add ABI structs for HPPA (see #393796).
1605
1606 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
1607
1608         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1609           Actually write ABI structs to the file specified in the GST_ABI
1610           environment variable, as the message we print claims we would.
1611
1612 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1613
1614         * tests/check/gst/gsttask.c:
1615           Fix header comment.
1616
1617 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1618
1619         * gst/gsttaglist.c: (_gst_tag_initialize):
1620           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
1621           previous two entries.
1622
1623 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1624
1625         * docs/gst/gstreamer-sections.txt:
1626         * gst/gsttaglist.c: (_gst_tag_initialize):
1627         * gst/gsttaglist.h:
1628           Add tag support for beat-per-minute.
1629
1630 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1631
1632         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1633         (gst_registry_binary_initialize_magic),
1634         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
1635         (gst_registry_binary_save_pad_template),
1636         (gst_registry_binary_save_feature),
1637         (gst_registry_binary_save_plugin),
1638         (gst_registry_binary_write_cache),
1639         (gst_registry_binary_check_magic),
1640         (gst_registry_binary_load_pad_template),
1641         (gst_registry_binary_load_feature),
1642         (gst_registry_binary_load_plugin),
1643         (gst_registry_binary_read_cache):
1644         * gst/gstregistrybinary.h:
1645           Use glib types, cleanup comments, impement interfaces and uri-types.
1646
1647 2007-01-13  Andy Wingo  <wingo@pobox.com>
1648
1649         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
1650         getrange() to return buffers with other caps, while we fix
1651         demuxers and typefind, or otherwise change part-negotiation.txt.
1652
1653 2007-01-12  Andy Wingo  <wingo@pobox.com>
1654
1655         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
1656         Factor start/stop into this private function instead of partially
1657         in activate functions and partially in the change_state function.
1658         Fixes setup before the element has changed from READY->PAUSED, as
1659         is the case in pull-mode pipelines.
1660         (gst_base_transform_sink_activate_push)
1661         (gst_base_transform_src_activate_pull): Refactor to use
1662         gst_base_transform_activate().
1663         (gst_base_transform_change_state): Removed, not needed any more.
1664
1665         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1666         Truncate before fixating.
1667         
1668         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1669         Don't set_caps() if the result of fixating is ANY, as it's not
1670         supported, and not necessary in the case of a link with no
1671         template caps on either side. Fixes tests/check/libs/basesrc in
1672         some pull-mode tests.
1673
1674         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
1675         (gst_base_transform_init, gst_base_transform_sink_activate_push)
1676         (gst_base_transform_src_activate_pull): 
1677         Track the activation mode.
1678         (gst_base_transform_setcaps): In pull mode, when activating the
1679         src pad, after activating the sink pad, activate the sink pad's
1680         peer, as discussed in part-negotiation.txt.
1681
1682         * libs/gst/base/gstbasesrc.h: 
1683         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
1684         vmethod, as in basesink.
1685
1686         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
1687
1688         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
1689         mode, first proxy the setcaps to the peer pad.
1690         (gst_base_sink_pad_fixate): Add a fixate function that calls the
1691         new fixate vmethod.
1692         (gst_base_sink_default_activate_pull): Rename from
1693         gst_base_sink_activate_pull.
1694         (gst_base_sink_negotiate_pull): New function, performs negotiation
1695         in pull mode before calling ::activate_pull().
1696         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
1697         vmethod instead of the default implementation. I have no idea how
1698         this worked before. Negotiate before calling activate_pull.
1699
1700         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
1701         sink pads in pull mode. In addition to being correct, fixes
1702         filesrc ! decodebin ! identity ! fakesink.
1703         (gst_pad_get_range, gst_pad_pull_range): Don't call
1704         gst_pad_set_caps() if the caps changes; instead error out with
1705         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
1706
1707 2007-01-12  Andy Wingo  <wingo@pobox.com>
1708
1709         * docs/design/part-negotiation.txt: Update with more policy.
1710
1711 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1712
1713         * libs/gst/check/gstbufferstraw.h:
1714         * libs/gst/check/gstcheck.h:
1715           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
1716           belongs.
1717
1718 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1719
1720         * tests/check/Makefile.am:
1721         * tests/check/gst/.cvsignore:
1722         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
1723         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
1724         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
1725         (GST_START_TEST), (gst_tag_setter_suite):
1726           Add minimal unit test for beforementioned GstTagSetter bug.
1727
1728 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1729
1730         Patch by: René Stadler <mail at renestadler dot de>
1731
1732         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1733           gst_tag_list_merge() returns a new list, so it's not the best idea
1734           to ingore its return value. Effectively meant that tags could only
1735           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
1736           Also add function guard to require a non-NULL taglist as input (has
1737           always been so due to gst_tag_list_copy(), just making it explicit).
1738
1739 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1740
1741         * docs/random/draft-missing-plugins.txt:
1742           Some additions: mention new API that is supposed to be used at the
1743           various stages; short blob about new gst-inspect introspection
1744           option; mention potential future problem with plugins that have
1745           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
1746
1747 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1748
1749         * tools/gst-inspect.c:
1750         (print_plugin_automatic_install_info_codecs),
1751         (print_plugin_automatic_install_info_protocols),
1752         (print_plugin_automatic_install_info), (main):
1753         Add --print-plugin-auto-install-info option to gst-inspect, so we can
1754         introspect plugin files and get machine-parsable output that corresponds
1755         to the last bit of the missing-plugin installer string (small gotcha:
1756         doesn't take into account ranks).
1757
1758 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
1759
1760         * configure.ac:
1761         * docs/gst/gstreamer-sections.txt:
1762         * gst/Makefile.am:
1763         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
1764         (gst_registry_lookup_locked):
1765         * gst/gstregistry.h:
1766         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1767         (gst_registry_binary_initialize_magic),
1768         (gst_registry_binary_save_string),
1769         (gst_registry_binary_save_pad_template),
1770         (gst_registry_binary_save_feature),
1771         (gst_registry_binary_save_plugin),
1772         (gst_registry_binary_write_cache),
1773         (gst_registry_binary_check_magic),
1774         (gst_registry_binary_load_pad_template),
1775         (gst_registry_binary_load_feature),
1776         (gst_registry_binary_load_plugin),
1777         (gst_registry_binary_read_cache):
1778         * gst/gstregistrybinary.h:
1779         * gst/gstregistryxml.c: (load_feature),
1780         (gst_registry_xml_read_cache):
1781           commit binary registry (disabled by default, see #359653)
1782
1783 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1784
1785         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
1786           Fix 'make check' too.
1787
1788 2007-01-10  Andy Wingo  <wingo@pobox.com>
1789
1790         * docs/design/part-negotiation.txt: Fix a typo, add a couple
1791         notes.
1792         
1793         * docs/design/part-negotiation.txt: Update with, um, one way that
1794         pull-mode negotiation might work?
1795
1796         * gst/gstpad.h: 
1797         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
1798         that the pad must be a src pad; makes sense to call it the other
1799         way in pull mode, and the logic is symmetric anyway.
1800
1801 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
1802
1803         * plugins/elements/gstfilesink.c:
1804           Include <stdio.h> for fseeko().
1805
1806 2007-01-10  Wim Taymans  <wim@fluendo.com>
1807
1808         * gst/gstevent.c:
1809         * gst/gstevent.h:
1810         Reserve LATENCY event.
1811
1812 2007-01-09  Wim Taymans  <wim@fluendo.com>
1813
1814         * docs/design/draft-latency.txt:
1815         Updates.
1816
1817 2007-01-09  Wim Taymans  <wim@fluendo.com>
1818
1819         * docs/design/draft-latency.txt:
1820         Updates.
1821
1822         * gst/gstelement.h:
1823         * gst/gststructure.c:
1824         * gst/gsttrace.c:
1825         Small typo fixes.
1826
1827 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1828
1829         * tests/check/.cvsignore:
1830           Ignore test-registry.xml as well.
1831
1832 2007-01-09  Wim Taymans  <wim@fluendo.com>
1833
1834         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1835         unref data at the end when we are done with the pad.
1836
1837 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1838
1839         * docs/gst/gstreamer-sections.txt:
1840         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
1841         (init_post), (gst_deinit), (gst_update_registry):
1842         * gst/gst.h:
1843           API: add gst_update_registry() (#391296).
1844
1845         * tests/check/Makefile.am:
1846         * tests/check/gst/gstregistry.c:
1847         * tests/check/gst/.cvsignore:
1848           Simple unit test for the above.
1849
1850 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1851
1852         * gst/gstregistry.c: (gst_registry_scan_path_level):
1853           Plugin extension on HP-UX is .sl, add that to the list of approved
1854           plugin extensions (see #393796).
1855
1856         * tests/check/gst/gstpad.c: (GST_START_TEST):
1857           ulong => gulong. Fixes compilation with HP-UX compiler.
1858
1859         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1860           Fix compilation if valgrind headers are not available.
1861
1862 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
1863
1864         * win32/common/libgstreamer.def: 
1865           Add new exported function.
1866         * win32/vs6/libgstbase.dsp: 
1867           Add gstdataqueue.c to the build.
1868         * win32/vs6/libgstcoreelements.dsp:
1869           Add gstmultiqueue.c to the build.
1870         
1871 2007-01-06  Andy Wingo  <wingo@pobox.com>
1872
1873         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
1874         activate_pull(), providing for a way to specialize the process of
1875         spawning a thread to pull on the sink pad. There is a default
1876         implementation.
1877
1878         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
1879         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
1880         (gst_base_sink_init): Renamed pad activation functions (inserting
1881         "_pad" in their names). Refactor to use the new activate_pull
1882         vmethod, as appropriate.
1883         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
1884         default activate_pull function to start a task pulling from the
1885         sink pad, as before.
1886
1887         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
1888         on the pads if necessary, as in push()/chain(). Update docs.
1889         Shouldn't affect existing pull() usage as it is currently only
1890         being used on buffers without caps.
1891
1892 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1893
1894         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1895         (init_pre):
1896           Call g_thread_init() first thing in gst_init() / gst_check_init().
1897           When initialisation is done via gst_init_get_option_group() and
1898           GOption parsing, issue a warning if the GLib thread system has not
1899           been initialised yet by the time gst_init_get_option_group() is
1900           called, as it's quite likely other GLib functions such as
1901           g_option_context_new() have been called already then, and
1902           g_thread_init() must be called before any other GLib function. The
1903           application in question must be fixed in that case, since memory
1904           corruption might happen otherwise.
1905           We issue the warning because even if the GLib folks decide to work
1906           around the problem on their end in future, this is still an issue
1907           with all GLib versions >= 2.10.0, so we should warn until we depend
1908           on a GLib version we know to be safe.
1909           Update documentation as well.
1910           Closes bug #391278.
1911
1912 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1913
1914         * tools/gst-inspect.c: (main):
1915         * tools/gst-launch.c: (main):
1916         * tools/gst-typefind.c: (main):
1917         * tools/gst-xmlinspect.c: (main):
1918           Call g_thread_init() really really early, before any other GLib
1919           function (see #342564 and recent discussion on gtk-devel-list).
1920
1921 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1922
1923         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
1924
1925         * gst/gst_private.h:
1926         * gst/gstconfig.h.in:
1927         * gst/gstinfo.h:
1928           On win32, all the __declspec stuff for symbol exporting is
1929           apparently only needed with MSVC, but doesn't work with MingW.
1930           Fixes compilation with MingW and #391909.
1931
1932 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1933
1934         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
1935           Change some GST_ERROR_OBJECT that aren't really errors to
1936           GST_WARNING_OBJECT in order to reduce terminal spam.
1937
1938 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
1939
1940         * tests/check/Makefile.am:
1941           disable test again, as there seem to be still race problems
1942
1943 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
1944
1945         * tests/check/Makefile.am:
1946         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1947         (GST_START_TEST), (queue_suite):
1948           enable queue test again, add tests for the leaky behaviour
1949
1950 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
1951
1952         * configure.ac:
1953         * tests/examples/Makefile.am:
1954           Compile adapter test/example only if the required headers are
1955           available (fixes #391915).
1956
1957 2007-01-01  David Schleef  <ds@schleef.org>
1958
1959         * gst/gstplugin.c:
1960           Restore the previous signal handler for SIGSEGV instead of
1961           setting to default, since we may have stolen it away from
1962           someone.  (i.e., Mono)
1963
1964 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
1965
1966         * docs/random/draft-missing-plugins.txt:
1967           Some small additions and clarifications.
1968
1969 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
1970
1971         * gst/gstregistryxml.c: (gst_registry_save_escaped):
1972           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
1973           since that can lead to random memory corruptions and crashes
1974           (may or may not be related to #383244, #386711, and #386711).
1975
1976 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1977
1978         * tests/check/.cvsignore:
1979         * tests/check/Makefile.am:
1980           sync .cvsignome and CLEANFILES
1981
1982 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1983
1984         * tests/check/Makefile.am:
1985           fix distcheck
1986
1987 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
1988
1989         * docs/design/part-states.txt:
1990           two tiny additional comments
1991         
1992         * gst/gststructure.c:
1993           doc fixing
1994
1995         * tests/check/Makefile.am:
1996         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1997         (GST_START_TEST):
1998           disable test for now, unless it gets fixed
1999
2000 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2001
2002         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2003         (GST_START_TEST):
2004           fix race in underrun test
2005
2006 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2007
2008         * tests/check/elements/.cvsignore:
2009           ignore more
2010
2011         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2012         (GST_START_TEST):
2013           try to narrow test failure
2014
2015 2006-12-21  David Schleef  <ds@schleef.org>
2016
2017         * plugins/elements/gstfakesrc.c:
2018           Use g_random_int_range(), since it produces better random
2019           numbers in a range than almost-correct floating point code.
2020
2021 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2022
2023         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2024         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2025         (gst_check_teardown_sink_pad):
2026           do not automatically (de)activate pads
2027
2028         * tests/check/Makefile.am:
2029         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2030         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
2031           add new, yet simple tests for queue
2032
2033         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
2034         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
2035         * tests/check/elements/filesrc.c: (cleanup_filesrc),
2036         (GST_START_TEST):
2037         * tests/check/elements/identity.c: (cleanup_identity):
2038           consistent pad (de)activation
2039
2040 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
2041
2042         Patch by: Sebastian Dröge  <slomo ubuntu com>
2043
2044         * libs/gst/base/gstcollectpads.c:
2045           Fix two doc typos (#387866).
2046
2047 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
2048
2049         * docs/manual/advanced-dparams.xml:
2050           Fix typo (g_object_control_properties() doesn't exist).
2051
2052 2006-12-19  Edward Hervey  <edward@fluendo.com>
2053
2054         * gst/gstsegment.c: (gst_segment_set_seek):
2055         Fine tune the cases where the segment start/stop values are really
2056         updated.
2057         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2058         Add tests for the return values of gst_segment_set_seek().
2059
2060 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
2061
2062         * gst/gst.c:
2063           Docs typo fix.
2064
2065         * plugins/elements/gstqueue.c: (gst_queue_class_init),
2066         (gst_queue_init):
2067           Fix incorrect documentation and flesh it out a bit more.
2068           Set default values for the max properties on the GParamSpec as well,
2069           so it shows up correctly in gst-inspect.
2070
2071 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
2072
2073         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
2074           Correct docs of queue, add more detail and crosslink it more.
2075
2076 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2077
2078         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2079           Print additional debug info when the stream isn't perfectly
2080           timestamped; don't try to use invalid durations.
2081
2082 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2083
2084         * docs/design/Makefile.am:
2085           Dist new design docs.
2086
2087 2006-12-16  Wim Taymans  <wim@fluendo.com>
2088
2089         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2090
2091         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
2092         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2093         (gst_collect_pads_stop), (gst_collect_pads_event),
2094         (gst_collect_pads_chain):
2095         * libs/gst/base/gstcollectpads.h:
2096         Add refcounting to the collectpads data so we can track when it's safe
2097         to free the data. Fixes #383382.
2098
2099 2006-12-15  Wim Taymans  <wim@fluendo.com>
2100
2101         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2102         (gst_collect_pads_remove_pad):
2103         Automatically activate/deactivate pads when they are added to a
2104         started/stoped collectpads.
2105
2106 2006-12-15  Wim Taymans  <wim@fluendo.com>
2107
2108         * gst/gstelement.c: (gst_element_add_pad):
2109         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
2110         * gst/gstpad.c: (gst_pad_init):
2111         Set pads to FLUSHING when they are created. Check, warn and fix when a
2112         demuxer adds an inactive pad to itself when running. Fixes #339326.
2113
2114 2006-12-15  Wim Taymans  <wim@fluendo.com>
2115
2116         * gst/gstelement.c: (gst_element_class_init),
2117         (gst_element_default_send_event), (gst_element_send_event),
2118         (gst_element_default_query), (gst_element_query):
2119         Expose default element send_event and query handling as vmethods that
2120         subclasses can chain up to.
2121
2122 2006-12-15  Wim Taymans  <wim@fluendo.com>
2123
2124         * gst/gstelement.c: (gst_element_set_state_func):
2125         Small documentation fixes.
2126
2127 2006-12-15  Wim Taymans  <wim@fluendo.com>
2128
2129         * docs/design/draft-latency.txt:
2130         Checked in draft for handling latency in pipelines.
2131
2132 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2133
2134         * Makefile.am:
2135         * gstreamer.doap:
2136         * gstreamer.spec.in:
2137           adding .doap file
2138
2139 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
2140
2141         * gst/gst.c: (init_pre), (init_post):
2142           init_pre() and init_post() might be called via our GOptionGroup or
2143           from gst_init(), and we should skip both of them if we've already
2144           been initialised, otherwise we will init some things twice or add
2145           two default log functions.
2146
2147 2006-12-13  Edward Hervey  <edward@fluendo.com>
2148
2149         * docs/manual/basics-bus.xml:
2150         No, gst_main_loop does not exist. Its g_main_loop.
2151         Discovered by somebody who abused the copy-paste technique of coding :)
2152
2153 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
2154
2155         * gst/gstghostpad.c:
2156           Log ghostpad debug stuff to the GST_PADS category as well rather
2157           than just to the default category.
2158
2159 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2160
2161         * configure.ac:
2162         * gst/gst.c: (init_pre):
2163           Add some basic system details such as OS and architecture
2164           to the debug output if possible, courtesy of uname().
2165
2166 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2167
2168         * docs/gst/running.xml:
2169           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
2170           environment variables.
2171
2172 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
2173
2174         * tests/check/gst/gstbin.c: (GST_START_TEST):
2175         It is acceptable to have a refcount of 2 or 3 at this point in the
2176         test, because the pipeline might be just posting its state_change
2177         message. The next line then waits for that message to appear using
2178         bus_poll, so that should be fine too.
2179
2180 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
2181
2182         * gst/gst.c: (ensure_current_registry_forking):
2183         Ignore EINTR when reading from the child registry pipe.
2184         Explicitly ignore the return value from close, since it makes no
2185         difference.
2186
2187         * gst/gstminiobject.c: (gst_mini_object_ref),
2188         (gst_mini_object_unref):
2189         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
2190
2191         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
2192         When removing cached plugins, remove their features too, so they're
2193         not visible after they've disappeared.
2194
2195         * gst/gstutils.c: (prepare_link_maybe_ghosting):
2196         In the unlikely case that we are linking pads with no parents, don't
2197         crash trying to get the non-existent parent bin.
2198
2199         * gst/parse/grammar.y:
2200         Output debug in the PIPELINE category
2201
2202 2005-03-08  Wim Taymans  <wim@fluendo.com>
2203
2204         Patch by: René Stadler <mail at renestadler dot de>
2205
2206         * gst/gstclock.c: (gst_clock_new_periodic_id):
2207         Reject invalid clock times for interval of periodic ids.
2208         Fixes ##383506.
2209
2210 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
2211
2212         * gst/gstelementfactory.c: (gst_element_factory_create):
2213         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2214         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
2215         * tools/gst-inspect.c: (print_element_info):
2216         Fix refcounting of gst_plugin_feature_load to match the docs. 
2217         Fixes: #380129
2218
2219 2006-12-07  Wim Taymans  <wim@fluendo.com>
2220
2221         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
2222         (gst_base_sink_get_position):
2223         Improve debugging of events.
2224
2225 2006-12-07  Wim Taymans  <wim@fluendo.com>
2226
2227         Patch by: René Stadler <mail at renestadler dot de>
2228
2229         * gst/gstclock.c: (gst_clock_id_wait):
2230         Make period ids add the interval to the origial requested time instead
2231         of the possibly updated time which can be wrong when there are multiple
2232         waiters for the same id. Fixes #382592.
2233
2234         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
2235         (gst_system_clock_id_wait_jitter_unlocked),
2236         (gst_system_clock_id_wait_jitter):
2237         Fix restart in the async notify thread when an async entry is added to
2238         the front of the list. Fixes #381492. 
2239
2240         * tests/check/gst/gstsystemclock.c: (store_callback),
2241         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
2242         Added test for multiple async waits.
2243         Added test for async wait order.
2244
2245 2006-12-07  Wim Taymans  <wim@fluendo.com>
2246
2247         * gst/gstbin.c: (gst_bin_query):
2248         Add some more docs about the POSITION query.
2249
2250 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
2251
2252         * configure.ac:
2253         Bump version nano - back to CVS.
2254
2255 === release 0.10.11 ===
2256
2257 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
2258
2259         * configure.ac:
2260           releasing 0.10.11, "Love never runs on time"
2261
2262 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
2263
2264         * win32/common/libgstbase.def:
2265         * win32/common/libgstreamer.def:
2266         * win32/vs8/libgstbase.vcproj:
2267         * win32/vs8/libgstcoreelements.vcproj:
2268         * win32/vs8/libgstreamer.vcproj:
2269         Fix compilation on win32 under VS8
2270         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2271         Partially fixes #381175
2272
2273 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2274
2275         * gst/gstvalue.c: (gst_value_compare_fraction):
2276         If someone is foolish enough to compare 2 fractions with denominator =
2277         0, return UNORDERED rather than aborting.
2278
2279 2006-11-28  Edward Hervey  <edward@fluendo.com>
2280
2281         * libs/gst/base/Makefile.am:
2282         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
2283         (gst_data_queue_base_init), (gst_data_queue_class_init),
2284         (gst_data_queue_init), (gst_data_queue_new),
2285         (gst_data_queue_cleanup), (gst_data_queue_finalize),
2286         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
2287         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
2288         (gst_data_queue_is_empty), (gst_data_queue_is_full),
2289         (gst_data_queue_set_flushing), (gst_data_queue_push),
2290         (gst_data_queue_pop), (gst_data_queue_drop_head),
2291         (gst_data_queue_set_property), (gst_data_queue_get_property):
2292         * libs/gst/base/gstdataqueue.h:
2293         New GstDataQueue object for threadsafe queueing. Most useful for
2294         elements that need some queueing functionnality.
2295         * docs/libs/gstreamer-libs-docs.sgml:
2296         * docs/libs/gstreamer-libs-sections.txt:
2297         Insert documentation for GstDataQueue
2298         * plugins/elements/Makefile.am:
2299         * plugins/elements/gstelements.c:
2300         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2301         (gst_multi_queue_class_init), (gst_multi_queue_init),
2302         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2303         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
2304         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
2305         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2306         (gst_multi_queue_loop), (gst_multi_queue_chain),
2307         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2308         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
2309         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
2310         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
2311         (wake_up_next_non_linked), (compute_next_non_linked),
2312         (single_queue_overrun_cb), (single_queue_underrun_cb),
2313         (single_queue_check_full), (gst_single_queue_new):
2314         * plugins/elements/gstmultiqueue.h:
2315         New multiqueue element, using GstDataQueue. Used for queuing multiple
2316         streams.
2317         Closes #344639 and #347785
2318
2319 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
2320
2321         * docs/pwg/advanced-types.xml:
2322           add more missing type details
2323
2324         * tools/gst-run.c: (main):
2325           remove unused variable
2326
2327 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
2328
2329         * docs/libs/Makefile.am:
2330         * docs/libs/gstreamer-libs.types:
2331           add types of base classes to enable gobject specific stuff in the docs
2332
2333         * docs/random/ensonic/embedded.txt:
2334           more ideas about isolating platform specific things
2335
2336 2006-11-20  Wim Taymans  <wim@fluendo.com>
2337
2338         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
2339
2340         * libs/gst/check/gstcheck.h:
2341         Fix compilation and running against 0.9.4. Fixes #377332.
2342
2343 2006-11-20  Wim Taymans  <wim@fluendo.com>
2344
2345         * gst/gstsegment.c: (gst_segment_set_seek),
2346         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2347         (gst_segment_to_running_time):
2348         Fix boundary checking in to_running_time() and to_stream_time().
2349         Fixes #377183.
2350
2351         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2352         stream and running time can now be calculated for the complete
2353         clipped segment.
2354
2355 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
2356
2357         * gst/gstpad.c: (gst_pad_push_event):
2358           Can't access event structure after giving away ownership of
2359           the event.
2360
2361 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
2362
2363         * docs/random/ensonic/embedded.txt:
2364         * docs/random/ensonic/profiling.txt:
2365         * docs/random/ensonic/receipies.txt:
2366           more thinking
2367
2368 2006-11-13  Wim Taymans  <wim@fluendo.com>
2369
2370         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2371
2372         * gst/gstpad.c:
2373         Fix documentation for gst_pad_dispatcher. Fixes #374475.
2374
2375 2006-11-13  Wim Taymans  <wim@fluendo.com>
2376
2377         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
2378
2379         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
2380         Store new length in segment duration so we don't keep on calling the
2381         potentially expensize get_size() call. Fixes #370865.
2382
2383 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
2384
2385         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
2386
2387         * win32/common/libgstreamer.def:
2388           Add two missing symbols (#366492).
2389
2390 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
2391
2392         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
2393         (gst_adapter_take_buffer):
2394         Fix format string to use all its arguments.
2395         Remove useless >= check on a guint
2396
2397 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2398
2399         * tests/examples/adapter/.cvsignore:
2400         Ignore build file as commanded by the build-bot
2401
2402 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2403
2404         * tests/examples/adapter/Makefile.am:
2405         * tests/examples/adapter/adapter_test.c: (run_test_take),
2406         (run_test_take_buffer), (run_tests), (main):
2407
2408         Add new files from the previous commit
2409
2410 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2411
2412         * Makefile.am:
2413         * configure.ac:
2414         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
2415         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
2416         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
2417         * libs/gst/base/gstadapter.h:
2418         * tests/check/libs/adapter.c: (create_and_fill_adapter),
2419         (GST_START_TEST), (gst_adapter_suite):
2420         * tests/examples/Makefile.am:
2421         Do some optimisation work in GstAdapter to avoid copies in more cases.
2422         It could still do slightly better by merging buffers when
2423         gst_buffer_is_span_fast is true, but is already faster. 
2424
2425         Also, avoid traversing a single-linked list to append each incoming 
2426         buffer inside the adapter.
2427
2428         Add simple test app that times the adapter behaviour in different
2429         situations, and extend the unit test to check that bytes enter and
2430         exit the adapter in their original order.
2431
2432 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2433
2434         * docs/random/draft-missing-plugins.txt:
2435           Update: use element message instead of adding a new message
2436           type to the core; don't provide GStreamer API to initiate the
2437           plugin download, just provide API to compose the strings needed
2438           and let an external libgimmestuff handle the rest.
2439
2440 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
2441
2442         * tools/gst-inspect.c: (print_element_properties_info):
2443         Print a string instead of 'unknown type' for GValueArray properties
2444
2445 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
2446
2447         * docs/random/draft-missing-plugins.txt:
2448         More small fixes.
2449
2450 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2451
2452         * tests/examples/typefind/typefind.c: (type_found), (main):
2453           Make typefind element example work again (#371894); add a
2454           license header.
2455
2456 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2457
2458         * docs/random/draft-missing-plugins.txt:
2459           Commit initial draft about how to deal with missing plugins,
2460           needs work (API too).
2461
2462 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
2463
2464         * docs/pwg/advanced-types.xml:
2465           documents the new caps elements (see #363118)
2466
2467 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2468
2469         * gst/gstplugin.c: (gst_plugin_load_file):
2470         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
2471         (gst_file_src_map_region), (gst_file_src_start):
2472         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
2473         (gst_file_index_commit):
2474           Use g_strerror() instead of strerror() - we want UTF-8.
2475
2476 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2477
2478         Patch by: Peter Kjellerstedt <pkj at axis com>
2479
2480         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2481           Another printf fix (#371493).
2482
2483 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2484
2485         * tests/check/gst/gsttag.c:
2486           relicence (okay with author=company)
2487
2488 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2489
2490         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2491         (gst_pad_push_event):
2492           Enhance debug and improve docs
2493         
2494         * gst/gsturi.c:
2495           Fix docs
2496
2497 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2498
2499         * docs/random/ensonic/distributed.txt:
2500         * docs/random/ensonic/profiling.txt:
2501           more ideas
2502
2503 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2504
2505         * docs/gst/gstreamer-sections.txt:
2506           add new API and fix the build
2507           
2508         * gst/gstbin.c: (gst_bin_recalc_state):
2509         * gst/gstelement.c: (gst_element_message_full),
2510         (gst_element_get_state_func), (gst_element_set_state_func):
2511           use new API and improve logging
2512         
2513         * gst/gstutils.c: (gst_element_state_change_return_get_name):
2514         * gst/gstutils.h:
2515           API: add function to get StateChangereturn names to improve logs 
2516
2517 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2518
2519         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2520           I'm considering shooting the next person to put strerror stuff
2521           in the translateable part of the message.
2522
2523 2006-11-03  Wim Taymans  <wim@fluendo.com>
2524
2525         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2526         Get the type and printf conversion specifiers right.
2527
2528 2006-11-03  Wim Taymans  <wim@fluendo.com>
2529
2530         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2531
2532         * gst/gstpad.c: (gst_pad_init), (pre_activate),
2533         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
2534         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
2535         Some small cleanups. Improve debugging.
2536         * gst/gstpad.h:
2537         Signal all waiting threads with a broadcast instead of just one.
2538         Fixes #369942.
2539
2540 2006-11-03  Wim Taymans  <wim@fluendo.com>
2541
2542         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2543         (gst_fd_src_create):
2544         Add some debugging. 
2545         Only update fd when it's different from the old.
2546
2547 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2548
2549         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
2550           Printf fixes for PPC/OSX, take two (#369366).
2551
2552 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2553
2554         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
2555
2556         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2557         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2558         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2559           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
2560           don't cast to long long for portability reasons, but use
2561           GLib's types instead.
2562
2563 2006-10-30  Michael Smith  <msmith@fluendo.com>
2564
2565         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2566           Get the arguments to lseek() the right way around.
2567           Fixes 367677.
2568
2569 2006-10-30  Wim Taymans  <wim@fluendo.com>
2570
2571         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
2572
2573         * gst/gstinfo.h:
2574         _declspec should be __declspec (two underscores, not one). Fixes 366572.
2575
2576 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2577
2578         Patch by: Kjartan Maraas  <kmaraas at gnome org>
2579
2580         * docs/design/part-MT-refcounting.txt:
2581         * docs/random/wtay/capsnego2-docs:
2582         * gst/gstclock.c:
2583         * gst/gstxml.c:
2584           Typo fixes (#366212).
2585
2586 2006-10-28  Wim Taymans  <wim@fluendo.com>
2587
2588         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2589
2590         * gst/gst.c:
2591         * win32/common/libgstbase.def:
2592         * win32/common/libgstreamer.def:
2593         * win32/vs8/libgstbase.vcproj:
2594         * win32/vs8/libgstcontroller.vcproj:
2595         Add needed entries in .def files.
2596         Use HAVE_UNISTD_H.
2597         Rearrange def files in vs8 solutions. Fixes #366286.
2598
2599 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2600
2601         * win32/common/gstconfig.h:
2602           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
2603           hand-made win32 gstconfig.h. Fixes #366321.
2604
2605 2006-10-27  Wim Taymans  <wim@fluendo.com>
2606
2607         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
2608         (gst_ghost_pad_new_full):
2609         Make acceptcaps return TRUE when we don't have a target, just like
2610         setcaps does.
2611
2612 2006-10-27  Wim Taymans  <wim@fluendo.com>
2613
2614         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2615         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
2616
2617 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
2618
2619         * gst/gststructure.c: (gst_structure_id_set_value):
2620           If someone tries to set a non-UTF8 string field on a structure,
2621           don't just print a warning, but also ignore the request and do
2622           not change/add that field to the structure.
2623
2624         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2625           Test for the above.
2626
2627 2006-10-25  David Schleef  <ds@schleef.org>
2628
2629         * gst/gstinfo.c:
2630           g_hash_table_insert() needs a cast to a non-const pointer duh.
2631
2632 2006-10-25  David Schleef  <ds@schleef.org>
2633
2634         * gst/gstinfo.c:
2635         * gst/gstinfo.h:
2636           Change name parameter of _gst_debug_register_funcptr to const
2637           to reflect the constness of its use in the function as well
2638           as to quiet a gcc warning.
2639
2640 2006-10-25  Edward Hervey  <edward@fluendo.com>
2641
2642         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2643         Don't push the buffer if it's empty.
2644         Closes #363095
2645
2646 2006-10-24  Wim Taymans  <wim@fluendo.com>
2647
2648         * gst/gstevent.h:
2649         Add small comment.
2650
2651         * libs/gst/base/gstbasetransform.c:
2652         (gst_base_transform_sink_eventfunc):
2653         Debug segment values *after* updating them as this is more
2654         interesting.
2655
2656 2006-10-23  Wim Taymans  <wim@fluendo.com>
2657
2658         * docs/design/part-events.txt:
2659         Update some docs.
2660
2661         * docs/design/part-block.txt:
2662         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2663         (gst_pad_push_event):
2664         Revert BLOCKING patch, it tries to be smart without really having a
2665         clear idea what or how. So, now we discard all FLUSHING events again on
2666         a blocking pad. Should fix gnonlin again.
2667
2668 2006-10-23  Wim Taymans  <wim@fluendo.com>
2669
2670         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2671
2672         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2673         (gst_base_src_start), (gst_base_src_activate_push):
2674         Make sure size is always initialized. Fixes #364388.
2675
2676 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
2677
2678         * docs/random/ensonic/distributed.txt:
2679           add some ideas about doing distributed processing
2680
2681         * docs/random/ensonic/profiling.txt:
2682           get_rusage look promising
2683
2684 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2685
2686         * docs/manual/basics-helloworld.xml:
2687           Add a cast in example to fix compile warning
2688
2689 2006-10-18  Wim Taymans  <wim@fluendo.com>
2690
2691         * gst/gstsegment.c: (gst_segment_set_last_stop),
2692         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2693         Relax arg checking again, -1 is allowed.
2694
2695 2006-10-18  Wim Taymans  <wim@fluendo.com>
2696
2697         * gst/gstsegment.c: (gst_segment_set_last_stop),
2698         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2699         _set_last_stop() must be with a value != -1
2700         A _TYPE_SET to -1 means seek to 0.
2701         Calc last_stop correctly for negative rates.
2702         Make sure we work with positive durations when updating a segment.
2703
2704 2006-10-18  Wim Taymans  <wim@fluendo.com>
2705
2706         * docs/design/part-live-source.txt:
2707         * gst/gstclock.h:
2708         Small docs fixes.
2709
2710 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
2711
2712         * gst/gstbuffer.h:
2713           Add an explicit cast to GstBuffer** to keep old code that added an
2714           explicit cast to GstMiniObject** for gst_mini_object_replace()
2715           compiling without warning.
2716
2717 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2718
2719         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
2720           check for validity of dates
2721
2722 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2723
2724         * docs/gst/gstreamer-sections.txt:
2725           Forgot this one, makes gtk-doc shut up.
2726
2727 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2728
2729         Patch by: Peter Kjellerstedt <pkj at axis com>
2730
2731         * gst/gstobject.h:
2732           Don't define xmlNodePtr to gpointer if the core was built with
2733           --disable-loadsave and --disable-registry, this will break
2734           applications that want to use libxml2 but are buildling against a
2735           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
2736           instead so we don't have to mess with the libxml2 namespace
2737           (#361675).
2738
2739 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2740
2741         * gst/gstbuffer.h:
2742           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
2743           type-punned pointer warnings.
2744
2745 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2746
2747         * gst/gstelement.h:
2748           Add casts to the correct return type to state <=> state transition
2749           macros.
2750
2751 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
2752
2753         * docs/design/part-live-source.txt:
2754           describe howto handle latency
2755         
2756         * docs/random/ensonic/profiling.txt:
2757           more ideas
2758
2759         * tools/gst-plot-timeline.py:
2760           fix log parsing for solaris, remove unused function
2761
2762 2006-10-16  Wim Taymans  <wim@fluendo.com>
2763
2764         * docs/design/part-trickmodes.txt:
2765         * gst/gstevent.c:
2766         Update some docs regarding reverse playback.
2767
2768 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2769
2770         Patch by: Marcus Granado  <mrc dot gran at gmail com>
2771
2772         * win32/vs8/grammar.vcproj:
2773           Error out with a warning if glib-genmarshal.exe is not in path,
2774           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
2775
2776 2006-10-13  Wim Taymans  <wim@fluendo.com>
2777
2778         * gst/gstsegment.c: (gst_segment_set_seek):
2779         When seeking to stop -1, set last_stop (current position) to the
2780         duration of the segment.
2781
2782 2006-10-13  Wim Taymans  <wim@fluendo.com>
2783
2784         * gst/gstelement.h:
2785         Clarify _NO_PREROLL a bit more.
2786
2787         * gst/gstevent.c:
2788         Fix docs.
2789
2790         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
2791         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
2792         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
2793         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
2794         due to wrong locking order. Fixes #361769.
2795         Remove some redundant/misplaced checks in pad_block.
2796
2797         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2798         For negative rates, count backwards from the duration.
2799
2800 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2801
2802         * gst/gsterror.c: (_gst_library_errors_init):
2803           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
2804           up with something better).
2805
2806 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2807
2808         * win32/vs6/libgstreamer.dsp:
2809         * win32/vs7/libgstreamer.vcproj:
2810         * win32/vs8/libgstreamer.vcproj:
2811           Don't reference glib-compat.c which is currently not used and not
2812           disted; add gstquark.c which was recently added. Fixes #361730.
2813
2814 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2815
2816         * win32/common/libgstbase.def:
2817         * win32/common/libgstcontroller.def:
2818         * win32/common/libgstreamer.def:
2819           Add gst_caps_merge() and a bunch of other recently-added functions.
2820           Fixes #361732.
2821
2822 2006-10-11  Wim Taymans  <wim@fluendo.com>
2823
2824         * docs/plugins/gstreamer-plugins.args:
2825         * docs/plugins/inspect/plugin-coreelements.xml:
2826         * docs/plugins/inspect/plugin-coreindexers.xml:
2827         Update element args.
2828
2829         * gst/gstsystemclock.c:
2830         Small comment update.
2831
2832         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2833         (gst_tee_request_new_pad), (gst_tee_release_pad),
2834         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
2835         (gst_tee_sink_activate_pull):
2836         * plugins/elements/gsttee.h:
2837         Some tee loving:
2838         Add default property defines.
2839         Implement release pad function.
2840         Give properties better blubs etc.
2841         Activate pads before adding them to a running tee.
2842         Do simple buffer_alloc on the first requested pad.
2843         Post error when activation fails.
2844
2845 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2846
2847         * gst/gst.c: (ensure_current_registry_forking):
2848           Check return value of write() to make compiler happy.
2849
2850 2006-10-11  Wim Taymans  <wim@fluendo.com>
2851
2852         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2853
2854         * plugins/elements/gstqueue.c: (gst_queue_chain):
2855         Recheck queue filledness after signalling the overrun when we're about
2856         to leak downstream because we released the lock when emitting the signal
2857         and the queue could be empty again. Fixes #352345.
2858
2859 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2860
2861         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
2862           Fix refcounting here too, just like we did for _new_valist() a few
2863           days ago (#357180) (thanks to René Stadler). Also remove all those
2864           'Since: 0.9' from the gtk-doc blobs.
2865
2866         * tests/check/libs/controller.c: (controller_refcount_new_list),
2867         (gst_controller_suite):
2868           Unit test for the above.
2869
2870 2006-10-10  Wim Taymans  <wim@fluendo.com>
2871
2872         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
2873
2874         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2875         (gst_pad_save_thyself):
2876         Update some docs.
2877         Write pad direction in XML output. Fixes #345496.
2878
2879 2006-10-10  Wim Taymans  <wim@fluendo.com>
2880
2881         Patch by: René Stadler <mail at renestadler dot de>
2882
2883         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2884         (gst_controller_new_list), (_gst_controller_dispose),
2885         (_gst_controller_finalize), (_gst_controller_class_init):
2886         Take ref to controlled object so that it cannot disappear. 
2887         Fixes #357432.
2888
2889 2006-10-10  Wim Taymans  <wim@fluendo.com>
2890
2891         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2892         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2893         (gst_check_teardown_sink_pad):
2894         Activate/deactivate pads in setup/teardown respectively.
2895
2896 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2897
2898         Patch by: Josep Torre Valles <josep@fluendo.com>
2899
2900         * gst/Makefile.am:
2901         Cast values when making gstenumtypes.h.  This pacifies Forte
2902         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
2903         in the enumeration.
2904
2905 2006-10-09  Wim Taymans  <wim@fluendo.com>
2906
2907         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
2908         Rename some more @cur to @start to fix docs. 
2909
2910         * gst/gstsegment.c: (gst_segment_set_seek):
2911         Fix typo.
2912         time and start must always stay in sync as defined in design doc.
2913
2914         * gst/gsttaglist.c: (gst_tag_list_is_empty):
2915         Rename param to fix docs.
2916
2917         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2918         Check that start and time are in sync.
2919
2920         * tests/check/pipelines/parse-launch.c:
2921         (gst_parse_test_element_change_state):
2922         Activate pad before adding to the element.
2923
2924 2006-10-09  Wim Taymans  <wim@fluendo.com>
2925
2926         * docs/design/part-qos.txt:
2927         Fix typo.
2928
2929         * gst/gstevent.c:
2930         * gst/gstevent.h:
2931         Update seek event docs regarding negative rates.
2932         Rename @cur to @start. 
2933
2934         * gst/gstsegment.c: (gst_segment_set_seek):
2935         * gst/gstsegment.h:
2936         Update set_seek docs regarding negative rates.
2937         Correctly update last_stop to @stop when dealing with negative
2938         rates.
2939         Rename @cur to @start. 
2940
2941         * tests/check/gst/gstpad.c: (GST_START_TEST):
2942         Activate pads before trying to use them.
2943
2944         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2945         (gst_segment_suite):
2946         Add simple check for segments and negative rates.
2947
2948 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2949
2950         * gst/gsttaglist.c: (gst_tag_list_is_empty):
2951         * gst/gsttaglist.h:
2952         * docs/gst/gstreamer-sections.txt:
2953           API: add gst_tag_list_is_empty() (#360467).
2954
2955         * tests/check/gst/gsttag.c: (GST_START_TEST):
2956           And a test case.
2957
2958 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2959
2960         * gst/gstmessage.h:
2961         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
2962         a value that doesn't fit on enumeration.
2963
2964 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2965
2966         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2967         Remove local debugging system and use Gstreamer's instead.
2968
2969 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2970
2971         Patch by: Josep Torre Valles <josep@fluendo.com>
2972
2973         * common/m4/gst-error.m4:
2974         Disable warning of statement not reached on Forte.
2975         * gst/gstmessage.h:
2976         Fix warning on Forte (value doesn't fit on enumeration).
2977         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
2978         Fix warning on Forte (value doesn't fit on enumeration).
2979         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
2980         DEBUG macro says it takes minimum of 2 args and so Forte
2981         complains about the use with just 1 arg.
2982         * plugins/elements/gstfdsink.c:
2983         * plugins/elements/gstfdsrc.c:
2984         * plugins/elements/gstfilesink.c:
2985         * plugins/elements/gstfilesrc.c:
2986         Use correct return type for the uri handler implementations.
2987
2988         All these fix warnings in Forte.  Fixes bug #360860.
2989
2990 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
2991
2992         * gst/gstelement.h:
2993           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
2994           format string, so don't use G_GNUC_PRINTF for those versions.
2995
2996 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
2997
2998         * gst/gsttaglist.c: (gst_is_tag_list):
2999         * gst/gsttaglist.h:
3000           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
3001
3002         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
3003           Small test for the above.
3004
3005 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
3006
3007         * gst/gsttaglist.h:
3008           Less tabs, more spaces.
3009
3010 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
3011
3012         * gst/gstinfo.h:
3013           Those two function declarations do actually belong there, revert
3014           commit from yesterday that turned them intro macros.
3015
3016 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3017
3018         Patch by: Josep Torre Valles <josep@fluendo.com>
3019
3020         * gst/gst.c: (gst_init_get_option_group):
3021         Fix empty declaration and type mismatch.
3022         * gst/gstbin.c: (gst_bin_change_state_func):
3023         Fix type mismatch.
3024         * gst/gstelement.c: (gst_element_continue_state),
3025         (gst_element_set_state_func), (gst_element_change_state),
3026         (gst_element_change_state_func):
3027         Fix type mismatches.
3028         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
3029         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
3030         Cast as appropriate.
3031         * gst/gstobject.c: (gst_class_signal_connect):
3032         Cast as appropriate.  The function pointer parameter really
3033         has the wrong type but would break API if we change it.
3034         * gst/gstquery.c:
3035         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
3036         order of including string.h.
3037         * gst/gstutils.c: (gst_element_state_get_name):
3038         Remove unreachable line.
3039         * gst/gstxml.c: (gst_xml_parse_doc):
3040         Fix type mismatch.
3041         All these caught by Forte.
3042
3043 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3044
3045         Patch by: Josep Torre Valles <josep@fluendo.com>
3046
3047         * common/m4/gst-error.m4:
3048         Fixed bug #360151.
3049         We need to disable warnings on Forte for empty declarations
3050         due to gst-indent adding ;s to lines that just use macros
3051         where the macro actually doesn't need a ; at end to end
3052         statement.
3053
3054 2006-10-06  Wim Taymans  <wim@fluendo.com>
3055
3056         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
3057         (gst_file_sink_close_file), (gst_file_sink_event),
3058         (gst_file_sink_render):
3059         Add some FIXME for the NEWSEGMENT handling.
3060
3061 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3062
3063         * gst/parse/grammar.y:
3064         Remove static function gst_parse_element_lock as all it does
3065         is return.  Looks like cruft from 0.8.
3066
3067 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3068
3069         Patch by: Josep Torre Valles <josep@fluendo.com>
3070
3071         * common/m4/gst-error.m4:
3072         * configure.ac:
3073         * libs/gst/net/Makefile.am:
3074         Fix a compilation issue with Forte on Solaris.  inet_aton is in
3075         libresolv.
3076
3077 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
3078
3079         * gst/gstpad.c: (pre_activate):
3080         * gst/gstregistry.c: (gst_registry_scan_path_level):
3081         * gst/gstregistryxml.c: (load_plugin):
3082         * libs/gst/controller/gstcontroller.c:
3083         (gst_controlled_property_set_interpolation_mode):
3084         * libs/gst/dataprotocol/dataprotocol.c:
3085         (gst_dp_packet_from_event_1_0):
3086         * libs/gst/net/gstnetclientclock.c:
3087         (gst_net_client_clock_observe_times):
3088         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3089           Printf fixes.
3090
3091 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
3092
3093         * configure.ac:
3094         * docs/gst/gstreamer-sections.txt:
3095         * gst/gstconfig.h.in:
3096         * gst/gstelement.h:
3097         * gst/gstinfo.h:
3098           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
3099           whether we can use G_GNUC_PRINTF in other header files and at
3100           least check the printf format/arguments of debug messages and
3101           GST_ELEMENT_ERROR messages when the printf extension is not
3102           being used.
3103           Replace more tabs with spaces in gstinfo.h and remove two spurious
3104           function declarations in GST_DISABLE_DEBUG part with macros.
3105
3106 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
3107
3108         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
3109           More docs for the sync-message signal (mention that it is not
3110           emitted by default); log message structures of messages posted on
3111           the bus as well.
3112
3113 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
3114
3115         * gst/gst.c: (ensure_current_registry_forking):
3116         Use a pipe pair to receive status results from the forked child, and
3117         ignore the result from waitpid. Fixes #355499
3118
3119 2006-10-02  Wim Taymans  <wim@fluendo.com>
3120
3121         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3122         (gst_ghost_pad_suite):
3123         Fix leak in check.
3124
3125 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3126
3127         * gst/gstpad.c:
3128           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
3129
3130 2006-10-02  Edward Hervey  <edward@fluendo.com>
3131
3132         * docs/design/part-block.txt:
3133         Further explain the use of flushing on blocked pads.
3134         * docs/gst/gstreamer-sections.txt:
3135         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
3136         (gst_pad_push_event):
3137         * gst/gstpad.h:
3138         Added new GstPadFlag : GST_PAD_BLOCKING.
3139         Adds the notion of pads really blocking, which enables to properly
3140         handle FLUSH_START/FLUSH_STOP events on blocked pads.
3141         Fixes #358999
3142         API: gst_pad_is_blocking()
3143         API: GST_PAD_IS_BLOCKING() macro
3144         API: GST_PAD_BLOCKING GstPadFlag
3145         
3146 2006-10-02  Wim Taymans  <wim@fluendo.com>
3147
3148         Patch by: mrcgran <mrc.gran at gmail dot com>
3149
3150         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
3151         Filter the proxied caps against the padtemplate if we have one.
3152
3153         * gst/gstquery.c: (gst_query_new_segment):
3154         Add include for gstinfo.h so that compilation with
3155         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
3156
3157 2006-10-02  Wim Taymans  <wim@fluendo.com>
3158
3159         Patch by: Alessandro Decina  <alessandro at nnva org>
3160
3161         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
3162         (gst_file_sink_set_location), (gst_file_sink_open_file),
3163         (gst_file_sink_close_file), (gst_file_sink_event),
3164         (gst_file_sink_render):
3165         Set file to NULL when closing filesink so that we can set a new filename
3166         in READY. Fixes #358613.
3167
3168 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3169
3170         Patch by: Alessandro Decina  <alessandro at nnva org>
3171
3172         * gst/gstevent.c: (_gst_event_copy):
3173           Fix gst_mini_object_make_writable() and gst_event_copy() for events
3174           with event structures by setting the parent refcount address of the
3175           copied structure to the address of the refcount member of the newly
3176           copied event rather than the address of the refcount member of the
3177           original event. Fixes #358737.
3178
3179         * tests/check/gst/gstevent.c: (GST_START_TEST):
3180           Unit test for the above.
3181
3182 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
3183
3184         * docs/design/Makefile.am:
3185           Dist some more files.
3186
3187 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3188
3189         * tests/check/libs/controller.c: (GST_START_TEST),
3190         (gst_controller_suite):
3191           Add test for the previous fix; add some more tests
3192           for correct refcounting behaviour; fix a few leaks
3193           in test cases; call gst_controller_init() at start
3194           of all tests.
3195
3196 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3197
3198         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3199         (gst_controller_set_from_list):
3200           Don't g_return_val_if_fail() on timed values with invalid timestamps
3201           inside a critical section without unlocking the mutex. Spotted by
3202           René Stadler. (#357617)
3203           Also, fix up refcounting properly: when returning an existing
3204           controller, we should increase the reference only once and not
3205           once per property and when trying to control a property again
3206           we should also increase the refcount.
3207
3208 2006-09-29  Wim Taymans  <wim@fluendo.com>
3209
3210         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3211         * libs/gst/net/gstnettimeprovider.c:
3212         (gst_net_time_provider_thread):
3213         Stop reading commands when EOF as well.
3214
3215         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3216         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3217         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3218         Unify description of the dump property.
3219
3220 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3221
3222         * tests/examples/manual/.cvsignore:
3223         OK, so it's actually cvsignore that needs changing. Stop laughing.
3224
3225 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3226
3227         * tests/examples/manual/Makefile.am:
3228         Gah, declare vars *before* using them
3229
3230 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3231
3232         * gst/gst.c: (init_pre), (scan_and_update_registry),
3233         (ensure_current_registry_nonforking),
3234         (ensure_current_registry_forking), (ensure_current_registry),
3235         (init_post), (gst_debug_help), (gst_deinit):
3236         * gst/gst_private.h:
3237         * gst/gstregistry.c: (gst_registry_finalize),
3238         (gst_registry_remove_features_for_plugin_unlocked),
3239         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3240         (gst_registry_scan_path),
3241         (_priv_gst_registry_remove_cache_plugins),
3242         (_priv_gst_registry_cleanup):
3243         * gst/gstregistry.h:
3244         Re-commit the registry changes, along with an extra fix:
3245           When a cached plugin is encountered at a different file path,
3246           update the stored path in the registry cache so that the parent
3247           process knows where it actually is now when it re-reads the registry
3248           cache. Fixes the thing that broke distcheck with the previous commit.
3249
3250         * tests/check/Makefile.am:
3251         Clean up files named 'core' too when running make clean.
3252
3253         * tests/examples/manual/Makefile.am:
3254         Set up a registry path for running these tests, and clean it properly
3255         for distcheck.
3256
3257 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3258
3259         * configure.ac:
3260         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
3261         want gmodule-no-export-2.0.pc instead so that we don't drag in
3262         --export-dynamic on every project that links to GStreamer.
3263
3264         Also, make our export regex only match the start of symbols, rather 
3265         than any symbol that contains '_gst' somewhere.
3266
3267         * libs/gst/check/Makefile.am:
3268         The libgstcheck we build does however need export-dynamic, as it
3269         produces some symbols that don't match our _gst... style regex.
3270         Fixes: #318031
3271
3272 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
3273
3274         * gst/gst.c: (init_pre), (scan_and_update_registry),
3275         (ensure_current_registry_nonforking),
3276         (ensure_current_registry_forking), (ensure_current_registry),
3277         (init_post), (gst_debug_help), (gst_deinit):
3278         * gst/gst_private.h:
3279         * gst/gstregistry.c: (gst_registry_finalize),
3280         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3281         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
3282         (_gst_registry_cleanup):
3283         * gst/gstregistry.h:
3284           Revert previous change until I figure out why it breaks distcheck.
3285
3286 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
3287
3288         * gst/gst.c: (init_pre), (scan_and_update_registry),
3289         (ensure_current_registry_nonforking),
3290         (ensure_current_registry_forking), (ensure_current_registry),
3291         (init_post), (gst_debug_help), (gst_deinit):
3292
3293           Make init_pre and init_post take the full complement of GOptionFunc
3294           args so they can return useful GErrors. Make the registry updating
3295           functions do so.
3296
3297           Call _priv_gst_registry_remove_cache_plugins after scanning files to
3298           ensure that the registry we're about to write out doesn't contain
3299           stale information about old-deleted plugin files.
3300
3301           Make _priv_gst_registry_remove_cache_plugins return a boolean so
3302           that deletion of plugin files is considered a registry change.
3303
3304         * gst/gst_private.h:
3305         * gst/gstregistry.c: (gst_registry_finalize),
3306         (gst_registry_remove_features_for_plugin_unlocked),
3307         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3308         (gst_registry_scan_path),
3309         (_priv_gst_registry_remove_cache_plugins),
3310         (_priv_gst_registry_cleanup):
3311         * gst/gstregistry.h:
3312         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
3313         by adding _priv prefix, so that they won't appear in the global
3314         symbol table. They still do atm though because of #318031. Move the
3315         prototypes to gst_private.h
3316
3317         When removing a plugin, remove all features for that plugin too. 
3318         Fixes #340878.
3319
3320 2006-09-27  Wim Taymans  <wim@fluendo.com>
3321
3322         * docs/random/moving-plugins:
3323         Make it clear that the "compiled-in descriptions" really mean
3324         the element details.
3325
3326         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3327         (gst_base_sink_wait_preroll):
3328         Update docs.
3329
3330         * docs/libs/gstreamer-libs-sections.txt:
3331         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3332         (gst_base_src_get_range), (gst_base_src_activate_push):
3333         * libs/gst/base/gstbasesrc.h:
3334         Added function to block while waiting for PLAYING, this function
3335         is used by live sources that block on the clock.
3336         API: gst_base_src_wait_playing()
3337
3338 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3339
3340         Patch by: Peter Kjellerstedt <pkj at axis com>
3341
3342         * Makefile.am:
3343           gst-element-check.m4 is generated and should therefore be
3344           copied from the build dir rather than the source dir (#357593).
3345           'make distcheck' hasn't noticed this because we were disting
3346           the file as well, so stop doing that.
3347
3348 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3349
3350         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3351           Add some tests for gst_caps_intersect().
3352
3353         * tools/gst-launch.c: (event_loop):
3354           Print all buffering percentages we get, even the 100% one.
3355
3356 2006-09-26  Wim Taymans  <wim@fluendo.com>
3357
3358         * tools/gst-inspect.c: (print_element_properties_info),
3359         (print_signal_info):
3360         Fix printing of flags to match the look of enums.
3361
3362 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3363
3364         * gst/gstelementfactory.c:
3365           Fix typo in docs blurb.
3366
3367 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3368
3369         * gst/gsturi.c: (search_by_entry):
3370           Don't assert/crash here if a uri handler doesn't return any
3371           supported protocols. The list of protocols could be generated
3372           dynamically at runtime or at plugin registration, and an error
3373           in the underlying library shouldn't be fatal (#353301).
3374
3375 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3376
3377         * gst/gstinfo.c:
3378           Fix warning if HAVE_PRINTF_EXTENSION is undefined
3379           (spotted by Peter Kjellerstedt).
3380
3381 2006-09-23  Wim Taymans  <wim@fluendo.com>
3382
3383         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
3384
3385         * libs/gst/base/gstbasesrc.c:
3386         (gst_base_src_default_check_get_range), (gst_base_src_start),
3387         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3388         (gst_base_src_change_state):
3389         Match _start/_stop calls in the activate functions. Remove redundant
3390         _stop call from the state change function. Fixes #356910.
3391         Turn failure DEBUG into ERROR. 
3392
3393 2006-09-22  Wim Taymans  <wim@fluendo.com>
3394
3395         * docs/design/part-buffering.txt:
3396         * gst/gstmessage.c: (gst_message_new_buffering),
3397         (gst_message_parse_buffering):
3398         Update docs about buffering.
3399
3400         * docs/design/part-trickmodes.txt:
3401         Fix typo.
3402
3403 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
3404
3405         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3406         (gst_controller_new_list):
3407           Ref instances when returning them again (fixes #357180)
3408
3409 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
3410
3411         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
3412           Don't forget to release proxy lock when there's an error.
3413
3414 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
3415
3416         * gst/gstcaps.h:
3417           Add extra initialisers for Caps things, to fix some plugin warnings
3418           when using -Wextra
3419
3420 2006-09-18  Wim Taymans  <wim@fluendo.com>
3421
3422         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
3423           Also set template on the internal pad so that a getcaps from the 
3424           target pad returns the template caps.
3425
3426 2006-09-18  Wim Taymans  <wim@fluendo.com>
3427
3428         * gst/gstelement.c: (gst_element_post_message),
3429         (gst_element_dispose):
3430         Use _DEBUG_OBJECT some more.
3431
3432         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3433         Avoid typechecks.
3434
3435         * tools/gst-launch.c: (main):
3436         If the toplevel element is not a GstPipeline, it must be put in a
3437         pipeline so that a bus and clock is selected.
3438
3439 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3440
3441         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3442           JITTER, RATE, and LATENCY query should be handled by the
3443           default case and not by the CONVERT query code.
3444
3445 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3446
3447         * gst/gstformat.c: (gst_format_register):
3448           Fix locking order (must take lock before using n_values).
3449
3450         * gst/gstvalue.c: (gst_value_serialize_enum),
3451         (gst_value_deserialize_enum_iter_cmp),
3452         (gst_value_deserialize_enum):
3453           Fix serialisation/deserialisation of custom registered GstFormats.
3454
3455         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3456           Unit test for custom format serialisation/deserialisation.
3457
3458 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
3459
3460         * docs/pwg/building-boiler.xml:
3461         * plugins/elements/gstcapsfilter.c:
3462         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
3463         section.
3464
3465 2006-09-16  Edward Hervey  <edward@fluendo.com>
3466
3467         * libs/gst/base/gstbasetransform.c:
3468         (gst_base_transform_buffer_alloc):
3469         Check if requested caps are the same as the sinks caps IF
3470         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
3471         is FALSE.
3472         This fixes the renegotiation issues stated in #352827.
3473
3474 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3475
3476         * configure.ac:
3477         * docs/manual/advanced-autoplugging.xml:
3478         * tests/examples/Makefile.am:
3479         * tests/examples/manual/.cvsignore:
3480         * tests/examples/manual/Makefile.am:
3481         * tests/examples/manual/extract.pl:
3482           Extract the manual examples again like we used to do.
3483           Fix one of them.
3484
3485 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3486
3487         * win32/common/config.h:
3488           update for version
3489
3490 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
3491
3492         * gst/gsterror.c:
3493           Documents how to receive errors.
3494
3495 2006-09-15  Wim Taymans  <wim@fluendo.com>
3496
3497         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
3498         (event_loop), (main):
3499         Added some comments here and there.
3500         Post an application message when an interrupt is caught instead of doing
3501         an uncontrolled state change.
3502         Clean up the event loop.
3503         Handle buffering messages, pause/resume the pipeline.
3504         Make shutdown because of an interrupt more reliable.
3505
3506 2006-09-15  Wim Taymans  <wim@fluendo.com>
3507
3508         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3509         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
3510         (gst_base_sink_preroll_object):
3511         Make sure that our internal state is correct when we commit our state
3512         asynchronously. This solves a race where a state change to PLAYING
3513         could cause the sink to remain blocked in preroll in some situations.
3514
3515 2006-09-15  Wim Taymans  <wim@fluendo.com>
3516
3517         * tools/gst-inspect.c: (print_element_properties_info),
3518         (print_signal_info):
3519         List flags as hex so it's easier to deal with.
3520
3521 2006-09-15  Wim Taymans  <wim@fluendo.com>
3522
3523         * docs/libs/gstreamer-libs-sections.txt:
3524         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
3525         (gst_base_sink_do_sync):
3526         * libs/gst/base/gstbasesink.h:
3527         Expose logic to wait for preroll so that subclasses such as audiosink
3528         can also use this method.
3529         API: gst_base_sink_wait_preroll()
3530
3531 2006-09-15  Wim Taymans  <wim@fluendo.com>
3532
3533         * gst/gstobject.c: (gst_object_set_parent):
3534         * gst/gstpipeline.c: (do_pipeline_seek):
3535         Small cleanups in docs and code.
3536
3537         * gst/gstsegment.c: (gst_segment_clip):
3538         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3539         if stop == start and start is in the segment, no clipping should be
3540         done. Also add a test for this.
3541
3542 2006-09-15  Wim Taymans  <wim@fluendo.com>
3543
3544         * docs/design/part-buffering.txt:
3545         * docs/gst/gstreamer-sections.txt:
3546         * gst/gstmessage.c: (gst_message_new_buffering),
3547         (gst_message_parse_buffering):
3548         * gst/gstmessage.h:
3549         Added methods to create and parse BUFFERING messages.
3550         Added preliminary docs about buffering.
3551         API: gst_message_new_buffering
3552         API: gst_message_parse_buffering
3553
3554 2006-09-06  Wim Taymans  <wim@fluendo.com>
3555
3556         * gst/gstbin.c:
3557         Update documentation.
3558
3559         * gst/gstelement.c: (gst_element_class_init),
3560         (gst_element_release_request_pad), (gst_element_set_clock),
3561         (gst_element_get_index), (gst_element_add_pad),
3562         (gst_element_remove_pad), (gst_element_get_random_pad),
3563         (gst_element_send_event), (gst_element_get_query_types),
3564         (gst_element_query), (gst_element_post_message),
3565         (gst_element_message_full), (gst_element_continue_state),
3566         (gst_element_lost_state), (gst_element_save_thyself),
3567         (gst_element_restore_thyself):
3568         Documentation updates.
3569         Rename last bit of the new-pad -> pad-added signal rename.
3570         Fix the case where an element query would only work if the source
3571         pad was linked.
3572         Avoid some useless type checking in message handling.
3573
3574         * gst/gstevent.c:
3575         * gst/gstevent.h:
3576         * gst/gstutils.c:
3577         Documentation updates.
3578
3579 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3580
3581         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3582           add an INFO line for when we actually update the fd
3583
3584 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3585
3586         * configure.ac:
3587           back to TRUNK
3588
3589 === release 0.10.10 ===
3590
3591 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
3592
3593         * configure.ac:
3594           releasing 0.10.10, "Pais"
3595
3596 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
3597
3598         * docs/manual/advanced-position.xml:
3599           Fix typo in sample code.
3600
3601 2006-09-05  Wim Taymans  <wim@fluendo.com>
3602
3603         * libs/gst/net/gstnetclientclock.c: (inet_aton),
3604         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3605         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
3606         * libs/gst/net/gstnetclientclock.h:
3607         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3608         * libs/gst/net/gstnettimepacket.h:
3609         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
3610         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
3611         (gst_net_time_provider_thread), (gst_net_time_provider_new):
3612         * libs/gst/net/gstnettimeprovider.h:
3613         Make stuff compile on windows. Fixes #345295.
3614
3615 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3616
3617         * gst/gst.c: (ensure_current_registry_forking):
3618           Print better details when child was terminated by signal.
3619
3620 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3621
3622         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
3623           Print a warning rather than g_assert() if a plugin feature
3624           is a URI handler but returns no protocols (#353976).
3625
3626 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
3627
3628         * docs/random/moving-plugins:
3629         Fix two typos.         
3630
3631 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
3632
3633         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
3634           Fix locking order, handle NULL function values properly.
3635
3636         * gst/gstinfo.h:
3637           Fix docs.
3638
3639         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3640           Initialise variable before using it and fix debug statement to
3641           print the address of the function rather than the address of the
3642           variable on the stack holding the address of the function.
3643
3644 2006-09-01  Wim Taymans  <wim@fluendo.com>
3645
3646         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
3647         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
3648         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3649         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
3650         (gst_ghost_pad_parent_unset),
3651         (gst_ghost_pad_internal_do_activate_push),
3652         (gst_ghost_pad_internal_do_activate_pull),
3653         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3654         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3655         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3656         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
3657         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
3658         (gst_ghost_pad_new_no_target_from_template),
3659         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3660         More cleanups.
3661         Avoid needless typechecking in macros.
3662         Since the internal pad is always present and never changes, there is
3663         no need to locking or ref when retrieving it.
3664         Improve debugging a bit.
3665         Handle link errors when setting the target. Fixes #341029.
3666
3667 2006-09-01  Wim Taymans  <wim@fluendo.com>
3668
3669         * docs/libs/gstreamer-libs-sections.txt:
3670         * docs/plugins/gstreamer-plugins-sections.txt:
3671         Fix docs some more.
3672
3673         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3674         (gst_collect_pads_event):
3675         * libs/gst/base/gstcollectpads.h:
3676         Documentation updates.
3677         Free queued buffer when removing a pad.
3678
3679 2006-08-31  Michael Smith  <msmith@fluendo.com>
3680
3681         * gst/gstutils.c: (gst_element_link_pads),
3682         (gst_element_link_pads_filtered):
3683           Ensure that we set a capsfilter to NULL if we failed to link it
3684           when doing filtered linking, to avoid criticals.
3685
3686           No need to check for unreffing srcpad, which is explicly NULLed
3687           above (a trivial code cleanup).
3688
3689 2006-08-31  Wim Taymans  <wim@fluendo.com>
3690
3691         * docs/design/part-gstghostpad.txt:
3692         Update ascii art in documentation.
3693
3694         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
3695         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
3696         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
3697         (gst_ghost_pad_internal_do_activate_push),
3698         (gst_ghost_pad_internal_do_activate_pull),
3699         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3700         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3701         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
3702         (gst_ghost_pad_set_target):
3703         Small cleanups and leak fixes.
3704         Remove some checks now that the internal pad is never NULL.
3705         Fix the case where linking pads without a target would create nasty
3706         criticals. Fixes #341029.
3707         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
3708         value of _set_target().
3709
3710         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3711         (gst_ghost_pad_suite):
3712         Some more tests for creating and linking untargeted ghostpads.
3713
3714 2006-08-31  Edward Hervey  <edward@fluendo.com>
3715
3716         * docs/gst/gstreamer-sections.txt:
3717         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
3718         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
3719         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
3720         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
3721         (gst_ghost_pad_new_from_template),
3722         (gst_ghost_pad_new_no_target_from_template):
3723         * gst/gstghostpad.h:
3724         Refactored *_new() functions.
3725         Templates are now used as a g_object_new() parameter.
3726         Use template in _do_getcaps() if we don't have a target.
3727         Small documentation cleanups.
3728         Added two new constructors:
3729         gst_ghost_pad_new_from_template()
3730         gst_ghost_pad_new_no_target_from_template()
3731         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3732         (gst_ghost_pad_suite):
3733         Added tests for new ghostpad instanciation functions.
3734
3735         API additions: gst_ghost_pad_new_from_template,
3736         gst_ghost_pad_new_no_target_from_template
3737
3738 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
3739
3740         * docs/random/ensonic/profiling.txt:
3741           Ideas about qos profiling.
3742
3743 2006-08-29  Wim Taymans  <wim@fluendo.com>
3744
3745         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
3746         Code cleanups.
3747         Fix memleak.
3748
3749 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
3750
3751         * gst/gstxml.c:
3752           Improve and detypofy docs.
3753
3754         * tests/check/Makefile.am:
3755         * tests/check/gst/.cvsignore:
3756         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
3757           Add a basic test suite for GstXML.
3758
3759 2006-08-29  Wim Taymans  <wim@fluendo.com>
3760
3761         * gst/gstelement.c: (activate_pads), (clear_caps),
3762         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
3763         Clear the pad caps when the element shut down all of the pads and
3764         is not streaming data that could modify the caps. 
3765         Fixes #352958.
3766
3767 2006-08-28  Michael Smith  <msmith@fluendo.com>
3768
3769         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3770           Revert previous change; I misunderstood single-segment mode.
3771
3772 2006-08-28  Michael Smith  <msmith@fluendo.com>
3773
3774         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3775           Unset DISCONT on buffers when using single-segment mode.
3776
3777 2006-08-28  Wim Taymans  <wim@fluendo.com>
3778
3779         * gst/gstcaps.c: (gst_caps_merge_structure):
3780         * gst/gstcaps.h:
3781         Fix docs and indentation again.
3782
3783         * tests/check/gst/gstquery.c: (GST_START_TEST):
3784         Fix leak in tests and add some more tests.
3785
3786 2006-08-28  Edward Hervey  <edward@fluendo.com>
3787
3788         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3789         Inform GstSegment of the last stop position in order for the current
3790         segment to have a proper duration if it doesn't have a specific stop
3791         position from which a duration could be calculated.
3792         This bug was noticeable when a non-flushing, non-update new segment was
3793         followed by another segment (all buffers from the new segment were being
3794         dropped).
3795
3796 2006-08-28  Wim Taymans  <wim@fluendo.com>
3797
3798         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3799         Small comment update.
3800
3801         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3802         (gst_identity_transform_ip):
3803         Drop-probability is broken, mention this in the code with a 
3804         FIXME and also in the property description.
3805         Make silent also be silent about the drop messages.
3806
3807 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
3808
3809         * docs/manual/appendix-win32.xml:
3810           Remove mention of popt, we don't depend on that any
3811           longer (#353136). Add some comments pointing out that
3812           this section is slightly outdated.
3813
3814 2006-08-28  Wim Taymans  <wim@fluendo.com>
3815
3816         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3817
3818         * gst/gstquery.c: (gst_query_new_segment):
3819         * tests/check/gst/gstquery.c: (GST_START_TEST):
3820         Initialize variables when creating a new segment query.
3821         Fixes #353121.
3822
3823 2006-08-28  Wim Taymans  <wim@fluendo.com>
3824
3825         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3826
3827         * gst/gstelement.c: (gst_element_get_bus):
3828         * tests/check/gst/gstelement.c: (GST_START_TEST):
3829         Check for NULL before _reffing the bus. Fixes #353122.
3830
3831 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
3832
3833         * docs/manual/basics-bus.xml:
3834           Docs update: fix wrong callback return value explanation; add
3835           some lines about the implicit relationship between main loop
3836           and main context; remove duplicate main loop variable declaration.
3837
3838 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
3839
3840         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3841           Don't leak caps in unit test; add a few more simple
3842           checks. 
3843
3844 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
3845
3846         * docs/gst/gstreamer-sections.txt:
3847         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
3848         (gst_caps_structure_is_subset), (gst_caps_merge),
3849         (gst_caps_merge_structure):
3850         * gst/gstcaps.h:
3851         * libs/gst/base/gstbasetransform.c:
3852         (gst_base_transform_transform_caps):
3853         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3854           implement caps merging (fixes #352580)
3855
3856 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
3857
3858         * tools/Makefile.am:
3859         * tools/gst-plot-timeline.py:
3860           add debug-log plotting developer tool (#340674)
3861
3862 2006-08-23  Wim Taymans  <wim@fluendo.com>
3863
3864         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
3865         (gst_pad_stop_task):
3866         Improve debugging for task functions.
3867
3868         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
3869         (gst_task_start), (gst_task_pause), (gst_task_join):
3870         Make sure that the task function started and finished after a 
3871         join(). 
3872         Don't try to push the task function on the threadpool multiple
3873         times.
3874         Improve the g_warning message with some useful suggestions
3875         about how to fix the problem. 
3876
3877 2006-08-23  Wim Taymans  <wim@fluendo.com>
3878
3879         * gst/gstutils.c: (gst_pad_proxy_getcaps):
3880         Handle RESYNC correctly in _proxy_getcaps.
3881
3882 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
3883
3884         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
3885         (gst_xml_parse_memory), (gst_xml_get_element):
3886           Chain up to parent class in dispose function and also
3887           unref the elements in the toplevel_elements GList.
3888           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
3889           Always return a reference in gst_xml_get_element() rather
3890           than only sometimes.
3891
3892         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3893           Don't leak GstXml object.
3894
3895 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
3896
3897         * docs/gst/gstreamer-sections.txt:
3898         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
3899         (gst_caps_merge):
3900         * gst/gstcaps.h:
3901         * libs/gst/base/gstbasetransform.c:
3902         (gst_base_transform_transform_caps):
3903           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
3904           in a better way
3905
3906 2006-08-21  Edward Hervey  <edward@fluendo.com>
3907
3908         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
3909         Implement GObject::dispose virtual method in GstXML so we can free the
3910         top_elements GList.
3911
3912 2006-08-21  Wim Taymans  <wim@fluendo.com>
3913
3914         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
3915         (gst_buffer_create_sub):
3916         Copy duration/offset_end/caps when creating a subbuffer of the
3917         complete parent.
3918         Make the subbuffer read-only when we make the metadata writable for
3919         now. Fixes #351768.
3920
3921         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3922         Added check for metadata copy when creating subbuffers.
3923
3924 2006-08-21  Edward Hervey  <edward@fluendo.com>
3925
3926         * libs/gst/base/gstbasetransform.c:
3927         (gst_base_transform_buffer_alloc):
3928         Only call downstream buffer_alloc if transform element is passthrough
3929         or always_in_place. Closes #350449.
3930
3931 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3932
3933         * ChangeLog:
3934           ChangeLog surgery to add comments to previous changes
3935
3936 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3937
3938         * gst/gst.c:
3939           Add comments
3940
3941         * gst/gstpad.c: (gst_pad_set_active):
3942           Be more verbose in the log
3943
3944         * libs/gst/base/gstbasetransform.c:
3945         (gst_base_transform_transform_caps):
3946           Simplify caps to get rid of duplicates, fixes #345444
3947
3948 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3949
3950         * gst/gstvalue.c:
3951         * gst/gstvalue.h:
3952           Use these optimizations only internally.
3953
3954 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3955
3956         * gst/gstvalue.c: (gst_value_compare_list),
3957         (gst_value_compare_fraction_range),
3958         (gst_value_intersect_fraction_fraction_range),
3959         (gst_value_intersect_fraction_range_fraction_range),
3960         (gst_value_subtract_fraction_fraction_range),
3961         (gst_value_subtract_fraction_range_fraction_range),
3962         (gst_value_get_compare_func), (gst_value_compare),
3963         (gst_value_compare_with_func):
3964         * gst/gstvalue.h:
3965           Saves the expensive lookup of the compare function in many cases
3966          (#345444)
3967
3968 2006-08-18  Edward Hervey  <edward@fluendo.com>
3969
3970         * tests/check/gst/gstinfo.c: (gst_info_suite):
3971         Disable test that require gstdebug if it wasn't built in core.
3972
3973 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
3974
3975         * docs/random/ensonic/logging.txt:
3976           update ideas
3977           
3978         * gst/gstinfo.c: (gst_debug_log_default):
3979           reorder fields, save some columns, add optional color codes for log
3980           levels
3981
3982 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
3983
3984         * docs/random/ensonic/logging.txt:
3985           add ideas about making the logs a bit more useful
3986
3987 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
3988
3989         * docs/pwg/advanced-events.xml:
3990         * docs/pwg/titlepage.xml:
3991           Update for 0.10 API (#340627). Add myself
3992           to authors list.
3993
3994 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
3995
3996         * docs/libs/gstreamer-libs-docs.sgml:
3997         * docs/libs/gstreamer-libs-sections.txt:
3998         * libs/gst/check/gstbufferstraw.c:
3999           Make gstcheck stuff show up in docs (still needs to
4000           be documented properly though).
4001
4002 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
4003
4004         * docs/gst/gstreamer-sections.txt:
4005         * gst/Makefile.am:
4006         * gst/gst.c: (init_post):
4007         * gst/gst_private.h:
4008         * gst/gstquark.c: (_priv_gst_quarks_initialize):
4009         * gst/gstquark.h:
4010         * gst/gstquery.c: (gst_query_new_position),
4011         (gst_query_set_position), (gst_query_parse_position),
4012         (gst_query_new_duration), (gst_query_set_duration),
4013         (gst_query_parse_duration), (gst_query_new_convert),
4014         (gst_query_set_convert), (gst_query_parse_convert),
4015         (gst_query_new_segment), (gst_query_set_segment),
4016         (gst_query_parse_segment), (gst_query_new_seeking),
4017         (gst_query_set_seeking), (gst_query_parse_seeking):
4018         Add internal helpers for pre-registering quarks from static strings
4019         and using the quark values directly instead of looking them up when
4020         creating and parsing queries. Can be used for event construction too.
4021         Closes #350432.
4022
4023 2006-08-16  Wim Taymans  <wim@fluendo.com>
4024
4025         * gst/gstbin.c:
4026         Fix bogus docs.
4027
4028 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4029
4030         * gst/gstutils.c: (gst_util_set_value_from_string):
4031           Fix memleak (#351502).
4032
4033         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4034           Add unit test for most of gst_util_set_value_from_string()
4035           (not that one would want to encourage use of this function).
4036
4037 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4038
4039         * libs/gst/check/gstcheck.h:
4040           Use const gchar * variables in fail_unless_equals_string
4041           macro to avoid compiler warnings (and don't use tabs for
4042           indenting).
4043
4044 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4045
4046         * tools/gst-launch.c: (print_tag):
4047           More space on the left for the tag names, to cater
4048           for the 'extended comment' tag (not touching the
4049           string for the first line since it's translated).
4050
4051 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4052
4053         * libs/gst/check/gstcheck.h:
4054           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
4055           print something when they fail.
4056
4057 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4058
4059         * docs/gst/gstreamer-sections.txt:
4060         * gst/gsttaglist.c: (_gst_tag_initialize):
4061         * gst/gsttaglist.h:
4062           API: add GST_TAG_EXTENDED_COMMENT (#350935).
4063           Also change merge function for GST_TAG_COMMENT to
4064           use_first.
4065
4066 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4067
4068         * gst/gstinfo.c: (gst_debug_print_object):
4069           Make GST_PTR_FORMAT print messages as well.
4070
4071         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
4072         (GST_START_TEST), (gst_info_suite):
4073           More tests.
4074
4075 2006-08-14  Edward Hervey  <edward@fluendo.com>
4076
4077         * gst/gstelementfactory.c: (gst_element_register):
4078         If the GstElementClass doesn't have a GstElementDetails with all fields
4079         filled up correctly (longname, description AND author), then error out
4080         nicely instead of crashing.
4081
4082 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4083
4084         * gst/gststructure.c:
4085           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
4086
4087         * gst/gstvalue.h:
4088           Expand on the difference between arrays and lists as we use them.
4089           
4090 2006-08-14  Wim Taymans  <wim@fluendo.com>
4091
4092         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4093         If the parent state change function failed, don't assume we can safely
4094         stop the source, this will be done when the pads are deactivated.
4095
4096 2006-08-14  Wim Taymans  <wim@fluendo.com>
4097
4098         * gst/gstbuffer.c:
4099         * gst/gsttask.c: (gst_task_join):
4100         Small doc updates.
4101
4102         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
4103         (gst_pad_stop_task):
4104         When pad (de)activation failed for some reason, restore the old
4105         activation mode and set the pad to flushing instead of assuming the
4106         pad is deactivated.
4107         If the _task_join() failed, reinstall the task on the pad so that it can
4108         be stopped later and return an error.
4109
4110 2006-08-11  Andy Wingo  <wingo@pobox.com>
4111
4112         * configure.ac:
4113         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4114         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
4115         is only for users of API that don't want to see deprecated
4116         functions in the headers; people that want to compile out
4117         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
4118         CFLAGS. Fixes the build of multifdsink, or will soon..
4119
4120 2006-08-11  Wim Taymans  <wim@fluendo.com>
4121
4122         * docs/gst/gstreamer-sections.txt:
4123         Add GstClockClass vmethod docs.
4124
4125         * gst/gstcaps.h:
4126         Mark #endif with comment for associated #if
4127
4128         * gst/gstclock.c: (gst_clock_id_wait):
4129         * gst/gstclock.h:
4130         Add vmethod wait_jitter to avoid an unneeded _get_time() for
4131         most clock implementations.
4132         Document vmethods.
4133         Flesh out docs about resolution methods.
4134         API: GstClockClass::wait_jitter
4135
4136         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4137         (gst_system_clock_async_thread),
4138         (gst_system_clock_id_wait_jitter_unlocked),
4139         (gst_system_clock_id_wait_jitter):
4140         Use base class wait_jitter variant for improved performance
4141         due to less clock polling.
4142
4143 2006-08-11  Edward Hervey  <edward@fluendo.com>
4144
4145         * gst/gst.c: (gst_init_check), (init_post):
4146         Set gst as being initialized before scanning/updating the registry,
4147         since there might be my python plugin loader that calls gst_init() and
4148         we don't want to loop back in.
4149         Closes #350879
4150
4151 2006-08-11  Wim Taymans  <wim@fluendo.com>
4152
4153         * docs/design/part-qos.txt:
4154         Bring docs in line with the code. Mostly the sign of the jitter was
4155         wrong in the docs. Fixes #349943.
4156
4157         * gst/gstclock.c:
4158         Fix the docs for the jitter.
4159
4160         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
4161         (gst_event_parse_tag), (gst_event_new_buffer_size),
4162         (gst_event_parse_buffer_size), (gst_event_parse_qos),
4163         (gst_event_new_seek), (gst_event_parse_seek),
4164         (gst_event_new_navigation):
4165         Make sure the GstStructure has no parent when creating custom
4166         events.
4167         Add some more argument checking so that we avoid 0.0 rates.
4168         Flesh out the docs for the QoS event some more.
4169
4170 2006-08-11  Wim Taymans  <wim@fluendo.com>
4171
4172         * docs/gst/gstreamer-sections.txt:
4173         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4174         (ensure_current_registry_forking), (ensure_current_registry),
4175         (parse_one_option), (parse_goption_arg), (gst_deinit),
4176         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
4177         * gst/gst.h:
4178         Doc updates.
4179         Added API and command line option to disable registry forking in
4180         addition to the environment variable.
4181         Constify some static arrays.
4182         Added some more debug.
4183         Don't deinit twice.
4184         API: gst_registry_fork_is_enabled()
4185         API: gst_registry_fork_set_enabled()
4186         API: --gst-disable-registry-fork command line option
4187         Fixes #348918.
4188
4189 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
4190
4191         * gst/gst.c: (gst_init):
4192           Fix typo in error message.
4193
4194 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
4195
4196         * libs/gst/controller/gstcontroller.h:
4197           fix ABI size-correction
4198
4199         * tests/check/libs/gdp.c: (gst_dp_suite):
4200           make tests that use deprecated API conditional
4201
4202 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
4203
4204         * docs/libs/gstreamer-libs-sections.txt:
4205         * libs/gst/controller/gstcontroller.c:
4206         (_gst_controller_get_property), (_gst_controller_set_property),
4207         (_gst_controller_init), (_gst_controller_class_init):
4208         * libs/gst/controller/gstcontroller.h:
4209         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
4210         (gst_object_set_control_rate):
4211           API: add gst_object_{s,g}et_control_rate(), add private data section,
4212           fix docs
4213
4214         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4215         * libs/gst/dataprotocol/dataprotocol.h:
4216           add deprecation guards to make gtk-doc happy and allow disabling cruft
4217
4218 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
4219
4220         * tests/check/Makefile.am:
4221         * tests/check/gst/.cvsignore:
4222           Let's enable the new unit test as well.
4223
4224 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
4225
4226         * configure.ac:
4227         * docs/gst/gstreamer-sections.txt:
4228         * gst/gstconfig.h.in:
4229         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
4230         (_gst_info_printf_extension_ptr),
4231         (_gst_info_printf_extension_segment):
4232           API: add GST_SEGMENT_FORMAT, which is a printf extension we
4233           register that lets us easily dump GstSegments into debug
4234           logs (#350419).
4235
4236         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
4237         (info_segment_format_printf_extension), (gst_info_suite):
4238           Add simple unit test that logs a bunch of different segments (not
4239           valgrinded at the moment because of leaks in
4240           gst_debug_add_log_function).
4241
4242 2006-08-09  Edward Hervey  <edward@fluendo.com>
4243
4244         * libs/gst/base/gstbasetransform.c:
4245         (gst_base_transform_buffer_alloc):
4246         Even if we can't figure out the proper format to request downstream,
4247         call buffer_alloc() downstream with the input parameters without setting
4248         the caps on the srcpad. This will force negotiation in the chain
4249         function.
4250         Closes #350449
4251
4252 2006-08-08  Edward Hervey  <edward@fluendo.com>
4253
4254         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4255         Unlinking from a pad without a target is now a perfectly valid case
4256         which should NOT raise an assertion.
4257         This case would happen if a linked ghostpad its target set to NULL after
4258         it was previously linked.
4259
4260 2006-08-08  Edward Hervey  <edward@fluendo.com>
4261
4262         * tests/check/libs/gdp.c:
4263         Also comment out the test (see below).
4264
4265 2006-08-08  Edward Hervey  <edward@fluendo.com>
4266
4267         * tests/check/libs/gdp.c: (gst_dp_suite):
4268         Use the architecture information from config.h and not gcc macros
4269         in order to properly disable a test that fails on PPC64.
4270
4271 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
4272
4273         * gst/gstelement.c: (gst_element_remove_pad):
4274           Don't crash printing the warning if the pad has no parent.
4275
4276 2006-08-02  Wim Taymans  <wim@fluendo.com>
4277
4278         * libs/gst/dataprotocol/dataprotocol.c:
4279         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
4280         (gst_dp_crc), (gst_dp_header_payload_length),
4281         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
4282         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
4283         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
4284         (gst_dp_event_from_packet), (gst_dp_validate_header),
4285         (gst_dp_validate_payload):
4286         Make debug category static
4287         Constify the crc table.
4288         Do some more arg checking in public functions.
4289         Fix some docs and do some small cleanups.
4290
4291         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
4292         Add some more checks to see if GDP deals with bogus input.
4293
4294 2006-07-31  Wim Taymans  <wim@fluendo.com>
4295
4296         * gst/gstvalue.c: (gst_value_compare_list):
4297         Fix GstValueList comparison code. Fixes #347293.
4298
4299         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4300         Check to test GstValueList comparison.
4301
4302 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4303
4304         * gst/gstelementfactory.c: (gst_element_factory_create):
4305         Remove unnecessary ref/unref pair
4306
4307         * gst/parse/grammar.y:
4308         Make sure to free the parse buffer on all code paths.
4309         Move a g_free up to the error handler where it's easier to see.
4310
4311         * tests/check/gst/gstevent.c: (test_event):
4312         Extending timeout for downstream travelling events to 10 seconds to
4313         hopefully avoid intermittent failure on the buildbots.
4314
4315         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
4316         Don't manually set the state of the src element - it will happen as a
4317         natural consequence of the pipeline changing state, and that way it
4318         will do it in the right order too.
4319
4320 2006-07-31  Wim Taymans  <wim@fluendo.com>
4321
4322         * libs/gst/base/gstbasetransform.c:
4323         (gst_base_transform_buffer_alloc):
4324         Use OBJECT_LOCK and refcounting to get the pad caps in the
4325         buffer_alloc function because the caps could change while we are
4326         busy with them. Fixes #349105
4327
4328 2006-07-31  Wim Taymans  <wim@fluendo.com>
4329
4330         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
4331         Protect _PAD_CAPS with OBJECT_LOCK.
4332
4333 2006-07-31  Wim Taymans  <wim@fluendo.com>
4334
4335         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4336         (gst_pad_get_property), (gst_pad_activate_pull),
4337         (gst_pad_activate_push), (gst_pad_set_blocked_async),
4338         (gst_pad_set_activate_function),
4339         (gst_pad_set_activatepull_function),
4340         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
4341         (gst_pad_set_getrange_function),
4342         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
4343         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4344         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
4345         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
4346         (gst_pad_set_acceptcaps_function),
4347         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4348         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
4349         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
4350         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
4351         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
4352         (gst_pad_configure_sink), (gst_pad_configure_src),
4353         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
4354         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
4355         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
4356         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
4357         (gst_pad_send_event):
4358         Use _DEBUG_OBJECT when it makes sense.
4359         Protect GST_PAD_CAPS with the OBJECT_LOCK.
4360         Small cleanups and code reflows.
4361         Avoid caps refcounting in _accept_caps.
4362         Refactor alloc_buffer so that the code performed on the peer is in a
4363         separate function. Also if the pad does not implement a buffer alloc
4364         function, we should still check if the pad is flushing before falling
4365         back to the default allocator.
4366
4367 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4368
4369         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4370         Make all uses of identity and fakesink have silent=true to avoid
4371         serialising every passing data structure, which is breaking tests
4372         on FC4 for some unknown reason.
4373
4374 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4375
4376         * gst/parse/Makefile.am:
4377         * gst/parse/grammar.y:
4378         * gst/parse/parse.l:
4379           Reverted previous patch as it required to bump the flex dependency to
4380           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
4381
4382 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4383
4384         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
4385
4386         * gst/parse/Makefile.am:
4387         * gst/parse/grammar.y:
4388         * gst/parse/parse.l:
4389           push & pop the state of the lexer for reentrant use case
4390           Fixes #349180
4391
4392 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
4393
4394         * libs/gst/base/gstbasesrc.h:
4395           Note in the docs that the ::newsegment vfunc is not actually used by
4396           GstBaseSrc.
4397
4398 2006-07-28  Wim Taymans  <wim@fluendo.com>
4399
4400         * libs/gst/base/gstcollectpads.c:
4401         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
4402         (gst_collect_pads_clear), (gst_collect_pads_flush),
4403         (gst_collect_pads_event), (gst_collect_pads_chain):
4404         When flushing a pad, also clear the queued buffer so that we don't
4405         accidentally use it when we shouldn't.
4406         Fix leaks by inreffing incomming buffer.
4407         Flush out queued buffers in case of errors.
4408         Fixes #347452.
4409
4410 2006-07-28  Wim Taymans  <wim@fluendo.com>
4411
4412         * docs/random/phonon-gst:
4413         Random notes about a Phonon backend.
4414
4415 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4416
4417         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4418         Extra debug output
4419         * tests/check/libs/gdp.c: (gst_dp_suite):
4420         Take a whack at fixing the ppc compile using a different define to
4421         disable the broken test.
4422
4423         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4424         Remove excess g_print()
4425
4426 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4427
4428         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4429         Oops, meant to uncomment this line too to dampen the noise a bit.
4430
4431 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4432
4433         * gst/parse/grammar.y:
4434         * gst/parse/parse.l:
4435         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4436         (GST_START_TEST), (parse_suite):
4437         Fix some of the leaks exposed by extending the parse-launch testsuite,
4438         and move the 3 I can't figure out into a separate test that won't run
4439         the pipelines unless the appropriate line is uncommented.
4440
4441 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4442
4443         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4444           Requesting 0 bytes before the end of the file should result in
4445           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
4446           unit test.
4447
4448 2006-07-27  Wim Taymans  <wim@fluendo.com>
4449
4450         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
4451         Fix useless assert, a uint is always positive.
4452
4453         * gst/gststructure.c: (gst_structure_nth_field_name),
4454         (gst_structure_foreach), (gst_structure_map_in_place):
4455         Check input arguments for public functions to avoid obvious crashes.
4456
4457         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
4458         * plugins/elements/gstfakesink.h:
4459         Do less useless typechecking.
4460
4461 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4462
4463         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4464           Do not use mmap() by default since there are a number of error
4465           conditions that we would like to handle in a non-fatal way that
4466           will result in a SIGBUS if we use mmap(). Examples: external
4467           devices (USB harddrive, portable music player) being unplugged
4468           while in use; file on mounted CD/DVD that can't be read because
4469           the medium is partly damaged. Fixes #348455 and #348475.
4470
4471 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4472
4473         * gst/gstquery.h:
4474         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
4475         rates are a gdouble
4476
4477 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
4478
4479         * gst/gstregistry.c:
4480           Move big documentation comment into class section header, so that it
4481           appears in the API docs.
4482
4483 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4484
4485         * docs/gst/gstreamer-sections.txt:
4486         Oops. Commit the docs additions too for new API.
4487         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
4488
4489 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4490
4491         * gst/gststructure.c: (gst_structure_id_set),
4492         (gst_structure_id_set_valist):
4493         * gst/gststructure.h:
4494         Add API for setting values into structures without performing
4495         a quark lookup, if the appropriate quark is already known.
4496
4497         API: gst_structure_id_set
4498         API: gst_structure_id_set_valist
4499
4500         * gst/parse/grammar.y:
4501         * gst/parse/parse.l:
4502         Remove some dead code shown by the coverage information.
4503         Don't throw a critical g_warning when encountering a syntax error,
4504         just warn and let the normal error path handle it.
4505
4506         * plugins/elements/gstelements.c:
4507         Bump the rank of filesink up to PRIMARY so that it is preferred over
4508         gnomevfssink for file:// sink uri's
4509
4510         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4511         (GST_START_TEST), (run_delayed_test),
4512         (gst_parse_test_element_base_init),
4513         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
4514         (gst_parse_test_element_change_state),
4515         (gst_register_parse_element), (parse_suite):
4516         Beef up the tests for parse syntax to check that more error cases
4517         fail as they are supposed to. Increases the test coverage a bit.
4518
4519 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
4520
4521         * docs/manual/basics-elements.xml:
4522           Fix gst_element_link() example.
4523
4524         * gst/gstutils.c:
4525           Mention in API docs that one should usually gst_bin_add()
4526           elements to a bin or pipeline before doing the linking.
4527           
4528 2006-07-26  Wim Taymans  <wim@fluendo.com>
4529
4530         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
4531         (gst_subbuffer_get_type), (gst_buffer_create_sub):
4532         Avoid function call for known types by keeping the buffer and
4533         subbuffer GType global.
4534
4535         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4536         Random silly optimisations in read() path.
4537
4538 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4539
4540         * tools/gst-launch.c: (main):
4541           If the top-level of the parse is a normal bin, it doesn't do the
4542           right logic to run as a top-level element, so place it inside a
4543           pipeline.
4544
4545 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
4546
4547         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
4548           Remove superfluous g_object_notify() calls, GObject does
4549           that for us automatically.
4550
4551 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
4552
4553         * gst/gstinfo.h:
4554           on Win32, use dllspec to export the debug category symbols
4555
4556 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
4557
4558         * gst/gsttaglist.c: (_gst_tag_initialize):
4559           Allow more than one GST_TAG_IMAGE per taglist.
4560
4561 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4562
4563         * gst/gstminiobject.c:
4564           update docs
4565         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
4566         (gst_fd_src_create):
4567           log recurring events at LOG level
4568           add more debug for when the fd gets set
4569
4570 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4571
4572         * gst/gstparse.c: (gst_parse_launch):
4573           Also remove reentrance checks if flex is MT safe (#348179)
4574          Fix my empty ChangeLog entry below
4575
4576 2006-07-21  Andy Wingo  <wingo@pobox.com>
4577
4578         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
4579
4580         * libs/gst/check/Makefile.am
4581         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
4582         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
4583         * libs/gst/check/gstbufferstraw.h:
4584         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
4585         functions, thus proving I am still a GStreamer haxor. OK I wrote
4586         them a long time ago, but anyways.
4587
4588 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4589
4590         * configure.ac:
4591         * gst/gstparse.c: (gst_parse_launch):
4592           Check for flex version and omit mutex if we have a MT save flex
4593           (fixes #348179)
4594
4595 2006-07-21  Wim Taymans  <wim@fluendo.com>
4596
4597         * gst/gstparse.c: (gst_parse_launch):
4598         Protect recursive calls to _parse with a recursive mutex
4599         and busy flag.
4600
4601 2006-07-21  Wim Taymans  <wim@fluendo.com>
4602
4603         * tests/check/gst/gstpad.c: (GST_START_TEST):
4604         Fix leak in test.
4605
4606 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
4607
4608         * gst/gstparse.c: (gst_parse_launch):
4609           Do not hang on recursive usage of gst_parse_launch()
4610
4611 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4612
4613         * gst/gsttaglist.c:
4614           Add some more docs, comments and FIXME 0.11s here and there
4615           and also fix some typos.
4616
4617 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4618
4619         * gst/gstsegment.h:
4620           Convert tabs to spaces for better readability. 
4621
4622 2006-07-20  Edward Hervey  <edward@fluendo.com>
4623
4624         * tests/check/libs/gdp.c: (gst_dp_suite):
4625         the test_buffer test fails at line 140 on ppc64 at the following
4626         check:
4627         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
4628                 GST_BUFFER_FLAG_IN_CAPS),
4629                 "GST_BUFFER_IN_CAPS flag should have been copied !");
4630         See bug #348114 for more details.
4631
4632 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
4633
4634         * docs/pwg/advanced-scheduling.xml:
4635         * gst/gstpad.c:
4636           Fix typos (#348000).
4637
4638 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
4639
4640         * docs/pwg/intro-basics.xml:
4641           Fix wrong links (#347927).
4642
4643 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
4644
4645         * gst/gstregistry.h:
4646         * gst/gstregistryxml.c: (load_feature),
4647         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
4648         * win32/common/config.h:
4649           make --disable-index work (#342564)
4650
4651 2006-07-18  Wim Taymans  <wim@fluendo.com>
4652
4653         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4654
4655         * gst/Makefile.am:
4656         * gst/gsttrace.h:
4657         The attached patch adds two missing defines to gsttrace.h when tracing
4658         is disabled.  It also corrects one existing define.
4659         Fixes #347756.
4660
4661 2006-07-17  Wim Taymans  <wim@fluendo.com>
4662
4663         * docs/gst/gstreamer-sections.txt:
4664         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
4665         * gst/gst.h:
4666         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
4667         Add two functions to check and change the SIGSEGV behaviour
4668         when loading plugins.
4669         Don't mess with the SIGSEGV handler when we were told not to.
4670         Fixes #347794.
4671         API: gst_segtrap_is_enabled
4672         API: gst_segtrap_set_enabled
4673
4674 2006-07-14  Wim Taymans  <wim@fluendo.com>
4675
4676         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4677         * tests/check/elements/filesrc.c: (GST_START_TEST):
4678         Revert fix for regression in #347408 after release.
4679
4680 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
4681
4682         Patch by: Antoine Tremblay <hexa00 at gmail com>
4683
4684         * gst/gstutils.c: (gst_element_unlink):
4685           Free iterator when done (#347311).
4686
4687         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4688           And add a test case for this.
4689
4690 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
4691
4692         * configure.ac:
4693         Bump nano back to CVS
4694
4695 === release 0.10.9 ===
4696
4697 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
4698
4699         * configure.ac:
4700           releasing 0.10.9, "On the road again"
4701
4702 2006-07-13  Wim Taymans  <wim@fluendo.com>
4703
4704         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4705         * tests/check/elements/filesrc.c: (GST_START_TEST):
4706         Revert pull-0 fix for release. Disable check. Fixes #347408.
4707
4708 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4709
4710         * libs/gst/dataprotocol/dataprotocol.c:
4711         (gst_dp_event_from_packet_1_0):
4712           Fixes #347337: failure to deserialize event packets with
4713           empty payload (only event type)
4714
4715 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4716
4717         * gst/Makefile.am:
4718           do not install a .c file in the header directory
4719
4720 2006-07-13  Edward Hervey  <edward@fluendo.com>
4721
4722         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4723         GhostPad no longer implicitely use the padtemplates of the targets.
4724         Fixes #347384
4725
4726 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
4727
4728         * gst/gstvalue.c: (gst_value_compare_list),
4729         (gst_value_compare_array), (_gst_value_initialize):
4730         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4731         Make GstValueArray comparison be order dependent as designed.
4732         Add checks for value lists and value array comparisons.
4733         Fixes #347221
4734
4735 2006-07-11  Edward Hervey  <edward@fluendo.com>
4736
4737         * gst/gstbin.c: (activate_pads),
4738         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
4739         (gst_bin_change_state_func):
4740         (de)activate src pads before calling state_change on the childs.
4741         This is to avoid the case where a src ghostpad is blocked (holding the
4742         stream lock), which would block the deactivation of the ghostpad's
4743         target pad.
4744         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
4745         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
4746         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
4747         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
4748         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
4749         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4750         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4751         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
4752         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
4753         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4754         (gst_ghost_pad_class_init),
4755         (gst_ghost_pad_internal_do_activate_push),
4756         (gst_ghost_pad_internal_do_activate_pull),
4757         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4758         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4759         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
4760         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
4761         GhostPads now create their internal GstProxyPad at creation (and not
4762         when they're linked, as it was being done previously).
4763         The internal and target pads are linked straight away.
4764         The data will also travel through the other pad in order to make
4765         pad blocking and probes non-hackish (the probe/block now really happens
4766         on the GhostPad and not on the target).
4767         * gst/gstpad.c: (gst_pad_set_blocked_async),
4768         (gst_pad_link_prepare), (gst_pad_push_event):
4769         Remove previous ghostpad cruft.
4770         * gst/gstutils.c: (gst_pad_add_data_probe),
4771         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4772         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4773         (gst_pad_remove_buffer_probe):
4774         Remove previous ghost pad cruft.
4775         Added more detailed debug statements.
4776         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4777         Fix the testsuite for refcounting changes.
4778         The comments about who has references were correct, but the refcount
4779         being checked wasn't the same (!?!).
4780
4781         Fixes #341029
4782
4783 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4784
4785         * docs/gst/gstreamer-sections.txt:
4786         * gst/gstconfig.h.in:
4787         More docs for configuration options, add docs to gtk-doc.
4788
4789 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4790
4791         * gst/Makefile.am:
4792         * gst/gstconfig.h.in:
4793         * win32/common/config.h:
4794         Fix build when disabling tracing (fixes #344016). Also start to document
4795         the defines that disable the sub-systems.
4796
4797 2006-07-10  Edward Hervey  <edward@fluendo.com>
4798
4799         * gst/gst.c: (ensure_current_registry_forking):
4800         let's make valgrind happy...
4801
4802 2006-07-09  Wim Taymans  <wim@fluendo.com>
4803
4804         * gst/gstelement.c: (activate_pads),
4805         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
4806         Better pad activation code: Reset the collect value too on resync.
4807         Add some comments.
4808
4809 2006-07-09  Wim Taymans  <wim@fluendo.com>
4810
4811         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
4812         (gst_pad_activate_push):
4813         Use some more macros where it makes sense.
4814         Allow pad mode switching instead of asserting. When a pad
4815         is activated in one mode and we activate it in another, 
4816         deactivate it first before activating it in a different mode.
4817         Fixes #329198.
4818
4819 2006-07-08  Andy Wingo  <wingo@pobox.com>
4820
4821         * tools/gst-launch.c (main): Handle err == NULL.
4822
4823         * gst/gst.c (init_post, ensure_current_registry)
4824         (ensure_current_registry_forking)
4825         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
4826         factoring out the registry scanning into separate functions. Don't
4827         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
4828         Better environment var name/interface suggestions accepted.
4829
4830 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4831
4832         * gst/gstobject.c: (gst_object_set_name_default),
4833         (gst_object_set_name):
4834           Random micro-optimisation: don't use a hash table
4835           with strings as keys and the usual strdup/strcmp
4836           involved, but rather just use the GQuark of the
4837           type name as key, since it needs to be looked up
4838           anyway to get the type name string.
4839
4840         * tests/check/gst/gstobject.c: (GST_START_TEST):
4841           Fix various leaks.
4842
4843 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4844
4845         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
4846         (gst_bin_iterate_all_by_interface):
4847           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
4848           GTypes are gulongs and thus the top 4 bytes might be cut
4849           off on some platforms when doing GPOINTER_TO_INT, leading
4850           to invalid GTypes and bad things happening (see RH bug #179654).
4851           Also add a check to make sure the type passed in is really
4852           an interface type.
4853
4854 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4855
4856         * .cvsignore:
4857           Ignore more.
4858
4859 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4860
4861         * Makefile.am:
4862         * configure.ac:
4863         * gst-element-check.m4:
4864         * gst-element-check.m4.in:
4865           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
4866           instead of the unversioned gst-inspect (#324176, #168659).
4867
4868 2006-07-06  Wim Taymans  <wim@fluendo.com>
4869
4870         * gst/gstmessage.h:
4871         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
4872         warnings.
4873
4874 2006-07-06  Wim Taymans  <wim@fluendo.com>
4875
4876         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4877         (gst_base_src_wait), (gst_base_src_update_length),
4878         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
4879         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
4880         (gst_base_src_loop), (gst_base_src_start),
4881         (gst_base_src_activate_pull):
4882         Update docs.
4883         blocksize == 0 now means the default blocksize when working in push
4884         based mode.
4885         Remove some pointless asserts in _wait function.
4886         Fix offset/length calculations and EOS handling. We can now pull 0
4887         bytes as well, which is allowed.
4888         use _check_get_range() to decide if we can operate in _pull based
4889         mode.
4890         Fix refcounting leak when check_get_range function was not 
4891         implemented.
4892         API GstBaseSrc::blocksize range can be 0 too now (default)
4893
4894         * tests/check/elements/filesrc.c: (GST_START_TEST),
4895         (filesrc_suite):
4896         Added check to test _get_range() behaviour.
4897
4898 2006-07-06  Wim Taymans  <wim@fluendo.com>
4899
4900         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
4901         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
4902         (gst_pad_pull_range):
4903         * gst/gstpad.h:
4904         Lots of comments and docs added to the pad functions.
4905         Flesh out the expected behaviour of the get_range() functions.
4906
4907 2006-07-06  Wim Taymans  <wim@fluendo.com>
4908
4909         * gst/gstbus.h:
4910         * gst/gstclock.h:
4911         * gst/gstevent.h:
4912         * gst/gstiterator.h:
4913         * gst/gstpad.h:
4914         * gst/gstplugin.h:
4915         * gst/gsttask.h:
4916         Remove comma at end of enumerator list. 
4917
4918 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
4919
4920         * win32/common/libgstbase.def:
4921         * win32/common/libgstdataprotocol.def:
4922         * win32/common/libsgtreamer.def:
4923         Add new exported functions.
4924
4925 2006-07-05  Wim Taymans  <wim@fluendo.com>
4926
4927         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
4928         Add some more docs here and there.
4929
4930 2006-07-05  Wim Taymans  <wim@fluendo.com>
4931
4932         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
4933         (gst_base_sink_loop), (gst_base_sink_get_position):
4934         When operating in pull mode update the offset so that we
4935         read sequentially.
4936
4937 2006-07-05  Wim Taymans  <wim@fluendo.com>
4938
4939         * gst/gstregistryxml.c: (read_string):
4940         Avoid strdup. (will happen in libxml, but hey!)
4941
4942         * gst/gsturi.c:
4943         Add some more docs.
4944
4945 2006-07-05  Wim Taymans  <wim@fluendo.com>
4946
4947         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
4948         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
4949         (gst_buffer_suite):
4950         No point in checking if the size of the subbuffer > 0, the
4951         code handles it correclty as demonstrated by unit test.
4952         Also add a unit test for the zero sized _new_and_alloc and
4953         _copy. Fixes #346663.
4954
4955 2006-07-05  Wim Taymans  <wim@fluendo.com>
4956
4957         * libs/gst/base/gstbasetransform.c:
4958         (gst_base_transform_prepare_output_buffer),
4959         (gst_base_transform_buffer_alloc),
4960         (gst_base_transform_handle_buffer):
4961         Make sure the buffer we pass to transform_ip has a refcount of
4962         1 and thus is writable. Fixes #343196
4963
4964 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
4965
4966         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
4967         (gst_file_src_init), (gst_file_src_set_property),
4968         (gst_file_src_get_property), (gst_file_src_map_region):
4969         * plugins/elements/gstfilesrc.h:
4970         Add "sequential" property, off by default, to use madvise and hint
4971         to the kernel that sequential access is desired.
4972         Touch all retrieved pages by default to ensure they are pulled
4973         into memory. (Closes #345720)
4974
4975 2006-07-03  Wim Taymans  <wim@fluendo.com>
4976
4977         * docs/design/part-block.txt:
4978         * docs/design/part-dynamic.txt:
4979         Small docs updates.
4980
4981 2006-07-03  Wim Taymans  <wim@fluendo.com>
4982
4983         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
4984         (gst_caps_unref), (gst_static_caps_get),
4985         (gst_caps_append_structure):
4986         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
4987         Use GSlice when the glib we build against is >= 2.10
4988
4989 2006-07-03  Wim Taymans  <wim@fluendo.com>
4990
4991         * gst/gstelement.c: (gst_element_pads_activate):
4992         Small cleanup in pad activation code.
4993
4994 2006-07-03  Wim Taymans  <wim@fluendo.com>
4995
4996         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4997
4998         * gst/gst-i18n-app.h:
4999         * gst/gst-i18n-lib.h:
5000         * tools/gst-inspect.c: (print_signal_info):
5001         The attached patch will make the inclusion of gettext.h unconditional in
5002         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
5003         libintl.h in tools/gst-inspect.c.
5004         This allows use of --disable-nls again and fixes #344642.
5005
5006 2006-07-03  Edward Hervey  <edward@fluendo.com>
5007
5008         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
5009         Implement pad blocking on events according to part-block.txt.
5010         More comments on behaviour.
5011         * tests/check/gst/gstevent.c: (test_event):
5012         Send event to peer pad of blocked pad (else it will block).
5013
5014 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5015
5016         * libs/gst/check/gstcheck.c: (gst_check_message_error),
5017         (gst_check_run_suite):
5018           if we get the wrong message, give us the types as string
5019         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
5020           Fix a translatable
5021         * tests/check/elements/filesrc.c: (GST_START_TEST):
5022           add a test for trying to open a non-existing file
5023
5024 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5025
5026         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5027           add a test for adding self
5028
5029 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5030
5031         * libs/gst/check/gstcheck.h:
5032           add some assert_ as alias for fail_unless_*
5033         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
5034           increase test coverage
5035
5036 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5037
5038         * Makefile.am:
5039           include lcov.mak for lcov coverage generation
5040         * tools/Makefile.am:
5041           add to CLEANFILES
5042
5043 2006-07-02  Edward Hervey  <edward@fluendo.com>
5044
5045         * tests/check/elements/.cvsignore:
5046         moaping
5047
5048 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5049
5050         * configure.ac:
5051           don't set CFLAGS and friends for gcov, done from GST_GCOV now
5052         * tests/check/Makefile.am:
5053           clean up gcov files
5054
5055 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5056
5057         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
5058           remove gst_caps_simplify; it was not declared and not used
5059           and deprecated in 0.8
5060
5061 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5062
5063         * docs/faq/gst-uninstalled:
5064           don't put empty paths on PYTHONPATH
5065         * docs/gst/gstreamer-sections.txt:
5066           remove some symbols that are not there
5067
5068 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5069
5070         * gst/gstcaps.c: (gst_caps_compare_structures):
5071           whitespace fixes
5072         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5073         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
5074           add more tests
5075
5076 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5077
5078         * libs/gst/dataprotocol/Makefile.am:
5079           build dataprotocol test by linking to the lib, instead of
5080           compiling the source, so we get coverage
5081         * tests/check/Makefile.am:
5082         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
5083         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
5084           add a test for filesrc
5085
5086 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5087
5088         * tests/check/gst/gststructure.c: (GST_START_TEST),
5089         (gst_structure_suite):
5090           Push coverage from 59.04% to 70.00%
5091
5092 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5093
5094         * tests/check/Makefile.am:
5095           gst-inspect every element; this makes sure that we also get
5096           coverage on element's get/set functions
5097
5098 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5099
5100         * configure.ac:
5101           set CFLAGS and friends to -O0 if gcov is being used
5102           add GCOV LIBS
5103         * gst/Makefile.am:
5104         * libs/gst/base/Makefile.am:
5105         * libs/gst/check/Makefile.am:
5106         * libs/gst/controller/Makefile.am:
5107         * libs/gst/dataprotocol/Makefile.am:
5108         * libs/gst/net/Makefile.am:
5109         * plugins/elements/Makefile.am:
5110         * plugins/indexers/Makefile.am:
5111           add makefile rules to generate gcov data and clean up
5112         * tests/check/Makefile.am:
5113           add a coverage target that generates an html overview
5114           of coverage data
5115
5116 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5117
5118         * tests/check/elements/fakesink.c:
5119         * tests/check/elements/fakesrc.c:
5120         * tests/check/elements/fdsrc.c:
5121         * tests/check/elements/identity.c:
5122         * tests/check/generic/sinks.c: (gst_sinks_suite):
5123         * tests/check/generic/states.c:
5124         * tests/check/gst/gst.c:
5125         * tests/check/gst/gstabi.c:
5126         * tests/check/gst/gstbin.c:
5127         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
5128         * tests/check/gst/gstbus.c: (gst_bus_suite):
5129         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5130         * tests/check/gst/gstelement.c:
5131         * tests/check/gst/gstevent.c: (gst_event_suite):
5132         * tests/check/gst/gstghostpad.c:
5133         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
5134         * tests/check/gst/gstmessage.c: (gst_message_suite):
5135         * tests/check/gst/gstminiobject.c:
5136         * tests/check/gst/gstobject.c:
5137         * tests/check/gst/gstpad.c:
5138         * tests/check/gst/gstpipeline.c:
5139         * tests/check/gst/gstplugin.c:
5140         * tests/check/gst/gstquery.c: (gst_query_suite):
5141         * tests/check/gst/gstsegment.c: (gst_segment_suite):
5142         * tests/check/gst/gststructure.c:
5143         * tests/check/gst/gstsystemclock.c:
5144         * tests/check/gst/gsttag.c:
5145         * tests/check/gst/gsttask.c: (gst_task_suite):
5146         * tests/check/gst/gstutils.c:
5147         * tests/check/gst/gstvalue.c:
5148         * tests/check/libs/adapter.c:
5149         * tests/check/libs/basesrc.c:
5150         * tests/check/libs/collectpads.c:
5151         * tests/check/libs/controller.c:
5152         * tests/check/libs/gdp.c: (gst_dp_suite):
5153         * tests/check/libs/gstnetclientclock.c:
5154         * tests/check/libs/gstnettimeprovider.c:
5155         * tests/check/libs/libsabi.c: (libsabi_suite):
5156         * tests/check/libs/typefindhelper.c:
5157         * tests/check/pipelines/cleanup.c:
5158         * tests/check/pipelines/parse-launch.c:
5159         * tests/check/pipelines/simple-launch-lines.c:
5160         * tests/check/pipelines/stress.c: (stress_suite):
5161           use the new macro
5162
5163 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5164
5165         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
5166         * libs/gst/check/gstcheck.h:
5167           create a macro and function so that the simple unit test
5168           case can be just one macro to create main()
5169
5170 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
5171
5172         * gst/gstbin.c: (gst_bin_restore_thyself):
5173         * gst/gstxml.c: (gst_xml_make_element):
5174           Fix deserialisation from XML. Set parent manually
5175           instead of using gst_bin_add(), since gst_bin_add()
5176           will unlink all pads of the element being added.
5177           Fixes #341667.
5178
5179 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
5180
5181         Patch by: Peter Kjellerstedt <pkj at axis com>
5182
5183         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
5184           Fix missing g_strdup() and double free when using the
5185           --gst-plugin-load command line option (#346097).
5186
5187 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
5188
5189         * gst/gstinfo.c:
5190           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
5191
5192         * libs/gst/net/gstnetclientclock.c:
5193         * libs/gst/net/gstnettimeprovider.c:
5194           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
5195
5196 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
5197
5198         * docs/manual/advanced-dataaccess.xml:
5199           Fix buffer probe example compilation in
5200           ADM (#345708).
5201         
5202 2006-06-22  Edward Hervey  <edward@fluendo.com>
5203
5204         * gst/gstelement.c: (gst_element_pads_activate):
5205         We need to deactivate src pads first and then sink pads.
5206         The reason is the src pads might be blocking while holding the streaming
5207         lock, so we need to deactivate them first so that deactivating the sink
5208         pads doesn't block (since it will require the streaming lock).
5209
5210 2006-06-22  Wim Taymans  <wim@fluendo.com>
5211
5212         * libs/gst/base/gstbasetransform.c:
5213         (gst_base_transform_buffer_alloc):
5214         Forgot to remove two unneeded unrefs.
5215         Simplify a check _is_equal allready checks the obvious case.
5216
5217 2006-06-22  Wim Taymans  <wim@fluendo.com>
5218
5219         * docs/design/part-block.txt:
5220         Some docs about what pad_block should do.
5221
5222 2006-06-22  Wim Taymans  <wim@fluendo.com>
5223
5224         * gst/gstcaps.c: (gst_caps_replace):
5225         Fix crasher when passed NULL. Doc clarification.
5226         Optimize for the trivial case.
5227
5228         * gst/gstpipeline.c: (gst_pipeline_change_state):
5229         Small cleanups.
5230
5231         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
5232         Small documentation cleanup.
5233
5234         * libs/gst/base/gstbasetransform.c:
5235         (gst_base_transform_buffer_alloc):
5236         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
5237         is what we need and it avoids a whole lot of redundant 
5238         refcount operations.
5239
5240 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
5241
5242         Patch by: Philip Jägenstedt  <philip at lysator liu se>
5243
5244         * docs/manual/advanced-dataaccess.xml:
5245           Fix 'Embedding static elements' section to use
5246           GST_PLUGIN_DEFINE_STATIC (#345607).
5247
5248 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5249
5250         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
5251           Attempt to 'fix' spuriously failing test case: it seems like the
5252           timeout of half a second is simply too small when the system is under
5253           load otherwise, and the timeout doesn't really seem to serve any
5254           particular purpose here. Give the pipeline a few seconds to preroll
5255           first, and then give it another half a second to go from PAUSED to
5256           PLAYING and marshal the message into the main thread.
5257
5258 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5259
5260         * tools/gst-feedback-m.m:
5261           Don't only use unversioned tools, try versioned tools as well
5262           (#345086).
5263
5264 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5265
5266         * gst/gstbus.c: (gst_bus_class_init):
5267           Fix some typos, make docs more explicit.
5268
5269 2006-06-20  Wim Taymans  <wim@fluendo.com>
5270
5271         * tests/check/gst/gstghostpad.c: (block_callback),
5272         (GST_START_TEST), (gst_ghost_pad_suite):
5273         Added some more ghostpad tests, mainly blocking
5274         and probes.
5275
5276 2006-06-16  Wim Taymans  <wim@fluendo.com>
5277
5278         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
5279         (gst_file_sink_close_file), (gst_file_sink_do_seek),
5280         (gst_file_sink_event), (gst_file_sink_render):
5281         * plugins/elements/gstfilesink.h:
5282         Check if we can seek in the file instead of assuming
5283         we always can. Post an error when we are asked to seek in a
5284         non-seekable file (like a fifo). Fixes #343312.
5285         Some cleanups.
5286
5287 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
5288
5289         * tools/gst-launch.1.in:
5290           Un-garble (fourcc) bit in filtered caps section.
5291
5292 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
5293
5294         * docs/manual/advanced-autoplugging.xml:
5295         * docs/manual/basics-helloworld.xml:
5296         * docs/manual/highlevel-components.xml:
5297           Don't leak bus reference in sample code.
5298
5299 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
5300
5301         * autogen.sh:
5302           Add default for new --enable-plugin-docs switch.
5303
5304         * configure.ac:
5305           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
5306           Fixes #344039.
5307
5308         * docs/Makefile.am:
5309           Use new ENABLE_PLUGIN_DOCS conditional.
5310
5311 2006-06-14  Wim Taymans  <wim@fluendo.com>
5312
5313         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
5314         Make it clear with a FIXME and a real define what the #if 0
5315         previously disabled.
5316
5317 2006-06-14  Wim Taymans  <wim@fluendo.com>
5318
5319         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
5320         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5321         * libs/gst/base/gstbasetransform.c:
5322         (gst_base_transform_sink_eventfunc):
5323         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
5324         Don't randomly and silently reset a segment when the format 
5325         changes as this is a bug somewhere upstream. Fixes #330379.
5326
5327 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5328
5329         Patch by: Wouter Paesen  <wouter at kangaroot net>
5330
5331         * libs/gst/controller/gstcontroller.c:
5332         (gst_controlled_property_new):
5333           Fix controlling of float properties (#344849).
5334
5335         * tests/check/libs/controller.c:
5336         (gst_test_mono_source_get_property),
5337         (gst_test_mono_source_set_property),
5338         (gst_test_mono_source_class_init), (GST_START_TEST):
5339           While we're at it, add some float stuff to unit test.
5340
5341 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5342
5343         * docs/README:
5344         * docs/images/gdp-header.svg:
5345           add a gdp image
5346         * docs/libs/Makefile.am:
5347         * docs/libs/gdp-header.png:
5348         * libs/gst/dataprotocol/dataprotocol.c:
5349           add it to the API docs
5350         * docs/manual/intro-motivation.xml:
5351           fix typo
5352
5353 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5354
5355         * gst/gst.c: (scan_and_update_registry), (init_post):
5356           If the fork()'ed child process can't write the updated registry cache
5357           file to disk for some reason, make it exit with a failure exit code,
5358           so that the parent can then re-scan the plugins itself and update the
5359           registry structures in memory and work with that (rather than failing
5360           when creating elements because seemingly no plugins are available).
5361           Refactor registry scanning code into separate function for this and
5362           also separate fork() and non-fork() code paths. Fixes #344748.
5363
5364 2006-06-13  Wim Taymans  <wim@fluendo.com>
5365
5366         * docs/manual/advanced-dataaccess.xml:
5367         Fix wrong PluginDesc. Fixes #344755.
5368
5369 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5370
5371         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5372           Fix silly bug that prevented us from creating
5373           ~/.gstreamer-0.10 and writing the registry in one
5374           go (the first call to g_mkstemp() would overwrite the
5375           placeholder in the template string, so the second call
5376           to g_mkstemp() after creating the missing directory
5377           would then error out with 'invalid argument').
5378
5379 2006-06-13  Edward Hervey  <edward@fluendo.com>
5380
5381         * gst/gst.c: (init_post):
5382         Free string.
5383
5384 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5385
5386         * gst/glib-compat-private.h:
5387         * gst/glib-compat.c:
5388         * gst/glib-compat.h:
5389         * gst/gstvalue.c: (gst_value_serialize_flags):
5390           remove GLib 2.6 compatibility code
5391
5392 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
5393
5394         * gst/parse/Makefile.am:
5395           Fix build with 'make -j N' even more (#340016).
5396
5397 2006-06-12  Wim Taymans  <wim@fluendo.com>
5398
5399         * docs/gst/gstreamer-sections.txt:
5400         Fix docs.
5401
5402 2006-06-12  Wim Taymans  <wim@fluendo.com>
5403
5404         * gst/gstsegment.c: (gst_segment_set_duration),
5405         (gst_segment_set_last_stop), (gst_segment_set_seek),
5406         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5407         (gst_segment_to_running_time), (gst_segment_clip):
5408         Use G_UNLIKELY to help the compiler a bit.
5409
5410 2006-06-12  Wim Taymans  <wim@fluendo.com>
5411
5412         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
5413
5414         * gst/gstevent.c: (gst_event_get_type):
5415         * gst/gstmessage.c:
5416         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5417         (gst_pad_push):
5418         constify quark registration strings. Fixes #344115
5419         Avoid unneeded type checking is _pad_push() by internally
5420         calling gst_pad_chain_unchecked().
5421
5422 2006-06-12  Wim Taymans  <wim@fluendo.com>
5423
5424         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
5425         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
5426         (gst_subbuffer_finalize), (gst_buffer_create_sub),
5427         (gst_buffer_is_span_fast), (gst_buffer_span):
5428         Init _type for consistency.
5429         Use _FLAGS macro to avoid type check.
5430         Avoid unneeded type checks in subbufer code.
5431
5432 2006-06-12  Wim Taymans  <wim@fluendo.com>
5433
5434         * gst/gst.c: (gst_debug_help):
5435         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
5436         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5437         (gst_plugin_feature_list_free):
5438         * gst/gstregistry.c: (gst_registry_add_plugin),
5439         (gst_registry_add_feature), (gst_registry_plugin_filter),
5440         (gst_registry_feature_filter), (gst_registry_find_plugin),
5441         (gst_registry_find_feature), (gst_registry_get_plugin_list),
5442         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
5443         * gst/gstregistryxml.c: (load_feature),
5444         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
5445         * gst/gstminiobject.c: (gst_mini_object_unref),
5446         (gst_mini_object_replace), (gst_value_mini_object_free),
5447         (gst_value_mini_object_copy):
5448         Use _CAST macros to avoid unneeded type checking.
5449         Added some more G_UNLIKELY.
5450
5451 2006-06-12  Wim Taymans  <wim@fluendo.com>
5452
5453         * gst/gstbuffer.h:
5454         Avoid unneeded type checking.
5455         API: GST_BUFFER_IS_DISCONT
5456
5457         * gst/gstminiobject.h:
5458         Avoid type check in flag accessor.
5459
5460         * gst/gstelementfactory.h:
5461         * gst/gstplugin.h:
5462         * gst/gstpluginfeature.h:
5463         Add _CAST macros.
5464         API: GST_ELEMENT_FACTORY_CAST
5465         API: GST_PLUGIN_CAST
5466         API: GST_PLUGIN_FEATURE_CAST
5467
5468 2006-06-12  Wim Taymans  <wim@fluendo.com>
5469
5470         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
5471         (gst_object_unref):
5472         Add G_UNLIKELY in type registration.
5473         Avoid type check in _ref/_unref since that is also
5474         done in glib.
5475
5476 2006-06-12  Wim Taymans  <wim@fluendo.com>
5477
5478         * gst/gsterror.c: (gst_g_error_get_type):
5479         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5480         (gst_static_pad_template_get_type):
5481         * gst/gsttaglist.c: (gst_tag_list_get_type):
5482         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
5483         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
5484         * gst/gsturi.c: (gst_uri_handler_get_type):
5485         * gst/gstvalue.c: (gst_date_get_type):
5486         * gst/gstxml.c: (gst_xml_get_type):
5487         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5488         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5489         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
5490         Add G_UNLIKELY in type registration.
5491
5492 2006-06-12  Wim Taymans  <wim@fluendo.com>
5493
5494         * tools/gst-inspect.c: (print_signal_info):
5495         Properly print enum values.
5496
5497 2006-06-12  Wim Taymans  <wim@fluendo.com>
5498
5499         * gst/gstinfo.c: (gst_debug_set_active),
5500         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
5501         * gst/gstinfo.h:
5502         Add some G_[UN]LIKELY.
5503         Maintain __gst_debug_min to avoid formatting the arguments of
5504         debug messages that will be dropped anyway to avoid a lot of 
5505         overhead from the debugging system.
5506
5507 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5508
5509         * po/POTFILES.in:
5510         * po/POTFILES.skip:
5511           add missing files containing translatable strings, tell intltool about
5512           one exception
5513
5514 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5515
5516         * tests/check/libs/.cvsignore:
5517         add test-binary to ignore list
5518
5519 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5520
5521         * docs/libs/gstreamer-libs-docs.sgml:
5522         reorder (put dp into a chapter) and indent
5523
5524 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5525
5526         * configure.ac:
5527           back to HEAD
5528
5529 === release 0.10.8 ===
5530
5531 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
5532
5533         * configure.ac:
5534           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
5535
5536 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5537
5538         * gst/gst.c: (init_post):
5539           move pid declaration to declaration block
5540
5541 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5542
5543         * gst/gst.c: (init_post):
5544           use _exit() instead of exit() in our forked child; this ensures
5545           that none of the registered exit handlers from whatever is using
5546           GStreamer get executed.  This fixes gnome-mixer-applet failing
5547           to load, because ORBit would shut down.
5548           Spotted by: Edward Hervey  <edward@fluendo.com>
5549           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
5550           Fixes #344474
5551
5552 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5553
5554         * configure.ac:
5555           back to TRUNK
5556
5557 === release 0.10.7 ===
5558
5559 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
5560
5561         * configure.ac:
5562           releasing 0.10.7, "Soepeke, ik zie ou"
5563
5564 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5565
5566         * configure.ac:
5567         * po/af.po:
5568         * po/az.po:
5569         * po/bg.po:
5570         * po/ca.po:
5571         * po/cs.po:
5572         * po/de.po:
5573         * po/en_GB.po:
5574         * po/fr.po:
5575         * po/it.po:
5576         * po/nb.po:
5577         * po/nl.po:
5578         * po/ru.po:
5579         * po/sq.po:
5580         * po/sr.po:
5581         * po/sv.po:
5582         * po/tr.po:
5583         * po/uk.po:
5584         * po/vi.po:
5585         * po/zh_CN.po:
5586         * po/zh_TW.po:
5587         * win32/common/config.h:
5588           0.10.6.2 prerelease
5589
5590 2006-06-07  Wim Taymans  <wim@fluendo.com>
5591
5592         * gst/gstindex.c: (gst_index_gtype_resolver):
5593         * tools/gst-xmlinspect.c: (print_plugin_info):
5594         Fix leak spotted by coverity checker. Fixes #343827
5595         Fix another other leak found by paolo borelli.
5596
5597 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5598
5599         * libs/gst/dataprotocol/dataprotocol.c:
5600         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5601         (gst_dp_version_get_type), (gst_dp_init),
5602         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
5603         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
5604         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
5605         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
5606         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
5607         (gst_dp_packetizer_free):
5608         * libs/gst/dataprotocol/dataprotocol.h:
5609           API: add a GstDPPacketizer object, and create/free functions
5610           API: add GstDPVersion enum
5611           Add 1.0 event function that uses the string serialization
5612           Serialize more useful buffer flags
5613           Fixes #343988
5614
5615 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5616
5617         * tests/check/Makefile.am:
5618         * tests/check/gst/gstabi.c:
5619         * tests/check/gst/struct_ppc64.h:
5620         * tests/check/libs/libsabi.c:
5621         * tests/check/libs/struct_ppc64.h:
5622           add ppc64 structure sizes
5623
5624 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5625
5626         * tests/check/Makefile.am:
5627         * tests/check/gst/gstabi.c:
5628         * tests/check/gst/struct_x86_64.h:
5629         * tests/check/libs/libsabi.c:
5630         * tests/check/libs/struct_x86_64.h:
5631           generate and add structure size lists for x86_64
5632
5633 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5634
5635         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5636         * libs/gst/check/gstcheck.h:
5637           factor out the method from tests that checks size of structures,
5638           and add code to generate the header containing these sizes
5639         * tests/check/gst/gstabi.c: (GST_START_TEST):
5640         * tests/check/gst/struct_i386.h:
5641         * tests/check/libs/libsabi.c: (GST_START_TEST):
5642         * tests/check/libs/struct_i386.h:
5643           use it
5644
5645 2006-06-06  Michael Smith  <msmith@fluendo.com>
5646
5647         * gst/gstsegment.h:
5648           Don't use c++-style comments, fixes #343929
5649
5650 2006-06-05  Edward Hervey  <edward@fluendo.com>
5651
5652         * gst/gst.c:
5653         plugin_paths is not used if we build without registry support.
5654
5655         * gst/gstsegment.c: (gst_segment_copy): 
5656         _copy() was always returning NULL...
5657
5658 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5659
5660         * libs/gst/dataprotocol/dataprotocol.c:
5661         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5662         (gst_dp_packet_from_event):
5663           factor out CRC code
5664
5665 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5666
5667         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
5668           make sure we unset caps
5669
5670 2006-06-02  Michael Smith  <msmith@fluendo.com>
5671
5672         * libs/gst/check/gstcheck.c: (gst_check_init),
5673         (gst_check_chain_func):
5674         * libs/gst/check/gstcheck.h:
5675           Add a cond/mutex to the check support lib, signal this whenever we
5676           add to the buffers list. This will allow tests to not busy-wait on
5677           the buffer-list.
5678
5679 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5680
5681         * libs/gst/dataprotocol/dataprotocol.c:
5682         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5683         (gst_dp_packet_from_event):
5684           factor out some common header init code
5685
5686 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5687
5688         * docs/libs/gstreamer-libs-sections.txt:
5689         * docs/libs/tmpl/gstdataprotocol.sgml:
5690         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5691         * libs/gst/dataprotocol/dataprotocol.h:
5692           API: make gst_dp_crc() public
5693
5694 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5695
5696         * plugins/indexers/gstindexers.c: (plugin_init):
5697         conditionally register fileindexer (fixes #343598)
5698
5699 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5700
5701         * gst/gsttagsetter.h:
5702         Can't cast ifaces to a class
5703
5704         * libs/gst/net/gstnetclientclock.h:
5705         * libs/gst/net/gstnettimeprovider.h:
5706         * plugins/elements/gstfakesink.h:
5707         * plugins/elements/gstfakesrc.h:
5708         * plugins/elements/gstfdsink.h:
5709         * plugins/elements/gstfdsrc.h:
5710         * plugins/elements/gstfilesink.h:
5711         * plugins/elements/gstfilesrc.h:
5712         * plugins/elements/gstidentity.h:
5713         * plugins/elements/gstqueue.h:
5714         * plugins/elements/gsttee.h:
5715         * plugins/indexers/gstfileindex.c:
5716         * plugins/indexers/gstmemindex.c:
5717         * tests/old/examples/plugins/example.h:
5718         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
5719
5720 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5721
5722         * libs/gst/dataprotocol/dataprotocol.c:
5723         (gst_dp_header_from_buffer):
5724           make sure we zero the whole ABI-compatible area
5725
5726 2006-06-01  Wim Taymans  <wim@fluendo.com>
5727
5728         Patch by: Alessandro Decina <alessandro at nnva dot org>
5729
5730         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
5731         Make sure the EOS flag is cleared from pads after a flush
5732         or stop. Fixes #343538.
5733
5734         * tests/check/libs/collectpads.c: (GST_START_TEST),
5735         (gst_collect_pads_suite):
5736         Added test for collectpads reusage after EOS.
5737
5738 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
5739
5740         * gst/gst.c:
5741          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
5742         * win32/common/libgstbase.def:
5743          export gst_collect_pads_set_flushing
5744         * win32/common/libgstreamer.def:
5745          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
5746          gst_value_fraction_multiply
5747         * win32/vs6/gst_inspect.dsp:
5748          add a link to intl.lib
5749
5750 2006-05-30  Wim Taymans  <wim@fluendo.com>
5751
5752         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5753         (gst_collect_pads_chain):
5754         Handle the case where a pad is removed from the collection
5755         that could cause the other pads to become collectable.
5756
5757 2006-05-30  Wim Taymans  <wim@fluendo.com>
5758
5759         * gst/gstelement.c:
5760         Clarify the use of _release_request_pad() and
5761         _get_request_pad() a bit better.
5762
5763         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
5764         (gst_adapter_take_buffer):
5765         Fix some doc and comment typos.
5766
5767 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5768
5769         * docs/gst/gstreamer-sections.txt:
5770         * docs/libs/gstreamer-libs-sections.txt:
5771           add declared symbols
5772
5773 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
5774
5775         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5776         Add debug that can be enabled using a #define at the top of the file,
5777         for dumping stats about how late/early we were when waking up from
5778         waiting on the clock.
5779
5780 2006-05-30  Wim Taymans  <wim@fluendo.com>
5781
5782         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
5783         When rebuilding the pad list, don't leak the previous list.
5784
5785 2006-05-30  Wim Taymans  <wim@fluendo.com>
5786
5787         Patch by: Lutz Mueller <lutz at topfrose dot de>
5788
5789         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5790         (gst_base_src_get_query_types), (gst_base_src_update_length):
5791         Publish supported query types.
5792         Update last_stop field in get_range mode so the position
5793         query works. Fixes #342321.
5794
5795 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
5796
5797         * docs/gst/gstreamer-sections.txt:
5798         * gst/gsttaglist.c: (_gst_tag_initialize):
5799         * gst/gsttaglist.h:
5800           API: add GST_TAG_PREVIEW_IMAGE (#343341).
5801
5802 2006-05-30  Wim Taymans  <wim@fluendo.com>
5803
5804         Patch by: Alessandro Decina <alessandro at nnva dot org>
5805
5806         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
5807         Unlock mutex when removing an unknown pad.
5808         Fixes #343334.
5809
5810         * tests/check/Makefile.am:
5811         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
5812         (push_event), (setup), (teardown), (GST_START_TEST),
5813         (gst_collect_pads_suite), (main):
5814         Added collecpads check, disabled for now as check crashes for
5815         some reason.
5816
5817 2006-05-29  Wim Taymans  <wim@fluendo.com>
5818
5819         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
5820         Don't leak pads lists.
5821
5822 2006-05-29  Wim Taymans  <wim@fluendo.com>
5823
5824         * docs/libs/gstreamer-libs-sections.txt:
5825         * libs/gst/base/gstcollectpads.c:
5826         (gst_collect_pads_set_flushing_unlocked),
5827         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5828         (gst_collect_pads_stop):
5829         * libs/gst/base/gstcollectpads.h:
5830         API: gst_collect_pads_set_flushing()
5831         Added api to set the pads to flushing, useful for seeking
5832         code in elements using collectpads.
5833         Clear segment when receiving a flush.
5834
5835 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
5836
5837         * gst/gst.c: (add_path_func), (init_post):
5838           Don't scan registry paths passed via --gst-plugin-path immediately
5839           (will crash, because absolutely nothing is set up and no types are
5840           registered etc.); do this later in init_post(). Fixes #343057.
5841
5842 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5843
5844         * gst/gst.c: (init_post):
5845           if we have fork, fork while reading/rebuilding the registry
5846           so the parent doesn't take the hit of having all plugins loaded
5847           in memory.  Fixes #342777.
5848         * configure.ac:
5849           Check if we have fork()
5850         * win32/common/config.h.in:
5851           no fork() on win32
5852
5853 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
5854
5855         * plugins/elements/gstelements.c:
5856         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5857         (gst_file_src_init), (gst_file_src_set_property),
5858         (gst_file_src_get_property), (gst_file_src_start):
5859         * plugins/elements/gstfilesrc.h:
5860           API: GstFileSrc::use-mmap
5861
5862         Add a use-mmap property to enable easier testing of all code paths.
5863         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
5864         in the absence of gnomevfssrc. (Closes #340501)
5865
5866 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5867
5868         * tools/gst-inspect.c:
5869         Add missing include, removes warning of ngettext not being defined on
5870         some arches.
5871
5872 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
5873
5874         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5875         Handle NULL input and output pointers silently as a failed conversion,
5876         rather than g_warnings.
5877
5878 2006-05-25  Wim Taymans  <wim@fluendo.com>
5879
5880         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
5881         Initialize variable before using. Fixes #342820.
5882
5883 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
5884
5885         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
5886           Fix off-by-one bug that would only allow peeks of N-1 bytes
5887           from the start even if the buffer to typefind on contains
5888           in fact N bytes of data (makes vorbis typefinding from a
5889           vorbis identification header buffer work).
5890
5891         * tests/check/Makefile.am:
5892         * tests/check/libs/.cvsignore:
5893         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
5894         (gst_typefindhelper_suite), (main), (foobar_typefind),
5895         (plugin_init):
5896           Add very basic unit test for gst_type_find_helper_for_buffer()
5897           that checks for the problem fixed above.
5898
5899 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5900
5901         * tools/gst-inspect.c: (print_interfaces),
5902         (print_element_properties_info), (print_element_list), (main):
5903           add more translatable strings
5904
5905 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
5906
5907         Patch by: Julien Moutte  <julien at moutte net>
5908
5909         * docs/gst/gstreamer-sections.txt:
5910           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
5911           
5912         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5913         (gst_fake_sink_preroll):
5914         * plugins/elements/gstfakesink.h:
5915           API: Add new GstFakeSink::preroll-handoff signal (#337100).
5916
5917 2006-05-23  Wim Taymans  <wim@fluendo.com>
5918
5919         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
5920         * gst/gstpad.h:
5921         Added _CUSTOM error and success GstFlowReturn that can be
5922         used be elements internally. 
5923         Added macro to check for SUCCESS flowreturns.
5924         API: GST_FLOW_CUSTOM_SUCCESS
5925         API: GST_FLOW_CUSTOM_ERROR
5926         API: GST_FLOW_IS_SUCCESS
5927
5928         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5929         Added check for GstFlowReturn sanity.
5930
5931 2006-05-23  Wim Taymans  <wim@fluendo.com>
5932
5933         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5934
5935         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5936         (gst_collect_pads_event):
5937         clear/reset segment info in FLUSH_STOP.
5938         Fixes #336929.
5939
5940 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
5941
5942         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
5943         (gst_collect_pads_check_collected):
5944         Flush queued buffer on _stop(), fixes playing again (#342454)
5945
5946 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5947
5948         * tests/check/gst/gststructure.c: (GST_START_TEST),
5949         (gst_structure_suite):
5950           add a test for a complete structure
5951
5952 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5953
5954         * docs/faq/developing.xml:
5955         * docs/faq/faq.xml:
5956         * docs/faq/troubleshooting.xml:
5957         * docs/faq/using.xml:
5958           Some minor FAQ updates that won't change the fact that
5959           our FAQ is badly structured, full of information hardly
5960           anyone new to GStreamer needs to know and lacking lots
5961           of information people constantly ask for.
5962           
5963 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
5964
5965         * gst/gstpad.c: (gst_pad_set_caps):
5966           Short-circuit gst_pad_set_caps if setting the existing
5967           caps pointer again, and avoid printing debug and 
5968           reffing/unreffing the caps.
5969
5970         * plugins/elements/gstqueue.c: (gst_queue_push_one):
5971           There's actually no need to set the caps before pushing -
5972           the acceptcaps method will handle it anyway.
5973
5974 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5975
5976         * docs/gst/gstreamer-sections.txt:
5977         * win32/common/libgstreamer.def:
5978         * gst/gstutils.c: (gst_element_seek_simple):
5979         * gst/gstutils.h:
5980           API: add gst_element_seek_simple() (#342238).
5981
5982 2006-05-18  Edward Hervey  <edward@fluendo.com>
5983
5984         * gst/gsttypefind.c: (gst_type_find_get_type):
5985         * gst/gsttypefind.h:
5986         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
5987         registered for GstTypeFind pointers. This allows wrapping the structure
5988         in bindings (i.e. gst-python).
5989
5990 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
5991
5992         * gst/gsttagsetter.c:
5993           Docs additions and fixes (see #339918).
5994
5995 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
5996
5997         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
5998         The caps intersection algorithm can produce multiple copies of the
5999         caps. Until that is fixed, we need to simplify the result to be
6000         sure whether the allowed caps are fixed or not.
6001
6002         * plugins/elements/gstqueue.c: (gst_queue_init),
6003         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
6004         (gst_queue_push_one):
6005         Proxied buffer alloc should not set the caps on the source pad.
6006         When pushing buffers, we always accept the caps change that triggers.
6007         This prevents negotiation errors caused by caps changing mid-stream 
6008         and then being refused on our source pad (because upstream is now
6009         refusing those caps).
6010
6011 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
6012
6013         * tests/examples/helloworld/helloworld.c: (main):
6014           Must plug audioconvert and audioresample between decoder
6015           and audio sink.
6016
6017 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
6018
6019         * gst/gstregistryxml.c: (read_string), (load_pad_template),
6020         (load_feature), (load_plugin):
6021         Allow empty strings for some of the plugin fields so we don't 
6022         drop valid plugin entries that were written out correctly
6023         (Fixes #341479)
6024
6025 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
6026         
6027         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
6028           Use g_remove and g_rename instead of remove and rename that don't 
6029           handle utf8 characters. rename was failing for users who had specific
6030           characters in their name then the registry was built at each 
6031           gstreamer init.
6032         * win32/vs6/gst_inspect.dsp:
6033         * win32/vs6/gst_launch.dsp:
6034         * win32/vs6/libgstbase.dsp:
6035         * win32/vs6/libgstcoreelements.dsp:
6036         * win32/vs6/libgstreamer.dsp:
6037           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
6038           build of libgstreamer and clean unused libraries in projects link 
6039           settings.
6040
6041 2006-05-17  Edward Hervey  <edward@fluendo.com>
6042
6043         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6044         The queue is not responsible for pushing an EOS when receiving a fatal
6045         flow error. It's up to the real element driving the pipeline to do that.
6046
6047 2006-05-16  Edward Hervey  <edward@fluendo.com>
6048
6049         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6050         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
6051         buffer returned a fatal error. It should just send an EOS and stop
6052         its task.
6053         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
6054         when pushing buffers on the queue and will be able to handle the event.
6055
6056 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
6057
6058         * docs/manual/basics-bins.xml:
6059         * docs/manual/basics-init.xml:
6060           Fix typos and minor errors in sample code (#341856).
6061
6062 2006-05-16  Wim Taymans  <wim@fluendo.com>
6063
6064         * docs/design/part-qos.txt:
6065         Fix indexes in formulas to make more sense.
6066
6067 2006-05-15  Wim Taymans  <wim@fluendo.com>
6068
6069         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6070         Don't report POSITION based on clock time if sync is
6071         disabled in a sink.
6072
6073 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
6074
6075         * gst/gstobject.h:
6076           Add cast to make compiler happy - refcount variable was a gint
6077           in GstObject but is a guint in GObject and g_atomic_int_get()
6078           wants a gint *.
6079
6080 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6081
6082         * gst/parse/Makefile.am:
6083           chain commands using &&, which also makes parallel make work
6084
6085 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
6086
6087         * docs/gst/gstreamer-sections.txt:
6088         * gst/gstevent.c:
6089         * gst/gstevent.h:
6090         * gst/gstmessage.h:
6091           Minor docs fixes.
6092
6093 === release 0.10.6 ===
6094
6095 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
6096
6097         * configure.ac:
6098           releasing 0.10.6, "Take the cannoli"
6099
6100 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
6101
6102         * tools/gst-launch.c: (print_tag):
6103           Fix use of uninitialized variable in the hypothetical
6104           case that some broken plugin creates a GST_TAG_IMAGE
6105           tag containing a NULL buffer (#341667).
6106
6107 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
6108
6109         * tools/gst-launch.c: (print_tag):
6110           Print something more intelligible for image tags when
6111           using the -t switch (#341556).
6112
6113 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6114
6115         * Makefile.am:
6116           updates for win32
6117         * configure.ac:
6118           define GST_MAJORMINOR so we have it available in win32/common/config.h
6119           Possibly remove it from our Makefile.am files later
6120         * win32/common/config.h:
6121         * win32/common/config.h.in:
6122           added GST_MAJORMINOR
6123         * win32/common/gstenumtypes.c: (register_gst_resource_error):
6124         * win32/common/gstversion.h:
6125           updated
6126
6127 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
6128
6129         * win32/MANIFEST:
6130           Update win32 files listing.
6131         * win32/common/gstversion.h:
6132           Add GST_MAJORMINOR definition.
6133         * win32/common/libgstreamer.def:
6134           Add new exported functions.
6135           
6136 2006-05-12  Michael Smith  <msmith@fluendo.com>
6137
6138         * gst/gstplugin.c: (gst_plugin_load_file):
6139           If an so file has no plugin entry point, unload the module.
6140
6141 2006-05-11  Wim Taymans  <wim@fluendo.com>
6142
6143         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
6144         (gst_queue_set_property):
6145         Don't forget to signal the _chain or _loop function 
6146         when the queue size or thresholds change since that might
6147         cause them to make progres again.
6148
6149 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
6150
6151         * gst/gstclock.c: (gst_clock_class_init):
6152         * gst/gstindex.c: (gst_index_class_init):
6153         * gst/gstobject.c: (gst_object_class_init):
6154         * gst/gstpad.c: (gst_pad_class_init):
6155         * gst/gstpipeline.c: (gst_pipeline_class_init):
6156         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6157         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
6158         * libs/gst/base/gstbasetransform.c:
6159         (gst_base_transform_class_init):
6160         * libs/gst/net/gstnetclientclock.c:
6161         (gst_net_client_clock_class_init):
6162         * libs/gst/net/gstnettimeprovider.c:
6163         (gst_net_time_provider_class_init):
6164         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
6165         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
6166         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
6167         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
6168         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6169         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
6170         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
6171         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6172         * plugins/elements/gsttee.c: (gst_tee_class_init):
6173         * tests/old/examples/plugins/example.c: (gst_example_class_init):
6174         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6175           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
6176
6177 2006-05-11  Wim Taymans  <wim@fluendo.com>
6178
6179         * gst/gstbuffer.c: (_gst_buffer_initialize):
6180         Register subbufer along with the buffer type so that
6181         it does not accidentally gets registered from N
6182         different streaming threads in a non threadsafe way.
6183
6184 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
6185
6186         * gst/gstbuffer.h:
6187         * gst/gstevent.h:
6188         * gst/gstmessage.h:
6189           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
6190           gst_event_ref() and gst_message_ref() functions again
6191           (ugly hack, please do fix if there's a better way besides
6192           overrides.txt, which doesn't seem to work).
6193
6194 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6195
6196         * libs/gst/check/gstcheck.h:
6197           add an assert for setting state to avoid lots of repetitive code
6198           in the future
6199
6200 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6201
6202         * gst/gstvalue.c: (gst_value_serialize_flags):
6203           fix a leak if no flags are set
6204         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6205           fix leak in tests
6206
6207 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
6208
6209         * docs/manual/basics-pads.xml:
6210           Expand a bit on caps and filtered links and update
6211           examples that were still using the no longer existing
6212           gst_pad_link_filtered() (#338206).
6213
6214 2006-05-10  Wim Taymans  <wim@fluendo.com>
6215
6216         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6217         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
6218         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
6219         (gst_collect_pads_stop):
6220         * libs/gst/base/gstcollectpads.h:
6221         No need to call _stop in _finalize.
6222         Iterate the main pad list in _finalize.
6223         Added some more debug.
6224         Free lists and data in the right order.
6225         Also free data whem doing _remove_pad when stopped for
6226         backward compatibility protect ::started with PAD_LOCK as
6227         well.
6228
6229 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6230
6231         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
6232         (gst_structure_parse_value):
6233           add some comments
6234           rename a method so that it actually says what it does better
6235
6236 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6237
6238         * gst/gstevent.c: (_gst_event_initialize):
6239         * gst/gstformat.c: (_gst_format_initialize):
6240           make sure some essential types used by events are registered
6241           as part of gst_init()
6242         * gst/gstvalue.c: (gst_value_serialize_flags):
6243           if no flags are set, serialize them to a value that represents NONE
6244           so that deserializing them works
6245         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6246           add tests for serialization and deserialization of flags
6247
6248 2006-05-10  Wim Taymans  <wim@fluendo.com>
6249
6250         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
6251         (gst_collect_pads_collect_range), (gst_collect_pads_available),
6252         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
6253         (gst_collect_pads_event), (gst_collect_pads_chain):
6254         Update docs.
6255         Better debug info.
6256         Catch and return errors from the collect function
6257         Refuse data on eos pads.
6258
6259 2006-05-10  Edward Hervey  <edward@fluendo.com>
6260
6261         * gst/gstinterface.h:
6262         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
6263         GInterface type checking.
6264         They were previously using non-defined macros.
6265
6266 2006-05-09  Wim Taymans  <wim@fluendo.com>
6267
6268         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
6269         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
6270         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
6271         (gst_collect_pads_start), (gst_collect_pads_stop),
6272         (gst_collect_pads_peek), (gst_collect_pads_pop),
6273         (gst_collect_pads_available), (gst_collect_pads_read),
6274         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
6275         (gst_collect_pads_is_collected), (gst_collect_pads_event),
6276         (gst_collect_pads_chain):
6277         * libs/gst/base/gstcollectpads.h:
6278         Clean up the mess that is collectpads, add comments and
6279         FIXMEs where needed.
6280         Maintain a separate pad list so we can add pads while
6281         collecting the other ones. For this we need a new separate 
6282         lock (see comics).
6283         Fix memory leak in finalize.
6284         Refactor some weird code to set/unset pad flushing flags, mark
6285         with comments.
6286         Don't crash in _available, _read, _flush when we're EOS.
6287
6288         * tests/check/libs/.cvsignore:
6289         Ignore adapter check binary.
6290
6291 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6292
6293         * gst/gstindex.c: (gst_index_resolver_get_type):
6294         * plugins/elements/gstfakesink.c:
6295         (gst_fake_sink_state_error_get_type):
6296         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6297         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
6298         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
6299           Const-ify GEnumValue arrays.
6300
6301 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6302
6303         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6304           Add test case for flags + gst_buffer_make_metadata_writable().
6305
6306 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6307
6308         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
6309           gst_buffer_make_metadata_writable() should maintain the
6310           buffer flags (those that make sense at least) (see #340859).
6311
6312 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6313
6314         * tools/gst-inspect.c:
6315         * tools/gst-launch.c:
6316         * tools/gst-typefind.c:
6317         * tools/gst-xmlinspect.c:
6318         * tools/tools.h:
6319           Fix up includes: need to include stdlib.h in tools.h for exit().
6320
6321 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6322
6323         * gst/gsttaglist.c: (_gst_tag_initialize):
6324         * gst/gsttaglist.h:
6325           API: add GST_TAG_IMAGE tag (#340721).
6326
6327 2006-05-08  Wim Taymans  <wim@fluendo.com>
6328
6329         * gst/gstquery.c:
6330         Added some docs for the segment query.
6331
6332 2006-05-08  Wim Taymans  <wim@fluendo.com>
6333
6334         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6335         (gst_base_src_loop), (gst_base_src_change_state):
6336         Always push non-flushing serialized events in the streaming 
6337         thread.
6338
6339 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6340
6341         * gst/gsterror.c: (_gst_stream_errors_init):
6342           Add a missing error string.
6343
6344 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
6345
6346         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
6347         Add applied_rate to the debug
6348
6349         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6350         Copy applied_rate into the outgoing NEWSEGMENT event
6351
6352 2006-05-08  Wim Taymans  <wim@fluendo.com>
6353
6354         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
6355
6356         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
6357         (gst_base_sink_change_state):
6358         call ::unlock before taking the PREROLL_LOCK so we can safely
6359         handle elements that lock in ::render.
6360         Fixes #340174.
6361
6362 2006-05-08  Edward Hervey  <edward@fluendo.com>
6363
6364         * autogen.sh: (CONFIGURE_DEF_OPT): 
6365         Darwin's libtoolize is in fact called glibtoolize.
6366         Adding glibtoolize to the list of accepted names for libtoolize.
6367
6368 2006-05-08  Wim Taymans  <wim@fluendo.com>
6369
6370         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6371         Unify error handling, don't post an error message
6372         when a push() returns EOS but perform our normal EOS
6373         handling code. Fixes #340772.
6374
6375 2006-05-08  Wim Taymans  <wim@fluendo.com>
6376
6377         * docs/design/part-overview.txt:
6378         Make upsteam/downstream concepts more clear.
6379         Give an example of serialized/non-serialized events.
6380
6381         * docs/design/part-events.txt:
6382         * docs/design/part-streams.txt:
6383         Mention applied_rate.
6384
6385         * docs/design/part-trickmodes.txt:
6386         Mention applied rate, flesh out some more use cases.
6387
6388         * gst/gstevent.c: (gst_event_new_new_segment),
6389         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
6390         (gst_event_parse_new_segment_full), (gst_event_new_tag),
6391         (gst_event_parse_tag), (gst_event_new_buffer_size),
6392         (gst_event_parse_buffer_size), (gst_event_new_qos),
6393         (gst_event_parse_qos), (gst_event_parse_seek),
6394         (gst_event_new_navigation):
6395         * gst/gstevent.h:
6396         Add applied_rate field to NEWSEGMENT event.
6397         API: gst_event_new_new_segment_full()
6398         API: gst_event_parse_new_segment_full()
6399
6400         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
6401         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
6402         (gst_segment_to_stream_time), (gst_segment_to_running_time):
6403         * gst/gstsegment.h:
6404         Add applied_rate to GstSegment structure.
6405         Make calculation of stream_time and running_time more correct
6406         wrt rate/applied_rate.
6407         Add some more docs.
6408         API: GstSegment::applied_rate field
6409         API: gst_segment_set_newsegment_full();
6410
6411         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
6412         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
6413         * libs/gst/base/gstbasetransform.c:
6414         (gst_base_transform_sink_eventfunc),
6415         (gst_base_transform_handle_buffer):
6416         Parse and use applied_rate in the GstSegment field.
6417
6418         * tests/check/gst/gstevent.c: (GST_START_TEST):
6419         Add check for applied_rate field.
6420
6421         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6422         (gstsegments_suite):
6423         Add more checks for various GstSegment operations.
6424
6425 2006-05-08  Wim Taymans  <wim@fluendo.com>
6426
6427         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6428         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
6429         (gst_base_sink_get_position), (gst_base_sink_change_state):
6430         Store the sync time of the buffer end position separatly in a
6431         new variable eos_rtime so we can properly sync the EOS event.
6432         Fixes #340697.
6433         Fix the docs for gst_base_sink_set_qos_enabled().
6434         Don't set segment start to invalid value when we receive a 
6435         non TIME newsegment.
6436         get closer to handling position reporting for negative rates 
6437         correctly.
6438
6439 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6440
6441         * gst/gstcaps.c:
6442         Docs about how to print caps for debug purposes.
6443
6444         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
6445         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
6446
6447 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6448
6449         * gst/gstelement.c:
6450           use full enum names and preprend a '%' in docs strings to make recent 
6451           gtk-doc turn that into a link
6452
6453 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6454
6455         * docs/manual/basics-bins.xml:
6456         * docs/manual/basics-bus.xml:
6457         * docs/manual/basics-pads.xml:
6458           Some typo fixes, some additions, some clarifications. 
6459
6460 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6461
6462         * tools/gst-inspect.c: (main):
6463         * tools/gst-launch.c: (main):
6464         * tools/gst-run.c: (main):
6465         * tools/gst-typefind.c: (main):
6466         * tools/gst-xmlinspect.c: (main):
6467           Use the string passed to g_option_context_new() for
6468           what it's intended for - the program name is already
6469           printed elsewhere.
6470
6471 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6472
6473         * tools/Makefile.am:
6474         * tools/gst-inspect.c: (main):
6475         * tools/gst-launch.c: (main):
6476         * tools/gst-xmlinspect.c: (main):
6477         * tools/tools.h:
6478           Add back --version command line option (#340460).
6479
6480         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
6481           Add --version option and use GOption for argument parsing; refactor a
6482           bit; accept directories as arguments and recurse into them; lastly,
6483           print a decent error message when things go wrong.
6484
6485 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6486
6487         * docs/manual/basics-bins.xml:
6488         Don't mention GstThread (#340611)
6489         * docs/manual/basics-elements.xml:
6490         Update link to GObject tutorial (#340607)
6491         
6492 2006-05-05  Wim Taymans  <wim@fluendo.com>
6493
6494         * gst/gstbuffer.h:
6495         * gst/gstminiobject.c:
6496         Add note about refcounting and miniobject/buffer writeability
6497         to docs. Fixes #340604
6498
6499         * gst/gstelementfactory.h:
6500         Added some explanation about @klass.
6501
6502 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6503
6504         * docs/manual/intro-motivation.xml:
6505         * docs/manual/manual.xml:
6506         Avoid CORBA & Bonobo references (#340598)
6507
6508 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6509
6510         * docs/manual/basics-bus.xml:
6511         * docs/manual/basics-pads.xml:
6512         Fix up some inaccuracies and omissions (#340609)
6513         
6514 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6515
6516         * gst/gstghostpad.c:
6517           Small typo in docs (#340625)
6518
6519 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6520
6521         * gst/parse/Makefile.am:
6522           Make 'make -j' proof (see #340698).
6523
6524 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6525
6526         * configure.ac:
6527           Require GLib-2.8 here as well.
6528
6529 2006-05-05  Wim Taymans  <wim@fluendo.com>
6530
6531         * gst/glib-compat.c:
6532         * gst/gst.c: (init_pre):
6533         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
6534         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
6535         (gst_object_dispatch_properties_changed):
6536         * gst/gstobject.h:
6537         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6538         * gst/gststructure.c: (gst_structure_set_valist):
6539         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6540         Remove pre glib2.8 compatibility, fixes #340508
6541
6542 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6543
6544         * gst/gsttaglist.h:
6545           Mention type of tags in doc blurbs.
6546
6547 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
6548
6549         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6550         (gst_pad_configure_src), (gst_pad_push):
6551         Restore acceptcaps checking behaviour now that good plugins have
6552         been released.
6553
6554 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6555
6556         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
6557
6558         * gst/gst.c:
6559         * gst/gstbus.c:
6560         * gst/gstclock.c:
6561         * gst/gstevent.c:
6562         * gst/gstformat.c:
6563         * gst/gstmessage.c:
6564         * gst/gstparse.c:
6565         * gst/gstquery.c:
6566         * gst/gstutils.c:
6567         * gst/parse/Makefile.am:
6568         * libs/gst/base/gstadapter.c:
6569         * libs/gst/base/gstbasesrc.c:
6570         * libs/gst/base/gstpushsrc.c:
6571         * libs/gst/base/gsttypefindhelper.c:
6572         * plugins/elements/gstfakesrc.c:
6573         * plugins/elements/gstidentity.c:
6574           Make sure gstprivate.h and/or config.h are
6575           always included first, otherwise some of our
6576           defines (like _FILE_OFFSET_BITS) might be
6577           redefined in the system headers. Fixes build
6578           on opensolaris (#340016).
6579
6580 2006-05-04  Wim Taymans  <wim@fluendo.com>
6581
6582         * docs/libs/gstreamer-libs-sections.txt:
6583         API: addition: gst_adapter_take_buffer()
6584         
6585         * libs/gst/base/gstadapter.c: (gst_adapter_push),
6586         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
6587         (gst_adapter_available_fast):
6588         * libs/gst/base/gstadapter.h:
6589         Prepare for optimizing the hell out of this hugely inefficient
6590         piece of code. 
6591         Added gst_adapter_take_buffer() so we can at least start thinking
6592         about subbuffering and merging.
6593         Added some comments.
6594
6595         * tests/check/Makefile.am:
6596         * tests/check/libs/adapter.c: (GST_START_TEST),
6597         (gst_adapter_suite), (main):
6598         Added GstAdapter check.
6599
6600 2006-05-04  Wim Taymans  <wim@fluendo.com>
6601
6602         * docs/design/part-overview.txt:
6603         Fix some typos, add blurb about buffer flags.
6604
6605 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6606
6607         * docs/libs/gstreamer-libs-sections.txt:
6608           make sure GstBaseTransformClass shows up in the docs
6609         * libs/gst/base/gstbasetransform.c:
6610         * libs/gst/base/gstbasetransform.h:
6611           move docs so gtk-doc picks it up now
6612
6613 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6614
6615         * docs/libs/gstreamer-libs-sections.txt:
6616           add missing symbols to docs
6617
6618 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6619
6620         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6621           back out the newsegment handling change, see #340060 for ongoing
6622           discussion
6623
6624 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
6625
6626         * tools/gst-run.c: (get_candidates), (main):
6627           Fix wrong g_file_test() usage (see glib docs for why it doesn't
6628           work); fix typo in error message. Fixes #340079.
6629
6630 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6631
6632         * common/Makefile.am:
6633         * docs/Makefile.am:
6634         * docs/faq/Makefile.am:
6635         * docs/gst/Makefile.am:
6636         * docs/libs/Makefile.am:
6637         * docs/manual/Makefile.am:
6638         * docs/plugins/Makefile.am:
6639         * docs/pwg/Makefile.am:
6640         * docs/slides/Makefile.am:
6641         * docs/upload.mak:
6642         * common/upload.mak:
6643           move upload.mak to common
6644
6645 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6646
6647         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6648           add more asserts on refcounts
6649           do more cleanup at end of tests
6650           fix test leaks showing in FC5
6651
6652 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
6653
6654         * plugins/elements/gsttypefindelement.c:
6655         (gst_type_find_element_handle_event):
6656         reverted wrong change and reflowed code to avoid others falling into
6657         this trap
6658
6659 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6660
6661         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6662           fix changelog entry about last collectpads change,
6663           add notes about proper fix
6664
6665 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6666
6667         * gst/gst.c:
6668         * gst/gstregistry.c: (gst_registry_scan_path_level),
6669         (gst_registry_scan_path):
6670         * gst/gstregistry.h:
6671           only write out registry if it has changed, fixes #338339
6672
6673 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6674
6675         * gst/gstbin.c:
6676         * gst/gstpipeline.c:
6677         * plugins/elements/gstcapsfilter.c:
6678         * plugins/elements/gstfakesink.c:
6679         * plugins/elements/gstfakesrc.c:
6680         * plugins/elements/gstfdsink.c:
6681         * plugins/elements/gstfdsrc.c:
6682         * plugins/elements/gstfilesink.c:
6683         * plugins/elements/gstfilesrc.c:
6684         * plugins/elements/gstidentity.c:
6685         * plugins/elements/gstqueue.c:
6686         * plugins/elements/gsttee.c:
6687         * plugins/elements/gsttypefindelement.c:
6688         (gst_type_find_element_handle_event):
6689           make GstElementDetails const
6690
6691 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6692
6693         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6694         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6695         (gst_collect_pads_is_collected), (gst_collect_pads_event):
6696           more detailed debug and formatting cleanup,
6697           forward newsegments to src-pad (so that e.g. adder not eats them)
6698
6699 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6700
6701         * gst/gstutils.c: (gst_element_link_pads):
6702           cleanup double code
6703
6704 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6705
6706         * libs/gst/controller/gstcontroller.c:
6707         (gst_controller_sync_values):
6708           some little tuning
6709         * tests/check/libs/controller.c: (GST_START_TEST),
6710         (gst_controller_suite):
6711           a new test for live value handling
6712
6713 2006-04-28  Wim Taymans  <wim@fluendo.com>
6714
6715         * gst/gstutils.c: (push_and_ref):
6716         Added some more docs.
6717         Fix refcount issue whith gst_element_found_tags() helper 
6718         function. Fixes #338335
6719
6720         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6721         Added testsuite for gst_element_found_tags().
6722
6723 2006-04-28  Michael Smith  <msmith@fluendo.com>
6724
6725         * gst/gstvalue.c: (gst_value_serialize_flags):
6726           Avoid NULL dereference when trying to serialize flags containing
6727           invalid values.
6728
6729 2006-04-28  Michael Smith  <msmith@fluendo.com>
6730
6731         * plugins/elements/gsttypefindelement.c:
6732         (gst_type_find_element_handle_event):
6733           If we get EOS before any data is accumulated, don't use
6734           uninitialised local variables.
6735
6736 2006-04-28  Michael Smith  <msmith@fluendo.com>
6737
6738         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6739         (gst_dp_event_from_packet):
6740           Fixes in reading/writing events over GDP (not currently used?) - 
6741           dereferencing NULL events for unknown/invalid event types, memory
6742           leak, and change g_warning to GST_WARNING.
6743
6744 2006-04-28  Wim Taymans  <wim@fluendo.com>
6745
6746         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
6747         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6748         (gst_base_sink_get_position), (gst_base_sink_change_state):
6749         When frame dropping is enabled, we should not ignore frames
6750         without a duration.
6751         Update some documentation.
6752
6753 2006-04-28  Wim Taymans  <wim@fluendo.com>
6754
6755         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6756         (gst_base_src_send_event), (gst_base_src_change_state):
6757         Documentation updates.
6758
6759 2006-04-28  Wim Taymans  <wim@fluendo.com>
6760
6761         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
6762         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
6763         handle EAGAIN, EINTR and short writes correctly. Also clean
6764         up some error cases, avoid a deadlock on bad file descriptors and
6765         use GST_DEBUG_OBJECT.
6766         Fixes #339843
6767
6768 2006-04-28  Wim Taymans  <wim@fluendo.com>
6769
6770         * gst/gstvalue.c: (gst_value_serialize_buffer),
6771         (gst_value_deserialize_buffer):
6772         Don't try to serialize a GValue with a NULL buffer. 
6773         Fixes #339821.
6774
6775         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6776         Added check for serialisation of NULL buffers.
6777
6778 2006-04-28  Wim Taymans  <wim@fluendo.com>
6779
6780         * gst/gstminiobject.c: (gst_value_take_mini_object):
6781         Taking a NULL miniobject is valid, fix the case where
6782         we try to unref the NULL miniobject.
6783
6784 2006-04-28  Wim Taymans  <wim@fluendo.com>
6785
6786         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6787
6788         * gst/gstbin.c: (gst_bin_handle_message_func):
6789         Update docs.
6790         Don't leak bin refcount when a state recalc is
6791         in progress and we delay another one #339808.
6792
6793 2006-04-28  Wim Taymans  <wim@fluendo.com>
6794
6795         * docs/design/part-TODO.txt:
6796         Mention QoS as an ongoing work item.
6797
6798         * docs/design/part-buffering.txt:
6799         New doc about buffering that needs to be fleshed out
6800         at some point.
6801
6802         * docs/design/part-qos.txt:
6803         More QoS policy for decoders/demuxers/transforms
6804
6805         * docs/design/part-trickmodes.txt:
6806         Small update.
6807
6808 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6809
6810         * configure.ac:
6811           back to HEAD
6812
6813 === release 0.10.5 ===
6814
6815 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
6816
6817         * configure.ac:
6818           releasing 0.10.5, "Fogo"
6819
6820 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6821
6822         patch by: Wim Taymans
6823
6824         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6825         (gst_pad_configure_src), (gst_pad_push):
6826         * gst/gstpipeline.c: (gst_pipeline_init):
6827           Fix internal data flow errors.  Fixes #338711.
6828
6829 2006-04-12  Wim Taymans  <wim@fluendo.com>
6830
6831         * tests/check/gst/gstelement.c: (GST_START_TEST):
6832         Don't leak the factory.
6833
6834 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6835
6836         * configure.ac:
6837         * win32/common/config.h:
6838           prerelease
6839
6840 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
6841
6842         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6843         (gst_controller_unset_all):
6844           Free allocated GstTimedValues when freeing list nodes.
6845           Should fix leaks 'make check-valgrind' complains about.
6846
6847         * win32/common/libgstcontroller.def:
6848           Add gst_controller_unset_all.
6849
6850 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
6851
6852         * docs/libs/gstreamer-libs-sections.txt:
6853         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6854         (gst_controller_unset_all):
6855         * libs/gst/controller/gstcontroller.h:
6856         API: Added new method gst_controller_unset_all()
6857         fixed gst_controller_unset()
6858         * tests/check/libs/controller.c: (GST_START_TEST),
6859         (gst_controller_suite):
6860         Added two testcases for new and fixed method
6861
6862 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
6863
6864         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6865           MSG_DONTWAIT is not defined on Cygwin, so work
6866           around that (fixes #317048).
6867           
6868 2006-04-11  Wim Taymans  <wim@fluendo.com>
6869
6870         * gst/gstelementfactory.c: (gst_element_register),
6871         (gst_element_factory_create), (gst_element_factory_make):
6872         Some cleanups.
6873         Fixed a FIXME.
6874         Updated docs (Fixes #131079)
6875
6876         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6877         Small cleanups.
6878
6879         * tests/check/gst/gstelement.c: (GST_START_TEST),
6880         (gst_element_suite):
6881         Added testcase for elementfactory class field.
6882
6883 2006-04-10  Wim Taymans  <wim@fluendo.com>
6884
6885         * gst/gstsegment.c:
6886         Added some more docs.
6887
6888         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
6889         (gst_base_sink_reset_qos):
6890         Calculate more accurate rate values.
6891
6892 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
6893
6894         * gst/gst_private.h:
6895           add a new #ifdef to use __declspec(dllimport) only for
6896           other modules and not for gstreamer core
6897         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
6898           use gst_guint64_to_gdouble for conversion
6899         * win32/common/libgstreamer.def:
6900           add new exported functions
6901         * win32/vs6/gst_inspect.dsp:
6902         * win32/vs6/gst_launch.dsp:
6903         * win32/vs6/libgstbase.dsp:
6904         * win32/vs6/libgstcontroller.dsp:
6905         * win32/vs6/libgstcoreelements.dsp:
6906         * win32/vs6/libgstdataprotocol.dsp:
6907         * win32/vs6/libgstnet.dsp:
6908           update project files
6909
6910 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
6911
6912         * gst/gstbuffer.c: (gst_subbuffer_class_init):
6913         * gst/gstclock.c: (gst_clock_class_init):
6914         * gst/gstelement.c: (gst_element_class_init):
6915         * gst/gstindex.c: (gst_index_class_init):
6916         * gst/gstindexfactory.c: (gst_index_factory_class_init):
6917         * gst/gstobject.c: (gst_object_class_init),
6918         (gst_signal_object_class_init):
6919         * gst/gstpad.c: (gst_pad_class_init):
6920         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
6921         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
6922         * gst/gstregistry.c: (gst_registry_class_init):
6923         * gst/gstsystemclock.c: (gst_system_clock_class_init):
6924         * gst/gsttask.c: (gst_task_class_init):
6925         * gst/gstxml.c: (gst_xml_class_init):
6926         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6927         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6928         (gst_base_src_loop):
6929         * libs/gst/controller/gstcontroller.c:/
6930         (_gst_controller_class_init):
6931         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6932         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
6933         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
6934         * tests/old/examples/plugins/example.c: (gst_example_class_init):
6935         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6936         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
6937
6938 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
6939
6940         * gst/gstpad.c: (gst_pad_link):
6941           Must set peer pads before calling the link function, otherwise
6942           a task started from a link function might get a flow-not-linked
6943           result when trying to push because the other thread where the
6944           linking happens hasn't had a chance to set the peers yet. This
6945           might happen for example when a queue gets linked to a downstream
6946           element, as queue starts a streaming task when its source pad
6947           gets linked. Happens in real life when playing back flac/musepack
6948           files in playbin (#332390).
6949           
6950 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
6951
6952         * gst/gstindex.h:
6953         * gst/gstxml.h:
6954         * libs/gst/base/gstadapter.h:
6955         * libs/gst/base/gstbasesink.h:
6956         * libs/gst/base/gstbasesrc.h:
6957         * libs/gst/base/gstbasetransform.h:
6958         * libs/gst/base/gstcollectpads.h:
6959         * libs/gst/base/gstpushsrc.h:
6960         Fix broken GObject macros
6961
6962 2006-04-07  Wim Taymans  <wim@fluendo.com>
6963
6964         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6965         Initialize start and stop times, thanks valgrind.
6966
6967 2006-04-07  Wim Taymans  <wim@fluendo.com>
6968
6969         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
6970         Be a bit nicer to badly behaving upstream elements that expect
6971         us to deal with non TIME segments and timestamps (such as fakesrc
6972         in the testsuite).
6973
6974 2006-04-07  Wim Taymans  <wim@fluendo.com>
6975
6976         * gst/gstbus.c:
6977         Small documentation clarification about the signal watch.
6978
6979         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6980         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
6981         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
6982         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6983         (gst_base_sink_get_position_last),
6984         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
6985         Convert and store timestamps in stream time and running time, the
6986         raw timestamps are not useful, also document this better.
6987         Use different window sizes for good and bad QoS observations so
6988         we react to badness a little quicker.
6989         Keep track of the amount of rendered and dropped buffers.
6990         Send QoS timestamps in running time.
6991
6992         * libs/gst/base/gstbasetransform.c:
6993         (gst_base_transform_sink_eventfunc),
6994         (gst_base_transform_handle_buffer):
6995         Compare QoS timestamps against running time.
6996
6997 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
6998
6999         * gst/gstpad.c:
7000           Typo fixes in docs.
7001
7002 2006-04-06  Michael Smith  <msmith@fluendo.com>
7003
7004         * gst/gstpad.c: (gst_pad_set_property):
7005           Use g_value_get_object() instead of g_value_dup_gst_object(),
7006           to avoid double-reffing the pad template (which we then sink,
7007           so this worked previously if (and only if) the pad template
7008           was floating.
7009
7010         * gst/gstpadtemplate.c: (gst_pad_template_init),
7011         (gst_pad_template_pad_created):
7012           Never return floating references to pad templates, create
7013           them as initially-sunken.
7014
7015           Document an extra function (and make this stop sinking our
7016           pad template, since that is now guaranteed to do nothing,
7017           since we created it sunken).
7018
7019         * gst/gstghostpad.c:
7020           Fix docs typo.
7021
7022 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
7023
7024         * gst/gstinfo.c: (__gst_in_valgrind):
7025           Add some newlines.
7026
7027         * plugins/elements/gsttypefindelement.c:
7028         (gst_type_find_element_chain):
7029           Don't leak buffer caps.
7030
7031 2006-04-06  Michael Smith  <msmith@fluendo.com>
7032
7033         * gst/parse/grammar.y:
7034           Fix a leak in parse-launch for any source-or-sink named element 
7035           references used.
7036
7037         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
7038           Unref the pipeline if it exists after we've failed parsing.
7039
7040 2006-04-05  Michael Smith  <msmith@fluendo.com>
7041
7042         * gst/gstpipeline.c: (gst_pipeline_init):
7043           When we create a pipeline bus, initially create it in flushing mode.
7044           Fixes leaks in at least one test, and makes a new pipeline work the
7045           same as one that has gone to READY and then back to NULL.
7046
7047         * gst/gstelement.c:
7048           Typo fix in docs.
7049
7050 2006-04-05  Michael Smith  <msmith@fluendo.com>
7051
7052         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7053           Unref a pad we reffed.
7054         * tests/check/gst/gstutils.c: (GST_START_TEST):
7055           Unref bins
7056
7057 2006-04-05  Michael Smith  <msmith@fluendo.com>
7058
7059         * gst/gstquery.c: (gst_query_set_formats),
7060         (gst_query_set_formatsv):
7061           Fix leaking GValues in queries, as shown by valgrind/testsuite.
7062
7063 2006-04-05  Michael Smith  <msmith@fluendo.com>
7064
7065         * tests/check/generic/sinks.c: (GST_START_TEST):
7066           Fix a variety of memleaks in sinks check, which are only sometimes 
7067           shown by running the tests under valgrind (weird?).
7068
7069 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
7070
7071         * docs/version.entities.in:
7072           Fix the substituted entity name after thomas' changes on the
7073           weekend.
7074
7075 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7076
7077         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
7078         VALGRIND_PRINTF
7079         
7080 2006-04-05  Andy Wingo  <wingo@pobox.com>
7081
7082         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
7083
7084         * libs/gst/base/gstbasetransform.c
7085         (gst_base_transform_sink_eventfunc): When resetting our segment on
7086         FLUSH_STOP, also update the flag saying we haven't seen a
7087         newsegment.
7088
7089 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7090
7091         Patch by: Paolo Borelli  <pborelli at katamail dot com>
7092
7093         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7094         (gst_plugin_check_license):
7095           minor clean-ups: G_DEFINE_TYPE already takes care of the
7096           parent_class stuff, no need to do it twice. Mark array of
7097           license strings as constant. (#337103)
7098           
7099 2006-04-04  Michael Smith  <msmith@fluendo.com>
7100
7101         * tools/gst-inspect.c: (print_element_list):
7102           Free the right plugin list; fixes a memory leak.
7103
7104 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7105
7106         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
7107
7108         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7109           Don't error out on empty buffers (#336945).
7110           
7111 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
7112
7113         * docs/libs/gstreamer-libs-sections.txt:
7114         * gst/gsttaglist.c:
7115         * libs/gst/base/gstbasesink.c:
7116         * libs/gst/base/gstbasesink.h:
7117         * libs/gst/base/gstbasesrc.c:
7118         * libs/gst/base/gstbasesrc.h:
7119           Documentation updates. Make BaseSink and BaseSrc docs contain the
7120           class structure so that people can actually see the prototypes for
7121           virtual functions they're supposed to be overriding.
7122
7123 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7124
7125         * plugins/elements/gsttypefindelement.c:
7126         (gst_type_find_element_chain):
7127           More debug info; when skipping typefinding, send cached
7128           events in all cases.
7129
7130 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7131
7132         * configure.ac:
7133           use new AS_VERSION and AS_NANO macros
7134         * gst/gst-i18n-lib.h:
7135         * gst/gst.c:
7136         * gst/gsterror.c:
7137         * gst/gstversion.h.in:
7138         * win32/common/config.h:
7139         * win32/common/config.h.in:
7140           update accordingly
7141
7142 2006-03-31  Michael Smith  <msmith@fluendo.com>
7143
7144         * plugins/elements/gsttypefindelement.c:
7145         (gst_type_find_element_chain):
7146           Do not typefind content if the buffers already have caps.
7147           Neccesary for icydemux (#333657), and the right thing to do anyway.
7148
7149 2006-03-30  Wim Taymans  <wim@fluendo.com>
7150
7151         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7152         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
7153         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
7154         (gst_base_sink_record_qos_observation),
7155         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7156         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7157         (gst_base_sink_change_state):
7158         More QoS measurements as described in the design doc.
7159         Get rid of ringbuffer with observations, running average is
7160         more simple and equally good.
7161         Calculates valid proportion now.
7162         Added beginning of flood measurement.
7163
7164 2006-03-29  Wim Taymans  <wim@fluendo.com>
7165
7166         * docs/design/part-qos.txt:
7167         * gst/gstclock.c:
7168         Small documentation updates and additions.
7169
7170 2006-03-29  Wim Taymans  <wim@fluendo.com>
7171
7172         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7173         (gst_base_src_send_event), (gst_base_src_loop),
7174         (gst_base_src_change_state):
7175         Perform the EOS logic when we reach the segment stop position.
7176         Fix compilation on gcc4.1
7177
7178 2006-03-29  Wim Taymans  <wim@fluendo.com>
7179
7180         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
7181
7182         * plugins/elements/gstqueue.c: (gst_queue_init),
7183         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
7184         (gst_queue_set_property):
7185         * plugins/elements/gstqueue.h:
7186         In queue, when EOS is received, if minimum threshold > max_size -
7187         current_level, there is chance that queue blocks forever in conditional
7188         item del wait. This is because the queue is not emptied completely due
7189         to minimum threshold.  Here is another approach. Instead of setting
7190         cur_levels to max in EOS, just zero all minimum threshold levels. This
7191         should make sure that queue gives out all data. When going to READY
7192         (stop) state, just reset the original minimum threshold levels.
7193         Fixes #336336.
7194
7195 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
7196
7197         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
7198         (gst_type_find_element_handle_event),
7199         (gst_type_find_element_send_cached_events),
7200         (gst_type_find_element_change_state):
7201         * plugins/elements/gsttypefindelement.h:
7202           When typefinding is done in push mode, we should cache
7203           events we receive during typefinding instead of just
7204           dropping them (e.g. newsegment, custom events from
7205           dvdreadsrc etc.) and then send them out once we've
7206           determined the type of the stream (and decodebin
7207           has had a chance to plug in a decoder/demuxer).
7208           
7209 2006-03-27  Wim Taymans  <wim@fluendo.com>
7210
7211         * docs/design/part-qos.txt:
7212         First QoS ideas.
7213
7214 2006-03-27  Wim Taymans  <wim@fluendo.com>
7215
7216         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
7217
7218         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7219         (gst_base_src_send_event), (gst_base_src_change_state):
7220         Handle element seek correctly when we are streaming.
7221         Fixes #326998.
7222
7223 2006-03-24  Michael Smith  <msmith@fluendo.com>
7224
7225         * docs/faq/gst-uninstalled:
7226           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
7227           allow you to correctly run intalled applications built against old 
7228           core, using plugins that require updated core (e.g. running
7229           installed totem against a full uninstalled gstreamer stack)
7230
7231 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7232
7233         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
7234         more debug details
7235
7236 2006-03-24  Wim Taymans  <wim@fluendo.com>
7237
7238         * docs/gst/gstreamer-sections.txt:
7239         Rearrange the order of the methods so that related methods
7240         are grouped together in sections.
7241
7242 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7243
7244         * gst/gstelement.c:
7245           Little clarification in the docs
7246
7247 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7248
7249         * docs/README:
7250         formatting fix
7251         * plugins/elements/gstidentity.c:
7252         * plugins/elements/gstqueue.c:
7253         * plugins/elements/gsttee.c:
7254         * plugins/elements/gsttypefindelement.c:
7255         GST_ELEMENT_DETAILS formatting
7256
7257 2006-03-24  Wim Taymans  <wim@fluendo.com>
7258
7259         * libs/gst/base/gstbasesink.h:
7260         Only add fields, not insert or we break ABI.
7261
7262 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7263
7264         * win32/common/libgstbase.def:
7265         * win32/common/libgstreamer.def:
7266           Update, add recently added functions.
7267
7268 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7269
7270         * docs/gst/gstreamer-sections.txt:
7271         * gst/gstutils.c: (gst_pad_query_peer_position),
7272         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
7273         * gst/gstutils.h:
7274           API: add some new utility functions:
7275            - gst_pad_query_peer_position()
7276            - gst_pad_query_peer_duration()
7277            - gst_pad_query_peer_convert()
7278           
7279 2006-03-23  Wim Taymans  <wim@fluendo.com>
7280
7281         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7282         (gst_base_sink_init), (gst_base_sink_finalize),
7283         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
7284         (gst_base_sink_set_property), (gst_base_sink_get_property),
7285         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
7286         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
7287         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
7288         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7289         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7290         (gst_base_sink_preroll_object), (gst_base_sink_event),
7291         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
7292         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
7293         (gst_base_sink_query), (gst_base_sink_change_state):
7294         Decouple max-lateness and the fact that QoS messages are generated
7295         with a new property (qos).
7296         added API: GstBaseSink::async_play()
7297         Add vmethod so subclasses can be notified of ASYNC playing
7298         state changes.
7299         Collect timestamp start and stop to report better current
7300         position in EOS/PLAYING/PAUSED/READY/NULL.
7301         Refactor QoS/frame dropping and other measurements.
7302         API: GstBaseSrc::qos
7303         Fixes #326311
7304
7305         * libs/gst/base/gstbasesink.h:
7306         Added Private struct.
7307         API: gst_base_sink_set_qos_enabled()
7308         API: gst_base_sink_is_qos_enabled()
7309
7310 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7311
7312         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
7313           If compiling against GLib-2.8 or newer, try to read the
7314           registry file using GMappedFile first before falling back
7315           to fopen() + fread() (#332151).
7316
7317 2006-03-22  Wim Taymans  <wim@fluendo.com>
7318
7319         * gst/gstinfo.c: (gst_debug_set_active),
7320         (gst_debug_category_set_threshold):
7321         Disable debugging unless explicitly activated.
7322         Fixes #335480.
7323
7324 2006-03-22  Wim Taymans  <wim@fluendo.com>
7325
7326         * gst/gstelement.c: (gst_element_set_locked_state),
7327         (gst_element_dispose):
7328         Cleanup the error case.
7329
7330         * gst/gstobject.c: (gst_object_dispose):
7331         print a critical when some object was disposed with
7332         a parent, also revive the object since it might
7333         crash the parent.
7334
7335 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
7336
7337         * tools/gst-launch.1.in:
7338           Fix another typo.
7339
7340 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7341
7342         * configure.ac:
7343         * tests/check/Makefile.am:
7344           disable some tests when we don't have a registry
7345         * tests/check/gst/gstutils.c: (gst_utils_suite):
7346           don't build the part that needs parsing
7347
7348 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7349
7350         * gst/Makefile.am
7351         * tests/examples/Makefile.am:
7352           fix --disable-parse build
7353
7354 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7355
7356         * tools/gst-feedback.1.in:
7357           Fix typo: s/feeback/feedback/ (#133494).
7358
7359 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7360
7361         * tools/Makefile.am:
7362         * tools/gst-launch.1.in:
7363           Add FILES section and correct entry about GST_REGISTRY_PATH
7364           environment variable (#133495; #133494).
7365
7366 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7367
7368         * tools/Makefile.am:
7369         * tools/gst-md5sum.1.in:
7370         * tools/gst-md5sum.c:
7371           Remove gst-md5sum and man page (the md5sink element
7372           required was removed ages ago)
7373
7374 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7375
7376         * gst/gststructure.c: (gst_structure_id_set_value):
7377           Make sure that string fields in structures/taglists
7378           contain valid UTF-8 - we don't want to pass rubbish to
7379           applications because of a buggy plugin (cp. #334167).
7380
7381 2006-03-21  Edward Hervey  <edward@fluendo.com>
7382
7383         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7384         (gst_bin_handle_message_func):
7385         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
7386         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
7387         (gst_element_set_bus_func):
7388         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
7389         * gst/gstminiobject.c: (gst_value_set_mini_object),
7390         (gst_value_take_mini_object):
7391         * gst/gstpad.c: (gst_pad_set_pad_template):
7392         * gst/gstpipeline.c: (gst_pipeline_dispose),
7393         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7394         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
7395         (gst_collect_pads_chain):
7396         * libs/gst/net/gstnettimeprovider.c:
7397         (gst_net_time_provider_set_property):
7398         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
7399         It's in fact all issues with gst_*object_replace().
7400
7401 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7402
7403         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
7404         
7405         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7406         * pkgconfig/gstreamer-check.pc.in:
7407           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
7408
7409 2006-03-21  Edward Hervey  <edward@fluendo.com>
7410
7411         * gst/gstbuffer.h:
7412         * gst/gstevent.h:
7413         * gst/gstmessage.h:
7414         gst_[buffer|event|message]_ref() macros are replaced by a static
7415         inline functions because gcc-4.1 will about if the return value
7416         isn't used.
7417         * tests/check/gst/gstevent.c: (event_probe):
7418         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
7419
7420 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
7421
7422         * gst/gstutils.h:
7423         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
7424         the type' case. (Closes: #335195 for now). In the future, when we
7425         depend on GLib 2.10, we could also intern the type name using
7426         g_intern_static_string()
7427
7428 2006-03-20  Wim Taymans  <wim@fluendo.com>
7429
7430         * gst/gstbin.c: (gst_bin_handle_message_func),
7431         (bin_query_max_init), (bin_query_position_fold),
7432         (bin_query_position_done), (gst_bin_query):
7433         Position query should also take max of all streams.
7434
7435 2006-03-20  Wim Taymans  <wim@fluendo.com>
7436
7437         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7438         (gst_fake_src_finalize):
7439         Fix leaks in fakesrc.
7440
7441         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7442         Fix leaks in the testcase.
7443
7444 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
7445
7446         * gst/gst_private.h:
7447           add win32 specific import decoration(__declspec(dllimport)) 
7448           for all extern GstDebugCategory * variables
7449         * win32/common/libgstbase.def:
7450         * win32/common/libgstcontroller.def:
7451         * win32/common/libgstreamer.def:
7452           Add some exports, remove empty lines
7453         * win32/common/libgstdataprotocol.def:
7454         * win32/common/libgstdataprotocol.dsp:
7455         * win32/common/libgstnet.def:
7456         * win32/common/libgstnet.dsp:
7457           new project files and exportation files added
7458         
7459 2006-03-19  Wim Taymans  <wim@fluendo.com>
7460
7461         * tests/check/libs/basesrc.c: (eos_event_counter):
7462         Use proper return value for probe.
7463
7464 2006-03-17  Wim Taymans  <wim@fluendo.com>
7465
7466         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7467         (gst_pad_push):
7468         Don't leak buffers, caps and pads on negotiation errors.
7469
7470 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
7471
7472         * docs/faq/cvs.xml:
7473         * docs/faq/dependencies.xml:
7474         * docs/faq/developing.xml:
7475         * docs/faq/faq.xml:
7476         * docs/faq/general.xml:
7477         * docs/faq/getting.xml:
7478         * docs/faq/legal.xml:
7479         * docs/faq/troubleshooting.xml:
7480         * docs/faq/using.xml:
7481         Faq review and update.
7482
7483 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
7484
7485         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7486         (gst_pad_push):
7487         Don't pound the cpu to pieces by checking get_caps when accept_caps
7488         is called with the same caps as the pad already has.
7489         Use GST_DEBUG_OBJECT when outputting caps change information.
7490
7491 2006-03-15  Wim Taymans  <wim@fluendo.com>
7492
7493         * gst/gstclock.c: (gst_clock_class_init):
7494         Fix docs.
7495
7496 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
7497
7498         * gst/gstbuffer.h:
7499         Documentation fix.
7500
7501         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
7502         (gst_pad_accept_caps), (gst_pad_configure_sink),
7503         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
7504         Make the default acceptcaps behaviour be to check the requested 
7505         caps against the gst_pad_get_caps output. 
7506
7507         Ensure that gst_pad_accept_caps is used to check caps when a pad
7508         doesn't have a setcaps function, so that pads automatically refuse 
7509         caps that they don't allow in their pad template. (Fixes #332986)
7510
7511         When a buffer with attached caps is pushed, ensure that the source 
7512         pad receives those caps even if the element didn't call
7513         gst_pad_set_caps first.
7514
7515 2006-03-15  Wim Taymans  <wim@fluendo.com>
7516
7517         * libs/gst/base/gstadapter.c:
7518         Add some docs.
7519
7520 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
7521
7522         * win32/common/libgstbase.def:
7523         * win32/common/libgstcontroller.def:
7524         * win32/common/libgstreamer.def:
7525           Add a whole bunch of missing functions (#334434).
7526
7527 2006-03-14  Wim Taymans  <wim@fluendo.com>
7528
7529         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7530         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
7531         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
7532         Better debug info when we receive a segment event.
7533         Reorganize a bit so we can pass the get_times() results around.
7534         Use the segment format when calculating the running time.
7535         Don't do QoS is sync is disabled or we have no clock or the
7536         element does not want us to sync to the clock.
7537         Don't drop buffers if QoS is disabled for now.
7538
7539 2006-03-14  Wim Taymans  <wim@fluendo.com>
7540
7541         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
7542         Marked the stats property as unimplemented so people don't get
7543         wild ideas.
7544         Add debug message when regression goes wrong.
7545         Added some more docs.
7546
7547 2006-03-14  Wim Taymans  <wim@fluendo.com>
7548
7549         * gst/gstsegment.c: (gst_segment_to_stream_time):
7550         Return correct return type in case of errors.
7551
7552 2006-03-14  Wim Taymans  <wim@fluendo.com>
7553
7554         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
7555           Don't segfault on invalid formats.
7556
7557 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7558
7559         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7560           Can't use gst_segment_to_running_time() when the segment
7561           is not in GST_TIME_FORMAT (like with filesink, for example).
7562           Stops flac encoding pipelines from spewing critical warnings
7563           at EOS (#331248).
7564           
7565 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7566
7567         * gst/gstpipeline.c: (gst_pipeline_class_init):
7568           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
7569
7570         * plugins/elements/gsttypefindelement.c:
7571         (gst_type_find_element_handle_event):
7572           Don't try to typefind empty streams.
7573
7574 2006-03-14  Wim Taymans  <wim@fluendo.com>
7575
7576         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
7577         (gst_base_sink_do_qos):
7578         Separate QoS calculation.
7579         Only drop buffers when lateness is bigger than the 
7580         duration of the buffer.
7581
7582 2006-03-13  Wim Taymans  <wim@fluendo.com>
7583
7584         * gst/gstpipeline.c: (gst_pipeline_set_property),
7585         (gst_pipeline_get_property), (do_pipeline_seek),
7586         (gst_pipeline_change_state), (gst_pipeline_set_delay),
7587         (gst_pipeline_get_delay):
7588         Don't deadlock when reading properties.
7589
7590 2006-03-13  Wim Taymans  <wim@fluendo.com>
7591
7592         * libs/gst/base/gstbasetransform.c:
7593         (gst_base_transform_class_init), (gst_base_transform_init),
7594         (gst_base_transform_sink_event),
7595         (gst_base_transform_sink_eventfunc),
7596         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
7597         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7598         (gst_base_transform_set_property),
7599         (gst_base_transform_get_property),
7600         (gst_base_transform_change_state), (gst_base_transform_update_qos),
7601         (gst_base_transform_set_qos_enabled),
7602         (gst_base_transform_is_qos_enabled):
7603         * libs/gst/base/gstbasetransform.h:
7604         Make basetransform virtual method for src events too.
7605         Handle QOS in basetransform.
7606         API: gst_base_transform_update_qos()
7607         API: gst_base_transform_set_qos_enabled()
7608         API: gst_base_transform_is_qos_enabled()
7609
7610 2006-03-13  Wim Taymans  <wim@fluendo.com>
7611
7612         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7613         (gst_base_sink_do_sync):
7614         Small cleanups.
7615         Use QOS debug category.
7616
7617 2006-03-13  Wim Taymans  <wim@fluendo.com>
7618
7619         * plugins/elements/gstqueue.c:
7620         Very small doc update.
7621
7622 2006-03-13  Wim Taymans  <wim@fluendo.com>
7623
7624         * gst/gst_private.h:
7625         * gst/gstinfo.c: (_gst_debug_init):
7626         Added QOS debug category
7627
7628 2006-03-13  Wim Taymans  <wim@fluendo.com>
7629
7630         * docs/gst/gstreamer-sections.txt:
7631         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
7632         * gst/gstbin.h:
7633         * gst/gstbus.c: (gst_bus_class_init):
7634         * gst/gstbus.h:
7635         * gst/gstclock.c:
7636         * gst/gstelement.c: (gst_element_set_locked_state):
7637         * gst/gstsegment.c:
7638         Documentation updates.
7639
7640         * gst/gstpipeline.c: (gst_pipeline_get_type),
7641         (gst_pipeline_class_init), (gst_pipeline_init),
7642         (gst_pipeline_dispose), (gst_pipeline_set_property),
7643         (gst_pipeline_get_property), (do_pipeline_seek),
7644         (gst_pipeline_send_event), (gst_pipeline_change_state),
7645         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
7646         (gst_pipeline_get_delay):
7647         * gst/gstpipeline.h:
7648         Added methods for setting the delay.
7649         API: gst_pipeline_set_delay()
7650         API: gst_pipeline_get_delay()
7651         Add pipeline debug category
7652         Various cleanups.
7653         Updated docs.
7654         Don't reset stream time when seek failed.
7655
7656 2006-03-13  Wim Taymans  <wim@fluendo.com>
7657
7658         * docs/design/draft-klass.txt:
7659         * docs/design/part-clocks.txt:
7660         * docs/design/part-events.txt:
7661         * docs/design/part-gstbin.txt:
7662         * docs/design/part-gstpipeline.txt:
7663         * docs/design/part-messages.txt:
7664         * docs/design/part-negotiation.txt:
7665         * docs/design/part-overview.txt:
7666         * docs/design/part-preroll.txt:
7667         * docs/design/part-seeking.txt:
7668         * docs/design/part-states.txt:
7669         * docs/design/part-streams.txt:
7670         Documentation updates.
7671
7672 2006-03-12  Julien MOUTTE  <julien@moutte.net>
7673
7674         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
7675         us to leak strings...
7676
7677 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7678
7679         * libs/gst/net/gstnettimeprovider.c:
7680           fix docs
7681         * win32/common/config.h:
7682           update
7683
7684 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
7685
7686         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
7687
7688         * configure.ac:
7689           Don't check for libgnomeui (leftover from old examples
7690           that aren't built or disted any longer) (#334303).
7691           
7692 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
7693
7694         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
7695         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7696           Emit RESOURCE_NO_SPACE_LEFT error here as well when
7697           there's no space left on the device.
7698
7699 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
7700
7701         * gst/gstclock.h:
7702           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
7703           to cast the input to GstClockTime before comparing with
7704           another GstClockTime value.
7705
7706 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7707
7708         * configure.ac:
7709           back to trunk
7710
7711 === release 0.10.4 ===
7712
7713 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
7714
7715         * configure.ac:
7716           releasing 0.10.4, "Light"
7717
7718 2006-03-10  Michael Smith  <msmith@fluendo.com>
7719
7720         * libs/gst/dataprotocol/dataprotocol.c:
7721           Fix docs for dataprocotol to not get the return types completely
7722           wrong for a few functions.
7723
7724 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7725
7726         * docs/gst/gstreamer-sections.txt:
7727         * gst/gstpipeline.c: (gst_pipeline_class_init),
7728         (gst_pipeline_init), (gst_pipeline_set_property),
7729         (gst_pipeline_get_property), (gst_pipeline_change_state),
7730         (gst_pipeline_set_auto_flush_bus),
7731         (gst_pipeline_get_auto_flush_bus):
7732         * gst/gstpipeline.h:
7733           Add new API: gst_pipeline_set_auto_flush_bus() and
7734           gst_pipeline_get_auto_flush_bus() to disable automatic
7735           flushing of the pipeline's GstBus when going from READY
7736           to NULL state (#332045).
7737
7738 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7739
7740         * docs/gst/gstreamer-sections.txt:
7741         * gst/gsturi.c: (gst_uri_has_protocol):
7742         * gst/gsturi.h:
7743            Add new API: gst_uri_has_protocol() (#333779).
7744
7745 2006-03-09  Wim Taymans  <wim@fluendo.com>
7746
7747         * gst/gstclock.c: (gst_clock_entry_new),
7748         (gst_clock_id_compare_func), (gst_clock_id_wait),
7749         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
7750         (gst_clock_init), (gst_clock_get_internal_time),
7751         (gst_clock_set_master), (do_linear_regression),
7752         (gst_clock_add_observation), (gst_clock_set_property):
7753         * gst/gstclock.h:
7754         Review docs.
7755         Small cleanups.
7756         Fix a possible segfault when the window-size is made smaller.
7757         Calculate jitter before performing the clock wait. Ideally
7758         the clock implementation should calculate jitter but we need
7759         API breakage for that.
7760
7761         * gst/gstsystemclock.c: (gst_system_clock_init):
7762         Docs review.
7763         
7764         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7765         Remove leftover else
7766
7767         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7768         (gst_systemclock_suite):
7769         Added check to test GST_CLOCK_DIFF.
7770
7771 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7772
7773         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
7774         (gst_type_find_helper_get_range):
7775           If we are provided with the size, we should implement
7776           GstTypeFind::get_length, so that typefind functions who
7777           want to can actually peek at the middle of a file.
7778
7779 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
7780
7781         * docs/manual/advanced-dataaccess.xml:
7782           Add some very very basic error checking.
7783
7784         * docs/pwg/appendix-checklist.xml:
7785           Some updates to the list of things to check when writing an element.
7786
7787 2006-03-08  Wim Taymans  <wim@fluendo.com>
7788
7789         * docs/design/part-element-transform.txt:
7790         Added some docs about the design of tranform elements.
7791
7792         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7793         (gst_base_src_loop), (gst_base_src_change_state):
7794         Mark buffers with the DISCONT flag.
7795
7796 2006-03-08  Michael Smith  <msmith@fluendo.com>
7797
7798         * gst/gstregistry.h:
7799         * gst/gstregistryxml.c: (gst_registry_save),
7800         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
7801         (gst_registry_xml_save_pad_template),
7802         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
7803         (gst_registry_xml_write_cache):
7804           Rewrite registry-saving to avoid race conditions and check for
7805           failed writes.
7806
7807 2006-03-08  Wim Taymans  <wim@fluendo.com>
7808
7809         * libs/gst/base/gstbasetransform.c:
7810         (gst_base_transform_transform_caps),
7811         (gst_base_transform_transform_size),
7812         (gst_base_transform_prepare_output_buffer),
7813         (gst_base_transform_get_unit_size),
7814         (gst_base_transform_buffer_alloc),
7815         (gst_base_transform_handle_buffer),
7816         (gst_base_transform_change_state):
7817         Cleanups, separate normal flow from errors, add sensible
7818         DEBUG lines.
7819         Don't try to renegotiate when allocating an output buffer.
7820         Also copy DISCONT buffer flag when copying a buffer.
7821         Reset the transform after we finish streaming, not during.
7822
7823 2006-03-08  Wim Taymans  <wim@fluendo.com>
7824
7825         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7826         Use last buffer timestamp in qos message.
7827
7828 2006-03-07  Wim Taymans  <wim@fluendo.com>
7829
7830         Patch by: Christophe Fergeau
7831
7832         * docs/pwg/advanced-tagging.xml:
7833         * docs/pwg/building-pads.xml:
7834           fixes #333416
7835
7836 2006-03-07  Wim Taymans  <wim@fluendo.com>
7837
7838         * docs/libs/gstreamer-libs-sections.txt:
7839         Added basesink new methods.
7840
7841         * gst/gstevent.c:
7842         * gst/gstevent.h:
7843         Docs updates. Flesh out the QoS docs.
7844
7845         * libs/gst/base/gstadapter.c:
7846         Small doc clarification about ownership and flushing.
7847
7848         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
7849         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7850         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
7851         (gst_base_sink_get_property), (gst_base_sink_do_sync):
7852         * libs/gst/base/gstbasesink.h:
7853         API additions: 
7854         Added new methods to allow subclass to control max-lateness 
7855         and sync.
7856         Generate very basic QoS events based on last sync observation.
7857         Updated docs, fix typo, added some QoS blurb.
7858
7859         * libs/gst/base/gstbasesrc.c:
7860         Remove obsolete _get_state() calls from docs.
7861
7862 2006-03-07  Wim Taymans  <wim@fluendo.com>
7863
7864         * docs/libs/gstreamer-libs-sections.txt:
7865         * libs/gst/base/gstbasetransform.h:
7866         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
7867         Fix docs for GstBaseSrc.
7868
7869 2006-03-07  Wim Taymans  <wim@fluendo.com>
7870
7871         * docs/gst/gstreamer-sections.txt:
7872         * gst/gstbuffer.h:
7873         * gst/gstvalue.c:
7874         * libs/gst/base/gstbasetransform.h:
7875         Small documentation fixes.
7876
7877 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7878
7879         * gst/gstvalue.c:
7880           Document thread-unsafety of gst_value_register_foo_func()
7881           when used at the same time as gst_value_foo() (#322628).
7882
7883 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7884
7885         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
7886         (gst_push_src_check_get_range):
7887           Push sources don't support pull mode by default.
7888
7889 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
7890
7891         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7892         (gst_base_src_init), (gst_base_src_pad_check_get_range),
7893         (gst_base_src_default_check_get_range):
7894         * libs/gst/base/gstbasesrc.h:
7895           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
7896           provide default implementation, and rename
7897           gst_base_src_check_get_range() to
7898           gst_base_src_pad_check_get_range() for clarity.
7899
7900 2006-03-06  Wim Taymans  <wim@fluendo.com>
7901
7902         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7903         Make property overridable.
7904
7905 2006-03-06  Wim Taymans  <wim@fluendo.com>
7906
7907         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7908         (gst_base_sink_init), (gst_base_sink_set_property),
7909         (gst_base_sink_get_property), (gst_base_sink_do_sync):
7910         * libs/gst/base/gstbasesink.h:
7911         API addition: Make max-lateness a property.
7912
7913 2006-03-06  Wim Taymans  <wim@fluendo.com>
7914
7915         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
7916         (gst_base_sink_do_sync), (gst_base_sink_render_object):
7917         Don't ever draw a frame that is >10ms late.
7918
7919 2006-03-06  Michael Smith  <msmith@fluendo.com>
7920
7921         * gst/gstmessage.c: (_gst_message_copy):
7922           When copying a message, set the parent_refcount of the enclosed
7923           structure to point at the copy, not the original message.
7924
7925 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
7926
7927         Patch by: Christophe Fergeau
7928
7929         * gst/gstutils.h:
7930           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
7931           usable in c++ code (#333417)
7932
7933 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7934
7935         * gst/gstclock.h:
7936           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
7937
7938 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
7939
7940         * libs/gst/base/gstbasetransform.c:
7941         (gst_base_transform_transform_caps):
7942           Make sure caps are writable before passing them to
7943           gst_caps_append().
7944
7945 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
7946
7947         * gst/gsterror.h:
7948           Fix some minor docs errors.
7949
7950 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
7951
7952           Patch by: Ross Burton <ross at burtonini dot com>
7953
7954         * gst/gsterror.c: (_gst_resource_errors_init):
7955         * gst/gsterror.h:
7956           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
7957
7958 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
7959
7960         * gst/gst.c:
7961         Add a check and output a g_warning when GStreamer is built
7962         against GLib 2.6 but running against 2.8 or higher, and vice 
7963         versa. (Closes: #323542)
7964
7965 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
7966
7967         * gst/parse/parse.l:
7968           Commit patch for parse_launch syntax from #331255. Removes 
7969           support for quoted strings and mimetypes when writing filtered 
7970           caps. See the bug report for more details - I'm pretty sure this
7971           obscure feature is not in use by _anyone_ anywhere.
7972
7973           With this simple change, the size of the gstreamer.so here 
7974           drops from 2193KB to 1565KB.
7975
7976 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7977
7978         * plugins/elements/gsttypefindelement.h:
7979         * plugins/elements/gsttypefindelement.c:
7980         (gst_type_find_element_src_event), (start_typefinding),
7981         (stop_typefinding), (gst_type_find_element_handle_event),
7982         (gst_type_find_element_chain),
7983         (gst_type_find_element_chain_do_typefinding):
7984           Use gst_type_find_helper_for_buffer() for chain-based
7985           typefinding.
7986
7987 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
7988
7989         * plugins/elements/gsttypefindelement.c:
7990         (gst_type_find_element_class_init),
7991         (gst_type_find_element_set_property),
7992         (gst_type_find_element_get_property):
7993           Deprecate "maximum" property (not only was it only taken into
7994           account for typefinding in push-mode anyway, it also was never
7995           actually possible to set it in the first place because the
7996           property was registered with the numeric property ID for the
7997           "minimum" property). Register "maximum" property correctly,
7998           for the sake of future copy'n'pasters. Remove some cruft
7999           from property get/set functions.
8000
8001 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8002
8003         * plugins/elements/gsttypefindelement.c:
8004         (gst_type_find_element_activate):
8005           Use gst_type_find_helper_get_range() here, so we
8006           can honour the "minimum" property and also emit
8007           the signal with the correct probability of the found caps.
8008
8009 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
8010
8011         * docs/libs/gstreamer-libs-sections.txt:
8012         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
8013         (helper_find_suggest), (gst_type_find_helper_get_range),
8014         (gst_type_find_helper):
8015         * libs/gst/base/gsttypefindhelper.h:
8016           New API: gst_type_find_helper_get_range() (#333042).
8017
8018 2006-03-02  Michael Smith  <msmith@fluendo.com>
8019
8020         * gst/gstregistryxml.c: (load_feature):
8021           Asserting on a failure to read part of the registry is Not Cool.
8022           Just log a warning and return NULL (which is already handled)
8023
8024 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
8025
8026         * win32/common/libgstbase.def:
8027           added export of gst_type_find_helper_for_buffer
8028         * win32/common/libgstbase.def:
8029           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
8030           gst_ghost_pad_get_target
8031
8032 2006-02-28  Wim Taymans  <wim@fluendo.com>
8033
8034         * docs/design/draft-klass.txt:
8035         We use Filter now.
8036         Added Connector to mark elements that are only used to
8037         allow pipeline connections.
8038         Moved Debug to extra feature since most of them are 
8039         functionally something else.
8040
8041 2006-02-28  Wim Taymans  <wim@fluendo.com>
8042
8043         * docs/design/draft-klass.txt:
8044         Some updates and clarifications.
8045
8046 2006-02-28  Wim Taymans  <wim@fluendo.com>
8047
8048         * docs/design/draft-klass.txt:
8049         Proposal for klass field values.
8050
8051         * docs/design/part-streams.txt:
8052         Start of a doc describing stream anatomy.
8053
8054 2006-02-28  Wim Taymans  <wim@fluendo.com>
8055
8056         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
8057         Help the compiler a bit with type registration.
8058         Use existing forward cod path instead of duplicating it when 
8059         handling a message.
8060         
8061         * gst/gstbus.c: (gst_bus_get_type):
8062         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
8063         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
8064         * gst/gstclock.c: (gst_clock_get_type):
8065         * gst/gstelement.c: (gst_element_get_type),
8066         * gst/gstelementfactory.c: (gst_element_factory_get_type):
8067         * gst/gstindexfactory.c: (gst_index_factory_get_type):
8068         * gst/gstminiobject.c: (gst_mini_object_get_type):
8069         * gst/gstpad.c: (gst_pad_get_type):
8070         * gst/gstsegment.c: (gst_segment_get_type):
8071         * gst/gststructure.c: (gst_structure_get_type):
8072         * gst/gstsystemclock.c: (gst_system_clock_get_type):
8073         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
8074         * gst/gstvalue.c:
8075         Help compiler with type registration.
8076
8077         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8078         Small doc update.
8079
8080 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8081
8082         * plugins/elements/gsttypefindelement.c:
8083         (gst_type_find_element_handle_event):
8084           When we get an EOS event and have not found a type yet
8085           (most likely because we had not yet accumulated
8086           TYPE_FIND_MIN_SIZE of data yet), try to determine the
8087           type given the data we have so far. Fixes typefinding
8088           for very short streams again, most notably quicktime
8089           redirections as used on Apple's trailer site (#331701).
8090
8091 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8092
8093         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
8094         (gst_type_find_helper):
8095           Try typefinding factories with the highest rank first.
8096
8097 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8098
8099         * docs/libs/gstreamer-libs-docs.sgml:
8100         * docs/libs/gstreamer-libs-sections.txt:
8101         * libs/gst/base/gsttypefindhelper.c:
8102           Add section for typefind helper and add documentation
8103           for the old and the new function.
8104
8105 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8106
8107         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
8108         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
8109         (gst_type_find_helper_for_buffer):
8110         * libs/gst/base/gsttypefindhelper.h:
8111           New API: gst_type_find_helper_for_buffer() (#332723).
8112           
8113 2006-02-27  Michael Smith  <msmith@fluendo.com>
8114
8115         Patch by: Loïc Minier
8116
8117         * configure.ac:
8118         * docs/Makefile.am:
8119         * docs/slides/Makefile.am:
8120           prevent CVS directories getting disted.
8121
8122 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8123
8124         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
8125           Use the REFCOUNTING category for caps refcounting.
8126           
8127 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
8128
8129         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
8130           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
8131
8132 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
8133
8134         * plugins/elements/gsttypefindelement.c:
8135         (gst_type_find_element_activate):
8136           Use gst_pad_check_pull_range() before _activate_pull()
8137           to avoid unnecessary open/close (see #331690).
8138
8139 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
8140
8141         * gst/gstutils.c:
8142           Docs enhancement: make it crystal clear what the
8143           gst_pad_add_*_probe() callbacks should look like.
8144
8145 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
8146
8147         * libs/gst/base/gstbasesrc.c:
8148           Document how applications can stop recording from
8149           live sources (see #330996).
8150
8151 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8152
8153         * tests/check/Makefile.am:
8154         * tests/check/libs/basesrc.c: (eos_event_counter),
8155         (basesrc_eos_events_pull), (basesrc_eos_events_push),
8156         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
8157         (gst_basesrc_suite), (main):
8158           ... and add some tests for the base source EOS stuff.
8159
8160 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8161
8162         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
8163           Test case originally showed the problem fixed below,
8164           but was then amended. Add checks back at the place
8165           where they used to be.
8166
8167 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8168
8169         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8170         (gst_base_src_init), (gst_base_src_loop),
8171         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8172         (gst_base_src_change_state):
8173         * libs/gst/base/gstbasesrc.h:
8174           Don't unconditionally send EOS when going from PAUSED to
8175           READY state, esp. make sure we don't send two EOS events
8176           in some cases (e.g. one when reaching EOS and one when
8177           going from PAUSED to READY). Also, we don't want to send
8178           EOS events when operating in pull mode. However, we do
8179           want to send an EOS event when shutting down a live
8180           source explicitly, for example (fixes #330996).
8181           
8182 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8183
8184         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
8185           Update src->read_position after a seek when not using mmap.
8186           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
8187
8188 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
8189
8190         * gst/Makefile.am:
8191         * gst/gstparse.h:
8192         * gst/gstutils.c:
8193         * gst/gstutils.h:
8194         Make things work with --disable-parse as they do with 
8195         --disable-load-save - the symbols involved disappear, but the
8196         header is still installed and GST_DISABLE_PARSE is included via
8197         gstconfig.h
8198
8199 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8200
8201         * libs/gst/base/gstbasetransform.c:
8202         (gst_base_transform_change_state): Fix a stupid bug. I was 
8203         sure I compiled that.
8204
8205 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8206
8207         * gst/gstpad.c: (gst_pad_set_blocked_async):
8208         * gst/gstutils.c: (gst_pad_add_data_probe),
8209         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8210         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8211         (gst_pad_remove_buffer_probe): Make those function act on the
8212         ghostpad target when it's a ghostpad. (Closes #331727)
8213
8214 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8215
8216         * libs/gst/base/gstbasetransform.c:
8217         (gst_base_transform_change_state): Make basetransform reusable.
8218         (Closes #331898)
8219
8220 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
8221
8222         * docs/random/release:
8223         Move the current documentation of how to do a release to the top
8224         of the file.
8225
8226         * gst/gstbin.c: (gst_bin_class_init),
8227         (gst_bin_handle_message_func):
8228         Allow multiple state-recalculation threads. (Closes #328873)
8229
8230 2006-02-19  Julien MOUTTE  <julien@moutte.net>
8231
8232         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
8233         * gst/gstpad.c: (gst_pad_set_event_function),
8234         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8235         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
8236         2 strings. You can't use the STR_NULL macro on that.
8237
8238 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
8239
8240         * gst/gstpad.c: (gst_pad_set_event_function),
8241         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8242         (gst_pad_set_getcaps_function)
8243         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
8244           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
8245           So now, we can use --gst-debug-level=5 on Windows
8246         * win32/common/libgstcontroller.def:
8247           Added export of gst_controller_init
8248         * win32/vs6/libgstcontroller.dsp:
8249           Fixed Release post build configuration
8250
8251 2006-02-17  Wim Taymans  <wim@fluendo.com>
8252
8253         * tests/check/gst/gstquery.c: (GST_START_TEST):
8254         Added another check.
8255
8256 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
8257
8258         * plugins/elements/gsttypefindelement.c: (find_peek):
8259           We can do peeks at non-zero offsets, as long as they
8260           fall within the buffer we have.
8261
8262 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
8263
8264         * tests/check/Makefile.am:
8265         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
8266         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
8267         (parse_suite), (main):
8268           Add testsuite for parse launch syntax
8269
8270 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
8271
8272         * plugins/elements/gsttypefindelement.c:
8273         (gst_type_find_element_chain):
8274           When typefinding is unsuccessful in the chain function, don't
8275           error out immediately. Only error out with NO_CAPS_FOUND if
8276           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
8277           otherwise simply wait for more data so we can try typefinding
8278           again with more data later. Also, don't attempt to typefind
8279           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
8280           this should improve typefinding from network sources where the
8281           size of the first buffer can be somewhat random.
8282
8283 2006-02-14  Wim Taymans  <wim@fluendo.com>
8284
8285         * docs/gst/gstreamer-sections.txt:
8286         * gst/gstpadtemplate.c:
8287         * gst/gstpadtemplate.h:
8288         Fix padtemplate docs, fixes #328805.
8289
8290 2006-02-14  Wim Taymans  <wim@fluendo.com>
8291
8292         * tools/gst-launch.c: (main):
8293         NO_PREROLL is not an ERROR so don't send confusing messages
8294         to the user.
8295
8296 2006-02-14  Wim Taymans  <wim@fluendo.com>
8297
8298         Patch by: Torsten Schoenfeld
8299
8300         * gst/gstregistry.c: (gst_registry_get_default),
8301         (_gst_registry_cleanup):
8302         Protect default registry with lock and ref/sink it.
8303         Fixes #324818
8304
8305 2006-02-14  Wim Taymans  <wim@fluendo.com>
8306
8307         * gst/gstbuffer.c:
8308         * gst/gstquery.c: (gst_query_list_add_format),
8309         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8310         (gst_query_parse_formats_nth):
8311         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8312         Docs fixes.
8313
8314 2006-02-14  Wim Taymans  <wim@fluendo.com>
8315
8316         * docs/gst/gstreamer-sections.txt:
8317         Reworked query docs.
8318
8319         * gst/gstquery.c: (gst_query_new_formats),
8320         (gst_query_list_add_format), (gst_query_set_formats),
8321         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8322         (gst_query_parse_formats_nth):
8323         * gst/gstquery.h:
8324         Flesh out formats query, added some new methods.
8325         Fix part of #324398.
8326
8327         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
8328         Added query creation tests.
8329
8330 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
8331
8332         * gst/gstpad.c: (fixate_value):
8333         Add a default fixation for fraction lists.
8334
8335 2006-02-13  Wim Taymans  <wim@fluendo.com>
8336
8337         * gst/gsttask.c: (gst_task_init), (gst_task_func),
8338         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
8339         (gst_task_join):
8340         * gst/gsttask.h:
8341         Detect and warn for obvious deadlocks. fixes #320340
8342         Fix error case where lock was not released.
8343
8344         * tests/check/Makefile.am:
8345         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
8346         (task_func), (gst_element_suite), (main):
8347         Add task check.
8348
8349 2006-02-13  Wim Taymans  <wim@fluendo.com>
8350
8351         * docs/gst/gstreamer-sections.txt:
8352         * gst/gstbus.c:
8353         Add new functions to docs.
8354
8355 2006-02-13  Wim Taymans  <wim@fluendo.com>
8356
8357         * docs/design/part-TODO.txt:
8358         Updated TODO list, basesrc supports seeking to non-bytes
8359         formats.
8360
8361         * docs/design/part-element-sink.txt:
8362         Update docs.
8363
8364         * gst/gstbin.c: (bin_replace_message),
8365         (gst_bin_handle_message_func):
8366         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
8367         * gst/gstevent.c: (gst_event_finalize):
8368         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8369         (gst_pad_send_event):
8370         Use shiny new _TYPE_NAME macros.
8371
8372         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8373         Move debug statement up.
8374
8375         * gst/gstelement.c: (gst_element_set_locked_state):
8376         Add some debugging.
8377
8378 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
8379
8380         * docs/gst/gstreamer-sections.txt:
8381         * gst/gstmessage.h:
8382         * gst/gstquery.h:
8383           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
8384           macros (#330906). Also, document the already existing
8385           GST_QUERY_TYPE macro.
8386
8387 2006-02-13  Wim Taymans  <wim@fluendo.com>
8388
8389         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
8390         (event_probe), (GST_START_TEST):
8391         Only events up to the pipeline EOS are counted, there are
8392         some more when going to NULL currently which we don't care
8393         about for now.
8394
8395 2006-02-13  Wim Taymans  <wim@fluendo.com>
8396
8397         * gst/gstpad.c: (gst_pad_send_event):
8398         Correctly check flushing and emit probes. fixes #330125
8399
8400 2006-02-10  Andy Wingo  <wingo@pobox.com>
8401
8402         * gst/gstbus.c (gst_bus_class_init): Declare our private data
8403         structure.
8404         (gst_bus_init): Cache the location of the private data in the
8405         instance structure.
8406         (gst_bus_enable_sync_message_emission) 
8407         (gst_bus_disable_sync_message_emission): Implement new public
8408         functions.
8409         (gst_bus_post): Emit the sync-message signal if the user asked for
8410         it. Fixes #330684.
8411
8412         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
8413         location of the bus-private structure.
8414         (gst_bus_enable_sync_message_emission)
8415         (gst_bus_disable_sync_message_emission): API addition
8416
8417 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
8418
8419         Patch by: Vincent Torri
8420
8421         * docs/pwg/building-boiler.xml:
8422         PWG patch from #326800
8423
8424 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
8425
8426         * configure.ac:
8427         * docs/Makefile.am:
8428         * docs/design/Makefile.am:
8429           Dist design docs.
8430
8431 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8432
8433         * configure.ac:
8434           back to CVS
8435
8436 === release 0.10.3 ===
8437
8438 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
8439
8440         * configure.ac:
8441           releasing 0.10.3, "Like a virgin"
8442
8443 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8444
8445         * configure.ac:
8446           2nd prerelease of 0.10.3
8447           Bump libtool versioning.
8448
8449 2006-02-07  Andy Wingo  <wingo@pobox.com>
8450
8451         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
8452         update last_stop if we're in TIME format and the timestamp is
8453         valid.
8454
8455         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
8456         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
8457         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
8458         If we get a new newsegment with a different format, adapt
8459         accordingly.
8460
8461         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
8462         of 0. Not a problem, really.
8463
8464         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
8465         warn if sync=true.
8466
8467 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
8468
8469         * configure.ac:
8470           Prelease of 0.10.3
8471
8472 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
8473
8474         * win32/vs7:
8475           project files updated to the default vs7 configuration
8476         * win32/common/libgstbase.def:
8477         * win32/common/libgstreamer.def:
8478           added new symbols,
8479           removed empty lines,
8480           sorted all exported symbols alphabetically
8481         * win32/common/dirent.c:
8482         * win32/common/dirent.h:
8483         * win32/common/gchar.h:
8484           use windows line end.
8485           
8486 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8487
8488         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8489           Send EOS event when stopping.
8490
8491 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8492
8493         * docs/README:
8494           Tell folks what to do if the plugin-foobar.xml file
8495           hasn't been generated for a newly-added plugin.
8496
8497 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8498
8499         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8500         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8501         (gst_collect_pads_start), (gst_collect_pads_stop),
8502         (gst_collect_pads_event): Collectpads now holds a reference
8503         to the GstPad that was added. Indeed we don't want to look
8504         at pads that might just go away with no warning...
8505
8506 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8507
8508         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8509         (gst_collect_pads_start), (gst_collect_pads_stop),
8510         (gst_collect_pads_event), (gst_collect_pads_chain):
8511         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
8512         Mark Nauwelaerts's patch on bug #328491.
8513
8514 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8515
8516         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
8517         (gst_utils_suite):
8518           Add some simple tests for gst_parse_bin_from_description() and
8519           gst_bin_find_unconnected_pad() (#329069).
8520
8521 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8522
8523         * tools/gst-launch.c: (event_loop), (main):
8524           Catch errors during preroll (#320084).
8525
8526 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
8527
8528         * plugins/elements/gsttypefindelement.c:
8529         (gst_type_find_element_activate):
8530           Post TYPE_NOT_FOUND error message when typefinding
8531           is unsuccessful in the activate function as well.
8532
8533 2006-02-02  Wim Taymans  <wim@fluendo.com>
8534
8535         * docs/design/part-element-sink.txt:
8536         Updated doc.
8537
8538 2006-02-02  Wim Taymans  <wim@fluendo.com>
8539
8540         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8541         (gst_base_sink_render_object),
8542         (gst_base_sink_queue_object_unlocked):
8543         Only keep track of prerollable items when we are 
8544         prerolling.
8545         Before rendering after preroll, always check if we
8546         have queued items.
8547         Added some more debugging.
8548
8549 2006-02-02  Wim Taymans  <wim@fluendo.com>
8550
8551         * gst/gstelement.c: (gst_element_continue_state),
8552         (gst_element_set_state_func), (gst_element_change_state):
8553         Fixed #326576, been running this for quite some time with
8554         no regressions at all.
8555
8556 2006-02-02  Wim Taymans  <wim@fluendo.com>
8557
8558         * common/gst.supp:
8559         Added more suppressions
8560
8561 2006-02-02  Wim Taymans  <wim@fluendo.com>
8562
8563         * docs/design/part-element-sink.txt:
8564         Updated document.
8565
8566         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8567         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
8568         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
8569         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8570         (gst_base_sink_do_sync), (gst_base_sink_render_object),
8571         (gst_base_sink_preroll_object),
8572         (gst_base_sink_queue_object_unlocked),
8573         (gst_base_sink_queue_object), (gst_base_sink_event),
8574         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
8575         (gst_base_sink_loop), (gst_base_sink_activate_pull),
8576         (gst_base_sink_get_position), (gst_base_sink_change_state):
8577         * libs/gst/base/gstbasesink.h:
8578         Totally refactored matching the design doc.
8579         Use two segments, one to clip incomming buffers and another to
8580         perform sync.
8581         Handle queueing correctly, bypass the queue when playing.
8582         Make EOS cancelable.
8583         Handle errors correctly when operating in pull based mode.
8584
8585         * tests/check/elements/fakesink.c: (GST_START_TEST),
8586         (fakesink_suite):
8587         Added new check for sinks.
8588
8589 2006-02-02  Wim Taymans  <wim@fluendo.com>
8590
8591         * gst/gstsegment.c: (gst_segment_clip):
8592         No reason to refuse to clip when start == -1
8593
8594 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
8595
8596         * docs/README:
8597         * docs/manual/intro-basics.xml:
8598         * docs/manual/intro-preface.xml:
8599         * docs/manual/manual.xml:
8600         * docs/pwg/advanced-dparams.xml:
8601         * docs/pwg/intro-basics.xml:
8602         * docs/pwg/intro-preface.xml:
8603         * docs/pwg/pwg.xml:
8604           describe dparams (controller) for plugins
8605           unify docs a little more
8606
8607 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
8608
8609         * docs/gst/gstreamer-sections.txt:
8610         * gst/gstutils.c: (element_find_unconnected_pad),
8611         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
8612         * gst/gstutils.h:
8613           Add new API: gst_parse_bin_from_description() and
8614           gst_bin_find_unconnected_pad() (#329069).
8615
8616 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
8617
8618         * docs/manual/README:
8619           uncover a nasty detail of the docs build
8620
8621 2006-01-31  Wim Taymans  <wim@fluendo.com>
8622
8623         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
8624         Don't cache duration messages if we're not going to use or
8625         free them.
8626
8627 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
8628
8629         * docs/manual/advanced-dparams.xml:
8630         * docs/pwg/advanced-dparams.xml:
8631           more dparam docs
8632         * gst/gstindex.c:
8633           fix docs
8634         * libs/gst/controller/lib.c: (gst_controller_init):
8635           init just once
8636
8637 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8638
8639         * gst/gstelement.c: (gst_element_message_full):
8640           also show file/line/func if no additional debug was given
8641
8642 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
8643         
8644         * win32/vs7/grammar.vcproj:
8645           activate copy of autogenerated files for Release mode
8646
8647 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8648         
8649         * win32/common/libgstreamer.def:
8650           export gst_value_compare
8651
8652 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
8653
8654         * plugins/elements/Makefile.am:
8655         * plugins/elements/gstelements.c:
8656         * plugins/elements/gstfdsink.c: (_do_init),
8657         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
8658         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
8659         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
8660         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
8661         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
8662         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
8663         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
8664         * plugins/elements/gstfdsink.h:
8665         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
8666
8667 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
8668
8669         * docs/manual/advanced-dparams.xml:
8670           describe controller
8671         * docs/manual/advanced-position.xml:
8672         * docs/manual/basics-init.xml:
8673         * docs/manual/manual.xml:
8674         * docs/manual/titlepage.xml:
8675         * docs/pwg/pwg.xml:
8676         * docs/pwg/titlepage.xml:
8677           cleanup xml (more to come)
8678         * libs/gst/controller/gstcontroller.c:
8679           fix typo
8680
8681 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8682         
8683         * win32/vs6/grammar.dsp:
8684           add autogen of gstmarshal.c,h for Release mode
8685                 
8686 2006-01-30  Wim Taymans  <wim@fluendo.com>
8687
8688         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8689         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
8690         (gst_base_sink_handle_object), (gst_base_sink_event),
8691         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
8692         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8693         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
8694         (gst_base_sink_deactivate), (gst_base_sink_activate),
8695         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8696         (gst_base_sink_query), (gst_base_sink_change_state):
8697         Basesink cleanups, remove some old code.
8698         Handle the case where a subclass can preroll in the render
8699         method (mostly audiosinks).
8700         Handle more events.
8701         Remove some locks around variables that are now protected
8702         with the PREROLL_LOCK (clock_id, flushing, ..).
8703         Optimize position query some more, do correct locking.
8704         Remove old code to push queue in state change, this is not
8705         needed anymore since preroll blocks on all prerollable items 
8706         now.
8707         Almost implemented as described in design doc.
8708
8709 2006-01-30  Wim Taymans  <wim@fluendo.com>
8710
8711         * tests/check/gst/gstbin.c: (GST_START_TEST):
8712         Wait for refcount to settle down before checking.
8713
8714 2006-01-30  Wim Taymans  <wim@fluendo.com>
8715
8716         * docs/design/part-element-sink.txt:
8717         Pseudo code overview of desired sink behaviour regarding
8718         preroll.
8719
8720 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8721         * win32/vs6/grammar.dsp:
8722           fix some bugs in Release mode for autogenerated files
8723                 
8724 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8725         * win32/common/libgstbase.def:
8726         * win32/common/libgstreamer.def:
8727           export some new symbols: gst_base_src_set_format,
8728           gst_iterator_next, gst_structure_set_valist
8729
8730 2006-01-29  Julien MOUTTE  <julien@moutte.net>
8731
8732         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
8733         Set pad functions unconditionally. Fixes #329105.
8734
8735 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8736         * win32/vs8:
8737           add vs8 project files created by Sergey Scobich
8738
8739 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
8740
8741         * gst/gstutils.c: (gst_element_unlink_pads):
8742         Don't leak pad references.
8743
8744         * tests/check/elements/fakesink.c: (GST_START_TEST):
8745         * tests/check/generic/sinks.c: (GST_START_TEST):
8746         * tests/check/generic/states.c: (GST_START_TEST):
8747         * tests/check/gst/gstbin.c: (GST_START_TEST):
8748         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8749         * tests/check/gst/gstelement.c: (GST_START_TEST):
8750         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8751         * tests/check/gst/gstiterator.c: (GST_START_TEST):
8752         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8753         Fix a bunch of leaks. Make generic/sinks.c
8754         use a bit less cpu by slowing the buffer rate
8755         between fakesrc and fakesink.
8756         
8757 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
8758         * gst/gstcaps.c:
8759         * gst/gstelement.c: (gst_element_send_event):
8760         * gst/gstevent.c:
8761         * gst/gstinfo.c:
8762         * gst/gstiterator.c:
8763         * gst/gstiterator.h:
8764         * gst/gstpad.c: (gst_pad_send_event):
8765         * gst/gststructure.c:
8766         * gst/gsturi.c:
8767         * gst/gstutils.c:
8768         * gst/gstvalue.c:
8769         * libs/gst/base/gstadapter.c:
8770           doc fixes, to link to function, just write gst_cool_function(), don't
8771           prefix with '#'
8772
8773 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8774
8775         * plugins/elements/gsttee.c: (gst_tee_do_push),
8776         (gst_tee_handle_buffer):
8777         Always prefer an actual return value from a src
8778         pad in place of NOT_LINKED. This means we return
8779         WRONG_STATE when all src pads are WRONG_STATE
8780         instead of NOT_LINKED.
8781
8782         Lock when replacing the last message to prevent
8783         racing with the get_property method.
8784
8785         Add debug output
8786
8787 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8788
8789         * tests/check/Makefile.am:
8790         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
8791         (main):
8792         Add a very simple check that should have caught the memleak I fixed
8793         last night (if not for the slice allocator hiding it)
8794
8795 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8796
8797         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8798         (gst_bin_remove_func), (gst_bin_handle_message_func),
8799         (bin_query_duration_fold), (bin_query_generic_fold):
8800         Clean up references to the clock provider when disposed or when
8801         handling a clock-lost message from it.
8802
8803         Unref sinks when performing a query via gst_iterator_fold, as the
8804         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
8805
8806         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
8807         (gst_clock_set_master):
8808         Drop our reference to the master clock, if any, when we are disposed.
8809
8810         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
8811         Chain up in dispose. 
8812
8813 2006-01-26  Wim Taymans  <wim@fluendo.com>
8814
8815         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8816         Add some debugging.
8817
8818 2006-01-26  Julien MOUTTE  <julien@moutte.net>
8819
8820         * plugins/elements/gsttee.c: (gst_tee_do_push),
8821         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
8822         handles pad being NOT_LINKED or in WRONG_STATE.
8823
8824 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8825
8826         * win32/MANIFEST:
8827           more updating
8828
8829 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8830
8831         * win32/MANIFEST:
8832           remove obsolete entry
8833
8834 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8835
8836         * docs/gst/gstreamer-sections.txt:
8837         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
8838         (gst_bin_iterate_sources), (gst_bin_send_event):
8839         * gst/gstbin.h:
8840         * gst/gstelement.c: (gst_element_send_event):
8841         * gst/gstevent.c:
8842         * gst/gstpad.c: (gst_pad_send_event):
8843           added code for downstream events, reviewed docs in gstevent.c
8844
8845 2006-01-25  Julien MOUTTE  <julien@moutte.net>
8846
8847         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8848         We only query position using the clock in the playing state.
8849         Query peer in the other cases.
8850         * win32/common/config.h: Updates.
8851
8852 2006-01-24  Wim Taymans  <wim@fluendo.com>
8853
8854         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8855         A clock entry that is scheduled for the exact time of the
8856         clock is still in time.
8857
8858         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8859         (gst_base_sink_do_sync):
8860         Add some more debug info.
8861
8862 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
8863
8864         * win32/vs7:
8865           Add new vs7 project files and solution.
8866
8867 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
8868
8869         * win32/vs7:
8870           all files removed as they were out-dated.
8871
8872 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8873
8874         * docs/random/release:
8875           update notes
8876         * gst/gstbin.c: (gst_bin_init):
8877         * gst/gstbus.c: (gst_bus_new):
8878         * gst/gstbus.h:
8879         * gst/gstpipeline.c: (gst_pipeline_init):
8880           use gst_bus_new(), improve logging, fix docs
8881         * win32/common/config.h:
8882           update for cvs build
8883
8884 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8885
8886         * autogen.sh:
8887           up required version of automake to 1.7
8888
8889 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
8890
8891         * win32/common/libgstreamer.def:
8892           export gst_buffer_is_metadata_writable
8893
8894 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
8895
8896         * docs/gst/gstreamer-sections.txt:
8897         * gst/gstevent.h:
8898           Add gst_event_replace() (#327001)
8899
8900 2006-01-20  Wim Taymans  <wim@fluendo.com>
8901
8902         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8903         Make it actually compile too..
8904
8905 2006-01-20  Wim Taymans  <wim@fluendo.com>
8906
8907         * gst/gstcaps.c:
8908         Clarify behaviour of _is_equal() when passing NULL parameters.
8909
8910         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8911         (gst_pad_set_caps):
8912         Cleanups. Don't unref NULL caps.
8913         When setting the same caps, protect caps of the pad with
8914         proper lock.
8915         Use full functionality of _is_equal() when comparing caps.
8916
8917 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
8918
8919         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
8920         Don't loop infinitely if there are no buffers to present. Partially
8921         fixes #327197, but collectpads is just broken for reusing elements
8922         to do multiple encodes atm.
8923
8924 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
8925
8926         * tools/gst-inspect.c: (print_element_features):
8927         * tools/gst-xmlinspect.c: (main):
8928         URL_HANDLER is not a plugin feature we can search for in
8929         the registry.
8930
8931 2006-01-19  Edward Hervey  <edward@fluendo.com>
8932
8933         * gst/gstelement.c: (gst_element_pads_activate): 
8934         When activating, do src pads first, then sink pads.
8935         When de-activating, do sink pads first, then src pads.
8936
8937 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8938
8939         * docs/gst/gstreamer-sections.txt:
8940         Add gst_index_add_associationv to the docs
8941
8942 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8943
8944         * gst/gstevent.c:
8945           Fix docs typo
8946
8947         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
8948         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
8949           Do some refactoring. Doesn't actually change functionality,
8950           but makes landing the DRAIN event easier later.
8951
8952 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
8953
8954         * docs/pwg/advanced-scheduling.xml:
8955           Update from 0.9.x to 0.10 API and make example a bit
8956           clearer.
8957
8958 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8959
8960         * docs/gst/gstreamer-sections.txt:
8961         Add gst_buffer_(is|make)_metadata_writable methods.
8962
8963 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8964
8965         * docs/design/part-sparsestreams.txt:
8966         Update sparse streams doc, hopefully for greater clarity
8967
8968 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
8969
8970         * docs/design/part-events.txt:
8971         Remove mention of FILLER events.
8972         Add DRAIN event.
8973
8974         * docs/design/part-sparsestreams.txt:
8975         Write some things about using NEWSEGMENT to keep sparse streams
8976         flowing.
8977
8978 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
8979
8980         * gst/gstbin.c: (gst_bin_dispose):
8981           Guard gst_object_unref call against a NULL object (dispose
8982           can theoretically be called multiple times).
8983           
8984 2006-01-18  Wim Taymans  <wim@fluendo.com>
8985
8986         * gst/gstbin.c: (gst_bin_element_set_state):
8987         * gst/gstclock.c: (gst_clock_id_wait):
8988         Added some more debug info.
8989
8990         * libs/gst/base/gstadapter.c:
8991         Added more docs.
8992
8993         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8994         (gst_base_sink_do_sync), (gst_base_sink_chain):
8995         Added some comments.
8996
8997 2006-01-18  Wim Taymans  <wim@fluendo.com>
8998
8999         * tests/check/Makefile.am:
9000         * tests/check/elements/fakesink.c: (chain_async_buffer),
9001         (chain_async), (chain_async_return), (GST_START_TEST),
9002         (fakesink_suite), (main):
9003         Added fakesink test that checks prerolling and clipping
9004         behaviour.
9005
9006         * tests/check/gst/gstutils.c: (GST_START_TEST):
9007         Make check run faster so that buildbots don't timeout.
9008
9009 2006-01-18  Wim Taymans  <wim@fluendo.com>
9010
9011         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9012         (gst_base_sink_do_sync):
9013         Some cleanups.
9014         When the sink finishes blocking on the preroll buffer, it can
9015         immediatly render it instead of rendering when the next buffer
9016         arrives.
9017
9018 2006-01-18  Wim Taymans  <wim@fluendo.com>
9019
9020         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
9021         (gst_base_sink_get_property), (gst_base_sink_do_sync),
9022         (gst_base_sink_chain):
9023         Small cleanups.
9024         GST_ELEMENT_CLOCK and sync are protected with LOCK.
9025         Don't store _last_stop if the buffer is dropped.
9026
9027 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
9028
9029         * plugins/elements/gsttypefindelement.c:
9030         (gst_type_find_element_class_init):
9031           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
9032           object method handler that sets the caps on the pad and we want
9033           that to happen before we emit the signal (fixes e.g. feeding a
9034           plain text file to decodebin).
9035
9036 2006-01-18  Christian Schaller  <Christian@fluendo.com>
9037
9038         * gst/gstplugin.c: Add MPL and Proprietary as license options
9039
9040 2006-01-18  Andy Wingo  <wingo@pobox.com>
9041
9042         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
9043         symbol was exported before, it appears this was just an oversight.
9044         Fixes #168703.
9045         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
9046
9047         * gst/gstindex.c (gst_index_add_associationv): Changed int in
9048         prototype to gint. OK since this prototype was not in the header.
9049
9050 2006-01-17  Andy Wingo  <wingo@pobox.com>
9051
9052         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
9053         registry while we remove plugins.
9054
9055         * tools/gst-inspect.c (print_element_info): Don't unref the
9056         factory arg, that should be the responsibility of whatever code
9057         received the ref. Fixes a double-free when called from
9058         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
9059         (main): Unref the factory if we have one.
9060         (print_element_list): No change -- relies on the
9061         plugin_feature_list_free to free the list of features.
9062
9063 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
9064
9065         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
9066         (gst_buffer_make_metadata_writable):
9067         * gst/gstbuffer.h:
9068         * libs/gst/base/gstbasetransform.c:
9069         (gst_base_transform_prepare_output_buf):
9070         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9071         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9072           Replace gst_buffer_(make|is)_metadata_writable patch now
9073           that the release is out.
9074
9075 2006-01-17  Andy Wingo  <wingo@pobox.com>
9076
9077         * gst/gstregistry.c: Reflow design comment. Update so as to speak
9078         in the present tense without reference to versions.
9079
9080         * gst/gstregistry.c (gst_registry_add_plugin)
9081         (gst_registry_remove_plugin, gst_registry_remove_feature)
9082         (gst_registry_find_feature, gst_registry_get_feature_list)
9083         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
9084         (gst_registry_lookup, gst_registry_scan_path)
9085         (_gst_registry_remove_cache_plugins)
9086         (gst_registry_get_feature_list_by_plugin): Add argument
9087         validation.
9088
9089 === release 0.10.2 ===
9090
9091 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
9092
9093         * configure.ac:
9094           releasing 0.10.2, "If man is five"
9095
9096 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9097
9098         * gst/gstbuffer.c:
9099         * gst/gstbuffer.h:
9100         * libs/gst/base/gstbasetransform.c:
9101         (gst_base_transform_prepare_output_buf):
9102         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9103         * tests/check/gst/gstbuffer.c: (gst_test_suite):
9104           Back out patch until after the release.
9105
9106 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9107
9108         * gst/gstminiobject.c:
9109           Spelling fix in docs.
9110         * ChangeLog - remove conflict indicator
9111
9112 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9113
9114         Reviewed By: Andy Wingo
9115
9116         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
9117         (gst_buffer_make_metadata_writable):
9118         * gst/gstbuffer.h:
9119           Add gst_buffer_(is|make)_metadata_writable as analogues of
9120           gst_buffer_(is|make)_writable.
9121
9122         * libs/gst/base/gstbasetransform.c:
9123         (gst_base_transform_prepare_output_buf):
9124         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9125           Use name gst_buffer_(is|make)_metadata_writable functions.
9126
9127         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9128           Test gst_buffer_(is|make)_metadata_writable
9129         
9130           (Closes: #324162)
9131
9132 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9133
9134         * docs/manual/Makefile.am:
9135           don't do parallel make
9136         * configure.ac:
9137           AC_SUBST HOST_CPU
9138         * win32/common/config.h.in:
9139           add generations for HOST_CPU and GST_MAJORMINOR
9140         * win32/common/config.h:
9141           commit generated result
9142
9143 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
9144
9145         * docs/manual/appendix-integration.xml:
9146           Update GNOME integration section to use gst_init_get_option_group()
9147           instead of the old popt stuff (#322911). Also, GNOME applications
9148           should  now use gconf*sink and gconf*src instead of the old gconf
9149           helper lib we had.
9150
9151 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
9152
9153
9154         * docs/gst/gstreamer-docs.sgml:
9155         * docs/gst/gstreamer-sections.txt:
9156         * docs/libs/gstreamer-libs-sections.txt:
9157           add new API entries to the docs
9158         * libs/gst/controller/Makefile.am:
9159         * libs/gst/controller/gstcontroller.c:
9160         * libs/gst/controller/gstcontroller.h:
9161         * libs/gst/controller/gstcontrollerprivate.h:
9162         * libs/gst/controller/gsthelper.c:
9163         * libs/gst/controller/gstinterpolation.c:
9164           move private structs to private header
9165         * po/README:
9166           gstreamer-0.7 -> gstreamer-0.10
9167         * tests/check/libs/struct_i386.h:
9168           remove private structs
9169
9170 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9171
9172         * plugins/indexers/Makefile.am:
9173           Fixes as part of #317048
9174
9175 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9176
9177         * plugins/indexers/Makefile.am:
9178           fix #316086 - compilation when mmap is missing
9179
9180 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
9181
9182         * libs/gst/base/gstbasesink.c:
9183           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
9184           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
9185         * win32/common/config.h:
9186           added some defines GST_MAJORMINOR and HOST_CPU
9187         * win32/common/libgstbase.def:
9188         * win32/common/libgstreamer.def:
9189           added some exported functions.
9190
9191 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
9192
9193         * libs/gst/controller/gstcontroller.c:
9194         (gst_controlled_property_set_interpolation_mode),
9195         (gst_controlled_property_new):
9196         * libs/gst/controller/gstcontroller.h:
9197         * libs/gst/controller/gstinterpolation.c:
9198         (interpolate_none_get_string_value_array):
9199           make G_TYPE_STRING controlable
9200
9201 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
9202
9203         * tools/README:
9204         * tools/gst-feedback.1.in:
9205         * tools/gst-inspect.1.in:
9206         * tools/gst-launch.1.in:
9207         * tools/gst-md5sum.1.in:
9208         * tools/gst-typefind.1.in:
9209         * tools/gst-xmlinspect.1.in:
9210         * tools/gst-xmllaunch.1.in:
9211           cleanup man-pages, remove reference to gst-register, document env-vars
9212
9213 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
9214
9215         * gst/gstbuffer.c: (gst_buffer_span):
9216           gst_buffer_span should copy the timestamp of the first buffer
9217           if they were both originally overlapping subbuffers of the 
9218           same parent, using the same logic as the 'slow copy' case.
9219
9220 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
9221
9222         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
9223           Need to awaken ALL the pads when we pop a buffer, otherwise
9224           collectpads only works when there is 2 input streams.
9225
9226 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
9227
9228         * docs/random/ensonic/media-device-daemon.txt:
9229           more ideas (dbus)
9230         * gst/gstbuffer.c:
9231           fix doc example, add clarification
9232         * tools/gst-launch.1.in:
9233           add initial info about GST_PLUGIN_PATH, needs more work
9234
9235 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
9236
9237         * docs/manual/basics-bins.xml:
9238         * docs/manual/basics-elements.xml:
9239         * docs/manual/intro-basics.xml:
9240           Some more minor docs additions and updates.
9241
9242 2006-01-11  Wim Taymans  <wim@fluendo.com>
9243
9244         * docs/manual/basics-bins.xml:
9245         * docs/manual/basics-elements.xml:
9246         Some small fixes as pointed out by Ser-ver on IRC.
9247
9248 2006-01-10  Edward Hervey  <edward@fluendo.com>
9249
9250         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9251         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
9252         the single-segment mode.
9253
9254 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
9255
9256         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9257
9258         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
9259         (gst_base_src_perform_seek), (gst_base_src_send_event),
9260         (gst_base_src_set_property), (gst_base_src_get_property),
9261         (gst_base_src_loop), (gst_base_src_start),
9262         (gst_base_src_activate_push):
9263         * libs/gst/base/gstbasesrc.h:
9264           Name (private) union; makes Sun's Forte compiler happy (#324900).
9265
9266 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
9267
9268         * README:
9269           gst-register is gone.
9270
9271 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9272
9273         * gst/gstvalue.c: (_gst_value_initialize):
9274           make the G_TYPE_DATE instantiation work if debug is disabled
9275
9276 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
9277
9278         * gst/gstmessage.c: (gst_message_parse_tag),
9279         (gst_message_parse_error), (gst_message_parse_warning):
9280           Don't crash when return location for error/warning debug
9281           string is NULL; add fact that return locations can be
9282           NULL to docs where appropriate.
9283
9284 2006-01-05  Wim Taymans  <wim@fluendo.com>
9285
9286         * gst/gstplugin.c: (gst_plugin_load_file):
9287         Replace strdup by g_strdup.
9288
9289 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9290
9291         * docs/pwg/advanced-types.xml:
9292           fix doc borkage
9293
9294 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9295
9296         submitted by: Abel Cheung
9297
9298         * po/LINGUAS:
9299         * po/zh_TW.po:
9300           Added Chinese (traditional) translation
9301
9302 2006-01-04  Wim Taymans  <wim@fluendo.com>
9303
9304         * docs/manual/basics-pads.xml:
9305         * docs/plugins/Makefile.am:
9306         * docs/plugins/gstreamer-plugins-docs.sgml:
9307         * docs/plugins/gstreamer-plugins-sections.txt:
9308         * docs/pwg/advanced-clock.xml:
9309         * docs/pwg/advanced-scheduling.xml:
9310         * docs/pwg/advanced-types.xml:
9311         * plugins/elements/gstfdsink.c:
9312         * plugins/elements/gstfdsrc.c:
9313         * plugins/elements/gstfdsrc.h:
9314         * plugins/elements/gstidentity.c: (gst_identity_class_init):
9315         * plugins/elements/gstidentity.h:
9316         * plugins/elements/gstqueue.h:
9317         * plugins/elements/gsttee.c:
9318         * plugins/elements/gsttee.h:
9319         * plugins/elements/gsttypefindelement.c:
9320         (gst_type_find_element_class_init):
9321         * plugins/elements/gsttypefindelement.h:
9322         Small updates to various docs.
9323         Added core plugins to docs.
9324
9325 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9326
9327         * common/gst.supp:
9328           add a suppression for liboil's uninitialized variable
9329
9330 2006-01-02  James Livingston  <jrl at ids dot org dot au>
9331
9332         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9333
9334         * gst/gstutils.h:
9335           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
9336           macro, so that gcc doesn't complain if the -Wmissing-prototypes
9337           compiler switch is being used (#325429).
9338
9339 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
9340
9341         * gst/gstbin.c: (gst_bin_query):
9342           Disable duration query caching in bins until it gets
9343           fixed (see #324807).
9344
9345 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9346
9347         * tools/gst-inspect.c: (print_element_properties_info):
9348           Handle properties of POINTER and BOXED type.
9349
9350 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9351
9352         * gst/gst.c: (init_post):
9353           Init tags stuff and some other things before loading
9354           any static plugins (there may be other static plugins
9355           than just the GStreamer ones, and they may want to
9356           register their own tags or formats or whatever, and
9357           preferably without segfaulting).
9358
9359         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
9360           Print at least a warning in the debug logs if we drop a
9361           query just because we don't know how to adjust the value
9362           in the particular format.
9363
9364 2005-12-24  David Schleef  <ds@schleef.org>
9365
9366         * tools/gstreamer-completion:
9367           Replacement for gst-complete written in sh and sed.  Only
9368           completes names of features, but that's 90% of what I want
9369           it for.  Properties are not available in registry.xml.  (Maybe
9370           they should be...)
9371
9372 === release 0.10.1 ===
9373
9374 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
9375
9376         * configure.ac:
9377           releasing 0.10.1, "Nollaig chridheil"
9378
9379 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
9380
9381         * docs/faq/cvs.xml:
9382           Add missing quote, should be make ERROR_CFLAGS="".
9383
9384 2005-12-20  Wim Taymans  <wim@fluendo.com>
9385
9386         * docs/design/part-trickmodes.txt:
9387         More documentation on trickmodes.
9388
9389 2005-12-20  Edward Hervey  <edward@fluendo.com>
9390
9391         * gst/gstcaps.c: (gst_static_caps_get_type):
9392         * gst/gstcaps.h:
9393           API addition: GST_TYPE_STATIC_CAPS
9394         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
9395         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
9396         * gst/gstpadtemplate.h:
9397           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
9398         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
9399         bindings.
9400
9401 2005-12-18  Wim Taymans  <wim@fluendo.com>
9402
9403         * libs/gst/base/gstadapter.c:
9404         * libs/gst/base/gstadapter.h:
9405         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9406         (gst_base_sink_get_position):
9407         * libs/gst/base/gstbasesink.h:
9408         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9409         (gst_base_src_default_query), (gst_base_src_default_do_seek),
9410         (gst_base_src_do_seek), (gst_base_src_perform_seek),
9411         (gst_base_src_send_event), (gst_base_src_update_length),
9412         (gst_base_src_get_range), (gst_base_src_loop),
9413         (gst_base_src_start):
9414         * libs/gst/base/gstbasesrc.h:
9415         * libs/gst/base/gstbasetransform.h:
9416         * libs/gst/base/gstcollectpads.h:
9417         * libs/gst/base/gstpushsrc.c:
9418         * libs/gst/base/gstpushsrc.h:
9419         * libs/gst/dataprotocol/dataprotocol.c:
9420         * libs/gst/dataprotocol/dataprotocol.h:
9421         * libs/gst/net/gstnetclientclock.h:
9422         * libs/gst/net/gstnettimeprovider.h:
9423         Documentation updates.
9424
9425 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
9426
9427         * docs/manual/basics-helloworld.xml:
9428           Remove superfluous closing bracket in helloworld example.
9429
9430 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
9431
9432         * tools/gst-launch.1.in:
9433           Update gst-launch man page; add a section with useful
9434           environment variables. Fixes #323882.
9435
9436 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
9437
9438         * gst/gst.c:
9439         * gst/gst_private.h:
9440           change some char* into char[]
9441
9442 2005-12-16  Wim Taymans  <wim@fluendo.com>
9443
9444         * gst/gstregistryxml.c: (load_feature):
9445         Cleanups.
9446         Don't use g_object_unref on GstObjects so that we avoid
9447         leaks on unsafe glibs.
9448
9449 2005-12-16  Wim Taymans  <wim@fluendo.com>
9450
9451         * gst/gstbin.c: (gst_bin_recalc_state):
9452         Small doc updates.
9453
9454 2005-12-16  Wim Taymans  <wim@fluendo.com>
9455
9456         * common/check.mak:
9457         Added make forever target for check.
9458
9459 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9460
9461         * gst/gst.c: (init_post):
9462           make the registry cache file HOST_CPU-dependent
9463
9464 2005-12-16  Andy Wingo  <wingo@pobox.com>
9465
9466         * plugins/elements/gstbufferstore.c
9467         (gst_buffer_store_cleared_func): Pay attention to g_list_append
9468         return value.
9469
9470         * tests/check/gst/gstobject.c
9471         (test_fake_object_name_threaded_unique): Pay attention to
9472         g_list_sort return value.
9473
9474 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9475
9476         * tools/gst-feedback-m.m:
9477           Update for 0.9/0.10 (fixes #323870).
9478
9479 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
9480
9481         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
9482           Fix lcopy for mini objects, the mini object needs to be ref'ed.
9483           
9484         * tests/check/gst/gstminiobject.c: (my_foo_init),
9485         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
9486         (test_value_collection), (gst_mini_object_suite):
9487           Add test to ensure refcounts end up as expected when passing
9488           GstMiniObjects through g_object_get() and g_object_set().
9489
9490 2005-12-14  Julien MOUTTE  <julien@moutte.net>
9491
9492         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9493         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
9494         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
9495         of collectpads. This version removes a lot of races without
9496         touching API/ABI. Yay !
9497
9498 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
9499
9500         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
9501           Don't allow activation of a srcpad in pull_range if it has no
9502           getrange function.
9503           Change some debug statements to be a little clearer
9504
9505         * plugins/elements/gsttypefindelement.c:
9506         (gst_type_find_handle_src_query):
9507           Check that we have a peer before executing queries thereupon.
9508
9509         * tests/examples/metadata/read-metadata.c: (message_loop):
9510           Use gst_bus_pop instead of gst_bus_poll when we just want it to
9511           immediately return us any available message with 0 timeout.
9512
9513 2005-12-12  Michael Smith  <msmith@fluendo.com>
9514
9515         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9516           Don't unref factories after calling them.
9517         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
9518         * plugins/elements/gsttypefindelement.c:
9519         (gst_type_find_element_chain):
9520           Free lists of factories after using them. Fixing typefinding memory
9521           leaks.
9522
9523 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9524
9525         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
9526         (gst_plugin_feature_load):
9527           more meaningful debug output
9528         * configure.ac:
9529         * tests/Makefile.am:
9530         * tests/old/examples/Makefile.am:
9531           make make distcheck happy again
9532
9533 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9534
9535         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9536           Catch the special case where we are operating chain-based,
9537           but the downstream peer pad has no chain function. Emit a
9538           custom error message in this case instead of letting the
9539           core generate one implying that this is some sort of core
9540           bug. It's not, it just means that whatever got plugged
9541           into the pipeline downstream when we announced the type
9542           can only operate pull-based, while our source can only
9543           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
9544           Error string has not been marked for translation yet, as
9545           it probably needs some more work first.
9546
9547         (gst_type_find_element_get_best_possibility):
9548           Add helper function to find the best of all available
9549           found possibilities that qualify given the min. threshold.
9550
9551         (gst_type_find_element_handle_event):
9552           Fix the case where we get an EOS while still in TYPEFIND
9553           mode (we want to chose the best of all possible types,
9554           not just the first type that happens to be in our unsorted
9555           list of possible types).
9556
9557         (gst_type_find_element_chain):
9558           Make sure we return GST_FLOW_ERROR when we errored out
9559           in stop_typefinding(); also, don't just find the best of
9560           all found type entries and then use the last examined
9561           type entry, but actually use the best entry.
9562
9563 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9564
9565         * tests/examples/typefind/typefind.c: (type_found):
9566         * tests/examples/xml/runxml.c: (xml_loaded):
9567           More gcc4 fixes and a mem leak fix.
9568
9569 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9570
9571         * tests/examples/xml/createxml.c: (object_saved):
9572           gcc 4 fixes
9573
9574 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9575
9576         * tests/Makefile.am:
9577           enable the examples even more
9578
9579 2005-12-12  Andy Wingo  <wingo@pobox.com>
9580
9581         * libs/gst/net/gstnettimeprovider.c
9582         (gst_net_time_provider_class_init, gst_net_time_provider_init)
9583         (gst_net_time_provider_set_property)
9584         (gst_net_time_provider_get_property):
9585         API addition: Export "active" as a GObject property.
9586         (gst_net_time_provider_thread): Only respond to time queries if
9587         the time provider is active.
9588
9589         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
9590         NetTimeProvider, preserving binary compat.
9591
9592 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9593
9594         * tests/examples/controller/audio-example.c: (main):
9595         * tests/examples/launch/Makefile.am:
9596           convert comments again
9597
9598 2005-12-12  Wim Taymans  <wim@fluendo.com>
9599
9600         * libs/gst/base/gstpushsrc.c:
9601         Fix typo.
9602
9603 2005-12-12  Wim Taymans  <wim@fluendo.com>
9604
9605         * docs/libs/gstreamer-libs-sections.txt:
9606         Added new symbol to docs.
9607
9608         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9609         (gst_base_src_init), (gst_base_src_set_format),
9610         (gst_base_src_default_query), (gst_base_src_query),
9611         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
9612         (gst_base_src_perform_seek), (gst_base_src_send_event),
9613         (gst_base_src_default_event), (gst_base_src_event_handler),
9614         (gst_base_src_set_property), (gst_base_src_get_property),
9615         (gst_base_src_wait), (gst_base_src_do_sync),
9616         (gst_base_src_update_length), (gst_base_src_get_range),
9617         (gst_base_src_check_get_range), (gst_base_src_loop),
9618         (gst_base_src_default_negotiate), (gst_base_src_start),
9619         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9620         (gst_base_src_change_state):
9621         * libs/gst/base/gstbasesrc.h:
9622         Implement seeking to other formats than _BYTES.
9623         Implement more seeking methods correctly.
9624         Doc updates.
9625         Added query vmethod.
9626         Added do_seek vmethod to make life easier for subclasses
9627         when seeking.
9628         API addition: gst_base_src_set_format()
9629
9630 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9631
9632         * tests/examples/Makefile.am:
9633           added that too
9634
9635 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9636
9637         * configure.ac:
9638         * docs/random/ensonic/media-device-daemon.txt:
9639         * tests/examples/controller/.cvsignore:
9640         * tests/examples/controller/Makefile.am:
9641         * tests/examples/controller/audio-example.c: (main):
9642         * tests/examples/helloworld/.cvsignore:
9643         * tests/examples/helloworld/Makefile.am:
9644         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
9645         * tests/examples/launch/.cvsignore:
9646         * tests/examples/launch/Makefile.am:
9647         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
9648         * tests/examples/metadata/.cvsignore:
9649         * tests/examples/metadata/Makefile.am:
9650         * tests/examples/metadata/read-metadata.c: (message_loop),
9651         (make_pipeline), (print_tag), (main):
9652         * tests/examples/queue/.cvsignore:
9653         * tests/examples/queue/Makefile.am:
9654         * tests/examples/queue/queue.c: (event_loop), (main):
9655         * tests/examples/typefind/.cvsignore:
9656         * tests/examples/typefind/Makefile.am:
9657         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
9658         (main):
9659         * tests/examples/xml/.cvsignore:
9660         * tests/examples/xml/Makefile.am:
9661         * tests/examples/xml/createxml.c: (object_saved), (main):
9662         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
9663         * tests/old/examples/Makefile.am:
9664         * tests/old/examples/TODO:
9665         * tests/old/examples/controller/.cvsignore:
9666         * tests/old/examples/controller/Makefile.am:
9667         * tests/old/examples/controller/audio-example.c:
9668         * tests/old/examples/helloworld/.cvsignore:
9669         * tests/old/examples/helloworld/Makefile.am:
9670         * tests/old/examples/helloworld/helloworld.c:
9671         * tests/old/examples/launch/.cvsignore:
9672         * tests/old/examples/launch/Makefile.am:
9673         * tests/old/examples/launch/mp3parselaunch.c:
9674         * tests/old/examples/launch/mp3play:
9675         * tests/old/examples/manual/Makefile.am:
9676         * tests/old/examples/metadata/Makefile.am:
9677         * tests/old/examples/metadata/read-metadata.c:
9678         * tests/old/examples/queue/.cvsignore:
9679         * tests/old/examples/queue/Makefile.am:
9680         * tests/old/examples/queue/queue.c:
9681         * tests/old/examples/typefind/.cvsignore:
9682         * tests/old/examples/typefind/Makefile.am:
9683         * tests/old/examples/typefind/typefind.c:
9684         * tests/old/examples/xml/.cvsignore:
9685         * tests/old/examples/xml/Makefile.am:
9686         * tests/old/examples/xml/createxml.c:
9687         * tests/old/examples/xml/runxml.c:
9688           applied some simple fixing to some examples
9689           re-enabled the working examples
9690
9691 2005-12-12  Wim Taymans  <wim@fluendo.com>
9692
9693         * gst/gstsegment.c: (gst_segment_init),
9694         (gst_segment_set_last_stop), (gst_segment_set_seek),
9695         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
9696         (gst_segment_to_running_time):
9697         Added more documentation.
9698         Make sure the last_pos value is updated properly.
9699         Make sure to_stream_time and to_running_time don't
9700         operate on wrong values.
9701
9702         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9703         Update check.
9704
9705 2005-12-12  Michael Smith  <msmith@fluendo.com>
9706
9707         * plugins/elements/gsttypefindelement.c: (free_entry),
9708         (gst_type_find_element_chain):
9709           Now that we're not leaking factories, make sure we keep references
9710           to them while we need them.
9711
9712 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9713
9714         * tests/check/gst/struct_i386.h:
9715           ifdef out the XML structs
9716
9717 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9718
9719         * gst/gstvalue.c: (gst_value_transform_double_fraction):
9720           floor is not needed, F is always positive; this obviates the
9721           need for adding -lm when building without libxml
9722
9723 2005-12-12  Wim Taymans  <wim@fluendo.com>
9724
9725         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9726         Take current playback rate into account when reporting
9727         the position.
9728
9729 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9730
9731         * docs/manual/mime-world.fig:
9732           Let's try this again, this time with a file that is
9733           actually in XFig format.
9734
9735 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9736
9737         * docs/manual/mime-world.fig:
9738           Add audioconvert element to diagram so that it
9739           matches the text and the code (fixes #319526).
9740
9741 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9742
9743         * docs/pwg/building-chainfn.xml:
9744         * docs/pwg/building-pads.xml:
9745         * docs/pwg/building-state.xml:
9746         * docs/pwg/other-source.xml:
9747           Update state change stuff for 0.10 (fixes #322969).
9748
9749 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9750
9751         * docs/manual/advanced-dataaccess.xml:
9752         * docs/manual/appendix-checklist.xml:
9753         * docs/manual/appendix-programs.xml:
9754         * docs/manual/basics-pads.xml:
9755         * docs/manual/highlevel-components.xml:
9756         * docs/manual/manual.xml:
9757           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
9758           add converters in front of pipelines; remove curly
9759           brackets for threads stuff, they no longer exist; use
9760           GST_TYPE_FRACTION for framerates; update some pieces of
9761           code to 0.10, but there's plenty more to do.
9762
9763         * docs/manual/appendix-porting.xml:
9764           Expand on asynchroneous state changes; s/0.9/0.10/;
9765           mention disappearance of gst_init_get_popt_table()
9766           (fixes #322916).
9767
9768 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9769
9770         * docs/faq/using.xml:
9771           Spider no longer exists, and neither does gst-launch-ext.
9772           Update examples to use decodebin and playbin and put
9773           converters in front of sinks (fixes #323726).
9774
9775 2005-12-09  Michael Smith  <msmith@fluendo.com>
9776
9777         * plugins/elements/gsttypefindelement.c: (find_peek),
9778         (gst_type_find_element_chain):
9779           Fix leaking element factories in typefinding.
9780           Fix problem where we forgot about a probable type on non-seekable
9781           files, and thus later mis-typefound it.
9782
9783 2005-12-09  Michael Smith  <msmith@fluendo.com>
9784
9785         * common/m4/gst-makecontext.m4:
9786         * common/m4/gst-mcsc.m4:
9787         * configure.ac:
9788         * win32/common/config.h:
9789         * win32/common/config.h.in:
9790           Remove makecontext stuff; not used in 0.10 and causes problems on
9791           HPUX according to bug #322441
9792
9793 2005-12-07  Wim Taymans  <wim@fluendo.com>
9794
9795         * tests/check/Makefile.am:
9796         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
9797         (main):
9798         * tests/check/libs/struct_i386.h:
9799         Added ABI check for libs
9800
9801 2005-12-07  Wim Taymans  <wim@fluendo.com>
9802
9803         * tests/check/Makefile.am:
9804         And add the struct_i386.h to dist.
9805
9806 2005-12-07  Wim Taymans  <wim@fluendo.com>
9807
9808         * tests/check/Makefile.am:
9809         * tests/check/gst/.cvsignore:
9810         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
9811         (main):
9812         * tests/check/gst/struct_i386.h:
9813         Added check for ABI compatibility.
9814
9815 2005-12-07  Wim Taymans  <wim@fluendo.com>
9816
9817         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9818         (gst_fake_src_get_times), (gst_fake_src_create):
9819         Fix broken sync option, fixes #323259
9820
9821 2005-12-07  Wim Taymans  <wim@fluendo.com>
9822
9823         * gst/gstbuffer.c:
9824         Small docs update.
9825
9826         * gst/gstcaps.c: (gst_caps_is_equal):
9827         Don't assert on NULL <--> X. Fixes #323260
9828
9829         * gst/gstminiobject.c: (gst_mini_object_replace):
9830         If we're doing atomic operations, we might just as well use
9831         the proper way to get an atomic pointer.
9832
9833         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9834         Clean up debugging.
9835
9836 2005-12-07  Michael Smith  <msmith@fluendo.com>
9837
9838         * gst/parse/grammar.y:
9839           Remove handling of { } for threads.
9840
9841 2005-12-06  David Schleef  <ds@schleef.org>
9842
9843         * libs/gst/base/gstbasetransform.c: speling fix.
9844
9845 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9846
9847         * docs/libs/tmpl/gstdataprotocol.sgml:
9848         * docs/random/omega/testing/gstobject.c:
9849         * gst/gst.c:
9850         * gst/gstclock.c:
9851         * gst/gstelement.c:
9852         * gst/gstelementfactory.c:
9853         * gst/gsterror.c:
9854         * gst/gstevent.c:
9855         * gst/gstghostpad.c:
9856         * gst/gstinfo.c:
9857         * gst/gstpadtemplate.c:
9858         * gst/gstregistryxml.c:
9859         * gst/gsttaglist.c:
9860         * gst/gsttagsetter.c:
9861         * gst/gsttypefind.c:
9862         * gst/gstvalue.c:
9863         * libs/gst/base/gstbasesrc.c:
9864         * libs/gst/net/gstnetclientclock.c:
9865         * libs/gst/net/gstnettimeprovider.c:
9866         * plugins/elements/gstfakesrc.c:
9867         * plugins/elements/gstfdsrc.c:
9868         * plugins/elements/gstfilesrc.c:
9869         * plugins/elements/gstidentity.c:
9870         * plugins/elements/gstqueue.c:
9871         * plugins/elements/gsttypefindelement.c:
9872         * plugins/indexers/gstfileindex.c:
9873         * plugins/indexers/gstmemindex.c:
9874         * tests/check/gst/gsttag.c:
9875         * tests/old/examples/cutter/cutter.c:
9876         * tests/old/examples/mixer/mixer.c:
9877         * tests/old/examples/xml/runxml.c: (main):
9878         * tests/old/testsuite/caps/normalisation.c:
9879         * tests/old/testsuite/debug/global.c:
9880         * tests/old/testsuite/parse/parse1.c:
9881         * tools/gst-xmlinspect.c:
9882         * win32/common/dirent.c:
9883           expand tabs
9884
9885 === release 0.10.0 ===
9886
9887 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9888
9889         * configure.ac:
9890           releasing 0.10.0, "Maroilles"
9891
9892 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9893
9894         submitted by: Funda Wang <fundawang@linux.net.cn>
9895
9896         * po/LINGUAS:
9897         * po/zh_CN.po:
9898           added Chinese (Traditional) translation
9899
9900 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9901
9902         * docs/gst/gstreamer-sections.txt:
9903         * docs/libs/tmpl/gstdataprotocol.sgml:
9904         * docs/random/thomasvs/TODO:
9905         * gst/gstutils.c:
9906         * gst/gstutils.h:
9907           fix docs
9908
9909 2005-12-05  Andy Wingo  <wingo@pobox.com>
9910
9911         patch by: Wim Taymans <wim@fluendo.com>
9912
9913         * libs/gst/base/gstbasetransform.c
9914         (gst_base_transform_prepare_output_buf)
9915         (gst_base_transform_buffer_alloc):
9916         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
9917         alloc_buffer_and_set_caps.
9918
9919         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
9920         set_caps on the source pad.
9921         (gst_pad_alloc_buffer_and_set_caps): New function, does what
9922         alloc_buffer used to do. Fixes #322874.
9923
9924         * docs/gst/gstreamer-sections.txt: 
9925         * docs/design/part-negotiation.txt: 
9926         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
9927         changes.
9928
9929 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9930
9931         patch by: Sebastien Moutte
9932
9933         * win32/MANIFEST:
9934         * win32/common/config.h.in:
9935         * win32/vs6/libgstcontroller.dsp:
9936           win32 build fixes
9937
9938 2005-12-05  Wim Taymans  <wim@fluendo.com>
9939
9940         * gst/gstcaps.c: (gst_caps_is_equal):
9941         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9942         (gst_fake_src_create):
9943         Back out previous code changes, leave doc updates, file bugs 
9944         instead. 
9945
9946 2005-12-05  Wim Taymans  <wim@fluendo.com>
9947
9948         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9949         (gst_fake_src_get_times), (gst_fake_src_create):
9950         * plugins/elements/gstfakesrc.h:
9951         Fix broken sync code.
9952
9953 2005-12-05  Wim Taymans  <wim@fluendo.com>
9954
9955         * gst/gstcaps.c: (gst_caps_is_equal):
9956         Comparing NULL against !NULL yields different caps, not a
9957         failure.
9958
9959 2005-12-05  Wim Taymans  <wim@fluendo.com>
9960
9961         * gst/gstpipeline.c:
9962         Fix small typo in docs.
9963
9964 2005-12-05  Andy Wingo  <wingo@pobox.com>
9965
9966         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
9967
9968         * gst/gst.c (init_post): remove hard-coded 0.9 location for
9969         registries/plugins with a MAJORMINOR one.
9970         (plugin_desc): Rename library from gstcoreleements to
9971         staticelements. Fixes #323222.
9972
9973 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
9974
9975         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
9976           Change debug category to 'collectpads' from 'collect_pads'
9977           (fixes #323250).
9978
9979 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9980
9981         patch by: Sebastien Moutte
9982
9983         * libs/gst/controller/gstinterpolation.c:
9984           use convert function for uint64/double
9985         * win32/vs6/libgstcontroller.dsp:
9986           link to GLib
9987
9988 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
9989
9990         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
9991         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
9992         * gst/gstutils.h:
9993         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
9994           add tests that seem to show that the guint64/gdouble conversions
9995           are correct.
9996
9997 2005-12-02  Wim Taymans  <wim@fluendo.com>
9998
9999         * gst/gstregistry.c: (gst_registry_add_path):
10000         * gst/gstregistry.h:
10001         * gst/gstregistryxml.c:
10002         Fix docs again.
10003
10004 2005-12-02  Wim Taymans  <wim@fluendo.com>
10005
10006         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10007         (gst_util_uint64_scale_int):
10008         Small cleanup.
10009
10010         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10011         Add debug log line.
10012
10013         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
10014         Add FIXME.
10015
10016 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10017
10018         * win32/MANIFEST:
10019         * win32/common/config.h:
10020         * win32/vs6/gstreamer.dsw:
10021         * win32/vs6/libgstcoreelements.dsp:
10022         * win32/vs6/libgstelements.dsp:
10023           renamed core elements plugin
10024
10025 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10026
10027         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
10028         (get_candidates):
10029           do piece-wise major/minor comparison so 0.9 < 0.10
10030           also allow .exe extensions for tools
10031
10032 2005-12-02  Michael Smith  <msmith@fluendo.com>
10033
10034         * gst/gst.c:
10035           Escape a % to make gtkdoc happier; bug 322958.
10036
10037 === release 0.9.7 ===
10038
10039 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10040
10041         * configure.ac:
10042           releasing 0.9.7, "My Dog Has No Nose"
10043
10044 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10045
10046         * common/gst-xmlinspect.py:
10047         * configure.ac:
10048         * docs/libs/tmpl/gstdataprotocol.sgml:
10049         * docs/random/release:
10050         * po/af.po:
10051         * po/az.po:
10052         * po/bg.po:
10053         * po/ca.po:
10054         * po/cs.po:
10055         * po/de.po:
10056         * po/en_GB.po:
10057         * po/fr.po:
10058         * po/it.po:
10059         * po/nb.po:
10060         * po/nl.po:
10061         * po/ru.po:
10062         * po/sq.po:
10063         * po/sr.po:
10064         * po/sv.po:
10065         * po/tr.po:
10066         * po/uk.po:
10067         * po/vi.po:
10068         * win32/common/config.h:
10069         * win32/common/config.h.in:
10070         * win32/vs6/gst_inspect.dsp:
10071         * win32/vs6/gst_launch.dsp:
10072         * win32/vs6/libgstbase.dsp:
10073         * win32/vs6/libgstelements.dsp:
10074         * win32/vs6/libgstreamer.dsp:
10075         * win32/vs7/GStreamer.vcproj:
10076         * win32/vs7/gst-inspect.vcproj:
10077         * win32/vs7/gst-launch.vcproj:
10078         * win32/vs7/libgstbase.vcproj:
10079           bump GST_MAJORMINOR to 0.10
10080           reset libtool version
10081
10082 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10083
10084         * po/LINGUAS:
10085         * po/bg.po:
10086           Added Bulgarian translation by (Alexander Shopov)
10087
10088 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10089
10090         * tests/check/gst/gstplugin.c:
10091           fix test
10092
10093 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10094
10095         * common/gst-xmlinspect.py:
10096         * common/gtk-doc-plugins.mak:
10097         * configure.ac:
10098         * docs/Makefile.am:
10099         * docs/gst/Makefile.am:
10100         * docs/gst/gstreamer-docs.sgml:
10101         * docs/gst/gstreamer-sections.txt:
10102         * docs/gst/gstreamer.types:
10103         * docs/gst/gstreamer.types.in:
10104         * docs/plugins/Makefile.am:
10105         * docs/plugins/gstreamer-plugins-docs.sgml:
10106         * docs/plugins/gstreamer-plugins-sections.txt:
10107         * docs/plugins/gstreamer-plugins.types:
10108         * docs/plugins/inspect.stamp:
10109         * docs/plugins/inspect/plugin-coreelements.xml:
10110         * docs/plugins/inspect/plugin-coreindexers.xml:
10111         * docs/plugins/scanobj-build.stamp:
10112         * gstreamer.spec.in:
10113         * plugins/elements/Makefile.am:
10114         * plugins/elements/gstelements.c:
10115         * plugins/elements/gstfakesink.c:
10116         * plugins/elements/gstfakesrc.c:
10117         * plugins/elements/gstfilesink.c:
10118         * plugins/elements/gstfilesrc.c:
10119         * plugins/elements/gstqueue.c:
10120         * plugins/indexers/Makefile.am:
10121         * plugins/indexers/gstindexers.c:
10122           document core plugins in a separate document just like all the
10123           others
10124           rename these plugins to something starting with core
10125
10126 2005-12-01  Andy Wingo  <wingo@pobox.com>
10127
10128         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
10129         padding here before, but it missed the commit.
10130
10131 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10132
10133         * libs/gst/controller/gstinterpolation.c:
10134           whitespace prices have crashed, we should feel free to use some now
10135           use gst_guint64_to_gdouble
10136
10137 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10138
10139         * libs/gst/controller/gstcontroller.c:
10140         * libs/gst/controller/gsthelper.c:
10141         * libs/gst/controller/gstinterpolation.c:
10142         * libs/gst/controller/lib.c:
10143           wrap config.h include
10144
10145 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10146
10147         * docs/gst/gstreamer-sections.txt:
10148           update docs
10149
10150 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10151
10152         * plugins/elements/gstelements.c:
10153         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
10154         (gst_fd_sink__class_init), (gst_fd_sink__init),
10155         (gst_fd_sink__chain), (gst_fd_sink__set_property),
10156         (gst_fd_sink__get_property):
10157         * plugins/elements/gstfdsink.h:
10158         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
10159         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
10160         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
10161         (gst_fd_src_unlock), (gst_fd_src_set_property),
10162         (gst_fd_src_get_property), (gst_fd_src_create),
10163         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
10164         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
10165         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
10166         (gst_fd_src_uri_handler_init):
10167         * plugins/elements/gstfdsrc.h:
10168         * plugins/elements/gstqueue.c: (gst_queue_get_type):
10169           more anal cleanup
10170
10171 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10172
10173         * docs/gst/Makefile.am:
10174         * docs/gst/gstreamer.types.in:
10175         * gst/Makefile.am:
10176           fix the docs build
10177
10178 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10179
10180         * configure.ac:
10181         * gst/Makefile.am:
10182         * gst/gst.c:
10183         * gst/gstplugin.h:
10184         * gst/gstregistry.h:
10185         * tests/benchmarks/complexity.c:
10186         * tests/benchmarks/mass-elements.c:
10187         * tests/check/Makefile.am:
10188         * tools/Makefile.am:
10189         * tools/gst-inspect.c:
10190         * tools/gst-xmlinspect.c:
10191           various fixes to make
10192           --disable-nls --disable-registry --disable-loadsave
10193           --disable-parse --disable-gst-debug
10194           work and get the core .so down to 360444 bytes after stripping
10195
10196 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10197
10198         * Makefile.am:
10199         * configure.ac:
10200           descend into tests
10201         * docs/random/thomasvs/TODO:
10202         * tests/Makefile.am:
10203         * tests/README:
10204           add a README
10205
10206 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10207
10208         * win32/GStreamer.vcproj:
10209         * win32/MANIFEST:
10210         * win32/Makefile:
10211         * win32/Makefile.inspect:
10212         * win32/Makefile.launch:
10213         * win32/Makefile.register:
10214         * win32/README.txt:
10215         * win32/gst-inspect.vcproj:
10216         * win32/gst-launch.vcproj:
10217         * win32/gst-register.vcproj:
10218         * win32/gstelements.vcproj:
10219         * win32/gstgetbits.def:
10220         * win32/gstgetbits.vcproj:
10221         * win32/gstreamer-dbg.def:
10222         * win32/gstreamer.def:
10223         * win32/libgstbase.def:
10224         * win32/libgstbase.vcproj:
10225         * win32/link_oldruntime.c:
10226         * win32/mman.c:
10227         * win32/mman.h:
10228         * win32/mman.inl:
10229         * win32/msvc71.sln:
10230           move even more stuff, win32/ is nice and clean now
10231
10232 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10233
10234         * libs/gst/control/.cvsignore:
10235         * win32/MANIFEST:
10236         * win32/config.h:
10237         * win32/dirent.c:
10238         * win32/dirent.h:
10239         * win32/gstbytestream.def:
10240         * win32/gstbytestream.vcproj:
10241         * win32/gstconfig.h:
10242         * win32/gstenumtypes.c:
10243         * win32/gstenumtypes.h:
10244         * win32/gstoptimalscheduler.vcproj:
10245         * win32/gstversion.h:
10246         * win32/gtchar.h:
10247         * win32/testsuite/bins.vcproj:
10248         * win32/testsuite/bytestream.vcproj:
10249         * win32/testsuite/caps.vcproj:
10250         * win32/testsuite/cleanup.vcproj:
10251         * win32/testsuite/clock.vcproj:
10252         * win32/testsuite/debug.vcproj:
10253         * win32/testsuite/dlopen.vcproj:
10254         * win32/testsuite/dynparams.vcproj:
10255         * win32/testsuite/elements.vcproj:
10256         * win32/testsuite/ghostpads.vcproj:
10257         * win32/testsuite/indexers.vcproj:
10258         * win32/testsuite/negotiation.vcproj:
10259         * win32/testsuite/parse.vcproj:
10260         * win32/testsuite/plugin.vcproj:
10261         * win32/testsuite/refcounting.vcproj:
10262         * win32/testsuite/schedulers.vcproj:
10263         * win32/testsuite/states.vcproj:
10264         * win32/testsuite/tags.vcproj:
10265         * win32/testsuite/threads.vcproj:
10266           remove old win32 stuff that isn't maintained and should be
10267           reorganized
10268
10269 2005-11-30  Andy Wingo  <wingo@pobox.com>
10270
10271         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
10272         loading the gst.interfaces python module bork.
10273
10274         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
10275         available since GLib 2.2. Fixes #318031.
10276
10277 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10278
10279         * Makefile.am:
10280         * check/.cvsignore:
10281         * check/Makefile.am:
10282         * check/elements/.cvsignore:
10283         * check/elements/fakesrc.c:
10284         * check/elements/fdsrc.c:
10285         * check/elements/identity.c:
10286         * check/generic/.cvsignore:
10287         * check/generic/states.c:
10288         * check/gst-libs/.cvsignore:
10289         * check/gst-libs/controller.c:
10290         * check/gst-libs/gdp.c:
10291         * check/gst/.cvsignore:
10292         * check/gst/capslist.h:
10293         * check/gst/gst.c:
10294         * check/gst/gstbin.c:
10295         * check/gst/gstbuffer.c:
10296         * check/gst/gstbus.c:
10297         * check/gst/gstcaps.c:
10298         * check/gst/gstelement.c:
10299         * check/gst/gstevent.c:
10300         * check/gst/gstghostpad.c:
10301         * check/gst/gstiterator.c:
10302         * check/gst/gstmessage.c:
10303         * check/gst/gstminiobject.c:
10304         * check/gst/gstobject.c:
10305         * check/gst/gstpad.c:
10306         * check/gst/gstpipeline.c:
10307         * check/gst/gstplugin.c:
10308         * check/gst/gstsegment.c:
10309         * check/gst/gststructure.c:
10310         * check/gst/gstsystemclock.c:
10311         * check/gst/gsttag.c:
10312         * check/gst/gstutils.c:
10313         * check/gst/gstvalue.c:
10314         * check/net/.cvsignore:
10315         * check/net/gstnetclientclock.c:
10316         * check/net/gstnettimeprovider.c:
10317         * check/pipelines/.cvsignore:
10318         * check/pipelines/cleanup.c:
10319         * check/pipelines/simple_launch_lines.c:
10320         * check/pipelines/stress.c:
10321         * check/states/.cvsignore:
10322         * check/states/sinks.c:
10323         * configure.ac:
10324         * examples/Makefile.am:
10325         * examples/appreader/.cvsignore:
10326         * examples/appreader/Makefile.am:
10327         * examples/appreader/appreader.c:
10328         * examples/controller/.cvsignore:
10329         * examples/controller/Makefile.am:
10330         * examples/controller/audio-example.c:
10331         * examples/cutter/.cvsignore:
10332         * examples/cutter/Makefile.am:
10333         * examples/cutter/cutter.c:
10334         * examples/cutter/cutter.h:
10335         * examples/events/Makefile.am:
10336         * examples/events/seek.c:
10337         * examples/helloworld/.cvsignore:
10338         * examples/helloworld/Makefile.am:
10339         * examples/helloworld/helloworld.c:
10340         * examples/helloworld2/.cvsignore:
10341         * examples/helloworld2/Makefile.am:
10342         * examples/helloworld2/helloworld2.c:
10343         * examples/launch/.cvsignore:
10344         * examples/launch/Makefile.am:
10345         * examples/launch/mp3parselaunch.c:
10346         * examples/launch/mp3play:
10347         * examples/manual/.cvsignore:
10348         * examples/manual/Makefile.am:
10349         * examples/manual/extract.pl:
10350         * examples/metadata/Makefile.am:
10351         * examples/metadata/read-metadata.c:
10352         * examples/mixer/.cvsignore:
10353         * examples/mixer/Makefile.am:
10354         * examples/mixer/mixer.c:
10355         * examples/mixer/mixer.h:
10356         * examples/pingpong/.cvsignore:
10357         * examples/pingpong/Makefile.am:
10358         * examples/pingpong/pingpong.c:
10359         * examples/plugins/.cvsignore:
10360         * examples/plugins/Makefile.am:
10361         * examples/plugins/example.c:
10362         * examples/plugins/example.h:
10363         * examples/pwg/.cvsignore:
10364         * examples/pwg/Makefile.am:
10365         * examples/pwg/extract.pl:
10366         * examples/queue/.cvsignore:
10367         * examples/queue/Makefile.am:
10368         * examples/queue/queue.c:
10369         * examples/queue2/.cvsignore:
10370         * examples/queue2/Makefile.am:
10371         * examples/queue2/queue2.c:
10372         * examples/queue3/.cvsignore:
10373         * examples/queue3/Makefile.am:
10374         * examples/queue3/queue3.c:
10375         * examples/queue4/.cvsignore:
10376         * examples/queue4/Makefile.am:
10377         * examples/queue4/queue4.c:
10378         * examples/retag/.cvsignore:
10379         * examples/retag/Makefile.am:
10380         * examples/retag/retag.c:
10381         * examples/retag/transcode.c:
10382         * examples/thread/.cvsignore:
10383         * examples/thread/Makefile.am:
10384         * examples/thread/thread.c:
10385         * examples/typefind/.cvsignore:
10386         * examples/typefind/Makefile.am:
10387         * examples/typefind/typefind.c:
10388         * examples/xml/.cvsignore:
10389         * examples/xml/Makefile.am:
10390         * examples/xml/createxml.c:
10391         * examples/xml/runxml.c:
10392         * tests/Makefile.am:
10393         * tests/check/Makefile.am:
10394         * testsuite/.cvsignore:
10395         * testsuite/Makefile.am:
10396         * testsuite/Rules:
10397         * testsuite/caps/.cvsignore:
10398         * testsuite/caps/Makefile.am:
10399         * testsuite/caps/app_fixate.c:
10400         * testsuite/caps/audioscale.c:
10401         * testsuite/caps/caps.c:
10402         * testsuite/caps/caps.h:
10403         * testsuite/caps/caps_strings:
10404         * testsuite/caps/compatibility.c:
10405         * testsuite/caps/deserialize.c:
10406         * testsuite/caps/enumcaps.c:
10407         * testsuite/caps/eratosthenes.c:
10408         * testsuite/caps/filtercaps.c:
10409         * testsuite/caps/fixed.c:
10410         * testsuite/caps/fraction-convert.c:
10411         * testsuite/caps/fraction-multiply-and-zero.c:
10412         * testsuite/caps/intersect2.c:
10413         * testsuite/caps/intersection.c:
10414         * testsuite/caps/normalisation.c:
10415         * testsuite/caps/random.c:
10416         * testsuite/caps/renegotiate.c:
10417         * testsuite/caps/sets.c:
10418         * testsuite/caps/simplify.c:
10419         * testsuite/caps/string-conversions.c:
10420         * testsuite/caps/structure.c:
10421         * testsuite/caps/subtract.c:
10422         * testsuite/caps/union.c:
10423         * testsuite/debug/.cvsignore:
10424         * testsuite/debug/Makefile.am:
10425         * testsuite/debug/category.c:
10426         * testsuite/debug/commandline.c:
10427         * testsuite/debug/global.c:
10428         * testsuite/debug/output.c:
10429         * testsuite/debug/printf_extension.c:
10430         * testsuite/dlopen/.cvsignore:
10431         * testsuite/dlopen/Makefile.am:
10432         * testsuite/dlopen/dlopen_gst.c:
10433         * testsuite/dlopen/loadgst.c:
10434         * testsuite/elements/.cvsignore:
10435         * testsuite/elements/Makefile.am:
10436         * testsuite/elements/gst-inspect-check.in:
10437         * testsuite/elements/struct_i386.h:
10438         * testsuite/elements/struct_size.c:
10439         * testsuite/indexers/.cvsignore:
10440         * testsuite/indexers/Makefile.am:
10441         * testsuite/indexers/cache1.c:
10442         * testsuite/indexers/indexdump.c:
10443         * testsuite/parse/.cvsignore:
10444         * testsuite/parse/Makefile.am:
10445         * testsuite/parse/parse1.c:
10446         * testsuite/parse/parse2.c:
10447         * testsuite/plugin/.cvsignore:
10448         * testsuite/plugin/Makefile.am:
10449         * testsuite/plugin/README:
10450         * testsuite/plugin/dynamic.c:
10451         * testsuite/plugin/linked.c:
10452         * testsuite/plugin/loading.c:
10453         * testsuite/plugin/registry.c:
10454         * testsuite/plugin/static.c:
10455         * testsuite/plugin/static2.c:
10456         * testsuite/plugin/testplugin.c:
10457         * testsuite/plugin/testplugin2.c:
10458         * testsuite/plugin/testplugin2_s.c:
10459         * testsuite/plugin/testplugin_s.c:
10460         * testsuite/refcounting/.cvsignore:
10461         * testsuite/refcounting/Makefile.am:
10462         * testsuite/refcounting/bin.c:
10463         * testsuite/refcounting/element.c:
10464         * testsuite/refcounting/element_pad.c:
10465         * testsuite/refcounting/mainloop.c:
10466         * testsuite/refcounting/mem.c:
10467         * testsuite/refcounting/mem.h:
10468         * testsuite/refcounting/object.c:
10469         * testsuite/refcounting/pad.c:
10470         * testsuite/refcounting/sched.c:
10471         * testsuite/refcounting/thread.c:
10472         * testsuite/states/.cvsignore:
10473         * testsuite/states/Makefile.am:
10474         * testsuite/states/bin.c:
10475         * testsuite/states/locked.c:
10476         * testsuite/states/parent.c:
10477         * testsuite/threads/.cvsignore:
10478         * testsuite/threads/159566.c:
10479         * testsuite/threads/159852.c:
10480         * testsuite/threads/Makefile.am:
10481         * testsuite/threads/queue.c:
10482         * testsuite/threads/signals.c:
10483         * testsuite/threads/staticrec.c:
10484         * testsuite/threads/thread.c:
10485         * testsuite/threads/threadb.c:
10486         * testsuite/threads/threadc.c:
10487         * testsuite/threads/threadd.c:
10488         * testsuite/threads/threade.c:
10489         * testsuite/threads/threadf.c:
10490         * testsuite/threads/threadg.c:
10491         * testsuite/threads/threadh.c:
10492         * testsuite/threads/threadi.c:
10493           move all of these under tests
10494
10495 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10496
10497         * configure.ac:
10498         * tests/Makefile.am:
10499           fix distcheck
10500
10501 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10502
10503         * docs/gst/gstreamer-sections.txt:
10504         * tests/sched/.cvsignore:
10505         * tests/sched/Makefile.am:
10506         * tests/sched/cases/(fs-fs).xml:
10507         * tests/sched/cases/(fs-i-fs).xml:
10508         * tests/sched/cases/(fs-i-i-fs).xml:
10509         * tests/sched/cases/(fs-i-q[i-fs]).xml:
10510         * tests/sched/dynamic-pipeline.c:
10511         * tests/sched/interrupt1.c:
10512         * tests/sched/interrupt2.c:
10513         * tests/sched/interrupt3.c:
10514         * tests/sched/runtestcases:
10515         * tests/sched/runxml.c:
10516         * tests/sched/sched-stress.c:
10517         * tests/sched/sort.c:
10518         * tests/sched/testcases:
10519         * tests/sched/testcases1.tc:
10520         * tests/seeking/.cvsignore:
10521         * tests/seeking/Makefile.am:
10522         * tests/seeking/seeking1.c:
10523         * tests/threadstate/.cvsignore:
10524         * tests/threadstate/Makefile.am:
10525         * tests/threadstate/test1.c:
10526         * tests/threadstate/test2.c:
10527         * tests/threadstate/threadstate1.c:
10528         * tests/threadstate/threadstate2.c:
10529         * tests/threadstate/threadstate3.c:
10530         * tests/threadstate/threadstate4.c:
10531         * tests/threadstate/threadstate5.c:
10532           remove obsolete tests
10533         * configure.ac:
10534         * tests/bench-complexity.scm:
10535         * tests/bench-mass_elements.scm:
10536         * tests/complexity.c:
10537         * tests/complexity.gnuplot:
10538         * tests/instantiate/.cvsignore:
10539         * tests/instantiate/Makefile.am:
10540         * tests/instantiate/caps.c:
10541         * tests/mass_elements.c:
10542         * tests/network-clock-utils.scm:
10543         * tests/network-clock.scm:
10544         * tests/plot-data:
10545         First pass at cleaning up tests/ dir before moving the rest
10546         Combined with CVS surgery
10547
10548 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10549
10550         * po/POTFILES.in:
10551           queue has moved, update
10552
10553 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10554
10555         * docs/gst/gstreamer-sections.txt:
10556           remove double entries from the docs
10557         * gst/gst_private.h:
10558         * gst/gstinfo.c: (_gst_debug_init):
10559           remove the THREAD debug category
10560         * gst/Makefile.am:
10561         * gst/gstqueue.c:
10562         * gst/gstqueue.h:
10563         * docs/gst/gstreamer.types:
10564         * plugins/elements/gstqueue.c: (gst_queue_get_type),
10565         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
10566           completely move queue and fix up debugging categories
10567
10568 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10569
10570         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10571           make initialization portable, using LL is not
10572
10573 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10574
10575         * win32/common/gstconfig.h:
10576           add large padding
10577
10578 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10579
10580         * win32/common/libgstreamer.def:
10581           rename symbols; sort base section
10582
10583 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10584
10585         * gst/gstclock.c: (do_linear_regression):
10586           remove crack non-portable handrolled DEBUG macro
10587
10588 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10589
10590         * docs/random/release:
10591           update notes
10592         * win32/common/gstenumtypes.c: (register_gst_object_flags),
10593         (gst_object_flags_get_type), (register_gst_bin_flags),
10594         (gst_bin_flags_get_type), (register_gst_buffer_flag),
10595         (gst_buffer_flag_get_type), (register_gst_bus_flags),
10596         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10597         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
10598         (gst_caps_flags_get_type), (register_gst_clock_return),
10599         (gst_clock_return_get_type), (register_gst_clock_entry_type),
10600         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10601         (gst_clock_flags_get_type), (register_gst_state),
10602         (gst_state_get_type), (register_gst_state_change_return),
10603         (gst_state_change_return_get_type), (register_gst_state_change),
10604         (gst_state_change_get_type), (register_gst_element_flags),
10605         (gst_element_flags_get_type), (register_gst_core_error),
10606         (gst_core_error_get_type), (register_gst_library_error),
10607         (gst_library_error_get_type), (register_gst_resource_error),
10608         (gst_resource_error_get_type), (register_gst_stream_error),
10609         (gst_stream_error_get_type), (register_gst_event_type_flags),
10610         (gst_event_type_flags_get_type), (register_gst_event_type),
10611         (gst_event_type_get_type), (register_gst_seek_type),
10612         (gst_seek_type_get_type), (register_gst_seek_flags),
10613         (gst_seek_flags_get_type), (register_gst_format),
10614         (gst_format_get_type), (register_gst_index_certainty),
10615         (gst_index_certainty_get_type), (register_gst_index_entry_type),
10616         (gst_index_entry_type_get_type),
10617         (register_gst_index_lookup_method),
10618         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10619         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10620         (gst_index_resolver_method_get_type), (register_gst_index_flags),
10621         (gst_index_flags_get_type), (register_gst_debug_level),
10622         (gst_debug_level_get_type), (register_gst_debug_color_flags),
10623         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10624         (gst_iterator_result_get_type), (register_gst_iterator_item),
10625         (gst_iterator_item_get_type), (register_gst_message_type),
10626         (gst_message_type_get_type), (register_gst_mini_object_flags),
10627         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10628         (gst_pad_link_return_get_type), (register_gst_flow_return),
10629         (gst_flow_return_get_type), (register_gst_activate_mode),
10630         (gst_activate_mode_get_type), (register_gst_pad_direction),
10631         (gst_pad_direction_get_type), (register_gst_pad_flags),
10632         (gst_pad_flags_get_type), (register_gst_pad_presence),
10633         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10634         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10635         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10636         (gst_plugin_error_get_type), (register_gst_plugin_flags),
10637         (gst_plugin_flags_get_type), (register_gst_rank),
10638         (gst_rank_get_type), (register_gst_query_type),
10639         (gst_query_type_get_type), (register_gst_tag_merge_mode),
10640         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10641         (gst_tag_flag_get_type), (register_gst_task_state),
10642         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10643         (gst_alloc_trace_flags_get_type),
10644         (register_gst_type_find_probability),
10645         (gst_type_find_probability_get_type), (register_gst_uri_type),
10646         (gst_uri_type_get_type), (register_gst_parse_error),
10647         (gst_parse_error_get_type):
10648         * win32/common/gstenumtypes.h:
10649         * win32/common/gstversion.h:
10650           update visual studio generated files
10651
10652 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10653
10654         * win32/vs6/libgstbase.dsp:
10655         * win32/vs6/libgstelements.dsp:
10656           update project files for new locations
10657
10658 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10659
10660         * Makefile.am:
10661           remove some files
10662         * README:
10663           reinstate and update
10664         * DEVEL:
10665         * REQUIREMENTS:
10666           removed
10667         * LICENSE:
10668         * docs/random/LICENSE:
10669           moved to random
10670
10671 2005-11-30  Edward Hervey  <edward@fluendo.com>
10672
10673         * gst/gsttypefind.c: (gst_type_find_register):
10674         * gst/gsttypefind.h:
10675         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
10676         (gst_type_find_factory_dispose):
10677         * gst/gsttypefindfactory.h:
10678         Fix memory leak in GstTypeFindFactory.
10679
10680 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10681
10682         * gst/gst.c:
10683         * plugins/elements/Makefile.am:
10684         * plugins/elements/gstelements.c:
10685         * plugins/elements/gstqueue.c:
10686           move queue from core to the elements plugin
10687
10688 2005-11-29  Andy Wingo  <wingo@pobox.com>
10689
10690         * libs/gst/base/gstbasetransform.h: 
10691         * libs/gst/base/gstbasesrc.h: 
10692         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
10693
10694         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
10695         of pointers by which to pad very extensible base classes (like the
10696         ones in libs/gst/base).
10697
10698 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10699
10700         * docs/gst/gstreamer-docs.sgml:
10701         * docs/gst/gstreamer-sections.txt:
10702         * docs/libs/gstreamer-libs-docs.sgml:
10703         * docs/libs/gstreamer-libs-sections.txt:
10704           moving documentation from core to lib
10705
10706 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10707
10708         * check/Makefile.am:
10709         * configure.ac:
10710         * docs/gst/Makefile.am:
10711         * gst/Makefile.am:
10712         * gst/base/.cvsignore:
10713         * gst/base/Makefile.am:
10714         * gst/base/README:
10715         * gst/base/gstadapter.c:
10716         * gst/base/gstadapter.h:
10717         * gst/base/gstbasesink.c:
10718         * gst/base/gstbasesink.h:
10719         * gst/base/gstbasesrc.c:
10720         * gst/base/gstbasesrc.h:
10721         * gst/base/gstbasetransform.c:
10722         * gst/base/gstbasetransform.h:
10723         * gst/base/gstcollectpads.c:
10724         * gst/base/gstcollectpads.h:
10725         * gst/base/gstpushsrc.c:
10726         * gst/base/gstpushsrc.h:
10727         * gst/base/gsttypefindhelper.c:
10728         * gst/base/gsttypefindhelper.h:
10729         * gst/check/Makefile.am:
10730         * gst/check/gstcheck.c:
10731         * gst/check/gstcheck.h:
10732         * gst/net/Makefile.am:
10733         * gst/net/gstnet.h:
10734         * gst/net/gstnetclientclock.c:
10735         * gst/net/gstnetclientclock.h:
10736         * gst/net/gstnettimepacket.c:
10737         * gst/net/gstnettimepacket.h:
10738         * gst/net/gstnettimeprovider.c:
10739         * gst/net/gstnettimeprovider.h:
10740         * libs/gst/Makefile.am:
10741         * libs/gst/base/Makefile.am:
10742         * libs/gst/base/gstbasetransform.c:
10743         * libs/gst/check/Makefile.am:
10744         * plugins/elements/Makefile.am:
10745         * po/POTFILES.in:
10746           CVS surgery + support to move base, check, and net out of gst
10747           and into libs/gst
10748
10749 2005-11-29  Andy Wingo  <wingo@pobox.com>
10750
10751         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
10752
10753         * gst/gststructure.h (struct _GstStructure): Only one pointer of
10754         padding.
10755
10756         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
10757
10758         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
10759
10760         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
10761
10762         * gst/gstobject.h: (struct _GstObject): Only one pointer of
10763         padding; reduces object size by about 30%. We don't expect
10764         anything else to go into gstobject.
10765
10766         * gst/gstminiobject.h (struct _GstMiniObject)
10767         (struct _GstMiniObjectClass): Only one pointer of padding; the
10768         payload is only a pointer and two ints anyway. For the class there
10769         are only two methods as well.
10770         
10771         * gst/gstelement.h (struct _GstElementClass): Removed
10772         the state_changed signal callback, it is not used.
10773
10774 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10775
10776         * docs/gst/gstreamer.types:
10777           fix includes, though they are a little dinky
10778
10779 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10780
10781         * check/Makefile.am:
10782           look in the right place for elements, a lot more chance of
10783           success
10784         * gst/Makefile.am:
10785           remove indexers and elements subdirs
10786         * plugins/Makefile.am:
10787           make indexers conditional
10788
10789 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10790
10791         * Makefile.am:
10792         * configure.ac:
10793         * plugins/elements/Makefile.am:
10794         * plugins/elements/gstcapsfilter.c:
10795         * plugins/elements/gstfilesink.c:
10796         * plugins/elements/gstfilesrc.c:
10797         * plugins/elements/gstidentity.c:
10798         * plugins/indexers/Makefile.am:
10799           do CVS surgery and related build fixery to move elements
10800           and indexers in a new gstreamer/plugins directory, out of the
10801           gst/ directory
10802
10803 2005-11-29  Andy Wingo  <wingo@pobox.com>
10804
10805         * check/Makefile.am:
10806         * pkgconfig/gstreamer-net-uninstalled.pc.in:
10807         * pkgconfig/gstreamer-net.pc.in:
10808         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
10809         #322257.
10810
10811 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10812
10813         * tools/Makefile.am:
10814         * tools/gst-complete.1.in:
10815         * tools/gst-complete.c:
10816         * tools/gst-compprep.1.in:
10817         * tools/gst-compprep.c:
10818           removing -compprep and -complete
10819
10820 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10821
10822         * gst/gstevent.c: (gst_event_new_new_segment),
10823         (gst_event_parse_new_segment):
10824         * gst/gstevent.h:
10825           fix #320529 - clean up new_segment API and structure.
10826           Let's hope everyone was using the methods, and not the structure.
10827
10828 2005-11-29  Edward Hervey  <edward@fluendo.com>
10829
10830         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10831         (gst_base_sink_event), (gst_base_sink_do_sync),
10832         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10833         Properly handle non GST_FORMAT_TIME segment
10834         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
10835         Properly handle non GST_FORMAT_TIME segment
10836         * gst/gstsegment.c:
10837         This function is valid if the accumulator is 0 and the format
10838         is different from the requested format.
10839         
10840 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10841
10842         * docs/gst/gstreamer-sections.txt:
10843         Add gst_query_new_seeking and gst_query_parse_seeking to the
10844         docs.
10845
10846 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10847
10848         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10849           Treat a pad alloc with new caps the same as if we were not
10850           negotiated, in order to allow a changing upstream output
10851           to produce a new format of data.
10852
10853 2005-11-29  Edward Hervey  <edward@fluendo.com>
10854
10855         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10856         (gst_base_transform_event), (gst_base_transform_eventfunc):
10857         The event virtual method is now properly implemented, with a default
10858         handler
10859         Sub classes should call the parent_class event method. They should
10860         return FALSE if they had a problem handling the given event, or don't
10861         want GstBaseTransform to send that even downstream
10862         * gst/elements/gstidentity.c: (gst_identity_class_init),
10863         (gst_identity_init), (gst_identity_event),
10864         (gst_identity_transform_ip), (gst_identity_set_property),
10865         (gst_identity_get_property):
10866         * gst/elements/gstidentity.h:
10867         Added the single-segment boolean property.
10868         If set to TRUE, it will output a single segment of data, starting from
10869         0, will eat up all incoming newsegment, and modify the timestamp of the
10870         buffers accordingly
10871
10872 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
10873
10874         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
10875           Don't ref NULL target pad (#322751). Improve docs.
10876
10877 2005-11-29  Michael Smith  <msmith@fluendo.com>
10878
10879         * gst/gstregistryxml.c: (load_plugin):
10880           Don't crash if we failed to load a feature from a plugin. 
10881
10882 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10883
10884         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
10885         (GST_START_TEST):
10886           use more check API and less GLib API
10887
10888 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10889
10890         * Makefile.am:
10891           don't run checks if we don't have check
10892         * common/check.mak:
10893           remove the registry when running make torture
10894         * docs/gst/gstreamer-sections.txt:
10895           remove second multiply
10896         * gst/gstqueue.c: (gst_queue_loop):
10897           fix a compile warning when disabling debug
10898
10899 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10900
10901         * gst/gstinfo.h:
10902         Hey! Let's print the pad name if the pointer != NULL instead
10903         of when it == NULL :-)
10904
10905 2005-11-28  Wim Taymans  <wim@fluendo.com>
10906
10907         * check/gst/gstutils.c: (GST_START_TEST):
10908         Updated check, add some scaling accuracy checking code.
10909
10910         * gst/gstutils.c: (gst_util_div128_64),
10911         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
10912         (gst_util_uint64_scale_int):
10913         Fix 6 times faster division code. Optimize for common 
10914         1/1 and less common X/1 cases.
10915
10916 2005-11-28  Wim Taymans  <wim@fluendo.com>
10917
10918         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10919         More checks.
10920
10921         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
10922         (do_linear_regression), (gst_clock_add_observation):
10923         Cleanups.
10924         Release lock when the clock cannot be slaved.
10925         Catch the case where the regression returned an invalid denominator.
10926
10927         * gst/gstutils.c: (gst_util_div128_64_iterate),
10928         (gst_util_div128_64), (gst_util_uint64_scale_int64),
10929         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10930         Add protentially more performant non-iterative 128/64 divide function
10931         that unfortunatly does not work yet.
10932         Shortcut the trivial 0/X = 0 case.
10933         Remove the warnings on overflow.
10934
10935 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10936
10937         * gst/gstplugin.c: (gst_plugin_register_func):
10938           everything causing a plugin not to load should be at least a WARNING
10939
10940 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
10941
10942         * docs/random/ensonic/dparams.txt:
10943           some TODOs for the next dev cycle
10944         * libs/gst/controller/gstcontroller.c:
10945         (gst_controlled_property_set_interpolation_mode),
10946         (gst_controlled_property_new):
10947         * libs/gst/controller/gstcontroller.h:
10948           use base type to assign acccessor functions
10949
10950 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10951
10952         * check/Makefile.am:
10953         Oops, that should have been top_srcdir
10954
10955 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10956
10957         * check/Makefile.am:
10958         * check/elements/fdsrc.c: (GST_START_TEST):
10959         Use a cmdline define to specify the location of a file to use for
10960         testing, to avoid breaking distcheck.
10961
10962 2005-11-28  Andy Wingo  <wingo@pobox.com>
10963
10964         * gst/gstpad.c (fixate_value): Use array functions for arrays.
10965
10966 2005-11-28  Edward Hervey  <edward@fluendo.com>
10967
10968         * tools/gst-launch.c: (main):
10969         Clarify the output strings, makes it easier to translate.
10970         Fixes #322626
10971
10972 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10973
10974         * gst/Makefile.am:
10975           don't try and build net if we don't even have <sys/socket.h>
10976
10977 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
10978
10979         * check/Makefile.am:
10980         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
10981         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
10982           Add tests for fdsrc seekability
10983
10984         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
10985         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
10986         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
10987         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
10988         * gst/elements/gstfdsrc.h:
10989           fdsrc should not be a 'live' source.
10990           Implement seeking on seekable fd's.
10991
10992         * gst/gstquery.c: (gst_query_new_seeking),
10993         (gst_query_parse_seeking):
10994         * gst/gstquery.h:
10995           Implement SEEKING query functions: 
10996             *_new_seeking and *_parse_seeking
10997
10998 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
10999
11000         * gst/gstelement.c: (gst_element_dispose):
11001           don't loop forever
11002
11003         * gst/gstiterator.c:
11004         * gst/gststructure.c:
11005           doc fixes
11006
11007         * libs/gst/controller/gstcontroller.c:
11008         (gst_controlled_property_set_interpolation_mode):
11009         * libs/gst/controller/gstcontroller.h:
11010         * libs/gst/controller/gstinterpolation.c:
11011         (interpolate_none_get_enum_value_array):
11012           support controlling enums
11013
11014 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
11015
11016         * gst/gstvalue.c:
11017           Improve documentation for gst_value_union().
11018
11019         * gst/gstvalue.h:
11020           Change return value for union, intersect and subtract functions
11021           from gint to gboolean.
11022
11023 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
11024
11025         * gst/gstvalue.c: (gst_value_serialize_any_list),
11026         (gst_value_transform_any_list_string),
11027         (gst_value_deserialize_list), (gst_value_deserialize_array),
11028         (gst_value_set_int_range), (gst_value_deserialize_int_range),
11029         (gst_value_set_double_range), (gst_value_deserialize_double_range),
11030         (gst_value_set_fraction_range_full),
11031         (gst_value_deserialize_fraction_range),
11032         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
11033         (gst_value_deserialize_boolean),
11034         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
11035         (gst_value_serialize_float), (gst_value_deserialize_float),
11036         (gst_string_wrap), (gst_value_deserialize_string),
11037         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
11038         (gst_value_union_int_range_int_range),
11039         (gst_value_intersect_int_range_int_range),
11040         (gst_value_intersect_double_range_double_range),
11041         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
11042         (gst_value_subtract_int_range_int_range),
11043         (gst_value_subtract_double_double_range),
11044         (gst_value_subtract_double_range_double_range),
11045         (gst_value_deserialize_fraction):
11046         * gst/gstvalue.h:
11047           Use gint, gdouble and gchar in our API instead of int, double and
11048           char (and make usage in gstvalue.c more consistent).
11049
11050 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11051
11052         * check/Makefile.am:
11053         * libs/gst/controller/Makefile.am:
11054         * libs/gst/dataprotocol/Makefile.am:
11055           fix up Makefile.am and remove GST_ENABLE_NEW
11056
11057 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11058
11059         * configure.ac:
11060         * gst/Makefile.am:
11061         * gst/base/Makefile.am:
11062         * gst/check/Makefile.am:
11063         * gst/elements/Makefile.am:
11064         * gst/net/Makefile.am:
11065           update LDFLAGS use some more
11066
11067 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11068
11069         * common/m4/gst-doc.m4:
11070           Fixes #312589
11071
11072 2005-11-26  Edward Hervey  <edward@fluendo.com>
11073
11074         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11075         This shouldn't issue a g_warning since it returns NULL if it
11076         couldn't find the plugin, and all functions using this behave
11077         properly on a NULL return. Switching to a GST_WARNING.
11078
11079 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
11080
11081         * gst/gstbin.c: (gst_bin_handle_message_func):
11082         Don't leak clock messages.
11083
11084 2005-11-25  Wim Taymans  <wim@fluendo.com>
11085
11086         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11087         (gst_util_uint64_scale_int):
11088         Optimisations, remove unneeded vars.
11089
11090 2005-11-25  Wim Taymans  <wim@fluendo.com>
11091
11092         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11093         Added more checks for the high precision uint64 cases.
11094
11095         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11096         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
11097         Implement high precision (guint64 * guint64) / guint64.
11098
11099 2005-11-24  Wim Taymans  <wim@fluendo.com>
11100
11101         * gst/base/gstbasesrc.c: (gst_base_src_query):
11102         Fix wrong percentage query.
11103
11104         * gst/gstutils.c: (gst_util_uint64_scale),
11105         (gst_util_uint64_scale_int):
11106         Add some more common cases that can be handled 
11107         efficiently to _scale.
11108
11109 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11110
11111         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
11112         (gst_mini_object_suite):
11113           don't use check calls from threads; check probably isn't
11114           threadsafe and using a lock to make it threadsafe would
11115           defeat the purpose of this check
11116         * gst/check/gstcheck.c:
11117         * gst/check/gstcheck.h:
11118           use GST_DEBUG some more
11119
11120 2005-11-24  Wim Taymans  <wim@fluendo.com>
11121
11122         * gst/gstutils.c: (gst_util_uint64_scale),
11123         (gst_util_uint64_scale_int):
11124         Chain trivial case to _scale_int.
11125
11126 2005-11-24  Wim Taymans  <wim@fluendo.com>
11127
11128         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11129         Added test for scaling.
11130
11131         * gst/gstclock.h:
11132         Small doc fix.
11133
11134         * gst/gstutils.c: (gst_util_uint64_scale_int):
11135         Implemented high precision scaling code.
11136
11137 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
11138
11139         * gst/gstinfo.h:
11140           do not crash on pad==NULL
11141
11142 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11143
11144         Patch by: Stefan Kost
11145
11146         * common/gtk-doc.mak:
11147         * docs/gst/Makefile.am:
11148         * docs/libs/Makefile.am:
11149           Fix distcheck issues for the libraries docs build
11150           Closes #319599.
11151
11152 2005-11-24  Michael Smith <msmith@fluendo.com>
11153
11154         * docs/manual/basics-helloworld.xml:
11155           Fix bug #315027: memory leak in example code in docs.
11156
11157 2005-11-24  Michael Smith <msmith@fluendo.com>
11158
11159         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11160           Unlock the PREROLL_LOCK in a failure case.
11161
11162 2005-11-24  Wim Taymans  <wim@fluendo.com>
11163
11164         * docs/gst/gstreamer-sections.txt:
11165         * gst/base/gstadapter.h:
11166         * gst/base/gstbasesink.h:
11167         * gst/base/gstbasesrc.h:
11168         * gst/base/gstbasetransform.h:
11169         * gst/base/gstpushsrc.h:
11170         * gst/elements/gstfakesink.h:
11171         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
11172         * gst/elements/gstfakesrc.h:
11173         * gst/elements/gstfilesink.h:
11174         * gst/elements/gstfilesrc.h:
11175         * gst/gst.c:
11176         * gst/gstbin.c:
11177         * gst/gstbuffer.c: (_gst_buffer_copy):
11178         * gst/gstbus.h:
11179         * gst/gstcaps.c:
11180         * gst/gstchildproxy.c:
11181         * gst/gstclock.c:
11182         * gst/gstelement.c:
11183         * gst/gstelementfactory.c:
11184         * gst/gstelementfactory.h:
11185         * gst/gstevent.c:
11186         * gst/gstghostpad.h:
11187         * gst/gstindex.h:
11188         * gst/gstinterface.h:
11189         * gst/gstminiobject.c:
11190         * gst/gstminiobject.h:
11191         * gst/gstpad.c:
11192         * gst/gstpad.h:
11193         * gst/gstpadtemplate.h:
11194         * gst/gstpipeline.h:
11195         * gst/gstpluginfeature.h:
11196         * gst/gstquery.h:
11197         * gst/gstqueue.h:
11198         * gst/gsttaglist.c:
11199         * gst/gsttaglist.h:
11200         * gst/gsttagsetter.c:
11201         * gst/gsttagsetter.h:
11202         * gst/gsttrace.c:
11203         * gst/gsttrace.h:
11204         * gst/gsttypefind.h:
11205         * gst/gsturi.h:
11206         * gst/gstvalue.c:
11207         * gst/net/gstnetclientclock.c:
11208         * gst/net/gstnetclientclock.h:
11209         * gst/net/gstnettimepacket.c:
11210         * gst/net/gstnettimeprovider.c:
11211         * gst/net/gstnettimeprovider.h:
11212         Doc fixes.
11213
11214 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11215
11216         * configure.ac: back to HEAD
11217
11218 === release 0.9.6 ===
11219
11220 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
11221
11222         * configure.ac:
11223           releasing 0.9.6, "Always On Time"
11224
11225 2005-11-23  Wim Taymans  <wim@fluendo.com>
11226
11227         * docs/gst/gstreamer-sections.txt:
11228         * gst/glib-compat.c:
11229         * gst/gsttagsetter.c:
11230         * gst/gstvalue.c:
11231         * gst/net/gstnetclientclock.c:
11232         * gst/net/gstnettimepacket.h:
11233         Doc updates.
11234
11235 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11236
11237         * docs/faq/using.xml:
11238         * docs/libs/tmpl/gstcontrol.sgml:
11239         * docs/manual/advanced-dparams.xml:
11240         * docs/manual/appendix-checklist.xml:
11241         * docs/manual/basics-elements.xml:
11242         * docs/pwg/other-source.xml:
11243         * docs/random/moving-plugins:
11244         * gst/gstpad.c:
11245         * tools/gst-launch.1.in:
11246           remove mentions of sinesrc
11247
11248 2005-11-23  Michael Smith <msmith@fluendo.com>
11249
11250         * docs/gst/gstreamer-sections.txt:
11251           Update for new API and API changes.
11252         * gst/gstobject.h:
11253           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
11254         * gst/gstvalue.c:
11255           Documentation typo fix.
11256         * gst/net/gstnettimepacket.c:
11257           Documentation fixes for arguments.
11258
11259 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
11260
11261         * gst/gststructure.c: (gst_structure_get_fraction),
11262         (gst_structure_parse_value),
11263         (gst_structure_fixate_field_nearest_fraction):
11264         * gst/gststructure.h:
11265         * gst/gstutils.c: (gst_util_uint64_scale_int):
11266         * gst/gstutils.h:
11267         * scripts/update-funcnames:
11268         API Changes. 
11269         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
11270         Make gst_structure_fixate_field_nearest_fraction take a numerator
11271         and denominator argument instead of a GValue
11272         add gst_structure_get_fraction helper function.
11273
11274 2005-11-23  Wim Taymans  <wim@fluendo.com>
11275
11276         * docs/design/part-TODO.txt:
11277         Update TODO.
11278
11279         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11280         * gst/net/gstnetclientclock.h:
11281         Use parent fields for timeout and window_size.
11282
11283 2005-11-23  Andy Wingo  <wingo@pobox.com>
11284
11285         * check/net/gstnetclientclock.c (test_functioning): Adjust to
11286         rate_num/rate_denom change.
11287
11288         * gst/net/gstnetclientclock.c
11289         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
11290         OBJECT_LOCK. Don't call add_observation with the lock.
11291
11292         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
11293         fraction.
11294         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
11295         rate fraction.
11296         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
11297         deal with rate as a fraction whose numerator and denominator are
11298         GstClockTime values.
11299         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
11300         master; the other fields are protected by the SLAVE_LOCK.
11301         (do_linear_regression): Note that this must be called with the
11302         SLAVE_LOCK.
11303         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
11304         OBJECT_LOCK. Call set_calibration instead of touching the
11305         variables directly.
11306         (gst_clock_set_property, gst_clock_get_property): Protect
11307         master/slave parameters with the SLAVE_LOCK.
11308
11309         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
11310         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
11311         note that all of the instance variables that add_observation and
11312         the set_master functions use are protected by that lock and not
11313         the OBJECT_LOCK.
11314         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
11315
11316         * gst/gstclock.c (gst_clock_add_observation): No longer requires
11317         the caller to take the object lock.
11318
11319 2005-11-23  Wim Taymans  <wim@fluendo.com>
11320
11321         * gst/gsterror.c: (_gst_core_errors_init):
11322         * gst/gsterror.h:
11323         Add error for clock stuff.
11324
11325         * gst/gstpipeline.c: (gst_pipeline_change_state),
11326         (gst_pipeline_set_clock):
11327         Post clock error when clock cannot be used in a pipeline.
11328
11329 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
11330
11331         * docs/gst/gstreamer-sections.txt:
11332           make two symbols from gstinfo private for the docs
11333         * gst/base/gstcollectpads.h:
11334         * gst/gstutils.c:
11335           fix doc typos, update docs
11336
11337 2005-11-22  Wim Taymans  <wim@fluendo.com>
11338
11339         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11340         (gst_base_sink_wait), (gst_base_sink_do_sync),
11341         (gst_base_sink_handle_event):
11342         * gst/base/gstbasesink.h:
11343         No need to store the clock, the parent element class already
11344         has it.
11345
11346         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
11347         Updates for clock_set returning a gboolean
11348
11349         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
11350         (gst_clock_id_wait_async), (gst_clock_class_init),
11351         (gst_clock_init), (gst_clock_finalize),
11352         (gst_clock_get_internal_time), (gst_clock_get_time),
11353         (gst_clock_slave_callback), (gst_clock_set_master),
11354         (gst_clock_get_master), (do_linear_regression),
11355         (gst_clock_add_observation), (gst_clock_set_property),
11356         (gst_clock_get_property):
11357         * gst/gstclock.h:
11358         Implement master/slave. When setting a clock as a slave, a
11359         periodic timeout is scheduled to sample master and slave times.
11360         Then the slave clock is recalibrated to match offset and rate
11361         of the master clock.
11362         Update logging a bit.
11363         Add flag so that a clock can state that is cannot be slaved to
11364         another clock.
11365
11366         * gst/gstelement.c: (gst_element_set_clock):
11367         * gst/gstelement.h:
11368         The set clock returns a gboolean for when an element cannot
11369         deal with the selected clock in the pipeline. 
11370
11371         * gst/gstpipeline.c: (gst_pipeline_change_state),
11372         (gst_pipeline_set_clock):
11373         * gst/gstpipeline.h:
11374         Handle the case where the selected clock cannot be set on
11375         the pipeline.
11376
11377         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
11378         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
11379         (gst_net_client_clock_set_property),
11380         (gst_net_client_clock_get_property),
11381         (gst_net_client_clock_observe_times):
11382         * gst/net/gstnetclientclock.h:
11383         Use regression code in GstClock parent, remove duplicated
11384         functionality.
11385
11386 2005-11-22  Michael Smith <msmith@fluendo.com>
11387
11388         * gst/gstutils.c: (gst_util_clock_time_scale):
11389         * gst/gstutils.h:
11390         * docs/gst/gstreamer-sections.txt:
11391           Rename method to have extra underscore.
11392
11393 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11394
11395         * gst/elements/Makefile.am:
11396         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
11397         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11398         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11399         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
11400         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
11401         * gst/elements/gstfakesrc.h:
11402         * gst/gstqueue.c: (queue_leaky_get_type):
11403           correctly fix GEnumValues so that nick is the short lowercase
11404           dashed tag
11405         * tools/gst-inspect.c: (print_element_properties_info):
11406           also show the nick, since it's useful to use from parse_launch
11407           syntax
11408           Fixes #322139
11409
11410 2005-11-22  Michael Smith <msmith@fluendo.com>
11411
11412         * gst/gstutils.c: (gst_util_clocktime_scale):
11413         * gst/gstutils.h:
11414         * docs/gst/gstreamer-sections.txt:
11415           Add util method for scaling a clocktime by a fraction. Useful 
11416           implementation is left as an exercise for the reader.
11417
11418 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11419
11420         * gst/gstvalue.c: (gst_value_collect_fraction_range):
11421         If needed, allocate storage in the destination value during
11422         collection.
11423
11424 2005-11-22  Edward Hervey  <edward@fluendo.com>
11425
11426         * docs/gst/gstreamer-sections.txt:
11427         * gst/Makefile.am:
11428         * gst/gst.h:
11429         * gst/gsturitype.c:
11430         * gst/gsturitype.h:
11431         * gst/gstutils.c: (gst_util_set_object_arg):
11432         * tools/gst-compprep.c: (main):
11433         * tools/gst-inspect.c: (print_element_properties_info):
11434         Removed GstURI, closes bug #321061
11435
11436 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11437
11438         * check/gst/gststructure.c: (GST_START_TEST):
11439         * gst/gststructure.c: (gst_structure_parse_value):
11440           Oops, broke automatic string type parsing.
11441           Add a test to catch it in future.
11442
11443 2005-11-22  Andy Wingo  <wingo@pobox.com>
11444
11445         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
11446         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
11447         Actually rename the function implementations. Grr.
11448
11449 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11450
11451         * check/gst/capslist.h:
11452           Comment test cases
11453         * check/gst/gststructure.c: (GST_START_TEST),
11454         (gst_structure_suite):
11455           Test automatic value type detection in gst_structure_from_string.
11456         * gst/gststructure.c: (gst_structure_parse_value):
11457           Add fraction as a type we try and guess automatically in
11458           caps/structure strings.
11459
11460 2005-11-22  Andy Wingo  <wingo@pobox.com>
11461
11462         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
11463
11464         * gst/gsttagsetter.h:
11465         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
11466         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
11467         (gst_tag_setter_add_tag_valist)
11468         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
11469         _add_values, _add_valist, and _add_valist_values. Since this is an
11470         interface the function suffixes should be more explicit so
11471         language binding don't end up with element.add_valist ->
11472         gst_tag_setter_add_valist, for example. Fixes #322069.
11473
11474 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11475
11476         * check/gst/gstcaps.c: (GST_START_TEST):
11477           Extend caps string tests to check that a caps to string
11478           conversion is reversible and produces the same caps.
11479
11480         * gst/gststructure.c: (gst_structure_value_get_generic_type):
11481           Output "fraction" as the generic type fraction range, so caps
11482           serialisation and deserialisation works.
11483         * check/gst/capslist.h:
11484         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11485           Support 'MIN' and 'MAX' for deserialising fractions.
11486
11487 2005-11-22  Andy Wingo  <wingo@pobox.com>
11488
11489         * gst/gstevent.h (gst_event_new_new_segment)
11490         (gst_event_parse_new_segment, gst_event_new_buffer_size)
11491         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
11492         Renamed from *_newsegment, *_buffersize, *_notarget.
11493
11494         * scripts/update-funcnames: New script, performs the changes
11495         listed above.
11496
11497 2005-11-22  Wim Taymans  <wim@fluendo.com>
11498
11499         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11500         Make sure the GstFlowReturn is returned.
11501
11502         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
11503         (gst_bus_add_signal_watch):
11504         * gst/gstbus.h:
11505         add gst_bus_add_signal_watch_full.
11506
11507         * gst/gstplugin.c: (gst_plugin_load_file):
11508         Small style cleanup.
11509
11510 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11511
11512         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
11513           Block the fakesrc srcpad when we send an event, to avoid
11514           contention on the stream_lock causing random test failures.
11515
11516 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11517
11518         * check/gst/gstvalue.c: (GST_START_TEST):
11519         * gst/gstvalue.c: (gst_value_fraction_subtract):
11520           Fix subtraction.
11521
11522 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
11523
11524         * gst/gst.h:
11525           include "gstchildproxy.h"
11526         * gst/gstchildproxy.h:
11527         * libs/gst/controller/gstcontroller.h:
11528           use G_GNUC_NULL_TERMINATED
11529
11530 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11531
11532         * check/gst/capslist.h:
11533         * check/gst/gstcaps.c: (GST_START_TEST):
11534         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11535         * gst/gststructure.c: (gst_structure_parse_range),
11536         (gst_structure_fixate_field_nearest_fraction):
11537         * gst/gststructure.h:
11538         * gst/gstvalue.c: (gst_value_init_fraction_range),
11539         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
11540         (gst_value_collect_fraction_range),
11541         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
11542         (gst_value_set_fraction_range_full),
11543         (gst_value_get_fraction_range_min),
11544         (gst_value_get_fraction_range_max),
11545         (gst_value_serialize_fraction_range),
11546         (gst_value_transform_fraction_range_string),
11547         (gst_value_compare_fraction_range),
11548         (gst_value_deserialize_fraction_range),
11549         (gst_value_intersect_fraction_fraction_range),
11550         (gst_value_intersect_fraction_range_fraction_range),
11551         (gst_value_subtract_fraction_fraction_range),
11552         (gst_value_subtract_fraction_range_fraction),
11553         (gst_value_subtract_fraction_range_fraction_range),
11554         (gst_value_collect_fraction), (gst_value_fraction_multiply),
11555         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
11556         (gst_value_transform_string_fraction), (_gst_value_initialize):
11557         * gst/gstvalue.h:
11558           Implement fraction ranges and extend GstFraction to support
11559           arithmetic subtraction, as well as deserialization from integer
11560           strings such as "100"
11561           Add a testsuite as for int and double range set operations
11562
11563 2005-11-21  Andy Wingo  <wingo@pobox.com>
11564
11565         * gst/gsttaglist.h: 
11566         * gst/gstcaps.h: 
11567         * gst/gststructure.h: Add glib-compat.h.
11568
11569 2005-11-21  Wim Taymans  <wim@fluendo.com>
11570
11571         * gst/gstbin.c: (gst_bin_change_state_func):
11572         Fix for #321595
11573
11574 2005-11-21  Wim Taymans  <wim@fluendo.com>
11575
11576         * gst/gstsegment.h:
11577         And add a nice define too.
11578
11579 2005-11-21  Wim Taymans  <wim@fluendo.com>
11580
11581         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
11582         (gst_segment_new), (gst_segment_free), (gst_segment_init),
11583         (gst_segment_set_duration), (gst_segment_set_last_stop),
11584         (gst_segment_set_seek), (gst_segment_set_newsegment),
11585         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11586         (gst_segment_clip):
11587         * gst/gstsegment.h:
11588         Make binding friendly.
11589
11590 2005-11-21  Andy Wingo  <wingo@pobox.com>
11591
11592         * gst/gsttagsetter.h: 
11593         * gst/gsttaglist.h: 
11594         * gst/gststructure.h: 
11595         * gst/gstcaps.h: 
11596         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
11597         #319940.
11598
11599         * gst/gsterror.c (_gst_core_errors_init):
11600         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
11601         category.
11602
11603         * gst/Makefile.am (gst_headers): Add glib-compat.h.
11604         (noinst_HEADERS): noinst the -private.
11605
11606 2005-11-21  Michael Smith <msmith@fluendo.com>
11607
11608         * gst/gstplugin.h:
11609         * gst/gstregistry.h:
11610           Remove unimplemented declarations for which we can see no sensible
11611           use.
11612
11613 2005-11-21  Andy Wingo  <wingo@pobox.com>
11614
11615         * gst/gst.h: Include glib-compat.h.
11616
11617         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
11618
11619         * gst/glib-compat.c: Include the public and the private header.
11620
11621         * gst/glib-compat-private.h: Copied here from glib-compat.h.
11622
11623         * gst/gstvalue.c: 
11624         * gst/gstpad.c: 
11625         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
11626
11627         * check/gst/gstevent.c (create_custom_events): Check that
11628         FLUSH_STOP is serialized.
11629
11630         * check/elements/identity.c (event_func): 
11631         * check/elements/fakesrc.c (event_func): No stream lock, the core
11632         takes it.
11633
11634         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
11635         stream lock taking, yay.
11636
11637         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
11638         ensure that core takes the stream lock.
11639
11640         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
11641         lock name change.
11642
11643         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
11644         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
11645         it already. For the flush start we do take it though so we get the
11646         right preroll state change messages.
11647
11648         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
11649         the stream lock here, the core does it for us.
11650
11651         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
11652         GST_STREAM_GET_LOCK.
11653         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
11654         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
11655         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
11656         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
11657         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
11658         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
11659
11660         * gst/gstpad.c: Update for stream lock name change.
11661
11662         * gst/base/gstbasesink.c: Update for preroll lock name change.
11663
11664 2005-11-21  Wim Taymans  <wim@fluendo.com>
11665
11666         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
11667         (gst_clock_get_master):
11668         * gst/gstclock.h:
11669         * gst/gstsystemclock.c: (gst_system_clock_init):
11670         Convert Clock flags to object flags.
11671         Added methods to manage master/slave clocks.
11672
11673 2005-11-21  Wim Taymans  <wim@fluendo.com>
11674
11675         * check/gst/gstsegment.c: (GST_START_TEST):
11676         * docs/design/part-TODO.txt:
11677         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11678         (gst_base_sink_event), (gst_base_sink_do_sync),
11679         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11680         (gst_base_sink_query), (gst_base_sink_change_state):
11681         * gst/base/gstbasesink.h:
11682         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
11683         (gst_base_src_default_newsegment),
11684         (gst_base_src_configure_segment), (gst_base_src_do_seek),
11685         (gst_base_src_get_range), (gst_base_src_loop),
11686         (gst_base_src_change_state):
11687         * gst/base/gstbasesrc.h:
11688         * gst/base/gstbasetransform.c:
11689         (gst_base_transform_prepare_output_buf),
11690         (gst_base_transform_event), (gst_base_transform_change_state):
11691         * gst/base/gstbasetransform.h:
11692         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11693         (gst_collect_pads_event):
11694         * gst/base/gstcollectpads.h:
11695         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
11696         (gst_fake_src_create):
11697         * gst/elements/gstfakesrc.h:
11698         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11699         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11700         (gst_segment_set_last_stop), (gst_segment_set_seek),
11701         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
11702         (gst_segment_to_running_time), (gst_segment_clip):
11703         * gst/gstsegment.h:
11704         More segment updates, replace code in plugins with segment
11705         helper functions.
11706
11707 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11708
11709         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
11710         Don't ignore sscanf results
11711
11712 2005-11-21  Andy Wingo  <wingo@pobox.com>
11713
11714         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
11715
11716         * *.h:
11717         * *.c: Ran scripts/update-macros. Oh yes.
11718
11719         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
11720         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
11721         GST_GET_LOCK, etc.
11722
11723         * scripts/update-macros: New script. Run it on your files to
11724         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
11725         well.
11726
11727 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11728
11729         * docs/gst/Makefile.am:
11730         * docs/gst/gstreamer-docs.sgml:
11731         * docs/gst/gstreamer-sections.txt:
11732         * docs/gst/gstreamer.types:
11733         * gst/gstinfo.h:
11734           more docs fixes, add new api to the docs
11735
11736 2005-11-21  Andy Wingo  <wingo@pobox.com>
11737
11738         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
11739         state_broadcast call.
11740
11741         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
11742
11743 2005-11-21  Julien MOUTTE  <julien@moutte.net>
11744
11745         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
11746         function calls for arrays.
11747
11748 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11749
11750         * docs/random/ensonic/media-device-daemon.txt:
11751           wild idea, can this be done?
11752         * docs/gst/gstreamer-sections.txt:
11753         * gst/gsterror.h:
11754         * gst/gstfilter.c:
11755         * gst/gstfilter.h:
11756         * gst/gstplugin.h:
11757         * gst/gstpluginfeature.c:
11758         * gst/gsttrace.c:
11759         * gst/gstvalue.c:
11760         * gst/gstvalue.h:
11761           doc fixes and additions
11762
11763 2005-11-21  Andy Wingo  <wingo@pobox.com>
11764
11765         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
11766         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
11767         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
11768         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
11769         private to the basesrc implementation.
11770
11771         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
11772         behalf of event function if necessary. It should no longer be
11773         necessary to take the stream lock in pad's event functions. Fixes
11774         #320299.
11775
11776 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11777         * docs/gst/gstreamer-sections.txt:
11778         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
11779         (gst_structure_fixate_field_nearest_double),
11780         (gst_structure_fixate_field_boolean):
11781         * gst/gststructure.h:
11782         * win32/common/libgstreamer.def:
11783         * win32/gstreamer.def:
11784
11785         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
11786         (#322027)
11787
11788 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11789
11790         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
11791         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
11792         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
11793         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
11794         (gst_fdsrc_uri_handler_init):
11795         * gst/elements/gstfdsrc.h:
11796           Port fd:// URI handler from 0.8 to fdsrc
11797
11798 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11799
11800         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
11801         (gst_value_serialize_fourcc):
11802         * gst/gstvalue.h:
11803           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
11804           consistent with our other format defines (#320324).
11805
11806 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11807
11808         * gst/gstvalue.c: (gst_value_is_fixed):
11809           Revert previous commit. Value lists are by definition
11810           not fixed, as they are a list of possible values.
11811
11812 2005-11-21  Andy Wingo  <wingo@pobox.com>
11813
11814         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
11815         during the stable series if we need it. Fixes #319178.
11816
11817         * gst/gstevent.c (gst_event_new_filler): Removed.
11818
11819         * check/gst/gstevent.c: Update comment about filler events.
11820
11821 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11822
11823         * gst/gstvalue.c: (gst_value_is_fixed):
11824           Should handle both value arrays and value lists.
11825
11826 2005-11-21  Andy Wingo  <wingo@pobox.com>
11827
11828         patch by: Alessandro Dessina <alessandro nnva org>
11829
11830         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
11831         functions to access arrays. Fixes #321962.
11832
11833 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11834
11835         * docs/gst/gstreamer.types:
11836           gst_collectpads_get_type => gst_collect_pads_get_type.
11837           
11838         * gst/base/gstbasetransform.c:
11839           Remove unused SIGNAL_HANDOFF enum.
11840
11841 2005-11-21  Andy Wingo  <wingo@pobox.com>
11842
11843         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
11844         the event type (upstream, downstream, serialized). Renamed
11845         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
11846         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
11847         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
11848
11849         * gst/gstevent.c: Update for new CUSTOM event names.
11850
11851         * check/gst/gstevent.c: Update check for new CUSTOM event names.
11852
11853         * gst/gstevent.h:
11854         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
11855         bug #319392.
11856
11857 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11858
11859         * docs/gst/gstreamer-sections.txt:
11860         * win32/common/libgstbase.def:
11861         * win32/libgstbase.def:
11862         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11863         (gst_collect_pads_class_init), (gst_collect_pads_init),
11864         (gst_collect_pads_finalize), (gst_collect_pads_new),
11865         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
11866         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
11867         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
11868         (gst_collect_pads_start), (gst_collect_pads_stop),
11869         (gst_collect_pads_peek), (gst_collect_pads_pop),
11870         (gst_collect_pads_available), (gst_collect_pads_read),
11871         (gst_collect_pads_flush), (gst_collect_pads_event),
11872         (gst_collect_pads_chain):
11873         * gst/base/gstcollectpads.h:
11874           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
11875           unimplemented functions as unimplemented. Add padding to
11876           GstCollectData. (#320766, #320423)
11877
11878 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11879
11880         * gst/gstmessage.c:
11881           Improve docs for DURATION message (usage of duration parameter)
11882           (#320113)
11883
11884 2005-11-20  Wim Taymans  <wim@fluendo.com>
11885
11886         * check/Makefile.am:
11887         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
11888         (main):
11889         * gst/Makefile.am:
11890         * gst/gst.h:
11891         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11892         (gst_segment_set_seek), (gst_segment_set_newsegment),
11893         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11894         (gst_segment_clip):
11895         * gst/gstsegment.h:
11896         Added segment helper structure and methods. Not fully implemented
11897         yet.
11898         Added segment check.
11899
11900 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
11901
11902         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11903           Add a deserialisation test for fractions
11904         * examples/metadata/read-metadata.c: (message_loop),
11905         (make_pipeline), (main):
11906           Fix up metadata reading sample.
11907         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11908           Debug format fix
11909         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11910           Don't try and fixate empty caps
11911         * gst/gst_private.h:
11912           Wrap in G_BEGIN_DECLS/G_END_DECLS
11913         * gst/gstvalue.c: (gst_value_collect_fraction),
11914         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
11915         (gst_value_transform_string_fraction),
11916         (gst_value_compare_fraction):
11917           Add some extra guards to ensure that we don't end up 
11918           with an invalid denominator of 0 in a gstfraction and
11919           that fractions always get reduced.
11920
11921 2005-11-20  Wim Taymans  <wim@fluendo.com>
11922
11923         * docs/gst/gstreamer-sections.txt:
11924         * gst/gstbuffer.h:
11925         * gst/gstelement.c:
11926         * gst/gstformat.c:
11927         * gst/gstformat.h:
11928         * gst/gstindex.h:
11929         * gst/gstquery.c:
11930         * gst/gstquery.h:
11931         * gst/gstvalue.c:
11932         Doc fixes.
11933
11934 2005-11-20  Wim Taymans  <wim@fluendo.com>
11935
11936         * docs/design/part-TODO.txt:
11937         * gst/gstcaps.h:
11938         Make a proper enum of the flag.
11939
11940 2005-11-19  Wim Taymans  <wim@fluendo.com>
11941
11942         * docs/design/part-TODO.txt:
11943         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
11944         (gst_format_to_quark), (gst_format_register):
11945         * gst/gstformat.h:
11946         * gst/gstquery.c: (_gst_query_initialize),
11947         (gst_query_type_get_name), (gst_query_type_to_quark),
11948         (gst_query_type_register):
11949         * gst/gstquery.h:
11950         Add type to quark and type to string conversions.
11951
11952 2005-11-19  Andy Wingo  <wingo@pobox.com>
11953
11954         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
11955         #320097.
11956
11957 2005-11-19  Wim Taymans  <wim@fluendo.com>
11958
11959         * docs/design/part-TODO.txt:
11960         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11961         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
11962         (gst_bin_handle_message_func):
11963         * gst/gstbin.h:
11964         Make message handling overridable.
11965
11966 2005-11-19  Andy Wingo  <wingo@pobox.com>
11967
11968         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
11969
11970         * gst/gstclock.h:
11971         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
11972         be a GstClockTime.
11973         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
11974         is a GstClockTime. Fixes #321710.
11975
11976         * gst/gstclock.h (GstClock): Remove offset property. Add
11977         internal_calibration and external_calibration. Fix padding. Pad
11978         also by GstClockTime so we don't run into problems.
11979
11980         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
11981         (gst_clock_get_rate_offset): Remove.
11982         (gst_clock_set_time_adjust): Remove. Fixes #321712.
11983
11984         * gst/gstutils.h:
11985         * gst/gstutils.c (g_static_rec_cond_wait)
11986         (g_static_rec_cond_timed_wait): Removed, no longer needed.
11987
11988         * gst/gstbin.c: Remove terrible continue_state prototype.
11989
11990         * gst/gstelement.h (gst_element_continue_state): Make public.
11991
11992         * gst/gstelement.h:
11993         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
11994         by continue_state. Fixes #319389.
11995
11996         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
11997         Really fixes #168438. However I don't see anywhere where the
11998         filter function is called... stupid GStreamer...
11999         
12000         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
12001         don't have a dispose function, so it won't get called when the
12002         object is unreffed, but oh well!
12003
12004         * gst/gstindex.c (gst_index_set_filter_full): New API function,
12005         allows a destroy function to be set so user_data can be freed.
12006         Fixes #168438.
12007         (gst_index_set_filter): Call gst_index_set_filter_full.
12008
12009         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
12010
12011         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
12012         string should produce an error, given the lack of a way to
12013         represent NULL strings. Fixes #165650.
12014         
12015         * gst/gstvalue.h: 
12016         * gst/gstvalue.c (gst_value_array_append_value) 
12017         (gst_value_array_prepend_value, gst_value_array_get_size) 
12018         (gst_value_array_get_value): New API, copied from
12019         gst_value_list_*, only operates on arrays.
12020         (gst_value_list_append_value, gst_value_list_prepend_value) 
12021         (gst_value_list_concat, gst_value_list_get_size) 
12022         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
12023
12024         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
12025         init_list, because it works on both.
12026         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
12027         (gst_value_copy_list_or_array): Renamed from copy_list.
12028         (gst_value_free_list_or_array): Renamed from free_list.
12029         (gst_value_collect_list_or_array): Renamed from collect_list.
12030         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
12031         (gst_value_list_or_array_peek_pointer): Renamed from
12032         list_peek_pointer.
12033         (_gst_value_array_value_table, _gst_value_list_value_table):
12034         Update value table functions.
12035         (gst_value_compare_list_or_array): Renamed from compare_list.
12036
12037         * gsttaglist.h: Whoops, foreach function returns void. Also fix
12038         some constness.
12039
12040         * gst/gsttaglist.c:
12041         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
12042         GstTagList*. Fixes #143472.
12043
12044         * gst/gststructure.h: Clarify what the foreach/map functions can
12045         or can't do to their arguments.
12046
12047 2005-11-18  Wim Taymans  <wim@fluendo.com>
12048
12049         * gst/gstclock.c: (gst_clock_set_calibration),
12050         (gst_clock_get_calibration):
12051         Doc and API fixes.
12052         Calibration can be set with internal time equal to current
12053         internal time too.
12054
12055 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12056
12057         * gst/gsterror.c:
12058         * gst/gsterror.h:
12059           document
12060
12061 2005-11-18  Andy Wingo  <wingo@pobox.com>
12062
12063         * configure.ac: 
12064         * pkgconfig/gstreamer-net.pc.in:
12065         * pkgconfig/gstreamer-net-uninstalled.pc.in:
12066         * pkgconfig/Makefile.am: Add net pkgconfig files.
12067
12068 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
12069
12070         * gst/gstcaps.c:
12071         * gst/gstghostpad.c:
12072         * gst/gsttrace.c:
12073         * gst/gstvalue.c:
12074         * gst/gstvalue.h:
12075           docs fixes
12076
12077 2005-11-18  Andy Wingo  <wingo@pobox.com>
12078
12079         * gst/net/gstnetclientclock.c: Turn off debugging.
12080
12081         * check/net/gstnetclientclock.c (test_functioning): Assert that the
12082         times connverge somewhat. Can't make a real test.
12083
12084         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
12085         integer arithmetic. Return the minimum of the domain, which can be
12086         set as "internal" for gst_clock_set_calibration.
12087         (gst_net_client_clock_observe_times): Call _set_calibration.
12088         (gst_net_client_clock_new): Call _set_calibration instead of
12089         rate_offset.
12090
12091         * check/net/gstnetclientclock.c (test_functioning): Use the right
12092         adjustment api.
12093
12094         * gst/gstclock.h:
12095         * gst/gstclock.c (gst_clock_get_calibration) 
12096         (gst_clock_set_calibration): New functions, obsolete the ones I
12097         added yesterday. Doh. Precision issues mean we have to extrapolate
12098         from a point in the more recent past than 1970.
12099         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
12100         obsolete.
12101         (gst_clock_adjust_unlocked): Use the right calibration data.
12102
12103 2005-11-18  Edward Hervey  <edward@fluendo.com>
12104
12105         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
12106         Also reset the ->current_* values in READY->PAUSED
12107
12108 2005-11-18  Andy Wingo  <wingo@pobox.com>
12109
12110         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
12111         Whoops, check the right fd. Also add some debugging.
12112         (gst_net_client_clock_observe_times): Adjust for int64 offset.
12113         (do_linear_regression): Add a crapload of debugging. Subtract off
12114         the minimum values from the input series to discard unneeded bits.
12115         Use only int arithmetic. There is still double arithmetic when
12116         calculating the intercept that needs fixing. Return boolean to
12117         indicate success; FALSE would mean the domain or range is too
12118         great. Still needs fixes.
12119
12120 2005-11-18  Wim Taymans  <wim@fluendo.com>
12121
12122         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
12123         For the current position in stream time, we need to subtract
12124         accumulated time.
12125         
12126         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
12127         Release lock before calling the callback function of async
12128         entries.
12129
12130 2005-11-18  Andy Wingo  <wingo@pobox.com>
12131
12132         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
12133         Port goes all the way to MAXUINT16.
12134
12135         * gst/net/gstnettimeprovider.c: Make the port range the same as
12136         for the kernel: 0 assigns, otherwise ports are less than
12137         MAXUINT16.
12138
12139         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
12140         port change.
12141
12142         * check/net/gstnetclientclock.c (test_functioning): Add the start
12143         of another test. 
12144
12145 2005-11-18  Wim Taymans  <wim@fluendo.com>
12146
12147         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
12148         (gst_bin_remove_func), (bin_bus_handler):
12149         * gst/gstbin.h:
12150         Removing a clock provider from a bin, triggers a clock lost message
12151         so that a new clock will be selected.
12152         Adding a clock to a bin triggers a clock provider message.
12153         Make sure we reselect a clock when we received a clock lost message.
12154         Keep a reference to the element that provided the clock.
12155
12156 2005-11-18  Andy Wingo  <wingo@pobox.com>
12157
12158         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
12159         the clock initially so it produces values around the base time.
12160         (gst_net_client_clock_class_init): Typo fix.
12161         (gst_net_client_clock_thread): Add note on when the socket gets
12162         closed.
12163
12164 2005-11-17  Wim Taymans  <wim@fluendo.com>
12165
12166         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
12167         Free remote and local time arrays.
12168
12169 2005-11-17  Wim Taymans  <wim@fluendo.com>
12170
12171         * gst/net/gstnetclientclock.c: (do_linear_regression),
12172         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
12173         Fix compilation, uninitialized vars and a forgotten continue.
12174
12175 2005-11-17  Andy Wingo  <wingo@pobox.com>
12176
12177         * check/Makefile.am (check_PROGRAMS): 
12178         * check/net/gstnetclientclock.c: Add a most minimal test for the
12179         net client clock. More to come later.
12180
12181         * gst/net/gstnet.h: 
12182         * gst/net/Makefile.am: Add netclientclock.
12183
12184         * gst/net/gstnetclientclock.h:
12185         * gst/net/gstnetclientclock.c: New files, implement an untested
12186         GstClock that takes its time from a network time provider.
12187         Implements the algorithm in network-clock.scm.
12188
12189         * tests/network-clock.scm (*window-size*): Rename from
12190         *queue-length*.
12191         * tests/network-clock.scm (network-time): 
12192         * tests/network-clock-utils.scm (q-push): Update callers.
12193
12194 2005-11-17  Wim Taymans  <wim@fluendo.com>
12195
12196         * gst/gstbin.c: (gst_bin_provide_clock_func),
12197         (gst_bin_sort_iterator_new):
12198         And unref the child too..
12199
12200 2005-11-17  Wim Taymans  <wim@fluendo.com>
12201
12202         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12203         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
12204         Refactor the sort iterator so it can be used while holding the
12205         LOCK too.
12206         Make clock selection select a clock closest to the source.
12207
12208 2005-11-17  Michael Smith <msmith@fluendo.com>
12209
12210         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
12211         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
12212         * gst/gstclock.h:
12213           Anonymous structs are a gcc (and some other compilers) extension, so
12214           don't use them. Since this is only for ABI-compatibility, and our
12215           API/ABI freeze is over in a few days, this whole thing will only
12216           last a few days, so don't bother trying to think up a meaningful
12217           name for the struct.
12218
12219 2005-11-17  Andy Wingo  <wingo@pobox.com>
12220
12221         * gst/gstclock.h (GstClock): Add rate and offset properties,
12222         preserving ABI stability. Add rate/offset accessors. Will file bug
12223         for the freeze break.
12224
12225         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
12226         and offset, trying to keep precision and avoiding
12227         underflow/overflow.
12228         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
12229         functions. Make gst_clock_set_time_adjust obsolete.
12230         (gst_clock_set_time_adjust): Note that this function is obsolete.
12231         Will file bug soon.
12232
12233         * gst/base/gstbasetransform.h: Make the ABI-stability hack
12234         greppable by using GST_PADDING-1+1.
12235
12236 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
12237
12238         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12239
12240         * gst/gstmessage.c: (gst_message_parse_clock_lost):
12241           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
12242
12243         * gst/gstpadtemplate.h:
12244         * gst/gstpluginfeature.h:
12245           Don't use c++ style comments in headers (#321638).
12246
12247 2005-11-16  Andy Wingo  <wingo@pobox.com>
12248
12249         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
12250         buffer.
12251
12252         * check/net/gstnettimeprovider.c: Check to see that the time
12253         provider actually provides times. Works, yo!
12254
12255 2005-11-16  Wim Taymans  <wim@fluendo.com>
12256
12257         * check/Makefile.am:
12258         Enable more tests.
12259
12260         * check/elements/fakesrc.c: (GST_START_TEST):
12261         Set element to NULL before disposing it.
12262
12263 2005-11-16  Andy Wingo  <wingo@pobox.com>
12264
12265         * gst/net/Makefile.am:
12266         * gst/net/gstnet.h:
12267         * gst/net/gstnettimeprovider.c: 
12268         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
12269         provider, include it from gstnet.h, and add it to the build.
12270
12271         * gst/net/gstnettimepacket.h: 
12272         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
12273         sending and receiving.
12274
12275 2005-11-16  Wim Taymans  <wim@fluendo.com>
12276
12277         * check/Makefile.am:
12278         Enable valgrind check.
12279
12280         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
12281         (gst_fake_src_alloc_buffer):
12282         Fix memleak.
12283
12284 2005-11-16  Wim Taymans  <wim@fluendo.com>
12285
12286         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
12287         Call parent finalize too.
12288
12289 2005-11-16  Wim Taymans  <wim@fluendo.com>
12290
12291         * check/Makefile.am:
12292         Enable valgrind check that should work fine now.
12293
12294         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12295         * gst/gstqueue.c: (gst_queue_init):
12296         Fix memleaks in pad allocation.
12297
12298 2005-11-16  Andy Wingo  <wingo@pobox.com>
12299
12300         * gst/net/Makefile.am:
12301         * gst/net/gstnet.h: New part of core to hold network elements and
12302         objects. Put in core because it exposes API that applications want
12303         to use. The library is named libgstnet-tempname right now because
12304         of the existing libgstnet in gst-plugins-base. Solution is
12305         probably to rename the one in plugins-base; will file a bug for
12306         the freeze break.
12307
12308         * gst/net/gstnettimeprovider.c: 
12309         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
12310         get_time call over the network.
12311
12312         * configure.ac: 
12313         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
12314
12315         * check/Makefile.am:
12316         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
12317         get additions shortly.
12318
12319 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12320
12321         * gst/gstpad.c: (gst_pad_new_from_static_template):
12322         * gst/gstpad.h:
12323           add gst_pad_new_from_static_template functions
12324         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
12325         (gst_check_setup_sink_pad):
12326         * gst/elements/gsttee.c: (gst_tee_init):
12327           and use them
12328
12329 2005-11-16  Wim Taymans  <wim@fluendo.com>
12330
12331         * gst/gstpad.c: (gst_pad_pause_task):
12332         Removed warning, it's not really an error either.
12333
12334 2005-11-16  Wim Taymans  <wim@fluendo.com>
12335
12336         * gst/base/gstbasetransform.c:
12337         (gst_base_transform_prepare_output_buf),
12338         (gst_base_transform_event):
12339         Check if the caps are NULL, this can happen if the element
12340         is shutting down and the pad caps are set to NULL.
12341
12342 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12343
12344         * gst/elements/gsttee.c: (gst_tee_init):
12345           fix pad template leak in tee
12346
12347 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12348
12349         * gst/glib-compat.c: (g_value_dup_gst_object):
12350         * gst/glib-compat.h:
12351         * gst/gstpad.c: (gst_pad_set_property):
12352           use gst_object_ref when setting the pad template; this will
12353           trigger the pad template leaks on GLib 2.6 and the slaves
12354
12355 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12356
12357         * gst/glib-compat.c: (gst_flags_get_first_value):
12358         * gst/glib-compat.h:
12359         * gst/gstregistryxml.c:
12360           remove functions copied from GLib 2.6
12361
12362 2005-11-16  Michael Smith <msmith@fluendo.com>
12363
12364         * gst/Makefile.am:
12365           Don't link against VALGRIND_LIBS. That was always the wrong thing to
12366           do, but only breaks with newer valgrind versions. We're not a
12367           valgrind tool, we have no link-time dependencies on libcoregrind.
12368
12369 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12370
12371         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12372           some debug changes
12373         * gst/gstmessage.h:
12374           typo fixes
12375
12376 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12377
12378         * gst/base/gstbasesrc.c: (gst_base_src_init):
12379         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12380         * gst/gstqueue.c: (gst_queue_init):
12381         * gst/gstregistryxml.c: (load_feature):
12382           Revert all these unrefs, they don't even pass make check !
12383
12384 2005-11-15  Johan Dahlin  <johan@gnome.org>
12385
12386         * gst/base/gstbasesrc.c: (gst_base_src_init):
12387         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12388         * gst/gstqueue.c: (gst_queue_init): 
12389         Free pad templates, fixes a couple of leaks.
12390
12391 2005-11-15  Daniel Fischer  <dan at f3c dot com>
12392
12393         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12394
12395         * gst/gstpad.c: (gst_pad_get_property):
12396           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
12397           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
12398           (#321452)
12399
12400 2005-11-15  Wim Taymans  <wim@fluendo.com>
12401
12402         * gst/gstevent.c:
12403         Small doc update.
12404
12405 2005-11-15  Andy Wingo  <wingo@pobox.com>
12406
12407         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
12408
12409         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
12410         using GST_CLOCK_TIME_NONE to disable base time management.
12411         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
12412         time if it was NONE before.
12413         (gst_pipeline_change_state): Only munge the base time if
12414         stream_time != GST_CLOCK_TIME_NONE.
12415
12416         * check/gst/gstpipeline.c (test_base_time): Punt around the
12417         problem of the probe not being called, because that's not the
12418         issue I'm looking at. Add a check that setting stream_time to NONE
12419         disables base time management.
12420         
12421 2005-11-15  Wim Taymans  <wim@fluendo.com>
12422
12423         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12424         segment_stop == -1 at startup.
12425
12426         * gst/base/gstbasetransform.c: (gst_base_transform_event),
12427         (gst_base_transform_change_state):
12428         Init segment values at start.
12429
12430 2005-11-15  Wim Taymans  <wim@fluendo.com>
12431
12432         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12433         0 segment values are 0 in any format.
12434
12435         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12436         * gst/base/gstbasetransform.h:
12437         Parse newsegment correctly in basetransform
12438
12439         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12440         Sync to clock using updated segment values.
12441
12442 2005-11-15  Andy Wingo  <wingo@pobox.com>
12443
12444         * check/gst/gstpipeline.c (test_base_time): Add check that the
12445         base time and stream time are reset correctly.
12446
12447 2005-11-15  Wim Taymans  <wim@fluendo.com>
12448
12449         * docs/design/part-TODO.txt:
12450         Some more TODO items.
12451
12452 2005-11-15  Andy Wingo  <wingo@pobox.com>
12453
12454         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
12455         error if the user selected "no clock" as the clocking method.
12456
12457         * check/gst/gstpipeline.c (test_base_time): New test for buffer
12458         timestamps with live capture.
12459
12460         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
12461         is 0 but we are a live source, timestamp the buffers using the
12462         element's clock.
12463
12464 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
12465
12466         * docs/gst/gstreamer-sections.txt:
12467         * gst/gsterror.c:
12468         * gst/gstghostpad.c:
12469         * gst/gstobject.h:
12470         * gst/gstxml.c:
12471           more section docs
12472
12473 2005-11-14  Wim Taymans  <wim@fluendo.com>
12474
12475         * common/gst.supp:
12476           add suppressions from Wim's Debian machine
12477
12478 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12479
12480         * common/gst.supp:
12481           add suppressions from Andy's AMD64 Ubuntu machine
12482
12483 2005-11-14  Andy Wingo  <wingo@pobox.com>
12484
12485         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
12486         STATE_LOCK not necessary. Fixes #311489.
12487
12488         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
12489         #305291.
12490
12491         * gst/gstindex.c (gst_index_add_object): Note in the docs that
12492         this function is not implemented.
12493
12494 2005-11-14  Julien MOUTTE  <julien@moutte.net>
12495
12496         * gst/base/gstbasetransform.c:
12497         (gst_base_transform_prepare_output_buf):
12498         Ref the source pad caps while we need them.
12499         Fixes (#321386)
12500
12501 2005-11-11  Wim Taymans  <wim@fluendo.com>
12502
12503         * docs/gst/gstreamer-sections.txt:
12504         Added some docs for GstCollectData.
12505
12506         * gst/base/gstadapter.c:
12507         Some small code example fix.
12508
12509         * gst/base/gstcollectpads.c:
12510         * gst/base/gstcollectpads.h:
12511         Document some more.
12512
12513 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12514
12515         * configure.ac: back to HEAD
12516
12517 === release 0.9.5 ===
12518
12519 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
12520
12521         * configure.ac:
12522           releasing 0.9.5, "Bike Lunch Day"
12523
12524 2005-11-11  Wim Taymans  <wim@fluendo.com>
12525
12526         * gst/gstbuffer.c: (_gst_buffer_copy):
12527         Copy more flags.
12528
12529         * gst/gstcaps.c: (gst_caps_is_equal):
12530         Fix some docs.
12531         Make _is_equal fast in the trivial cases.
12532
12533         * gst/gstminiobject.c:
12534         * gst/gstminiobject.h:
12535         More docs. Spifify .h file.
12536
12537         * gst/gstutils.c:
12538         Small doc update.
12539
12540 2005-11-11  Wim Taymans  <wim@fluendo.com>
12541
12542         * gst/base/gstbasetransform.c:
12543         (gst_base_transform_prepare_output_buf),
12544         (gst_base_transform_handle_buffer):
12545         Small cleanups.
12546         If we're processing a buffer and need to allocate an output
12547         buffer, we cannot accept a format change. If we did get a 
12548         format change, we have to alloc a buffer ourselves of the 
12549         right size.
12550
12551 2005-11-11  Wim Taymans  <wim@fluendo.com>
12552
12553         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
12554         While checking the flag for reentrancy in the gstcaps function
12555         is nice to detect recursive invocations, it also makes it 
12556         impossible to call getcaps from multiple threads, which must be
12557         possible. So, checking for recursive calls has to go.
12558
12559 2005-11-11  Michael Smith <msmith@fluendo.com>
12560
12561         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12562           Don't sync on buffers that fall partially outside our current
12563           segment. Prevents an assertion failure/abort playing some files.
12564
12565 2005-11-10  Andy Wingo  <wingo@pobox.com>
12566
12567         * check/gst/gstbin.c (test_message_state_changed_children): Style
12568         fix..
12569
12570         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
12571         gst_bus_poll with the signal watch. Ensures that poll and a signal
12572         watch see the same messages.
12573
12574         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
12575         a poll and a watch at the same time get the same messages.
12576
12577 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12578
12579         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
12580         * gst/gstcaps.c: (gst_caps_intersect):
12581           Don't call gst_caps_do_simplify - it doesn't respect order of caps
12582           and it's not needed.
12583
12584 2005-11-10  Wim Taymans  <wim@fluendo.com>
12585
12586         * docs/design/part-TODO.txt:
12587         Updated todo.
12588
12589 2005-11-10  Wim Taymans  <wim@fluendo.com>
12590
12591         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12592         * gst/base/gstbasesrc.c: (gst_base_src_wait),
12593         (gst_base_src_do_sync), (gst_base_src_get_range):
12594         Implement clock sync in base class.
12595
12596 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12597
12598         patch by: Tim-Philipp Müller <tim at centricular dot net>
12599
12600         * gst/gststructure.c: (gst_structure_parse_field),
12601         (gst_structure_from_string):
12602           Forward-port a 0.8 patch to handle escaped spaces in structure string,
12603           so that gst_parse_launch() can deal with spaces in filtered link
12604           caps (fixes #164479)
12605         * check/gst/capslist.h:
12606         * check/gst/gststructure.c: (GST_START_TEST):
12607           add unit tests for this change
12608
12609 2005-11-10  Wim Taymans  <wim@fluendo.com>
12610
12611         * docs/gst/gstreamer-sections.txt:
12612         * gst/gstelement.c:
12613         * gst/gstelement.h:
12614         Fix docs, move some STATE macros to private.
12615
12616 2005-11-10  Wim Taymans  <wim@fluendo.com>
12617
12618         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12619         Added check for bug #317341
12620
12621         * gst/gstbuffer.c:
12622         * gst/gstbuffer.h:
12623         Some more spiffifying.
12624
12625         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
12626         Call peer linkfunction if we are a source pad. Totally fixes
12627         #317341
12628
12629         * gst/gstpad.c:
12630         Update docs, source pads should call the peer linkfunction
12631         so they can atomically perform the pad link.
12632
12633 2005-11-09  Wim Taymans  <wim@fluendo.com>
12634
12635         * gst/gstbuffer.c:
12636         * gst/gstbuffer.h:
12637         Uber-spiffy-spiffify some more.
12638
12639 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
12640
12641         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
12642         * gst/elements/gstfilesink.c: (gst_file_sink_init):
12643         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12644         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
12645         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
12646         * gst/gstpad.c: (gst_pad_init):
12647           Use GST_DEBUG_FUNCPTR() more extensively.
12648
12649 2005-11-09  Wim Taymans  <wim@fluendo.com>
12650
12651         * gst/gstobject.c: (gst_object_class_init):
12652         * gst/gstobject.h:
12653         Documentation fixes.
12654
12655 2005-11-09  Edward Hervey  <edward@fluendo.com>
12656
12657         * gst/gsttypefindfactory.c:
12658         Fix docs.
12659         
12660 2005-11-09  Edward Hervey  <edward@fluendo.com>
12661
12662         * gst/base/gsttypefindhelper.c:
12663         * gst/gsttypefind.c:
12664         * gst/gsttypefind.h:
12665         Fix docs.
12666
12667 2005-11-09  Wim Taymans  <wim@fluendo.com>
12668
12669         * gst/gstiterator.c:
12670         Fix revision data.
12671
12672         * gst/gsttask.c:
12673         * gst/gsttask.h:
12674         Fix docs.
12675
12676 2005-11-09  Wim Taymans  <wim@fluendo.com>
12677
12678         * gst/gstevent.h:
12679         * gst/gsturi.h:
12680         Fix docs.
12681
12682 2005-11-09  Wim Taymans  <wim@fluendo.com>
12683
12684         * docs/gst/gstreamer-sections.txt:
12685         Moved the message async delivery private lock and cond
12686         to the private section.
12687
12688         * gst/gstmessage.c:
12689         * gst/gstmessage.h:
12690         Fixed docs.
12691
12692 2005-11-09  Edward Hervey  <edward@fluendo.com>
12693
12694         * docs/gst/gstreamer-sections.txt:
12695         * gst/gsturi.c:
12696         * gst/gsturi.h:
12697         Document GstURIHandler
12698
12699 2005-11-09  Wim Taymans  <wim@fluendo.com>
12700
12701         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
12702         (gst_iterator_find_custom):
12703         * gst/gstiterator.h:
12704         Fix iterator docs.
12705
12706 2005-11-09  Wim Taymans  <wim@fluendo.com>
12707
12708         * gst/gstbin.h:
12709         Document another field.
12710
12711         * gst/gststructure.c:
12712         * gst/gststructure.h:
12713         Document.
12714
12715 2005-11-09  Wim Taymans  <wim@fluendo.com>
12716
12717         * gst/gstbin.h:
12718         Documented structs.
12719
12720 2005-11-09  Wim Taymans  <wim@fluendo.com>
12721
12722         * docs/gst/gstreamer-sections.txt:
12723         Added some new macros.
12724
12725         * gst/gstclock.c:
12726         * gst/gstclock.h:
12727         * gst/gstobject.h:
12728         Docs updates.
12729
12730 2005-11-09  Wim Taymans  <wim@fluendo.com>
12731
12732         * docs/design/part-TODO.txt:
12733         Some more items for the TODO
12734
12735         * gst/gstcaps.c:
12736         * gst/gstcaps.h:
12737         Document GstCaps.
12738
12739 2005-11-09  Andy Wingo  <wingo@pobox.com>
12740
12741         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
12742         to work on something else now tho...
12743
12744         * gst/base/gstadapter.c: More adapter docs.
12745
12746         * gst/elements/gstfilesink.c (gst_file_sink_start) 
12747         (gst_file_sink_stop): New functions, replace the state change
12748         handler.
12749         (gst_file_sink_class_init): Hook up the start and stop functions.
12750         (gst_file_sink_base_init): Don't set the state change handler any
12751         more. It was a bit ugly too, being set from here...
12752         (gst_file_sink_get_property, gst_file_sink_set_property):
12753         Cleanups...
12754         (gst_file_sink_set_location): More robust check that doesn't call
12755         GST_STATE. Ugggggg.
12756
12757 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
12758
12759         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12760           Hold STREAM_LOCK while pushing newsegment or tag events as well.
12761
12762 2005-11-08  Wim Taymans  <wim@fluendo.com>
12763
12764         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12765         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12766         (gst_base_sink_chain), (gst_base_sink_change_state):
12767         * gst/base/gstbasesink.h:
12768         * gst/base/gstbasesrc.h:
12769         * gst/gstelement.h:
12770         * gst/gstevent.h:
12771         Avoid excessive typechecking in macros.
12772
12773         * gst/gstminiobject.c: (gst_mini_object_get_type),
12774         (gst_mini_object_init), (gst_mini_object_new),
12775         (gst_mini_object_free):
12776         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12777         (gst_object_finalize):
12778         Remove cruft code, optimize alloc_trace.
12779
12780 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12781
12782         * docs/faq/gst-uninstalled:
12783           fix up PS1 for systems that try to reset it
12784
12785 2005-11-07  Wim Taymans  <wim@fluendo.com>
12786
12787         * gst/base/gstbasesrc.c: (gst_base_src_init),
12788         (gst_base_src_get_range):
12789         Set the segment_end to -1 initially. Fixed typefind.
12790
12791 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
12792
12793         * gst/base/gstadapter.c:
12794           Debug category should be 'adapter', not 'GstAdapter'.
12795           
12796         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
12797         (gst_collectpads_class_init), (gst_collectpads_init),
12798         (gst_collectpads_peek), (gst_collectpads_pop),
12799         (gst_collectpads_event), (gst_collectpads_chain):
12800           Add debug category and some debugging output. Use boilerplate
12801           macros. Remove some extraneous words from docs.
12802
12803 2005-11-05  Andy Wingo  <wingo@pobox.com>
12804
12805         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
12806         macro.
12807
12808 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12809
12810         * docs/gst/gstreamer-sections.txt:
12811         * gst/gstcaps.h:
12812         * gst/gstinfo.c:
12813         * gst/gstminiobject.h:
12814         * gst/gstobject.h:
12815         * gst/gstutils.h:
12816           more docs added
12817
12818 2005-11-04  Wim Taymans  <wim@fluendo.com>
12819
12820         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12821         Small update to stop at the configured segment_end
12822         position.
12823
12824 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12825
12826         * gst/gstregistry.c:
12827         * gst/gstregistry.h:
12828           added missing docs
12829
12830 2005-11-04  Edward Hervey  <edward@fluendo.com>
12831
12832         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12833         Check if we are doing a segment seek and have arrived at the
12834         end of that segment.
12835
12836 2005-11-04  Wim Taymans  <wim@fluendo.com>
12837
12838         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
12839         Don't leak a mutex unlock in case of an error.
12840
12841         * gst/gstbus.h:
12842         Doc fixes.
12843
12844 2005-11-04  Wim Taymans  <wim@fluendo.com>
12845
12846         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
12847         (gst_bus_post):
12848         Get the context to wake up only once.
12849
12850 2005-11-03  Wim Taymans  <wim@fluendo.com>
12851
12852         * check/states/sinks.c: (GST_START_TEST):
12853         Uncomment fixed check.
12854
12855         * docs/design/part-TODO.txt:
12856         Updated TODO.
12857
12858         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12859         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12860         (gst_base_sink_get_position):
12861         If we are going to PLAYING, post the right pending state
12862         when we post the intermediate paused message.
12863
12864         * gst/gstelement.c: (gst_element_continue_state),
12865         (gst_element_set_state_func), (gst_element_change_state):
12866         Don't post state changes that were between the same state
12867         and were not ASYNC.
12868
12869 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
12870
12871         * docs/gst/gstreamer-sections.txt:
12872         * gst/gstcaps.h:
12873         * gst/gstinfo.c:
12874         * gst/gstminiobject.h:
12875         * gst/gstobject.h:
12876         * gst/gstutils.h:
12877           more docs and doc style fixes
12878
12879 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
12880
12881         * docs/gst/gstreamer-sections.txt:
12882         * gst/gstelement.c:
12883         * gst/gstminiobject.c:
12884         doc fixes
12885
12886 2005-11-03  Andy Wingo  <wingo@pobox.com>
12887
12888         * check/states/sinks.c (test_livesrc_sink): Add checks that the
12889         state-changed messages actually have the right order and the right
12890         values.
12891
12892 2005-11-03  Wim Taymans  <wim@fluendo.com>
12893
12894         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
12895         Added some more checks. Specifically the case where NO_PREROLL
12896         elements are in the pipeline.
12897
12898         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12899         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12900         (gst_base_sink_get_position):
12901         Post READY->PAUSED state change messages too.
12902         Fix bug where VOID was posted as pending state...
12903
12904         * gst/gstbin.c: (gst_bin_recalc_state):
12905         use _element_continue_state() to continue the state change.
12906
12907         * gst/gstelement.c: (gst_element_continue_state),
12908         (gst_element_commit_state), (gst_element_set_state_func),
12909         (gst_element_change_state), (gst_element_change_state_func):
12910         Lots of state change cleanups, assign the STATE_RETURN in
12911         a new continue_state() function that also propagates the
12912         last return value from a state change to the app.
12913         Update some debug statements with proper category.
12914
12915 2005-11-03  Wim Taymans  <wim@fluendo.com>
12916
12917         * docs/design/part-events.txt:
12918         * docs/design/part-gstpipeline.txt:
12919         * docs/design/part-messages.txt:
12920         * docs/design/part-overview.txt:
12921         * docs/design/part-seeking.txt:
12922         * docs/design/part-states.txt:
12923         * docs/design/part-trickmodes.txt:
12924         * docs/manual/advanced-position.xml:
12925         Small docs updates.
12926
12927         * gst/gstobject.h:
12928         People think !! is ugly, this looks better.
12929
12930         * gst/gstpad.c: (gst_pad_set_blocked_async):
12931         Remove !! since it's fixed elsewhere now.
12932
12933 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12934
12935         * gst/gstminiobject.h:
12936         * gst/gstobject.h:
12937           Add !! to _FLAG_IS_SET macros to make the result boolean.
12938
12939 2005-11-03  Edward Hervey  <edward@fluendo.com>
12940
12941         * gst/gstpad.c: (gst_pad_set_blocked_async):
12942         comparing a flag and a gboolean rarely returns coherent results...
12943         Added two characters (!!) to make that work correctly.
12944         
12945 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12946
12947         * gst/gstbus.c: (gst_bus_class_init):
12948           Fix some typos.
12949           
12950         * gst/gstqueue.c: (gst_queue_loop):
12951           Don't assume a miniobject that isn't a buffer is an
12952           event (it could be that there is a refcounting
12953           problem somewhere and the pointer is stale and
12954           refers to an already destroyed miniobject).
12955
12956 2005-11-03  Julien MOUTTE  <julien@moutte.net>
12957
12958         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
12959
12960 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12961
12962         * docs/manual/advanced-position.xml:
12963           Update seek example and explanations to current 0.9 API.
12964
12965         * gst/elements/gsttypefindelement.c:
12966         (gst_type_find_element_activate):
12967           Remove FIXME comment now that the found caps
12968           are unreffed.
12969
12970 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
12971
12972         * gst/gstregistryxml.c: (load_feature):
12973           Add another GST_STR_NULL instance
12974
12975 2005-11-02  Edward Hervey  <edward@fluendo.com>
12976
12977         * gst/gstpad.c: (handle_pad_block):
12978         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
12979         
12980 2005-11-02  Wim Taymans  <wim@fluendo.com>
12981
12982         * gst/gstbin.c:
12983         Fix typo in docs.
12984
12985         * gst/gstelement.c: (gst_element_commit_state):
12986         Remove unused value.
12987
12988         * gst/gstiterator.c:
12989         Mention that the returned element is reffed in the docs.
12990
12991 2005-11-02  Wim Taymans  <wim@fluendo.com>
12992
12993         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
12994         (gst_pad_push), (gst_pad_push_event):
12995         Unlock blocked pads when they are flushed.
12996
12997 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
12998
12999         * docs/README:
13000         * docs/gst/gstreamer-sections.txt:
13001         * gst/gstbin.c:
13002           doc updates
13003         * gst/gstregistry.c: (gst_registry_scan_path_level):
13004           fix for a nasty little missed situation where an installed plug-in
13005           which was in the cache did not get overridden by an uninstalled one
13006           which was earlier in the plugin path because the newly created plugin
13007           for the uninstalled one (not in the registry) didn't get its
13008           ->registered set to TRUE
13009
13010 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
13011
13012         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
13013         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
13014         (gst_collectpads_is_active), (gst_collectpads_collect),
13015         (gst_collectpads_collect_range), (gst_collectpads_start),
13016         (gst_collectpads_stop), (gst_collectpads_peek),
13017         (gst_collectpads_pop), (gst_collectpads_available),
13018         (gst_collectpads_read), (gst_collectpads_flush):
13019           Guard public API with assertions.
13020         
13021         * gst/gstpad.c:
13022           Fix docs for gst_pad_set_link_function().
13023
13024 2005-11-02  Johan Dahlin  <johan@gnome.org>
13025
13026         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
13027         Unref found_caps after we used it.
13028
13029 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
13030
13031         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
13032           Don't try to ref NULL.
13033
13034 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13035
13036         * win32/common/config.h.in:
13037           provide a GST_FUNCTION that just gives a string for now
13038
13039 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13040
13041         * win32/common/gstenumtypes.c: (register_gst_object_flags),
13042         (gst_object_flags_get_type), (register_gst_bin_flags),
13043         (gst_bin_flags_get_type), (register_gst_buffer_flag),
13044         (gst_buffer_flag_get_type), (register_gst_bus_flags),
13045         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
13046         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
13047         (gst_clock_return_get_type), (register_gst_clock_entry_type),
13048         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
13049         (gst_clock_flags_get_type), (register_gst_state),
13050         (gst_state_get_type), (register_gst_state_change_return),
13051         (gst_state_change_return_get_type), (register_gst_state_change),
13052         (gst_state_change_get_type), (register_gst_element_flags),
13053         (gst_element_flags_get_type), (register_gst_core_error),
13054         (gst_core_error_get_type), (register_gst_library_error),
13055         (gst_library_error_get_type), (register_gst_resource_error),
13056         (gst_resource_error_get_type), (register_gst_stream_error),
13057         (gst_stream_error_get_type), (register_gst_event_type),
13058         (gst_event_type_get_type), (register_gst_seek_type),
13059         (gst_seek_type_get_type), (register_gst_seek_flags),
13060         (gst_seek_flags_get_type), (register_gst_format),
13061         (gst_format_get_type), (register_gst_index_certainty),
13062         (gst_index_certainty_get_type), (register_gst_index_entry_type),
13063         (gst_index_entry_type_get_type),
13064         (register_gst_index_lookup_method),
13065         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
13066         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
13067         (gst_index_resolver_method_get_type), (register_gst_index_flags),
13068         (gst_index_flags_get_type), (register_gst_debug_level),
13069         (gst_debug_level_get_type), (register_gst_debug_color_flags),
13070         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
13071         (gst_iterator_result_get_type), (register_gst_iterator_item),
13072         (gst_iterator_item_get_type), (register_gst_message_type),
13073         (gst_message_type_get_type), (register_gst_mini_object_flags),
13074         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
13075         (gst_pad_link_return_get_type), (register_gst_flow_return),
13076         (gst_flow_return_get_type), (register_gst_activate_mode),
13077         (gst_activate_mode_get_type), (register_gst_pad_direction),
13078         (gst_pad_direction_get_type), (register_gst_pad_flags),
13079         (gst_pad_flags_get_type), (register_gst_pad_presence),
13080         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
13081         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
13082         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
13083         (gst_plugin_error_get_type), (register_gst_plugin_flags),
13084         (gst_plugin_flags_get_type), (register_gst_rank),
13085         (gst_rank_get_type), (register_gst_query_type),
13086         (gst_query_type_get_type), (register_gst_tag_merge_mode),
13087         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
13088         (gst_tag_flag_get_type), (register_gst_task_state),
13089         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
13090         (gst_alloc_trace_flags_get_type),
13091         (register_gst_type_find_probability),
13092         (gst_type_find_probability_get_type), (register_gst_uri_type),
13093         (gst_uri_type_get_type), (register_gst_parse_error),
13094         (gst_parse_error_get_type):
13095         * win32/common/gstversion.h:
13096           update win32 copies
13097
13098 2005-11-01  Luca Ognibene  <luogni@tin.it>
13099
13100         * gst/gst.c:
13101           fix docs. popt is dead, long live GOption.
13102
13103 2005-10-31  Wim Taymans  <wim@fluendo.com>
13104
13105         * gst/gstbuffer.h:
13106         Small doc fix.
13107
13108 2005-10-31  Andy Wingo  <wingo@pobox.com>
13109
13110         * Boo!
13111
13112         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
13113
13114         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
13115         need to serialize property notifications on GLib 2.8. GLib 2.6 has
13116         the possibility of deadlocks here if code calling notify() or
13117         set() has a lock that can be taken in another notify handler (ABBA
13118         with class lock and e.g. python GIL state lock).
13119
13120 2005-10-28  Julien MOUTTE  <julien@moutte.net>
13121
13122         * gst/gstbus.c: Doc updates.
13123
13124 2005-10-28  Wim Taymans  <wim@fluendo.com>
13125
13126         * docs/design/part-TODO.txt:
13127         * gst/gstiterator.c:
13128         * gst/gstsystemclock.c:
13129         * gst/gstsystemclock.h:
13130         Doc updates.
13131
13132 2005-10-28  Edward Hervey  <edward@fluendo.com>
13133
13134         * docs/gst/gstreamer-docs.sgml:
13135         * docs/gst/gstreamer-sections.txt:
13136         the GstURIType documentation page is private, it only defines GstURIType
13137         which should be defined in the GstURIHandler page
13138         
13139 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13140
13141         * gst/gstbin.c: (gst_bin_class_init):
13142         * gst/gstbin.h:
13143         * gst/gstutils.c:
13144         Documentation updates.
13145
13146 2005-10-28  Wim Taymans  <wim@fluendo.com>
13147
13148         * docs/gst/gstreamer-sections.txt:
13149         * gst/gstclock.c:
13150         * gst/gstclock.h:
13151         Documented the clocks.
13152
13153 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
13154
13155         * docs/gst/gstreamer-sections.txt:
13156           move some macros to private sections
13157         * gst/gstminiobject.c:
13158         * gst/gstminiobject.h:
13159           add descriptions provided by ds and some more
13160         * gst/gstpad.h:
13161           mark macro as to be removed
13162
13163 2005-10-28  Wim Taymans  <wim@fluendo.com>
13164
13165         * docs/design/part-TODO.txt:
13166         Add an item to TODO.
13167
13168         * gst/gstiterator.c: (gst_iterator_fold),
13169         (gst_iterator_find_custom):
13170         * gst/gstiterator.h:
13171         Add iterator docs.
13172
13173 2005-10-28  Wim Taymans  <wim@fluendo.com>
13174
13175         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13176         (gst_base_transform_init):
13177         Don't leak class.
13178
13179         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
13180         An EOS event marks the queue as completely filled.
13181
13182 2005-10-27  Wim Taymans  <wim@fluendo.com>
13183
13184         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13185         (gst_base_sink_do_sync), (gst_base_sink_get_position):
13186         Some more debugging.
13187
13188         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
13189         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
13190         (gst_base_transform_event), (gst_base_transform_getrange),
13191         (gst_base_transform_chain):
13192         * gst/base/gstbasetransform.h:
13193         Fix debugging,
13194         Protect transform and concurrent buffer alloc with a new lock.
13195         Try not to break ABI/API.
13196
13197 2005-10-27  Wim Taymans  <wim@fluendo.com>
13198
13199         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13200         (gst_base_src_init), (gst_base_src_query),
13201         (gst_base_src_default_newsegment),
13202         (gst_base_src_configure_segment), (gst_base_src_do_seek),
13203         (gst_base_src_send_event), (gst_base_src_event_handler),
13204         (gst_base_src_pad_get_range), (gst_base_src_loop),
13205         (gst_base_src_unlock), (gst_base_src_default_negotiate),
13206         (gst_base_src_start), (gst_base_src_deactivate),
13207         (gst_base_src_activate_push), (gst_base_src_change_state):
13208         Move some stuff around and cleanup things.
13209
13210 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
13211
13212         * gst/base/gstbasesrc.c: (gst_base_src_query):
13213           Add missing break statements.
13214
13215 2005-10-27  Wim Taymans  <wim@fluendo.com>
13216
13217         * check/gst/gstbin.c: (GST_START_TEST):
13218         An extra refcount is taken in basesrc.
13219
13220         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
13221         (gst_base_src_get_range), (gst_base_src_pad_get_range),
13222         (gst_base_src_loop):
13223         Small cleanups, check for flushing after being unlocked from the 
13224         LIVE_LOCK. take refcounts correctly (not yet everywhere).
13225         Don't send out EOS when going to READY.
13226
13227 2005-10-27  Wim Taymans  <wim@fluendo.com>
13228
13229         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13230         (gst_base_sink_get_position):
13231         Some more debug.
13232
13233         * gst/gstbin.c: (message_check), (bin_replace_message),
13234         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13235         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13236         (bin_query_duration_init), (bin_query_duration_fold),
13237         (bin_query_duration_done), (bin_query_generic_fold),
13238         (gst_bin_query):
13239         * tools/gst-launch.c: (main):
13240         Remove old option.
13241
13242 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
13243
13244         * examples/controller/audio-example.c: (main):
13245         * examples/queue/queue.c: (event_loop):
13246         * gst/base/gstbasetransform.h:
13247         * gst/gstelement.c: (gst_element_send_event):
13248         * gst/gstevent.h:
13249         * gst/gstpad.c: (gst_pad_send_event):
13250           fixing examples
13251           fixing docs typos
13252           changing log priority in error situations
13253
13254 2005-10-25  Wim Taymans  <wim@fluendo.com>
13255
13256         * gst/gstbin.c: (message_check), (bin_replace_message),
13257         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13258         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13259         (bin_query_duration_init), (bin_query_duration_fold),
13260         (bin_query_duration_done), (bin_query_generic_fold),
13261         (gst_bin_query):
13262         Some doc and debug updates.
13263         Cache previously requested query DURATION for speed. invalidate
13264         cached duration if element posts a DURATION message.
13265
13266 2005-10-25  Wim Taymans  <wim@fluendo.com>
13267
13268         * docs/design/part-TODO.txt:
13269         Update TODO.
13270
13271         * gst/gstbin.c: (message_check), (bin_replace_message),
13272         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13273         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13274         (bin_query_duration_init), (bin_query_duration_fold),
13275         (bin_query_duration_done), (bin_query_generic_fold),
13276         (gst_bin_query):
13277         Handle SEGMENT_START/DONE messages correctly.
13278         More evolved query algorithm that handles duration queries
13279         correctly.
13280
13281         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
13282         (gst_element_get_state_func), (gst_element_abort_state),
13283         (gst_element_commit_state), (gst_element_lost_state):
13284         Some more debugging.
13285
13286         * gst/gstmessage.h:
13287         Added doc.
13288
13289 2005-10-25  Wim Taymans  <wim@fluendo.com>
13290
13291         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
13292         Don't use invalid stream_time.
13293
13294         * gst/gstevent.c: (gst_event_new_newsegment):
13295         stream_time in newsegment cannot be undefined.
13296
13297 2005-10-24  Wim Taymans  <wim@fluendo.com>
13298
13299         * gst/gstbus.c:
13300         Doc fix.
13301
13302         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13303         (gst_queue_loop):
13304         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
13305
13306 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
13307
13308         * docs/libs/tmpl/gstdparam.sgml:
13309         * docs/libs/tmpl/gstdplinint.sgml:
13310         * docs/libs/tmpl/gstdpman.sgml:
13311         * docs/libs/tmpl/gstdpsmooth.sgml:
13312         * docs/libs/tmpl/gstunitconvert.sgml:
13313           these are obsolete
13314
13315 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13316
13317         * configure.ac:
13318           back to HEAD
13319
13320 === release 0.9.4 ===
13321
13322 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13323
13324         * configure.ac:
13325           releasing 0.9.4, "Tyrannosaurus Rex"
13326
13327 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
13328
13329         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13330         (gst_file_sink_get_current_offset):
13331           Use fseeko() and ftello() if available. When falling back on
13332           lseek() to get the current offset, fflush() first to make sure
13333           everything is up-to-date and we get the right offset.
13334
13335 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13336
13337         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13338         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13339         * gst/gsterror.c: (_gst_stream_errors_init):
13340         * gst/gsterror.h:
13341         * gst/gstqueue.c: (gst_queue_loop):
13342         * po/POTFILES.in:
13343           remove prematurely added error category and clean up the instances
13344
13345 2005-10-21  Wim Taymans  <wim@fluendo.com>
13346
13347         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13348         (gst_base_sink_get_position), (gst_base_sink_query),
13349         (gst_base_sink_change_state):
13350         Simply set the right flag when going to playing, that's all
13351         we need to do instead of calling a function inside the object
13352         lock (that could take the lock as well and deadlock)
13353
13354 2005-10-21  Wim Taymans  <wim@fluendo.com>
13355
13356         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
13357         (gst_base_src_loop):
13358         Don't warn, the peer element knows what to do best when
13359         the seek failed, it might try something else.
13360
13361 2005-10-21  Wim Taymans  <wim@fluendo.com>
13362
13363         * gst/base/gstbasesrc.c: (gst_base_src_init),
13364         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13365         Fix seeking.
13366
13367 2005-10-21  Wim Taymans  <wim@fluendo.com>
13368
13369         * docs/design/part-segments.txt:
13370         More docs.
13371
13372         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13373         Correctly set caps, even on the subbufer.
13374
13375 2005-10-21  Wim Taymans  <wim@fluendo.com>
13376
13377         * docs/gst/gstreamer-docs.sgml:
13378         * docs/gst/gstreamer-sections.txt:
13379         * gst/gstelement.h:
13380         * gst/gstevent.c:
13381         * gst/gstevent.h:
13382         * gst/gstmessage.h:
13383         * gst/gstpad.h:
13384         * gst/gstparse.h:
13385         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
13386         * gst/gsttask.h:
13387         * gst/gstutils.c:
13388         * gst/gstutils.h:
13389         And 2% more doc coverage.
13390
13391 2005-10-21  Andy Wingo  <wingo@pobox.com>
13392
13393         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
13394         position reporting.
13395
13396 2005-10-20  Wim Taymans  <wim@fluendo.com>
13397
13398         * gst/gsterror.c: (gst_error_get_message):
13399         * gst/gstparse.h:
13400         * gst/gstquery.h:
13401         * gst/gststructure.c:
13402         * gst/gsttrace.c:
13403         * gst/gstutils.c:
13404         More docs.
13405
13406 2005-10-20  Wim Taymans  <wim@fluendo.com>
13407
13408         * gst/gstbuffer.h:
13409         * gst/gstpad.c:
13410         * gst/gstparse.c:
13411         Another 1% more coverage.
13412
13413 2005-10-20  Wim Taymans  <wim@fluendo.com>
13414
13415         * docs/gst/gstreamer-sections.txt:
13416         * gst/gstelement.c: (gst_element_get_state_func),
13417         (gst_element_abort_state), (gst_element_commit_state),
13418         (gst_element_lost_state):
13419         * gst/gstevent.h:
13420         * gst/gstquery.c: (gst_query_set_position),
13421         (gst_query_parse_position), (gst_query_set_duration),
13422         (gst_query_parse_duration), (gst_query_new_convert):
13423         * gst/gstutils.c:
13424         Yay! 1% more docs coverage.
13425
13426 2005-10-20  Wim Taymans  <wim@fluendo.com>
13427
13428         * gst/gstpad.h:
13429         * gst/gstquery.c: (gst_query_set_position),
13430         (gst_query_parse_position), (gst_query_set_duration),
13431         (gst_query_parse_duration), (gst_query_new_convert):
13432         * gst/gstquery.h:
13433         * gst/gstutils.c: (gst_element_query_convert):
13434         * gst/gstutils.h:
13435         Docs and consistency fixes.
13436
13437 2005-10-20  Wim Taymans  <wim@fluendo.com>
13438
13439         * gst/gsttask.c:
13440         * gst/gsttask.h:
13441         More docs.
13442
13443 2005-10-20  Wim Taymans  <wim@fluendo.com>
13444
13445         * gst/gstbin.c: (message_check), (bin_replace_message),
13446         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13447         (update_degree), (gst_bin_sort_iterator_next),
13448         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
13449         Reworked the message handling a bit, cache the messages instead of
13450         only the senders. alows us to do more in the future.
13451
13452 2005-10-20  Wim Taymans  <wim@fluendo.com>
13453
13454         * docs/design/part-TODO.txt:
13455         Update TODO
13456
13457         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13458         (gst_base_sink_query):
13459         Don't use clock time to report position when in EOS.
13460
13461 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
13462
13463         * tools/gst-inspect.c: (print_interfaces),
13464         (print_element_properties_info), (print_element_info):
13465           Fix interface output with gst-inspect -a; don't print
13466           newlines after double/float properties.
13467
13468 2005-10-20  Wim Taymans  <wim@fluendo.com>
13469
13470         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13471         (gst_base_sink_query):
13472         Speed up current position calculation.
13473
13474         * gst/base/gstbasesrc.c: (gst_base_src_query),
13475         (gst_base_src_default_newsegment):
13476         Correctly set stream position in newsegment.
13477
13478         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
13479         (update_degree), (gst_bin_sort_iterator_next),
13480         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
13481         * gst/gstmessage.c: (gst_message_new_custom):
13482         Clean up debugging info
13483
13484         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13485         (gst_queue_loop), (gst_queue_handle_src_query):
13486         Pause task faster.
13487
13488 2005-10-19  Wim Taymans  <wim@fluendo.com>
13489
13490         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13491         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13492         Fix query handling again.
13493
13494 2005-10-19  Wim Taymans  <wim@fluendo.com>
13495
13496         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13497         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13498         * gst/base/gstbasesrc.c: (gst_base_src_query):
13499         * gst/elements/gstfilesink.c: (gst_file_sink_query):
13500         * gst/elements/gsttypefindelement.c:
13501         (gst_type_find_handle_src_query), (find_element_get_length),
13502         (gst_type_find_element_activate):
13503         API change fix.
13504
13505         * gst/gstquery.c: (gst_query_new_position),
13506         (gst_query_set_position), (gst_query_parse_position),
13507         (gst_query_new_duration), (gst_query_set_duration),
13508         (gst_query_parse_duration), (gst_query_set_segment),
13509         (gst_query_parse_segment):
13510         * gst/gstquery.h:
13511         Bundling query position/duration is not a good idea since duration
13512         does not change much and we don't want to recalculate it for every
13513         position query, so they are separated again..
13514         Base value in segment query is not needed.
13515
13516         * gst/gstqueue.c: (gst_queue_handle_src_query):
13517         * gst/gstutils.c: (gst_element_query_position),
13518         (gst_element_query_duration), (gst_pad_query_position),
13519         (gst_pad_query_duration):
13520         * gst/gstutils.h:
13521         Updates for query API change.
13522         Added some docs here and there.
13523
13524 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13525
13526         * check/gst/gstbin.c: (GST_START_TEST):
13527         * check/gst/gstghostpad.c: (GST_START_TEST):
13528         * check/pipelines/cleanup.c: (GST_START_TEST):
13529           wait on thread to die so we can check refcount correctly
13530
13531 2005-10-18  Wim Taymans  <wim@fluendo.com>
13532
13533         * check/pipelines/stress.c: (GST_START_TEST):
13534         Make check a little more time consuming.
13535
13536 2005-10-18  Wim Taymans  <wim@fluendo.com>
13537
13538         * check/Makefile.am:
13539         * check/pipelines/stress.c: (GST_START_TEST),
13540         (simple_launch_lines_suite), (main):
13541         Small state change torture test.
13542
13543         * docs/design/part-states.txt:
13544         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13545         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
13546         (gst_base_sink_change_state):
13547         Never take state lock from streaming thread, clean up ugly
13548         hacks. Unfortunatly core does not yet support nice ways to
13549         async commit state.
13550         
13551         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
13552         (bin_bus_handler):
13553         Start state recalc if a STATE_DIRTY message is posted, but only
13554         on the toplevel bin.
13555
13556         * gst/gstelement.c: (gst_element_sync_state_with_parent),
13557         (gst_element_get_state_func), (gst_element_abort_state),
13558         (gst_element_commit_state), (gst_element_lost_state),
13559         (gst_element_set_state_func), (gst_element_change_state):
13560         * gst/gstelement.h:
13561         State variables are now protected with the LOCK, the state
13562         lock is only used to serialize _set_state().
13563
13564 2005-10-18  Wim Taymans  <wim@fluendo.com>
13565
13566         * check/gst/gstbin.c: (GST_START_TEST):
13567         * check/gst/gstmessage.c: (GST_START_TEST):
13568         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13569         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
13570         (bin_bus_handler):
13571         * gst/gstelement.c: (gst_element_abort_state),
13572         (gst_element_commit_state), (gst_element_lost_state):
13573         * gst/gstmessage.c: (gst_message_new_state_changed),
13574         (gst_message_new_state_dirty), (gst_message_new_segment_start),
13575         (gst_message_new_segment_done), (gst_message_new_duration),
13576         (gst_message_parse_state_changed),
13577         (gst_message_parse_segment_start),
13578         (gst_message_parse_segment_done), (gst_message_parse_duration):
13579         * gst/gstmessage.h:
13580         * tools/gst-launch.c: (event_loop):
13581         Seriously, this is better than a previous commit as we only need
13582         to notify the fact that an element changed state in a streaming
13583         thread, marking the state of the parents dirty, hence the 
13584         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
13585         message.
13586
13587 2005-10-18  Wim Taymans  <wim@fluendo.com>
13588
13589         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
13590         (gst_bin_recalc_func):
13591         * gst/gstelement.c: (gst_element_set_clock),
13592         (gst_element_abort_state), (gst_element_lost_state):
13593         Cleanups, prepare for state change fixes.
13594
13595 2005-10-18  Wim Taymans  <wim@fluendo.com>
13596
13597         * gst/gstbin.h:
13598         * gst/gstelement.c: (gst_element_class_init),
13599         (gst_element_set_state), (gst_element_set_state_func):
13600         * gst/gstelement.h:
13601         Pending ABI changes.
13602         GThreadPool in GstBinClass to monitor async state changes.
13603         state_cookie in GstElement to detect concurrent gst/set state.
13604         set_state is now virtual too in case a very complicated element
13605         has to be constructed.
13606
13607 2005-10-18  Wim Taymans  <wim@fluendo.com>
13608
13609         * check/gst/gstbin.c: (GST_START_TEST):
13610         * check/gst/gstmessage.c: (GST_START_TEST):
13611         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13612         * gst/gstbin.c: (bin_bus_handler):
13613         * gst/gstelement.c: (gst_element_commit_state),
13614         (gst_element_lost_state):
13615         * gst/gstmessage.c: (gst_message_new_state_changed),
13616         (gst_message_new_segment_start), (gst_message_new_segment_done),
13617         (gst_message_new_duration), (gst_message_parse_state_changed),
13618         (gst_message_parse_segment_start),
13619         (gst_message_parse_segment_done), (gst_message_parse_duration):
13620         * gst/gstmessage.h:
13621         * tools/gst-launch.c: (event_loop):
13622         Make messages future proof.
13623         state-change gets a flag if it was a message comming from the
13624         streaming thread.
13625         segment-start/stop can also be specified in other formats.
13626         A message to notify an app that a pipeline changed playback 
13627         duration.
13628         Also fix a GstMessage leak in -launch
13629
13630 2005-10-18  Andy Wingo  <wingo@pobox.com>
13631
13632         * gst/gstelement.c (gst_element_dispose): More helpful message.
13633
13634 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13635
13636         reviewed by: <delete if not using a buddy>
13637
13638         * common/gtk-doc.mak:
13639
13640 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13641
13642         * gst/gstregistry.c: (gst_registry_scan_path_level):
13643           unref a plug-in we get that was already initialized
13644
13645 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
13646
13647         * docs/gst/gstreamer-sections.txt:
13648         * docs/libs/gstreamer-libs-sections.txt:
13649         * gst/gstelement.h:
13650           add new api entries
13651           hide internal macro
13652
13653 2005-10-17  Andy Wingo  <wingo@pobox.com>
13654
13655         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
13656         cleanup.
13657
13658         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
13659
13660         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
13661
13662         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
13663         (gst_element_get_state_func): Better debug message.
13664         (gst_element_commit_state): s/INFO/DEBUG/.
13665         (gst_element_lost_state, gst_element_change_state): 
13666
13667         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
13668         (gst_message_new_custom): s/INFO/LOG/.
13669
13670 2005-10-17  Michael Smith <msmith@fluendo.com>
13671
13672         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13673           Check if end time is valid using end time, not start time.
13674
13675 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
13676
13677         * check/gst-libs/controller.c: (GST_START_TEST),
13678         (gst_controller_suite):
13679         * libs/gst/controller/gstcontroller.c:
13680         (gst_controlled_property_set_interpolation_mode):
13681         * libs/gst/controller/gstcontroller.h:
13682         * libs/gst/controller/gstinterpolation.c:
13683         * testsuite/controller/.cvsignore:
13684         * testsuite/controller/Makefile.am:
13685         * testsuite/controller/interpolator.c:
13686           merge controller testsuites
13687           fix broken tests
13688           remove mem-chunk from docs
13689
13690 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13691
13692         * gst/gstmemchunk.c:
13693         * gst/gstmemchunk.h:
13694         * gst/gsttrashstack.c:
13695         * gst/gsttrashstack.h:
13696           out.  get out.  you're fired.  to the Attic !
13697
13698 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13699
13700         * gst/gstcaps.c: (gst_caps_intersect):
13701           fix signedness issues in a (hopefully) correct way
13702         * gst/gstelement.c: (gst_element_pads_activate):
13703           some debugging
13704         * gst/gstobject.c: (gst_object_set_parent):
13705           some debugging
13706
13707 2005-10-17  Julien MOUTTE  <julien@moutte.net>
13708
13709         * gst/gstvalue.h: Fix prototypes.
13710
13711 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13712
13713         * docs/gst/gstreamer-sections.txt:
13714         * gst/gst.c: (gst_version_string):
13715         * gst/gst.h:
13716         * gst/gstversion.h.in:
13717         * win32/common/libgstreamer.def:
13718           add gst_version_string ()
13719
13720 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13721
13722         * configure.ac:
13723           clean up further
13724         * gst/gst.c: (init_post):
13725         * win32/common/config.h.in:
13726           it's PLUGINDIR now
13727         * gst/gstcaps.c: (gst_caps_intersect):
13728           use gint64, the range could be bigger than a guint
13729
13730 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13731
13732         * gst/gstclock.h:
13733           document potential problem in 2038
13734
13735 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13736
13737         * gst/gstcaps.c: (gst_caps_intersect):
13738           Fix guint j diving under 0
13739
13740 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13741
13742         * configure.ac:
13743         * win32/common/config.h:
13744         * win32/common/config.h.in:
13745           check for process.h, declares getpid() on Windows
13746         * gst/gstinfo.c:
13747           include process.h if we have it
13748         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
13749         * gst/gstmemchunk.h:
13750           fix signedness issues
13751         * win32/common/libgstreamer.def:
13752           fix get_type's
13753
13754 2005-10-16  Julien MOUTTE  <julien@moutte.net>
13755
13756         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
13757         fix. Because of unsigned ints, caps intersection was going nuts and
13758         trying to access structures with G_MAXUINT index. That fixes
13759         videotestsrc ! ffmpegcolorspace ! fakesink
13760         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
13761         consistency.
13762
13763 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13764
13765         * configure.ac:
13766           use the gettext macro
13767         * gst/elements/gstelements.c:
13768         * gst/gst.c:
13769         * gst/indexers/gstindexers.c:
13770           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
13771         * win32/common/config.h:
13772           updated config.h
13773         * win32/common/config.h.in:
13774           add the template to generate config.h
13775         * win32/common/gstenumtypes.c:
13776         * win32/common/gstversion.h:
13777           updated copies
13778
13779 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13780
13781         * gst/gst.c: (gst_version):
13782         * gst/gstversion.h.in:
13783           add the nano
13784
13785 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13786
13787         * gst/gstevent.h:
13788           Oops, add missing closing bracket.
13789
13790 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13791
13792         * configure.ac:
13793           use common m4's for argument checking
13794
13795 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13796
13797         * docs/gst/gstreamer-sections.txt:
13798         * gst/gstevent.h:
13799           Add GST_EVENT_TYPE_NAME() macro.
13800
13801 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13802
13803         * gst/gstinfo.c:
13804         * gst/gstpluginfeature.c:
13805         * gst/gsttask.c:
13806           privatize more symbols
13807
13808 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13809
13810         * configure.ac:
13811           add srcdir, builddir includes to GST_ALL_CFLAGS, since
13812           everything that uses GStreamer API should have the includes
13813
13814 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13815
13816         * docs/gst/gstreamer-sections.txt:
13817         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
13818         * gst/gstvalue.h:
13819           give each value a _get_type, removes the DATA exports
13820
13821 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13822
13823         * gst/gst.c:
13824         * gst/gst.h:
13825           remove _gst_registry_auto_load, not used anymore
13826         * gst/gstbin.c: (gst_bin_get_type):
13827         * gst/gstbin.h:
13828         * gst/gstelement.c: (gst_element_get_type):
13829         * gst/gstelement.h:
13830         * gst/gstobject.c: (gst_object_get_type):
13831         * gst/gstobject.h:
13832         * gst/gstpad.c: (gst_pad_get_type):
13833         * gst/gstpad.h:
13834           make _get_type functions similar, fixes data export from library
13835
13836 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13837
13838         * configure.ac:
13839           correctly make conditionals
13840         * gst/elements/Makefile.am:
13841         * gst/elements/gstelements.c:
13842           fix typo causing fdsrc not to build
13843
13844 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13845
13846         * testsuite/Makefile.am:
13847         * testsuite/bytestream/.cvsignore:
13848         * testsuite/bytestream/Makefile.am:
13849         * testsuite/bytestream/filepadsink.c:
13850         * testsuite/bytestream/gstbstest.c:
13851         * testsuite/bytestream/test1.c:
13852         * testsuite/bytestream/testfile1:
13853         * testsuite/caps/normalisation.c:
13854         * testsuite/caps/random.c: (main):
13855         * testsuite/cleanup/.cvsignore:
13856         * testsuite/cleanup/Makefile.am:
13857         * testsuite/cleanup/cleanup1.c:
13858         * testsuite/cleanup/cleanup2.c:
13859         * testsuite/cleanup/cleanup3.c:
13860         * testsuite/cleanup/cleanup4.c:
13861         * testsuite/cleanup/cleanup5.c:
13862         * testsuite/controller/interpolator.c:
13863         * testsuite/debug/printf_extension.c: (main):
13864         * testsuite/elements/tee.c:
13865         * testsuite/negotiation/.cvsignore:
13866         * testsuite/negotiation/Makefile.am:
13867         * testsuite/negotiation/pad_link.c:
13868         * testsuite/pad/Makefile.am:
13869         * testsuite/pad/chainnopull.c:
13870         * testsuite/pad/getnopush.c:
13871         * testsuite/pad/link.c:
13872         * testsuite/refcounting/sched.c: (create_pipeline):
13873         * testsuite/registry/Makefile.am:
13874         * testsuite/registry/gst-print-formats.c:
13875         * testsuite/schedulers/.cvsignore:
13876         * testsuite/schedulers/142183-2.c:
13877         * testsuite/schedulers/142183.c:
13878         * testsuite/schedulers/143777-2.c:
13879         * testsuite/schedulers/143777.c:
13880         * testsuite/schedulers/147713.c:
13881         * testsuite/schedulers/147819.c:
13882         * testsuite/schedulers/147894-2.c:
13883         * testsuite/schedulers/147894.c:
13884         * testsuite/schedulers/Makefile.am:
13885         * testsuite/schedulers/group_link.c:
13886         * testsuite/schedulers/queue_link.c:
13887         * testsuite/schedulers/relink.c:
13888         * testsuite/schedulers/unlink.c:
13889         * testsuite/schedulers/unref.c:
13890         * testsuite/schedulers/useless_iteration.c:
13891         * testsuite/states/bin.c:
13892           clean out/remove some stuff from the testsuite directories
13893
13894 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13895
13896         * configure.ac:
13897           check for some headers
13898         * gst/elements/Makefile.am:
13899         * gst/elements/gstelements.c:
13900           don't compile fdsrc without sys/socket.h
13901         * gst/indexers/Makefile.am:
13902         * gst/indexers/gstindexers.c: (plugin_init):
13903           don't compile fileindex without mmap
13904
13905 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13906
13907         * configure.ac:
13908           reorganize
13909           clean up
13910           document more
13911           remove cruft
13912         * check/Makefile.am:
13913         * docs/gst/Makefile.am:
13914         * examples/helloworld/Makefile.am:
13915         * gst/Makefile.am:
13916         * gst/base/Makefile.am:
13917         * gst/check/Makefile.am:
13918         * gst/elements/Makefile.am:
13919         * gst/indexers/Makefile.am:
13920         * gst/parse/Makefile.am:
13921         * libs/gst/controller/Makefile.am:
13922         * libs/gst/dataprotocol/Makefile.am:
13923         * examples/helloworld/helloworld.c: (event_loop):
13924           compile fixes, though it's not being compiled currently
13925
13926 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13927
13928         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
13929           Add some simple tests for the new taglist date API.
13930
13931 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13932
13933         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
13934         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
13935           Beautify 'last-message' output: print 'none' for buffer timestamps
13936           and durations if none is set; improve alignment with next messages.
13937
13938 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13939
13940         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
13941         * gst/gstpluginfeature.h:
13942         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
13943         * gst/gstregistry.h:
13944         * docs/gst/gstreamer-sections.txt:
13945           Add new API to check plugin feature version requirements.
13946
13947         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
13948           Some basic tests for the above.         
13949
13950 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13951
13952         * gst/gststructure.c: (gst_structure_to_string):
13953           guard against NULL printf - happens when for example
13954           a message structure with GstClock gets serialized
13955
13956 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
13957
13958         * gst/base/gstcollectpads.c: (gst_collectpads_event):
13959           Fix presumable copy'n'pasto.
13960
13961 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13962
13963         * gst/elements/gstfakesrc.h:
13964         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
13965         * gst/elements/gsttypefindelement.c:
13966           fix some signedness
13967         * gst/elements/gstfilesink.c: (gst_file_sink_render):
13968           I wonder if this could actually write +2GB files before
13969
13970 2005-10-13  Andy Wingo  <wingo@pobox.com>
13971
13972         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
13973         Fix Timmeke Waymans bug.
13974         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
13975         string of the proper length to gst_caps_from_string. There's a
13976         potential for, before this fix, that this could cause someone
13977         connecting over the network to cause a segfault if the payload is
13978         not NUL-terminated.
13979
13980 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
13981
13982         * docs/design/draft-push-pull.txt:
13983         * docs/design/part-overview.txt:
13984         * docs/random/TODO-pre-0.9:
13985         * docs/random/old/ChangeLog.gstreamer:
13986         * gst/base/gstpushsrc.c:
13987         * gst/gstclock.c:
13988           fixed typos
13989
13990 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13991
13992         * gst/glib-compat.c: (gst_flags_get_first_value):
13993         * gst/glib-compat.h:
13994         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
13995         (gst_value_compare_double), (gst_value_serialize_flags):
13996           GLib 2.6 g_flags_get_first_value has a bug that triggers an
13997           infinite loop
13998
13999 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14000
14001         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14002         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14003           fix up debugging
14004         * tools/gst-launch.c: (event_loop):
14005           print out clock nicely
14006
14007 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
14008
14009         * docs/gst/gstreamer-sections.txt:
14010         * gst/gsttaglist.h:
14011         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
14012         (gst_tag_list_get_date_index):
14013           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
14014           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
14015
14016 2005-10-13  Julien MOUTTE  <julien@moutte.net>
14017
14018         * gst/base/gstcollectpads.c: (gst_collectpads_event),
14019         (gst_collectpads_chain):
14020         * gst/base/gstcollectpads.h: Handle newsegment and store informations
14021         in CollectData.
14022
14023 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
14024
14025         * docs/gst/gstreamer-sections.txt:
14026         * gst/gst.c:
14027         * gst/gsterror.h:
14028         * tools/gst-inspect.c: (main):
14029         * tools/gst-launch.c: (main):
14030         * tools/gst-run.c: (main):
14031         * tools/gst-xmlinspect.c: (main):
14032           fix GOption context leaks
14033           doc fixes
14034
14035 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14036
14037         * gst/gstbus.c:
14038           use HAVE_UNISTD_H
14039         * win32/common/config.h:
14040           update config
14041         * win32/vs6/grammar.dsp:
14042         * win32/vs6/libgstelements.dsp:
14043         * win32/vs6/libgstreamer.dsp:
14044           update vs6 files
14045
14046 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14047
14048         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14049         * gst/base/gstbasesrc.c: (gst_base_src_query):
14050           fix more guint64<->gdouble conversions
14051
14052 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14053
14054         * Makefile.am:
14055           add win32-update target
14056         * win32/common/gstconfig.h:
14057         * win32/common/gstenumtypes.c:
14058         * win32/common/gstenumtypes.h:
14059         * win32/common/gstversion.h:
14060           add files that visual studio can't generate
14061
14062 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14063
14064         * Makefile.am:
14065           add a win32-update target
14066         * configure.ac:
14067
14068 2005-10-12  Wim Taymans  <wim@fluendo.com>
14069
14070         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14071         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
14072         * gst/gstelement.c: (gst_element_commit_state),
14073         (gst_element_set_state):
14074         Protect flags with proper lock.
14075         unref provided cached clock in dispose.
14076
14077 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
14078
14079         * gst/gst.c:
14080         * gst/gstminiobject.h:
14081         * gst/gstpad.h:
14082         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
14083           removed unused flags from miniobject
14084           doc fixes
14085
14086 2005-10-12  Wim Taymans  <wim@fluendo.com>
14087
14088         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
14089         (gst_file_sink_event), (gst_file_sink_render):
14090         Flush before seeking.
14091
14092 2005-10-12  Andy Wingo  <wingo@pobox.com>
14093
14094         * gst/gst.c (gst_init_check): Ignore unknown options, as has
14095         always been the case.
14096
14097 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
14098
14099         * check/gst/gstbin.c: (GST_START_TEST):
14100         * docs/gst/gstreamer-sections.txt:
14101         * gst/base/gstbasesink.c: (gst_base_sink_init):
14102         * gst/base/gstbasesrc.c: (gst_base_src_init),
14103         (gst_base_src_get_range), (gst_base_src_check_get_range),
14104         (gst_base_src_start), (gst_base_src_stop):
14105         * gst/base/gstbasesrc.h:
14106         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
14107         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14108         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
14109         (bin_bus_handler):
14110         * gst/gstbin.h:
14111         * gst/gstbuffer.h:
14112         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
14113         * gst/gstbus.h:
14114         * gst/gstelement.c: (gst_element_is_locked_state),
14115         (gst_element_set_locked_state), (gst_element_commit_state),
14116         (gst_element_set_state):
14117         * gst/gstelement.h:
14118         * gst/gstindex.c: (gst_index_init):
14119         * gst/gstindex.h:
14120         * gst/gstminiobject.h:
14121         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
14122         (gst_object_set_parent):
14123         * gst/gstobject.h:
14124         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
14125         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
14126         * gst/gstpad.h:
14127         * gst/gstpadtemplate.h:
14128         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
14129         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
14130         * gst/gstpipeline.h:
14131         * gst/indexers/gstfileindex.c: (gst_file_index_load),
14132         (gst_file_index_commit):
14133         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
14134         * testsuite/pad/link.c: (gst_test_src_init),
14135         (gst_test_filter_init), (gst_test_sink_init):
14136         * testsuite/states/locked.c: (main):
14137           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
14138           moved bitshift from macro to enum definition
14139
14140 2005-10-12  Wim Taymans  <wim@fluendo.com>
14141
14142         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
14143         * gst/elements/gstfilesink.c: (gst_file_sink_event),
14144         (gst_file_sink_render):
14145         Some more debugging info.
14146
14147 2005-10-12  Wim Taymans  <wim@fluendo.com>
14148
14149         * docs/design/part-states.txt:
14150         * tools/gst-launch.c: (main):
14151         Some doc updates.
14152         Revert non-intentional change.
14153
14154 2005-10-12  Wim Taymans  <wim@fluendo.com>
14155
14156         * check/gst/gstbin.c: (GST_START_TEST):
14157         * check/gst/gstelement.c: (GST_START_TEST):
14158         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
14159         * check/gst/gstghostpad.c: (GST_START_TEST):
14160         * check/gst/gstpipeline.c: (GST_START_TEST):
14161         * check/pipelines/simple_launch_lines.c: (run_pipeline):
14162         * check/states/sinks.c: (GST_START_TEST):
14163         * gst/elements/gsttypefindelement.c: (stop_typefinding):
14164         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14165         (gst_bin_remove_func), (gst_bin_get_state_func),
14166         (gst_bin_recalc_state), (gst_bin_change_state_func),
14167         (bin_bus_handler):
14168         * gst/gstelement.c: (gst_element_get_state_func),
14169         (gst_element_get_state), (gst_element_abort_state),
14170         (gst_element_commit_state), (gst_element_set_state),
14171         (gst_element_change_state), (gst_element_change_state_func):
14172         * gst/gstelement.h:
14173         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
14174         (gst_pipeline_provide_clock_func):
14175         * gst/gstutils.c: (gst_element_link_pads_filtered):
14176         * tools/gst-launch.c: (main):
14177         * tools/gst-typefind.c: (main):
14178         Use GstClockTime in _get_state() instead of GTimeVal.
14179         Remove old code in gstutils.c
14180
14181 2005-10-12  Andy Wingo  <wingo@pobox.com>
14182
14183         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
14184         removed.
14185
14186         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
14187         there is no task. Shouldn't affect any code, as nothing in our
14188         plugins checks this return value.
14189         (gst_pad_stop_task): Also take the stream lock if the pad has no
14190         task. Docs updated.
14191
14192 2005-10-12  Wim Taymans  <wim@fluendo.com>
14193
14194         * gst/gstpad.c: (pre_activate), (post_activate),
14195         (gst_pad_activate_pull), (gst_pad_activate_push):
14196         Cleanup activation code. Reset old state if
14197         activation failed.
14198
14199 2005-10-12  Wim Taymans  <wim@fluendo.com>
14200
14201         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14202         (gst_base_sink_change_state):
14203         No need to prerol after receiving EOS.
14204
14205         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14206         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
14207         * gst/elements/gstidentity.c: (gst_identity_event):
14208         Print events more verbosely.
14209
14210 2005-10-12  Wim Taymans  <wim@fluendo.com>
14211
14212         * check/Makefile.am:
14213         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
14214         * check/states/sinks2.c:
14215         Moved sinks2 testcode in sinks check.
14216
14217         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14218         (gst_bin_remove_func), (gst_bin_recalc_state),
14219         (gst_bin_change_state_func), (bin_bus_handler):
14220         Fix potential race condition when _get_state() iterated over an
14221         ASYNC element right before it posted a state completion.
14222
14223         * gst/gstclock.h:
14224         Do proper cast here.
14225
14226         * gst/gstevent.c: (gst_event_new_newsegment),
14227         (gst_event_parse_newsegment):
14228         A playback rate of 0.0 is not allowed.
14229
14230 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14231
14232         * win32/common/config.h:
14233         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
14234         (_trewinddir), (_ttelldir), (_tseekdir):
14235         * win32/common/dirent.h:
14236         * win32/common/gtchar.h:
14237         * win32/common/libgstbase.def:
14238         * win32/common/libgstreamer.def:
14239         * win32/vs6/grammar.dsp:
14240         * win32/vs6/gst_inspect.dsp:
14241         * win32/vs6/gst_launch.dsp:
14242         * win32/vs6/gstreamer.dsw:
14243         * win32/vs6/libgstbase.dsp:
14244         * win32/vs6/libgstelements.dsp:
14245         * win32/vs6/libgstreamer.dsp:
14246           Visual Studio 6 project files, and a new common directory.
14247           Phear.
14248
14249 2005-10-11  Wim Taymans  <wim@fluendo.com>
14250
14251         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14252         (gst_base_sink_do_sync), (gst_base_sink_query),
14253         (gst_base_sink_change_state):
14254         * gst/base/gstbasesink.h:
14255         Correctly parse newsegment info.
14256
14257 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14258
14259         * gst/gst.c: (init_post):
14260           split plugin paths correctly
14261
14262 2005-10-11  Wim Taymans  <wim@fluendo.com>
14263
14264         * check/gst/gstevent.c: (GST_START_TEST):
14265         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14266         (gst_base_sink_change_state):
14267         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
14268         * gst/base/gstbasetransform.c: (gst_base_transform_event):
14269         * gst/elements/gstfilesink.c: (gst_file_sink_event):
14270         * gst/gstevent.c: (gst_event_new_newsegment),
14271         (gst_event_parse_newsegment):
14272         * gst/gstevent.h:
14273         Added extra flag to newsegment for future API freeze.
14274         Updated check and base elements.
14275
14276 2005-10-11  Julien MOUTTE  <julien@moutte.net>
14277
14278         * gst/base/gstcollectpads.c: (gst_collectpads_init),
14279         (gst_collectpads_add_pad), (gst_collectpads_pop),
14280         (gst_collectpads_event), (gst_collectpads_chain):
14281         * gst/base/gstcollectpads.h: Handle EOS correctly.
14282
14283 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14284
14285         * tools/gst-launch.c: (main):
14286           more null protecting
14287
14288 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14289
14290         * gst/gst-i18n-lib.h:
14291           check for ENABLE_NLS, not GETTEXT_PACKAGE
14292         * gst/gstregistry.c: (gst_registry_add_plugin),
14293         (gst_registry_scan_path_level),
14294         (_gst_registry_remove_cache_plugins):
14295           protect possibly NULL strings
14296         * gst/parse/types.h:
14297           config.h already included before
14298         * tools/gst-inspect.c: (main):
14299           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
14300           check for ENABLE_NLS, not GETTEXT_PACKAGE
14301         * tools/gst-launch.c: (main):
14302           check for ENABLE_NLS, not GETTEXT_PACKAGE
14303
14304 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14305
14306         * configure.ac:
14307           if we don't have glib, fail before testing 2.8
14308         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
14309           fix a leak, should fix plugins-base testsuite
14310
14311 2005-10-11  Andy Wingo  <wingo@pobox.com>
14312
14313         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
14314         take the mode we're going to as an arg. Go head and set the mode
14315         and flushing flags now, so that if the activate function starts a
14316         thread all the flags will be in the right state.
14317         (post_activate): Renamed also. Just handle making sure streaming
14318         finishes for the deactivation case, and setting the deactivated
14319         mode.
14320         (gst_pad_set_active): Complain loudly if deactivation fails.
14321         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
14322         (gst_pad_activate_push): Adapt to pre/post_activate changes,
14323         remove the terrible hack.
14324
14325 2005-10-11  Wim Taymans  <wim@fluendo.com>
14326
14327         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14328         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
14329         (gst_bin_recalc_state), (gst_bin_change_state_func),
14330         (gst_bin_dispose), (bin_bus_handler):
14331         * gst/gstbin.h:
14332         Prepare to make current EOS message queue more generic.
14333         Fix some typos.
14334
14335         * gst/gstevent.c: (gst_event_new_newsegment),
14336         (gst_event_parse_newsegment):
14337         * gst/gstevent.h:
14338         Rename base to stream_time.
14339
14340         * gst/gstmessage.h:
14341         Fix typo in docs.
14342
14343 2005-10-11  Wim Taymans  <wim@fluendo.com>
14344
14345         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14346         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
14347         (gst_bin_change_state_func), (bin_bus_handler):
14348         * gst/gstbin.h:
14349         Work on proper clock selection.
14350
14351 2005-10-11  Edward Hervey  <edward@fluendo.com>
14352
14353         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
14354         * libs/gst/controller/gstcontroller.h:
14355         Added GList* version of _remove_properties() in order to be able to wrap
14356         it in bindings.
14357
14358 2005-10-11  Wim Taymans  <wim@fluendo.com>
14359
14360         * docs/design/part-states.txt:
14361         Some more docs.
14362
14363         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
14364         (gst_bin_change_state_func), (bin_bus_handler):
14365         Doc updates. Don't distribute the same clock over and over again.
14366
14367         * gst/gstclock.c:
14368         * gst/gstclock.h:
14369         Doc updates.
14370
14371         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
14372         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
14373         (gst_pad_send_event):
14374         * gst/gstpad.h:
14375         Make probe emission threadsafe again.
14376         Register quarks and move _get_name() from utils.
14377         Doc updates.
14378
14379         * gst/gstpipeline.c: (gst_pipeline_class_init),
14380         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14381         Only redistribute the clock of it changed.
14382
14383         * gst/gstsystemclock.h:
14384         Doc updates. 
14385
14386         * gst/gstutils.c:
14387         * gst/gstutils.h:
14388         Moved the _flow_get_name() to GstPad.
14389
14390 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14391
14392         * check/gst-libs/gdp.c: (GST_START_TEST):
14393         * check/gst/gstcaps.c: (GST_START_TEST):
14394         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
14395         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
14396         (gst_dp_packet_from_caps):
14397           fix more valgrind warnings before turning up the heat
14398
14399 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14400
14401         * gst/parse/grammar.y:
14402           some cleanup before the hacking
14403
14404 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14405
14406         * gst/base/gstbasesrc.c: (gst_base_src_query):
14407           use conversions
14408         * gst/gstutils.c: (gst_guint64_to_gdouble),
14409         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
14410         * gst/gstutils.h:
14411           externalize, basesrc uses it
14412           obviously the implementation needs testing
14413
14414 2005-10-10  Wim Taymans  <wim@fluendo.com>
14415
14416         * tests/sched/Makefile.am:
14417         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
14418         (make_pipeline3), (make_pipeline4), (print_elem), (main):
14419
14420 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14421
14422         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
14423           apparently converting from guint64 to double is not implemented
14424           on MSVC
14425
14426 2005-10-10  Wim Taymans  <wim@fluendo.com>
14427
14428         * check/Makefile.am:
14429         * check/generic/states.c: (GST_START_TEST):
14430         * check/gst/gstbin.c: (GST_START_TEST):
14431         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14432         * check/states/sinks.c: (GST_START_TEST):
14433         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
14434         (main):
14435         Check fixes, use API as stated in design docs, remove hacks.
14436
14437         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14438         (gst_base_sink_change_state):
14439         Catch stopping our task while we're shutting down.
14440
14441         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
14442         (gst_bin_remove_func), (gst_bin_get_state_func),
14443         (gst_bin_recalc_state), (gst_bin_change_state_func),
14444         (bin_bus_handler):
14445         * gst/gstbin.h:
14446         * gst/gstelement.c: (gst_element_init),
14447         (gst_element_get_state_func), (gst_element_abort_state),
14448         (gst_element_commit_state), (gst_element_lost_state),
14449         (gst_element_set_state), (gst_element_change_state),
14450         (gst_element_change_state_func):
14451         * gst/gstelement.h:
14452         New state change algorithm (see #318116)
14453
14454         * gst/gstpipeline.c: (gst_pipeline_class_init),
14455         (gst_pipeline_init), (gst_pipeline_set_property),
14456         (gst_pipeline_get_property), (do_pipeline_seek),
14457         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14458         * gst/gstpipeline.h:
14459         Remove crude state change hacks.
14460
14461         * gst/gstutils.h:
14462         Remove crude hacks.
14463
14464         * tools/gst-launch.c: (main):
14465         Fixes for state change. Needs some more work to fully use the
14466         new stuff.
14467
14468 2005-10-10  Andy Wingo  <wingo@pobox.com>
14469
14470         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
14471
14472         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
14473         this flag, but it's not even in GLib 2.6. Odd. Hack around the
14474         issue.
14475
14476 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14477
14478         * gst/gstiterator.c: (gst_iterator_new):
14479           Fix my previous commit: GTypes passed to gst_iterator_new()
14480           can be fundamental types.
14481
14482 2005-10-10  Wim Taymans  <wim@fluendo.com>
14483
14484         * gst/gstelement.c: (gst_element_iterate_pad_list),
14485         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
14486         (gst_element_iterate_sink_pads):
14487         Use src/sink pads lists for the respective iterators instead
14488         of filtering.
14489
14490 2005-10-10  Andy Wingo  <wingo@pobox.com>
14491
14492         Merged in popt removal + GOption addition patch from Ronald, bug
14493         #169772.
14494
14495         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
14496         GstElement macros around, remove popt-related symbols, add goption
14497         stuff.
14498
14499         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
14500         
14501         * docs/gst/Makefile.am:
14502         * docs/libs/Makefile.am: No POPT_CFLAGS.
14503         
14504         * examples/manual/Makefile.am:
14505         * docs/manual/basics-init.xml: Doc updates with an example.
14506         
14507         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
14508         (gst_init), (parse_one_option), (parse_goption_arg):
14509         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
14510         bit of hand merging and debugging to get the GOption stuff working
14511         tho.
14512         
14513         * tests/Makefile.am:
14514         * tools/Makefile.am:
14515         * tools/gst-inspect.c: (main):
14516         * tools/gst-launch.c: (main):
14517         * tools/gst-run.c: (main):
14518         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
14519
14520 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14521
14522         * gst/gstiterator.c: (gst_iterator_new):
14523           Add assertions to make sure passed GType is likely to really
14524           be a GType (as the compiler won't catch it if the size and
14525           GType arguments get mixed up, see #318447).
14526
14527 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
14528
14529         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14530
14531         * gst/gstbin.c: (gst_bin_iterate_sorted):
14532           Pass GType and size arguments to gst_iterator_new() in the right
14533           order (maybe we should make _new() take the GType as first argument
14534           just like _new_list()?) (#318447).
14535           
14536
14537 2005-10-10  Wim Taymans  <wim@fluendo.com>
14538
14539         * gst/gstelement.c: (gst_element_finalize):
14540         And free the GStaticRecMutex too
14541
14542 2005-10-10  Andy Wingo  <wingo@pobox.com>
14543
14544         * gst/gstelement.c (gst_element_init, gst_element_finalize):
14545         Allocate and free the mutex properly.
14546
14547         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
14548         New macros.
14549         (GstElement): The state_lock is now recursive. Rebuild your
14550         plugins, suckers. Old macros adapted.
14551
14552         * docs/gst/gstreamer-sections.txt: Doc updates.
14553
14554         * gst/gstutils.h:
14555         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
14556         (g_static_rec_cond_wait): Ported from state changes patch, while
14557         we wait on bug #317802 to be solved in a well-distributed GLib.
14558
14559         * gst/gstelement.c (gst_element_change_state_func): Renamed from
14560         gst_element_change_state, variable name changes.
14561         (gst_element_change_state): Split out of gst_element_set_state in
14562         preparation for the state change merge. Doesn't pay attention to
14563         the 'transition' argument.
14564         (gst_element_set_state): Updates, hopefully purely cosmetic.
14565         (gst_element_sync_state_with_parent): MT-safety. Ported from the
14566         state change patch.
14567         (gst_element_get_state_func): Renamed from get_state, cosmetic
14568         changes.
14569
14570 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14571
14572         * gst/elements/gstelements.c:
14573         * win32/GStreamer.vcproj:
14574         * win32/config.h:
14575         * win32/dirent.c: (_tseekdir):
14576         * win32/gst-inspect.vcproj:
14577         * win32/gst-launch.vcproj:
14578         * win32/gstconfig.h:
14579         * win32/gstelements.vcproj:
14580         * win32/gstenumtypes.c: (gst_object_flags_get_type):
14581         * win32/gstreamer.def:
14582         * win32/msvc71.sln:
14583           updates for the win32 build (patch from Sebastien Moutte)
14584
14585 2005-10-10  Andy Wingo  <wingo@pobox.com>
14586
14587         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
14588         gst_bin_get_state, cleaned up (but no logic changes).
14589         (bin_element_is_sink): Comment updates.
14590         (sink_iterator_filter): Remove needless cast.
14591         (gst_bin_iterate_sinks): Doc update.
14592         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
14593         cleaned up (but no logic changes).
14594
14595         * check/states/sinks.c (test_src_sink): Cleanups from the state
14596         change patch.
14597         (test_livesrc_sink): Sync on the state.
14598
14599         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
14600         the state change patch.
14601
14602         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
14603         change patch.
14604
14605         * check/gst/gstbin.c: Merge in some style fixes and additional
14606         checks from Wim's state change patch.
14607
14608 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14609
14610         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14611         (gst_type_find_helper):
14612           Check whether we have the requested data already in our list of
14613           cached buffers before pulling a new buffer; also make the buffer
14614           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
14615
14616 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14617
14618         * gst/gstcaps.c:
14619         * gst/gstevent.c:
14620           doc updates
14621         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14622           don't use long long, it's not portable.  Replacing with
14623           gint64 seems to work; let's hope no skeletons fall out of the closet.
14624
14625 2005-10-10  Andy Wingo  <wingo@pobox.com>
14626
14627         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
14628
14629 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
14630
14631         * docs/gst/gstreamer-sections.txt:
14632         * gst/gstevent.c:
14633         * gst/gstevent.h:
14634         * gst/gstinfo.c:
14635         * gst/gstinfo.h:
14636         * gst/gstmessage.c: (gst_message_parse_state_changed):
14637         * gst/gstpad.c:
14638         * gst/gstpad.h:
14639           more docs, fix compilation
14640
14641 2005-10-09  Philippe Khalaf <burger@speedy.org>
14642         * gst/gstmessage.c:
14643           Fixed a few forgotten variables on previous commit
14644
14645 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
14646
14647         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14648           Fix evil typefind crasher: getrange() might return a short
14649           buffer at the end of a file, but gst_type_find_peek() must
14650           either return the full data as requested or NULL, but
14651           never a short buffer.
14652
14653 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14654
14655         * gst/gstmessage.c: (gst_message_new_state_changed),
14656         (gst_message_parse_state_changed):
14657         * gst/gstmessage.h:
14658           don't use "new", it's a C++ keyword
14659
14660 2005-10-08  Wim Taymans  <wim@fluendo.com>
14661
14662         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
14663         * gst/gstelement.c: (gst_element_post_message):
14664         * gst/gstpipeline.c: (gst_pipeline_change_state):
14665         Small docs and debug updates.
14666
14667 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14668
14669         * docs/gst/gstreamer-sections.txt:
14670         * gst/gstelementfactory.c:
14671         * gst/gstevent.c:
14672         * gst/gsttaglist.c:
14673           more docs
14674
14675 2005-10-08  Wim Taymans  <wim@fluendo.com>
14676
14677         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
14678         (gst_bin_dispose), (bin_bus_handler):
14679         Fix typos, add comments.
14680         Clear EOS list when going to PAUSED from any direction and do it
14681         in a threadsafe way.
14682         Get base time in a threadsafe way too.
14683         Fix confusing debug in the change_state function.
14684         Various other small cleanups.
14685         
14686         * gst/gstelement.c: (gst_element_post_message):
14687         Fix very verbose bus posting code.
14688
14689         * gst/gstpipeline.c: (gst_pipeline_class_init),
14690         (gst_pipeline_set_property), (gst_pipeline_get_property),
14691         (gst_pipeline_change_state):
14692         Small ARG_ -> PROP_ cleanup
14693
14694 2005-10-08  Wim Taymans  <wim@fluendo.com>
14695
14696         * gst/gstbin.c: (is_eos), (bin_bus_handler):
14697         Do a less CPU demanding EOS check because we can.
14698
14699 2005-10-08  Wim Taymans  <wim@fluendo.com>
14700
14701         * libs/gst/dataprotocol/dataprotocol.c:
14702         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14703         (gst_dp_packet_from_event):
14704         * libs/gst/dataprotocol/dataprotocol.h:
14705         * libs/gst/dataprotocol/dp-private.h:
14706         It's about time we bump the version number.
14707         Since event types don't fit in the guint8 anymore describing
14708         the payload type, make payload type 16 bits wide.
14709
14710 2005-10-08  Wim Taymans  <wim@fluendo.com>
14711
14712         * docs/design/part-TODO.txt:
14713         * docs/design/part-clocks.txt:
14714         * docs/design/part-events.txt:
14715         * docs/design/part-gstbin.txt:
14716         * docs/design/part-gstelement.txt:
14717         * docs/design/part-gstpipeline.txt:
14718         * docs/design/part-live-source.txt:
14719         * docs/design/part-messages.txt:
14720         * docs/design/part-overview.txt:
14721         * docs/design/part-states.txt:
14722         Many doc updates.
14723
14724 2005-10-08  Wim Taymans  <wim@fluendo.com>
14725
14726         * gst/gstevent.c:
14727         * gst/gstevent.h:
14728         Fix event quark registration.
14729         Add some space between events so we can insert them in the
14730         right groups.
14731
14732 2005-10-08  Wim Taymans  <wim@fluendo.com>
14733
14734         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14735         (gst_base_sink_handle_buffer):
14736         Better log message.
14737
14738         * gst/gstbus.h:
14739         * gst/gstelement.h:
14740         More docs.
14741
14742         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14743         (gst_queue_set_property), (gst_queue_get_property):
14744         * gst/gstqueue.h:
14745         Remove old unused properties.
14746
14747 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14748         * docs/gst/gstreamer-sections.txt:
14749         * gst/gstmessage.c:
14750         * gst/gstmessage.h:
14751         * gst/gstminiobject.c:
14752         * gst/gstminiobject.h:
14753         * gst/gstobject.h:
14754         * gst/gstpad.h:
14755         * gst/gstutils.h:
14756           lots of new docs and doc fixes
14757
14758 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14759
14760         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
14761         * gst/gstplugin.h:
14762         * gst/gstregistry.c: (gst_registry_lookup_locked),
14763         (gst_registry_scan_path_level):
14764         * gst/gstregistryxml.c: (load_plugin):
14765           Only ever load one plugin for a given plugin basename.
14766           This ensures correct overriding of GST_PLUGIN_PATH over
14767           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
14768           system installed plugins.
14769
14770 2005-10-08  Wim Taymans  <wim@fluendo.com>
14771
14772         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14773         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
14774         Prepare for doing QOS.
14775
14776 2005-10-08  Wim Taymans  <wim@fluendo.com>
14777
14778         * check/gst/gstbin.c: (GST_START_TEST):
14779         * check/pipelines/cleanup.c: (GST_START_TEST):
14780         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14781         Allow new clock message too.
14782
14783 2005-10-08  Wim Taymans  <wim@fluendo.com>
14784
14785         * gst/gstmessage.c: (gst_message_new_error),
14786         (gst_message_new_warning), (gst_message_new_tag),
14787         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14788         (gst_message_new_clock_lost), (gst_message_new_new_clock),
14789         (gst_message_new_segment_start), (gst_message_new_segment_done),
14790         (gst_message_parse_state_changed),
14791         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
14792         (gst_message_parse_new_clock):
14793         * gst/gstmessage.h:
14794         Also carry the clock in question.
14795
14796 2005-10-08  Wim Taymans  <wim@fluendo.com>
14797
14798         * gst/gstmessage.c: (gst_message_new_custom),
14799         (gst_message_new_eos), (gst_message_new_error),
14800         (gst_message_new_warning), (gst_message_new_tag),
14801         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14802         (gst_message_new_new_clock), (gst_message_new_segment_start),
14803         (gst_message_new_segment_done), (gst_message_parse_state_changed),
14804         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
14805         * gst/gstmessage.h:
14806         Clean up.
14807         Added clock related messages.
14808
14809         * gst/gstpipeline.c: (gst_pipeline_change_state):
14810         Post message when the clock changed.
14811
14812         * tools/gst-launch.c: (event_loop):
14813         Print new clock.
14814
14815 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
14816
14817         * tools/gst-inspect.c: (print_element_properties_info):
14818           Can't pass NULL strings to g_print() on windows.
14819
14820 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14821
14822         * docs/Makefile.am:
14823         * docs/gst/Makefile.am:
14824         * docs/gst/gstreamer-docs.sgml:
14825         * docs/gst/running.xml:
14826         * docs/version.entities.in:
14827           add a chapter on running GStreamer.
14828           document GST_DEBUG and GST_PLUGIN* env vars
14829
14830 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14831
14832         * Makefile.am:
14833           remove include dir
14834         * configure.ac:
14835           remove PLUGINS_BUILDDIR stuff
14836         * gst/gst.c: (init_post):
14837           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
14838         * idiottest.mak:
14839           remove, it was condescending and not needed
14840
14841 2005-10-08  Wim Taymans  <wim@fluendo.com>
14842
14843         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
14844         (gst_base_sink_handle_object), (gst_base_sink_event),
14845         (gst_base_sink_wait), (gst_base_sink_handle_event),
14846         (gst_base_sink_change_state):
14847         * gst/base/gstbasesink.h:
14848         Repost EOS message while going to PLAYING if still EOS.
14849         Make sure that when receiving a FLUSH_START we don't attempt
14850         to sync on the clock anymore.
14851
14852 2005-10-08  Wim Taymans  <wim@fluendo.com>
14853
14854         * tools/gst-launch.c: (event_loop):
14855         Better message printout.
14856
14857 2005-10-08  Wim Taymans  <wim@fluendo.com>
14858
14859         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
14860         (gst_bin_child_proxy_get_children_count):
14861         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14862         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
14863         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
14864         (gst_child_proxy_set_valist):
14865         * gst/parse/grammar.y:
14866         Make ChildProxy threadsafe and fix mem leaks.
14867
14868 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14869
14870         * gst/gst.c: (init_post):
14871           debug the GST_PLUGIN_ env vars
14872
14873 2005-10-08  Wim Taymans  <wim@fluendo.com>
14874
14875         * check/gst/gstbin.c: (GST_START_TEST):
14876         * check/gst/gstmessage.c: (GST_START_TEST):
14877         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14878         * gst/gstelement.c: (gst_element_commit_state),
14879         (gst_element_lost_state):
14880         * gst/gstmessage.c: (gst_message_new_state_changed),
14881         (gst_message_parse_state_changed):
14882         * gst/gstmessage.h:
14883         * tools/gst-launch.c: (event_loop):
14884         Added extra field to STATE_CHANGE message with the pending
14885         state, which will be different from the new state soon.
14886
14887 2005-10-08  Wim Taymans  <wim@fluendo.com>
14888
14889         * gst/gstbus.c: (gst_bus_pop):
14890         * gst/gstclock.c:
14891         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
14892         Small cleanups and doc updates.
14893
14894 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14895
14896         * gst/gst.c: (init_pre):
14897         * gst/gstbin.c: (gst_bin_add_func):
14898           log distributing clocks and base time
14899         * gst/gstregistry.c: (gst_registry_add_plugin),
14900         (gst_registry_scan_path_level), (gst_registry_scan_path):
14901           clean up the debugging output a little
14902         * gst/gstutils.c: (gst_element_state_get_name):
14903           warn about a memleak (I've actually seen this be used, though
14904           it was probably a bug)
14905
14906 2005-10-07  Wim Taymans  <wim@fluendo.com>
14907
14908         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14909         (gst_base_src_init), (gst_base_src_default_newsegment),
14910         (gst_base_src_newsegment), (gst_base_src_do_seek),
14911         (gst_base_src_loop), (gst_base_src_start):
14912         * gst/base/gstbasesrc.h:
14913         Make the newsegment event customizable by subclasses.
14914
14915 2005-10-07  Wim Taymans  <wim@fluendo.com>
14916
14917         * gst/gstevent.c: (gst_event_new_buffersize),
14918         (gst_event_parse_buffersize):
14919         * gst/gstevent.h:
14920         New event for future idea.
14921
14922 2005-10-07  Andy Wingo  <wingo@pobox.com>
14923
14924         * gst/gstelement.c (gst_element_post_message): Doc update.
14925
14926         * docs/gst/gstreamer-sections.txt: Update.
14927
14928         * gst/gstmessage.c (gst_message_new_application): Made into a
14929         function like honest API calls.
14930         (gst_message_new_element): New message type.
14931
14932         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
14933
14934         * check/elements/fakesrc.c (test_no_preroll): New check, checks
14935         that setting a live fakesrc to PAUSED returns NO_PREROLL both
14936         times.
14937
14938         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
14939         NO_PREROLL from gst_element_change_state to fall through.
14940
14941 2005-10-07  Wim Taymans  <wim@fluendo.com>
14942
14943         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
14944         (gst_ghost_pad_do_activate_push):
14945         Activating a ghostpad with no internal pad in push mode
14946         is ok.
14947
14948 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14949
14950         * gst/gstobject.h:
14951           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
14952           Fixes compilation on Windows.
14953
14954 2005-10-07  Michael Smith <msmith@fluendo.com>
14955
14956         * tools/gst-inspect.c:
14957           Print out feature and plugin count at the end when printing out
14958           all features.
14959
14960 2005-10-04  Michael Smith <msmith@fluendo.com>
14961
14962         * gst/gsterror.c: (_gst_stream_errors_init):
14963           Add another error string used in a few existing plugins.
14964
14965         * gst/gstplugin.c:
14966         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
14967         * tools/gst-inspect.c: (print_element_info):
14968           When a feature disappears from a plugin (and the feature exists in
14969           the cached registry file), things went horribly wrong. This isn't a
14970           complete fix, we should actually be removing the 'missing' features
14971           from the features list when we load the actual plugin. That's not
14972           yet implemented. 
14973
14974 2005-10-04  Johan Dahlin  <johan@gnome.org>
14975
14976         * check/gst/gstiterator.c: (GST_START_TEST):
14977         * gst/gstbin.c: (gst_bin_iterate_elements),
14978         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
14979         * gst/gstelement.c: (gst_element_iterate_pads):
14980         * gst/gstformat.c: (gst_format_iterate_definitions):
14981         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
14982         (gst_iterator_new_list), (gst_iterator_filter):
14983         * gst/gstiterator.h:
14984         * gst/gstquery.c: (gst_query_type_iterate_definitions):
14985         Add a GType to GstIterator, update callsites and tests.
14986
14987 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14988
14989         * gst/gstpad.c: (gst_pad_event_default_dispatch):
14990           give events a chance to be handled by event probes when the pad
14991           is not linked
14992
14993 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
14994
14995         * gst/gstevent.c: (gst_event_type_get_name),
14996         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
14997         * gst/gstevent.h:
14998           add string representations for event types
14999
15000 2005-10-06  Wim Taymans  <wim@fluendo.com>
15001
15002         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
15003         Don't use NULL pointers.
15004
15005 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15006
15007         * gst/gst_private.h:
15008         * gst/gstbus.c:
15009         * gst/gstelement.c:
15010         * gst/gstinfo.c:
15011         * gst/gstpluginfeature.c:
15012           widen the debug category in output to fit the biggest one we have
15013           add a bus category and use it
15014           play with the colors
15015           fix up some categories
15016
15017 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15018
15019         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
15020           add push activation of sink ghost pads.
15021           Andye, please verify
15022
15023 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15024
15025         * gst/gstutils.c: (gst_element_link_pads):
15026           fix a bug in the case where neither element has a pad
15027         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15028           add a test for that case
15029
15030 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15031
15032         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
15033           emit have-data before checking for peers.  This allows
15034           for probe handlers to connect elements.  This helps autopluggers.
15035         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
15036         (gst_pad_suite):
15037           add six checks, linked/unlinked with no/true/false probe
15038
15039 2005-10-04  Wim Taymans  <wim@fluendo.com>
15040
15041         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
15042         (gst_fake_sink_event), (gst_fake_sink_preroll),
15043         (gst_fake_sink_render), (gst_fake_sink_change_state):
15044         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
15045         (gst_fake_src_get_property), (gst_fake_src_create),
15046         (gst_fake_src_stop):
15047         * gst/elements/gstidentity.c: (gst_identity_stop):
15048         Protect last_message with lock.
15049
15050 2005-10-04  Edward Hervey  <edward@fluendo.com>
15051
15052         * gst/gstformat.h: 
15053         Added precision in the comments for GST_FORMAT_DEFAULT
15054
15055 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
15056
15057         * tools/gst-launch.c: (main):
15058           Don't try to run erroneous pipelines.
15059
15060 2005-10-04  Julien MOUTTE  <julien@moutte.net>
15061
15062         * gst/gstbus.c: We don't need this header.
15063
15064 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15065
15066         * configure.ac:
15067           back to development
15068
15069 === release 0.9.3 ===
15070
15071 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15072
15073         * README:
15074         * configure.ac:
15075           Releasing 0.9.3, "Unregistered"
15076
15077 2005-10-03  Andy Wingo  <wingo@pobox.com>
15078
15079         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
15080         whereby calling a pad's activatepush() function can start a thread
15081         that starts to push or pull before the pad gets the FLUSHING flag
15082         unset. Hack around it by holding the stream lock until the flag is
15083         set. Need to replace this with a proper solution. Together with
15084         the ghost pad fixes, this fixes mp3 playing/tagreading.
15085
15086         * docs/design/part-gstghostpad.txt: Add a note about activation of
15087         proxy pads outside of ghost pads.
15088
15089         * gst/gstghostpad.c: Implement the ghost pad activation design.
15090
15091 2005-10-02  Andy Wingo  <wingo@pobox.com>
15092
15093         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
15094         It is volatile, after all.
15095
15096         * docs/design/part-gstghostpad.txt: Flesh out activation with
15097         ghost pads.
15098
15099         * gst/base/gstbasesrc.c (gst_base_src_init): Use
15100         GST_DEBUG_FUNCPTR.
15101
15102 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
15103
15104         * configure.ac:
15105           Fix (unused) AM_CONDITIONAL tests.
15106
15107 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
15108
15109         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15110
15111         * gst/gstutils.c: (gst_pad_query_convert):
15112           Add assertion that makes sure src_val is >=0, just like
15113           gst_query_new_convert() has. (#315895)
15114
15115 2005-09-30  Edward Hervey  <edward@fluendo.com>
15116
15117         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
15118         Let's not iterate pads we're not interested in, it avoids getting 
15119         sky-high refcounts on sinkpad.
15120
15121 2005-09-30  Wim Taymans  <wim@fluendo.com>
15122
15123         * gst/gstelement.c: (gst_element_set_state),
15124         (gst_element_change_state):
15125         Small tweak, element in ASYNC remains ASYNC.
15126
15127 2005-09-30  Wim Taymans  <wim@fluendo.com>
15128
15129         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
15130         Only error is an error.
15131
15132         * gst/gstbin.c: (gst_bin_change_state):
15133         Better debugging.
15134
15135         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
15136         Also call pad_block in pad alloc.
15137
15138         * gst/gstutils.c: (gst_flow_get_name):
15139         Better debugging.
15140
15141 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15142
15143         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15144         (gst_base_src_get_range):
15145           Fix documentation typos. Add some more debug info.
15146
15147 2005-09-29  David Schleef  <ds@schleef.org>
15148
15149         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
15150           more end-user friendly.
15151         * tools/gst-inspect.c: (main): Check if command-line argument is
15152           a file and attempt to load that file as a plugin.
15153
15154 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15155
15156         * check/gst/gstbin.c:
15157         * check/states/sinks.c:
15158           fix tests for the new warning
15159         * check/gst/gstpipeline.c:
15160           add a test for pipeline and bus interaction
15161         * gst/gstelement.c:
15162           elements should be NULL if they get disposed; add a warning if not
15163
15164 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15165
15166         * gst/gstobject.c:
15167           for 2.6 refcounting, make debug log more correct by printing
15168           the actual refcounts at the time of swap (Wim)
15169
15170 2005-09-29  Andy Wingo  <wingo@pobox.com>
15171
15172         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
15173         removes signal watches previously added via
15174         gst_bus_add_signal_watch.
15175         (gst_bus_add_signal_watch): Don't return the source id, just store
15176         it on the bus if there wasn't an id already.
15177
15178         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
15179         add_signal_watch and remove_signal_watch.
15180
15181 2005-09-29  Edward Hervey  <edward@fluendo.com>
15182
15183         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
15184         Better if we actually iterate the list :)
15185
15186 2005-09-29  Wim Taymans  <wim@fluendo.com>
15187
15188         * check/gst/gstbin.c: (GST_START_TEST):
15189         Change for new bus API.
15190
15191         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
15192         (send_messages), (GST_START_TEST), (gstbus_suite):
15193         Change for new bus signal API.
15194
15195         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
15196         (gst_bus_source_prepare), (gst_bus_source_check),
15197         (gst_bus_create_watch), (gst_bus_add_watch_full),
15198         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
15199         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
15200         * gst/gstbus.h:
15201         Remove support for multiple GSources operating on different
15202         message types as it is too complex and unneeded when using
15203         signals.
15204         Added support for receiving signals from the bus.
15205
15206 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15207
15208         * docs/libs/tmpl/gstdataprotocol.sgml:
15209         * docs/manual/advanced-dataaccess.xml:
15210         * gst/elements/gstcapsfilter.c:
15211         * gst/gstutils.c:
15212           rename filter-caps to caps property
15213
15214 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15215
15216         * gst/gstvalue.c: (gst_value_deserialize_fraction):
15217           More robust fraction string parsing.
15218
15219         * docs/pwg/appendix-porting.xml:
15220           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
15221
15222 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15223
15224         * gst/gstcaps.c: (gst_caps_do_simplify):
15225           Thou shalt not free a structure and then continue using it
15226           in the next loop iteration.
15227
15228         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
15229         (gst_caps_suite):
15230           Add test case for caps simplification.
15231
15232 2005-09-29  Wim Taymans  <wim@fluendo.com>
15233
15234         * check/gst/gstbin.c: (GST_START_TEST):
15235         Oops.
15236
15237 2005-09-29  Wim Taymans  <wim@fluendo.com>
15238
15239         * check/gst/gstbin.c: (GST_START_TEST):
15240         Add bus to bin.
15241
15242         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
15243         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15244         (find_element), (gst_bin_sort_iterator_next),
15245         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15246         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15247         (gst_bin_change_state), (gst_bin_dispose):
15248         A bin does not have a bus, it gets the bus from the parent.
15249
15250         * gst/gstelement.c: (gst_element_requires_clock),
15251         (gst_element_provides_clock), (gst_element_is_indexable),
15252         (gst_element_is_locked_state), (gst_element_change_state),
15253         (gst_element_set_bus_func):
15254         Small cleanups.
15255
15256         * gst/gstpipeline.c: (gst_pipeline_class_init),
15257         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
15258         The pipeline provides a bus.
15259
15260 2005-09-28  Johan Dahlin  <johan@gnome.org>
15261
15262         * gst/gstmessage.c (gst_message_parse_state_changed): Use
15263         gst_structure_get_enum instead of gst_structure_get_int
15264
15265         * gst/gststructure.c (gst_structure_get_enum): Impl.
15266
15267         * gst/gststructure.h (gst_structure_get_enum): Add
15268
15269         * docs/gst/gstreamer-sections.txt: Ditto
15270
15271         * gst/gstmessage.c (gst_message_new_state_changed): Use
15272         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
15273         which does introspection.
15274         Reviewed by Christian Schaller
15275
15276 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
15277
15278         * gst/gstinfo.c: (gst_debug_log_default):
15279           don't do dummy g_strdup()s
15280         * libs/gst/controller/gstcontroller.c:
15281         (on_object_controlled_property_changed),
15282         (gst_controlled_property_new), (gst_controller_new_valist),
15283         (gst_controller_new_list),
15284         (gst_controller_remove_properties_valist), (gst_controller_set),
15285         (gst_controller_get), (gst_controller_sync_values),
15286         (gst_controller_get_value_array), (_gst_controller_class_init),
15287         (gst_controller_get_type):
15288         * libs/gst/controller/gstcontroller.h:
15289         * libs/gst/controller/gstinterpolation.c:
15290         (gst_controlled_property_find_timed_value_node):
15291           convert // to /**/ comments
15292
15293 2005-09-28  Wim Taymans  <wim@fluendo.com>
15294
15295         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
15296         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
15297         (gst_bus_sync_signal_handler):
15298         * gst/gstbus.h:
15299         Added async-message and sync-message signals to the bus.
15300         Added helper BusFunc to emit signals for all posted messages.
15301
15302         * gst/gstmessage.c: (gst_message_type_get_name),
15303         (gst_message_type_to_quark), (gst_message_get_type):
15304         * gst/gstmessage.h:
15305         Register quarks for message names.
15306
15307 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
15308
15309         * docs/libs/gstreamer-libs-sections.txt:
15310         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
15311         (gst_controller_new_list):
15312         * libs/gst/controller/gstcontroller.h:
15313           added another constructor for language bindings
15314
15315 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15316
15317         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
15318           add another check
15319         * gst/gstbus.c:
15320           add some doc
15321         * gst/gstinfo.c: (_gst_debug_init):
15322           slightly more readable color for refcount debugging
15323
15324 2005-09-28  Wim Taymans  <wim@fluendo.com>
15325
15326         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
15327         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15328         (find_element), (gst_bin_sort_iterator_next),
15329         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15330         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15331         (gst_bin_change_state), (gst_bin_dispose):
15332         Small doc fixes. get_clock -> provide_clock.
15333
15334         * gst/gstelement.c: (gst_element_class_init),
15335         (gst_element_provides_clock), (gst_element_provide_clock),
15336         (gst_element_get_clock), (gst_element_commit_state),
15337         (gst_element_lost_state):
15338         * gst/gstelement.h:
15339         Make get/set_clock() symetric. Add provide_clock vmethod since
15340         that is actually what this function does.
15341
15342         * gst/gstpipeline.c: (gst_pipeline_class_init),
15343         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
15344         (gst_pipeline_get_clock):
15345         get_clock -> provide_clock.
15346
15347 2005-09-28  Andy Wingo  <wingo@pobox.com>
15348
15349         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
15350         lieu of real docs...
15351
15352         * gst/elements/gstfdsrc.c: Cleaned up a bit.
15353
15354 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
15355
15356         * gst/elements/gstcapsfilter.c:
15357         * gst/elements/gstfakesink.c:
15358         * gst/elements/gstfakesrc.c:
15359         * gst/elements/gstfdsink.c:
15360         * gst/elements/gstfdsrc.c:
15361         * gst/elements/gstfilesink.c:
15362         * gst/elements/gstfilesrc.c:
15363         * gst/elements/gstidentity.c:
15364         * gst/elements/gsttee.c:
15365         * gst/elements/gsttypefindelement.c:
15366           Make element details static.
15367
15368 2005-09-28  Wim Taymans  <wim@fluendo.com>
15369
15370         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15371         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15372         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15373         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15374         (gst_bin_change_state), (gst_bin_dispose):
15375         Some documentation updates.
15376         Clean up dispose handlers.
15377
15378         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
15379         * gst/gstpad.c: (gst_pad_dispose):
15380         Clean up dispose handler.
15381
15382         * gst/gstpipeline.c: (gst_pipeline_change_state):
15383         Removed spurious UNLOCK.
15384
15385 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
15386
15387         * docs/gst/gstreamer-sections.txt:
15388         * gst/base/gstbasesrc.h:
15389         * gst/gstelement.h:
15390         * gst/gstevent.h:
15391         * gst/gstobject.h:
15392         * gst/gstpad.h:
15393         * gst/gstpipeline.c:
15394         * gst/gstpipeline.h:
15395         * gst/gstutils.h:
15396         * gst/gstxml.h:
15397           added two new functions to the docs
15398                 documents all undocumented GstXXXFlags
15399                 completed some incomplete docs 
15400
15401 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15402
15403         * gst/gstbin.c: (gst_bin_dispose):
15404         * gst/gstelement.c: (gst_element_dispose):
15405           remove now useless and leaky resurrection code in dispose
15406         * gst/base/gstbasesrc.c: (gst_base_src_init):
15407         * gst/gstelementfactory.c: (gst_element_factory_create):
15408         * gst/gstobject.c: (gst_object_set_parent):
15409           add some debugging
15410
15411 2005-09-27  Wim Taymans  <wim@fluendo.com>
15412
15413         * docs/design/part-TODO.txt:
15414         Update TODO.
15415
15416         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15417         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15418         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15419         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15420         (gst_bin_change_state):
15421         * gst/gstelement.h:
15422         Remove element variable, we keep element info in the iterator now.
15423
15424 2005-09-27  Andy Wingo  <wingo@pobox.com>
15425
15426         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
15427         values.
15428
15429 2005-09-27  Wim Taymans  <wim@fluendo.com>
15430
15431         * check/gst/gstbin.c: (GST_START_TEST):
15432         Enable check that works now.
15433
15434         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15435         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15436         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15437         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15438         (gst_bin_change_state):
15439         * gst/gstbin.h:
15440         Redid the state change algorithm using a topological sort algo.
15441         Handles all cases correctly.
15442         Exposed iterator for state change order.
15443
15444         * gst/gstelement.h:
15445         Temp storage for state changes. Need to get rid of this soon.
15446
15447 2005-09-27  Wim Taymans  <wim@fluendo.com>
15448
15449         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
15450         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
15451         (link_fold_func), (gst_pad_proxy_setcaps):
15452         Leak fixes, the fold functions need to unref the passed object and
15453         _get_parent_*() returns ref to parent.
15454
15455 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15456
15457         * check/gst/gstbuffer.c: (test_make_writable):
15458           Plug leak in test case and fix 'make check-valgrind'
15459
15460 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15461
15462         * gst/gstbuffer.c: (gst_subbuffer_init):
15463           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
15464           works correctly in all circumstances (we could have just copied
15465           the parent buffer's readonly flag, but conceptually it seems
15466           cleaner to mark all subbuffers as read-only). (based on patch
15467           by Alessandro Decina, #314710).
15468         
15469         * check/gst/gstbuffer.c: (create_read_only_buffer),
15470         (test_make_writable), (test_subbuffer_make_writable),
15471         (gst_test_suite):
15472           Add some tests for gst_buffer_make_writable().
15473
15474 2005-09-27  Wim Taymans  <wim@fluendo.com>
15475
15476         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
15477         use gst_object_has_ancestor().
15478
15479         * gst/gstobject.c: (gst_object_has_ancestor):
15480         * gst/gstobject.h:
15481         gst_object_has_ancestor() copied from gstbin.c as it is a
15482         useful function.
15483
15484         * tests/instantiate/create.c: (create_all_elements):
15485         * tests/lat.c: (handoff_src), (handoff_sink):
15486         * tests/sched/runxml.c: (main):
15487         * tests/seeking/seeking1.c: (main):
15488         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15489         (main):
15490         Fix compilation of some tests.
15491
15492 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15493
15494         * gst/gsterror.h:
15495           Remove comment. GST_TYPE_G_ERROR is here to stay,
15496           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
15497           (#316961, #300610).
15498
15499 2005-09-26  Wim Taymans  <wim@fluendo.com>
15500
15501         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15502         Added check that shows error in state change order.
15503
15504 2005-09-26  Wim Taymans  <wim@fluendo.com>
15505
15506         * gst/gstbin.c: (gst_bin_change_state):
15507         Make state change function use 3 queues again, we were
15508         adding elements in the wrong order.
15509
15510         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
15511         Some debug info,
15512
15513         * gst/gstpad.c: (gst_pad_dispose):
15514         Added some debug info first.
15515
15516 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
15517
15518         * docs/design/draft-push-pull.txt:
15519         * docs/design/part-events.txt:
15520         * docs/design/part-overview.txt:
15521         * docs/design/part-scheduling.txt:
15522           Replace all _pull_region() with _pull_range()
15523           
15524 2005-09-26  Andy Wingo  <wingo@pobox.com>
15525
15526         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
15527
15528         * check/gst-libs/controller.c: Update for controller api change.
15529
15530         * configure.ac: 
15531         * tests/Makefile.am:
15532         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
15533         over by GLib bug 118439.
15534         
15535         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
15536         routines to a function.
15537
15538         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
15539
15540         * libs/gst/controller/gsthelper.c:
15541         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
15542         (gst_object_sync_values): Renamed from sink_values. Ugh.
15543
15544         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
15545
15546         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
15547         Renamed from controller_key, as it is exported.
15548
15549         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
15550
15551 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
15552
15553         * gst/Makefile.am:
15554         * gst/gst.h:
15555         * gst/gstpad.h:
15556         * gst/gstpadtemplate.h:
15557         * gst/gstquery.c:
15558         * gst/gstquery.h:
15559         * gst/gstqueryutils.c:
15560         * gst/gstqueryutils.h:
15561           remove queryutils headers after moving the two used functions
15562           to gstquery.  also fixes build problem for gstsiddec
15563
15564 2005-09-26  Michael Smith <msmith@fluendo.com>
15565
15566         * tools/gst-launch.1.in:
15567         Correct documentation in manpage of debug syntax
15568
15569 2005-09-26  Wim Taymans  <wim@fluendo.com>
15570
15571         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15572         (gst_base_src_is_seekable), (gst_base_src_change_state):
15573         Some more debugging info.
15574
15575 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15576
15577         * docs/gst/gstreamer-sections.txt:
15578         * gst/base/gstbasetransform.h:
15579         * gst/gstindex.h:
15580           added more docs
15581
15582 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15583
15584         * docs/gst/.cvsignore:
15585         * docs/gst/tmpl/.cvsignore:
15586         * docs/gst/tmpl/gstpipeline.sgml:
15587         * docs/gst/tmpl/gstplugin.sgml:
15588         * gst/gstpipeline.c:
15589         * gst/gstplugin.c:
15590         * gst/gstplugin.h:
15591           inlined the last two docs files
15592           removed the tmpl directory from cvs (no more conflicts here!)
15593
15594 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15595
15596         * docs/gst/gstreamer-sections.txt:
15597         * docs/gst/tmpl/.cvsignore:
15598         * docs/gst/tmpl/gstpad.sgml:
15599         * docs/gst/tmpl/gstpadtemplate.sgml:
15600         * gst/Makefile.am:
15601         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
15602         (gst_pad_finalize), (gst_pad_set_pad_template):
15603         * gst/gstpad.h:
15604         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
15605         (gst_pad_template_class_init), (gst_pad_template_init),
15606         (gst_pad_template_dispose), (name_is_valid),
15607         (gst_static_pad_template_get), (gst_pad_template_new),
15608         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
15609         (gst_pad_template_pad_created):
15610         * gst/gstpadtemplate.h:
15611           inlined two more docs
15612           factored gstpadtemplate out of gstpad
15613
15614 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
15615
15616         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15617         (test_children_state_change_order_semi_sink):
15618           Fix test case: we can't rely on a fixed state change order when
15619           going from READY => PAUSED because the sink might commit its 
15620           new state first when the first buffer created by the source 
15621           reaches the sink before the source has finished its change state.
15622           (Test case still fails at times, see #316856, comment 5 onwards)
15623
15624 2005-09-24  Wim Taymans  <wim@fluendo.com>
15625
15626         * docs/design/part-events.txt:
15627         * docs/design/part-gstbus.txt:
15628         * docs/design/part-gstpipeline.txt:
15629         * docs/design/part-messages.txt:
15630         * docs/design/part-overview.txt:
15631         * docs/design/part-segments.txt:
15632         * gst/gstbin.c:
15633         * gst/gstbuffer.c:
15634         * gst/gstclock.c:
15635         * gst/gstelement.c:
15636         * gst/gstevent.c:
15637         * gst/gstfilter.c:
15638         * gst/gstiterator.c:
15639         Various documentation updates.
15640
15641 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15642
15643         * gst/gstclock.h:
15644           Well, that's embarassing.  Luckily we weren't using
15645           GST_CLOCK_DIFF anywhere.
15646
15647 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15648
15649         * common/gtk-doc.mak:
15650           don't fail on building XML, FC4 slave shows a bunch of doc
15651           missing bits that I don't get
15652         * gst/gstpad.c:
15653         * gst/gstpipeline.c:
15654         * gst/gststructure.c:
15655           some doc updates
15656
15657 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15658
15659         * docs/design/part-gstbin.txt:
15660         * docs/design/part-gstbus.txt:
15661         * gst/gstbus.c:
15662           Add blurb about how the bus goes into flushing mode and
15663           drops all messages when its bin goes from READY into NULL 
15664           state.
15665
15666 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15667
15668         * docs/gst/gstreamer-sections.txt:
15669         * gst/gststructure.c: (gst_structure_get_clock_time):
15670         * gst/gststructure.h:
15671           add a method to get a GstClockTime out of a structure
15672
15673 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15674
15675         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15676         (test_children_state_change_order_semi_sink), (gst_bin_suite):
15677           Added test to check state change order in bins (can still be made
15678           to fail here under heavy disk load; bails out with 'Push on pad
15679           fakesink:sink0, but it was not activated in push mode').
15680
15681         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
15682           Fix state change order when there is only a semi sink (#316856)
15683
15684         * gst/gstbus.c: (gst_bus_class_init):
15685           Use _class_peek_parent(), not _class_ref(); fix docs to say
15686           'default main context' instead of 'mainloop' where that is
15687           what's meant.
15688
15689         * gst/gstelement.c: (gst_element_commit_state),
15690         (gst_element_set_state):
15691           Fix typos in debug messages
15692
15693 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15694
15695         * docs/README:
15696         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
15697         * gst/gstpluginfeature.c:
15698         * gst/gstutils.c:
15699           various doc updates
15700         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15701           change an assert into an error until it gets fixed properly
15702
15703 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
15704
15705         * docs/gst/gstreamer-sections.txt:
15706         * docs/gst/tmpl/.cvsignore:
15707         * docs/gst/tmpl/gstelement.sgml:
15708         * docs/gst/tmpl/gstinfo.sgml:
15709         * docs/gst/tmpl/gstobject.sgml:
15710         * gst/gstelement.c:
15711         * gst/gstelement.h:
15712         * gst/gstinfo.c:
15713         * gst/gstinfo.h:
15714         * gst/gstobject.c: (gst_object_class_init):
15715         * gst/gstobject.h:
15716           inlined 3 more biiiig doc files and added some missing docs on the fly
15717
15718 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15719
15720         * check/gst/.cvsignore:
15721         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
15722         * gst/gstregistryxml.c: (load_plugin),
15723         (gst_registry_xml_save_plugin):
15724           put back source in registry.  add checks for find_plugin.
15725         * testsuite/states/bin.c: (assert_state), (empty_bin),
15726         (test_adding_one_element), (main):
15727         * testsuite/states/locked.c: (main):
15728           some compile/run fixes
15729
15730 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15731
15732         * check/gst/gstvalue.c: (GST_START_TEST):
15733           fix leaks in the test itself
15734
15735 2005-09-22  Wim Taymans  <wim@fluendo.com>
15736
15737         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15738         (gst_base_sink_send_event), (gst_base_sink_peer_query),
15739         (gst_base_sink_query):
15740         Prepare for more accurate position reporting and query
15741         handling.
15742
15743         * gst/gstelement.c: (gst_element_send_event),
15744         (gst_element_set_state):
15745         Add some comment.
15746
15747 2005-09-22  Wim Taymans  <wim@fluendo.com>
15748
15749         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
15750         (gst_query_parse_segment):
15751         * gst/gstquery.h:
15752         More documentation.
15753         Add segment query for future use.
15754
15755 2005-09-22  Wim Taymans  <wim@fluendo.com>
15756
15757         * gst/gstbin.c: (gst_bin_add_func):
15758         Some more debug info.
15759
15760         * gst/gstelement.c: (gst_element_send_event):
15761         Simplify send_event
15762
15763         * gst/gstelement.h:
15764         Don't know how flags got broken.
15765
15766         * gst/gstquery.h:
15767         Added new query.
15768
15769 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15770
15771         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
15772           Add simplistic test suite for GST_TYPE_DATE serialisation and
15773           deserialisation.
15774
15775 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15776
15777         * docs/gst/gstreamer-sections.txt:
15778         * gst/gststructure.c: (gst_structure_set_valist),
15779         (gst_structure_get_date):
15780         * gst/gststructure.h:
15781         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
15782         (gst_date_copy), (gst_value_compare_date),
15783         (gst_value_serialize_date), (gst_value_deserialize_date),
15784         (gst_value_transform_date_string),
15785         (gst_value_transform_string_date), (_gst_value_initialize):
15786         * gst/gstvalue.h:
15787           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
15788           bunch of utility functions along with a hack that checks that
15789           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
15790           is required. Part of the grand scheme in #170777.
15791
15792 2005-09-22  Andy Wingo  <wingo@pobox.com>
15793
15794         * gst/gstconfig.h.in: Psych out gtk-doc.
15795
15796         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
15797
15798         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
15799
15800         * tools/gst-inspect.c (print_element_list): Plug some
15801         inconsequential leaks.
15802
15803         * gst/gstregistry.c (gst_registry_get_default): Doc.
15804
15805         * check/gst/gstplugin.c: 
15806         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
15807         * gst/gstelementfactory.c (gst_element_factory_create): 
15808         * gst/gstindexfactory.c (gst_index_factory_create): Update for
15809         refcount changes.
15810
15811         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
15812         (gst_plugin_feature_load): Doc, don't eat refs.
15813
15814         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
15815         (gst_plugin_list_free): Doc.
15816         (gst_plugin_load_file): Doc updates.
15817
15818         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
15819         accessors returning refcounted objects, return a ref.
15820
15821         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
15822         accessor for caps. IDEMPOTENCE. Oh yes.
15823
15824 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
15825
15826         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15827
15828         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15829         (_gst_debug_register_funcptr):
15830           Add mutex to serialise access to the hash table with
15831           the function pointer => function name string mapping;
15832           make that hash table static scope (#316809).
15833
15834         * gst/registries/.cvsignore:
15835           Remove left-over file.
15836
15837 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15838
15839         * docs/pwg/appendix-porting.xml:
15840           And something about newsegment events and caps-on-buffers to
15841           the porting guide (feel free to improve).
15842
15843 2005-09-21  Andy Wingo  <wingo@pobox.com>
15844
15845         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
15846         data and event probes on the same pad.
15847         (test_buffer_probe_once): Test that removing probes from within
15848         the probe functions works.
15849
15850 2005-09-21  Andy Wingo  <wingo@pobox.com>
15851
15852         * check/gst/gstutils.c: New file.
15853         (test_buffer_probe_n_times): A simple buffer probe test. More to
15854         come, foolios.
15855
15856         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
15857         have-data::buffer, not have-data.
15858         (gst_pad_add_event_probe): Likewise for have-data::event.
15859         (gst_pad_add_data_probe): More docs. The part about 'resolving the
15860         peer' isn't quite right yet though.
15861         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
15862         (gst_pad_remove_data_probe): Change to take the guint handler_id
15863         as their arg, not the function+data, which is more glib-like.
15864
15865         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
15866         the signal emission to indicate if the data is a buffer or an
15867         event.
15868         (gst_pad_get_type): Initialize buffer and event quarks.
15869         (gst_pad_class_init): have-data is now a detailed signal, yes it
15870         is.
15871
15872 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15873
15874         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
15875         * gst/gstutils.c: (gst_util_set_value_from_string),
15876         (gst_util_set_object_arg):
15877           Don't put functional code in g_return_if_fail() or
15878           g_return_val_if_fail() statements, otherwise things will 
15879           break when G_DISABLE_CHECKS is defined during compilation.
15880
15881 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15882
15883         * docs/gst/tmpl/.cvsignore:
15884         * docs/gst/tmpl/gstvalue.sgml:
15885         * gst/gstvalue.c:
15886         * gst/gstvalue.h:
15887           inlied another one and added  some obvious docs
15888
15889 2005-09-21  Wim Taymans  <wim@fluendo.com>
15890
15891         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
15892         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
15893         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
15894         (gst_fdsrc_get_property), (gst_fdsrc_create):
15895         * gst/elements/gstfdsrc.h:
15896         Properly implement fdsrc. Removed signal and timeout,
15897         better implemented somewhere else.
15898
15899 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15900
15901         * docs/gst/tmpl/.cvsignore:
15902         * docs/gst/tmpl/gstimplementsinterface.sgml:
15903         * gst/gstinterface.c:
15904           inlined more docs
15905
15906 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15907
15908         * docs/gst/gstreamer-sections.txt:
15909         * docs/gst/tmpl/.cvsignore:
15910         * docs/gst/tmpl/gstenumtypes.sgml:
15911           remove obsolete doc file
15912
15913 2005-09-21  David Schleef  <ds@schleef.org>
15914
15915         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
15916         little beer, fix a little leak.
15917
15918 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15919
15920         * docs/gst/gstreamer-docs.sgml:
15921         * docs/gst/gstreamer-sections.txt:
15922         * docs/gst/tmpl/.cvsignore:
15923         * gst/Makefile.am:
15924         * gst/gst.h:
15925         * gst/gstbin.c:
15926         * gst/gstelement.h:
15927         * gst/gstindex.c: (gst_index_class_init):
15928         * gst/gstindex.h:
15929         * gst/gstindexfactory.c: (gst_index_factory_get_type),
15930         (gst_index_factory_class_init), (gst_index_factory_init),
15931         (gst_index_factory_finalize), (gst_index_factory_new),
15932         (gst_index_factory_destroy), (gst_index_factory_find),
15933         (gst_index_factory_create), (gst_index_factory_make):
15934         * gst/gstindexfactory.h:
15935         * gst/gstpluginfeature.c:
15936         * gst/gstpluginfeature.h:
15937         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15938           more docs inlined, splitted gstindex.{c,h}
15939
15940 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15941
15942         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15943           fix a leak
15944
15945 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
15946
15947         * gst/elements/gstfilesink.c: (gst_file_sink_init):
15948           Set sync to FALSE by default.
15949
15950 2005-09-20  Wim Taymans  <wim@fluendo.com>
15951
15952         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15953         (gst_base_sink_init):
15954         Make sync property settable from subclass.
15955
15956         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
15957         (gst_fake_sink_change_state):
15958         Set sync to FALSE by default.
15959
15960 2005-09-20  Wim Taymans  <wim@fluendo.com>
15961
15962         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
15963         * tools/gst-launch.c: (main):
15964         The timeout handler should have lower priority than the source
15965         so we don't timeout before popping a message with 0 timeout.
15966         Dump error messages after failed state change.
15967
15968 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
15969
15970         * tools/gst-inspect.c: (print_element_properties_info):
15971           Fix two typos.
15972
15973 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15974
15975         * check/gst/gstevent.c:
15976         * gst/elements/gstfakesink.c:
15977         * gst/elements/gstfakesink.h:
15978           remove the sync property from fakesink.
15979           has the side effect of setting sync TRUE
15980           for fakesink, which is a change.  Anyone who knows how
15981           to fix this nicely in a GObject-y way, feel free.
15982
15983 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15984
15985         * docs/gst/gstreamer-docs.sgml:
15986           remove probe refsection
15987
15988 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
15989
15990         * check/Makefile.am:
15991           disable valgrinding the controller test again
15992         * docs/gst/gstreamer-sections.txt:
15993           update for api-changes
15994
15995 2005-09-20  Wim Taymans  <wim@fluendo.com>
15996
15997         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15998         (gst_base_sink_set_property), (gst_base_sink_get_property),
15999         (gst_base_sink_do_sync):
16000         * gst/base/gstbasesink.h:
16001         Added sync property to basesink to disable clock sync.
16002
16003 2005-09-20  Andy Wingo  <wingo@pobox.com>
16004
16005         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
16006         eating the caller's refcount.
16007
16008         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
16009         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
16010         refcount.
16011
16012         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
16013         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
16014         of GLib 2.8 public, so we can know which refcount to check in
16015         tests.
16016
16017         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
16018         (gst_object_init): Only set the gst refcount if we're going ahead
16019         with the refcount hack.
16020
16021 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16022
16023         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
16024         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
16025           more leaks plumbed, added more debug-logging
16026         * gst/gstmacros.h:
16027           whitespace fix
16028
16029 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16030
16031         * gst/gstmessage.c:
16032           remove include of gstmemchunk.h
16033
16034 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16035
16036         * gst/gstclock.c: (_gst_clock_id_free):
16037           Commit from the Political Party For More Atomic CVS Commits,
16038           so that people don't waste too much of their day fishing
16039           out obvious leaks out of massive commits.
16040           Oh, and fix a pretty damn obvious leak in the memchunk
16041           removal code.
16042
16043 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16044
16045         * check/Makefile.am:
16046         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
16047           plug mem-leak, re-add to valgrindable tests
16048
16049 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16050
16051         * gst/gstplugin.h:
16052           unbreak the build for those who have chronic arthritis
16053           and typing "make check" is just too taxing on the hands
16054
16055 2005-09-20  Andy Wingo  <wingo@pobox.com>
16056
16057         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
16058         really want it out, you should fix plugins at the same time.
16059
16060 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
16061
16062         * configure.ac:
16063         * docs/gst/gstreamer-sections.txt:
16064         * gst/gstobject.c:
16065           added missing symbols to api docs
16066           disable ref-count hack if we have glib >= 2.8
16067
16068 2005-09-19  David Schleef  <ds@schleef.org>
16069
16070         * docs/gst/Makefile.am: Ignore a few more internal headers
16071         * docs/gst/gstreamer-docs.sgml: Remove old sections
16072         * docs/gst/gstreamer-sections.txt: Remove old sections
16073         * docs/gst/tmpl/gstobject.sgml: update
16074         * docs/gst/tmpl/gstplugin.sgml: update
16075         * docs/gst/tmpl/gstpluginfeature.sgml: update
16076         * docs/random/ds/0.9-suggested-changes: update.
16077         * gst/Makefile.am: remove memchunk and trashstack, since they're
16078           not used.
16079         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
16080         * gst/gst.h: don't include some headers
16081         * gst/gstchildproxy.c: add gstmarshal.h
16082         * gst/gstclock.c: Don't use memchunks
16083         * gst/gstminiobject.c: Add some docs
16084         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
16085         * gst/gstobject.h: same
16086         * gst/gstplugin.c: include gstmacros.h
16087         * gst/gstplugin.h: don't include gstmacros.h, since it's private
16088         * gst/gstquery.c: don't use memchunks
16089         * gst/gstregistry.c: rename gst_registry_deinit()
16090         * gst/gstregistry.h: same
16091
16092 2005-09-19  David Schleef  <ds@schleef.org>
16093
16094         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
16095         * docs/libs/gstreamer-libs-sections.txt:
16096         * docs/libs/tmpl/gstgetbits.sgml:
16097         * docs/libs/tmpl/gstputbits.sgml:
16098
16099 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
16100
16101         * win32/gstenumtypes.c:
16102         * win32/gstenumtypes.h:
16103           Update.
16104
16105 2005-09-19  Wim Taymans  <wim@fluendo.com>
16106
16107         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
16108         Automatically PAUSE and RESUME a pipeline when a flushing seek
16109         is performed.
16110
16111 2005-09-19  Andy Wingo  <wingo@pobox.com>
16112
16113         * gst/gstregistry.h: Spacing fixen.
16114
16115 2005-09-19  Wim Taymans  <wim@fluendo.com>
16116
16117         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
16118         Handle state change failure more correctly.
16119
16120 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16121
16122         * check/Makefile.am:
16123         * check/pipelines/cleanup.c: (run_pipeline):
16124         * check/pipelines/simple_launch_lines.c: (run_pipeline),
16125         (GST_START_TEST):
16126           enable cleanup again after fixing the leak
16127         * docs/README:
16128           some more info on docs
16129
16130 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16131
16132         * check/Makefile.am:
16133           re-enable tests now that leaks are plugged
16134         * check/gst/gst.c:
16135         * check/gst/gstbin.c:
16136         * check/gst/gstpipeline.c:
16137           add some more tests while fixing leaks
16138         * common/check.mak:
16139           make sure binaries are uptodate when valgrinding/gdbing
16140         * gst/gst.c:
16141         * gst/gstelementfactory.c:
16142           remove a ref too many, and add a FIXME for when we get
16143           round to disposing of classes
16144         * gst/gstplugin.c:
16145           fix the refcounting when loading a plugin from a file and
16146           the code pretends that the pointer is the same even though
16147           of course it can change
16148         * gst/gstpluginfeature.c:
16149           unref plugins marked cached (a bit confusing as a name)
16150           as the docs state should be done
16151           various doc additions to explain refcounting
16152         * gst/gstregistry.c:
16153         * gst/gstregistryxml.c:
16154           debugging
16155
16156 2005-09-19  Wim Taymans  <wim@fluendo.com>
16157
16158         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
16159         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
16160         (send_messages), (GST_START_TEST), (gstbus_suite):
16161         * check/gst/gstpipeline.c: (GST_START_TEST):
16162         * check/pipelines/cleanup.c: (run_pipeline):
16163         * check/pipelines/simple_launch_lines.c: (run_pipeline),
16164         (GST_START_TEST):
16165         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
16166         (gst_bus_source_check), (gst_bus_source_dispatch),
16167         (gst_bus_create_watch), (gst_bus_add_watch_full),
16168         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
16169         * gst/gstbus.h:
16170         * tools/gst-launch.c: (event_loop):
16171         * tools/gst-md5sum.c: (event_loop):
16172         GstBusHandler -> GstBusFunc, return value has the same meaning as
16173         any other GSource (FALSE == remove source).
16174         _add_watch() and _add_watch_full() now take a MessageType mask to
16175         only handle specific types of messages.
16176         _poll() returns the GstMessage instead of the message type to avoid
16177         race conditions.
16178         _have_pending() takes a MessageType mask now too.
16179         Added testsuite for multiple bus watches.
16180         Fix testsuites and applications for new bus API.
16181
16182 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16183
16184         * check/Makefile.am:
16185           mark a bunch of the tests as to fix until we fix them
16186
16187 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16188
16189         * common/check.mak:
16190           use GST_PLUGIN settings for valgrind tests as well, so we're
16191           valgrinding the correct thing
16192         * gst/gst.c: (init_post):
16193           plug another leak
16194
16195 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16196
16197         * gst/gst.c: (init_post), (gst_deinit):
16198         * gst/gstelementfactory.c: (gst_element_factory_class_init),
16199         (gst_element_factory_finalize), (gst_element_factory_cleanup):
16200         * gst/gstindex.c: (gst_index_factory_class_init),
16201         (gst_index_factory_finalize):
16202         * gst/gstobject.c: (gst_object_dispose):
16203         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16204         (gst_plugin_load_file), (gst_plugin_desc_free):
16205         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
16206         (gst_plugin_feature_finalize):
16207         * gst/gstregistry.c: (gst_registry_class_init),
16208         (gst_registry_init), (gst_registry_finalize),
16209         (gst_registry_get_default), (gst_registry_deinit):
16210         * gst/gstregistry.h:
16211         * gst/gstregistryxml.c: (load_feature), (load_plugin):
16212           various cleanups and memleak plugging.  make valgrind is happy now.
16213
16214 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16215
16216         * common/check.mak:
16217           add a check-valgrind target
16218
16219 2005-09-18  David Schleef  <ds@schleef.org>
16220
16221         * tools/gst-inspect.c: Revert the GOption code.
16222
16223 2005-09-17  David Schleef  <ds@schleef.org>
16224
16225         * check/Makefile.am: Fix environment variables.
16226         * check/gst/gstplugin.c: Fix for API changes.
16227         * tools/gst-inspect.c: Fix for API changes.
16228         * tools/gst-xmlinspect.c: Fix for API changes.
16229         * gst/gstelementfactory.c:
16230         * gst/gstplugin.c:
16231         * gst/gstplugin.h:
16232         * gst/gstpluginfeature.c:
16233         * gst/gstpluginfeature.h:
16234         * gst/gstregistry.c:
16235         * gst/gstregistry.h:
16236         * gst/gstregistryxml.c:
16237         * gst/gsttypefind.c:
16238         * gst/gsttypefindfactory.c:
16239         * gst/indexers/gstfileindex.c:
16240         * gst/indexers/gstmemindex.c:
16241         * gst/schedulers/Makefile.am:
16242           Change registry to keep track of both plugins and features,
16243           removing the feature tracking from plugins themselves.
16244
16245 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16246
16247         * check/Makefile.am:
16248         * tools/gst-register.1.in:
16249           remove gst-register
16250
16251 2005-09-15  David Schleef  <ds@schleef.org>
16252
16253         * check/gst/gstplugin.c:
16254         * gst/gstelementfactory.c:
16255         * gst/gstplugin.c:
16256         * gst/gstpluginfeature.c:
16257         * gst/gstregistry.c:
16258           Getting tired of debugging.  Disabled all the unreffing of
16259           plugins and features, which fixes the segfaults, but of
16260           course leaks like crazy.  At least playbin works.
16261
16262 2005-09-15  David Schleef  <ds@schleef.org>
16263
16264         * check/gst/gstplugin.c: (register_check_elements),
16265         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
16266         More testing
16267         * gst/elements/gsttypefindelement.c: Fix refcounting.
16268         * gst/gsttypefind.c:
16269         * gst/gsttypefindfactory.c:
16270         * gst/gsttypefindfactory.h:
16271
16272 2005-09-15  David Schleef  <ds@schleef.org>
16273
16274         * gst/gstindex.c: get refcounting correct.
16275         * gst/gstregistry.c: Handle the case where a feature/plugin is
16276           not found.
16277
16278 2005-09-15  David Schleef  <ds@schleef.org>
16279
16280         * check/Makefile.am:
16281         * check/gst/gstplugin.c: Add test
16282         * gst/gstplugin.c: Fix problems noticed by testsuite
16283         * gst/gstplugin.h:
16284         * gst/gstregistry.c: 
16285         * gst/gstregistry.h:
16286
16287 2005-09-15  David Schleef  <ds@schleef.org>
16288
16289         * gst/gstplugin.c: Implement semi-decent recounting and locking
16290           in plugins and plugin features.
16291         * gst/gstplugin.h:
16292         * gst/gstpluginfeature.c:
16293         * gst/gstpluginfeature.h:
16294         * gst/gstregistry.c:
16295
16296 2005-09-15  Michael Smith <msmith@fluendo.com>
16297
16298         * gst/gstregistry.c: (gst_registry_get_feature_list):
16299           Implement this. Makes oggdemux work; decodebin still broken.
16300
16301 2005-09-14  David Schleef  <ds@schleef.org>
16302
16303         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
16304           #316076)
16305         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
16306         * gst/check/Makefile.am:
16307         * libs/gst/controller/Makefile.am:
16308         * libs/gst/dataprotocol/Makefile.am:
16309
16310 2005-09-14  David Schleef  <ds@schleef.org>
16311
16312         * configure.ac: Remove getbits library.  Nothing uses it, and
16313           it should be in something like liboil if someone did want
16314           to use it.
16315         * libs/gst/Makefile.am:
16316         * libs/gst/getbits/Makefile.am:
16317         * libs/gst/getbits/gbtest.c:
16318         * libs/gst/getbits/getbits.c:
16319         * libs/gst/getbits/getbits.h:
16320         * libs/gst/getbits/gstgetbits_generic.c:
16321         * libs/gst/getbits/gstgetbits_i386.s:
16322         * libs/gst/getbits/gstgetbits_inl.h:
16323
16324 2005-09-14  David Schleef  <ds@schleef.org>
16325
16326         * gst/Makefile.am: Dist glib-compat.h
16327
16328 2005-09-14  David Schleef  <ds@schleef.org>
16329
16330         * configure.ac: Remove gst/registries, since it's no longer used.
16331         * gst/registries/Makefile.am:
16332         * gst/registries/gstlibxmlregistry.c:
16333         * gst/registries/gstlibxmlregistry.h:
16334         * gst/registries/gstxmlregistry.c:
16335         * gst/registries/gstxmlregistry.h:
16336         * gst/registries/registrytest.c:
16337
16338 2005-09-14  David Schleef  <ds@schleef.org>
16339
16340         * gst/glib-compat.h:
16341         * gst/gstregistryxml.c:
16342           Convergence is near.  Seriously.
16343
16344 2005-09-14  David Schleef  <ds@schleef.org>
16345
16346         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16347         * gst/glib-compat.h:
16348           Attempt #4 to appease the buildbots.
16349
16350 2005-09-14  David Schleef  <ds@schleef.org>
16351
16352         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16353           Attempt #3.
16354
16355 2005-09-14  David Schleef  <ds@schleef.org>
16356
16357         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16358         Attempt #2.
16359
16360 2005-09-14  David Schleef  <ds@schleef.org>
16361
16362         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
16363           the new functions.
16364
16365 2005-09-14  David Schleef  <ds@schleef.org>
16366
16367         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16368         * gst/glib-compat.h: Add some functions that are in newer versions
16369           of glib than we care to require.
16370         * gst/gstregistryxml.c: Use them.
16371
16372 2005-09-14  David Schleef  <ds@schleef.org>
16373
16374         * po/POTFILES.in: remove gst-register.c
16375
16376 2005-09-14  David Schleef  <ds@schleef.org>
16377
16378         * docs/gst/gstreamer-docs.sgml:
16379         * docs/gst/gstreamer-sections.txt:
16380         * docs/gst/gstreamer.types:
16381         * docs/gst/tmpl/gstelement.sgml:
16382         * docs/gst/tmpl/gstplugin.sgml:
16383         * docs/gst/tmpl/gstpluginfeature.sgml:
16384           Documentation updates for registry changes.
16385
16386 2005-09-14  David Schleef  <ds@schleef.org>
16387
16388         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
16389           because we don't require glib-2.8.
16390
16391 2005-09-14  David Schleef  <ds@schleef.org>
16392
16393         * gst/gstregistryxml.c: Added.  Essentially moved out of the
16394           registries directory.
16395
16396 2005-09-14  David Schleef  <ds@schleef.org>
16397
16398         * check/Makefile.am:
16399         * check/generic/states.c:
16400         * gst/Makefile.am:
16401         * gst/gst.c:
16402         * gst/gst.h:
16403         * gst/gst_private.h:
16404         * gst/gstelementfactory.c:
16405         * gst/gstindex.c:
16406         * gst/gstinfo.c:
16407         * gst/gstplugin.c:
16408         * gst/gstplugin.h:
16409         * gst/gstpluginfeature.c:
16410         * gst/gstpluginfeature.h:
16411         * gst/gstregistry.c:
16412         * gst/gstregistry.h:
16413         * gst/gstregistrypool.c: remove
16414         * gst/gstregistrypool.h: remove
16415         * gst/gsttypefind.c:
16416         * gst/gsttypefindfactory.c:
16417         * gst/gsturi.c:
16418         * tools/Makefile.am:
16419         * tools/gst-compprep.c:
16420         * tools/gst-inspect.c:
16421         * tools/gst-register.c: remove
16422         * tools/gst-xmlinspect.c:
16423           Registry rewrite.  Changes registry from being a file created
16424           by a tool into a simple cache file created automatically by 
16425           libgstreamer.  Removed gst-register (because it's no longer
16426           needed).  Remove registry pools, because we only have one
16427           registry implementation (XML).  Fix up other subsystems as
16428           necessary.
16429
16430 2005-09-13  Michael Smith <msmith@fluendo.com>
16431
16432         * gst/gstconfig.h.in:
16433           Don't Use windows linking attributes for MinGW. Fixes #316157
16434
16435 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16436
16437         * gst/gstutils.c: (set_state_async_thread_func),
16438         (gst_element_set_state_async):
16439           Apparently people think it's better if this function doesn't
16440           try to set the state to whatever state was asked for on the first
16441           call to this function for any object.  Seriously.
16442
16443 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16444
16445         * check/gst/gstpipeline.c: (GST_START_TEST):
16446         * docs/gst/gstreamer-sections.txt:
16447         * gst/gstutils.c: (set_state_async_thread_func),
16448         (gst_element_set_state_async):
16449         * gst/gstutils.h:
16450           add a "gst_element_set_state_async" method that
16451           sets the state and starts a thread to make sure the state
16452           change completes as best as it can
16453
16454 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16455
16456         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16457           codify design+behaviour in testsuite after discussion
16458
16459 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16460
16461         * docs/gst/tmpl/gstelement.sgml:
16462         * docs/manual/appendix-quotes.xml:
16463           add a quote
16464         * gst/gstelement.c: (gst_element_set_state):
16465           add some debug
16466
16467 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
16468
16469         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16470         (gst_base_transform_prepare_output_buf),
16471         (gst_base_transform_handle_buffer):
16472         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
16473         (gst_capsfilter_prepare_buf):
16474           Remove the requirement for sub-classes to call the parent
16475           implementation of prepare_output_buffer with a wrapper function.
16476           
16477         * gst/gsttaglist.h:
16478         * gst/gsttagsetter.h:
16479           Fix #define wrapper
16480
16481 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
16482
16483         * docs/gst/gstreamer-sections.txt:
16484           more doc cleanups
16485
16486 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16487
16488         * docs/gst/gstreamer-sections.txt:
16489         * docs/gst/tmpl/gstelement.sgml:
16490         * docs/gst/tmpl/gstplugin.sgml:
16491         * gst/gstminiobject.c:
16492         * gst/gstvalue.h:
16493           docs now stop throwing warnings
16494
16495 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16496
16497         * docs/gst/gstreamer-sections.txt:
16498         * docs/gst/gstreamer.types:
16499         * docs/gst/tmpl/gstpad.sgml:
16500         * docs/gst/tmpl/gsttypes.sgml:
16501         * gst/base/gstadapter.h:
16502         * gst/base/gstbasesink.h:
16503         * gst/base/gstbasesrc.h:
16504         * gst/gstbin.h:
16505         * gst/gstbuffer.h:
16506         * gst/gstbus.h:
16507         * gst/gstcaps.h:
16508         * gst/gstclock.h:
16509         * gst/gstelement.h:
16510         * gst/gstevent.h:
16511         * gst/gstmessage.h:
16512         * gst/gstpad.h:
16513         * gst/gststructure.c:
16514         * gst/registries/gstlibxmlregistry.h:
16515           various documentation fixes
16516
16517 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16518
16519         * docs/gst/gstreamer-sections.txt:
16520         * docs/gst/tmpl/gstvalue.sgml:
16521           rearrange gstvalue section
16522         * gst/gstutils.c: (gst_element_state_get_name):
16523           NONE -> VOID
16524         * gst/gstvalue.c: (_gst_value_initialize):
16525         * gst/gstvalue.h:
16526           doc updates
16527
16528 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
16529
16530         * check/gst-libs/controller.c:
16531           Header include fix.
16532         * gst/base/gstbasetransform.c:
16533         (gst_base_transform_default_prepare_buf),
16534         (gst_base_transform_handle_buffer):
16535         * gst/base/gstbasetransform.h:
16536           Some more basetransform changes and fixes to enable sub-classes
16537           that modify buffer metadata only.
16538         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16539         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
16540         (gst_capsfilter_prepare_buf):
16541           If the output pad has fixed allowed caps and input buffers 
16542           don't have any, set the fixed caps on outgoing buffers.
16543
16544 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
16545         * check/elements/identity.c: (GST_START_TEST):
16546           Make the error a little clearer when the test fails because
16547           identity made a copy of the buffer.
16548         * docs/gst/gstreamer-sections.txt:
16549           New symbols in gstbasetransform.h
16550         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16551         (gst_base_transform_init), (gst_base_transform_transform_size),
16552         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16553         (gst_base_transform_default_prepare_buf),
16554         (gst_base_transform_get_unit_size),
16555         (gst_base_transform_buffer_alloc),
16556         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16557         (gst_base_transform_change_state),
16558         (gst_base_transform_set_passthrough),
16559         (gst_base_transform_set_in_place),
16560         (gst_base_transform_is_in_place):
16561         * gst/base/gstbasetransform.h:
16562           Change BaseTransform to separate in_place operate from same_caps
16563           output. in_place implies that the element can perform the transform
16564           on incoming buffers in-place, even if the caps on the output are
16565           different.
16566           Sub-class elements can now implement special buffer allocation
16567           methods for outgoing buffers if they wish to.
16568           Big documentation addition.
16569         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
16570         * gst/elements/gstelements.c:
16571           Changes for basetransform modifications.
16572         * gst/elements/Makefile.am:
16573         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
16574           Compile fix. Extra debug output.
16575
16576 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16577
16578         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
16579         (gst_pad_suite):
16580           add tests for valid pad naming
16581         * gst/check/gstcheck.c: (gst_check_log_message_func),
16582         (gst_check_log_critical_func):
16583           add ASSERT_WARNING
16584           remove printing of code, it is fragile when the code contains
16585           % and the line number is enough info
16586         * gst/check/gstcheck.h:
16587         * gst/gstpad.c: (gst_pad_template_new):
16588           fix memleaks
16589
16590 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16591
16592         * configure.ac:
16593           say what CHECK flags we use
16594         * docs/libs/gstreamer-libs.types:
16595         * libs/gst/controller/Makefile.am:
16596         * libs/gst/controller/gst-controller.c:
16597         * libs/gst/controller/gst-controller.h:
16598         * libs/gst/controller/gst-helper.c:
16599         * libs/gst/controller/gst-interpolation.c:
16600         * libs/gst/controller/gstcontroller.c:
16601         * libs/gst/controller/gsthelper.c:
16602         * libs/gst/controller/gstinterpolation.c:
16603         * tools/gst-inspect.c: (print_plugin_info):
16604           we don't use dashes in header names
16605
16606 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16607
16608         * check/Makefile.am:
16609         * check/gst/.cvsignore:
16610         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
16611         (gst_pipeline_suite), (main):
16612           adding a test for pipelines and state changes
16613         * gst/gstutils.c: (get_state_func):
16614           add some debugging
16615         * gstreamer.spec.in:
16616           fix up spec file
16617
16618 2005-09-08  Michael Smith <msmith@fluendo.com>
16619
16620         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
16621         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
16622         (gst_file_src_is_seekable), (gst_file_src_get_size),
16623         (gst_file_src_start):
16624         * gst/elements/gstfilesrc.h:
16625           Various fixes for unseekable, unmmapable, and non-normal files, so
16626           that fallback to read() rather than mmap() works.
16627         * gst/gstevent.c: (gst_event_new_newsegment):
16628           Allow newsegment events with segment_start == segment_end, as will
16629           correctly happen if you use filesrc on a zero-size file, for
16630           example.
16631
16632 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16633
16634         * gst/gstplugin.c: (gst_plugin_load_file):
16635           Call g_module_close when we don't load the module
16636
16637         * gst/registries/gstlibxmlregistry.c:
16638         (gst_xml_registry_get_property):
16639           Port leak fix from 0.8
16640
16641 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16642
16643         * docs/gst/gstreamer-docs.sgml:
16644         * docs/gst/tmpl/.cvsignore:
16645         * docs/gst/tmpl/gsttrace.sgml:
16646         * docs/gst/tmpl/gsttrashstack.sgml:
16647         * gst/Makefile.am:
16648         * gst/gst.h:
16649         * gst/gstelement.h:
16650         * gst/gstevent.h:
16651         * gst/gstmessage.c:
16652         * gst/gstmessage.h:
16653         * gst/gsttag.c:
16654         * gst/gsttag.h:
16655         * gst/gsttaginterface.c:
16656         * gst/gsttaginterface.h:
16657         * gst/gsttaglist.c:
16658         * gst/gsttaglist.h:
16659         * gst/gsttagsetter.c:
16660         * gst/gsttagsetter.h:
16661         * gst/gsttrace.c:
16662         * gst/gsttrace.h:
16663         * gst/gsttrashstack.c:
16664           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
16665           inlined docs for gsttrace, gsttrashstack
16666
16667 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16668
16669         * gst/Makefile.am:
16670         * gst/elements/gstbufferstore.h:
16671         * gst/elements/gsttypefindelement.c:
16672         * gst/elements/gsttypefindelement.h:
16673         * gst/gst.h:
16674         * gst/gsttypefind.c:
16675         * gst/gsttypefind.h:
16676         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
16677         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
16678         (gst_type_find_factory_dispose),
16679         (gst_type_find_factory_unload_thyself),
16680         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
16681         (gst_type_find_factory_get_caps),
16682         (gst_type_find_factory_get_extensions),
16683         (gst_type_find_factory_call_function):
16684         * gst/gsttypefindfactory.h:
16685         * gst/registries/gstlibxmlregistry.c:
16686         * gst/registries/gstxmlregistry.c:
16687           splitted gsttypefind into gsttypefind, gsttypefindfactory
16688
16689 2005-09-07  Andy Wingo  <wingo@pobox.com>
16690
16691         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
16692         condition whereby the pad's task function is entered before the
16693         pad_mode variable was set.
16694
16695 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16696
16697         * gst/gstpad.c: (gst_pad_alloc_buffer):
16698           Catch misbehaving pad_alloc functions that don't
16699           set up caps and do it for them.
16700
16701 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16702
16703         * check/pipelines/simple_launch_lines.c: (run_pipeline):
16704           test for pipe!=NULL
16705         * docs/gst/tmpl/.cvsignore:
16706         * docs/gst/tmpl/gstmemchunk.sgml:
16707         * docs/gst/tmpl/gstparse.sgml:
16708         * docs/gst/tmpl/gsttaglist.sgml:
16709         * docs/gst/tmpl/gsttagsetter.sgml:
16710         * docs/gst/tmpl/gsttypefind.sgml:
16711         * docs/gst/tmpl/gsttypefindfactory.sgml:
16712         * gst/gstmemchunk.c:
16713         * gst/gstparse.c:
16714         * gst/gsttag.c:
16715         * gst/gsttaginterface.c:
16716         * gst/gsttypefind.c:
16717         * gst/gsttypefind.h:
16718           inlined more docs
16719
16720 === release 0.9.2 ===
16721
16722 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16723
16724         * NEWS:
16725         * RELEASE:
16726         * configure.ac:
16727           releasing 0.9.2, "South"
16728
16729 2005-09-05  Andy Wingo  <wingo@pobox.com>
16730
16731         * gst/registries/gstxmlregistry.h:
16732         * gst/registries/gstxmlregistry.c: Um... resurrect...
16733         
16734         * gst/registries/gstxmlregistry.h:
16735         * gst/registries/gstxmlregistry.c: and update to newer API.
16736         Incidentally they should be a bit faster now that they don't have
16737         to parse the caps.
16738         
16739 2005-09-05  Andy Wingo  <wingo@pobox.com>
16740
16741         * gst/registries/gstxmlregistry.h:
16742         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
16743         replaced by the libxml registry a while back
16744
16745 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16746
16747         * docs/gst/tmpl/gstplugin.sgml:
16748         * gst/elements/gstelements.c:
16749         * gst/gst.c:
16750         * gst/gstplugin.c: (gst_plugin_register_func),
16751         (gst_plugin_desc_copy), (gst_plugin_desc_free),
16752         (gst_plugin_get_source):
16753         * gst/gstplugin.h:
16754         * gst/registries/gstlibxmlregistry.c: (load_plugin),
16755         (gst_xml_registry_save_plugin):
16756         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
16757         (gst_xml_registry_save_plugin):
16758         * tools/gst-inspect.c: (print_plugin_info):
16759           add a "source" plugin description field, to represent the source
16760           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
16761           will set it to PACKAGE, which is automake's idea of the name of
16762           the source project.
16763
16764 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16765
16766         * Makefile.am:
16767         * autogen.sh:
16768         * configure.ac:
16769         * docs/Makefile.am:
16770         * docs/faq/Makefile.am:
16771         * docs/gst/tmpl/gstelement.sgml:
16772         * docs/gst/tmpl/gsttypes.sgml:
16773         * docs/htmlinstall.mak:
16774         * docs/manual/Makefile.am:
16775         * docs/pwg/Makefile.am:
16776           reorganize doc build a little
16777           split out docbook and gtk-doc stuff
16778           have two separate --enable's and enable them through autogen
16779           but disable by default in configure (to be similar to other
16780           projects)
16781         * gstreamer.spec.in:
16782           clean up docs install
16783         * po/af.po:
16784         * po/az.po:
16785         * po/ca.po:
16786         * po/cs.po:
16787         * po/de.po:
16788         * po/en_GB.po:
16789         * po/fr.po:
16790         * po/it.po:
16791         * po/nb.po:
16792         * po/nl.po:
16793         * po/ru.po:
16794         * po/sq.po:
16795         * po/sr.po:
16796         * po/sv.po:
16797         * po/tr.po:
16798         * po/uk.po:
16799         * po/vi.po:
16800           translation updates
16801
16802 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
16803
16804         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
16805           Add comment.
16806           
16807         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16808         (gst_fake_sink_change_state):
16809           Make state change function thread-safe.
16810           
16811         * gst/gstpad.c: (gst_pad_alloc_buffer):
16812           Set offset on generic buffer allocated by fallback.
16813
16814 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
16815
16816         * docs/gst/gstreamer-sections.txt:
16817         * docs/gst/tmpl/gstelement.sgml:
16818         * gst/gstpad.c:
16819         * libs/gst/controller/gst-controller.c:
16820         (gst_controlled_property_set_interpolation_mode),
16821         (gst_controlled_property_new),
16822         (gst_controller_find_controlled_property):
16823          run the wingo-magic script against the docs
16824
16825 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16826
16827         * docs/gst/gstreamer-docs.sgml:
16828         * docs/gst/gstreamer-sections.txt:
16829         * docs/gst/tmpl/.cvsignore:
16830         * docs/gst/tmpl/gstelementdetails.sgml:
16831         * docs/gst/tmpl/gstelementfactory.sgml:
16832         * gst/gst.c:
16833         * gst/gstbus.c:
16834         * gst/gstelementfactory.c:
16835         * gst/gstelementfactory.h:
16836           merged elementdetails docs into elementfactory docs
16837           inlined both
16838
16839 2005-09-02  Andy Wingo  <wingo@pobox.com>
16840
16841         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
16842         consider this enum an enum and not a flags.
16843
16844 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16845
16846         * docs/gst/gstreamer-docs.sgml:
16847         * docs/gst/tmpl/.cvsignore:
16848         * docs/gst/tmpl/gstghostpad.sgml:
16849         * docs/gst/tmpl/gstiterator.sgml:
16850         * docs/gst/tmpl/gstmacros.sgml:
16851         * docs/gst/tmpl/gstrealpad.sgml:
16852         * docs/gst/tmpl/gstregistry.sgml:
16853         * docs/gst/tmpl/gstregistrypool.sgml:
16854         * docs/gst/tmpl/gststructure.sgml:
16855         * docs/gst/tmpl/gstsystemclock.sgml:
16856         * docs/gst/tmpl/gsttrace.sgml:
16857         * gst/gstghostpad.c:
16858         * gst/gstmacros.h:
16859         * gst/gstmemchunk.c:
16860         * gst/gstmemchunk.h:
16861         * gst/gstqueue.c:
16862         * gst/gstregistry.c:
16863         * gst/gstregistrypool.c:
16864         * gst/gststructure.c:
16865         * gst/gstsystemclock.c:
16866           more docs inlined
16867
16868 2005-09-02  Andy Wingo  <wingo@pobox.com>
16869
16870         * gst/gstelement.h (GstState): Renamed from GstElementState,
16871         changed to be a normal enum instead of flags.
16872         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
16873         munged to be GST_STATE_CHANGE_*.
16874         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
16875         work with the new state representation.
16876         (GstStateChange): New enumeration of possible state transitions.
16877         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
16878         (GstElementClass::change_state): Pass the GstStateChange along as
16879         an argument. Helps language bindings, so they don't have to use
16880         tricky lock-needing macros like GST_STATE_CHANGE ().
16881
16882         * scripts/update-states (file): New script. Run it on a file to
16883         update it for state naming and API changes. Updates files in
16884         place.
16885
16886         * All files updated for the new API.
16887
16888 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16889
16890         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
16891         * gst/gstutils.c: (gst_util_set_value_from_string),
16892         (gst_util_set_object_arg):
16893           fix a bunch of unchecked return values
16894         * tools/gst-complete.c: (main):
16895         * gstreamer.spec.in:
16896           clean up a little
16897
16898 2005-09-01  Wim Taymans  <wim@fluendo.com>
16899
16900         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16901         (gst_base_sink_event), (gst_base_sink_do_sync),
16902         (gst_base_sink_handle_event):
16903         * gst/base/gstbasesink.h:
16904         Handle newsegments more correctly.
16905
16906         * gst/gstbus.c:
16907         Fix docs.
16908
16909         * gst/gstevent.c: (gst_event_new_newsegment):
16910         A newsegment cannot have a start_time of -1
16911
16912 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
16913
16914         * win32/gstenumtypes.c:
16915         * win32/gstenumtypes.h:
16916           Update
16917
16918 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16919
16920         * libs/gst/controller/gst-controller.c:
16921         (gst_controlled_property_set_interpolation_mode),
16922         (gst_controlled_property_new):
16923          fixed boolean again
16924
16925 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
16926
16927         * docs/faq/gst-uninstalled:
16928           add -good
16929         * gst/gstevent.c:
16930         * gst/gstevent.h:
16931           remove wrong docs
16932         * gst/gstutils.c: (gst_element_link_filtered):
16933         * gst/gstutils.h:
16934           add gst_element_link_filtered
16935
16936 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16937
16938         * docs/gst/gstreamer-docs.sgml:
16939         * docs/gst/gstreamer-sections.txt:
16940         * docs/gst/tmpl/.cvsignore:
16941         * docs/gst/tmpl/gsterror.sgml:
16942         * docs/gst/tmpl/gstfilter.sgml:
16943         * docs/gst/tmpl/gsturihandler.sgml:
16944         * docs/gst/tmpl/gsturitype.sgml:
16945         * docs/gst/tmpl/gstutils.sgml:
16946         * docs/gst/tmpl/gstxml.sgml:
16947         * gst/gsterror.c:
16948         * gst/gsterror.h:
16949         * gst/gstfilter.c:
16950         * gst/gsturi.c:
16951         * gst/gsturitype.c:
16952         * gst/gstutils.c:
16953         * gst/gstxml.c:
16954           inlined more docs, fixed double id-ref
16955
16956 2005-08-31  Wim Taymans  <wim@fluendo.com>
16957
16958         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16959         (gst_base_transform_handle_buffer):
16960         Passthrough elements don't need the caps as they don't care.
16961
16962 2005-08-31  Wim Taymans  <wim@fluendo.com>
16963
16964         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16965         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
16966         Don't leak refcounts on buffers.
16967
16968 2005-08-31  Wim Taymans  <wim@fluendo.com>
16969
16970         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
16971         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
16972         (gst_base_transform_chain), (gst_base_transform_change_state):
16973         * gst/base/gstbasetransform.h:
16974         Handle the case where we are not negotiated more gracefully.
16975
16976 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
16977
16978         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
16979         (gst_file_src_map_region):
16980           Set READONLY flag on mmap'ed buffers, otherwise
16981           gst_buffer_make_writable() won't work properly (#314708).
16982
16983 2005-08-31  Wim Taymans  <wim@fluendo.com>
16984
16985         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
16986         passthrough elements can even do inplace on non writable
16987         buffers (as they don't touch them).
16988
16989 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16990
16991         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
16992         (gst_test_mono_source_set_property),
16993         (gst_test_mono_source_class_init), (GST_START_TEST),
16994         (gst_controller_suite):
16995           more tests (hehe I have the most)
16996         * gst/gstbus.c:
16997           describe popping messages whenusing mulltiple sources
16998         * libs/gst/controller/gst-controller.c:
16999         (gst_controlled_property_set_interpolation_mode),
17000         (gst_controlled_property_new):
17001         * libs/gst/controller/gst-controller.h:
17002         * libs/gst/controller/gst-interpolation.c:
17003           implement boolean properties
17004
17005 2005-08-31  Wim Taymans  <wim@fluendo.com>
17006
17007         * gst/gstminiobject.c: (gst_mini_object_ref):
17008         Cannot assert that the refcount has to be positive
17009         since a disposed object can be resurrected.
17010
17011 2005-08-31  Wim Taymans  <wim@fluendo.com>
17012
17013         * gst/gstpad.c: (gst_pad_init):
17014         Revert change, need to first fix badly behaving 
17015         apps.
17016
17017 2005-08-30  Wim Taymans  <wim@fluendo.com>
17018
17019         * check/elements/fakesrc.c: (setup_fakesrc):
17020         * check/elements/identity.c: (setup_identity):
17021         Activate pads before using them.
17022
17023 2005-08-30  Wim Taymans  <wim@fluendo.com>
17024
17025         * gst/base/gstadapter.c: (gst_adapter_flush):
17026         Flushing out 0 bytes is ok for this function.
17027
17028         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17029         no newsegment gives a warning and sets the start/stop to 
17030         invalid.
17031
17032         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
17033         (gst_base_transform_set_passthrough):
17034         Some debug info.
17035
17036         * gst/gstminiobject.c: (gst_mini_object_ref):
17037         Check refcount here too.
17038
17039         * gst/gstpad.c: (gst_pad_init):
17040         Pads are initially flushing and refusing data.
17041
17042         * gst/gstutils.c: (gst_element_link_pads_filtered):
17043         When adding a capsfilter element make sure it has the
17044         same state as the parent bin.
17045
17046 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17047
17048         * docs/gst/tmpl/.cvsignore:
17049         * docs/gst/tmpl/gstformat.sgml:
17050         * docs/gst/tmpl/gstversion.sgml:
17051         * gst/gstbus.h:
17052         * gst/gstformat.c:
17053         * gst/gstformat.h:
17054         * gst/gstversion.h.in:
17055           more docs and two more inlined
17056
17057 2005-08-30  Wim Taymans  <wim@fluendo.com>
17058
17059         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
17060         Don't sync to clock.
17061
17062 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17063
17064         * docs/gst/gstreamer-sections.txt:
17065           ultral33t func10ns deserve to appear in the docs actually
17066         * docs/gst/tmpl/.cvsignore:
17067         * docs/gst/tmpl/gstcompat.sgml:
17068         * docs/gst/tmpl/gstconfig.sgml:
17069         * gst/check/gstcheck.c:
17070         * gst/gstcompat.h:
17071         * gst/gstconfig.h.in:
17072           inlined more docs
17073
17074 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17075
17076         * docs/gst/tmpl/.cvsignore:
17077         * docs/gst/tmpl/gstquery.sgml:
17078         * docs/gst/tmpl/gstutils.sgml:
17079         * gst/gstquery.c:
17080         * gst/gstquery.h:
17081           inlined and extended docs
17082
17083 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17084
17085         * check/gst-libs/controller.c: (GST_START_TEST),
17086         (gst_controller_suite):
17087           more tests
17088         * docs/gst/tmpl/gstutils.sgml:
17089         * docs/libs/gstreamer-libs-sections.txt:
17090         * docs/libs/tmpl/gstdataprotocol.sgml:
17091           include path fixes
17092         * examples/controller/audio-example.c: (main):
17093           controller example works now
17094         * gst/gstclock.h:
17095           doc fixes
17096         * tools/gst-inspect.c: (print_element_properties_info):
17097           show param spec flags
17098
17099 2005-08-29  Andy Wingo  <wingo@pobox.com>
17100
17101         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
17102
17103 2005-08-28  Andy Wingo  <wingo@pobox.com>
17104
17105         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
17106         as having two arguments instead of just one. Allows superclasses
17107         to access information on subclasses -- see the terrible for() loop
17108         in gtype.c:g_type_create_instance for the reason why. All callers
17109         changed.
17110
17111 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17112
17113         * docs/design/part-messages.txt:
17114           update info
17115         * docs/gst/tmpl/.cvsignore:
17116         * docs/gst/tmpl/gstcaps.sgml:
17117         * docs/gst/tmpl/gstclock.sgml:
17118         * gst/gstbus.c:
17119         * gst/gstcaps.c:
17120         * gst/gstcaps.h:
17121         * gst/gstclock.c:
17122         * gst/gstclock.h:
17123         * gst/gstmessage.c:
17124           added descriptions for bus and message
17125           inline caps and clock docs
17126
17127 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17128
17129         * gst/gstmessage.c:
17130         * gst/gstmessage.h:
17131           doc fixes
17132
17133 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17134
17135         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
17136           fix div-by-zero
17137
17138 2005-08-26  Andy Wingo  <wingo@pobox.com>
17139
17140         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
17141         element_set_state's return val.
17142         (test_2_elements): Add test that's been disabled for months.
17143
17144         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
17145         can-activate-pull properties.
17146
17147         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
17148         can-activate-pull properties. Implement is_seekable so fakesrc can
17149         operate in pull mode.
17150
17151         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
17152         properties.
17153         (gst_base_sink_activate, gst_base_sink_activate_pull)
17154         (gst_base_sink_activate_push): Make activation mode choosing work.
17155         Cleanups.
17156         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
17157         is right. Make pull mode work. Post an eos before pausing in pull
17158         mode.
17159         (gst_base_sink_change_state): Pay attention to the core's
17160         change_state() return val.
17161         
17162         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
17163         has-getrange properties. Cleanups.
17164         
17165         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
17166         has_getrange and replace with can_activate_pull and
17167         can_activate_push.
17168
17169         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
17170         locking comments. Remove has_loop, has_chain and replace with
17171         can_activate_pull and can_activate_push.
17172
17173 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
17174
17175         * configure.ac:
17176         * examples/Makefile.am:
17177         * examples/metadata/Makefile.am:
17178         * examples/metadata/read-metadata.c: (message_loop),
17179         (have_pad_handler), (make_pipeline), (print_tag), (main):
17180           Add metadata reading example that loops over a list of filenames,
17181           dumping any tags found.
17182
17183         * gst/gstbus.c: (gst_bus_dispose):
17184         * gst/gstelement.c: (gst_element_dispose):
17185           Release a few potentially-held references in dispose.
17186
17187 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17188
17189         * docs/gst/tmpl/gstminiobject.sgml:
17190           do *not* add tmpl/*.sgml files to CVS!
17191
17192 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17193
17194         * libs/gst/bytestream/.cvsignore:
17195         * libs/gst/bytestream/Makefile.am:
17196         * libs/gst/bytestream/adapter.c:
17197         * libs/gst/bytestream/adapter.h:
17198         * libs/gst/bytestream/bytestream.c:
17199         * libs/gst/bytestream/bytestream.h:
17200         * libs/gst/bytestream/filepad.c:
17201         * libs/gst/bytestream/filepad.h:
17202           removing obsolete files
17203
17204 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17205
17206         * docs/gst/gstreamer-docs.sgml:
17207         * docs/libs/gstreamer-libs-docs.sgml:
17208           disabed additional index entries again, as this makes docs-gen just
17209           slow and they aren't useful yet
17210         * docs/libs/gstreamer-libs-sections.txt:
17211           little -section.txt cleanup for libs
17212
17213 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
17214
17215         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17216         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
17217           fix up some debugging
17218         (gst_base_transform_get_unit_size),
17219         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
17220         (gst_base_transform_handle_buffer):
17221         * gst/base/gstbasetransform.h:
17222           handle and store timed NEWSEGMENT events so that subclasses that
17223           calculate time by counting samples have a segment_start time they
17224           need to add to their timestamps - see audioresample
17225
17226 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17227
17228         * gst/gstbin.h:
17229           removed ';' from the end of macro defs
17230         * docs/gst/gstreamer-docs.sgml:
17231         * docs/gst/gstreamer-sections.txt:
17232         * docs/gst/tmpl/.cvsignore:
17233         * gst/gstbus.h:
17234         * gst/gstelement.c: (gst_element_class_init),
17235         (gst_element_set_state), (activate_pads),
17236         (gst_element_save_thyself):
17237         * gst/gstevent.c: (gst_event_new_newsegment):
17238         * gst/gstevent.h:
17239         * gst/gstiterator.c:
17240         * gst/gstiterator.h:
17241         * gst/gstpad.c:
17242         * gst/gstprobe.h:
17243         * gst/gstutils.c: (gst_pad_query_convert):
17244         * gst/gstutils.h:
17245           fixed parameter name mismatches between source, header and docs
17246           added some more docs, resolved the last batch of unused elements in
17247           docs (now someone needs to doc them)
17248
17249 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17250
17251         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
17252         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
17253           don't walk through the plugins backwards.  Where is all this
17254           reversed logic coming from ?
17255
17256 2005-08-25  Wim Taymans  <wim@fluendo.com>
17257
17258         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17259         (gst_base_transform_transform_size),
17260         (gst_base_transform_configure_caps),
17261         (gst_base_transform_get_unit_size),
17262         (gst_base_transform_buffer_alloc),
17263         (gst_base_transform_change_state):
17264         * gst/base/gstbasetransform.h:
17265         Cache caps unit_size.
17266         Make sure we cannot negotiate up and downstream at the
17267         same time.
17268
17269 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17270
17271         * gst/gst.c: (init_pre), (init_post):
17272           register the installed plugin path after the env var
17273         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
17274         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
17275           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
17276           directories, so the tests can prefer uninstalled over installed
17277
17278 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17279
17280         * gst/base/gstbasetransform.h:
17281           comment
17282         * gst/gstpad.c:
17283           add to docs
17284
17285 2005-08-25  Wim Taymans  <wim@fluendo.com>
17286
17287         * gst/gstbin.c: (bin_bus_handler):
17288         Be a bit more conservative about the posted message.
17289         
17290         * gst/gstbus.c: (gst_bus_post):
17291         Some cleanups, warn wrong return values.
17292
17293 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
17294
17295         * check/gst/gstbin.c: (GST_START_TEST):
17296         * gst/gstbin.c: (bin_bus_handler):
17297         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17298         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17299         (gst_message_new_warning), (gst_message_new_tag),
17300         (gst_message_new_state_changed), (gst_message_new_segment_start),
17301         (gst_message_new_segment_done), (gst_message_new_custom):
17302         * gst/gstmessage.h:
17303         * tools/gst-launch.c: (event_loop):
17304         * tools/gst-md5sum.c: (event_loop):
17305           Revert unpopular change for GST_MESSAGE_SRC to GObject.
17306
17307 2005-08-25  Wim Taymans  <wim@fluendo.com>
17308
17309         * check/generic/states.c: (GST_START_TEST):
17310         Cleanup can be done at the end.
17311
17312         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
17313         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17314         (gst_task_get_state), (gst_task_start), (gst_task_pause):
17315         Oh boy.. Thanks for finding this, Thomas. 
17316
17317 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17318
17319         * docs/gst/gstreamer.types:
17320           added missing types
17321
17322 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17323
17324         * docs/gst/gstreamer-docs.sgml:
17325         * docs/gst/gstreamer-sections.txt:
17326         * docs/gst/tmpl/.cvsignore:
17327         * gst/gstbin.c:
17328         * gst/gstiterator.c:
17329         * gst/gstutils.c:
17330         * gst/registries/gstxmlregistry.h:
17331           added missing classes and symbols (123 more to go)
17332           removed removed symbols from section file
17333           fixed many doc-comments
17334
17335 2005-08-24  Wim Taymans  <wim@fluendo.com>
17336
17337         * check/generic/states.c: (GST_START_TEST):
17338         Make sure all tasks are stopped.
17339
17340         * check/gst/gstbin.c: (GST_START_TEST):
17341         Unref after usage for proper valgrinding.
17342
17343         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
17344         Really wait for the task to stop before destroying the
17345         mutex.
17346
17347         * gst/gstqueue.c: (gst_queue_sink_activate_push),
17348         (gst_queue_src_activate_push):
17349         Small cleanups. Don't stop the task when we did not start
17350         it.
17351
17352         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
17353         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17354         (gst_task_get_state), (gst_task_start), (gst_task_pause),
17355         (gst_task_join):
17356         * gst/gsttask.h:
17357         Protect the stream lock with the object lock.
17358         Disallow setting the stream lock when running.
17359         Add cleanup_all to wait for the threadpool to finish.
17360         Remove code to autoallocate a mutex if none was provided.
17361         Add _join() to wait for a task to stop.
17362         Protect the thread pool with a global lock.
17363
17364 2005-08-24  Wim Taymans  <wim@fluendo.com>
17365
17366         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17367         (gst_base_sink_get_times), (gst_base_sink_do_sync),
17368         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
17369         * gst/base/gstbasesink.h:
17370         Handle newsegment events correctly.
17371         Drop buffers out of the segment range.
17372
17373 2005-08-22  Andy Wingo  <wingo@pobox.com>
17374
17375         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
17376         macro, implements an interface and gstimplementsinterface for a
17377         new type.
17378
17379 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17380
17381         * check/Makefile.am:
17382         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
17383           add a test that does a bunch of state changes on elements
17384           needs some fixing for valgrind
17385         * check/states/sinks.c: (gst_object_suite):
17386           whitespace
17387         * gst/gstcaps.h:
17388           add prototype for gst_caps_is_equal_fixed
17389         * gst/gstplugin.c:
17390         * gst/gstregistrypool.c:
17391           doc fixes
17392
17393 2005-08-24  Andy Wingo  <wingo@pobox.com>
17394
17395         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
17396         convert a negative value. Doesn't make much sense. Mostly this is
17397         here to force callers to ensure -1 maps to -1.
17398
17399 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17400
17401         * docs/pwg/advanced-types.xml:
17402           Well done to Michael for catching my deliberate introduction
17403           of this spelling mistake. 
17404         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
17405         * gst/gstelement.h:
17406           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
17407           unlink pads before removing the element from the bin.
17408
17409 2005-08-24  Andy Wingo  <wingo@pobox.com>
17410
17411         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
17412         the same thing as GST_DEBUG=*:4.
17413         (parse_debug_level, parse_debug_category): New helper parsers.
17414
17415 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17416
17417         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17418         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
17419         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
17420         (gst_base_transform_buffer_alloc),
17421         (gst_base_transform_handle_buffer):
17422           use gboolean return values and pointers to size so we can use the
17423           full GST_BUFFER_SIZE range (guint) for buffer sizes
17424           use GstPadDirection for transform_caps
17425         * gst/base/gstbasetransform.h:
17426           rename get_size to get_unit_size since that's what it is
17427         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
17428           use GstPadDirection for transform_caps
17429         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17430         * gst/gstutils.h:
17431           cleanup and debugging
17432
17433 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17434
17435         * gst/gstelement.c: (gst_element_class_init),
17436         (gst_element_set_state), (activate_pads),
17437         (gst_element_save_thyself):
17438         * tools/gst-compprep.c: (main):
17439         * tools/gst-inspect.c: (print_element_properties_info):
17440         * tools/gst-xmlinspect.c: (print_element_properties):
17441           Fixed long standing mem-leak
17442
17443 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17444
17445         * check/gst/gstbin.c: (GST_START_TEST):
17446         * gst/gstbin.c: (bin_bus_handler):
17447         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17448         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17449         (gst_message_new_warning), (gst_message_new_tag),
17450         (gst_message_new_state_changed), (gst_message_new_segment_start),
17451         (gst_message_new_segment_done), (gst_message_new_custom):
17452         * gst/gstmessage.h:
17453         * tools/gst-launch.c: (event_loop):
17454         * tools/gst-md5sum.c: (event_loop):
17455           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
17456           that applications can sensibly post custom messages with references
17457           to their own objects.
17458
17459 2005-08-24  Andy Wingo  <wingo@pobox.com>
17460
17461         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
17462         already.
17463
17464 2005-08-24  Wim Taymans  <wim@fluendo.com>
17465
17466         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17467         (gst_base_transform_transform_caps),
17468         (gst_base_transform_transform_size),
17469         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17470         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
17471         (gst_base_transform_handle_buffer):
17472         * gst/base/gstbasetransform.h:
17473         Many fixes and new features added by Thomas. Can now also do
17474         transforms with variable sizes and a custom fixate_caps function.
17475
17476 2005-08-24  Wim Taymans  <wim@fluendo.com>
17477
17478         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17479         Some debugging.
17480
17481         * gst/gstclock.h:
17482         Cast to ClockTime before formatting to time.
17483
17484         * gst/gstutils.h:
17485         Cleanups.
17486
17487 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17488
17489         * check/gst-libs/controller.c: (GST_START_TEST),
17490         (gst_controller_suite):
17491         * docs/gst/tmpl/gstcaps.sgml:
17492         * docs/gst/tmpl/gstghostpad.sgml:
17493         * docs/gst/tmpl/gstquery.sgml:
17494         * docs/gst/tmpl/gstutils.sgml:
17495         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
17496         (gst_object_sink_values), (gst_object_get_value_arrays),
17497         (gst_object_get_value_array):
17498           gracefully handle helper method calls to objects that are not beeing
17499           controlled, added test case for that          
17500
17501 2005-08-23  Wim Taymans  <wim@fluendo.com>
17502
17503         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
17504         (gst_event_new_newsegment), (gst_event_parse_newsegment),
17505         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
17506         (gst_event_parse_qos), (gst_event_new_seek),
17507         (gst_event_parse_seek):
17508         * gst/gstevent.h:
17509         Some more debugging output and doc cleanups.
17510
17511         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17512         Fix possible deadlock.
17513
17514 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17515
17516         * docs/gst/gstreamer-docs.sgml:
17517         * docs/gst/gstreamer-sections.txt:
17518         * docs/gst/gstreamer.types:
17519         * docs/gst/tmpl/.cvsignore:
17520         * gst/gstbin.h:
17521         * gst/gstbus.c:
17522         * gst/gstelement.c:
17523         * gst/gstevent.h:
17524           added 100 symbols from gstreamer-unused.txt to the right sections
17525           fixed more broken comments
17526           added GstBus to docs
17527
17528 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17529
17530         * docs/gst/gstreamer-sections.txt:
17531         * docs/gst/tmpl/.cvsignore:
17532         * docs/gst/tmpl/gstbin.sgml:
17533         * docs/gst/tmpl/gstbuffer.sgml:
17534         * gst/base/gstbasesrc.c:
17535         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
17536         * gst/gstbuffer.c:
17537         * gst/gstbuffer.h:
17538         * tools/gst-launch.1.in:
17539           inlined more doc comments, added missing comments and fixed comments
17540           fixed typos
17541
17542 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17543
17544         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17545           some debugging
17546         * gst/gstcaps.h:
17547           whitespace fixes
17548         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
17549           more debugging
17550         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
17551         * gst/gststructure.h:
17552           add a fixate function for booleans; add a FIXME that these func
17553           names should probably be gst_structure_fixate_*
17554
17555 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17556
17557         * docs/gst/gstreamer-docs.sgml:
17558         * docs/gst/gstreamer-sections.txt:
17559         * gst/Makefile.am:
17560         * gst/gstbin.c: (gst_bin_get_type),
17561         (gst_bin_child_proxy_get_child_by_index),
17562         (gst_bin_child_proxy_get_children_count),
17563         (gst_bin_child_proxy_init):
17564         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17565         (gst_child_proxy_get_child_by_index),
17566         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
17567         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
17568         (gst_child_proxy_get), (gst_child_proxy_set_property),
17569         (gst_child_proxy_set_valist), (gst_child_proxy_set),
17570         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
17571         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
17572         * gst/gstchildproxy.h:
17573         * gst/parse/grammar.y:
17574         * tools/gst-inspect.c: (print_interfaces),
17575         (print_element_properties_info), (print_element_info):
17576           ported gstchildproxy over from 0.8
17577           ported gst-inspect fixes and enhancements over from 0.8
17578
17579 2005-08-22  Wim Taymans  <wim@fluendo.com>
17580
17581         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17582         (gst_base_transform_handle_buffer):
17583         Also call the transform function if we have ANY caps.
17584
17585         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
17586         Fix debug info.
17587
17588 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17589
17590         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
17591           Don't pretend to handle seek events if the source is not seekable
17592
17593 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17594
17595         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17596           Remove extra parameter to debug output
17597
17598         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17599         (gst_base_src_do_seek), (gst_base_src_activate_push):
17600           Fix seek event handling.
17601
17602         * gst/gstpipeline.c: (gst_pipeline_change_state):
17603         * gst/gstqueue.c: (gst_queue_handle_sink_event),
17604         (gst_queue_src_activate_push):
17605           Don't start the src pad task on FLUSH_STOP if the pad
17606           isn't linked.
17607           Debug changes.
17608
17609 2005-08-22  Wim Taymans  <wim@fluendo.com>
17610
17611         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
17612         Added check for gst_static_caps_get() refcounting.
17613
17614 2005-08-22  Wim Taymans  <wim@fluendo.com>
17615
17616         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
17617         Make _static_caps_get() refcounting sane.
17618         
17619         * gst/gstelement.c: (gst_element_set_state):
17620         Add g_return_val_if_fail() to protect against segfaults.
17621
17622 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
17623
17624         * docs/gst/tmpl/gstevent.sgml:
17625         * gst/gstevent.c:
17626         * gst/gstevent.h:
17627           inlined remaining docs, added missing doc comments
17628
17629 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17630
17631         * check/gst/gstbin.c: (GST_START_TEST):
17632           since we don't know when preroll is done, use refcount range
17633           check for the sink
17634         * gst/check/gstcheck.h:
17635           add macro for checking refcount range
17636
17637 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17638
17639         * check/Makefile.am:
17640           clean up environment for when registry gets built versus
17641           when actual tests are run; valgrind seems to not report
17642           leaks if GST_PLUGIN_PATH is set to some specific values
17643         * check/gst/gstbin.c: (GST_START_TEST):
17644           add more refcounting checks; maybe this exposes a
17645           preroll lock bug ?
17646         * common/check.mak:
17647         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17648         * gst/check/gstcheck.h:
17649         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
17650         (gst_bin_change_state):
17651         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
17652           add/fix debugging/whitespace
17653
17654 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17655
17656         * check/gst/gstevent.c: (event_probe), (test_event),
17657         (GST_START_TEST):
17658          Er, don't call gst_bin_watch_for_state_change you idiot.
17659
17660 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17661
17662         * check/Makefile.am:
17663           Use CHECK_CFLAGS and CHECK_LIBS
17664         * check/gst/gstevent.c: (event_probe), (test_event),
17665         (GST_START_TEST):
17666           Don't leak events.
17667         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17668         (gst_base_src_start), (gst_base_src_stop),
17669         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17670         (gst_base_src_change_state):
17671           Sprinkle gst_base_src_stop liberally around error paths to fix
17672           problems reusing a source after failed state changes.
17673         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17674         (helper_find_suggest), (gst_type_find_helper):
17675           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
17676         * gst/gstevent.h:
17677         * docs/gst/tmpl/gstevent.sgml:
17678           Migrate part of the docs from the SGML file. Wait for ensonic to
17679           tell me how I did it wrong ;)
17680         * tools/gst-typefind.c: (main):
17681           Extra robustness to state changes between files.
17682
17683 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17684
17685         * check/Makefile.am:
17686           don't valgrind the controller test - it's leaking - Stefan, HELP
17687         * gst/check/gstcheck.c: (gst_check_message_error),
17688         (gst_check_chain_func), (gst_check_setup_element),
17689         (gst_check_teardown_element), (gst_check_setup_src_pad),
17690         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
17691         (gst_check_teardown_sink_pad):
17692         * gst/check/gstcheck.h:
17693           add a bunch of methods to set up elements, and src and sink pads
17694         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
17695         * check/elements/identity.c: (setup_identity), (cleanup_identity),
17696         (GST_START_TEST):
17697           use them
17698         * gst/gstmessage.c:
17699         * gst/gsttag.h:
17700           whitespace/doc fixes
17701
17702 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17703
17704         * gst/gstelement.h:
17705           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
17706           be handled by the application and not always printed as well
17707
17708 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17709
17710         * check/Makefile.am:
17711           set GST_TOOLS_DIR
17712         * gst/check/gstcheck.c: (gst_check_message_error):
17713         * gst/check/gstcheck.h:
17714           add a fail_unless_equals_int
17715           add fail_unless for error messages
17716
17717 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17718
17719         * check/Makefile.am:
17720         * check/gst.supp:
17721         * common/Makefile.am:
17722         * common/check.mak:
17723         * common/gst.supp:
17724           factor out some of the common stuff so we can use it
17725
17726 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17727
17728         * check/Makefile.am:
17729         * check/gst/gstiterator.c: (GST_START_TEST):
17730         * check/gst/gstsystemclock.c: (GST_START_TEST),
17731         (gst_systemclock_suite):
17732         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
17733         * gst/gstclock.c:
17734           valgrind more tests
17735
17736 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17737
17738         * check/elements/.cvsignore:
17739         * check/elements/gstfakesrc.c:
17740           rename to name of element
17741         * check/elements/identity.c: (chain_func), (event_func),
17742         (setup_identity), (cleanup_identity), (GST_START_TEST),
17743         (identity_suite), (main):
17744           add a test for identity
17745         * check/Makefile.am:
17746         * pkgconfig/Makefile.am:
17747         * pkgconfig/gstreamer-check.pc.in:
17748         * pkgconfig/gstreamer-check-uninstalled.pc.in:
17749         * gst/check:
17750         * gst/Makefile.am:
17751         * configure.ac:
17752           move the check stuff to a library that gets installed
17753         * check/gst-libs/controller.c: (GST_START_TEST):
17754         * check/gst-libs/gdp.c:
17755         * check/gst/gst.c: (GST_START_TEST):
17756         * check/gst/gstbin.c:
17757         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17758         * check/gst/gstbus.c:
17759         * check/gst/gstcaps.c: (GST_START_TEST):
17760         * check/gst/gstelement.c:
17761         * check/gst/gstghostpad.c:
17762         * check/gst/gstiterator.c:
17763         * check/gst/gstmessage.c:
17764         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
17765         * check/gst/gstobject.c:
17766         * check/gst/gstpad.c: (GST_START_TEST):
17767         * check/gst/gststructure.c: (GST_START_TEST):
17768         * check/gst/gstsystemclock.c: (GST_START_TEST),
17769         (gst_systemclock_suite):
17770         * check/gst/gsttag.c: (gst_tag_suite):
17771         * check/gst/gstvalue.c:
17772         * check/pipelines/cleanup.c:
17773         * check/pipelines/simple_launch_lines.c:
17774         * check/states/sinks.c:
17775           change include statement
17776
17777         * docs/gst/gstreamer-sections.txt:
17778         * docs/gst/tmpl/gstpad.sgml:
17779           document more pad stuff
17780         * gst/gstminiobject.c: (gst_mini_object_ref),
17781         (gst_mini_object_unref):
17782           debug refcounting
17783
17784 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
17785
17786         * docs/gst/tmpl/gst.sgml:
17787         * gst/gst.c:
17788           eliminate another tmpl file, fix spelling in the long-description
17789
17790 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17791
17792         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17793         (test_event), (timediff), (gstevents_suite):
17794           Should fix build on 64-bit arch's
17795
17796 2005-08-18  Andy Wingo  <wingo@pobox.com>
17797
17798         Make sure that when a pipeline goes to PLAYING, that data has
17799         actually hit the sink.
17800
17801         * check/states/sinks.c (test_sink): A sink that doesn't get any
17802         data shouldn't return SUCCESS for going to either PLAYING or
17803         PAUSED. Test also the return values on the way back down.
17804
17805         * gst/gstelement.c (gst_element_set_state): When changing the
17806         state of an element currently changing state asynchronously, go to
17807         lost-state after commiting the pending state. Makes future calls
17808         to get_state continue to return ASYNC.
17809
17810         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
17811         ASYNC when going to PLAYING if we still don't have preroll, as can
17812         happen with live sources.
17813
17814 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17815
17816         * docs/pwg/advanced-types.xml:
17817           Hack long paragraph into 2 chunks as a workaround for buggy
17818           jadetex version in sid and breezy that loops infinitely and
17819           eats all RAM.
17820
17821 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17822
17823         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17824         (test_event), (timediff), (gstevents_suite):
17825           Provide more error margin in clock measurements to allow for 
17826           g_get_current_time inaccuracies.
17827
17828 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17829
17830         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17831         (test_event), (timediff), (gstevents_suite):
17832            Fix error message output so I might be able to tell why the
17833            test works here but fails on the build farm.
17834
17835 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17836
17837         * check/Makefile.am:
17838         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17839         (test_event), (timediff), (gstevents_suite), (main):
17840           I wrote a test!
17841
17842         * docs/design/part-seeking.txt:
17843           Spelling correction
17844
17845         * docs/gst/tmpl/gstevent.sgml:
17846         * docs/gst/tmpl/gstfakesrc.sgml:
17847           Docs updates.
17848
17849         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17850           Treat a buffer-without-newsegment the same as a receiving 
17851           a newsegment not in time format, and disable syncing to the clock
17852           with a warning.
17853
17854         * gst/gstbus.c: (gst_bus_set_sync_handler):
17855           Assert if anyone tries to replace the existing sync_handler for bus, 
17856           as only the owner should be setting it.
17857
17858         * gst/gstevent.h:
17859           Have a fixed set of custom event enums with events identified by
17860           their structure name (as in 0.8), rather than a free-for-all
17861           allowing collisions between enum values from different plugins.
17862
17863         * gst/gstpad.c: (gst_pad_class_init):
17864           Docs change.
17865           
17866         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17867           Handle out-of-band downstream events from the sending thread.
17868
17869 2005-08-17  Andy Wingo  <wingo@pobox.com>
17870
17871         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
17872         play-timeout==0 to mean no timeout at all. In that case, don't
17873         bother with a get_state or a warning, just return directly, even
17874         if it's ASYNC.
17875
17876         * gst/base/gstbasetransform.c: Debug changes.
17877
17878         * gst/gstutils.h:
17879         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
17880         ensure bins post state change messages. A bit of a hack but I can't
17881         think of a way to avoid it.
17882
17883         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
17884
17885 2005-08-16  Andy Wingo  <wingo@pobox.com>
17886
17887         * gst/base/gstadapter.h:
17888         * gst/base/gstadapter.c (gst_adapter_take): New function, like
17889         peek() but you own the data. Not terribly efficient atm.
17890
17891 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17892
17893         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
17894         (gst_element_found_tags):
17895         * gst/gstutils.h:
17896           Add two utility functions for tag handling.
17897
17898 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17899
17900         * docs/manual/advanced-dataaccess.xml:
17901         * docs/manual/basics-helloworld.xml:
17902           Fix docs to use _bin_add() before _link(), which fixes the examples
17903           with recent core versions (reported by Madhan Raj M
17904           <raj_madan@rediffmail.com>, #313199).
17905
17906 2005-08-16  Wim Taymans  <wim@fluendo.com>
17907
17908         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17909         Added subtract checks.
17910
17911         * docs/design/part-events.txt:
17912         Some more docs about newsegment
17913
17914         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
17915         Fix FIXME
17916
17917         * gst/gstcaps.c: (gst_caps_to_string):
17918         Add comments, cleanups.
17919         
17920         * gst/gstelement.c: (gst_element_save_thyself):
17921         cleanups
17922         
17923         * gst/gstvalue.c: (gst_value_collect_int_range),
17924         (gst_string_unwrap), (gst_value_union_int_int_range),
17925         (gst_value_union_int_range_int_range),
17926         (gst_value_intersect_int_int_range),
17927         (gst_value_intersect_int_range_int_range),
17928         (gst_value_intersect_double_double_range),
17929         (gst_value_intersect_double_range_double_range),
17930         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
17931         (gst_value_subtract_int_range_int),
17932         (gst_value_subtract_double_range_double),
17933         (gst_value_subtract_double_range_double_range),
17934         (gst_value_subtract_from_list), (gst_value_subtract_list),
17935         (gst_value_can_compare), (gst_value_compare_fraction):
17936         Cleanups, add comments, remove unneeded asserts.
17937
17938 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17939
17940         * tools/gst-launch.c: (event_loop):
17941           don't convert NULL structures to strings
17942
17943 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
17944
17945         * docs/gst/gstreamer-sections.txt:
17946           made some defines private
17947         * docs/gst/tmpl/gstconfig.sgml:
17948         * docs/gst/tmpl/gstqueue.sgml:
17949         * docs/gst/tmpl/gsttaglist.sgml:
17950         * docs/gst/tmpl/gsttypes.sgml:
17951         * docs/gst/tmpl/gstutils.sgml:
17952         * docs/pwg/appendix-porting.xml:
17953         * gst/base/gstbasesink.h:
17954         * gst/base/gstbasesrc.c:
17955         * gst/base/gstbasesrc.h:
17956         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
17957         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
17958         * gst/gstelement.c: (gst_element_class_init):
17959         * gst/gstpad.c: (gst_pad_class_init):
17960         * gst/gstqueue.c: (gst_queue_class_init):
17961         * gst/gstxml.c: (gst_xml_class_init):
17962           documented all undocumented signal inline
17963         * libs/gst/controller/gst-controller.h:
17964           added padding
17965
17966 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17967
17968         * docs/pwg/appendix-porting.xml:
17969           Document _set_link_function -> _set_setcaps_function.
17970
17971 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17972
17973         * check/Makefile.am:
17974           add a .check target for running the check
17975         * check/gst-libs/controller.c: (GST_START_TEST):
17976           cosmetic fixups
17977         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17978           complete checks for gstbuffer; would be nice if I could get the
17979           gcov stuff to work so I can see if I actually completed gstbuffer.c
17980         * check/gstcheck.h:
17981           add ASSERT_BUFFER_REFCOUNT
17982
17983 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
17984
17985         * docs/gst/gstreamer-sections.txt:
17986         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
17987         * gst/gsttag.h:
17988           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
17989           spew out a warning if a tag that is already registered
17990           is re-registered, unless it is re-registered with a 
17991           different type (#308438).
17992
17993 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
17994
17995         * docs/pwg/appendix-porting.xml:
17996         * docs/pwg/building-state.xml:
17997           Add some paragraphs about state changes in 0.9 to the PWG
17998           and the porting guide, in particular about the new meaning
17999           of GST_STATE_PAUSED and how to write state change functions
18000           with concurrent access by multiple threads in mind.
18001
18002 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
18003
18004         * docs/gst/gstreamer-docs.sgml:
18005         * docs/libs/gstreamer-libs-docs.sgml:
18006           added deprecation and since indexes
18007         * libs/gst/controller/gst-controller.c:
18008         * libs/gst/controller/gst-helper.c:
18009           added since tags
18010
18011
18012 2005-08-11  Wim Taymans  <wim@fluendo.com>
18013
18014         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
18015         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
18016         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
18017         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
18018         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
18019         (gst_ghost_pad_set_target):
18020         Actually implement (re)setting the target on a ghostpad
18021         as described in the docs.
18022
18023 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
18024
18025         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
18026           Check whether GST_DEBUG_NO_COLOR environment variable is
18027           set and disable coloured debug output if that is the case.
18028
18029 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
18030
18031         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18032         (gst_type_find_helper):
18033           The memory returned by gst_type_find_peek() needs to
18034           stay valid until the end of a typefind function, and
18035           typefind functions may keep results from different 
18036           offsets around, so we can't just unref the buffer from
18037           the previous _peek(), but have to save all buffers 
18038           returned by _peek() until typefinding is done and only
18039           free them then.
18040
18041 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
18042
18043         * docs/gst/gstreamer-sections.txt:
18044         * gst/gstutils.h:
18045           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
18046
18047 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18048
18049         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
18050           Fix a pretty good memleak.
18051
18052 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
18053
18054         * gst/gstiterator.h:
18055           Fix wrong include and 'make distcheck'.
18056
18057 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18058
18059         * gst/gstbin.c: (bin_bus_handler):
18060           Use gst_element_post_message() instead.
18061
18062 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
18063
18064         * gst/base/gstadapter.h:
18065         * gst/base/gstbasesink.h:
18066         * gst/base/gstbasesrc.h:
18067         * gst/base/gstbasetransform.h:
18068         * gst/base/gstcollectpads.h:
18069         * gst/base/gstpushsrc.h:
18070         * gst/gstiterator.h:
18071           Add padding to our base elements' class and instance structs and
18072           to GstIterator (you will need to rebuild all plugins and apps!)
18073
18074 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18075
18076         * gst/gstbin.c: (bin_bus_handler):
18077           Make default message forwarding from child->bus to bin->bus
18078           threadsafe and make it not emit warnings if the parent has no bus.
18079
18080 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18081
18082         * gst/gstelement.c: (activate_pads):
18083           On paused->ready, set pad->caps to NULL, as is the documented
18084           behaviour in this state change. Fixes playback of series of
18085           media files when visualization is enabled in Totem.
18086
18087 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18088
18089         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
18090           Allow NULL as filter-caps (which means "any").
18091
18092 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18093
18094         * docs/libs/gstreamer-libs-sections.txt:
18095         * libs/gst/controller/gst-controller.c:
18096         * libs/gst/controller/gst-controller.h:
18097         * libs/gst/controller/gst-helper.c:
18098           adding more entries to the docs and fix small doc-bugs
18099
18100 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18101
18102         * docs/gst/gstreamer-docs.sgml:
18103         * docs/gst/gstreamer-sections.txt:
18104         * docs/gst/gstreamer.types:
18105         * docs/gst/tmpl/gstbasesink.sgml:
18106         * docs/gst/tmpl/gstbasesrc.sgml:
18107         * docs/gst/tmpl/gstbasetransform.sgml:
18108         * docs/gst/tmpl/gstfakesrc.sgml:
18109         * gst/base/gstcollectpads.c:
18110         * gst/base/gstcollectpads.h:
18111         * libs/gst/controller/gst-controller.c:
18112         * libs/gst/controller/gst-controller.h:
18113         * libs/gst/controller/gst-helper.c:
18114         * libs/gst/controller/gst-interpolation.c:
18115         * libs/gst/controller/lib.c:
18116           added long/short desc for controller docs
18117           added collectpads base class docs
18118           added correct includes to base-class docs
18119
18120 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18121
18122         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
18123         (gst_test_mono_source_set_property),
18124         (gst_test_mono_source_class_init), (GST_START_TEST),
18125         (gst_controller_suite):
18126         * docs/gst/gstreamer-docs.sgml:
18127         * docs/gst/gstreamer-sections.txt:
18128         * docs/gst/gstreamer.types:
18129         * docs/libs/gstreamer-libs-docs.sgml:
18130         * docs/libs/gstreamer-libs-sections.txt:
18131         * gst/base/gstadapter.c:
18132         * libs/gst/controller/gst-controller.c:
18133         (gst_controlled_property_new), (gst_controlled_property_free),
18134         (gst_controller_new_valist),
18135         (gst_controller_remove_properties_valist),
18136         (gst_controller_sink_values), (_gst_controller_finalize):
18137         * libs/gst/controller/gst-controller.h:
18138         * libs/gst/controller/gst-helper.c:
18139         (gst_object_control_properties), (gst_object_uncontrol_properties),
18140         (gst_object_get_controller), (gst_object_set_controller),
18141         (gst_object_sink_values), (gst_object_get_value_arrays),
18142         (gst_object_get_value_array):
18143           more tests (and fixes) for the controller
18144           more docs for the controller
18145           integrated companies docs for the adapter 
18146
18147 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18148
18149         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
18150         (GST_START_TEST), (fakesrc_suite):
18151           add tests for sizetype
18152
18153 2005-08-04  Andy Wingo  <wingo@pobox.com>
18154
18155         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
18156         fixes buffer_alloc proxying among other things.
18157
18158         * gst/base/gstbasetransform.c:
18159         * gst/base/gstbasetransform.h:
18160         Revert patch to gstbasetransform from 7-28 removing
18161         delay_configure.
18162
18163         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
18164         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
18165         Semantics changed, should return not the size of the output buffer
18166         but the byte size of a buffer with a given caps.
18167
18168         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
18169         debug object.
18170         (gst_base_transform_configure_caps): Don't set out_size here: (in,
18171         out) are not the pad caps until setcaps finishes.
18172         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
18173         not-in-place case as well. Deal with changing from in-place to
18174         not-in-place within calling pad_alloc_buffer. Still a bit
18175         concerned about the overhead here...
18176
18177 2005-08-03  Andy Wingo  <wingo@pobox.com>
18178
18179         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
18180         fixating is an error.
18181
18182 2005-08-04  Edward Hervey  <edward@fluendo.com>
18183
18184         * gst/base/gstadapter.h: 
18185         Added gst_adapter_get_type() to the header
18186
18187 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18188
18189         * check/Makefile.am:
18190         * check/gst-libs/controller.c:
18191         * libs/gst/controller/gst-controller.c:
18192         (gst_controller_new_valist):
18193           added check test suite for the controller
18194         * gst/base/gstpushsrc.c:
18195           fixed a doc typo
18196
18197 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18198
18199         * docs/gst/Makefile.am:
18200         * docs/gst/gstreamer-docs.sgml:
18201         * docs/gst/gstreamer-sections.txt:
18202         * docs/gst/gstreamer.types:
18203         * docs/gst/tmpl/gstfakesrc.sgml:
18204         * gst/base/README:
18205         * gst/base/gstbasesink.c:
18206         * gst/base/gstbasesink.h:
18207         * gst/base/gstbasesrc.c:
18208         * gst/base/gstbasesrc.h:
18209         * gst/base/gstbasetransform.c:
18210         * gst/base/gstpushsrc.c:
18211         * gst/base/gstpushsrc.h:
18212           add short/long description docs to base classes
18213           add pushsrc to the docs
18214           remove consolidated doc fragments
18215
18216 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18217
18218         * configure.ac:
18219         * docs/libs/Makefile.am:
18220         * docs/libs/gstreamer-libs-docs.sgml:
18221         * docs/libs/gstreamer-libs-sections.txt:
18222         * docs/libs/gstreamer-libs.types:
18223         * examples/Makefile.am:
18224         * examples/controller/.cvsignore:
18225         * examples/controller/Makefile.am:
18226         * examples/controller/audio-example.c: (main):
18227         * libs/gst/Makefile.am:
18228         * libs/gst/controller/.cvsignore:
18229         * libs/gst/controller/Makefile.am:
18230         * libs/gst/controller/gst-controller.c:
18231         (on_object_controlled_property_changed), (gst_timed_value_compare),
18232         (gst_timed_value_find),
18233         (gst_controlled_property_set_interpolation_mode),
18234         (gst_controlled_property_new), (gst_controlled_property_free),
18235         (gst_controller_find_controlled_property),
18236         (gst_controller_new_valist), (gst_controller_new),
18237         (gst_controller_remove_properties_valist),
18238         (gst_controller_remove_properties), (gst_controller_set),
18239         (gst_controller_set_from_list), (gst_controller_unset),
18240         (gst_controller_get), (gst_controller_get_all),
18241         (gst_controller_sink_values), (gst_controller_get_value_arrays),
18242         (gst_controller_get_value_array),
18243         (gst_controller_set_interpolation_mode),
18244         (_gst_controller_finalize), (_gst_controller_init),
18245         (_gst_controller_class_init), (gst_controller_get_type):
18246         * libs/gst/controller/gst-controller.h:
18247         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
18248         (g_object_uncontrol_properties), (g_object_get_controller),
18249         (g_object_set_controller), (g_object_sink_values),
18250         (g_object_get_value_arrays), (g_object_get_value_array):
18251         * libs/gst/controller/gst-interpolation.c:
18252         (gst_controlled_property_find_timed_value_node),
18253         (interpolate_none_get), (interpolate_trigger_get),
18254         (interpolate_trigger_get_value_array):
18255         * libs/gst/controller/lib.c: (gst_controller_init):
18256         * pkgconfig/Makefile.am:
18257         * pkgconfig/gstreamer-control-uninstalled.pc.in:
18258         * pkgconfig/gstreamer-control.pc.in:
18259         * testsuite/Makefile.am:
18260         * testsuite/controller/.cvsignore:
18261         * testsuite/controller/Makefile.am:
18262         * testsuite/controller/interpolator.c: (main):
18263           added controller code
18264           removed dparam pc files
18265
18266 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
18267         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
18268         (gst_collectpads_stop):
18269           Broadcast the condition when shutting down, to make sure we wake all
18270           threads up. Shut down pads on finalize, for safety.
18271
18272 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
18273         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18274         (gst_base_transform_handle_buffer),
18275         (gst_base_transform_change_state):
18276           Handle PAUSED->READY->PAUSED transition after negotiation
18277           occurred already.
18278         * gst/gstmessage.c: (gst_message_init):
18279           Extra piece of debug for new messages.
18280
18281 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
18282
18283         * configure.ac:
18284         * docs/gst/tmpl/gstbasesrc.sgml:
18285         * docs/gst/tmpl/gstelement.sgml:
18286         * docs/gst/tmpl/gstevent.sgml:
18287         * docs/gst/tmpl/gstfakesrc.sgml:
18288         * docs/gst/tmpl/gstformat.sgml:
18289         * docs/gst/tmpl/gstghostpad.sgml:
18290         * docs/gst/tmpl/gstpad.sgml:
18291         * docs/gst/tmpl/gstquery.sgml:
18292         * docs/gst/tmpl/gststructure.sgml:
18293         * docs/gst/tmpl/gsttaglist.sgml:
18294         * docs/gst/tmpl/gstvalue.sgml:
18295         * docs/libs/gstreamer-libs-docs.sgml:
18296         * docs/libs/gstreamer-libs-sections.txt:
18297         * docs/libs/gstreamer-libs.types:
18298         * libs/gst/Makefile.am:
18299         * libs/gst/control/.cvsignore:
18300         * libs/gst/control/Makefile.am:
18301         * libs/gst/control/control.c:
18302         * libs/gst/control/control.h:
18303         * libs/gst/control/dparam.c:
18304         * libs/gst/control/dparam.h:
18305         * libs/gst/control/dparam_smooth.c:
18306         * libs/gst/control/dparam_smooth.h:
18307         * libs/gst/control/dparamcommon.h:
18308         * libs/gst/control/dparammanager.c:
18309         * libs/gst/control/dparammanager.h:
18310         * libs/gst/control/dplinearinterp.c:
18311         * libs/gst/control/dplinearinterp.h:
18312         * libs/gst/control/unitconvert.c:
18313         * libs/gst/control/unitconvert.h:
18314         * testsuite/Makefile.am:
18315         * testsuite/dynparams/.cvsignore:
18316         * testsuite/dynparams/Makefile.am:
18317         * testsuite/dynparams/dparamstest.c:
18318         * tools/Makefile.am:
18319         * tools/gst-inspect.c: (print_element_info), (main):
18320         * tools/gst-xmlinspect.c: (print_element_info), (main):
18321           deactivate and remove dparams (libgstcontrol)
18322
18323 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18324
18325         * gst/elements/gsttypefindelement.c:
18326         (gst_type_find_element_have_type), (gst_type_find_element_init),
18327         (stop_typefinding), (gst_type_find_element_handle_event),
18328         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18329         * gst/elements/gsttypefindelement.h:
18330           Set caps on all outgoing buffers, not just the first one.
18331
18332 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18333
18334         * gst/elements/gsttypefindelement.c:
18335         (gst_type_find_element_have_type),
18336         (gst_type_find_element_check_set_buffer_caps),
18337         (gst_type_find_element_init), (stop_typefinding),
18338         (gst_type_find_element_handle_event),
18339         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18340         * gst/elements/gsttypefindelement.h:
18341           Set caps on first outgoing buffer when we've found the type.
18342
18343 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18344
18345         * docs/gst/gstreamer-docs.sgml:
18346         * docs/gst/gstreamer-sections.txt:
18347         * docs/gst/tmpl/gstscheduler.sgml:
18348         * docs/gst/tmpl/gstschedulerfactory.sgml:
18349           Remove some old cruft from docs.
18350
18351 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
18352
18353         * gst/gstpad.h:
18354           Fix inline docs for GstPadLinkReturn.
18355           
18356         * gst/gststructure.c: (gst_structure_has_name):
18357         * gst/gststructure.h:
18358         * docs/gst/gstreamer-sections.txt:
18359           New API: gst_structure_has_name().
18360
18361 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
18362
18363         * configure.ac:
18364           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
18365           and _LARGEFILE_SOURCE in config.h as required. Do not 
18366           export those flags in our .pc files any longer (#142209).
18367
18368           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
18369
18370         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
18371         (gst_file_sink_do_seek), (gst_file_sink_event),
18372         (gst_file_sink_get_current_offset), (gst_file_sink_render):
18373           Redo seek/tell calls with large file support in mind; add some
18374           debugging messages; add log message that tells us when large
18375           file support is unavailable or not enabled for some reason.
18376
18377         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
18378           Add log message that tells us when large file support 
18379           is unavailable or not enabled for some reason.
18380
18381 2005-07-29  Wim Taymans  <wim@fluendo.com>
18382
18383         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18384         Added test for removing an element with ghostpad from a bin.
18385         Fixed test as current implementation does the right thing.
18386
18387         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
18388         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
18389         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
18390         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
18391         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
18392         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
18393         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
18394         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
18395         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
18396         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
18397         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
18398         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
18399         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
18400         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
18401         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
18402         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
18403         * gst/gstghostpad.h:
18404         Clean up ghostpads, remove properties for internal stuff.
18405         Make threadsafe.
18406         Fix refcounting.
18407         Prepare for switching targets, not all use cases work yet.
18408
18409 2005-07-29  Wim Taymans  <wim@fluendo.com>
18410
18411         * docs/design/part-gstghostpad.txt:
18412         Small update.
18413
18414         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18415         (gst_bin_remove_func):
18416         Unlinking pads while holding the bin LOCK is not a good
18417         idea.
18418
18419         * gst/gstpad.c: (gst_pad_class_init),
18420         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
18421         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
18422         No prob setting template after creating the pad.
18423
18424 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
18425
18426         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
18427         (gst_bus_peek), (gst_bus_source_dispatch),
18428         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
18429         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
18430           gst_bus_poll may be called from other threads. Handle
18431           this nicely by not making poll_data disappear off the
18432           stack once gst_bus_poll returns.
18433           gst_bus_peek now increments the refcount on the returned
18434           message.
18435
18436 2005-07-29  Wim Taymans  <wim@fluendo.com>
18437
18438         * docs/design/part-gstghostpad.txt:
18439         Overview of current GhostPad datastructures and use
18440         cases for changing the target.
18441
18442 2005-07-28  Wim Taymans  <wim@fluendo.com>
18443
18444         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18445         Added checks for hierarchy consistency whan adding linked
18446         elements to bins.
18447
18448         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18449         Added check to test element scheduling without bin/pipeline.
18450
18451         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18452         First add elements to bin, then link.
18453         
18454         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18455         (gst_bin_remove_func):
18456         Unlink pads from elements added/removed from bin to maintain
18457         hierarchy consistency.
18458
18459 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18460
18461         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18462         (gst_base_transform_handle_buffer):
18463         * gst/base/gstbasetransform.h:
18464           Remove broken delay_configure (fixes renegotiation of software
18465           scaling pipelines); remove some leftover printf()s.
18466
18467 2005-07-28  Wim Taymans  <wim@fluendo.com>
18468
18469         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18470         Added some more tests for wrong hierarchy
18471
18472         * docs/design/part-overview.txt:
18473         Some updates.
18474
18475         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
18476         Cleanups.
18477
18478         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
18479         (gst_element_dispose):
18480         Some more cleanups.
18481
18482         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18483         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
18484         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18485         (gst_pad_set_caps), (gst_pad_send_event):
18486         Check for correct hierarchy when linking pads. Moving to
18487         strict requirement for ghostpads when linking elements in
18488         different bins.
18489
18490         * gst/gstpad.h:
18491         Clean ups. Added WRONG_HIERARCHY return value.
18492
18493 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18494
18495         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18496           Better debug if no transform is possible.
18497
18498 2005-07-27  Wim Taymans  <wim@fluendo.com>
18499
18500         * docs/random/wtay/network-transp:
18501         Some old doc I had.
18502
18503 2005-07-27  Wim Taymans  <wim@fluendo.com>
18504
18505         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18506         (gst_dp_event_from_packet):
18507         Fix serialization of seek events.
18508
18509 2005-07-27  Wim Taymans  <wim@fluendo.com>
18510
18511         * check/gst-libs/gdp.c: (GST_START_TEST):
18512         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18513         Fix compilation and fix event serialization.
18514
18515 2005-07-27  Wim Taymans  <wim@fluendo.com>
18516
18517         * CHANGES-0.9:
18518         * docs/design/part-TODO.txt:
18519         * docs/design/part-events.txt:
18520         Some docs updates
18521
18522         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18523         (gst_base_sink_event), (gst_base_sink_do_sync),
18524         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18525         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18526         (gst_base_src_do_seek), (gst_base_src_event_handler),
18527         (gst_base_src_loop):
18528         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18529         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18530         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18531         (gst_base_transform_event), (gst_base_transform_handle_buffer),
18532         (gst_base_transform_set_passthrough),
18533         (gst_base_transform_is_passthrough):
18534         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18535         * gst/elements/gstfilesink.c: (gst_file_sink_event):
18536         Event updates.
18537
18538         * gst/gstbuffer.h:
18539         Use faster casts.
18540
18541         * gst/gstelement.c: (gst_element_seek):
18542         * gst/gstelement.h:
18543         Update gst_element_seek.
18544
18545         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
18546         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
18547         (gst_event_new_flush_start), (gst_event_new_flush_stop),
18548         (gst_event_new_eos), (gst_event_new_newsegment),
18549         (gst_event_parse_newsegment), (gst_event_new_tag),
18550         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
18551         (gst_event_parse_qos), (gst_event_new_seek),
18552         (gst_event_parse_seek), (gst_event_new_navigation):
18553         * gst/gstevent.h:
18554         Make GstEvent use GstStructure. Add parsing code, make sure the
18555         API is sufficiently generic.
18556         Mark possible directions of events and serialization.
18557
18558         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
18559         (_gst_message_copy), (gst_message_new_segment_start),
18560         (gst_message_new_segment_done), (gst_message_new_custom),
18561         (gst_message_parse_segment_start),
18562         (gst_message_parse_segment_done):
18563         Small cleanups.
18564
18565         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18566         (gst_pad_set_caps), (gst_pad_send_event):
18567         Update for new events. 
18568         Catch events sent in wrong directions.
18569
18570         * gst/gstqueue.c: (gst_queue_link_src),
18571         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18572         (gst_queue_handle_src_query):
18573         Event updates.
18574
18575         * gst/gsttag.c:
18576         * gst/gsttag.h:
18577         Remove event code from this file.
18578
18579         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18580         (gst_dp_event_from_packet):
18581         Event updates.
18582
18583 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18584
18585         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
18586         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18587         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
18588           Make debugging actually useful.
18589
18590 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18591
18592         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
18593         (gst_pad_fixate_caps):
18594           Implement default fixation once again, so that gst_pad_fixate()
18595           actually does anything at all. This probably needs to be some
18596           sort of a last resort, and use profile-based fixation first, but
18597           since that doesn't exist yet, this is the best we have. Fixes
18598           visualization in Totem.
18599
18600 2005-07-22  Wim Taymans  <wim@fluendo.com>
18601
18602         * docs/design/part-events.txt:
18603         Small update.
18604
18605         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18606         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
18607         (gst_base_sink_activate_pull):
18608         Some more comments.
18609
18610         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
18611         (gst_fake_src_create):
18612         Fix handoff marshall.
18613
18614         * gst/elements/gstidentity.c: (gst_identity_class_init),
18615         (gst_identity_transform_ip):
18616         We're a real inplace element.
18617
18618         * gst/gstbus.c: (gst_bus_post):
18619         Added some comments.
18620
18621         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
18622         * tests/muxing/case1.c: (main):
18623         * tests/sched/dynamic-pipeline.c: (main):
18624         * tests/sched/interrupt1.c: (main):
18625         * tests/sched/interrupt2.c: (main):
18626         * tests/sched/interrupt3.c: (main):
18627         * tests/sched/runxml.c: (main):
18628         * tests/sched/sched-stress.c: (main):
18629         * tests/seeking/seeking1.c: (event_received), (main):
18630         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18631         (main):
18632         * tests/threadstate/threadstate3.c: (main):
18633         * tests/threadstate/threadstate4.c: (main):
18634         * tests/threadstate/threadstate5.c: (main):
18635         Fix the tests.
18636
18637 2005-07-21  Wim Taymans  <wim@fluendo.com>
18638
18639         * docs/design/part-seeking.txt:
18640         Some small additions.
18641
18642         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18643         (gst_base_sink_get_times), (gst_base_sink_do_sync),
18644         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18645         * gst/base/gstbasesink.h:
18646         discont values are gint64, handle the math correctly.
18647
18648         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18649         Make the basesrc report error if the source pad is not linked.
18650
18651         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18652         (gst_queue_loop), (gst_queue_handle_src_query),
18653         (gst_queue_src_activate_push):
18654         Make queue collect data even if the srcpad is not linked.
18655         Start pushing out data as soon as it is linked.
18656
18657         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
18658         * gst/gstutils.h:
18659         Added gst_flow_get_name() to ease error reporting.
18660
18661 2005-07-20  Wim Taymans  <wim@fluendo.com>
18662
18663         * gst/gstmessage.c: (gst_message_new_segment_start),
18664         (gst_message_new_segment_done), (gst_message_parse_segment_start),
18665         (gst_message_parse_segment_done):
18666         * gst/gstmessage.h:
18667         Added a bunch of messages for advanced seeking.
18668
18669         * gst/parse/grammar.y:
18670         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
18671         (gst_dpman_state_changed):
18672         Fix some new-pad -> pad-added signals
18673
18674 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18675
18676         * docs/manual/appendix-porting.xml:
18677         * docs/pwg/appendix-porting.xml:
18678           Document new-pad/state-change signal renames and the FixedList
18679           type rename.
18680
18681 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18682
18683         * docs/manual/advanced-autoplugging.xml:
18684         * docs/manual/basics-helloworld.xml:
18685         * docs/manual/basics-pads.xml:
18686         * docs/random/ds/0.9-suggested-changes:
18687         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
18688         * gst/gstelement.h:
18689         * gst/gstevent.h:
18690         * gst/gstformat.h:
18691         * gst/gstquery.h:
18692         * gst/gststructure.c: (gst_structure_value_get_generic_type),
18693         (gst_structure_parse_array), (gst_structure_parse_value):
18694         * gst/gstvalue.c: (gst_type_is_fixed),
18695         (gst_value_list_prepend_value), (gst_value_list_append_value),
18696         (gst_value_list_get_size), (gst_value_list_get_value),
18697         (gst_value_transform_array_string), (gst_value_serialize_array),
18698         (gst_value_deserialize_array), (gst_value_intersect_array),
18699         (gst_value_is_fixed), (_gst_value_initialize):
18700         * gst/gstvalue.h:
18701           GstElement::new-pad -> pad-added, GstElement::state-change ->
18702           state-changed, GstValueFixedList -> GstValueArray, add format and
18703           flags as their own arguments in gst_element_seek() (should improve
18704           "bindeability"), remove function generators since they don't work
18705           under a whole bunch of compilers (they were deprecated already
18706           anyway).
18707
18708 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18709
18710         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18711         (_gst_debug_register_funcptr):
18712         * gst/gstinfo.h:
18713           Fix illegal cast on some platforms (#309253).
18714
18715 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18716
18717         * gst/gstmessage.c: (gst_message_new_custom):
18718         * gst/gstmessage.h:
18719           Add _new_custom, make _new_application a macro to _new_custom.
18720
18721 2005-07-20  Wim Taymans  <wim@fluendo.com>
18722
18723         * gst/base/gstbasesrc.c: (gst_base_src_init),
18724         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18725         * gst/base/gstbasesrc.h:
18726         Add a gboolean to decide when to push out a discont.
18727
18728         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18729         (gst_queue_loop), (gst_queue_handle_src_query),
18730         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
18731         (gst_queue_set_property), (gst_queue_get_property):
18732         Some cleanups.
18733
18734         * tests/threadstate/threadstate1.c: (main):
18735         Make a thread test compile and run... very silly..
18736
18737
18738 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18739
18740         * docs/manual/appendix-porting.xml:
18741           Mention removal of libgstgconf-0.9.la and existence of gconf
18742           elements.
18743
18744 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18745
18746         * docs/pwg/advanced-clock.xml:
18747         * docs/pwg/appendix-porting.xml:
18748         * docs/pwg/intro-preface.xml:
18749         * docs/pwg/other-base.xml:
18750         * docs/pwg/other-manager.xml:
18751         * docs/pwg/other-nton.xml:
18752         * docs/pwg/other-ntoone.xml:
18753         * docs/pwg/other-oneton.xml:
18754         * docs/pwg/pwg.xml:
18755           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
18756           demuxer), remove n-to-n (was never written), fix some code examples
18757           and links and update the porting section to include all this.
18758
18759 2005-07-19  Wim Taymans  <wim@fluendo.com>
18760
18761         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
18762         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
18763         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
18764         (gst_queue_src_activate_push), (gst_queue_change_state),
18765         (gst_queue_get_property):
18766         * gst/gstqueue.h:
18767         Propagate GstFlowReturn more intelligently upstream and output
18768         an ERROR/EOS when streaming stopped due to fatal error.
18769
18770 2005-07-19  Wim Taymans  <wim@fluendo.com>
18771
18772         * tools/gst-launch.c: (check_intr), (event_loop), (main):
18773         Don't block forever for the state change to complete, the
18774         pipeline already did with a sensible timeout.
18775
18776 2005-07-19  Wim Taymans  <wim@fluendo.com>
18777
18778         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18779         Make sure we never call the create function is we
18780         got deactivated.
18781
18782 2005-07-19  Andy Wingo  <wingo@pobox.com>
18783
18784         * gst/parse/parse.l: Attempt to solve bug #172815.
18785
18786 2005-07-19  Wim Taymans  <wim@fluendo.com>
18787
18788         * docs/design/part-clocks.txt:
18789         * docs/design/part-events.txt:
18790         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
18791         Small docs updates.
18792         Only update the seeking values when we are not
18793         busy streaming.
18794
18795 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18796
18797         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18798           Oops, ignore the result of gst_pad_push_event here.
18799
18800 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18801
18802         * gst/base/gstbasesrc.c: (gst_base_src_loop),
18803         (gst_base_src_activate_push):
18804           Send discont event from the loop function, as pads
18805           aren't activated yet in the activate_push handler.
18806
18807         * gst/gstbin.c: (bin_bus_handler):
18808           Don't leak element name.
18809
18810 2005-07-18  Andy Wingo  <wingo@pobox.com>
18811
18812         * configure.ac: Use AS_LIBTOOL_TAGS.
18813
18814 2005-07-18  Wim Taymans  <wim@fluendo.com>
18815
18816         * docs/gst/gstreamer.types:
18817         Remove deleted types.
18818
18819 2005-07-18  Wim Taymans  <wim@fluendo.com>
18820
18821         * check/elements/gstfakesrc.c: (GST_START_TEST):
18822         * configure.ac:
18823         * gst/Makefile.am:
18824         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
18825         (init_popt_callback):
18826         * gst/gst.h:
18827         * gst/gst_private.h:
18828         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
18829         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
18830         * gst/gstbin.h:
18831         * gst/gstbus.h:
18832         * gst/gstconfig.h.in:
18833         * gst/gstelement.c: (gst_element_class_init),
18834         (gst_element_set_base_time), (gst_element_get_base_time),
18835         (iterator_fold_with_resync), (gst_element_change_state),
18836         (gst_element_dispose), (gst_element_get_bus):
18837         * gst/gstelement.h:
18838         * gst/gstelementfactory.h:
18839         * gst/gsterror.c: (_gst_core_errors_init):
18840         * gst/gsterror.h:
18841         * gst/gstevent.h:
18842         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18843         * gst/gstindex.c:
18844         * gst/gstinfo.c: (_gst_debug_init):
18845         * gst/gstmessage.c: (_gst_message_copy):
18846         * gst/gstmessage.h:
18847         * gst/gstminiobject.h:
18848         * gst/gstobject.c:
18849         * gst/gstobject.h:
18850         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18851         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
18852         * gst/gstpad.h:
18853         * gst/gstparse.h:
18854         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
18855         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18856         (gst_pipeline_get_last_stream_time):
18857         * gst/gstpipeline.h:
18858         * gst/gstpluginfeature.h:
18859         * gst/gstquery.h:
18860         * gst/gstscheduler.c:
18861         * gst/gstscheduler.h:
18862         * gst/gststructure.h:
18863         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18864         (gst_task_finalize), (gst_task_func), (gst_task_create),
18865         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
18866         (gst_task_stop), (gst_task_pause):
18867         * gst/gsttask.h:
18868         * gst/gsttypefind.h:
18869         * gst/gsttypes.h:
18870         * gst/registries/gstlibxmlregistry.c: (load_feature),
18871         (gst_xml_registry_load), (gst_xml_registry_save_feature):
18872         * gst/registries/gstxmlregistry.c:
18873         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
18874         * gst/schedulers/threadscheduler.c:
18875         * libs/gst/control/dparammanager.h:
18876         * tools/gst-inspect.c: (print_element_list),
18877         (print_plugin_features), (print_element_features):
18878         * tools/gst-xmlinspect.c: (print_element_list),
18879         (print_plugin_info), (main):
18880         Removed plugable schedulers.
18881         Removed Scheduler/Manager from elements.
18882         Removed gsttypes.h, rearranged includes.
18883         Removed dependency pad<->element, element<>pipeline, and
18884         various others,  fix includes.
18885         implement gst_pad_get_parent() with gst_object_get_parent()
18886         Make GstTask sefcontained.
18887         Fix _get_state() on GstBin, it did not return ASYNC with a 0
18888         timeout.
18889         Fix endless loop in iterator_fold_with_resync.
18890
18891
18892 2005-07-18  Wim Taymans  <wim@fluendo.com>
18893
18894         * gst/Makefile.am:
18895         * gst/gstarch.h:
18896         Remove old file.
18897
18898 2005-07-18  Wim Taymans  <wim@fluendo.com>
18899
18900         * gst/Makefile.am:
18901         No more cothreads.h
18902
18903 2005-07-18  Wim Taymans  <wim@fluendo.com>
18904
18905         * gst/cothreads.c:
18906         * gst/cothreads.h:
18907         Let's remove these.
18908
18909 2005-07-18  Wim Taymans  <wim@fluendo.com>
18910
18911         * docs/design/part-dynamic.txt:
18912         * docs/design/part-events.txt:
18913         * docs/design/part-seeking.txt:
18914         Some more docs in the works.
18915
18916         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18917         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
18918         (gst_base_transform_setcaps), (gst_base_transform_get_size),
18919         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
18920         (gst_base_transform_handle_buffer),
18921         (gst_base_transform_sink_activate_push),
18922         (gst_base_transform_src_activate_pull),
18923         (gst_base_transform_set_passthrough),
18924         (gst_base_transform_is_passthrough):
18925         Refcounting fixes.
18926
18927         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
18928         Cleanups.
18929
18930         * gst/gstevent.c: (gst_event_finalize):
18931         Set SRC to NULL.
18932
18933         * gst/gstutils.c: (gst_element_unlink),
18934         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
18935         (gst_pad_proxy_setcaps):
18936         * gst/gstutils.h:
18937         Add _get_parent_element() to get a pads parent as an element.
18938
18939 2005-07-18  Wim Taymans  <wim@fluendo.com>
18940
18941         * check/gst/gstbin.c: (GST_START_TEST):
18942         Remove bogus test.
18943
18944 2005-07-18  Wim Taymans  <wim@fluendo.com>
18945
18946         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
18947         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
18948         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
18949         (gst_base_sink_event), (gst_base_sink_do_sync),
18950         (gst_base_sink_chain), (gst_base_sink_loop),
18951         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
18952         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
18953         Refcounting fixes.
18954         Fix logic for returning ASYNC when not prerolled.
18955
18956 2005-07-18  Wim Taymans  <wim@fluendo.com>
18957
18958         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18959         Fix nasty refcount bug.
18960
18961 2005-07-16 Philippe Khalaf <burger@speedy.org>
18962
18963         * gst/elements/gstfdsrc.c:
18964         * gst/elements/gstfdsrc.h:
18965         * gst/elements/gstelements.c:
18966         * gst/elements/Makefile.am:
18967         Ported fdsrc to 0.9.
18968
18969 2005-07-16  Wim Taymans  <wim@fluendo.com>
18970
18971         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18972         (gst_base_sink_do_sync):
18973         Fix compile error.
18974
18975 2005-07-16  Wim Taymans  <wim@fluendo.com>
18976
18977         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18978         (gst_base_sink_event), (gst_base_sink_get_times),
18979         (gst_base_sink_do_sync), (gst_base_sink_change_state):
18980         * gst/base/gstbasesink.h:
18981         Store and use discont values when syncing buffers as described
18982         in design docs.
18983         
18984         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18985         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
18986         (gst_base_src_activate_push):
18987         Push discont event when starting.
18988
18989         * gst/elements/gstidentity.c: (gst_identity_transform):
18990         Small cleanups.
18991
18992         * gst/gstbin.c: (gst_bin_change_state):
18993         Small cleanups in base_time  distribution.
18994
18995         * gst/gstelement.c: (gst_element_set_base_time),
18996         (gst_element_get_base_time), (gst_element_change_state):
18997         * gst/gstelement.h:
18998         Added methods for the base_time of the element.
18999         Some MT fixes.
19000
19001         * gst/gstpipeline.c: (gst_pipeline_send_event),
19002         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
19003         (gst_pipeline_get_last_stream_time):
19004         * gst/gstpipeline.h:
19005         MT fixes.
19006         Handle seeking as described in design doc, remove stream_time
19007         hack.
19008         Cleanups clock and stream_time selection code. Added accessors
19009         for the stream_time.
19010         
19011
19012 2005-07-16  Andy Wingo  <wingo@pobox.com>
19013
19014         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
19015         (#305291).
19016
19017 2005-07-16  Wim Taymans  <wim@fluendo.com>
19018
19019         * check/gst/gstbin.c: (GST_START_TEST):
19020         Make elements silent as the deep_notify refs the
19021         parent, which might make the test fail.
19022
19023         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
19024         Don't hold the lock for too long.
19025
19026 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
19027
19028         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
19029           Don't unref the caps we passed to gst_caps_make_writable() after
19030           passing them. gst_caps_make_writable() will do that for us.
19031
19032 2005-07-15  Andy Wingo  <wingo@pobox.com>
19033
19034         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
19035         (#157311).
19036
19037         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
19038         own marshalling function for the handoff signal. Properly type the
19039         buffer as a buffer. Fixes some warnings. Should do a more general
19040         solution.
19041         (gst_identity_class_init): Plug into the right marshaller.
19042
19043 2005-07-15  Wim Taymans  <wim@fluendo.com>
19044
19045         * docs/design/part-TODO.txt:
19046         * docs/design/part-clocks.txt:
19047         * docs/design/part-element-sink.txt:
19048         * docs/design/part-events.txt:
19049         * docs/design/part-gstpipeline.txt:
19050         Updated docs, mostly DISCONT related.
19051
19052 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
19053
19054         * docs/pwg/building-pads.xml:
19055           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
19056
19057 2005-07-15  Andy Wingo  <wingo@pobox.com>
19058
19059         * tools/gst-typefind.c: Update, add copyright block.
19060
19061         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
19062         Normalize and truncate caps before fixation.
19063
19064         * gst/gstcaps.h:
19065         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
19066         discards all but the first structure from its argument.
19067
19068 2005-07-15  Wim Taymans  <wim@fluendo.com>
19069
19070         * gst/base/gstbasetransform.c: (gst_base_transform_init),
19071         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
19072         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19073         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
19074         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
19075         (gst_base_transform_chain), (gst_base_transform_change_state),
19076         (gst_base_transform_set_passthrough),
19077         (gst_base_transform_is_passthrough):
19078         * gst/base/gstbasetransform.h:
19079         Make passthrough work using the bufferpools.
19080         Changed API a bit, subclasses have to write into a buffer
19081         provided by the base class.
19082         More debug info in nego functions.
19083         
19084         * gst/elements/gstidentity.c: (gst_identity_init),
19085         (gst_identity_transform):
19086         Port to new base class.
19087
19088 2005-07-15  Wim Taymans  <wim@fluendo.com>
19089
19090         * gst/gstmessage.c: (gst_message_new_state_changed):
19091         * tools/gst-launch.c: (event_loop), (main):
19092         Totally dump messages in -launch with the -m option.
19093         Fix message name for State messages,
19094
19095 2005-07-14  Wim Taymans  <wim@fluendo.com>
19096
19097         * gst/base/gstbasesrc.c: (gst_base_src_loop):
19098         Post error messages on errors.
19099
19100 2005-07-14  Wim Taymans  <wim@fluendo.com>
19101
19102         * gst/gstcaps.c: (gst_caps_do_simplify):
19103         Remove debug info.
19104
19105         * gst/gsterror.h:
19106         Define error for stream stopped.
19107
19108         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19109         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
19110         Do proper return values.
19111
19112         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19113         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
19114         (gst_pad_get_range):
19115         Better return values.
19116
19117         * gst/gstpad.h:
19118         Reorganise return values, add macro to check for fatal errors.
19119
19120         * gst/gstqueue.c: (gst_queue_chain):
19121         Return proper GstFlowReturn values,
19122
19123 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
19124
19125         * docs/gst/gstreamer-sections.txt:
19126         * docs/gst/gstreamer.types:
19127         * docs/gst/tmpl/gst.sgml:
19128         * docs/gst/tmpl/gstbasesink.sgml:
19129         * docs/gst/tmpl/gstbasesrc.sgml:
19130         * docs/gst/tmpl/gstbasetransform.sgml:
19131         * docs/gst/tmpl/gstbin.sgml:
19132         * docs/gst/tmpl/gstbuffer.sgml:
19133         * docs/gst/tmpl/gstcaps.sgml:
19134         * docs/gst/tmpl/gstclock.sgml:
19135         * docs/gst/tmpl/gstcompat.sgml:
19136         * docs/gst/tmpl/gstconfig.sgml:
19137         * docs/gst/tmpl/gstelement.sgml:
19138         * docs/gst/tmpl/gstelementdetails.sgml:
19139         * docs/gst/tmpl/gstelementfactory.sgml:
19140         * docs/gst/tmpl/gstenumtypes.sgml:
19141         * docs/gst/tmpl/gsterror.sgml:
19142         * docs/gst/tmpl/gstevent.sgml:
19143         * docs/gst/tmpl/gstfakesink.sgml:
19144         * docs/gst/tmpl/gstfakesrc.sgml:
19145         * docs/gst/tmpl/gstfilesink.sgml:
19146         * docs/gst/tmpl/gstfilesrc.sgml:
19147         * docs/gst/tmpl/gstfilter.sgml:
19148         * docs/gst/tmpl/gstformat.sgml:
19149         * docs/gst/tmpl/gstghostpad.sgml:
19150         * docs/gst/tmpl/gstimplementsinterface.sgml:
19151         * docs/gst/tmpl/gstindex.sgml:
19152         * docs/gst/tmpl/gstindexfactory.sgml:
19153         * docs/gst/tmpl/gstinfo.sgml:
19154         * docs/gst/tmpl/gstiterator.sgml:
19155         * docs/gst/tmpl/gstmacros.sgml:
19156         * docs/gst/tmpl/gstmemchunk.sgml:
19157         * docs/gst/tmpl/gstminiobject.sgml:
19158         * docs/gst/tmpl/gstobject.sgml:
19159         * docs/gst/tmpl/gstpad.sgml:
19160         * docs/gst/tmpl/gstpadtemplate.sgml:
19161         * docs/gst/tmpl/gstparse.sgml:
19162         * docs/gst/tmpl/gstpipeline.sgml:
19163         * docs/gst/tmpl/gstplugin.sgml:
19164         * docs/gst/tmpl/gstpluginfeature.sgml:
19165         * docs/gst/tmpl/gstquery.sgml:
19166         * docs/gst/tmpl/gstqueue.sgml:
19167         * docs/gst/tmpl/gstregistry.sgml:
19168         * docs/gst/tmpl/gstregistrypool.sgml:
19169         * docs/gst/tmpl/gstscheduler.sgml:
19170         * docs/gst/tmpl/gstschedulerfactory.sgml:
19171         * docs/gst/tmpl/gststructure.sgml:
19172         * docs/gst/tmpl/gstsystemclock.sgml:
19173         * docs/gst/tmpl/gsttaglist.sgml:
19174         * docs/gst/tmpl/gsttagsetter.sgml:
19175         * docs/gst/tmpl/gsttrace.sgml:
19176         * docs/gst/tmpl/gsttrashstack.sgml:
19177         * docs/gst/tmpl/gsttypefind.sgml:
19178         * docs/gst/tmpl/gsttypefindfactory.sgml:
19179         * docs/gst/tmpl/gsttypes.sgml:
19180         * docs/gst/tmpl/gsturihandler.sgml:
19181         * docs/gst/tmpl/gsturitype.sgml:
19182         * docs/gst/tmpl/gstutils.sgml:
19183         * docs/gst/tmpl/gstvalue.sgml:
19184         * docs/gst/tmpl/gstversion.sgml:
19185         * docs/gst/tmpl/gstxml.sgml:
19186         * docs/libs/tmpl/gstcontrol.sgml:
19187         * docs/libs/tmpl/gstdataprotocol.sgml:
19188         * docs/libs/tmpl/gstdparam.sgml:
19189         * docs/libs/tmpl/gstdplinint.sgml:
19190         * docs/libs/tmpl/gstdpman.sgml:
19191         * docs/libs/tmpl/gstdpsmooth.sgml:
19192         * docs/libs/tmpl/gstgetbits.sgml:
19193         * docs/libs/tmpl/gstunitconvert.sgml:
19194         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
19195         (gst_push_src_base_init), (gst_push_src_class_init),
19196         (gst_push_src_init), (gst_push_src_create):
19197         * gst/base/gstpushsrc.h:
19198         * gst/elements/gstelements.c:
19199         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
19200         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
19201         (gst_fake_sink_init), (gst_fake_sink_set_property),
19202         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
19203         (gst_fake_sink_event), (gst_fake_sink_preroll),
19204         (gst_fake_sink_render), (gst_fake_sink_change_state):
19205         * gst/elements/gstfakesink.h:
19206         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
19207         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
19208         (gst_fake_src_base_init), (gst_fake_src_class_init),
19209         (gst_fake_src_init), (gst_fake_src_event_handler),
19210         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
19211         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
19212         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
19213         (gst_fake_src_create_buffer), (gst_fake_src_create),
19214         (gst_fake_src_start), (gst_fake_src_stop):
19215         * gst/elements/gstfakesrc.h:
19216         * gst/elements/gstfilesink.c: (_do_init),
19217         (gst_file_sink_base_init), (gst_file_sink_class_init),
19218         (gst_file_sink_init), (gst_file_sink_dispose),
19219         (gst_file_sink_set_location), (gst_file_sink_set_property),
19220         (gst_file_sink_get_property), (gst_file_sink_open_file),
19221         (gst_file_sink_close_file), (gst_file_sink_query),
19222         (gst_file_sink_event), (gst_file_sink_render),
19223         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
19224         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
19225         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
19226         * gst/elements/gstfilesink.h:
19227         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
19228         (gst_file_src_class_init), (gst_file_src_init),
19229         (gst_file_src_finalize), (gst_file_src_set_location),
19230         (gst_file_src_set_property), (gst_file_src_get_property),
19231         (gst_file_src_map_region), (gst_file_src_map_small_region),
19232         (gst_file_src_create_mmap), (gst_file_src_create_read),
19233         (gst_file_src_create), (gst_file_src_is_seekable),
19234         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
19235         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
19236         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
19237         (gst_file_src_uri_handler_init):
19238         * gst/elements/gstfilesrc.h:
19239           more autistic cleanliness in functions/names/defines
19240
19241 2005-07-13  Andy Wingo  <wingo@pobox.com>
19242
19243         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
19244         source couldn't negotiate.
19245
19246         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
19247         connections again.
19248
19249         * gst/gstutils.h:
19250         * gst/gstutils.c (gst_element_link_pads_filtered): New old
19251         function. I am channeling Hades. Put your boots on suckers!!!
19252
19253 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19254
19255         * testsuite/caps/Makefile.am:
19256         * testsuite/caps/value_compare.c:
19257         * testsuite/caps/value_intersect.c:
19258         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19259           move two testsuite apps over to the check dir
19260
19261 2005-07-12  Wim Taymans  <wim@fluendo.com>
19262
19263         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
19264         Added more debug info in the negotiate process.
19265
19266         * gst/gstmessage.h:
19267         Prepare for segment playback.
19268
19269         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
19270         Better debugging.
19271
19272         * gst/gstutils.c:
19273         Some more docs.
19274
19275         * tools/gst-launch.c: (main):
19276         NULL pipeline on errors.
19277
19278 2005-07-12  Andy Wingo  <wingo@pobox.com>
19279
19280         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
19281         not it comes from a malloc region. Make sure our copy gets freed.
19282
19283 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19284
19285         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
19286         * check/gst/gstmessage.c: (GST_START_TEST):
19287         * check/gst/gststructure.c: (GST_START_TEST),
19288         (gst_structure_suite), (main):
19289           more testing
19290         * gst/gstelement.c: (gst_element_message_full):
19291           clean up GError and debug string now that they get copied
19292         * gst/gstmessage.c: (gst_message_new_error),
19293         (gst_message_new_warning), (gst_message_parse_error),
19294         (gst_message_parse_warning):
19295           use GST_TYPE_G_ERROR for structure_new, and take copies of
19296           arguments, so that we don't mess up refcounting
19297
19298 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19299
19300         * check/Makefile.am:
19301           add per-test valgrind targets
19302         * check/gst-libs/gdp.c: (GST_START_TEST),
19303         (gst_data_protocol_suite), (main):
19304           clean up
19305
19306 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19307
19308         * check/Makefile.am:
19309           instate more valgrindable tests
19310         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19311         (GST_START_TEST), (fakesrc_suite):
19312         * check/gst/gstpad.c: (GST_START_TEST):
19313         * check/gst/gststructure.c: (GST_START_TEST):
19314           fix test leaks
19315         * docs/gst/tmpl/gstminiobject.sgml:
19316         * gst/gstpad.c: (gst_pad_finalize):
19317           fix the static mutex leak
19318
19319 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19320
19321         * check/Makefile.am:
19322           add two more tests for valgrinding
19323         * check/gst/gstvalue.c: (GST_START_TEST):
19324           test refcount of deserialized buffer, found a leak
19325         * docs/gst/gstreamer-docs.sgml:
19326         * docs/gst/gstreamer-sections.txt:
19327         * docs/gst/gstreamer.types:
19328         * docs/gst/tmpl/gstminiobject.sgml:
19329           add miniobject to docs
19330         * gst/gstminiobject.c:
19331           add some docs
19332         * gst/gstvalue.c: (gst_value_deserialize_buffer),
19333         (gst_string_unwrap):
19334           fix a hard-to-find invalid write for one of the tests
19335           fix a leak for deserialized buffers
19336
19337 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19338
19339         * docs/pwg/advanced-events.xml:
19340         * docs/pwg/advanced-request.xml:
19341         * docs/pwg/advanced-scheduling.xml:
19342         * docs/pwg/appendix-porting.xml:
19343         * docs/pwg/building-boiler.xml:
19344         * docs/pwg/intro-preface.xml:
19345         * docs/pwg/other-ntoone.xml:
19346           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
19347           of example code and explanation for pad activation, loop() and
19348           getrange() functions and a bit more. Remove old comments pointing
19349           to loop-functions.
19350         * examples/pwg/Makefile.am:
19351           Add loop/getrange examples.
19352
19353 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19354
19355         * configure.ac:
19356           check for valgrind binary + some fixes
19357         * check/gst.supp:
19358           valgrind suppressions for the tests
19359         * check/Makefile.am:
19360           add a valgrind: target that valgrinds the unit tests
19361         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
19362         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
19363         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19364         * check/gst/gstghostpad.c:
19365           added some cleanup
19366         * check/gst/gstdata.c:
19367           removed
19368         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
19369         (thread_unref), (gst_mini_object_suite), (main):
19370           added
19371         * gst/gst.c: (gst_deinit):
19372         * gst/gst.h:
19373           add a method to clean up.
19374         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19375         (gst_system_clock_obtain):
19376           allow for disposing the system clock.
19377         * tools/gst-launch.c: (main):
19378           deinit
19379
19380 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19381
19382         * docs/gst/tmpl/gstbasesrc.sgml:
19383         * docs/gst/tmpl/gstfakesrc.sgml:
19384         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19385         (gst_base_src_init), (gst_base_src_set_property),
19386         (gst_base_src_get_property), (gst_base_src_get_range),
19387         (gst_base_src_start):
19388         * gst/base/gstbasesrc.h:
19389           add num-buffers property
19390         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19391         (gst_fakesrc_init), (gst_fakesrc_set_property),
19392         (gst_fakesrc_get_property), (gst_fakesrc_create),
19393         (gst_fakesrc_start):
19394           remove num-buffers property
19395
19396 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19397
19398         * docs/gst/gstreamer-sections.txt:
19399         * docs/gst/tmpl/gstbasesink.sgml:
19400         * docs/gst/tmpl/gstbasesrc.sgml:
19401         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19402         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19403         (gst_base_sink_finalize), (gst_base_sink_set_clock),
19404         (gst_base_sink_set_property), (gst_base_sink_get_property),
19405         (gst_base_sink_handle_object), (gst_base_sink_event),
19406         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19407         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
19408         (gst_base_sink_loop), (gst_base_sink_deactivate),
19409         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
19410         (gst_base_sink_change_state):
19411         * gst/base/gstbasesink.h:
19412         * gst/base/gstbasesrc.h:
19413         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
19414         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
19415         (gst_filesink_init):
19416           more macro splitting
19417
19418 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19419
19420         * gst/gstelement.c: (gst_element_get_bus):
19421           add debug
19422         * tools/gst-launch.c: (check_intr), (event_loop):
19423           fix bus leaks
19424
19425 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19426
19427         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
19428           fix a caps leak
19429
19430 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19431
19432         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19433         (gst_base_src_finalize):
19434           add finalize method and clean up properly
19435         * gst/gstpipeline.c: (gst_pipeline_dispose):
19436           add debug
19437
19438 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19439
19440         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
19441         (gst_bin_suite):
19442           add more things to check
19443         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19444         * gst/gstelement.c:
19445           more debug
19446
19447 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19448
19449         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19450         (GST_START_TEST), (fakesrc_suite):
19451         * check/gst-libs/gdp.c: (GST_START_TEST):
19452         * check/gst/gst.c: (GST_START_TEST):
19453         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19454         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19455         * check/gst/gstbus.c: (GST_START_TEST):
19456         * check/gst/gstcaps.c: (GST_START_TEST):
19457         * check/gst/gstdata.c: (GST_START_TEST):
19458         * check/gst/gstelement.c: (GST_START_TEST):
19459         * check/gst/gstghostpad.c: (GST_START_TEST):
19460         * check/gst/gstiterator.c: (GST_START_TEST):
19461         * check/gst/gstmessage.c: (GST_START_TEST):
19462         * check/gst/gstobject.c: (GST_START_TEST):
19463         * check/gst/gstpad.c: (GST_START_TEST):
19464         * check/gst/gststructure.c: (GST_START_TEST):
19465         * check/gst/gstsystemclock.c: (GST_START_TEST),
19466         (gst_systemclock_suite):
19467         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
19468         * check/gst/gstvalue.c: (GST_START_TEST):
19469         * check/pipelines/cleanup.c: (GST_START_TEST):
19470         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19471         * check/states/sinks.c: (GST_START_TEST):
19472         * check/gstcheck.c: (gst_check_init):
19473         * check/gstcheck.h:
19474           add debugging category
19475           use GST_START_TEST now, so we add a debug line
19476
19477 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19478
19479         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
19480           add test for state change message on a bin
19481         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
19482           add another test
19483         * gst/gstbin.c: (gst_bin_init):
19484         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
19485         * gst/gstelement.c: (gst_element_post_message),
19486         (gst_element_set_state):
19487         * gst/gstelementfactory.c: (gst_element_factory_create):
19488         * gst/gstmessage.c: (gst_message_new):
19489         * gst/gstscheduler.c:
19490           various debugging additions and cleanups
19491
19492 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19493
19494         * check/Makefile.am:
19495         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
19496         (main):
19497           adding tests for elements
19498         * gst/gstelement.c: (gst_element_dispose):
19499
19500 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19501
19502         * gst/registries/gstlibxmlregistry.c: (load_feature):
19503           plug more leaks.  A simple gst_init() now is leakfree, yay.
19504
19505 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19506
19507         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
19508         (gst_xml_registry_load):
19509           plug another memleak
19510
19511 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19512
19513         * configure.ac:
19514           use GST_SET_ERROR_CFLAGS
19515         * docs/faq/cvs.xml:
19516           change to ERROR_CFLAGS
19517
19518 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19519
19520         * configure.ac:
19521           make GST_ERROR_CFLAGS overridable and re-enable Werror
19522         * docs/faq/cvs.xml:
19523           add a note about error CFLAGS
19524         * docs/gst/tmpl/gstfakesrc.sgml:
19525         * gst/elements/gstfakesrc.c:
19526           comment out some unused code
19527         * gst/gst.c: (split_and_iterate):
19528         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
19529         (load_feature):
19530           plug some memleaks
19531
19532 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19533
19534         * common/Makefile.am:
19535         * common/gtk-doc.mak:
19536         * docs/gst/Makefile.am:
19537           factor out gtk-doc.mak
19538
19539 2005-07-07  Wim Taymans  <wim@fluendo.com>
19540
19541         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
19542         (gst_thread_scheduler_dispose):
19543         Unlock the STREAM_LOCK completely.
19544
19545 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19546
19547         * check/Makefile.am:
19548         * check/elements/.cvsignore:
19549         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19550         (START_TEST), (fakesrc_suite), (main):
19551         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19552         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19553         (gst_fakesrc_create), (gst_fakesrc_start):
19554         * gst/elements/gstfakesrc.h:
19555           adding a first element test
19556
19557 2005-07-07  Andy Wingo  <wingo@pobox.com>
19558
19559         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
19560         debug message.
19561
19562 2005-07-07  Wim Taymans  <wim@fluendo.com>
19563
19564         * gst/gstquery.c:
19565         * gst/gstquery.h:
19566         Remove old types
19567
19568 2005-07-07  Wim Taymans  <wim@fluendo.com>
19569
19570         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
19571         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
19572         Allow subclasses to implement their own negotiation.
19573
19574 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19575
19576         * docs/design/part-gstbin.txt:
19577         * docs/design/part-gstpipeline.txt:
19578           Update design notes to reflect the movement of
19579           responsibility for bus handling from GstPipeline to
19580           GstBin
19581
19582 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19583
19584         * configure.ac:
19585           Remove unnecessary queue2/3/4 examples.
19586
19587 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19588
19589         * examples/Makefile.am:
19590         * examples/helloworld/helloworld.c: (event_loop), (main):
19591         * examples/queue/queue.c: (event_loop), (main):
19592         * examples/queue2/queue2.c: (main):
19593           Update a couple of the examples to work again.
19594
19595         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19596         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
19597          Spelling corrections and extra debug.
19598         
19599         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
19600         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
19601         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
19602         * gst/gstbin.h:
19603         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19604         (gst_pipeline_change_state):
19605         * gst/gstpipeline.h:
19606           Move the bus handler for children to the GstBin, and create a
19607           separate bus for receiving messages from children to the one the
19608           bus sends 'upwards' on.
19609
19610 2005-07-06  Wim Taymans  <wim@fluendo.com>
19611
19612         * gst/base/README:
19613         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19614         (gst_base_sink_handle_object), (gst_base_sink_loop),
19615         (gst_base_sink_change_state):
19616         * gst/base/gstbasesink.h:
19617         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19618         (gst_base_src_init), (gst_base_src_setcaps),
19619         (gst_base_src_getcaps), (gst_base_src_loop),
19620         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
19621         (gst_base_src_start), (gst_base_src_change_state):
19622         * gst/base/gstbasesrc.h:
19623         Make basesrc negotiate.
19624         Handle the case where preroll fails in basesink.
19625         Update README.
19626
19627 2005-07-06  Wim Taymans  <wim@fluendo.com>
19628
19629         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
19630         Implement the fixate function.
19631         Clean up acceptcaps.
19632
19633 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19634
19635         * docs/pwg/building-filterfactory.xml:
19636         * docs/pwg/pwg.xml:
19637           Remove never-written filter-factory chapter; I'll add the various
19638           base classes to part 4 ("other element types") later on.
19639
19640 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19641
19642         * docs/pwg/advanced-negotiation.xml:
19643         * docs/pwg/building-boiler.xml:
19644         * docs/pwg/building-pads.xml:
19645         * docs/pwg/pwg.xml:
19646         * examples/pwg/Makefile.am:
19647           Add a chapter on caps negotiation, simplify the original code
19648           samples a bit w.r.t. caps negotiation, add link to the advanced
19649           section. Add a bunch of examples showing different use cases of
19650           different types of caps negotiation. Upstream renegotiation isn't
19651           fully documented yet since nobody knows how that works.
19652
19653 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19654
19655         * check/gst/gstpad.c:
19656         * check/gstcheck.c:
19657         * gst/gstpad.c: (gst_pad_get_internal_links_default):
19658           if pad has no parent, return NULL as list of internal links
19659
19660 2005-07-05  Andy Wingo  <wingo@pobox.com>
19661
19662         * gst/elements/gstfilesrc.c:
19663         * gst/elements/gstfakesrc.c: 
19664         * gst/base/gstpushsrc.c:
19665         * gst/base/gstbasesrc.h: 
19666         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
19667         
19668 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
19669
19670         * Makefile.am:
19671           better report generation target (lcov needs a patch)
19672
19673 2005-07-05  Andy Wingo  <wingo@pobox.com>
19674
19675         * gst/elements, testsuite: Null if we got it...
19676
19677 2005-07-05  Wim Taymans  <wim@fluendo.com>
19678
19679         * configure.ac:
19680         * libs/gst/dataprotocol/Makefile.am:
19681         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
19682         * libs/gst/dataprotocol/dataprotocol.h:
19683         * pkgconfig/Makefile.am:
19684         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
19685         * pkgconfig/gstreamer-dataprotocol.pc.in:
19686         Ported dataprotol to 0.9. 
19687         Added pkgconfig files.
19688
19689 2005-07-05  Andy Wingo  <wingo@pobox.com>
19690
19691         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
19692         Default to returning TRUE for the case when tranform_caps returns
19693         a fixed caps, like for identity or volume.
19694
19695         * check/gst/gstbus.c (pound_bus_with_messages): 
19696         * check/gst/gstmessage.c (START_TEST): 
19697         * check/pipelines/simple_launch_lines.c (got_handoff): Application
19698         message API change.
19699
19700         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
19701         logic weaks here: always run transform_caps, trying passthrough
19702         operation only if the original caps intersects with the transform.
19703
19704         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
19705         source and sink caps.
19706
19707         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
19708         Intersect the peer caps with the pad template before going into
19709         transform_caps.
19710         (gst_base_transform_transform_caps): More debugging.
19711
19712         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
19713         src argument.
19714
19715 2005-07-04  Edward Hervey  <edward@fluendo.com>
19716
19717         * gst/gstutils.c:
19718         * gst/gstutils.h:
19719         (gst_pad_add_*_probe): now returns the signal id for better wrapping
19720         in bindings.
19721
19722 2005-07-04  Andy Wingo  <wingo@pobox.com>
19723
19724         * check/gst/gstpad.c: Only set explicit caps on pads.
19725
19726 2005-07-01  Andy Wingo  <wingo@pobox.com>
19727
19728         * tests/network-clock.scm: Commentary update.
19729
19730         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
19731         Didn't really make sense, not implementable with basetransform,
19732         etc.
19733         (gst_identity_transform): Unref inbuf via make_writable. Feeble
19734         attempt at implementing the sync property, needs an unlock method.
19735
19736         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
19737         New func, by default returns the same caps (the identity
19738         transformation).
19739         (gst_base_transform_getcaps): Uses transform_caps to return
19740         something sensible.
19741         (gst_base_transform_setcaps): Complicated logic to get caps on
19742         both pads, even if they are different, and to call set_caps once
19743         for every time both pads get their caps set.
19744         (gst_base_transform_handle_buffer): Give the ref to the transform
19745         function. Allows in-place modification of the buffer.
19746
19747         * gst/base/gstbasetransform.h (transform_caps): New class method.
19748         Given caps on one side, what can I do on the other.
19749         (set_caps): Take two caps, one for each side of the element.
19750
19751         * gst/gstpad.h:
19752         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
19753         caps in place. This is safe because we can check the mutability of
19754         the caps, and a good idea because fixate functions are just called
19755         as a matter of last resort. (Not actually implemented.)
19756         (gst_pad_set_caps): If the caps we're setting is actually the same
19757         as the existing pad caps, just update the pointer without calling
19758         setcaps. Assert that caps is either NULL or fixed, as per the
19759         docs.
19760
19761         * gst/gstghostpad.c: Update for fixate changes.
19762
19763 2005-07-02  Andy Wingo  <wingo@pobox.com>
19764
19765         * gst/gstcaps.c:
19766         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
19767         two refcounts makes it immutable, which is enough. Doc more.
19768
19769 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
19770
19771         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
19772           Put the mini_object into GValue as a mini_object,
19773           not a gpointer, since that's how we declared
19774           the signal.
19775
19776 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19777
19778         * examples/pwg/Makefile.am:
19779           Fix buildbot again.
19780
19781 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19782
19783         * docs/pwg/building-testapp.xml:
19784           Add extra check.
19785         * examples/pwg/Makefile.am:
19786           Fix buildbot.
19787
19788 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19789
19790         * configure.ac:
19791         * examples/Makefile.am:
19792         * examples/pwg/Makefile.am:
19793         * examples/pwg/extract.pl:
19794           Enable building the PWG examples.
19795         * docs/pwg/advanced-interfaces.xml:
19796           Add URI interface stub.
19797         * docs/pwg/advanced-types.xml:
19798         * docs/pwg/other-autoplugger.xml:
19799         * docs/pwg/appendix-porting.xml:
19800         * docs/pwg/pwg.xml:
19801           Add porting guide (mostly stubs), remove autoplugging (see ADM).
19802         * docs/pwg/building-boiler.xml:
19803         * docs/pwg/building-chainfn.xml:
19804         * docs/pwg/building-pads.xml:
19805         * docs/pwg/building-props.xml:
19806         * docs/pwg/building-state.xml:
19807         * docs/pwg/building-testapp.xml:
19808           Update the building-*.xml parts for 0.9 changes. All examples
19809           code blocks compile in examples/pwg/*.
19810
19811 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19812
19813         * docs/manual/advanced-autoplugging.xml:
19814         * docs/manual/appendix-checklist.xml:
19815         * docs/manual/appendix-integration.xml:
19816         * docs/manual/highlevel-components.xml:
19817           Fix playbin/decodebin examples, update docs a bit, mention bus
19818           instead of signals in various places, mention kmplayer and
19819           kaffeine since they have a working GStreamer backend in the KDE
19820           section.
19821
19822 2005-06-30  Wim Taymans  <wim@fluendo.com>
19823
19824         * CHANGES-0.9:
19825         * docs/design/draft-ghostpads.txt:
19826         * docs/design/draft-push-pull.txt:
19827         * docs/design/draft-query.txt:
19828         * docs/design/part-TODO.txt:
19829         * docs/design/part-query.txt:
19830         Added CHANGES-0.9 doc, updated status of other docs.
19831         
19832         * gst/gstquery.h:
19833         Remove "hmm" macro
19834
19835 2005-06-30  Wim Taymans  <wim@fluendo.com>
19836
19837         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19838         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19839         (gst_base_sink_change_state):
19840         * gst/base/gstbasesink.h:
19841         Some tweaks, only EOS and a buffer complete a preroll.
19842
19843 2005-06-30  Andy Wingo  <wingo@pobox.com>
19844
19845         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
19846         activate_push down to the internal pad as well.
19847
19848 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
19849
19850         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19851
19852         * gst/gsttaginterface.c:
19853           Some documentation fixes (#307394 and #307397).
19854
19855 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
19856
19857         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19858
19859         * gst/gstvalue.c: (gst_value_intersect_list):
19860           Fix memleak (#309125).
19861
19862 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19863
19864         * docs/manual/advanced-dataaccess.xml:
19865           Fix fakesrc example to compile; doesn't work, bug somewhere...?
19866         * docs/manual/basics-pads.xml:
19867           Add reference for filtered caps to above chapter.
19868
19869 2005-06-30  Wim Taymans  <wim@fluendo.com>
19870
19871         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
19872         (gst_bin_change_state):
19873         Probes are gone.
19874         Lame attempt at making the state change function a bit
19875         more readable.
19876
19877 2005-06-30  Wim Taymans  <wim@fluendo.com>
19878
19879         * docs/design/part-clocks.txt:
19880         * docs/design/part-element-sink.txt:
19881         * docs/design/part-events.txt:
19882         * docs/design/part-preroll.txt:
19883         * docs/design/part-states.txt:
19884         Some more tweeks and additions to the docs.
19885
19886 2005-06-30  Wim Taymans  <wim@fluendo.com>
19887
19888         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19889         (default_have_data), (gst_pad_class_init), (gst_pad_init),
19890         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19891         (gst_pad_check_pull_range), (gst_pad_get_range),
19892         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
19893         * gst/gstpad.h:
19894         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
19895         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19896         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19897         (gst_pad_remove_buffer_probe):
19898         Removed atomic operations, use existing LOCK.
19899         Move exception handling out of main code path.
19900
19901 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19902
19903         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19904         (silly_return_true_function), (gst_pad_class_init),
19905         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19906         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
19907         (gst_pad_send_event):
19908           Fix accumulator, add default value by using _emitv() instead
19909           of _emit() for signal emission.
19910
19911 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19912
19913         * docs/manual/advanced-dataaccess.xml:
19914         * examples/manual/Makefile.am:
19915           Add probe example.
19916         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
19917           Make work (??).
19918
19919 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
19920
19921         * gst/elements/gstfilesink.c: (gst_filesink_render):
19922           Simplify code so that we don't have to handle short
19923           writes and return GST_FLOW_ERROR if an error occured.
19924
19925 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19926
19927         * docs/gst/gstreamer-docs.sgml:
19928           Remove probes more.
19929
19930 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19931
19932         * docs/gst/gstreamer-sections.txt:
19933         * docs/gst/tmpl/gstpad.sgml:
19934         * docs/gst/tmpl/gstprobe.sgml:
19935         * gst/Makefile.am:
19936         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19937         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
19938         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
19939         (gst_pad_push_event), (gst_pad_send_event):
19940         * gst/gstpad.h:
19941         * gst/gstutils.c: (gst_pad_add_data_probe),
19942         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19943         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19944         (gst_pad_remove_buffer_probe):
19945         * gst/gstutils.h:
19946           Remove old probes, add new g-signal-based probes and some utility
19947           functions.
19948
19949 2005-06-29  Edward Hervey  <edward@fluendo.com>
19950
19951         * gst/gstelementfactory.c:
19952         * gst/gstutils.h:
19953         * gst/gstutils.c:
19954         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
19955         the definition to the header file.
19956
19957 2005-06-29  Andy Wingo  <wingo@pobox.com>
19958
19959         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
19960         plugins from the source directory.
19961
19962 2005-06-29  Wim Taymans  <wim@fluendo.com>
19963
19964         * docs/gst/tmpl/gstbuffer.sgml:
19965         * docs/gst/tmpl/gstclock.sgml:
19966         Some fixings for blantently wrong text.
19967
19968 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19969
19970         * check/Makefile.am:
19971         * gst/gst.c: (add_path_func), (init_pre):
19972         * gst/gstregistry.c: (gst_registry_add_path):
19973           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
19974           only scan the GST_PLUGIN_PATH locations, and not add
19975           system locations
19976
19977 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
19978
19979         * docs/gst/gstreamer-sections.txt:
19980         * docs/gst/tmpl/gstbasesrc.sgml:
19981         * gst/gstelement.c:
19982         * gst/gstelement.h:
19983         * gst/gstevent.c:
19984         * gst/gstutils.c:
19985           doc fixes
19986
19987 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19988
19989         * docs/manual/advanced-autoplugging.xml:
19990           Fix autoplugging example.
19991
19992 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19993
19994         * docs/manual/advanced-autoplugging.xml:
19995         * docs/manual/mime-world.fig:
19996           Try to get autoplugging working, fix type detection. Fix text
19997           in hello-world image.
19998
19999 2005-06-29  Wim Taymans  <wim@fluendo.com>
20000
20001         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20002         (gst_base_sink_change_state):
20003         Small debug line.
20004
20005         * gst/gstclock.h:
20006         map SIGNAL and BROADCAST to the right function.
20007
20008         * gst/gstobject.h:
20009         Remove redundant braces.
20010
20011         * gst/gstpad.c: (gst_pad_set_caps):
20012         Don't call setcaps function when reseting caps to NULL.
20013
20014         * gst/gstsystemclock.c: (gst_system_clock_dispose),
20015         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
20016         (gst_system_clock_id_unschedule):
20017         Use BROADCAST as this is what we do.
20018
20019 2005-06-29  Wim Taymans  <wim@fluendo.com>
20020
20021         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20022         We are actually prerolling before commiting the state
20023         change. 
20024
20025 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20026
20027         * docs/manual/advanced-clocks.xml:
20028         * docs/manual/advanced-interfaces.xml:
20029         * docs/manual/advanced-metadata.xml:
20030         * docs/manual/advanced-position.xml:
20031         * docs/manual/advanced-schedulers.xml:
20032         * docs/manual/advanced-threads.xml:
20033         * docs/manual/appendix-porting.xml:
20034         * docs/manual/basics-bins.xml:
20035         * docs/manual/basics-bus.xml:
20036         * docs/manual/basics-elements.xml:
20037         * docs/manual/basics-helloworld.xml:
20038         * docs/manual/basics-pads.xml:
20039         * docs/manual/highlevel-components.xml:
20040         * docs/manual/manual.xml:
20041         * docs/manual/thread.fig:
20042           Update (until threads/scheduling) Application Development Manual;
20043           remove GstThread, add GstBus, add simple porting checklist, add
20044           documentation for tag writing, clocks, make all examples until this
20045           part compile and run.
20046         * examples/manual/Makefile.am:
20047           Update from changes to Application Development Manual; add bus
20048           example, remove thread example.
20049
20050 2005-06-28  Wim Taymans  <wim@fluendo.com>
20051
20052         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
20053         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
20054         (gst_bus_source_dispatch):
20055         Add debugging messages.
20056         Make internal methods static.
20057         Handle the case where the bus is flushed in the handler.
20058         
20059         * gst/gstelement.c: (gst_element_get_bus):
20060         Fix refcount in _get_bus();
20061
20062         * gst/gstpipeline.c: (gst_pipeline_change_state),
20063         (gst_pipeline_get_clock_func):
20064         Clock refcounting fixes.
20065         Handle the case where preroll timed out more gracefully.
20066         
20067         * gst/gstsystemclock.c: (gst_system_clock_dispose):
20068         Clean up the internal thread in dispose. This is needed
20069         for subclasses that actually get disposed.
20070         
20071         * gst/schedulers/threadscheduler.c:
20072         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
20073         (gst_thread_scheduler_dispose):
20074         Free thread pool in dispose.
20075
20076 2005-06-28  Andy Wingo  <wingo@pobox.com>
20077
20078         * tests/network-clock-utils.scm (debug, print-event): New utils.
20079
20080         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
20081         (*packet-loss*): Unified loss probability.
20082         (network-time): Report out-of-band events.
20083
20084         * tests/plot-data: Add support for out-of-band events. Hack it
20085         into this script instead of passing it down the pipe; should fix
20086         this later.
20087
20088 2005-06-28  Wim Taymans  <wim@fluendo.com>
20089
20090         * docs/gst/gstreamer.types:
20091         * docs/gst/tmpl/gstbasesrc.sgml:
20092         * docs/gst/tmpl/gstpad.sgml:
20093         Docs fixes.
20094
20095 2005-06-28  Wim Taymans  <wim@fluendo.com>
20096
20097         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20098         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
20099         (gst_proxy_pad_do_fixatecaps):
20100         Correctly proxy the check_pull_range function.
20101
20102 2005-06-28  Andy Wingo  <wingo@pobox.com>
20103
20104         * tests/network-clock.scm: Removed need for slib.
20105         
20106 2005-06-28  Wim Taymans  <wim@fluendo.com>
20107
20108         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
20109         (gst_basesink_preroll_queue_flush):
20110         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
20111         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
20112         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20113         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
20114         (gst_proxy_pad_set_property):
20115         * gst/gstpad.c:
20116         * gst/gstpad.h:
20117         * gst/gstqueue.c: (gst_queue_init):
20118         The deprecated pad loop function is removed now.
20119
20120 2005-06-28  Andy Wingo  <wingo@pobox.com>
20121
20122         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
20123         New parameters, simulate network packet loss.
20124
20125         * tests/network-clock-utils.scm: Initialize the RNG.
20126
20127 2005-06-28  Wim Taymans  <wim@fluendo.com>
20128
20129         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
20130         (gst_basesink_event), (gst_basesink_deactivate):
20131         Flushing the preroll queue always needs to unlock the waiters.
20132
20133 2005-06-28  Edward Hervey  <edward@fluendo.com>
20134
20135         * gst/gstpipeline.c: (gst_pipeline_send_event): 
20136         Wheen a seek was successful on a pipeline, set the stream_time to the
20137         seek offset in order to have a synchronized stream_time.
20138
20139 2005-06-28  Wim Taymans  <wim@fluendo.com>
20140
20141         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20142         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
20143         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
20144         (gst_proxy_pad_do_fixatecaps):
20145         Call wrapper function instead of just calling the function
20146         pointers. This takes care of any locking and whatmore.
20147
20148 2005-06-28  Wim Taymans  <wim@fluendo.com>
20149
20150         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
20151         (gst_pad_pull_range):
20152         * gst/gstpad.h:
20153         CONNECTED -> LINKED.
20154
20155 2005-06-28  Andy Wingo  <wingo@pobox.com>
20156
20157         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
20158         source-munging commit!!!
20159
20160         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
20161         (gst_object_sink): Take gpointer arguments, not GstObject --
20162         avoids casts. Like GLib.
20163
20164         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
20165         activate.
20166
20167 2005-06-27  Andy Wingo  <wingo@pobox.com>
20168
20169         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
20170         remaining buffer.
20171
20172         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
20173         returns a sorted copy of the trace list.
20174         (gst_alloc_trace_print_live): New API, only prints traces with
20175         live objects. Sort the list.
20176         (gst_alloc_trace_print_all): Sort the list.
20177         (gst_alloc_trace_print): Align columns.
20178
20179         * gst/elements/gstttypefindelement.c:
20180         * gst/elements/gsttee.c:
20181         * gst/base/gstbasesrc.c:
20182         * gst/base/gstbasesink.c:
20183         * gst/base/gstbasetransform.c:
20184         * gst/gstqueue.c: Adapt for pad activation changes.
20185
20186         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
20187         sched.
20188         (gst_pipeline_dispose): Drop ref on sched.
20189
20190         * gst/gstpad.c (gst_pad_init): Set the default activate func.
20191         (gst_pad_activate_default): Push mode by default.
20192         (pre_activate_switch, post_activate_switch): New stubs, things to
20193         do before and after switching activation modes on pads.
20194         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
20195         the pad's activate function to choose which mode to activate.
20196         Shortcut on deactivation and call the right function directly.
20197         (gst_pad_activate_pull): New API, (de)activates a pad in pull
20198         mode.
20199         (gst_pad_activate_push): New API, same for push mode.
20200         (gst_pad_set_activate_function) 
20201         (gst_pad_set_activatepull_function) 
20202         (gst_pad_set_activatepush_function): Setters for new API.
20203
20204         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
20205         Trace all miniobjects.
20206         (gst_mini_object_make_writable): Unref the arg if we copy, like
20207         gst_caps_make_writable.
20208
20209         * gst/gstmessage.c (_gst_message_initialize): No trace init.
20210
20211         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
20212         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
20213         Adapt for new pad API.
20214
20215         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
20216
20217         * gst/gstelement.h:
20218         * gst/gstelement.c (gst_element_iterate_src_pads) 
20219         (gst_element_iterate_sink_pads): New API functions.
20220         
20221         * gst/gstelement.c (iterator_fold_with_resync): New utility,
20222         should fold into gstiterator.c in some form.
20223         (gst_element_pads_activate): Simplified via use of fold and
20224         delegation of decisions to gstpad->activate.
20225
20226         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
20227         help in debugging.
20228
20229         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
20230         class once in init, like gstmessage. Didn't run into this issue
20231         but it seems correct. Don't initialize a trace, gstminiobject does
20232         that.
20233
20234         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
20235         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
20236         to the bus.
20237         (assert_live_count): New util function, uses alloc traces to check
20238         cleanup.
20239
20240         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
20241         To be modified when unlink drops the internal pad.
20242
20243 2005-06-27  Wim Taymans  <wim@fluendo.com>
20244
20245         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
20246         (gst_bin_change_state):
20247         Cleanup the get_state() function a little, make sure it
20248         iterates the same set of elements.
20249         Added stub iterate_state_order().
20250
20251 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20252
20253         * docs/gst/gstreamer-docs.sgml:
20254         * docs/gst/gstreamer-sections.txt:
20255         * docs/gst/gstreamer.types:
20256         * docs/gst/tmpl/gstbasesink.sgml:
20257         * docs/gst/tmpl/gstbasesrc.sgml:
20258         * docs/gst/tmpl/gstbasetransform.sgml:
20259         * docs/gst/tmpl/gstelement.sgml:
20260         * docs/gst/tmpl/gstiterator.sgml:
20261         * gst/base/gstbasesrc.c:
20262         * gst/base/gstbasesrc.h:
20263         * gst/base/gstbasetransform.h:
20264         * gst/gstelement.c:
20265         * gst/gstiterator.h:
20266           adding basetransform and iterator docs
20267
20268 2005-06-27  Andy Wingo  <wingo@pobox.com>
20269
20270         * docs/design/part-activation.txt: Notes on how activation should
20271         work -- not quite implemented yet.
20272
20273 2005-06-25  Wim Taymans  <wim@fluendo.com>
20274
20275         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
20276         At least get the chain function correct, needs more
20277         fixing.
20278
20279 2005-06-25  Wim Taymans  <wim@fluendo.com>
20280
20281         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20282         (gst_basesink_handle_object), (gst_basesink_event),
20283         (gst_basesink_do_sync), (gst_basesink_handle_event),
20284         (gst_basesink_change_state):
20285         * gst/gsttask.h:
20286         Right, two problems here: ghostpads don't take locks and
20287         glib _rec_mutex_lock_full() with depth==0 still locks.
20288         Catch illegal locking and g_warn them.
20289
20290 2005-06-25  Wim Taymans  <wim@fluendo.com>
20291
20292         * check/states/sinks.c: (START_TEST), (gst_object_suite):
20293         Have to check for completion now...
20294
20295 2005-06-25  Wim Taymans  <wim@fluendo.com>
20296
20297         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20298         (gst_basesink_handle_object), (gst_basesink_event),
20299         (gst_basesink_do_sync), (gst_basesink_handle_event),
20300         (gst_basesink_change_state):
20301         * gst/gstpad.h:
20302         Unlock STREAM_LOCK whatever the recursion was.
20303
20304 2005-06-25  Wim Taymans  <wim@fluendo.com>
20305
20306         * gst/base/gstbasesink.c: (gst_basesink_set_property),
20307         (gst_basesink_preroll_queue_empty),
20308         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
20309         (gst_basesink_event), (gst_basesink_do_sync),
20310         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
20311         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
20312         (gst_basesink_change_state):
20313         Reworked the base sink, handle event and buffer serialisation
20314         correctly and removed possible deadlock.
20315         Handle EOS correctly.
20316
20317 2005-06-25  Wim Taymans  <wim@fluendo.com>
20318
20319         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
20320         (gst_pipeline_change_state):
20321         * tools/gst-launch.c: (check_intr), (event_loop), (main):
20322         Allow elements to post EOS in the state change function.
20323         Fix up -launch, make it exit the poll loop when the
20324         pipeline actually changed state.
20325         Fix up warning parsing in -launch.
20326
20327 2005-06-25  Wim Taymans  <wim@fluendo.com>
20328
20329         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
20330         (gst_tee_sink_activate):
20331         Core takes STREAM_LOCK for us now.
20332
20333 2005-06-25  Wim Taymans  <wim@fluendo.com>
20334
20335         * gst/gstelement.c: (gst_element_get_state_func),
20336         (gst_element_set_state):
20337         * gst/gstelement.h:
20338         * gst/gstmessage.c: (gst_message_parse_error),
20339         (gst_message_parse_warning):
20340         Keep track of current target state while performing a state
20341         change so that subclasses can do something interesting.
20342         Fix parsing of warning/error messages when GError is NULL.
20343
20344 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20345
20346         * docs/gst/Makefile.am:
20347         * docs/gst/gstreamer-docs.sgml:
20348         * docs/gst/gstreamer-sections.txt:
20349         * docs/gst/gstreamer.types:
20350         * docs/gst/tmpl/gstbasesink.sgml:
20351         * docs/gst/tmpl/gstbasesrc.sgml:
20352         * docs/gst/tmpl/gstbin.sgml:
20353         * docs/gst/tmpl/gstcompat.sgml:
20354         * docs/gst/tmpl/gstfakesink.sgml:
20355         * docs/gst/tmpl/gstfakesrc.sgml:
20356         * docs/gst/tmpl/gstfilesink.sgml:
20357         * docs/gst/tmpl/gstfilesrc.sgml:
20358         * docs/gst/tmpl/gstindex.sgml:
20359         * docs/manual/appendix-quotes.xml:
20360         * gst/base/gstbasesrc.h:
20361         * gst/elements/gstfakesrc.h:
20362         * gst/gstmessage.h:
20363           start pulling in base classes and elements in our docs
20364
20365 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
20366
20367         * docs/gst/Makefile.am:
20368         * docs/libs/Makefile.am:
20369           fixed make distcheck with gtk-doc 1.3
20370
20371 2005-06-23  Wim Taymans  <wim@fluendo.com>
20372
20373         * gst/gstelement.c: (gst_element_get_state_func),
20374         (gst_element_set_state), (gst_element_change_state):
20375         When the state did not change, also report NO_PREROLL
20376         when it matters.
20377
20378 2005-06-23  Wim Taymans  <wim@fluendo.com>
20379
20380         * gst/gstpad.c: (gst_pad_event_default):
20381         * gst/gstqueue.c: (gst_queue_loop):
20382         No unsafe task pausing please.
20383
20384 2005-06-23  Wim Taymans  <wim@fluendo.com>
20385
20386         * gst/schedulers/threadscheduler.c:
20387         (gst_thread_scheduler_task_start),
20388         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
20389         Ref the task before pushing it on the threadpool. This
20390         makes sure that we have a ref when the threadfunction is
20391         actually called.
20392
20393 2005-06-23  Andy Wingo  <wingo@pobox.com>
20394
20395         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
20396         offset is greater than the file's size.
20397
20398         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
20399         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
20400         * gst/gstobject.c (gst_object_class_init): Make the class lock
20401         recursive. Wim won't let me drop deep_notify. Decodebin works
20402         again, whoopdy doo.
20403
20404         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
20405         internal pad, and hacks accordingly. Doesn't do it on the target
20406         pad because we change its caps. Probably catches all cases of
20407         interest tho.
20408         (gst_ghost_pad_set_property): Connect to notify::caps as
20409         appropritate.
20410
20411         * tests/network-clock.scm (plot-simulation): Pipe data to the
20412         elite python skript.
20413
20414         * tests/network-clock-utils.scm (define-parameter): New macro,
20415         defines a parameter that can be set via the command line.
20416         (set-parameter!, parse-parameter-arguments): Command line args
20417         parser.
20418
20419         * tests/plot-data: Simple matplotlib-based plotter, takes input on
20420         stdin.
20421
20422 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
20423
20424         * gst/elements/gsttypefindelement.c:
20425         (gst_type_find_element_handle_event):
20426           Don't restart typefinding on a discont.
20427         * gst/gstelement.c: (gst_element_set_state):
20428           Debug spelling fix.
20429         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
20430           Allow changing mode of an active pad.
20431           Debug output fixes.
20432         * gst/registries/gstlibxmlregistry.c: (load_feature):
20433           Don't cast a static pad template to a normal pad template.
20434
20435 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20436
20437         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20438         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20439           remove gst_strtoll completely, since it didn't actually do
20440           anything more than what g_ascii_strtoull already does.
20441           check for range errors when deserializing
20442           do a cast for the unsigned cases; but further fixing needs
20443           a decision on what the interpretation of "(int)" and
20444           deserialization should be for values that fall outside the
20445           type's boundaries (ie, refuse, or interpret as casting)
20446
20447 2005-06-23  Wim Taymans  <wim@fluendo.com>
20448
20449         * check/Makefile.am:
20450         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
20451         * docs/design/part-live-source.txt:
20452         * docs/design/part-states.txt:
20453         * gst/base/gstbasesrc.c: (gst_basesrc_init),
20454         (gst_basesrc_set_live), (gst_basesrc_is_live),
20455         (gst_basesrc_get_range), (gst_basesrc_activate),
20456         (gst_basesrc_change_state):
20457         * gst/base/gstbasesrc.h:
20458         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20459         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
20460         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
20461         * gst/gstelement.c: (gst_element_get_state_func),
20462         (gst_element_set_state):
20463         * gst/gstelement.h:
20464         * gst/gsttypes.h:
20465         * tools/gst-launch.c: (event_loop), (main):
20466         Added support for live sources and other elements that
20467         cannot do preroll.
20468         Updated design docs, added live-source design doc.
20469         Implemented live source functionality in basesrc
20470         Fix error condition in _bin_get_state()
20471         Implement live source handling in -launch.
20472         Added check for live sources.
20473         Fixed case in GstBin where elements were changed state
20474         multiple times.
20475
20476
20477 2005-06-23  Andy Wingo  <wingo@pobox.com>
20478
20479         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
20480         borken refcounting.
20481
20482         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
20483         gst_caps_replace takes care of this for us.
20484
20485         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
20486         gst_pad_set_caps on the target, not just its setcaps() function.
20487
20488         * tests/network-clock.scm: 
20489         * tests/network-clock-utils.scm: A network clock simulator.
20490         Something of an algorithmic testbed before doing something in C.
20491
20492 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20493
20494         * check/Makefile.am:
20495         * check/gst/capslist.h:
20496           copy over from 0.8, and add two with bitmasks specified with
20497           (int) 0xFF...
20498         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20499           add test to parse everything from capslist.h
20500         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
20501         (main):
20502           add test for structure deserialization
20503         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20504           add tests for deserialization of strings to int types
20505         * gst/gststructure.c: (gst_structure_nth_field_name):
20506         * gst/gststructure.h:
20507           add a way to get the name of a field referenced by index
20508         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20509           instead of checking if the resulting long long lies between
20510           min and max, we check if the long long would fit into
20511           a number of bytes for the final type.
20512           This fixes cases where a string represents 2^32 - 1, which
20513           when cast to int would be the (valid) -1, but is bigger than
20514           G_MAXINT
20515
20516 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20517
20518         * gst/parse/grammar.y:
20519           add a log line for type deserialization
20520
20521 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20522
20523         * check/gst/gstvalue.c: (START_TEST):
20524         * gst/gstvalue.c: (gst_value_deserialize):
20525           return long long, not int, so gint64 deserialization actually
20526           works.  Is there any flag that makes the compiler check this ?
20527           Fixes #308559
20528
20529 2005-06-22  Wim Taymans  <wim@fluendo.com>
20530
20531         * gst/gstbuffer.h:
20532         Added convenience macros for setting buffers in GValue.
20533
20534 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20535
20536         * check/gst/.cvsignore:
20537         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20538           add a test deserializing int64, and comment part out because
20539           it fails, yay !
20540
20541 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20542
20543         * check/Makefile.am:
20544         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
20545         * testsuite/Makefile.am:
20546         * testsuite/caps/Makefile.am:
20547         * testsuite/caps/value_serialize.c:
20548         * testsuite/test_gst_init.c:
20549           move a value_serialize test over
20550
20551 2005-06-20  Wim Taymans  <wim@fluendo.com>
20552
20553         * gst/gstpad.c:
20554         Small doc updates.
20555         
20556         * gst/gstvalue.c: (gst_value_compare_buffer),
20557         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
20558         (gst_value_compare_flags), (gst_value_serialize_flags),
20559         (gst_value_deserialize_flags), (_gst_value_initialize):
20560         Fix serialisation of buffers, they are not boxed types anymore
20561
20562 2005-06-20  Wim Taymans  <wim@fluendo.com>
20563
20564         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20565         Testcase to show error in buffer-on-caps serialisation.
20566
20567 2005-06-20  Andy Wingo  <wingo@pobox.com>
20568
20569         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
20570         will be adding to later.
20571
20572         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
20573         if its socks fill with rocks.
20574         (gst_system_clock_obtain): Set the name on object construction.
20575         Avoid double-checked locking.
20576
20577 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
20578
20579         * gst/gsturi.c: (gst_element_make_from_uri):
20580           Fix potential endless loop.
20581
20582 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20583
20584         * check/Makefile.am:
20585           add gsttag
20586         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
20587         (main):
20588           move over from testsuite dir and clean up
20589         * configure.ac:
20590         * gst/gsttag.c:
20591         * testsuite/Makefile.am:
20592         * testsuite/tags/.cvsignore:
20593         * testsuite/tags/Makefile.am:
20594         * testsuite/tags/merge.c:
20595           remove testsuite/tags
20596
20597 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20598
20599         * docs/gst/gstreamer-sections.txt:
20600         * docs/gst/tmpl/gstenumtypes.sgml:
20601         * win32/gstenumtypes.c:
20602           clean up documentation build a little
20603
20604 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20605
20606         * check/gstcheck.h:
20607           add macros for checking refcounts on objects and caps
20608         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
20609           add some more unit tests
20610         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
20611         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
20612           fix leaked refcounts (I hope :)) so unittest works
20613         * gst/gstpad.h:
20614           whitespace removal
20615
20616 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20617
20618         * configure.ac: back to HEAD
20619
20620 === release 0.9.1 ===
20621
20622 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20623
20624         * NEWS:
20625         * RELEASE:
20626           updated
20627
20628 2005-06-17  Andy Wingo  <wingo@pobox.com>
20629
20630         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
20631         assert; it's always possible that the pad gets deactivated in
20632         between the checks in gstpad.c and the implementation. Rely on
20633         finish_preroll() to return a FLUSHING or similar instead of on the
20634         assert.
20635         
20636         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
20637         clock and post an EOS message if we come out of finish_preroll in
20638         the playing state.
20639
20640 2005-06-16  David Schleef  <ds@schleef.org>
20641
20642         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
20643         (gst_capsfilter_set_property): Allow NULL as possible value
20644         for filter_caps property, indicating GST_CAPS_ANY.
20645
20646 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20647
20648         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
20649           fix debug output
20650         * gst/schedulers/Makefile.am:
20651           use libgst prefix
20652         * gstreamer.spec.in:
20653           fix spec for it
20654
20655 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20656
20657         * gstreamer.spec.in:
20658           clean up
20659
20660 2005-06-08  Andy Wingo  <wingo@pobox.com>
20661
20662         * gst/gstutils.c: RPAD fixes all around.
20663         (gst_element_link_pads): Refcounting fixes.
20664
20665         * tools/gst-inspect.c:
20666         * tools/gst-xmlinspect.c:
20667         * parse/grammar.y:
20668         * gst/base/gsttypefindhelper.c:
20669         * gst/base/gstbasesink.c:
20670         * gst/gstqueue.c: RPAD fixes.
20671
20672         * gst/gstghostpad.h:
20673         * gst/gstghostpad.c: New ghost pad implementation as full proxy
20674         pads. The tricky thing is they provide both source and sink
20675         interfaces, since they proxy the internal pad for the external
20676         pad, and vice versa. Implement with lower-level ProxyPad objects,
20677         with the interior proxy pad as a child of the exterior ghost pad.
20678         Should write a doc on this.
20679         
20680         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
20681         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
20682         gst_object API.
20683         
20684         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
20685         pads are real pads. No ghost pads in this file. Not documenting
20686         the myriad s/RPAD/PAD/ and REALIZE fixes.
20687         (gst_pad_class_init): Add properties for "direction" and
20688         "template". Both are construct-only, so they can't change during
20689         the life of the pad. Fixes properly deriving from GstPad.
20690         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
20691         derived objects, just set properties when creating the objects via
20692         g_object_new.
20693         (gst_pad_get_parent): Implement as a function, return NULL if the
20694         parent is not an element.
20695         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
20696         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
20697         
20698         * gst/gstobject.c (gst_object_class_init): Make name a construct
20699         property. Don't set it in the object init.
20700
20701         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
20702         with UNKNOWN direction.
20703         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
20704         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
20705         (gst_element_remove_pad): Remove ghost-pad special cases.
20706         (gst_element_pads_activate): Remove rpad cruft.
20707
20708         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
20709         catch the pad's-parent-not-an-element case.
20710
20711         * gst/gst.h: Include gstghostpad.h.
20712
20713         * gst/gst.c (init_post): No more real, ghost pads.
20714
20715         * gst/Makefile.am: Add gstghostpad.[ch].
20716
20717         * check/Makefile.am:
20718         * check/gst/gstbin.c:
20719         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
20720         into a bin creates ghost pads, and that the refcounts are right.
20721         Partly moved from gstbin.c.
20722
20723 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20724
20725         * check/gst-libs/.cvsignore:
20726         * check/gst/.cvsignore:
20727         * check/pipelines/.cvsignore:
20728           ignore more
20729         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
20730         (START_TEST), (cleanup_suite), (main):
20731           add some tests related to cleanup after running pipelines
20732
20733 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20734
20735         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
20736           add a testsuite for GstBuffer
20737
20738 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20739
20740         * gst/gstminiobject.h:
20741           add defines for accessing the refcount
20742
20743 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
20744
20745         * Makefile.am: added support for html unit test coverage reports
20746
20747 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
20748
20749         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20750           Free existing caps if the capsfilter changes. Add a FIXME about
20751           setting those caps on the pads.
20752
20753         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
20754           Before adding a ghost pad to a parent bin, check that there isn't
20755           already one for the element on the bin. Prevents infinite recursion
20756           when using decodebin in parse pipelines. Andy says he'll rewrite the
20757           way this works anyway, so ignore the hack.
20758
20759 2005-06-02  Andy Wingo  <wingo@pobox.com>
20760
20761         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
20762         file size, pass it on to the type find helper.
20763
20764         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
20765         segment_start and segment_end properly according to the seek
20766         method. Segment_end is still a bit flaky because offset can be
20767         negative for CUR and END cases, but it takes -1 as an "unset"
20768         value.
20769
20770 2005-06-02  Wim Taymans  <wim@fluendo.com>
20771
20772         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
20773         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
20774         (gst_basesink_activate):
20775         * gst/base/gstbasesink.h:
20776         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20777         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20778         (gst_pad_query), (gst_pad_start_task):
20779         * gst/gstpad.h:
20780         * gst/gstqueue.c: (gst_queue_bufferalloc),
20781         (gst_queue_handle_sink_event), (gst_queue_chain):
20782         Bufferalloc: return GstFlowReturn to more accuratly report
20783         why allocation failed.
20784
20785 2005-06-02  Wim Taymans  <wim@fluendo.com>
20786
20787         * gst/gstpipeline.c: (gst_pipeline_send_event):
20788         Take snapshot of state without blocking.
20789
20790 2005-06-02  Wim Taymans  <wim@fluendo.com>
20791
20792         * docs/design/part-TODO.txt:
20793         * docs/design/part-caps.txt:
20794         * docs/design/part-clocks.txt:
20795         * docs/design/part-negotiation.txt:
20796         * docs/design/part-preroll.txt:
20797         Small doc updates 
20798
20799 2005-05-30  Wim Taymans  <wim@fluendo.com>
20800
20801         * gst/elements/gstidentity.c: (gst_identity_event),
20802         (gst_identity_transform), (gst_identity_get_property):
20803         Protect last_message property as it is accessed from
20804         multiple threads.
20805
20806 2005-05-30  Wim Taymans  <wim@fluendo.com>
20807
20808         * gst/gstelement.c: (gst_element_init),
20809         (gst_element_pads_activate), (gst_element_change_state):
20810         Slicker pad activation code.
20811
20812 2005-05-30  Wim Taymans  <wim@fluendo.com>
20813
20814         * gst/Makefile.am:
20815         * gst/gstelement.h:
20816         * gst/gstelementfactory.h:
20817         * gst/gsttypes.h:
20818         Move elementfactory methods to separate .h file.
20819
20820 2005-05-30  Wim Taymans  <wim@fluendo.com>
20821
20822         * docs/design/part-overview.txt:
20823         * gst/gstsystemclock.h:
20824         Small typo fixes, doc updates.
20825
20826 2005-05-30  Wim Taymans  <wim@fluendo.com>
20827
20828         * gst/gst.c: (gst_init_get_popt_table), (init_post),
20829         (init_popt_callback):
20830         Remove cpu-opt flag.
20831
20832 2005-05-30  Wim Taymans  <wim@fluendo.com>
20833
20834         * gst/gstbuffer.c: (gst_subbuffer_finalize),
20835         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
20836         * gst/gstbuffer.h:
20837         Avoid typechecking in places where not needed.
20838         Added accessor for malloc_data.
20839
20840 2005-05-30  Wim Taymans  <wim@fluendo.com>
20841
20842         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
20843         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
20844         (gst_pad_configure_sink), (gst_pad_configure_src),
20845         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
20846         (gst_pad_start_task):
20847         Propagate errors from _set_caps() in configure_src/sink
20848         functions instead of returning TRUE.
20849         FLUSH events can travel up and downstream
20850
20851
20852 2005-05-30  Wim Taymans  <wim@fluendo.com>
20853
20854         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20855         (gst_basesink_activate):
20856         Handle EOS in preroll.
20857
20858 2005-05-30  Wim Taymans  <wim@fluendo.com>
20859
20860         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20861         (gst_queue_loop), (gst_queue_handle_src_event):
20862         Remove old pieces of code
20863         Flushing the queue in an upstream event is a very bad idea.
20864
20865 2005-05-26  Andy Wingo  <wingo@pobox.com>
20866
20867         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
20868         gst_value_set_mini_object so as to add a ref on the object (which
20869         will be removed when the value is unset).
20870
20871         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
20872         arg type in ::handoff.
20873
20874         * gst/gstelement.c (gst_element_change_state): Also deactivate
20875         pads in READY->NULL, just in case the element didn't make it to
20876         PAUSED. Wingo tested, Wim approved.
20877
20878 2005-05-26  Wim Taymans  <wim@fluendo.com>
20879
20880         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20881         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20882         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
20883         A flushing pad cannot be used to alloc_buffer from.
20884
20885 2005-05-26  Wim Taymans  <wim@fluendo.com>
20886
20887         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
20888         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
20889         (gst_bus_source_dispatch), (gst_bus_source_finalize),
20890         (gst_bus_create_watch), (gst_bus_add_watch_full):
20891         * gst/gstbus.h:
20892         Implement a real GSource and use g_main_context_wakeup() to
20893         signal new messages instead of the socketpair.
20894
20895 2005-05-25  Wim Taymans  <wim@fluendo.com>
20896
20897         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
20898         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
20899         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20900         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20901         (gst_pad_send_event), (gst_pad_start_task):
20902         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
20903         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
20904         (gst_queue_sink_activate), (gst_queue_src_activate),
20905         (gst_queue_change_state):
20906         * gst/gstqueue.h:
20907         Fix state changes for non sinks. We now change sinks, then elements
20908         with unconnected srcpads, then the rest.
20909         More efficient queue unlocking in flush and state changes.
20910         Set the pad activate mode even if it does not have an activate
20911         function.
20912
20913 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20914
20915         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
20916           Don't go in pull mode for non-seekable sources.
20917         * gst/elements/gsttypefindelement.h:
20918         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
20919         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
20920         (free_entry), (stop_typefinding),
20921         (gst_type_find_element_handle_event), (find_peek),
20922         (gst_type_find_element_chain), (do_pull_typefind),
20923         (gst_type_find_element_change_state):
20924           Allow typefinding (w/o seeking) in push-mode, simplified version
20925           of what was in 0.8.
20926         * gst/gstutils.c: (gst_buffer_join):
20927         * gst/gstutils.h:
20928           gst_buffer_join() from 0.8.
20929
20930 2005-05-25  Wim Taymans  <wim@fluendo.com>
20931
20932         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20933         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20934         (gst_pad_send_event), (gst_pad_start_task):
20935         Disable attempt at mode switching until it is figured out.
20936
20937 2005-05-25  Wim Taymans  <wim@fluendo.com>
20938
20939         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
20940         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20941         (gst_basesink_finish_preroll), (gst_basesink_chain),
20942         (gst_basesink_loop), (gst_basesink_activate),
20943         (gst_basesink_change_state):
20944         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
20945         (gst_basesrc_get_range), (gst_basesrc_loop),
20946         (gst_basesrc_activate):
20947         * gst/elements/gsttee.c: (gst_tee_sink_activate):
20948         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20949         (gst_real_pad_init), (gst_real_pad_set_property),
20950         (gst_real_pad_get_property), (gst_pad_set_active),
20951         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
20952         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
20953         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
20954         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
20955         (gst_pad_event_default_dispatch), (gst_pad_event_default),
20956         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
20957         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
20958         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
20959         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
20960         (gst_pad_stop_task):
20961         * gst/gstpad.h:
20962         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20963         (gst_queue_loop), (gst_queue_src_activate):
20964         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
20965         (gst_task_get_state):
20966         * gst/gsttask.h:
20967         * gst/schedulers/threadscheduler.c:
20968         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
20969         Implement gst_pad_pause/start/stop_task(), take STREAM lock
20970         in task function.
20971         Remove ACTIVE pad flag, use FLUSHING everywhere
20972         Added _pad_chain(), _pad_get_range() to call chain/getrange 
20973         functions.
20974         Add locks around IS_FLUSHING when reading.
20975         Take STREAM lock in chain(), get_range() functions so plugins
20976         don't need to take it anymore.
20977         
20978
20979
20980 2005-05-25  Wim Taymans  <wim@fluendo.com>
20981
20982         * tools/gst-launch.c: (event_loop):
20983         Unref message after using its contents instead of
20984         before.
20985
20986 2005-05-24  Wim Taymans  <wim@fluendo.com>
20987
20988         * docs/design/draft-ghostpads.txt:
20989         * docs/design/draft-push-pull.txt:
20990         * docs/design/draft-query.txt:
20991         * docs/design/part-overview.txt:
20992         Docs updates, added general overview doc.
20993
20994 2005-05-21  David Schleef  <ds@schleef.org>
20995
20996         * docs/gst/tmpl/old/GstBin.sgml:
20997         * docs/gst/tmpl/old/GstBuffer.sgml:
20998         * docs/gst/tmpl/old/GstCaps.sgml:
20999         * docs/gst/tmpl/old/GstClock.sgml:
21000         * docs/gst/tmpl/old/GstCompat.sgml:
21001         * docs/gst/tmpl/old/GstData.sgml:
21002         * docs/gst/tmpl/old/GstElement.sgml:
21003         * docs/gst/tmpl/old/GstEvent.sgml:
21004         * docs/gst/tmpl/old/GstIndex.sgml:
21005         * docs/gst/tmpl/old/GstStructure.sgml:
21006         * docs/gst/tmpl/old/GstTag.sgml:
21007         * docs/gst/tmpl/old/cothreads.sgml:
21008         * docs/gst/tmpl/old/cothreads_compat.sgml:
21009         * docs/gst/tmpl/old/gettext.sgml:
21010         * docs/gst/tmpl/old/gobject2gtk.sgml:
21011         * docs/gst/tmpl/old/grammar.tab.sgml:
21012         * docs/gst/tmpl/old/gst-i18n-app.sgml:
21013         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
21014         * docs/gst/tmpl/old/gst_private.sgml:
21015         * docs/gst/tmpl/old/gstaggregator.sgml:
21016         * docs/gst/tmpl/old/gstarch.sgml:
21017         * docs/gst/tmpl/old/gstatomic_impl.sgml:
21018         * docs/gst/tmpl/old/gstbufferstore.sgml:
21019         * docs/gst/tmpl/old/gstdata_private.sgml:
21020         * docs/gst/tmpl/old/gstdisksink.sgml:
21021         * docs/gst/tmpl/old/gstdisksrc.sgml:
21022         * docs/gst/tmpl/old/gstelementfactory.sgml:
21023         * docs/gst/tmpl/old/gstextratypes.sgml:
21024         * docs/gst/tmpl/old/gstfakesink.sgml:
21025         * docs/gst/tmpl/old/gstfakesrc.sgml:
21026         * docs/gst/tmpl/old/gstfdsink.sgml:
21027         * docs/gst/tmpl/old/gstfdsrc.sgml:
21028         * docs/gst/tmpl/old/gstfilesink.sgml:
21029         * docs/gst/tmpl/old/gstfilesrc.sgml:
21030         * docs/gst/tmpl/old/gsthttpsrc.sgml:
21031         * docs/gst/tmpl/old/gstidentity.sgml:
21032         * docs/gst/tmpl/old/gstindexfactory.sgml:
21033         * docs/gst/tmpl/old/gstmarshal.sgml:
21034         * docs/gst/tmpl/old/gstmd5sink.sgml:
21035         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
21036         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
21037         * docs/gst/tmpl/old/gstpadtemplate.sgml:
21038         * docs/gst/tmpl/old/gstpipefilter.sgml:
21039         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
21040         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
21041         * docs/gst/tmpl/old/gstshaper.sgml:
21042         * docs/gst/tmpl/old/gstspider.sgml:
21043         * docs/gst/tmpl/old/gstspideridentity.sgml:
21044         * docs/gst/tmpl/old/gststatistics.sgml:
21045         * docs/gst/tmpl/old/gsttee.sgml:
21046         * docs/gst/tmpl/old/gsttimecache.sgml:
21047         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
21048         * docs/gst/tmpl/old/gstxmlregistry.sgml:
21049         * docs/gst/tmpl/old/gthread-cothreads.sgml:
21050         * docs/gst/tmpl/old/types.sgml:
21051           I didn't intend to add these or check them in.
21052
21053 2005-05-19  David Schleef  <ds@schleef.org>
21054
21055         * configure.ac: Use -no-common everywhere.  In a sane world, it
21056           would be the default in libtool, because without it, you can't
21057           build DLLs on Windows.
21058         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
21059         * docs/gst/gstreamer-sections.txt:
21060         * docs/gst/tmpl/gstcpu.sgml:
21061         * docs/gst/tmpl/gstdata.sgml:
21062         * docs/gst/tmpl/gstthread.sgml:
21063
21064 2005-05-19  David Schleef  <ds@schleef.org>
21065
21066         * gst/gstminiobject.c: (gst_value_set_mini_object),
21067         (gst_value_take_mini_object), (gst_value_get_mini_object):
21068         * gst/gstminiobject.h: Add GValue set/get functions.
21069
21070 2005-05-19  Wim Taymans  <wim@fluendo.com>
21071
21072         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
21073         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
21074         (gst_subbuffer_init), (gst_buffer_is_span_fast):
21075         * gst/gstbuffer.h:
21076         * gst/gstbus.c: (gst_bus_post):
21077         * gst/gstelement.c: (gst_element_get_random_pad):
21078         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
21079         Make subbufer unref the parent in finalize.
21080         some more debugging info.
21081
21082
21083 2005-05-19  Wim Taymans  <wim@fluendo.com>
21084
21085         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21086         (gst_basesink_init), (gst_basesink_finalize),
21087         (gst_basesink_activate), (gst_basesink_change_state):
21088         Don't free preroll queue too early.
21089
21090 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21091
21092         * gst/Makefile.am:
21093         * gst/ROADMAP:
21094           Hi, I'm outdated. Please shoot me.
21095
21096 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21097
21098         * gst/gstpipeline.c: (gst_pipeline_send_event):
21099           Do not access variables after they have been deleted.
21100
21101 2005-05-19  Wim Taymans  <wim@fluendo.com>
21102
21103         * tools/gst-inspect.c: (print_plugin_features):
21104         A plugin feature does unfortunatly not use the
21105         object name yet...
21106
21107 2005-05-18  Wim Taymans  <wim@fluendo.com>
21108
21109         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
21110         Port _span() functions to new subbuffers.
21111
21112 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21113
21114         * gst/gstbin.c: (gst_bin_add_func):
21115           Fix clock settery in bins when adding kids after the clock has
21116           been selected.
21117
21118 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21119
21120         * gst/elements/gstidentity.c: (gst_identity_class_init):
21121           Workaround until signals support GstMiniObject.
21122
21123 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
21124
21125         * gst/gstbuffer.c:
21126         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
21127
21128 2005-05-18  Wim Taymans  <wim@fluendo.com>
21129
21130         * gst/base/Makefile.am:
21131         * gst/base/gstadapter.c: (gst_adapter_base_init),
21132         (gst_adapter_class_init), (gst_adapter_init),
21133         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
21134         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
21135         (gst_adapter_flush), (gst_adapter_available),
21136         (gst_adapter_available_fast):
21137         * gst/base/gstadapter.h:
21138         Ported and added adapter to the base classes.
21139
21140 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21141
21142         * gst/gst.c:
21143         * gst/gstmessage.c:
21144           Make sure the class is reffed/unreffed once before threads can be
21145           used.  Fixes #304551.
21146
21147 2005-05-17  Wim Taymans  <wim@fluendo.com>
21148
21149         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
21150         (gst_basesink_chain_unlocked), (gst_basesink_activate):
21151         * gst/gstminiobject.c: (gst_mini_object_get_type),
21152         (gst_mini_object_free):
21153         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
21154         (gst_pad_push), (gst_pad_push_event):
21155         * gst/gstqueue.c: (gst_queue_change_state):
21156         Don't queue buffers in basesink when we are flushing.
21157         Unref buffer when flushing in basesink.
21158         Flush queue when going to READY
21159         Unref buffer when _push() returns an error.
21160         Don't free MiniObject instance when refcount is incremented
21161         in _finalize() so that we can recover objects.
21162
21163 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21164
21165         * docs/manual/advanced-schedulers.xml:
21166         * docs/manual/appendix-checklist.xml:
21167         * docs/pwg/advanced-clock.xml:
21168         * docs/pwg/advanced-interfaces.xml:
21169         * docs/pwg/advanced-request.xml:
21170         * docs/pwg/advanced-types.xml:
21171         * docs/pwg/intro-preface.xml:
21172         * examples/plugins/example.c: (gst_example_get_type),
21173         (gst_example_class_init), (gst_example_chain),
21174         (gst_example_set_property), (gst_example_get_property),
21175         (gst_example_change_state), (plugin_init):
21176         * examples/plugins/example.h:
21177           small doc fixes
21178
21179 2005-05-17  Wim Taymans  <wim@fluendo.com>
21180
21181         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
21182         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
21183         * gst/gstqueue.c: (gst_queue_change_state):
21184         Clear queue when going to READY.
21185         Remove IN_SETCAPS flag too.
21186
21187 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
21188
21189         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
21190           Remove implicit cast from gboolean to GstElementStateReturn;
21191           make sure we still return failure in paused => ready case if
21192           the parent class fails to change state and our own stop 
21193           vfunc succeeds.
21194
21195 2005-05-17  Wim Taymans  <wim@fluendo.com>
21196
21197         * tools/gst-launch.c: (event_loop):
21198         Message was unreffed too soon.
21199
21200 2005-05-16  Andy Wingo  <wingo@pobox.com>
21201
21202         * gst/gstbin.c (sink_iterator_filter): Err... um...
21203
21204         * check/gst/gstbin.c (test_ghost_pads): New test for the
21205         ghosting-if-elements-not-in-same-bin behavior.
21206
21207 2005-05-16  David Schleef  <ds@schleef.org>
21208
21209         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
21210         accessing refcount directly.
21211
21212 2005-05-15  David Schleef  <ds@schleef.org>
21213
21214         * check/Makefile.am: remove GstData checks
21215         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
21216         * gst/Makefile.am: add miniobject, remove data
21217         * gst/gst.h: add miniobject, remove data
21218         * gst/gstdata.c: remove
21219         * gst/gstdata.h: remove
21220         * gst/gstdata_private.h: remove
21221         * gst/gsttypes.h: remove GstEvent and GstMessage
21222         * gst/gstelement.c: (gst_element_post_message): fix for API changes
21223         * gst/gstmarshal.list: change BOXED -> OBJECT
21224
21225         Implement GstMiniObject.
21226         * gst/gstminiobject.c:
21227         * gst/gstminiobject.h:
21228
21229         Modify to be subclasses of GstMiniObject.
21230         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
21231         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
21232         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
21233         (gst_subbuffer_get_type), (gst_subbuffer_init),
21234         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
21235         (gst_buffer_span):
21236         * gst/gstbuffer.h:
21237         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
21238         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
21239         (_gst_event_copy), (gst_event_new):
21240         * gst/gstevent.h:
21241         * gst/gstmessage.c: (_gst_message_initialize),
21242         (gst_message_get_type), (gst_message_class_init),
21243         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
21244         (gst_message_new), (gst_message_new_error),
21245         (gst_message_new_warning), (gst_message_new_tag),
21246         (gst_message_new_state_changed), (gst_message_new_application):
21247         * gst/gstmessage.h:
21248         * gst/gstprobe.c: (gst_probe_perform),
21249         (gst_probe_dispatcher_dispatch):
21250         * gst/gstprobe.h:
21251         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
21252         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
21253         (_gst_query_copy), (gst_query_new):
21254
21255         Update elements for GstData -> GstMiniObject changes
21256         * gst/gstquery.h:
21257         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
21258         (gst_queue_chain), (gst_queue_loop):
21259         * gst/elements/gstbufferstore.c:
21260         (gst_buffer_store_add_buffer_func),
21261         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
21262         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21263         (gst_fakesink_render):
21264         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
21265         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
21266         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
21267         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
21268         (gst_filesrc_create_read):
21269         * gst/elements/gstidentity.c: (gst_identity_class_init):
21270         * gst/elements/gsttypefindelement.c:
21271         (gst_type_find_element_src_event), (free_entry_buffers),
21272         (gst_type_find_element_handle_event):
21273         * libs/gst/dataprotocol/dataprotocol.c:
21274         (gst_dp_header_from_buffer):
21275         * libs/gst/dataprotocol/dataprotocol.h:
21276         * libs/gst/dataprotocol/dp-private.h:
21277
21278 2005-05-15  David Schleef  <ds@schleef.org>
21279
21280         * gst/elements/gstelements.c: Don't include headers that were
21281         just removed.
21282
21283 2005-05-15  David Schleef  <ds@schleef.org>
21284
21285         * gst/elements/Makefile.am: Remove some elements that don't
21286         need to be in the core (or even exist at all).
21287         * gst/elements/gstaggregator.c:
21288         * gst/elements/gstaggregator.h:
21289         * gst/elements/gstmd5sink.c:
21290         * gst/elements/gstmd5sink.h:
21291         * gst/elements/gstmultifilesrc.c:
21292         * gst/elements/gstmultifilesrc.h:
21293         * gst/elements/gstpipefilter.c:
21294         * gst/elements/gstpipefilter.h:
21295         * gst/elements/gstshaper.c:
21296         * gst/elements/gstshaper.h:
21297         * gst/elements/gststatistics.c:
21298         * gst/elements/gststatistics.h:
21299         * po/POTFILES.in: Remove above files.
21300
21301 2005-05-14  Andy Wingo  <wingo@pobox.com>
21302
21303         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
21304         so as to get the refs right.
21305         (sink_iterator_filter): New function, wraps bin_element_is_sink,
21306         unreffing objects that don't pass the filter.
21307
21308         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
21309         gst_element_set_bus.
21310         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
21311         normal cases, this will destroy the bus.
21312
21313         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
21314         object.
21315
21316         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
21317         has no sinks.
21318
21319 2005-05-13  Andy Wingo  <wingo@pobox.com>
21320
21321         * gst/gstutils.c (gst_element_link_pads): Instead of calling
21322         gst_pad_link, call pad_link_maybe_ghosting,
21323         (pad_link_maybe_ghosting): Links pads, making sure that the
21324         elements being linked are in the same bin.
21325         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
21326         Helpers for pad_link_maybe_ghosting.
21327
21328 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21329
21330         * configure.ac:
21331           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
21332
21333 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21334
21335         * docs/design/part-element-source.txt:
21336           Mention GstPushSrc
21337
21338 2005-05-12  Wim Taymans  <wim@fluendo.com>
21339
21340         * gst/base/gstbasesink.c: (gst_basesink_init),
21341         (gst_basesink_activate):
21342         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
21343         (gst_basesrc_is_seekable):
21344         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21345         (bin_element_is_sink), (gst_bin_change_state):
21346         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21347         * gst/gstelement.h:
21348         Identify sinks by their flag to avoid overly complicated
21349         checks (fow now).
21350         Do state changes even for elements not reachable from the
21351         sinks.
21352         BaseSink is a sink now :)
21353         Some more debugging info in the basesrc.
21354
21355
21356 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21357
21358         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
21359           Implement _query on a bin, similar to _send_event.
21360
21361 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
21362
21363         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
21364           Discont event offset format should be GST_FORMAT_BYTES,
21365           not GST_FORMAT_TIME.
21366
21367 2005-05-12  Wim Taymans  <wim@fluendo.com>
21368
21369         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
21370         Same fix as Ronald's but without the signal. 
21371
21372 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21373
21374         * gst/gstutils.c: (gst_element_query_position):
21375           No, an element is not a pad.
21376
21377 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21378
21379         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
21380         (gst_bin_get_state):
21381           If a child is removed from a bin while we remove the child from
21382           the bin and while we're retrieving its state, signal this to the
21383           get_state function so we abort the wait (instead of waiting for
21384           a timeout) and can immediately re-iterate over all other elements.
21385
21386 2005-05-12  Wim Taymans  <wim@fluendo.com>
21387
21388         * gst/base/Makefile.am:
21389         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
21390         (gst_basesrc_start):
21391         * gst/base/gstbasesrc.h:
21392         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
21393         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
21394         (gst_pushsrc_init), (gst_pushsrc_create):
21395         * gst/base/gstpushsrc.h:
21396         Added is_seekable to BaseSrc
21397         Added simple PushSrc.
21398
21399 2005-05-11  Wim Taymans  <wim@fluendo.com>
21400
21401         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21402         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21403         (gst_element_link_pads), (gst_element_query_position),
21404         (gst_element_query_convert), (intersect_caps_func),
21405         (gst_pad_query_position), (gst_pad_query_convert):
21406         Fix refcounting in utils function.
21407         No point in trying to activate a pad when it's added, it could
21408         be added from the state change function and then we deadlock, the
21409         element has to decide what to do.
21410
21411 2005-05-10  Andy Wingo  <wingo@pobox.com>
21412
21413         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
21414         *all* the arguments.
21415
21416         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
21417         stream lock if it's a FLUSH_DONE; normal flushes don't get the
21418         lock (according to the docs -- if this is wrong change the docs).
21419
21420         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
21421         flush messages in the NULL state.
21422
21423         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
21424         message immediately and return.
21425         (gst_bus_set_flushing): New function. If a bus is flushing, it
21426         flushes out any queued messages and immediately unrefs new
21427         messages. This is so when an element goes to NULL, all of the
21428         unhandled messages coming from it can be freed, and their
21429         references to the element dropped. In other words: message source
21430         ref considered harmful :P
21431
21432         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
21433         we're finished with it.
21434
21435         * gst/gstmessage.c (gst_message_new_state_changed): 
21436
21437 2005-05-10  Wim Taymans  <wim@fluendo.com>
21438
21439         * gst/gstvalue.c: (gst_value_compare_flags),
21440         (gst_value_serialize_flags), (gst_value_deserialize_flags),
21441         (_gst_value_initialize):
21442         Added flags serialize/deserialize/compare code.
21443
21444 2005-05-09  Andy Wingo  <wingo@pobox.com>
21445
21446         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
21447         Intersect the peer's caps with our caps.
21448
21449 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21450
21451         * gst/base/gsttypefindhelper.c: (helper_find_peek):
21452         * gst/elements/gsttypefindelement.c: (find_peek):
21453           Handle negative offsets better. Fixes decodebin.
21454
21455 2005-05-09  Wim Taymans  <wim@fluendo.com>
21456
21457         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
21458         (gst_base_transform_event):
21459         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
21460         Implement accept_caps.
21461         Fix silly lock/unlock mismatch in base class.
21462
21463 2005-05-09  Wim Taymans  <wim@fluendo.com>
21464
21465         * docs/design/draft-push-pull.txt:
21466         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
21467         * gst/elements/gstfilesink.c: (gst_filesink_init),
21468         (gst_filesink_query):
21469         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21470         (gst_type_find_handle_src_query), (find_element_get_length):
21471         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
21472         * gst/gstelement.h:
21473         * gst/gstmessage.c:
21474         * gst/gstmessage.h:
21475         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
21476         (gst_real_pad_get_caps_unlocked),
21477         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
21478         (gst_pad_event_default_dispatch), (gst_pad_event_default),
21479         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
21480         (gst_real_pad_dispose), (gst_real_pad_finalize),
21481         (gst_pad_load_and_link), (gst_pad_save_thyself),
21482         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
21483         (gst_pad_check_pull_range), (gst_pad_pull_range),
21484         (gst_pad_template_get_type), (gst_pad_template_class_init),
21485         (gst_pad_template_init), (gst_pad_template_dispose),
21486         (name_is_valid), (gst_static_pad_template_get),
21487         (gst_pad_template_new), (gst_static_pad_template_get_caps),
21488         (gst_pad_template_get_caps), (gst_pad_set_element_private),
21489         (gst_pad_get_element_private), (gst_pad_start_task),
21490         (gst_pad_pause_task), (gst_pad_stop_task),
21491         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
21492         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
21493         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
21494         (gst_ghost_pad_new):
21495         * gst/gstpad.h:
21496         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
21497         (gst_query_new_position), (gst_query_set_position),
21498         (gst_query_parse_position), (gst_query_new_convert),
21499         (gst_query_set_convert), (gst_query_parse_convert):
21500         * gst/gstquery.h:
21501         * gst/gstqueryutils.c:
21502         * gst/gstqueryutils.h:
21503         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21504         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21505         (gst_queue_handle_src_query):
21506         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21507         (gst_element_query_position), (gst_element_query_convert),
21508         (intersect_caps_func), (gst_pad_query_position),
21509         (gst_pad_query_convert):
21510         * gst/gstutils.h:
21511         * tools/gst-inspect.c: (print_pad_info):
21512         * tools/gst-xmlinspect.c: (print_element_info):
21513         Remove old query functions. Ported old code.
21514         Added position/convert helper functions to gstutils.
21515         Reordered gstpad.c code, grouping relevant things.
21516         Remove gst_message_new(), always need to speficy a specific
21517         message.
21518
21519
21520 2005-05-09  Andy Wingo  <wingo@pobox.com>
21521
21522         * gst/gstiterator.h: Add some includes.
21523
21524         * gst/gstqueryutils.h: Include more headers.
21525
21526         * gst/gstpad.h:
21527         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
21528         some uses of gst_pad_query.
21529
21530         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
21531         NULL out parameters.
21532         (gst_query_new_position): New proc, allocates a new position
21533         query.
21534
21535         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
21536         gstqueryutils.c to the build.
21537
21538         * gst/gststructure.c (gst_structure_set_valist): Implement with
21539         the generic G_VALUE_COLLECT.
21540         
21541 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
21542
21543         * gst/Makefile.am: (gst_headers):
21544         Added gstqueryutils.h to the list of headers to install, that was
21545         a 'nachty' move wingo :)
21546
21547 2005-05-06  Andy Wingo  <wingo@pobox.com>
21548
21549         * gst/gstquery.h
21550         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
21551         GstData, init a memchunk.
21552         (standard_definitions): Add a few query types, deprecate a few.
21553         (gst_query_get_type): New proc.
21554         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
21555         implementation.
21556         (gst_query_new_application, gst_query_get_structure): New public
21557         procs.
21558
21559         * docs/design/draft-query.txt: Removed LINKS from the query types,
21560         because all the rest can be dispatched to other pads -- seemed
21561         ugly to have a query that couldn't be dispatched. internal_links
21562         is fine as a pad method.
21563
21564         * gst/gstpad.h: Add query2 as a pad method, add the new functions
21565         in gstpad.c, but maintain binary compatibility for the moment.
21566         Will fix before 0.9 is out.
21567
21568         * gst/gstqueryutils.c: 
21569         * gst/gstqueryutils.h: New files, implement 3 methods for each
21570         query type: parse_query, parse_response, and set. Probably need an
21571         allocator as well.
21572
21573         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
21574
21575         * gst/elements/gstfilesink.c (gst_filesink_query2):
21576         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
21577         query_types, and formats methods.
21578
21579         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
21580         (gst_pad_set_query2_function): New functions.
21581         (gst_real_pad_init): Set query2_default as the default query2
21582         function. Basically just dispatches to internally linked pads.
21583
21584         Needs review!
21585         
21586         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
21587         without using the atomic operations. Only one thread can possibly
21588         be accessing the data at this point. Changed so as to avoid
21589         gst_atomic operations.
21590
21591 2005-05-06  Wim Taymans  <wim@fluendo.com>
21592
21593         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
21594         Also set caps if we use the fallback buffer alloc.
21595
21596 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
21597
21598         * docs/gst/Makefile.am:
21599         * docs/gst/gstreamer-docs.sgml:
21600         * docs/gst/gstreamer-sections.txt:
21601         * docs/gst/tmpl/gstatomic.sgml:
21602         * docs/gst/tmpl/gstmemchunk.sgml:
21603         * testsuite/elements/struct_i386.h:
21604         * win32/GStreamer.vcproj:
21605         * win32/Makefile:
21606           Purge GstAtomic stuff from docs and win32 makefiles as well
21607
21608 2005-05-06  Wim Taymans  <wim@fluendo.com>
21609
21610         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
21611         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
21612         * gst/gstpad.c: (gst_pad_peer_get_caps):
21613         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21614         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21615         (gst_queue_src_activate), (gst_queue_change_state):
21616         * gst/gstqueue.h:
21617         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21618         (intersect_caps_func):
21619         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
21620         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
21621         Some fixes for the peer_get_caps() change.
21622
21623 2005-05-06  Wim Taymans  <wim@fluendo.com>
21624
21625         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21626         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
21627         (gst_basesink_activate):
21628         Actually do something with error codes returned from the push
21629         functions.
21630
21631 2005-05-06  Wim Taymans  <wim@fluendo.com>
21632
21633         * docs/design/part-element-sink.txt:
21634         * docs/design/part-element-source.txt:
21635         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21636         (gst_basesink_event), (gst_basesink_activate):
21637         * gst/base/gstbasesink.h:
21638         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
21639         (gst_basesrc_activate):
21640         * gst/base/gstbasesrc.h:
21641         * gst/gstelement.c: (gst_element_pads_activate):
21642         Some more documentation.
21643         Fixed scheduling decision in _pads_activate().
21644
21645 2005-05-05  Andy Wingo  <wingo@pobox.com>
21646
21647         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
21648         the test suite.
21649
21650 2005-05-05  Wim Taymans  <wim@fluendo.com>
21651
21652         * gst/base/Makefile.am:
21653         * gst/base/gstbasesink.h:
21654         * gst/base/gstbasesrc.c: (gst_basesrc_init),
21655         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
21656         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
21657         (gst_collectpads_class_init), (gst_collectpads_init),
21658         (gst_collectpads_finalize), (gst_collectpads_new),
21659         (gst_collectpads_set_function), (gst_collectpads_add_pad),
21660         (find_pad), (gst_collectpads_remove_pad),
21661         (gst_collectpads_is_active), (gst_collectpads_collect),
21662         (gst_collectpads_collect_range), (gst_collectpads_start),
21663         (gst_collectpads_stop), (gst_collectpads_peek),
21664         (gst_collectpads_pop), (gst_collectpads_available),
21665         (gst_collectpads_read), (gst_collectpads_flush),
21666         (gst_collectpads_chain):
21667         * gst/base/gstcollectpads.h:
21668         * gst/elements/Makefile.am:
21669         * gst/elements/gstelements.c:
21670         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21671         (gst_fakesink_get_times), (gst_fakesink_event),
21672         (gst_fakesink_preroll), (gst_fakesink_render):
21673         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
21674         (gst_filesink_init), (gst_filesink_set_location),
21675         (gst_filesink_open_file), (gst_filesink_close_file),
21676         (gst_filesink_pad_query), (gst_filesink_event),
21677         (gst_filesink_render), (gst_filesink_change_state):
21678         * gst/elements/gstfilesink.h:
21679         Added object to help in making collect pad based elements.
21680         Ported filesink.
21681         Make event function in sink baseclass return gboolean.
21682
21683 2005-05-05  Wim Taymans  <wim@fluendo.com>
21684
21685         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
21686         (gst_bin_get_by_name):
21687         * gst/gstbuffer.h:
21688         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
21689         (gst_clock_finalize):
21690         * gst/gstdata.c: (gst_data_replace):
21691         * gst/gstdata.h:
21692         * gst/gstelement.c: (gst_element_request_pad),
21693         (gst_element_pads_activate):
21694         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
21695         (gst_object_unref):
21696         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21697         (gst_pad_set_checkgetrange_function),
21698         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
21699         (gst_pad_check_pull_range), (gst_pad_pull_range),
21700         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21701         (gst_pad_pause_task), (gst_pad_stop_task):
21702         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21703         (gst_element_request_pad), (gst_pad_proxy_getcaps):
21704         Fix name lookup in GstBin.
21705         Added _data_replace() function and _buffer_replace()
21706         Use finalize method to clean up clock.
21707         Fix refcounting on request pads.
21708         Fix pad schedule mode error.
21709         Some more object refcounting debug info,
21710
21711
21712 2005-05-04  Andy Wingo <wingo@pobox.com>
21713
21714         * check/Makefile.am:
21715         * docs/gst/tmpl/gstatomic.sgml:
21716         * docs/gst/tmpl/gstplugin.sgml:
21717         * gst/base/gstbasesink.c: (gst_basesink_activate):
21718         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
21719         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
21720         (gst_basesrc_query), (gst_basesrc_set_property),
21721         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
21722         (gst_basesrc_activate):
21723         * gst/base/gstbasesrc.h:
21724         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
21725         (gst_base_transform_src_activate):
21726         * gst/elements/gstelements.c:
21727         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21728         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21729         * gst/elements/gsttee.c: (gst_tee_sink_activate):
21730         * gst/elements/gsttypefindelement.c: (find_element_get_length),
21731         (gst_type_find_element_checkgetrange),
21732         (gst_type_find_element_activate):
21733         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
21734         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
21735         (gst_caps_load_thyself):
21736         * gst/gstelement.c: (gst_element_pads_activate),
21737         (gst_element_save_thyself), (gst_element_restore_thyself):
21738         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
21739         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
21740         * gst/gstpad.h:
21741         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
21742         (gst_xml_parse_file), (gst_xml_parse_memory),
21743         (gst_xml_get_element), (gst_xml_make_element):
21744         * gst/indexers/gstfileindex.c: (gst_file_index_load),
21745         (_file_index_id_save_xml), (gst_file_index_commit):
21746         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
21747         (read_enum), (load_pad_template), (load_feature), (load_plugin),
21748         (load_paths):
21749         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
21750         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
21751         * tools/gst-complete.c: (main):
21752         * tools/gst-compprep.c: (main):
21753         * tools/gst-inspect.c: (print_element_properties_info):
21754         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
21755         * tools/gst-xmlinspect.c: (print_element_properties):
21756         GCC 4 fixen.
21757         
21758 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21759
21760         * gst/gstplugin.c: (gst_plugin_check_module),
21761         (gst_plugin_check_file), (gst_plugin_load_file):
21762             apply patch from #172526 to make register work on MacOSX
21763
21764 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21765
21766         * docs/gst/tmpl/gstconfig.sgml:
21767         * gst/gstconfig.h.in:
21768           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
21769         * testsuite/debug/printf_extension.c: (main):
21770           Do not use GST_PTR_FORMAT on pointers to types with
21771           sizeof < sizeof(gpointer).  Fixes test on 64-bit
21772         * testsuite/elements/property.h:
21773           use correct printf format
21774
21775 2005-05-02  Wim Taymans  <wim@fluendo.com>
21776
21777         * docs/design/draft-push-pull.txt:
21778         * docs/design/draft-query.txt:
21779         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
21780         (gst_basesrc_start):
21781         Added draft for new query API.
21782         Added draft for better selecting scheduling methods.
21783         Make basesrc ignore length if the subclass does not support
21784         it.
21785
21786 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21787
21788         * gst/Makefile.am:
21789           possible fixes for automake-1.5 - _LIBADD is reserved
21790
21791 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21792
21793         * docs/faq/Makefile.am:
21794         * docs/manual/Makefile.am:
21795         * docs/manuals.mak:
21796         * docs/pwg/Makefile.am:
21797         * gst/Makefile.am:
21798           possible fixes for automake-1.5
21799
21800 2005-04-28  Wim Taymans  <wim@fluendo.com>
21801
21802         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21803         (gst_basesink_pad_getcaps), (gst_basesink_init),
21804         (gst_basesink_do_sync):
21805         * gst/gstclock.c: (gst_clock_entry_new):
21806         * gst/gstevent.c: (gst_event_discont_get_value):
21807         * gst/gstpipeline.c: (pipeline_bus_handler),
21808         (gst_pipeline_change_state):
21809         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
21810         Better debugging of clocking info.
21811         Allow NULL values when getting discont values.
21812
21813 2005-04-27  Wim Taymans  <wim@fluendo.com>
21814
21815         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
21816         * check/gst/gstpad.c: (gst_pad_suite):
21817         Increase timeout for checks.
21818
21819 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21820
21821         * check/Makefile.am:
21822           fix the broken rule for cleanup.  Apparently this rule is
21823           only needed on FC2, so maybe this warrants further autotool
21824           inspection.
21825
21826 2005-04-26  Wim Taymans  <wim@fluendo.com>
21827
21828         * gst/gsttrashstack.h:
21829         Ooohh. a nasty one! After having a failed pop() from the stack,
21830         it's possible that the stack is empty. In that case, don't
21831         follow the NULL pointer.
21832
21833 2005-04-25  Wim Taymans  <wim@fluendo.com>
21834
21835         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21836         (gst_pad_set_checkgetrange_function),
21837         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
21838         (gst_pad_check_pull_range), (gst_pad_pull_range),
21839         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21840         (gst_pad_pause_task), (gst_pad_stop_task):
21841         * gst/gstplugin.c: (gst_plugin_load):
21842         * gst/gstplugin.h:
21843         Remove gst_library_load as it does more harm than good with
21844         the new g_module flags.
21845         Revert bogus caps template check in pad linking, pad caps
21846         are important when linking not the template, which is more
21847         general than the current caps.
21848
21849 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21850
21851         * gst/autoplug/.cvsignore:
21852         * gst/autoplug/Makefile.am:
21853         * gst/autoplug/gstsearchfuncs.c:
21854         * gst/autoplug/gstsearchfuncs.h:
21855         * gst/autoplug/gstspider.c:
21856         * gst/autoplug/gstspider.h:
21857         * gst/autoplug/gstspideridentity.c:
21858         * gst/autoplug/gstspideridentity.h:
21859         * gst/autoplug/spidertest.c:
21860           Die, spider, die.
21861
21862 2005-04-25  Wim Taymans  <wim@fluendo.com>
21863
21864         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21865         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21866         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
21867         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
21868         * gst/gstpad.h:
21869         Added stubs for unimplemented functions. 
21870
21871 2005-04-24  David Schleef  <ds@schleef.org>
21872
21873         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
21874         please fix.
21875
21876 2005-04-24  David Schleef  <ds@schleef.org>
21877
21878         Convert everything from GstAtomicInt to g_atomic_int_*, and
21879         remove gstatomic.
21880         * gst/Makefile.am:
21881         * gst/gstatomic.c:
21882         * gst/gstatomic.h:
21883         * gst/gstatomic_impl.h:
21884         * gst/gstbuffer.c:
21885         * gst/gstcaps.c:
21886         * gst/gstcaps.h:
21887         * gst/gstclock.c:
21888         * gst/gstclock.h:
21889         * gst/gstdata.c:
21890         * gst/gstdata.h:
21891         * gst/gstdata_private.h:
21892         * gst/gstevent.c:
21893         * gst/gstinfo.c:
21894         * gst/gstinfo.h:
21895         * gst/gstmessage.c:
21896         * gst/gstobject.c:
21897         * gst/gstobject.h:
21898         * gst/gststructure.c:
21899         * gst/gststructure.h:
21900         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
21901         * gst/gstutils.h:
21902
21903 2005-04-24  David Schleef  <ds@schleef.org>
21904
21905         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
21906         make the regressions tests work.  Remove some code that is no
21907         longer true.
21908         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
21909         Disable warning for pads without templates.
21910
21911 2005-04-24  David Schleef  <ds@schleef.org>
21912
21913         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
21914         functions that handle filtered links.
21915         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
21916         removed functions.
21917         * gst/gstutils.c: Fix/remove utility functions that handle
21918         filtered caps.
21919         * gst/gstutils.h:
21920         * gst/gstvalue.c: Add serialization/deserialization of caps
21921         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
21922         requires fixing so that the filter caps notation creates
21923         a capsfilter element and sets the filter_caps property.  I
21924         think everyone probably wants to keep the shorthand notation.
21925         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
21926         * docs/gst/tmpl/gstpad.sgml:
21927
21928         * gst/elements/gstelements.c: Register capsfilter element.
21929         * gst/Makefile.am: fix spacing
21930         * docs/random/ds/0.9-suggested-changes: random
21931
21932 2005-04-23  David Schleef  <ds@schleef.org>
21933
21934         * gst/elements/Makefile.am:
21935         * gst/elements/gstcapsfilter.c: New element that acts like an
21936         identity, but filters caps.  Will eventually replace filtered
21937         caps in pad linking.
21938         * gst/gstutils.c: (gst_element_create_all_pads): New function
21939         to create all the ALWAYS pads that are registered with an
21940         element class.  This functionality should eventually be
21941         merged in with GstElement initialization.
21942         * gst/gstutils.h:
21943         * testsuite/trigger/README: part of trigger test code that should
21944         have been checked in a long time ago.
21945
21946 2005-04-23  David Schleef  <ds@schleef.org>
21947
21948         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
21949         needed with new versions of libtool (nobody will confirm this),
21950         and hard to carry around.
21951         * gst/autoplug/Makefile.am:
21952         * gst/base/Makefile.am:
21953         * gst/elements/Makefile.am:
21954         * gst/indexers/Makefile.am:
21955         * gst/schedulers/Makefile.am:
21956         * libs/gst/bytestream/Makefile.am:
21957         * libs/gst/control/Makefile.am:
21958         * libs/gst/dataprotocol/Makefile.am:
21959         * libs/gst/getbits/Makefile.am:
21960
21961 2005-04-21  Wim Taymans  <wim@fluendo.com>
21962
21963         * docs/design/draft-push-pull.txt:
21964         * docs/design/part-MT-refcounting.txt:
21965         * docs/design/part-TODO.txt:
21966         * docs/design/part-caps.txt:
21967         * docs/design/part-events.txt:
21968         * docs/design/part-gstbus.txt:
21969         * docs/design/part-gstpipeline.txt:
21970         * docs/design/part-messages.txt:
21971         * docs/design/part-push-pull.txt:
21972         * docs/design/part-query.txt:
21973         Some more docs.
21974
21975 2005-04-21  Wim Taymans  <wim@fluendo.com>
21976
21977         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
21978         (gst_message_new), (gst_message_new_error),
21979         (gst_message_new_warning), (gst_message_new_tag),
21980         (gst_message_new_state_changed), (gst_message_new_application),
21981         (gst_message_get_structure):
21982         * gst/gstmessage.h:
21983         * gst/gststructure.c: (gst_structure_set_parent_refcount),
21984         (gst_structure_copy_conditional):
21985         Use parent refcount in GstMessage to ensure GstStructure
21986         consistency.
21987         Cleaned up headers a bit.
21988         
21989
21990 2005-04-20  Wim Taymans  <wim@fluendo.com>
21991
21992         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21993         (gst_basesink_pad_getcaps), (gst_basesink_init),
21994         (gst_basesink_chain_unlocked):
21995         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
21996         (gst_type_find_helper):
21997         * gst/elements/gsttypefindelement.c:
21998         (gst_type_find_element_have_type), (gst_type_find_element_init),
21999         (stop_typefinding), (gst_type_find_element_handle_event),
22000         (find_suggest), (gst_type_find_element_chain),
22001         (gst_type_find_element_checkgetrange),
22002         (gst_type_find_element_getrange), (do_typefind),
22003         (gst_type_find_element_activate):
22004         * gst/gstbuffer.c: (_gst_buffer_sub_free),
22005         (gst_buffer_default_free), (gst_buffer_default_copy),
22006         (gst_buffer_set_caps):
22007         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
22008         (gst_caps_replace):
22009         * gst/gstmessage.c: (gst_message_new),
22010         (gst_message_new_state_changed):
22011         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22012         (gst_pad_set_checkgetrange_function),
22013         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
22014         (gst_pad_set_caps), (gst_pad_check_pull_range),
22015         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
22016         * gst/gstpad.h:
22017         * gst/gsttypefind.c: (gst_type_find_register):
22018         Make gst_caps_replace() work like other _replace() functions.
22019         Use _caps_replace() where possible.
22020         Make sure _message_new() initialises its field.
22021         Add gst_static_pad_template_get_caps()
22022
22023
22024 2005-04-18  Andy Wingo  <wingo@pobox.com>
22025
22026         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
22027         on the peer, not the pad. I think that was a typo. Pass an extra
22028         arg to see if random access is possible. Activate the pads as
22029         PULL_RANGE if possible.
22030
22031         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
22032
22033         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
22034         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
22035         to PROP_....
22036
22037 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22038
22039         * docs/faq/using.xml:
22040           Add note on gstreamer-properties (#154996).
22041
22042 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22043
22044         * docs/random/bbb/optional-properties:
22045           Some analysis on optional properties.
22046
22047 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22048
22049         * docs/gst/tmpl/gstelementfactory.sgml:
22050         * gst/gstelement.h:
22051         * gst/gstelementfactory.c: (gst_element_factory_init),
22052         (gst_element_factory_cleanup), (gst_element_register),
22053         (__gst_element_factory_add_static_pad_template),
22054         (gst_element_factory_get_static_pad_templates),
22055         (gst_element_factory_can_src_caps),
22056         (gst_element_factory_can_sink_caps):
22057         * gst/registries/Makefile.am:
22058         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
22059         (gst_xml_registry_class_init), (gst_xml_registry_init),
22060         (gst_xml_registry_new), (gst_xml_registry_set_property),
22061         (gst_xml_registry_get_property), (get_time), (make_dir),
22062         (gst_xml_registry_get_perms_func),
22063         (plugin_times_older_than_recurse), (plugin_times_older_than),
22064         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
22065         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
22066         (add_to_char_array), (read_string), (read_uint), (read_enum),
22067         (load_pad_template), (load_feature), (load_plugin), (load_paths),
22068         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
22069         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
22070         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
22071         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
22072         (gst_xml_registry_rebuild):
22073         * gst/registries/gstlibxmlregistry.h:
22074         * tools/gst-compprep.c: (main):
22075         * tools/gst-inspect.c: (print_pad_templates_info):
22076         * tools/gst-xmlinspect.c: (print_element_info):
22077           Use libxml2 for registry parsing, use staticpadtemplates in
22078           elementfactories. Makes gst_init() +/- 10x faster.
22079
22080 2005-04-12  Wim Taymans  <wim@fluendo.com>
22081
22082         * gst/base/Makefile.am:
22083         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22084         (gst_basesink_pad_getcaps), (gst_basesink_init),
22085         (gst_basesink_event), (gst_basesink_change_state):
22086         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22087         (gst_basesrc_init), (gst_basesrc_query),
22088         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22089         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22090         (gst_basesrc_check_get_range), (gst_basesrc_loop),
22091         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22092         (gst_basesrc_stop), (gst_basesrc_activate),
22093         (gst_basesrc_change_state):
22094         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22095         (helper_find_suggest), (gst_type_find_helper):
22096         * gst/base/gsttypefindhelper.h:
22097         * gst/elements/Makefile.am:
22098         * gst/elements/gstelements.c:
22099         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
22100         (gst_fakesink_get_times), (gst_fakesink_event),
22101         (gst_fakesink_preroll), (gst_fakesink_render):
22102         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22103         (gst_fakesrc_init), (gst_fakesrc_event_handler),
22104         (gst_fakesrc_get_property), (gst_fakesrc_create),
22105         (gst_fakesrc_start), (gst_fakesrc_stop):
22106         * gst/elements/gstfakesrc.h:
22107         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
22108         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22109         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22110         (gst_filesrc_create_read), (gst_filesrc_create),
22111         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
22112         (gst_filesrc_start):
22113         * gst/elements/gsttypefindelement.c:
22114         (gst_type_find_element_have_type), (gst_type_find_element_init),
22115         (start_typefinding), (stop_typefinding), (push_buffer_store),
22116         (gst_type_find_element_handle_event),
22117         (gst_type_find_element_chain),
22118         (gst_type_find_element_checkgetrange),
22119         (gst_type_find_element_getrange), (do_typefind),
22120         (gst_type_find_element_activate),
22121         (gst_type_find_element_change_state):
22122         * gst/elements/gsttypefindelement.h:
22123         * gst/gstpipeline.c: (pipeline_bus_handler):
22124         Added typefind helper.
22125         Small preroll fix in the base sink.
22126         Disable typefind code in basesrc.
22127         Crude port of typefindelement.
22128         Fakesrc cleanups.
22129
22130
22131 2005-04-11  Wim Taymans  <wim@fluendo.com>
22132
22133         * check/gst/gstbus.c: (gstbus_suite):
22134         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
22135         * check/gstcheck.h:
22136           Fix up the timeout so that the test does not fail.
22137
22138 2005-04-06  Wim Taymans  <wim@fluendo.com>
22139
22140         * gst/base/README:
22141         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22142         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
22143         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22144         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22145         (gst_basesrc_check_get_range), (gst_basesrc_loop),
22146         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22147         (gst_basesrc_stop), (gst_basesrc_activate),
22148         (gst_basesrc_change_state), (basesrc_find_peek),
22149         (basesrc_find_suggest), (gst_basesrc_type_find):
22150         * gst/base/gstbasesrc.h:
22151         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
22152         (gst_filesrc_class_init), (gst_filesrc_init),
22153         (gst_filesrc_finalize), (gst_filesrc_set_location),
22154         (gst_filesrc_set_property), (gst_filesrc_get_property),
22155         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22156         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22157         (gst_filesrc_create_read), (gst_filesrc_create),
22158         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
22159         * gst/elements/gstfilesrc.h:
22160         * gst/gstelement.c: (gst_element_get_state_func),
22161         (gst_element_lost_state), (gst_element_pads_activate):
22162         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22163         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
22164         (gst_pad_pull_range):
22165         * gst/gstpad.h:
22166         More work on the generic source base class, implement seeking,
22167         query.
22168         Make filesrc extend the base source class.
22169         Added gst_pad_set_checkgetrange_function to GstPad.
22170
22171 2005-04-06  Andy Wingo  <wingo@pobox.com>
22172
22173         * pkgconfig/gstreamer-base.pc.in:
22174         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
22175
22176         * pkgconfig/Makefile.am:
22177         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
22178
22179 2005-04-04  Wim Taymans  <wim@fluendo.com>
22180
22181         * gst/base/Makefile.am:
22182         * gst/base/README:
22183         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22184         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22185         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22186         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
22187         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22188         (gst_basesrc_base_init), (gst_basesrc_class_init),
22189         (gst_basesrc_init), (gst_basesrc_get_formats),
22190         (gst_basesrc_get_query_types), (gst_basesrc_query),
22191         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
22192         (gst_basesrc_set_property), (gst_basesrc_get_property),
22193         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
22194         (gst_basesrc_loop), (gst_basesrc_activate),
22195         (gst_basesrc_change_state):
22196         * gst/base/gstbasesrc.h:
22197         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
22198         (gst_fakesrc_class_init), (gst_fakesrc_init),
22199         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
22200         (gst_fakesrc_get_property), (gst_fakesrc_create):
22201         * gst/elements/gstfakesrc.h:
22202         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
22203         (gst_filesrc_open_file), (gst_filesrc_loop),
22204         (gst_filesrc_activate), (filesrc_find_peek),
22205         (gst_filesrc_type_find):
22206         Made base source class, make fakesrc extend it.
22207         Add comments to basesink class.
22208         Some filesrc cleanup.
22209
22210 2005-03-31  David Schleef  <ds@schleef.org>
22211
22212         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
22213         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
22214         expected to link against libgstreamer.
22215         * gst/base/Makefile.am: link against libgstreamer
22216         * gst/elements/Makefile.am: same
22217
22218 2005-03-31  Andy Wingo  <wingo@pobox.com>
22219
22220         * tests/instantiate/Makefile.am:
22221         * tests/instantiate/caps.c: Add test to test speed of caps copy
22222         and free.
22223
22224         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
22225         GMemChunk to be fair.
22226
22227         * gst/gsttrashstack.h: Remove warning about using the fallback
22228         trash stack implementation, it's still faster than malloc.
22229
22230 2005-03-30  Andy Wingo  <wingo@pobox.com>
22231
22232         * tests/complexity.c: Add a copyright.
22233
22234 2005-03-31  Wim Taymans  <wim@fluendo.com>
22235
22236         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
22237         (gst_base_transform_class_init), (gst_base_transform_init),
22238         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
22239         (gst_base_transform_get_property),
22240         (gst_base_transform_sink_activate),
22241         (gst_base_transform_src_activate),
22242         (gst_base_transform_change_state):
22243         * gst/base/gstbasetransform.h:
22244         * gst/elements/gstidentity.c: (gst_identity_class_init),
22245         (gst_identity_event), (gst_identity_check_perfect),
22246         (gst_identity_transform), (gst_identity_start),
22247         (gst_identity_stop):
22248         Added start/stop methods to transform base class so subclasses 
22249         don't need to deal with state changes even.
22250
22251 2005-03-31  Wim Taymans  <wim@fluendo.com>
22252
22253         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
22254         (gst_event_new_discontinuous), (gst_event_discont_get_value):
22255         * gst/gstevent.h:
22256         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22257         (gst_pad_pull_range):
22258         Added rate to the discont event to prepare for variable speed
22259         and reverse playback.
22260
22261 2005-03-29  David Schleef  <ds@schleef.org>
22262
22263         * configure.ac:
22264         * testsuite/trigger/Makefile.am:
22265         * testsuite/trigger/trigger.c: A little example program to show
22266         how trigger-based elements can work.
22267
22268 2005-03-29  Wim Taymans  <wim@fluendo.com>
22269
22270         * gst/base/Makefile.am:
22271         * gst/base/README:
22272         * gst/base/gstbasesink.c: (gst_basesink_get_type),
22273         (gst_basesink_base_init), (gst_basesink_class_init),
22274         (gst_basesink_pad_getcaps), (gst_basesink_init),
22275         (gst_basesink_activate), (gst_basesink_change_state):
22276         * gst/base/gstbasesink.h:
22277         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
22278         (gst_base_transform_base_init), (gst_base_transform_finalize),
22279         (gst_base_transform_class_init), (gst_base_transform_init),
22280         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
22281         (gst_base_transform_event), (gst_base_transform_getrange),
22282         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
22283         (gst_base_transform_set_property),
22284         (gst_base_transform_get_property),
22285         (gst_base_transform_sink_activate),
22286         (gst_base_transform_src_activate),
22287         (gst_base_transform_change_state):
22288         * gst/base/gstbasetransform.h:
22289         * gst/elements/gstidentity.c: (gst_identity_finalize),
22290         (gst_identity_class_init), (gst_identity_init),
22291         (gst_identity_event), (gst_identity_check_perfect),
22292         (gst_identity_transform), (gst_identity_set_property),
22293         (gst_identity_get_property), (gst_identity_change_state):
22294         * gst/elements/gstidentity.h:
22295         * gst/gstelement.c: (gst_element_get_state_func),
22296         (gst_element_lost_state), (gst_element_pads_activate):
22297         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22298         (gst_pad_check_pull_range), (gst_pad_pull_range):
22299         * gst/gstpad.h:
22300         Simplify pad activation.
22301         Added function to check if pull_range can be performed.
22302         Error out when pulling inactive or flushing pads.
22303         Removed const from refcounted types as it does not make sense.
22304         Simplify pad templates in basesink
22305         Added base class for simple 1-to-1 transforms.
22306         Make identity subclass the base transform.
22307
22308 2005-03-29  Andy Wingo  <wingo@pobox.com>
22309
22310         * docs/libs/gstreamer-libs-overrides.txt: 
22311         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
22312         really don't understand what's going on, but like whatever. I want
22313         green buildbot!
22314
22315         * docs/gst/Makefile.am:
22316         * docs/libs/Makefile.am: Dist the overrides files.
22317
22318         * check/Makefile.am (clean-local): Remove .libs directories.
22319
22320         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
22321         elements to EXTRA_DIST, so po/ files are happy.
22322
22323         * po/POTFILES.in: Er, remove it here.
22324
22325         * po/POTFILES: Remove gstspider.c.
22326
22327         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
22328
22329         * docs/libs/gstreamer-libs-docs.sgml: 
22330         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
22331         bytestream.
22332
22333         * tests/complexity.c (main): Set the length of the preroll queue
22334         on the sinks to prevent a lockup.
22335
22336         * libs/gst/dataprotocol/Makefile.am: 
22337         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
22338         the same as the one in check/gst-libs/gdp.c.
22339
22340         * po/, docs/gst/: Commit automatic changes to docs and po files.
22341
22342         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
22343         the versioned libgstbase.
22344
22345         * check/Makefile.am: Depend on an unversioned gst-register, seems
22346         to make autoconf happier.
22347
22348         * gst/base/Makefile.am: Make libgstbase a versioned lib.
22349
22350 2005-03-28  Wim Taymans  <wim@fluendo.com>
22351
22352         * configure.ac:
22353         * docs/design/part-gstelement.txt:
22354         * docs/design/part-negotiation.txt:
22355         * docs/design/part-preroll.txt:
22356         * docs/design/part-scheduling.txt:
22357         * docs/design/part-states.txt:
22358         * gst/Makefile.am:
22359         * gst/base/Makefile.am:
22360         * gst/base/README:
22361         * gst/base/gstbasesink.c: (gst_basesink_get_template),
22362         (gst_basesink_base_init), (gst_basesink_class_init),
22363         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22364         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22365         (gst_basesink_set_pad_functions),
22366         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
22367         (gst_basesink_set_property), (gst_basesink_get_property),
22368         (gst_base_sink_get_template), (gst_base_sink_get_caps),
22369         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
22370         (gst_basesink_preroll_queue_push),
22371         (gst_basesink_preroll_queue_empty),
22372         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
22373         (gst_basesink_event), (gst_basesink_get_times),
22374         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
22375         (gst_basesink_chain_unlocked), (gst_basesink_chain),
22376         (gst_basesink_loop), (gst_basesink_activate),
22377         (gst_basesink_change_state):
22378         * gst/base/gstbasesink.h:
22379         * gst/elements/Makefile.am:
22380         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
22381         (gst_fakesink_class_init), (gst_fakesink_init),
22382         (gst_fakesink_set_property), (gst_fakesink_get_property),
22383         (gst_fakesink_get_times), (gst_fakesink_event),
22384         (gst_fakesink_preroll), (gst_fakesink_render),
22385         (gst_fakesink_change_state):
22386         * gst/elements/gstfakesink.h:
22387         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22388         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
22389         * gst/gstelement.c: (gst_element_add_pad),
22390         (gst_element_get_state_func), (gst_element_abort_state),
22391         (gst_element_commit_state), (gst_element_lost_state),
22392         (gst_element_set_state), (gst_element_pads_activate):
22393         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
22394         * gst/gstpipeline.c: (gst_pipeline_send_event),
22395         (gst_pipeline_change_state):
22396         Added state change code.
22397         Added/updated docs.
22398         Added sink base class, make fakesink extend the base class.
22399         Small cleanups in GstPipeline.
22400
22401 2005-03-26  David Schleef  <ds@schleef.org>
22402
22403         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
22404         is broken and should be implemented in a different library.
22405         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
22406         * gst/gst.h: remove gstcpu.h
22407         * gst/gstcpu.c: remove
22408         * gst/gstcpu.h: remove
22409         * gst/Makefile.am.future: Remove this file.  It's ancient.
22410
22411 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22412
22413         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22414         (gst_bin_send_event):
22415           Add default event/set_manager handlers. The set_manager handler
22416           takes care that the manager is distributed over kids that were
22417           already in the bin before the manager was set. The event handler
22418           is a utility virtual function that sends the event over all sinks,
22419           so that gst_element_send_event (bin, event); has the expected
22420           behaviour.
22421         * gst/gstpad.c: (gst_pad_event_default):
22422           Re-install default event handling for discontinuities, so that
22423           seeking works without requiring hacks in applications or extra
22424           code in sinks.
22425         * gst/gstpipeline.c: (gst_pipeline_class_init),
22426         (gst_pipeline_send_event):
22427           Half hack, half utility: set a pipeline to PAUSED for seek events,
22428           since that is the only way we can guarantee a/v sync. Means that
22429           you can do gst_element_seek (pipeline, method, pos); on a pipeline
22430           and it "just works".
22431
22432 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22433
22434         * gst/gstpipeline.c: (gst_pipeline_use_clock):
22435           Lock/unlock mismatch.
22436
22437 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22438
22439         * docs/faq/gst-uninstalled:
22440           add gst-plugins-base
22441         * docs/gst/Makefile.am:
22442           don't error out until docs are fixed
22443         * docs/gst/gstreamer.types:
22444           remove thread
22445
22446 2005-03-22  Wim Taymans  <wim@fluendo.com>
22447
22448         * check/Makefile.am:
22449         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
22450         * gst/gststructure.c: (gst_structure_set_valist),
22451         (gst_structure_copy_conditional):
22452         Activated more tests.
22453         Added message test.
22454         Added G_TYPE_POINTER to GstStructure.
22455         
22456
22457 2005-03-22  Wim Taymans  <wim@fluendo.com>
22458
22459         * docs/design/part-TODO.txt:
22460         * docs/design/part-events.txt:
22461         * docs/design/part-gstbin.txt:
22462         * docs/design/part-gstbus.txt:
22463         * docs/design/part-gstpipeline.txt:
22464         * docs/design/part-messages.txt:
22465         * gst/gstbus.c:
22466         * gst/gstmessage.c:
22467         Docs updates
22468
22469 2005-03-21  Wim Taymans  <wim@fluendo.com>
22470
22471         * gst/gstbus.c: (gst_bus_post):
22472         Fix copy-and-paste error.
22473
22474 2005-03-21  Wim Taymans  <wim@fluendo.com>
22475
22476         * check/Makefile.am:
22477         * gst/Makefile.am:
22478         * gst/elements/Makefile.am:
22479         * gst/elements/gstelements.c:
22480         * gst/elements/gstfakesink.c: (gst_fakesink_init),
22481         (gst_fakesink_event), (gst_fakesink_chain):
22482         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22483         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
22484         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
22485         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
22486         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22487         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
22488         (gst_fakesrc_loop), (gst_fakesrc_activate),
22489         (gst_fakesrc_change_state):
22490         * gst/elements/gstfakesrc.h:
22491         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
22492         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
22493         (gst_filesrc_open_file), (gst_filesrc_loop),
22494         (gst_filesrc_activate), (gst_filesrc_change_state),
22495         (filesrc_find_peek), (filesrc_find_suggest),
22496         (gst_filesrc_type_find):
22497         * gst/elements/gstidentity.c: (gst_identity_finalize),
22498         (gst_identity_class_init), (gst_identity_init),
22499         (gst_identity_proxy_getcaps), (identity_queue_push),
22500         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
22501         (gst_identity_getrange), (gst_identity_chain),
22502         (gst_identity_sink_loop), (gst_identity_src_loop),
22503         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
22504         (gst_identity_set_property), (gst_identity_get_property),
22505         (gst_identity_change_state):
22506         * gst/elements/gstidentity.h:
22507         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
22508         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
22509         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
22510         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
22511         (gst_tee_sink_activate):
22512         * gst/elements/gsttee.h:
22513         * gst/gst.c: (gst_register_core_elements), (init_post):
22514         * gst/gst.h:
22515         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
22516         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
22517         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
22518         (gst_bin_change_state):
22519         * gst/gstbin.h:
22520         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
22521         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
22522         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
22523         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
22524         (gst_bus_set_sync_handler), (gst_bus_create_watch),
22525         (bus_watch_callback), (bus_watch_destroy),
22526         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
22527         (poll_timeout), (gst_bus_poll):
22528         * gst/gstbus.h:
22529         * gst/gstcaps.h:
22530         * gst/gstdata.h:
22531         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22532         (gst_element_post_message), (gst_element_message_full),
22533         (gst_element_get_state_func), (gst_element_get_state),
22534         (gst_element_abort_state), (gst_element_commit_state),
22535         (gst_element_lost_state), (gst_element_set_state),
22536         (gst_element_pads_activate), (gst_element_change_state),
22537         (gst_element_dispose), (gst_element_set_manager_func),
22538         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
22539         (gst_element_set_manager), (gst_element_get_manager),
22540         (gst_element_set_bus), (gst_element_get_bus),
22541         (gst_element_set_scheduler), (gst_element_get_scheduler):
22542         * gst/gstelement.h:
22543         * gst/gstevent.c: (gst_event_new_segment_seek),
22544         (gst_event_new_flush):
22545         * gst/gstevent.h:
22546         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
22547         (_gst_message_free), (gst_message_get_type), (gst_message_new),
22548         (gst_message_new_eos), (gst_message_new_error),
22549         (gst_message_new_warning), (gst_message_new_tag),
22550         (gst_message_new_state_changed), (gst_message_new_application),
22551         (gst_message_get_structure), (gst_message_parse_tag),
22552         (gst_message_parse_state_changed), (gst_message_parse_error),
22553         (gst_message_parse_warning):
22554         * gst/gstmessage.h:
22555         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
22556         (gst_real_pad_set_property), (gst_pad_set_active),
22557         (gst_pad_is_active), (gst_pad_set_blocked_async),
22558         (gst_pad_set_blocked), (gst_pad_is_blocked),
22559         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
22560         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
22561         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
22562         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
22563         (gst_pad_link_filtered), (gst_pad_relink_filtered),
22564         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
22565         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
22566         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
22567         (gst_pad_set_caps), (gst_pad_configure_sink),
22568         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
22569         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
22570         (gst_real_pad_dispose), (gst_real_pad_finalize),
22571         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
22572         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22573         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
22574         * gst/gstpad.h:
22575         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
22576         (pipeline_bus_handler), (gst_pipeline_change_state),
22577         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
22578         * gst/gstpipeline.h:
22579         * gst/gstprobe.h:
22580         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22581         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
22582         (gst_queue_link_src), (gst_queue_bufferalloc),
22583         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
22584         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
22585         (gst_queue_loop), (gst_queue_handle_src_event),
22586         (gst_queue_handle_src_query), (gst_queue_src_activate),
22587         (gst_queue_change_state):
22588         * gst/gstqueue.h:
22589         * gst/gstscheduler.c: (gst_scheduler_init),
22590         (gst_scheduler_dispose), (gst_scheduler_create_task),
22591         (gst_scheduler_factory_create):
22592         * gst/gstscheduler.h:
22593         * gst/gststructure.c: (gst_structure_get_type),
22594         (gst_structure_copy_conditional):
22595         * gst/gststructure.h:
22596         * gst/gsttaginterface.h:
22597         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22598         (gst_task_init), (gst_task_dispose), (gst_task_create),
22599         (gst_task_get_state), (gst_task_start), (gst_task_stop),
22600         (gst_task_pause):
22601         * gst/gsttask.h:
22602         * gst/gstthread.c:
22603         * gst/gstthread.h:
22604         * gst/gsttypes.h:
22605         * gst/schedulers/Makefile.am:
22606         * gst/schedulers/cothreads_compat.h:
22607         * gst/schedulers/entryscheduler.c:
22608         * gst/schedulers/faircothreads.c:
22609         * gst/schedulers/faircothreads.h:
22610         * gst/schedulers/fairscheduler.c:
22611         * gst/schedulers/gstbasicscheduler.c:
22612         * gst/schedulers/gstoptimalscheduler.c:
22613         * gst/schedulers/gthread-cothreads.h:
22614         * gst/schedulers/threadscheduler.c:
22615         (gst_thread_scheduler_task_get_type),
22616         (gst_thread_scheduler_task_class_init),
22617         (gst_thread_scheduler_task_init),
22618         (gst_thread_scheduler_task_start),
22619         (gst_thread_scheduler_task_stop),
22620         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
22621         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22622         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
22623         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
22624         (plugin_init):
22625         * libs/gst/Makefile.am:
22626         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
22627         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
22628         (gst_file_pad_parent_set):
22629         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22630         (gst_dp_event_from_packet):
22631         * tests/complexity.c: (main):
22632         * tests/mass_elements.c: (main):
22633         * testsuite/states/locked.c: (message_received), (main):
22634         * testsuite/states/parent.c: (main):
22635         * tools/gst-inspect.c: (print_element_flag_info),
22636         (print_implementation_info), (print_pad_info):
22637         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
22638         (main):
22639         * tools/gst-md5sum.c: (event_loop), (main):
22640         * tools/gst-typefind.c: (main):
22641         * tools/gst-xmlinspect.c: (print_element_info):
22642         Next big merge.
22643         Added GstBus for mainloop integration.
22644         Added GstMessage for sending notifications on the bus.
22645         Added GstTask as an abstraction for pipeline entry points.
22646         Removed GstThread.
22647         Removed Schedulers.
22648         Simplified GstQueue for multithreaded core.
22649         Made _link threadsafe, removed old capsnego.
22650         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
22651         Added pad blocking functions.
22652         Reworked scheduling functions in GstPad to prepare for
22653         scheduling updates soon.
22654         Moved events out of data stream.
22655         Simplified GstEvent types.
22656         Added return values to push/pull.
22657         Removed clocking from GstElement.
22658         Added prototypes for state change function for next merge.
22659         Removed iterate from bins and state change management.
22660         Fixed some elements, disabled others for now.
22661         Fixed -inspect and -launch.
22662         Added check for GstBus.
22663
22664 2005-03-10  Wim Taymans  <wim@fluendo.com>
22665
22666         * docs/design/part-MT-refcounting.txt:
22667         * docs/design/part-clocks.txt:
22668         * docs/design/part-gstelement.txt:
22669         * docs/design/part-gstobject.txt:
22670         * docs/design/part-standards.txt:
22671         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22672         (gst_bin_remove_func), (gst_bin_remove):
22673         * gst/gstbin.h:
22674         * gst/gstbuffer.c:
22675         * gst/gstcaps.h:
22676         * testsuite/clock/clock1.c: (main):
22677         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
22678         (main):
22679         * testsuite/dlopen/loadgst.c: (do_test):
22680         * testsuite/refcounting/bin.c: (add_remove_test1),
22681         (add_remove_test2), (main):
22682         * testsuite/refcounting/element.c: (main):
22683         * testsuite/refcounting/element_pad.c: (main):
22684         * testsuite/refcounting/pad.c: (main):
22685         * tools/gst-launch.c: (sigint_handler_sighandler):
22686         * tools/gst-typefind.c: (main):
22687         Doc updates.
22688         Added doc about clock.
22689         removed gst_bin_iterate_recurse_up(), marked methods
22690         for removal.
22691         Fix more testsuites.
22692
22693 2005-03-09  Wim Taymans  <wim@fluendo.com>
22694
22695         * gst/gstpad.c: (gst_pad_get_direction),
22696         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
22697         (gst_pad_collect_valist):
22698         * testsuite/bins/interface.c: (main):
22699         * testsuite/caps/audioscale.c: (test_caps):
22700         * testsuite/caps/caps.c: (test1), (test2), (test3):
22701         * testsuite/caps/deserialize.c: (main):
22702         * testsuite/caps/enumcaps.c: (main):
22703         * testsuite/caps/filtercaps.c: (main):
22704         * testsuite/caps/intersect2.c: (main):
22705         * testsuite/caps/random.c: (main):
22706         * testsuite/caps/renegotiate.c: (my_fixate), (main):
22707         * testsuite/caps/sets.c: (check_caps):
22708         * testsuite/caps/simplify.c: (check_caps), (main):
22709         * testsuite/caps/subtract.c: (check_caps):
22710         Fix _pad_get_direction wrt ghostpads.
22711         Fix caps testsuite.
22712
22713 2005-03-09  Wim Taymans  <wim@fluendo.com>
22714
22715         * check/Makefile.am:
22716         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
22717         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
22718         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
22719         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
22720         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
22721         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
22722         (gst_bin_remove), (gst_bin_iterate_recurse_up),
22723         (bin_element_is_sink), (gst_bin_iterate_sinks),
22724         (gst_bin_iterate_all_by_interface):
22725         * gst/gstbin.h:
22726         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
22727         (gst_element_change_state), (gst_element_dispose),
22728         (gst_element_finalize), (gst_element_set_loop_function):
22729         * gst/gstelement.h:
22730         * gst/gstiterator.c: (find_custom_fold_func):
22731         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22732         (gst_pad_collectv), (gst_pad_collect_valist),
22733         (gst_pad_template_new):
22734         * gst/gstpipeline.c: (gst_pipeline_class_init),
22735         (gst_pipeline_dispose), (gst_pipeline_set_property),
22736         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
22737         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
22738         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
22739         * gst/gstutils.h:
22740         * gst/schedulers/entryscheduler.c:
22741         * gst/schedulers/gstbasicscheduler.c:
22742         (gst_basic_scheduler_cothreaded_chain),
22743         (gst_basic_scheduler_chain_add_element):
22744         * testsuite/bins/interface.c: (main):
22745         Added GstBin test.
22746         Added GstSystemClock test.
22747         Implemented clock distribution code in GstBin.
22748         Implemented iterate sinks method for future use.
22749         Rearranged gstelement.h
22750         Fix GstIterator comparison bug.
22751         Moved some code to GstPipeline, mostly clocking related.
22752
22753 2005-03-09  Wim Taymans  <wim@fluendo.com>
22754
22755         * configure.ac:
22756         * gst/gst_private.h:
22757         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22758         (gst_bin_remove_func), (gst_bin_remove),
22759         (gst_bin_get_by_name_recurse_up):
22760         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
22761         (gst_clock_id_compare_func), (gst_clock_id_wait),
22762         (gst_clock_id_wait_async), (gst_clock_init),
22763         (gst_clock_adjust_unlocked), (gst_clock_get_time):
22764         * gst/gstelement.h:
22765         * gst/gstinfo.c: (_gst_debug_init):
22766         * gst/gstobject.h:
22767         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22768         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
22769         * gst/gstpad.h:
22770         Bump version number, we're now 0.9.0
22771         Add future debugging category.
22772         Fix NULL _unref() in _get_by_name_recurse_up
22773         Rearrange gstpad.h.
22774         Update some docs.
22775
22776 2005-03-08  Wim Taymans  <wim@fluendo.com>
22777
22778         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
22779         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
22780         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22781         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
22782         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
22783         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
22784         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
22785         * gst/elements/gstidentity.c: (gst_identity_class_init):
22786         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
22787         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
22788         * gst/elements/gstshaper.c: (gst_shaper_class_init):
22789         * gst/elements/gststatistics.c: (gst_statistics_class_init):
22790         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
22791         (gst_tee_link):
22792         * gst/gstelement.c: (gst_element_class_init),
22793         (gst_element_base_class_init), (gst_element_init),
22794         (gst_element_get_random_pad), (gst_element_wait_state_change),
22795         (gst_element_change_state), (gst_element_dispose),
22796         (gst_element_finalize), (gst_element_set_loop_function):
22797         * gst/gstelement.h:
22798         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
22799         * gst/gstthread.c: (gst_thread_class_init),
22800         (gst_thread_release_children_locks), (gst_thread_change_state):
22801         * gst/schedulers/gstbasicscheduler.c:
22802         (gst_basic_scheduler_loopfunc_wrapper),
22803         (gst_basic_scheduler_chain_wrapper),
22804         (gst_basic_scheduler_src_wrapper),
22805         (gst_basic_scheduler_remove_element):
22806         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
22807         Remove threadsafe properties. Fix elements because GObject
22808         complains when installing a property before declaring a
22809         set/get_property handler.
22810         Rearrange gstelement.h file, use STATE macros for state locks.
22811         Free mutexes in the finalize method instead of dispose.
22812
22813 2005-03-08  Wim Taymans  <wim@fluendo.com>
22814
22815         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
22816         * gst/gstthread.c: (gst_thread_release_children_locks):
22817         Added parentage check.
22818         Fix build og GstThread again.
22819
22820 2005-03-08  Wim Taymans  <wim@fluendo.com>
22821
22822         * docs/design/part-MT-refcounting.txt:
22823         * docs/design/part-conventions.txt:
22824         * docs/design/part-gstobject.txt:
22825         * docs/design/part-relations.txt:
22826         * docs/design/part-standards.txt:
22827         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22828         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
22829         (gst_bin_get_by_name), (gst_bin_get_by_interface),
22830         (gst_bin_iterate_all_by_interface):
22831         * gst/gstbuffer.h:
22832         * gst/gstclock.h:
22833         * gst/gstelement.c: (gst_element_class_init),
22834         (gst_element_change_state), (gst_element_set_loop_function):
22835         * gst/gstelement.h:
22836         * gst/gstiterator.c:
22837         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
22838         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
22839         (gst_object_dispatch_properties_changed), (gst_object_set_name),
22840         (gst_object_set_parent), (gst_object_unparent),
22841         (gst_object_check_uniqueness):
22842         * gst/gstobject.h:
22843         Docs updates, clean up some headers.
22844
22845 2005-03-07  Wim Taymans  <wim@fluendo.com>
22846
22847         * check/.cvsignore:
22848         * check/Makefile.am:
22849         * check/gst-libs/.cvsignore:
22850         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
22851         * check/gst/.cvsignore:
22852         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
22853         (START_TEST), (gstbus_suite), (main):
22854         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
22855         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
22856         (gst_data_suite), (main):
22857         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
22858         (add_fold_func), (gstiterator_suite), (main):
22859         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
22860         (thread_name_object), (thread_name_object_default),
22861         (gst_object_name_compare), (gst_object_suite), (main):
22862         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
22863         (gst_pad_suite), (main):
22864         * check/gstcheck.c: (gst_check_log_message_func),
22865         (gst_check_log_critical_func), (gst_check_init):
22866         * check/gstcheck.h:
22867         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
22868         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
22869         Added checks.
22870
22871 2005-03-07  Wim Taymans  <wim@fluendo.com>
22872
22873         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
22874         (gst_list_iterator_next), (gst_list_iterator_resync),
22875         (gst_list_iterator_free), (gst_iterator_new_list),
22876         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
22877         (gst_iterator_free), (gst_iterator_push), (filter_next),
22878         (filter_resync), (filter_uninit), (filter_free),
22879         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
22880         (gst_iterator_foreach), (find_custom_fold_func),
22881         (gst_iterator_find_custom):
22882         * gst/gstiterator.h:
22883         Added missing files.
22884
22885 2005-03-07  Wim Taymans  <wim@fluendo.com>
22886
22887         * Makefile.am:
22888         * configure.ac:
22889         * docs/design/part-MT-refcounting.txt:
22890         * docs/design/part-conventions.txt:
22891         * docs/design/part-gstobject.txt:
22892         * docs/design/part-relations.txt:
22893         * examples/mixer/mixer.c: (main):
22894         * examples/thread/thread.c: (eos), (main):
22895         * gst/Makefile.am:
22896         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
22897         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
22898         (gst_spider_plug_from_srcpad):
22899         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
22900         (gst_spider_identity_change_state),
22901         (gst_spider_identity_sink_loop_type_finding):
22902         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
22903         * gst/elements/gstidentity.c: (gst_identity_init):
22904         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
22905         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
22906         * gst/elements/gsttypefindelement.c: (free_entry):
22907         * gst/gst.c:
22908         * gst/gst.h:
22909         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
22910         (gst_bin_set_clock_func), (gst_bin_auto_clock),
22911         (gst_bin_set_index), (gst_bin_set_element_sched),
22912         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
22913         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
22914         (gst_bin_iterate_elements), (iterate_child_recurse),
22915         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
22916         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
22917         (compare_interface), (gst_bin_get_by_interface),
22918         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
22919         * gst/gstbin.h:
22920         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
22921         (gst_buffer_default_free), (gst_buffer_default_copy),
22922         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
22923         (gst_buffer_create_sub):
22924         * gst/gstbuffer.h:
22925         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
22926         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
22927         (gst_caps_unref), (gst_static_caps_get),
22928         (gst_caps_remove_and_get_structure), (gst_caps_append),
22929         (gst_caps_append_structure), (gst_caps_remove_structure),
22930         (gst_caps_copy_nth), (gst_caps_set_simple),
22931         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
22932         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
22933         (gst_caps_structure_intersect_field), (gst_caps_intersect),
22934         (gst_caps_structure_subtract_field), (gst_caps_subtract),
22935         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
22936         (gst_caps_structure_figure_out_union),
22937         (gst_caps_switch_structures), (gst_caps_do_simplify),
22938         (gst_caps_replace), (gst_caps_from_string),
22939         (gst_caps_copy_conditional):
22940         * gst/gstcaps.h:
22941         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
22942         (_gst_clock_id_free), (gst_clock_id_unref),
22943         (gst_clock_id_compare_func), (gst_clock_id_wait),
22944         (gst_clock_id_wait_async), (gst_clock_class_init),
22945         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
22946         (gst_clock_get_time), (gst_clock_set_time_adjust),
22947         (gst_clock_set_property), (gst_clock_get_property):
22948         * gst/gstclock.h:
22949         * gst/gstcompat.h:
22950         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
22951         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
22952         * gst/gstdata.h:
22953         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22954         (gst_element_requires_clock), (gst_element_provides_clock),
22955         (gst_element_set_clock), (gst_element_clock_wait),
22956         (gst_element_wait), (gst_element_set_time_delay),
22957         (gst_element_is_indexable), (gst_element_add_pad),
22958         (gst_element_add_ghost_pad), (gst_element_remove_pad),
22959         (pad_compare_name), (gst_element_get_static_pad),
22960         (gst_element_request_pad), (gst_element_get_request_pad),
22961         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
22962         (gst_element_class_get_pad_template_list),
22963         (gst_element_class_get_pad_template), (gst_element_error_func),
22964         (gst_element_get_random_pad), (gst_element_get_event_masks),
22965         (gst_element_send_event), (gst_element_seek),
22966         (gst_element_get_query_types), (gst_element_query),
22967         (gst_element_get_formats), (gst_element_convert),
22968         (gst_element_is_locked_state), (gst_element_set_locked_state),
22969         (gst_element_sync_state_with_parent), (gst_element_change_state),
22970         (gst_element_finalize), (gst_element_yield),
22971         (gst_element_interrupt), (gst_element_set_scheduler),
22972         (gst_element_get_scheduler), (gst_element_set_loop_function):
22973         * gst/gstelement.h:
22974         * gst/gstevent.h:
22975         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
22976         (gst_format_get_by_nick), (gst_format_get_details),
22977         (gst_format_iterate_definitions):
22978         * gst/gstformat.h:
22979         * gst/gstindex.c: (gst_index_gtype_resolver):
22980         * gst/gstinfo.c:
22981         * gst/gstinfo.h:
22982         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
22983         (gst_mem_chunk_free):
22984         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
22985         (gst_object_ref), (gst_object_unref), (gst_object_sink),
22986         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
22987         (gst_object_dispatch_properties_changed),
22988         (gst_object_set_name_default), (gst_object_set_name),
22989         (gst_object_get_name), (gst_object_set_name_prefix),
22990         (gst_object_get_name_prefix), (gst_object_set_parent),
22991         (gst_object_get_parent), (gst_object_unparent),
22992         (gst_object_check_uniqueness), (gst_object_save_thyself),
22993         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
22994         (gst_object_set_property), (gst_object_get_property),
22995         (gst_object_get_path_string):
22996         * gst/gstobject.h:
22997         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
22998         (gst_real_pad_init), (gst_real_pad_get_property),
22999         (gst_pad_custom_new), (gst_pad_get_direction),
23000         (gst_pad_set_active), (gst_pad_is_active),
23001         (gst_pad_set_event_function), (gst_pad_is_linked),
23002         (gst_pad_link_free), (gst_pad_link_intersect),
23003         (gst_pad_link_fixate), (gst_pad_set_caps),
23004         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
23005         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
23006         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
23007         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
23008         (gst_pad_get_caps), (gst_pad_peer_get_caps),
23009         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
23010         (gst_pad_realize), (gst_pad_get_allowed_caps),
23011         (gst_real_pad_dispose), (gst_real_pad_finalize),
23012         (gst_pad_collectv), (gst_pad_collect_valist),
23013         (gst_pad_template_dispose), (gst_pad_template_new),
23014         (gst_pad_get_internal_links):
23015         * gst/gstpad.h:
23016         * gst/gstpipeline.c: (gst_pipeline_dispose),
23017         (gst_pipeline_change_state):
23018         * gst/gstpipeline.h:
23019         * gst/gstplugin.c:
23020         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
23021         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
23022         * gst/gstpluginfeature.h:
23023         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
23024         * gst/gstquery.c: (_gst_query_type_initialize),
23025         (gst_query_type_register), (gst_query_type_get_by_nick),
23026         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
23027         * gst/gstquery.h:
23028         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
23029         * gst/gstscheduler.c: (gst_scheduler_add_element),
23030         (gst_scheduler_factory_create):
23031         * gst/gststructure.c: (gst_structure_set_parent_refcount),
23032         (gst_structure_free), (gst_structure_set_name),
23033         (gst_structure_id_set_value), (gst_structure_set_value),
23034         (gst_structure_set_valist), (gst_structure_remove_field),
23035         (gst_structure_remove_fields),
23036         (gst_structure_remove_fields_valist),
23037         (gst_structure_remove_all_fields), (gst_structure_foreach),
23038         (gst_structure_map_in_place),
23039         (gst_caps_structure_fixate_field_nearest_int),
23040         (gst_caps_structure_fixate_field_nearest_double):
23041         * gst/gststructure.h:
23042         * gst/gstsystemclock.c: (gst_system_clock_class_init),
23043         (gst_system_clock_init), (gst_system_clock_dispose),
23044         (gst_system_clock_async_thread),
23045         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
23046         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
23047         * gst/gstsystemclock.h:
23048         * gst/gsttag.c: (gst_tag_list_add_value_internal),
23049         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
23050         * gst/gsttaginterface.c:
23051         * gst/gstthread.c: (gst_thread_dispose),
23052         (gst_thread_release_children_locks), (gst_thread_change_state),
23053         (gst_thread_main_loop):
23054         * gst/gsttrashstack.h:
23055         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
23056         * gst/gsttypes.h:
23057         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
23058         (gst_element_request_pad), (gst_element_get_pad_from_template),
23059         (gst_element_request_compatible_pad),
23060         (gst_element_get_compatible_pad_filtered),
23061         (gst_element_get_compatible_pad), (gst_element_state_get_name),
23062         (gst_element_link_pads_filtered), (gst_element_link_filtered),
23063         (gst_element_link_many), (gst_element_link),
23064         (gst_element_link_pads), (gst_element_unlink_pads),
23065         (gst_element_unlink_many), (gst_element_unlink),
23066         (gst_pad_can_link_filtered), (gst_pad_can_link),
23067         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
23068         (gst_object_default_error), (gst_bin_add_many),
23069         (gst_bin_remove_many), (gst_element_populate_std_props),
23070         (gst_element_class_install_std_props), (gst_buffer_merge),
23071         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
23072         (link_fold_func), (gst_pad_proxy_setcaps):
23073         * gst/gstutils.h:
23074         * gst/gstvalue.c: (gst_value_deserialize_string):
23075         * gst/parse/grammar.y:
23076         * gst/schedulers/gstbasicscheduler.c:
23077         (gst_basic_scheduler_cothreaded_chain),
23078         (gst_basic_scheduler_chain_recursive_add),
23079         (gst_basic_scheduler_pad_link):
23080         * gst/schedulers/gstoptimalscheduler.c:
23081         (get_group_schedule_function),
23082         (gst_opt_scheduler_state_transition),
23083         (gst_opt_scheduler_add_element), (element_get_reachables_func):
23084         * libs/gst/bytestream/bytestream.c:
23085         * libs/gst/dataprotocol/dataprotocol.c:
23086         (gst_dp_header_from_buffer):
23087         * po/nb.po:
23088         * po/ru.po:
23089         * tests/threadstate/threadstate2.c: (eos):
23090         * tools/gst-compprep.c: (main):
23091         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
23092         (print_pad_info), (print_children_info):
23093         * tools/gst-launch.c: (idle_func), (main):
23094         * tools/gst-md5sum.c: (idle_func), (main):
23095         * tools/gst-xmlinspect.c: (print_element_info):
23096         First THREADED backport attempt, focusing on adding locks and
23097         making sure the API is threadsafe. Needs more work. More docs
23098         follow this week.
23099
23100 2005-02-24  Andy Wingo  <wingo@pobox.com>
23101
23102         * tests/bench-complexity.scm:
23103         * tests/complexity.gnuplot: New files, good for running complexity
23104         benchmarks.
23105
23106         * tests/Makefile.am:
23107         * tests/complexity.c: New test, sets up N elements, at each level
23108         teeing into M streams per element. Eeeenteresting.
23109
23110         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
23111         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
23112         running bench-mass_elements.scm.
23113
23114         * tests/bench-mass_elements.scm: New script, runs mass_elements
23115         for various numbers of identities, outputting the results to a
23116         file. Requires guile 1.6. Just for testing.
23117
23118 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23119
23120         * gst/schedulers/fairscheduler.c:
23121           compile with debug disabled
23122
23123 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23124
23125         * configure.ac:
23126           hunting season on 0.9 is now OPEN