tools/: Don't create a customised man page based on the host architecture, describe...
[platform/upstream/gstreamer.git] / ChangeLog
1 2007-05-02  Tim-Philipp Müller  <tim at centricular dot net>
2
3         * tools/Makefile.am:
4         * tools/gst-launch.1.in:
5           Don't create a customised man page based on the host architecture,
6           describe the default registry path generically. That way the man
7           page is the same for all architectures and packagers have one
8           multilib issue less to deal with. Fixes #434926.
9
10 2007-05-02  Wim Taymans  <wim@fluendo.com>
11
12         * gst/gstpad.c:
13         Fix documentation as spotted by rg on IRC. 
14
15 2007-04-29  Stefan Kost  <ensonic@users.sf.net>
16
17         * gst/gstutils.c:
18           Improve docs for gst_element_{link,unlink}.
19
20 2007-04-28  Tim-Philipp Müller  <tim at centricular dot net>
21
22         * docs/design/part-events.txt:
23         * docs/design/part-overview.txt:
24         * gst/gstevent.c:
25         * gst/gsturi.c:
26         * gst/gsturi.h:
27         * libs/gst/base/gstbasesink.c:
28           Typo fixes; minor docs addition.
29
30 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
31
32         * docs/gst/gstreamer-sections.txt:
33         * gst/gsturi.c: (get_element_factories_from_uri_protocol),
34         (gst_uri_protocol_is_supported), (gst_element_make_from_uri):
35         * gst/gsturi.h:
36         API: Add gst_uri_protocol_is_supported(), which checks if an sink
37         or src that supports a given URI protocol exists.
38
39 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
40
41         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
42         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
43         Set the location to NULL if "file://" is set as URI. Otherwise
44         some random previous URI would still be set if "file://" is
45         set on an already used filesink/filesrc.
46
47 2007-04-27  Sebastian Dröge  <slomo@circular-chaos.org>
48
49         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
50         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
51         Special case the "file://" URI as as this is used by some
52         applications to test with gst_element_make_from_uri if there's
53         an element that supports the URI protocol.
54         Also move the g_path_is_absolute() check for the location part
55         of the URI to also check this for "file://localhost/bla" URIs.
56
57 2007-04-26  Tim-Philipp Müller  <tim at centricular dot net>
58
59         * docs/gst/gstreamer-sections.txt:
60         * gst/gstbuffer.c: (gst_buffer_try_new_and_alloc):
61         * gst/gstbuffer.h:
62         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
63         (gst_buffer_suite):
64           API: add gst_buffer_try_new_and_alloc() plus unit test (#431940).
65
66 2007-04-26  Stefan Kost  <ensonic@users.sf.net>
67
68         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
69         (gst_registry_binary_load_pad_template),
70         (gst_registry_binary_load_plugin),
71         (gst_registry_binary_read_cache):
72         * gst/gstregistrybinary.h:
73           Implement no-mmap alternative for registry reading. Do code cleanups.
74           Add more comments about avoiding strdups for all text data. Comments
75           welcome.
76
77 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
78
79         * gst/gstregistrybinary.h (GstBinaryPluginElement,
80           GstBinaryPluginFeature, _GstBinaryElementFactory, plugin_feature,
81           GstBinaryElementFactory, _GstBinaryTypeFindFactory, plugin_feature):
82           Comment structs and reformat to fix the build (that stuff should go
83           into a priv. header).
84
85 2007-04-25  Stefan Kost  <ensonic@users.sf.net>
86
87         * gst/gstregistrybinary.c: (gst_registry_binary_save_feature),
88         (gst_registry_binary_load_feature):
89         * gst/gstregistrybinary.h:
90           Refactor so that we can implement multiple features. Add support for
91           TypeFindFactory features.
92
93 2007-04-24  Stefan Kost  <ensonic@users.sf.net>
94
95         Patch by: Peter Kjellerstedt <Peter.Kjellerstedt@axis.com>
96
97         * configure.ac:
98           Fix AM_CONDITIONAL(GST_DISABLE_GST_DEBUG,...) and update comment.
99
100 2007-04-23  Stefan Kost  <ensonic@users.sf.net>
101
102         * gst/gstbin.c: (gst_bin_element_set_state),
103         (iterator_activate_fold_with_resync), (gst_bin_continue_func),
104         (bin_handle_async_done), (gst_bin_handle_message_func):
105           Fix build with --gst-disable-gst-debug
106
107 2007-04-21  Tim-Philipp Müller  <tim at centricular dot net>
108
109         * libs/gst/base/gstbasetransform.c: (gst_base_transform_activate):
110           Make sure streaming has finished before calling the ::stop() vfunc,
111           since that vfunc might clear state which is being used in the
112           streaming thread. This fixes a race that caused crashes in
113           audioresample when shutting down a pipeline (#420106).
114
115 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
116
117         * docs/gst/gstreamer-sections.txt:
118           That was one byte missing.
119
120 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
121
122         * configure.ac:
123         * docs/gst/gstreamer-sections.txt:
124         * gst/Makefile.am:
125         * gst/gstconfig.h.in:
126         * gst/gstobject.c: (gst_object_class_init),
127         (gst_signal_object_class_init):
128         * gst/gstobject.h:
129           2nd attempt to have a xml-less build as a joined effort of #413123
130           and #421480.
131
132 2007-04-20  Stefan Kost  <ensonic@users.sf.net>
133
134         * docs/design/draft-tagreading.txt:
135           Added open issues/thoughts to draft.
136
137 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
138
139         * gst/parse/grammar.tab.pre.c:
140         * gst/parse/grammar.tab.pre.h:
141         * gst/parse/lex._gst_parse_yy.pre.c:
142         Update the prebuild parser sources.
143
144 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
145
146         * gst/parse/Makefile.am:
147         And now fix the building of the flex sources. Now everything should
148         work as expected.
149
150 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
151
152         * gst/parse/Makefile.am:
153         Now hopefully fix the build failures by setting proper rule
154         dependencies and moving instead of copying.
155
156 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
157
158         * tests/benchmarks/complexity.gnuplot:
159         * tests/benchmarks/complexity.scm:
160         * tests/benchmarks/mass-elements.gnuplot:
161         * tests/benchmarks/mass-elements.scm:
162           Total licensification.
163
164 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
165
166         * gst/parse/Makefile.am:
167           Fix the build by correcting the rule that gave wrong files to flex.
168
169 2007-04-19  Stefan Kost  <ensonic@users.sf.net>
170
171         * tests/benchmarks/complexity.c:
172         * tests/benchmarks/mass-elements.c:
173           Change licence to LGPL as granted by Benjamin and Andy.
174
175 2007-04-19  Sebastian Dröge  <slomo@circular-chaos.org>
176
177         * gst/parse/Makefile.am:
178         Add correct grammar.tab.h dependency if compiling without new enough
179         flex. Fixes #431150.
180
181 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
182
183         * gst/parse/Makefile.am:
184         Fix typo and use outdated sources if the flex/bison sources are newer
185         than the pregenerated ones but flex is too old. Print a warning in
186         that case. This should fix the build on the build bot.
187
188 2007-04-18  Sebastian Dröge  <slomo@circular-chaos.org>
189
190         Patch by: Marc-Andre Lureau <marcandre dot lureau at gmail dot com>
191         * gst/parse/Makefile.am:
192         * gst/parse/grammar.y:
193         * gst/parse/parse.l:
194         Make the parser reentrant and recursively callable. This requires flex
195         >= 2.5.31, for older versions pregenerated sources are used as we
196         can't bump the build dependency. Finally fixes #349180.
197
198         * gst/gstparse.c: (gst_parse_launch):
199         Drop the HAVE_MT_SAVE_FLEX #ifdefs as we always use a new enough flex
200         now anyway.
201
202         * docs/gst/Makefile.am:
203         * docs/gst/Makefile.am:
204         * gst/parse/grammar.tab.pre.c: (__gst_parse_strdup),
205         (__gst_parse_strfree), (__gst_parse_link_new),
206         (__gst_parse_link_free), (__gst_parse_chain_new),
207         (__gst_parse_chain_free), (SET_ERROR), (YYPRINTF),
208         (gst_parse_element_set), (gst_parse_free_link),
209         (gst_parse_found_pad), (gst_parse_perform_delayed_link),
210         (gst_parse_perform_link), (yytnamerr), (yysyntax_error), (yyerror),
211         (_gst_parse_launch):
212         * gst/parse/grammar.tab.pre.h:
213         * gst/parse/lex._gst_parse_yy.pre.c: (PRINT), (yy_get_next_buffer),
214         (yy_get_previous_state), (yy_try_NUL_trans), (input),
215         (_gst_parse_yyrestart), (_gst_parse_yy_switch_to_buffer),
216         (_gst_parse_yy_load_buffer_state), (_gst_parse_yy_create_buffer),
217         (_gst_parse_yy_delete_buffer), (_gst_parse_yy_init_buffer),
218         (_gst_parse_yy_flush_buffer), (_gst_parse_yypush_buffer_state),
219         (_gst_parse_yypop_buffer_state),
220         (_gst_parse_yyensure_buffer_stack), (_gst_parse_yy_scan_buffer),
221         (_gst_parse_yy_scan_string), (_gst_parse_yy_scan_bytes),
222         (yy_fatal_error), (_gst_parse_yyget_extra),
223         (_gst_parse_yyget_lineno), (_gst_parse_yyget_column),
224         (_gst_parse_yyget_in), (_gst_parse_yyget_out),
225         (_gst_parse_yyget_leng), (_gst_parse_yyget_text),
226         (_gst_parse_yyset_extra), (_gst_parse_yyset_lineno),
227         (_gst_parse_yyset_column), (_gst_parse_yyset_in),
228         (_gst_parse_yyset_out), (_gst_parse_yyget_debug),
229         (_gst_parse_yyset_debug), (_gst_parse_yyget_lval),
230         (_gst_parse_yyset_lval), (_gst_parse_yylex_init),
231         (yy_init_globals), (_gst_parse_yylex_destroy), (yy_flex_strncpy),
232         (yy_flex_strlen), (_gst_parse_yyalloc), (_gst_parse_yyrealloc),
233         (_gst_parse_yyfree):
234         If the installed flex version is too old use pre-generated parser
235         sources. These pre-generated parser sources are always updated when
236         the actual flex/bison sources change but require everybody who wants
237         to change something in the parser to have flex >= 2.5.31 installed.
238
239 2007-04-18  Stefan Kost  <ensonic@users.sf.net>
240
241         * common/m4/gst-gettext.m4:
242         * gst/gst-i18n-lib.h:
243           Make --disable-nls to work
244
245 2007-04-17  Wim Taymans  <wim@fluendo.com>
246
247         * gst/gstconfig.h.in:
248         Revert previous change that broke the build.
249
250 2007-04-17  Stefan Kost  <ensonic@users.sf.net>
251
252         * configure.ac:
253         * gst/Makefile.am:
254         * gst/gstconfig.h.in:
255           Drop libxml2 dependency when building with 
256           --enable-binary-registry --disable-loadsave
257
258 2007-04-16  Tim-Philipp Müller  <tim at centricular dot net>
259
260         * gst/gstregistrybinary.c: (gst_registry_binary_write_cache),
261         (gst_registry_binary_read_cache):
262         * gst/gstregistrybinary.h:
263           Remove unnecessary <sys/mman.h> include which broke the win32 build
264           with MingW; move includes from header file to .c file, even if the
265           header file isn't installed; use g_strerror() where UTF-8 strings
266           are expected, such as in GST_DEBUG messages.
267
268 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
269
270         * docs/libs/gstreamer-libs-sections.txt:
271         Remove bogus addition for API I didn't end up keeping.
272
273         * libs/gst/base/gstbasesrc.h:
274         Mention Since: 0.10.13 in the documentation.
275
276         Add the API keyword to the previous ChangeLog entry.
277
278 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
279
280         * docs/libs/gstreamer-libs-sections.txt:
281         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
282         (gst_base_src_default_prepare_seek_segment),
283         (gst_base_src_prepare_seek_segment), (gst_base_src_perform_seek):
284         * libs/gst/base/gstbasesrc.h:
285         Allow basesrc derived classes to execute seeks in other formats
286         by providing a prepare_seek_segment vmethod. Sub-classes can choose
287         to prepare the GstSegment in any format that their perform_seek method
288         will be able to understand. The default implementation provides the
289         old behaviour of attempting to convert the seek offsets to the 
290         configured native format.
291
292         API: basesrc::prepare_seek_segment vmethod.
293
294 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
295
296         * gst/gstelement.c: (gst_element_get_state_func):
297         Don't output the same debug statement twice.
298
299         * libs/gst/base/gstadapter.c: (gst_adapter_try_to_merge_up),
300         (gst_adapter_peek), (gst_adapter_take_buffer):
301         Optimise the case where we have buffers at the head of the queue that
302         can be joined quickly (because they're contiguous sub-buffers) by
303         merging them together rather than copying data out into new memory.
304
305         * gst/parse/grammar.y:
306         * tests/check/pipelines/parse-launch.c:
307         Fix a leak in an error path for parse_launch, and add a check 
308         for it to the testsuite.
309
310 2007-04-13  Jan Schmidt  <thaytan@mad.scientist.com>
311
312         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
313           Don't deadlock when releasing a pad - gst_pad_set_active may try
314           and take the multiqueue lock too.
315
316 2007-04-12  Tim-Philipp Müller  <tim at centricular dot net>
317
318         * gst/gsterror.c: (_gst_core_errors_init):
319         * gst/gsterror.h:
320           API: add GST_CORE_ERROR_DISABLED (#392804).
321
322 2007-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
323
324         * docs/faq/gst-uninstalled:
325           don't get empty paths on the PATH variables
326         * gst/gstpad.c (gst_pad_is_active, gst_pad_set_blocked_async):
327           Don't format for the uncommon terminal width of 84 characters.
328
329 2007-04-06  Wim Taymans  <wim@fluendo.com>
330
331         * gst/gstpipeline.c: (reset_stream_time),
332         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time):
333         Only try to select a different pipeline clock when we went back to
334         PAUSED and not when we merely got flushed.
335
336 2007-04-05  Michael Smith  <msmith@fluendo.com>
337
338         * tools/gst-launch.1.in:
339           fractions are better supported in gstreamer than ractions, so
340           suggest using those.
341
342 2007-04-05  Thomas Vander Stichele  <thomas at apestaart dot org>
343
344         Submitted by: Mogens Jaeger <mogens@jaeger.tf>
345
346         * po/LINGUAS:
347         * po/da.po:
348           Added Danish translation.
349
350 2007-04-05  Wim Taymans  <wim@fluendo.com>
351
352         * libs/gst/base/gstbasesink.c:
353         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event):
354         Fix leak caused when refusing newsegment after EOS.
355
356         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
357         (gst_fake_sink_init), (gst_fake_sink_set_property),
358         (gst_fake_sink_get_property), (gst_fake_sink_preroll),
359         (gst_fake_sink_render), (gst_fake_sink_change_state):
360         * plugins/elements/gstfakesink.h:
361         Add num-buffers property to make the element generate EOS after a
362         configurable amount of buffers.
363         API: fakesink::num-buffers property.
364
365         * tests/check/elements/fakesink.c: (GST_START_TEST),
366         (fakesink_suite):
367         Fix GstBus leak in test.
368         Test for fakesink num-buffers.
369
370 2007-04-05  Wim Taymans  <wim@fluendo.com>
371
372         * libs/gst/base/gstbasesink.c:
373         (gst_base_sink_queue_object_unlocked), (gst_base_sink_event),
374         (gst_base_sink_change_state):
375         Don't accept anything after an EOS, return UNEXPECTED instead.
376
377         * tests/check/elements/fakesink.c: (GST_START_TEST),
378         (fakesink_suite):
379         Unit test for new EOS behaviour.
380
381 2007-04-05  Wim Taymans  <wim@fluendo.com>
382
383         * gst/gstelement.c: (gst_element_get_request_pad):
384         Make padtemplates also work when they don't contain %s or %d.
385
386 2007-04-05  Wim Taymans  <wim@fluendo.com>
387
388         * docs/gst/gstreamer-sections.txt:
389         * gst/gstclock.c: (gst_clock_adjust_unlocked),
390         (gst_clock_unadjust_unlocked), (gst_clock_set_calibration):
391         * gst/gstclock.h:
392         Improve _adjust_unlocked() so that it overflows less.
393         Add gst_clock_unadjust_unlocked to convert from external time to
394         internal time based on calibration.
395         Add some more debug.
396         API: GstClock::gst_clock_unadjust_unlocked()
397
398 2007-04-03  Wim Taymans  <wim@fluendo.com>
399
400         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
401
402         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_release_pad):
403         Deactivate pads and free GstSingleQueue with gst_single_queue_free()
404         when releasing sink pad. Fixes #425400.
405
406 2007-04-02  Stefan Kost  <ensonic@users.sf.net>
407
408         * docs/random/ensonic/dynlink.txt:
409           More work on proposal for new core api.
410
411         * docs/libs/gstreamer-libs-sections.txt:
412         * libs/gst/base/gstbasetransform.h:
413           API: GST_BASE_TRANSFORM_LOCK/UNLOCK added
414           
415         * libs/gst/controller/gstcontroller.c:
416         (on_object_controlled_property_changed),
417         (gst_controller_sync_values),
418         (gst_controller_set_interpolation_mode):
419         * libs/gst/controller/gstcontroller.h:
420           Less verbose logging add docs for unimplemented parts and correctly
421           return when using unavailable parts.
422
423 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
424
425         * gst/gstclock.c: (gst_clock_set_master), (do_linear_regression):
426         Move all the debug to the CLOCK category, and associate it with
427         the clock object.
428
429 2007-03-29  Jan Schmidt  <thaytan@mad.scientist.com>
430
431         * libs/gst/base/gstadapter.c: (gst_adapter_take_buffer):
432         Make take_buffer a bit quicker by removing redundant checks
433         caused by calling gst_adapter_take.
434
435 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
436
437         * plugins/elements/gstmultiqueue.c: (gst_single_queue_free):
438           Don't leak GCond.
439
440         * tests/check/Makefile.am:
441         * tests/check/elements/.cvsignore:
442         * tests/check/elements/multiqueue.c: (setup_multiqueue),
443         (GST_START_TEST), (multiqueue_suite):
444           Add some dead simple unit tests for the 'multiqueue' element
445           (some bits don't work yet and are disabled for now).
446
447 2007-03-28  Tim-Philipp Müller  <tim at centricular dot net>
448
449         * gst/gstelement.c: (gst_element_get_request_pad),
450         (gst_element_class_get_request_pad_template):
451           Make gst_element_get_request_pad() create request pads only for
452           request pad templates and not for, say, sometimes pad templates.
453
454 2007-03-28  Stefan Kost  <ensonic@users.sf.net>
455
456         * docs/design/draft-klass.txt:
457           Add example that needs more thinking.
458         
459         * docs/design/draft-missing-plugins.txt:
460           More thoughts about wrapper plugins.
461         
462         * docs/random/ensonic/embedded.txt:
463         * docs/random/ensonic/profiling.txt:
464           More design work.
465
466 2007-03-25  Wim Taymans  <wim@fluendo.com>
467
468         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range),
469         (gst_base_src_loop):
470         Only push the segment events in the PLAYING state for live sources.
471
472 2007-03-23  Jan Schmidt  <thaytan@mad.scientist.com>
473
474         * gst/gstpipeline.c: (gst_pipeline_change_state):
475         Modify the clock distribution path in PAUSED->PLAYING so that we 
476         never attempt to choose a new clock unless we're actually leaving
477         the PAUSED state for the first time. This prevents choosing a
478         different clock when the state_change gets called for a 2nd time due
479         to some element doing an async state change.
480
481 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
482
483         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_configure_sink),
484         (gst_pad_configure_src), (gst_pad_alloc_buffer_full),
485         (gst_pad_chain_unchecked), (gst_pad_push):
486         Revert last commit. This needs some more thoughts.
487
488 2007-03-22  Sebastian Dröge  <slomo@circular-chaos.org>
489
490         * gst/gstpad.c: (gst_pad_set_caps), (gst_pad_alloc_buffer_full),
491         (gst_pad_chain_unchecked), (gst_pad_push):
492         Check in set_caps if the caps are compatible with the pad and remove
493         two functions that are redundant now. Fixes #421543.
494
495 2007-03-22  Wim Taymans  <wim@fluendo.com>
496
497         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
498         (mixed_thread), (mixed_async_cb), (gst_systemclock_suite):
499         Unref some more to make valgrind happy.
500
501 2007-03-22  Wim Taymans  <wim@fluendo.com>
502
503         * gst/gstsystemclock.c: (gst_system_clock_id_wait_jitter_unlocked),
504         (gst_system_clock_id_wait_jitter),
505         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
506         Fix anoying regression that survived a few releases. When adding an
507         async entry while blocking on a sync entry, the sync entry will unblock
508         but still be busy, so it should continue to wait instead of returning
509         _BUSY to the app.
510         Add some comments here and there.
511
512         * tests/check/gst/gstsystemclock.c: (mixed_thread),
513         (mixed_async_cb), (GST_START_TEST), (gst_systemclock_suite):
514         Add testcase for this.
515
516 2007-03-22  Wim Taymans  <wim@fluendo.com>
517
518         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
519         Handle errors from the clock sync better, only UNSCHEDULED indicates a
520         WRONG_STATE and can silently pause the task. All other cases should
521         error out.
522
523 2007-03-22  Wim Taymans  <wim@fluendo.com>
524
525         Patch by: <syrjala at sci dot fi>
526
527         * gst/gstpad.c: (gst_pad_alloc_buffer_full), (gst_pad_send_event):
528         Fix possible deadlock if pad eventfunc is not specified.  Fixes #421177.
529         Improve debugging.
530
531 2007-03-21  Michael Smith  <msmith@fluendo.com>
532
533         * docs/pwg/advanced-types.xml:
534           Fix some errors in the typefinding docs pointed out on irc.
535
536 2007-03-21  Jan Schmidt  <thaytan@mad.scientist.com>
537
538         * libs/gst/base/gstbasesrc.c:
539         Clarify FIXME comment in the face of having added unlock_stop()
540
541 2007-03-21  Wim Taymans  <wim@fluendo.com>
542
543         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_element_set_state):
544         Prepare for release where we warn against possible app breakage in the
545         case of live pipelines along with an env var to enable/disable live
546         preroll mode (GST_COMPAT=[no-]live-preroll).
547
548 2007-03-20  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
549
550         * plugins/elements/gstidentity.c (gst_identity_check_imperfect_offset):
551         So we should use correct constants for checking for None offset.
552
553 2007-03-20  Wim Taymans  <wim@fluendo.com>
554
555         * docs/design/part-block.txt:
556         Mention the fact that the newly switched element should be set to at
557         least PAUSED.
558
559 2007-03-20  Wim Taymans  <wim@fluendo.com>
560
561         * gst/gst.c:
562         Fix compilation with registry disabled as spotted by Saur.
563
564 2007-03-20  Wim Taymans  <wim@fluendo.com>
565
566         Patch by: Olivier Crete <tester at tester dot ca>
567
568         * gst/gstelement.c: (gst_element_sync_state_with_parent):
569         Look at the pending state too when syncing the element state to the
570         parent. Fixes #420133.
571
572 2007-03-19  Jan Schmidt  <thaytan@mad.scientist.com>
573
574         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
575         (gst_base_sink_change_state):
576         * libs/gst/base/gstbasesink.h:
577         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
578         (gst_base_src_default_event), (gst_base_src_unlock_stop),
579         (gst_base_src_deactivate):
580         * libs/gst/base/gstbasesrc.h:
581         Add ::unlock_stop to basesrc and basesink. This allows an opportunity
582         for sub-classes to correctly clear any state they set trying to
583         unlock, such as clearing out unlock commands from a command fd.
584
585         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init),
586         (gst_fd_sink_render), (gst_fd_sink_unlock),
587         (gst_fd_sink_unlock_stop):
588         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init),
589         (gst_fd_src_init), (gst_fd_src_unlock), (gst_fd_src_unlock_stop),
590         (gst_fd_src_create), (gst_fd_src_get_size), (gst_fd_src_do_seek):
591
592         Implement unlock_stop in fdsrc and fdsink.
593         Implement seeking in fdsrc when a seekable fd is passed, as in
594         gst-launch-0.10 fdsrc ! ... ! xvimagesink < /path/to/file
595
596 2007-03-19  Wim Taymans  <wim@fluendo.com>
597
598         Patch by: Evan Nemerson <evan at coeus dash group dot com>
599
600         * gst/gstelement.c: (gst_element_class_init):
601         Fix pad-added and pad-removed signal signatures so that the pad type is
602         stated as GST_TYPE_PAD instead of G_TYPE_OBJECT. Fixes #419851.
603
604 2007-03-19  Wim Taymans  <wim@fluendo.com>
605
606         * docs/gst/gstreamer-sections.txt:
607         Add new element field and method.
608
609         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
610         (bin_remove_messages), (gst_bin_add_func), (gst_bin_remove_func),
611         (gst_bin_recalc_state), (gst_bin_get_state_func),
612         (gst_bin_element_set_state), (gst_bin_change_state_func),
613         (gst_bin_continue_func), (bin_bus_handler),
614         (bin_push_state_continue), (bin_handle_async_start),
615         (bin_handle_async_done), (gst_bin_handle_message_func):
616         Make async state changes a bit smarter by using new ASYNC_START and
617         ASYNC_DONE messages. This reduces the number of times we run the state
618         recalculation thread.
619         Don't change state of element with a pending ASYNC_START message.
620         Deprecate STATE_DIRTY messages.
621         
622         * gst/gstelement.c: (gst_element_init), (gst_element_send_event),
623         (gst_element_get_state_func), (gst_element_continue_state),
624         (gst_element_lost_state), (gst_element_set_state_func),
625         (gst_element_change_state):
626         * gst/gstelement.h:
627         Keep the state that was last set by the app in a new element field.
628         Don't allow state changes when handling an element event.
629         Post ASYNC_START and ASYNC_DONE messages.
630         Change lost_state so that we go to PAUSED and wait for the parent to set
631         us to PLAYING again (so latency calculation can be performed)
632         Export gst_element_change_state() method so that subclasses can use it.
633         API: gst_element_change_state()
634         API: GST_STATE_TARGET
635
636         * gst/gstpipeline.c: (gst_pipeline_class_init),
637         (reset_stream_time), (gst_pipeline_change_state),
638         (gst_pipeline_handle_message), (gst_pipeline_set_new_stream_time):
639         Using the new ASYNC_START message we can reset the base_time when
640         needed. This can then be used to implement base_time redistribution in
641         flushing seeks so that we can remove the explicit seek handling.
642         Perform latency query and configuration when going to PLAYING.
643
644         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
645         (gst_base_sink_query), (gst_base_sink_change_state):
646         Post new ASYNC_START/ASYNC_DONE messages.
647
648         * tests/check/generic/sinks.c: (GST_START_TEST):
649         Fix test because the bin will not set the async element to PLAYING right
650         away.
651
652         * tests/check/gst/gstbin.c: (pop_async_done), (GST_START_TEST):
653         Make the message check a little stronger.
654         Handle ASYNC messages.
655
656         * tests/check/pipelines/cleanup.c: (GST_START_TEST):
657         * tests/check/pipelines/simple-launch-lines.c: (GST_START_TEST):
658         Expect ASYNC_DONE messages.
659
660 2007-03-19  Wim Taymans  <wim@fluendo.com>
661
662         * docs/gst/gstreamer-sections.txt:
663         * gst/gstmessage.c: (gst_message_new_async_start),
664         (gst_message_new_async_done), (gst_message_parse_info),
665         (gst_message_parse_async_start):
666         * gst/gstmessage.h:
667         Add ASYNC_START and ASYNC_DONE messages to prepare for latency
668         support.
669
670 2007-03-15  Tim-Philipp Müller  <tim at centricular dot net>
671
672         * tools/gst-inspect.c:
673         (print_plugin_automatic_install_info_codecs):
674           Now that we don't check for the 'Codec' keyword any longer in the
675           klass, we shouldn't spew a warning if the klass isn't a decoder or
676           encoder (since it might be a Source/Network, for example).
677
678 2007-03-14  Tim-Philipp Müller  <tim at centricular dot net>
679
680         * tools/gst-inspect.c:
681         (print_plugin_automatic_install_info_codecs):
682           Don't require decoder/demuxer/depayloader elements or
683           encoder/muxer/paylader elements to have 'Codec' as part of their
684           factory class string when introspecting a plugin's capabilities.
685           draft-klass.txt mentions that it might be removed in future, and
686           flump3dec doesn't have it as part of its class string, so chances
687           are others might also not have it.
688
689 2007-03-14  Thomas Vander Stichele  <thomas at apestaart dot org>
690
691         * po/af.po:
692         * po/az.po:
693         * po/bg.po:
694         * po/ca.po:
695         * po/cs.po:
696         * po/de.po:
697         * po/en_GB.po:
698         * po/fr.po:
699         * po/it.po:
700         * po/nb.po:
701         * po/nl.po:
702         * po/ru.po:
703         * po/sq.po:
704         * po/sr.po:
705         * po/sv.po:
706         * po/tr.po:
707         * po/uk.po:
708         * po/vi.po:
709         * po/zh_CN.po:
710         * po/zh_TW.po:
711           Update translations from translation project
712
713 2007-03-14  Stefan Kost  <ensonic@users.sf.net>
714
715         * gst/gstchildproxy.c: (gst_child_proxy_get_property),
716         (gst_child_proxy_set_property):
717           Invert precondition check to be alike the ones in the mimiced gobject
718           api.
719
720 2007-03-13  Stefan Kost  <ensonic@users.sf.net>
721
722         * docs/design/draft-tagreading.txt:
723         * docs/random/ensonic/audiobaseclasses.txt:
724           Do some Architect work.
725
726         * gst/gstobject.c: (gst_object_set_name):
727           Add a WARNING.
728
729         * gst/gstpad.c:
730           Add docs that point from gst_pad_get_range to gst_pad_pull_range
731
732 2007-03-12  Jan Schmidt  <thaytan@mad.scientist.com>
733
734         * gst/gstsystemclock.c: (gst_system_clock_init),
735         (gst_system_clock_start_async), (gst_system_clock_id_wait_async):
736         Defer starting the async system clock thread until the first async
737         wait is scheduled. Fixes #414986.
738
739 2007-03-12  Tim-Philipp Müller  <tim at centricular dot net>
740
741         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_finalize),
742         (gst_single_queue_free):
743           Fix small leak (free GstSingleQueue structure too, not only contents).
744
745 2007-03-10  Sebastien Moutte  <sebastien@moutte.net>
746
747         * gst/gstbin.c:(gst_bin_add):
748         Use GST_STR_NULL to prevent NULL pointer to be passed to GST_CAT_DEBUG.
749         * win32/common/libgstbase.def:
750         * win32/common/libgstreamer.def:
751         Add new exported functions.
752
753 2007-03-09  Wim Taymans  <wim@fluendo.com>
754
755         * docs/plugins/gstreamer-plugins-sections.txt:
756         Fix GstTee docs.
757
758 2007-03-09  Wim Taymans  <wim@fluendo.com>
759
760         * docs/gst/gstreamer-sections.txt:
761         * gst/gstbuffer.c: (gst_buffer_copy_metadata), (_gst_buffer_copy):
762         * gst/gstbuffer.h:
763         Add metadata copy functions. Fixes #393099.
764
765         * gst/gstutils.c: (gst_buffer_stamp):
766         * libs/gst/base/gstbasetransform.c:
767         (gst_base_transform_prepare_output_buffer):
768         Use new metadata copy functions.
769
770 2007-03-09  Thomas Vander Stichele  <thomas at apestaart dot org>
771
772         * plugins/elements/gstidentity.c: (gst_identity_class_init),
773         (gst_identity_init), (gst_identity_check_perfect),
774         (gst_identity_check_imperfect_timestamp),
775         (gst_identity_check_imperfect_offset), (gst_identity_transform_ip),
776         (gst_identity_set_property), (gst_identity_get_property):
777         * plugins/elements/gstidentity.h:
778         Separate out check-imperfect-timestamp and check-imperfect-offset.
779         Put back check-perfect as it was to keep compatibility.
780
781 2007-03-09  Jan Schmidt  <thaytan@mad.scientist.com>
782
783         * gst/gstelement.c: (gst_element_dispose):
784         There's no need to warn if VOID_PENDING is not NONE here, as
785         long as the state is NULL it's ok, and that's checked immediately
786         above.
787
788 2007-03-08  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
789
790         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
791         Fix check for perfect stream to ignore buffers with -1 
792         offsets/offset ends when checking data contiguity.
793
794 2007-03-08  Wim Taymans  <wim@fluendo.com>
795
796         * tools/gst-launch.c: (event_loop):
797         Print INFO messages.
798
799 2007-03-08  Wim Taymans  <wim@fluendo.com>
800
801         * libs/gst/base/gstbasetransform.c:
802         (gst_base_transform_sink_eventfunc),
803         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
804         (gst_base_transform_activate):
805         * libs/gst/base/gstbasetransform.h:
806         Add support for dropping buffers with custom GstFlowReturn.
807         Set DISCONT flags on outgoing buffers based on QoS, incomming DISCONT
808         buffers or dropped buffers.
809
810         * docs/libs/gstreamer-libs-sections.txt:
811         docs for new custom return code.
812
813         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
814         Use drop support in base class to implement drop-probability.
815
816 2007-03-07  Tim-Philipp Müller  <tim at centricular dot net>
817
818         * gst/gst.c: (load_plugin_func):
819         * gst/gstplugin.c: (gst_plugin_load_by_name), (gst_plugin_load):
820         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
821         * gst/gsttrace.c: (gst_trace_new), (gst_alloc_trace_set_flags_all):
822           Remove newlines at end of debug log strings.
823
824 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
825
826         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
827         Only post bus message at max, once per buffer received.
828
829 2007-03-07  Wim Taymans  <wim@fluendo.com>
830
831         * docs/design/Makefile.am:
832         * docs/design/part-synchronisation.txt:
833         Add doc about synchronisation
834
835         * docs/design/draft-latency.txt:
836         * docs/design/part-TODO.txt:
837         * docs/design/part-clocks.txt:
838         * docs/design/part-events.txt:
839         * docs/design/part-gstbus.txt:
840         * docs/design/part-gstpipeline.txt:
841         * docs/design/part-live-source.txt:
842         * docs/design/part-messages.txt:
843         * docs/design/part-overview.txt:
844         * docs/design/part-streams.txt:
845         * docs/design/part-trickmodes.txt:
846         Documentation updates.
847
848 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
849
850         * gstreamer.doap:
851         Update the doap file.
852
853 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
854
855         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
856         Rename non-perfect to imperfect for Mike and for the sanctity of the
857         language.
858         Also make sure bus message gets emitted for data-incontiguities.
859
860 2007-03-07  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
861
862         * plugins/elements/gstidentity.c: (gst_identity_check_perfect),
863         (gst_identity_start):
864         * plugins/elements/gstidentity.h:
865         Emit bus message if check-perfect is true and we encounter a
866         non-perfect stream between 2 consecutive buffers.
867         Fixes #415394.
868
869 2007-03-07  Jan Schmidt  <thaytan@mad.scientist.com>
870
871         * configure.ac:
872         Back to CVS
873
874 === release 0.10.12 ===
875
876 2007-03-07  Jan Schmidt <thaytan@mad.scientist.com>
877
878         * configure.ac:
879           releasing 0.10.12, "Inevitable Demise"
880
881 2007-03-01  Jan Schmidt  <thaytan@mad.scientist.com>
882
883         * configure.ac:
884          Version 0.10.11.2 (0.10.12 pre-release)
885          Bump libtool versioning.
886
887 2007-03-01  Stefan Kost  <ensonic@users.sf.net>
888
889         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
890           Log flow-names and not numbers.
891
892 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
893
894         * configure.ac:
895           Convert to new AG_GST style.
896
897 2007-02-28  Wim Taymans  <wim@fluendo.com>
898
899         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency):
900         Don't unref query twice.
901
902 2007-02-28  Wim Taymans  <wim@fluendo.com>
903
904         * gst/gstvalue.c: (gst_value_transform_object_string),
905         (_gst_value_initialize):
906         Implement GstObject -> string transform so we print object names
907         when serializing GValues containing GstObjects.
908
909 2007-02-28  Wim Taymans  <wim@fluendo.com>
910
911         * docs/gst/gstreamer-sections.txt:
912         Add new stuff to docs.
913
914 2007-02-28  Wim Taymans  <wim@fluendo.com>
915
916         * libs/gst/base/gstbasesink.c: (gst_base_sink_query_latency),
917         (gst_base_sink_queue_object_unlocked), (gst_base_sink_send_event),
918         (gst_base_sink_change_state):
919         Improve latency query code.
920         Don't leak latency events.
921
922         * tests/check/gst/gstbin.c: (GST_START_TEST):
923         Improve debugging.
924
925 2007-02-28  Wim Taymans  <wim@fluendo.com>
926
927         * gst/gstelement.c: (gst_element_message_full),
928         (gst_element_get_state_func):
929         * gst/gstelement.h:
930         Improve docs a little. Added Since: for new macro.
931
932         * gst/gstobject.c: (gst_object_sink):
933         * gst/gstpipeline.c: (gst_pipeline_change_state),
934         (gst_pipeline_set_new_stream_time):
935         * gst/gstpipeline.h:
936         Improve debugging and docs.
937
938         * gst/gstutils.c: (gst_element_state_change_return_get_name):
939         Improve debugging.
940
941 2007-02-28  Wim Taymans  <wim@fluendo.com>
942
943         * gst/gstelement.c: (gst_element_message_full),
944         (gst_element_set_locked_state), (gst_element_get_state_func),
945         (gst_element_change_state):
946         Handle INFO messages from the GST_ELEMENT_INFO macro as well.
947         Documentation updates.
948         Small code cleanups.
949
950         * gst/gstmessage.c: (gst_message_new_info),
951         (gst_message_parse_info):
952         * gst/gstmessage.h:
953         API: gst_message_new_info()
954         API: gst_message_parse_info()
955         Add INFO message create and parse code.
956
957 2007-02-28  Wim Taymans  <wim@fluendo.com>
958
959         * gst/gstbin.c: (bin_query_min_max_init), (bin_query_latency_fold),
960         (bin_query_latency_done):
961         Also report the live parameter of a latency query.
962
963 2007-02-28  Thomas Vander Stichele  <thomas at apestaart dot org>
964
965         * tests/check/generic/states.c: (GST_START_TEST), (states_suite):
966           Copy the current generic/states example from -base and adapt so
967           we can use the exact same code everywhere.
968           Check a STATES_IGNORE_ELEMENTS env var which can be used
969           to ignore certain element factories for this test, which is
970           what is being done in -base
971         * tests/check/Makefile.am:
972           Mention this environment variable.
973
974 2007-02-27  Wim Taymans  <wim@fluendo.com>
975
976         * docs/gst/gstreamer-sections.txt:
977         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
978         (gst_bus_timed_pop), (gst_bus_pop):
979         * gst/gstbus.h:
980         API: gst_bus_timed_pop()
981         Implement gst_bus_timed_pop() to do a blocking timed wait for a
982         message to arrive on the bus.
983
984         * tests/check/gst/gstbus.c: (GST_START_TEST), (pop_thread),
985         (gst_bus_suite):
986         Two unit tests for new _timed_pop() function.
987
988 2007-02-23  Wim Taymans  <wim@fluendo.com>
989
990         * gst/gstpipeline.c: (gst_pipeline_change_state),
991         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay):
992         Don't ref a NULL clock in _provide_clock_func().
993         Don't allow an INVALID delay.
994         Don't try to calculate base_time with an invalid start_time.
995         Also distribute and notify a NULL clock when it was selected.
996
997         * tools/gst-launch.c: (event_loop):
998         Don't crash when a NULL clock was selected in the pipeline.
999
1000 2007-02-23  Tim-Philipp Müller  <tim at centricular dot net>
1001
1002         * docs/design/Makefile.am:
1003         * docs/design/draft-missing-plugins.txt:
1004         * docs/random/draft-missing-plugins.txt:
1005           Some small updates: update plugin system identifier prefix
1006           ('gstreamer.net' to 'gstreamer'), mention our new install
1007           API in libgstbaseutils rather than libgimme-codec, add
1008           reference to the online docs.
1009
1010 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1011
1012         * win32/common/config.h:
1013           Pretty sure Bill never made a powerpc version.  Powerpc hackers,
1014           use moap cl ci to only check in what is mentioned in the ChangeLog.
1015
1016 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1017
1018         * docs/gst/gstreamer-sections.txt:
1019         * gst/gstelement.h:
1020           Fix up documentation to link to the correct GstGError section.
1021           Add GST_ELEMENT_INFO macro since someone else added a Info message.
1022
1023 2007-02-21  Thomas Vander Stichele  <thomas at apestaart dot org>
1024
1025         * tools/gst-launch.c: (event_loop):
1026           Make sure that we actually show the important message part of a
1027           warning message.
1028           No need to check if the gerror is not NULL to free; first of all
1029           g_free accepts NULL; and second the default error handler would
1030           segfault if gerror was NULL.
1031
1032 2007-02-21  Wim Taymans  <wim@fluendo.com>
1033
1034         * docs/gst/gstreamer-sections.txt:
1035         Removed docs as well.
1036
1037 2007-02-21  Wim Taymans  <wim@fluendo.com>
1038
1039         * gst/gstmessage.c: (gst_message_parse_duration):
1040         * gst/gstmessage.h:
1041         Remove new messages for release.
1042
1043 2007-02-20  Wim Taymans  <wim@fluendo.com>
1044
1045         * docs/design/part-gstghostpad.txt:
1046         * gst/gstghostpad.c: (gst_ghost_pad_dispose),
1047         (gst_ghost_pad_new_full):
1048         Make the ghostpad a parent of the internal pad again for better backward
1049         compatibility. Don't write code that relies on this however.
1050
1051         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
1052         (gst_pad_link_check_hierarchy):
1053         Require that parents should be GstElements in the hierarchy check.
1054
1055 2007-02-20  Wim Taymans  <wim@fluendo.com>
1056
1057         * gst/gstbin.c: (bin_replace_message), (gst_bin_add_func),
1058         (gst_bin_change_state_func), (bin_query_min_max_init),
1059         (bin_query_latency_fold), (bin_query_latency_done),
1060         (gst_bin_query):
1061         Improve debug info.
1062         Implement latency query.
1063
1064 2007-02-20  Wim Taymans  <wim@fluendo.com>
1065
1066         * docs/design/part-gstghostpad.txt:
1067         * gst/gstghostpad.c: (gst_ghost_pad_class_init),
1068         (gst_ghost_pad_internal_do_activate_push),
1069         (gst_ghost_pad_internal_do_activate_pull),
1070         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
1071         (gst_ghost_pad_do_link), (gst_ghost_pad_dispose),
1072         (gst_ghost_pad_new_full), (gst_ghost_pad_set_target):
1073         Do not set the internal pad as a parent anymore so we can avoid
1074         hierarchy linking errors when the ghostpad has no parent yet. This also
1075         fixes failed activation because of unlinked internal pads, which in
1076         turn fixes the impossible case where you have to activate a pad before
1077         you can add it to a running element.
1078         Also fix the docs.
1079
1080         * gst/gstpad.c: (pre_activate), (post_activate),
1081         (gst_pad_set_active), (gst_pad_activate_pull),
1082         (gst_pad_activate_push), (gst_pad_check_pull_range):
1083         Add some more debug info.
1084         Mark activation mode in pre_activate so that we don't try to activate in
1085         endless loops. Fixes #385084.
1086
1087 2007-02-19  Wim Taymans  <wim@fluendo.com>
1088
1089         * libs/gst/base/gstbasetransform.c: (gst_base_transform_init),
1090         (gst_base_transform_check_get_range):
1091         Implement a checkgetrange function instead of relying on the default
1092         core behaviour that assumes we can operate in pull mode if we have a
1093         getrange function. First step at fixing #385084.
1094
1095 2007-02-15  Stefan Kost  <ensonic@users.sf.net>
1096
1097         * gst/gstchildproxy.h:
1098         * libs/gst/base/gstbasesink.h:
1099         * libs/gst/base/gstbasesrc.h:
1100         * libs/gst/base/gstbasetransform.h:
1101         More docs coverage and some ChangeLog surgery (add missing names)
1102
1103 2007-02-15  Wim Taymans  <wim@fluendo.com>
1104
1105         * docs/design/part-TODO.txt:
1106         * docs/design/part-activation.txt:
1107         * docs/design/part-block.txt:
1108         * docs/design/part-buffering.txt:
1109         * docs/design/part-clocks.txt:
1110         * docs/design/part-element-source.txt:
1111         * docs/design/part-events.txt:
1112         * docs/design/part-gstbin.txt:
1113         * docs/design/part-gstbus.txt:
1114         * docs/design/part-gstpipeline.txt:
1115         * docs/design/part-live-source.txt:
1116         * docs/design/part-messages.txt:
1117         * docs/design/part-overview.txt:
1118         * docs/design/part-qos.txt:
1119         * docs/design/part-query.txt:
1120         * docs/design/part-states.txt:
1121         * docs/design/part-trickmodes.txt:
1122         Some doc updates. Start renaming from stream_time to running_time where
1123         it was used wrongly.
1124
1125 2007-02-15  Wim Taymans  <wim@fluendo.com>
1126
1127         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
1128         Answer LATENCY query.
1129
1130 2007-02-15  Wim Taymans  <wim@fluendo.com>
1131
1132         * tests/check/gst/gstevent.c: (event_probe), (test_event),
1133         (GST_START_TEST):
1134         Improve debugging.
1135
1136 2007-02-15  Wim Taymans  <wim@fluendo.com>
1137
1138         * gst/gstpad.c: (gst_pad_get_internal_links_default),
1139         (gst_pad_dispatcher):
1140         Improve debugging of default pad dispatcher and query functions.
1141
1142 2007-02-15  Wim Taymans  <wim@fluendo.com>
1143
1144         * docs/gst/gstreamer-sections.txt:
1145         Remove old unused method.
1146
1147 2007-02-13  Wim Taymans  <wim@fluendo.com>
1148
1149         * tests/check/gst/gstsegment.c: (GST_START_TEST):
1150         Fix check
1151
1152 2007-02-13  Wim Taymans  <wim@fluendo.com>
1153
1154         * docs/design/part-seeking.txt:
1155         Some small update.
1156
1157         * gst/gstsegment.c: (gst_segment_set_seek):
1158         Revert old bogus change that should make seeking work again.
1159
1160 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
1161
1162         * docs/random/ensonic/dynlink.txt:
1163         * docs/random/ensonic/interfaces.txt:
1164         * docs/random/ensonic/receipies.txt:
1165           Possible dynamic reconnection api, plus some type fixes the other two
1166           docs.
1167
1168 2007-02-13  Sebastian Dröge  <slomo@circular-chaos.org>
1169
1170         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1171         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1172         Also check for an absolute path following file:// in the filesrc
1173         element. Remove redundant check and call g_path_is_absolute() on the
1174         unescaped location.
1175
1176 2007-02-13  Stefan Kost  <ensonic@users.sf.net>
1177
1178         * docs/design/draft-klass.txt:
1179           Add existing category analysis.
1180           
1181         * gst/gstcaps.c:
1182           Fix doc example, framerate is a fraction.
1183
1184 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
1185
1186         * configure.ac:
1187         * docs/gst/Makefile.am:
1188         * docs/gst/gstreamer-sections.txt:
1189         * docs/libs/Makefile.am:
1190           Erm, forgot a bunch of --extra-dir.
1191
1192 2007-02-12  Stefan Kost  <ensonic@users.sf.net>
1193
1194         * configure.ac:
1195         * docs/gst/Makefile.am:
1196         * docs/libs/Makefile.am:
1197         * docs/plugins/Makefile.am:
1198           Add crossreferences to glib/gobject docs.
1199
1200 2007-02-12  Wim Taymans  <wim@fluendo.com>
1201
1202         * docs/design/draft-latency.txt:
1203         Small update.
1204
1205         * docs/libs/gstreamer-libs-sections.txt:
1206         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
1207         (gst_base_sink_get_latency), (gst_base_sink_query_latency),
1208         (gst_base_sink_wait_clock), (gst_base_sink_send_qos),
1209         (gst_base_sink_perform_qos), (gst_base_sink_queue_object_unlocked),
1210         (gst_base_sink_chain_unlocked), (gst_base_sink_send_event),
1211         (gst_base_sink_get_position), (gst_base_sink_query),
1212         (gst_base_sink_change_state):
1213         * libs/gst/base/gstbasesink.h:
1214         API: gst_base_sink_query_latency() to let subclasses query the upstream
1215         latency.
1216         API: gst_base_sink_get_latency() to let subclasses query the configured
1217         latency in the sink.
1218         Implement query and set latency.
1219         Update some docs.
1220         As spotted by Will Newton <will dot newton at gmail dot com>: Make sure we
1221         don't continue preroll when we are flushing. Fixes #405284.
1222
1223         * tests/check/pipelines/stress.c: (change_state_timeout),
1224         (quit_timeout), (GST_START_TEST), (stress_suite):
1225         Test for #405284.
1226
1227 2007-02-09  Tim-Philipp Müller  <tim at centricular dot net>
1228
1229         Patch by: René Stadler <mail at renestadler de>
1230
1231         * docs/gst/gstreamer-sections.txt:
1232         * gst/gsttaglist.c: (_gst_tag_initialize):
1233         * gst/gsttaglist.h:
1234           API: add GST_TAG_REFERENCE_LEVEL (#403597).
1235
1236 2007-02-11  Stefan Kost  <ensonic@users.sf.net>
1237
1238         * docs/libs/Makefile.am:
1239           Fix path to core docs.
1240
1241         * gst/gstbin.c: (gst_bin_get_by_interface),
1242         (gst_bin_iterate_all_by_interface):
1243           Refix docs by also renaming 'interface' to 'iface' in implementation.
1244
1245         * docs/gst/gstreamer-sections.txt:
1246         * gst/gstcaps.c:
1247         * gst/gstchildproxy.c: (gst_child_proxy_base_init):
1248         * gst/gstchildproxy.h:
1249         * gst/gstelementfactory.c:
1250         * gst/gstpadtemplate.h:
1251         * libs/gst/controller/gstcontroller.c:
1252         (gst_controlled_property_new):
1253           Document more.
1254
1255 2007-02-10  Sébastien Moutte  <sebastien@moutte.net>
1256
1257         * gst/gstbin.h:(gst_bin_get_by_interface),
1258         (gst_bin_iterate_all_by_interface):
1259         Replace interface parameter name by iface as interface is 
1260         a reserved keyword in Visual Studio for C++ projects so it removes
1261         a build error for application developpers using VS.
1262         * plugins/elements/gstfilesrc.c:(gst_file_src_uri_set_uri):
1263         Fix a bug on Windows in uri format check. Now the prefix checked
1264         is file:// and next we check if the path after file:// is absolute.
1265         * win32/common/libgstbase.def:
1266         * win32/common/libgstdataprotocol.def:
1267         * win32/common/libgstgstreamer.def:
1268         Add new exported functions.
1269
1270 2007-02-09  Andy Wingo  <wingo@pobox.com>
1271
1272         * tests/check/pipelines/simple-launch-lines.c
1273         (simple_launch_lines_suite, test_tee): Disable tee test until I
1274         have time to fix it :-(
1275
1276         * tests/check/Makefile.am (noinst_HEADERS): 
1277         * tests/check/libs/libsabi.c: 
1278         * tests/check/libs/struct_ppc32.h: Add ABI checks for PPC32.
1279         * tests/check/gst/gstabi.c: 
1280         * tests/check/gst/struct_ppc32.h: Add ABI checks for PPC32.
1281
1282         * tests/check/pipelines/simple-launch-lines.c (test_tee): Add
1283         tests for push and pull tee behavior.
1284
1285         * plugins/elements/gsttee.h: 
1286         * plugins/elements/gsttee.c: Describe has-sink-loop better, and
1287         mark as deprecated as well as unimplemented. It was a crack idea.
1288         Add support for tee operating in pull mode, off by default.
1289
1290         * gst/gstregistryxml.c (load_feature, load_plugin): Drop some
1291         normal-case logs down to LOG, raise errors to WARNING.
1292         (gst_registry_xml_read_cache): Don't log before calling a function
1293         that logs.
1294
1295         * gst/gstregistry.c (gst_registry_finalize): Less debug on program
1296         exit (registry finalize).
1297         (gst_registry_add_plugin, gst_registry_add_feature): No need for a
1298         DEBUG log when we emit signals that people don't even have the
1299         chance to connect to.
1300         (gst_registry_scan_path_level): Less logging in the normal case.
1301
1302 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
1303
1304         Patch by: Michal Benes <michal dot benes at itonis dot tv>
1305
1306         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
1307         Correctly generate EOS for non-seekable files. We don't have a total
1308         length for them and would get an unexpected end of file if we only
1309         special-cased for regular files. (Fixes: #404569)
1310
1311 2007-02-05  Sebastian Dröge  <slomo@circular-chaos.org>
1312
1313         * tests/check/elements/filesrc.c: (GST_START_TEST),
1314         (filesrc_suite):
1315         Add unit test for the GstURIHandler interface in filesrc. This also
1316         tests the newly added file://localhost/foo/bar support.
1317
1318 2007-02-04  Tim-Philipp Müller  <tim at centricular dot net>
1319
1320         * gst/gstelementfactory.h:
1321           The klass string is not a hierarchy. Add reference to the design doc
1322           for more information and common types.
1323
1324 2007-02-02  Wim Taymans  <wim@fluendo.com>
1325
1326         * gst/gstquery.c: (gst_query_new_latency):
1327         Remove old structure field.
1328
1329 2007-02-02  Stefan Kost  <ensonic@users.sf.net>
1330
1331         * tools/gst-launch.1.in:
1332           Give example for network streaming (#351998)
1333
1334 2007-02-02  Wim Taymans  <wim@fluendo.com>
1335
1336         * docs/gst/gstreamer-sections.txt:
1337         Add docs for new methods.
1338
1339         * gst/gstevent.c: (gst_event_new_latency),
1340         (gst_event_parse_latency):
1341         * gst/gstevent.h:
1342         Add new LATENCY event to configure latency in a pipeline.
1343         API: gst_event_new_latency
1344         API: gst_event_parse_latency
1345
1346         * gst/gstmessage.c: (gst_message_new_buffering),
1347         (gst_message_new_lost_preroll), (gst_message_new_prerolled),
1348         (gst_message_new_latency), (gst_message_parse_buffering),
1349         (gst_message_parse_lost_preroll):
1350         * gst/gstmessage.h:
1351         Added messages used in draft-latency.
1352         API: gst_message_new_lost_preroll
1353         API: gst_message_parse_lost_preroll
1354         API: gst_message_new_prerolled
1355         API: gst_message_new_latency
1356
1357         * gst/gstquery.c: (gst_query_new_latency), (gst_query_set_latency),
1358         (gst_query_parse_latency):
1359         * gst/gstquery.h:
1360         Implemented new latency query as in design doc.
1361         API: gst_query_new_latency
1362         API: gst_query_set_latency
1363         API: gst_query_parse_latency
1364
1365 2007-02-02  Wim Taymans  <wim@fluendo.com>
1366
1367         * docs/design/draft-latency.txt:
1368         Slight redesign to allow for dynamic latency adjustments.
1369
1370         * docs/design/part-negotiation.txt:
1371         Fix some typos.
1372
1373 2007-02-02  Sebastian Dröge  <slomo@circular-chaos.org>
1374
1375         reviewed by: Wim Taymans <wim@fluendo.com>
1376
1377         * plugins/elements/gstfilesink.c: (gst_file_sink_uri_set_uri):
1378         * plugins/elements/gstfilesrc.c: (gst_file_src_uri_set_uri):
1379         Allow file://localhost/foo/bar URLs and correctly fail for every other
1380         hostname that one sets. This was gnomevfssrc is linked for those if
1381         installed as it can handle it (#403172)
1382
1383 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1384
1385         reviewed by: Tim-Philipp Müller <tim at centricular dot net>
1386
1387         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1388         (unref_data), (gst_collect_pads_add_pad_full):
1389         * libs/gst/base/gstcollectpads.h:
1390         Don't put the previously added destroy notify in the GstCollectData
1391         struct as all it's padding is already used and we don't want to break
1392         ABI. Instead put in the pad's GObject data for now. This should be
1393         cleaned up for 0.11 (#402393).
1394
1395 2007-02-01  Sebastian Dröge  <slomo@circular-chaos.org>
1396
1397         reviewed by: Wim Taymans <wim@fluendo.com>
1398
1399         * docs/libs/gstreamer-libs-sections.txt:
1400         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
1401         (unref_data), (gst_collect_pads_add_pad),
1402         (gst_collect_pads_add_pad_full):
1403         * libs/gst/base/gstcollectpads.h:
1404         API: Add function to specify a destroy notification for custom
1405         GstCollectData when adding new pads in GstCollectPads (#402393).
1406
1407 2007-02-01  Tim-Philipp Müller  <tim at centricular dot net>
1408
1409         * po/sv.po:
1410           Update Swedish translation (#378255).
1411
1412 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1413
1414         * docs/design/draft-klass.txt:
1415           Fix the previous change, this is a list of categories and not a hierarchy.
1416
1417 2007-01-31  Stefan Kost  <ensonic@users.sf.net>
1418
1419         * docs/design/draft-klass.txt:
1420           Add info about how to get a list of used classes.
1421
1422 2007-01-30  Tim-Philipp Müller  <tim at centricular dot net>
1423
1424         * plugins/elements/gsttypefindelement.c:
1425         (gst_type_find_element_chain_do_typefinding),
1426         (gst_type_find_element_change_state):
1427           Don't leak found caps in chain function (no idea why that never
1428           showed up as a leak anywhere).
1429
1430 2007-01-30  Stefan Kost  <ensonic@users.sf.net>
1431
1432         * gst/gstplugin.h:
1433           Fix and expand GstPluginDesc API docs.
1434
1435 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1436
1437         * gst/gstcaps.c:
1438         * gst/gstelementfactory.c:
1439         * gst/gstpadtemplate.h:
1440           api doc fixes
1441
1442         * libs/gst/controller/gstcontroller.c:
1443         (gst_controlled_property_new):
1444         * tests/examples/controller/audio-example.c:
1445           comment fixes
1446
1447 2007-01-29  Stefan Kost  <ensonic@users.sf.net>
1448
1449         * configure.ac:
1450           comment about refining the xml deps
1451
1452         * docs/manuals.mak:
1453           comments about moving away from jade for docs
1454         
1455         * gst/gst.c:
1456           recommit the ifdefs to use the binary registry
1457         
1458         * gst/gstbin.c: (gst_bin_change_state_func):
1459           this break is obsolete
1460
1461         * gst/gstelementfactory.h:
1462           better GST_ELEMENT_DETAILS docs, add comment about translation
1463
1464         * gst/gstinfo.h:
1465           remove eol slash
1466
1467         * gst/gstobject.c: (gst_signal_object_get_type):
1468           add G_UNLIKELY as usual
1469
1470         * gst/gstpad.c: (gst_pad_event_default):
1471           add fall trhu comment
1472
1473         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1474         (gst_registry_binary_initialize_magic),
1475         (gst_registry_binary_save_string),
1476         (gst_registry_binary_save_pad_template),
1477         (gst_registry_binary_save_feature),
1478         (gst_registry_binary_save_plugin),
1479         (gst_registry_binary_write_cache),
1480         (gst_registry_binary_check_magic),
1481         (gst_registry_binary_load_pad_template),
1482         (gst_registry_binary_load_feature),
1483         (gst_registry_binary_load_plugin),
1484         (gst_registry_binary_read_cache):
1485           comment typo and formatting
1486
1487         * gst/gstutils.c: (gst_element_state_get_name),
1488         (gst_element_state_change_return_get_name):
1489           remove obsolete breaks
1490
1491         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
1492           add FIXME 0.11 and remove cpp comment
1493
1494 2007-01-29  Edward Hervey  <edward@fluendo.com>
1495
1496         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1497         Fix print statement in an even more portable way.
1498
1499 2007-01-29  Tim-Philipp Müller  <tim at centricular dot net>
1500
1501         * docs/gst/gstreamer-sections.txt:
1502         * gst/gstutils.h:
1503           API: add GST_ROUND_DOWN_* macros (#401781).
1504
1505 2007-01-27  Tim-Philipp Müller  <tim at centricular dot net>
1506
1507         * docs/gst/gstreamer.types.in:
1508         * gst/gstregistry.c: (gst_registry_class_init):
1509           Document registry signals and make gtk-doc pick them up (#401381).
1510
1511 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1512
1513         * docs/pwg/building-testapp.xml:
1514           Add some audioconverts and audioresample to the pipeline, and some
1515           more comments and error handling.
1516
1517 2007-01-26  Tim-Philipp Müller  <tim at centricular dot net>
1518
1519         * docs/manual/manual.xml:
1520         * docs/pwg/pwg.xml:
1521           Fix typo (#400987).
1522
1523 2007-01-26  Wim Taymans  <wim@fluendo.com>
1524
1525         * gst/gstcaps.c: (gst_static_caps_get):
1526         Init caps flags too.
1527
1528 2007-01-25  Sebastian Dröge  <slomo@circular-chaos.org>
1529
1530         Patch by: Jindrich Makovicka <jindrich.makovick at itonis dot tv>
1531
1532         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
1533         If not using mmap'ed files try to seek to the end instead of the
1534         start to determine whether we can seek at all. This fixes the case
1535         of 2GB+ files over NFS, where seeks in the first 2GB can succeed but
1536         seeks for everything afterwards fail. Fixes #400656
1537
1538 2007-01-25  Wim Taymans  <wim@fluendo.com>
1539
1540         * gst/gstcaps.c: (_gst_caps_free), (gst_static_caps_get):
1541         Add some refcount debugging.
1542         Make gst_static_caps_get threadsafe, which is needed when autoplugging
1543         in multiple streaming threads.
1544
1545 2007-01-25  Wim Taymans  <wim@fluendo.com>
1546
1547         Patch by: David Schleef <ds at schleef dot org>
1548
1549         * docs/libs/gstreamer-libs-sections.txt:
1550         * libs/gst/base/gstadapter.c: (gst_adapter_copy):
1551         * libs/gst/base/gstadapter.h:
1552         API: gst_adapter_copy() that can reduce the amount of memcpy when
1553         getting data from the adapter. Fixes #388201.
1554
1555 2007-01-25  Edward Hervey  <edward@fluendo.com>
1556
1557         * gst/gstregistrybinary.c: (gst_registry_binary_read_cache):
1558         In print statements, "%x" is for guint. Fixes build on macosx.
1559
1560 2007-01-24  Edward Hervey  <edward@fluendo.com>
1561
1562         * plugins/elements/gstmultiqueue.c:
1563         (gst_multi_queue_loop):
1564         Small fix.
1565         (single_queue_overrun_cb), (single_queue_underrun_cb),
1566         (single_queue_check_full), (gst_single_queue_new):
1567         Implement single queue growth system.
1568         This uses the extra-size properties, and will grow single queues by
1569         that much if one goes full whereas there are others empty. This is
1570         called extra-mode in the code.
1571         When a single queue's levels go back below the initial max-size
1572         limits, it is no longer in extra-mode. This is to ensure we don't
1573         consume too much memory.
1574         Fixes #399875
1575
1576 2007-01-23  Tim-Philipp Müller  <tim at centricular dot net>
1577
1578         * gst/gst.c: (gst_init_get_option_group):
1579           Make warning about late g_thread_init() calls a bit more explicit,
1580           so that it's more obvious to application developers what they need
1581           to do if a user files a bug against their application.
1582
1583 2007-01-22  Edward Hervey  <edward@fluendo.com>
1584
1585         * plugins/elements/gstmultiqueue.c:
1586         (gst_multi_queue_src_activate_push), (gst_single_queue_new):
1587         Remove previous hack of unsetting the flushing flag for the source pad
1588         instead of activating it. Instead, fix the source pad activate function
1589         so that it no longer depends on having a parent set or not.
1590
1591 2007-01-22  Tim-Philipp Müller  <tim at centricular dot net>
1592
1593         Patch by: Carlos Sanmartin Dominguez <csanmartin@igalia.com>
1594
1595         * docs/manual/basics-bus.xml:
1596           Fix example code, gst_element_unref() doesn't exist any longer.
1597
1598 2007-01-21  Tim-Philipp Müller  <tim at centricular dot net>
1599
1600         Patch by: Mark Nauwelaerts <manauw at skynet be>
1601
1602         * gst/gstpad.c:
1603           Fix two docs typoes (#399094).
1604
1605 2007-01-19  Edward Hervey  <edward@fluendo.com>
1606
1607         * docs/faq/gst-uninstalled:
1608         Add gst-plugins-base/gst/utils/ to LD_LIBRARY_PATH so that plugins
1609         depending on libgstbaseutils can work in uninstalled environment.
1610
1611 2007-01-18  Stefan Kost  <ensonic@users.sf.net>
1612
1613         * gst/gsttaglist.h:
1614         * gst/gsttagsetter.c:
1615         Add more docs regarding tag merge-modes and when to send tags. Fix 'since'
1616         statement for new tag.
1617
1618 2007-01-17  Edward Hervey  <edward@fluendo.com>
1619
1620         * plugins/elements/gstmultiqueue.c: (gst_single_queue_new):
1621         When dynamically creating single queues, activate sinkpad before adding
1622         it.
1623         We should be doing the same thing for the source pad, but we can't
1624         since it would call a method which needs the parent to be set in order
1625         to work propertly. Instead of activating the source pad, we just unset
1626         the flushing flag, which is the minimal requirement for adding a pad
1627         to an element in a state greater than READY.
1628
1629 2007-01-17  Edward Hervey  <edward@fluendo.com>
1630
1631         * docs/faq/gst-uninstalled:
1632         Add DYLD_LIBRARY_PATH declarations so we can also use this script on
1633         Mac OS X.
1634
1635 2007-01-17  Tim-Philipp Müller  <tim at centricular dot net>
1636
1637         * tests/check/gst/gstabi.c:
1638         * tests/check/gst/struct_hppa.h:
1639         * tests/check/libs/libsabi.c:
1640         * tests/check/libs/struct_hppa.h:
1641           Add ABI structs for HPPA (see #393796).
1642
1643 2007-01-16  Tim-Philipp Müller  <tim at centricular dot net>
1644
1645         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
1646           Actually write ABI structs to the file specified in the GST_ABI
1647           environment variable, as the message we print claims we would.
1648
1649 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1650
1651         * tests/check/gst/gsttask.c:
1652           Fix header comment.
1653
1654 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1655
1656         * gst/gsttaglist.c: (_gst_tag_initialize):
1657           Change tag type from STRING to DOUBLE. Apply ChangeLog surgery for my
1658           previous two entries.
1659
1660 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1661
1662         * docs/gst/gstreamer-sections.txt:
1663         * gst/gsttaglist.c: (_gst_tag_initialize):
1664         * gst/gsttaglist.h:
1665           Add tag support for beat-per-minute.
1666
1667 2007-01-15  Stefan Kost  <ensonic@users.sf.net>
1668
1669         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1670         (gst_registry_binary_initialize_magic),
1671         (gst_registry_binary_save_string), (gst_registry_binary_make_data),
1672         (gst_registry_binary_save_pad_template),
1673         (gst_registry_binary_save_feature),
1674         (gst_registry_binary_save_plugin),
1675         (gst_registry_binary_write_cache),
1676         (gst_registry_binary_check_magic),
1677         (gst_registry_binary_load_pad_template),
1678         (gst_registry_binary_load_feature),
1679         (gst_registry_binary_load_plugin),
1680         (gst_registry_binary_read_cache):
1681         * gst/gstregistrybinary.h:
1682           Use glib types, cleanup comments, impement interfaces and uri-types.
1683
1684 2007-01-13  Andy Wingo  <wingo@pobox.com>
1685
1686         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Allow
1687         getrange() to return buffers with other caps, while we fix
1688         demuxers and typefind, or otherwise change part-negotiation.txt.
1689
1690 2007-01-12  Andy Wingo  <wingo@pobox.com>
1691
1692         * libs/gst/base/gstbasetransform.c (gst_base_transform_activate):
1693         Factor start/stop into this private function instead of partially
1694         in activate functions and partially in the change_state function.
1695         Fixes setup before the element has changed from READY->PAUSED, as
1696         is the case in pull-mode pipelines.
1697         (gst_base_transform_sink_activate_push)
1698         (gst_base_transform_src_activate_pull): Refactor to use
1699         gst_base_transform_activate().
1700         (gst_base_transform_change_state): Removed, not needed any more.
1701
1702         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1703         Truncate before fixating.
1704         
1705         * libs/gst/base/gstbasesink.c (gst_base_sink_negotiate_pull):
1706         Don't set_caps() if the result of fixating is ANY, as it's not
1707         supported, and not necessary in the case of a link with no
1708         template caps on either side. Fixes tests/check/libs/basesrc in
1709         some pull-mode tests.
1710
1711         * libs/gst/base/gstbasetransform.c (_GstBaseTransformPrivate):
1712         (gst_base_transform_init, gst_base_transform_sink_activate_push)
1713         (gst_base_transform_src_activate_pull): 
1714         Track the activation mode.
1715         (gst_base_transform_setcaps): In pull mode, when activating the
1716         src pad, after activating the sink pad, activate the sink pad's
1717         peer, as discussed in part-negotiation.txt.
1718
1719         * libs/gst/base/gstbasesrc.h: 
1720         * libs/gst/base/gstbasesrc.c (gst_base_src_fixate): Add fixate
1721         vmethod, as in basesink.
1722
1723         * libs/gst/base/gstbasesink.h: Reformat docs, add fixate vmethod.
1724
1725         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_setcaps): In pull
1726         mode, first proxy the setcaps to the peer pad.
1727         (gst_base_sink_pad_fixate): Add a fixate function that calls the
1728         new fixate vmethod.
1729         (gst_base_sink_default_activate_pull): Rename from
1730         gst_base_sink_activate_pull.
1731         (gst_base_sink_negotiate_pull): New function, performs negotiation
1732         in pull mode before calling ::activate_pull().
1733         (gst_base_sink_pad_activate_pull): Actually call the activate_pull
1734         vmethod instead of the default implementation. I have no idea how
1735         this worked before. Negotiate before calling activate_pull.
1736
1737         * gst/gstpad.c (gst_pad_activate_pull): Refuse to activate unlinked
1738         sink pads in pull mode. In addition to being correct, fixes
1739         filesrc ! decodebin ! identity ! fakesink.
1740         (gst_pad_get_range, gst_pad_pull_range): Don't call
1741         gst_pad_set_caps() if the caps changes; instead error out with
1742         GST_FLOW_NOT_NEGOTIATED, as discussed in part-negotiation.txt.
1743
1744 2007-01-12  Andy Wingo  <wingo@pobox.com>
1745
1746         * docs/design/part-negotiation.txt: Update with more policy.
1747
1748 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1749
1750         * libs/gst/check/gstbufferstraw.h:
1751         * libs/gst/check/gstcheck.h:
1752           Add G_BEGIN_DECLS and G_END_DECLS. Move GST_CHECK_MAIN where it
1753           belongs.
1754
1755 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1756
1757         * tests/check/Makefile.am:
1758         * tests/check/gst/.cvsignore:
1759         * tests/check/gst/gsttagsetter.c: (gst_dummy_enc_add_interfaces),
1760         (gst_dummy_enc_base_init), (gst_dummy_enc_class_init),
1761         (gst_dummy_enc_init), (tag_list_foreach), (tag_setter_list_length),
1762         (GST_START_TEST), (gst_tag_setter_suite):
1763           Add minimal unit test for beforementioned GstTagSetter bug.
1764
1765 2007-01-12  Tim-Philipp Müller  <tim at centricular dot net>
1766
1767         Patch by: René Stadler <mail at renestadler dot de>
1768
1769         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags):
1770           gst_tag_list_merge() returns a new list, so it's not the best idea
1771           to ingore its return value. Effectively meant that tags could only
1772           be merged on a GstTagSetter once using _merge_tags(). Fixes #395554.
1773           Also add function guard to require a non-NULL taglist as input (has
1774           always been so due to gst_tag_list_copy(), just making it explicit).
1775
1776 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1777
1778         * docs/random/draft-missing-plugins.txt:
1779           Some additions: mention new API that is supposed to be used at the
1780           various stages; short blob about new gst-inspect introspection
1781           option; mention potential future problem with plugins that have
1782           a dynamic list of elements (such as ladspa, pitfdll, libvisual).
1783
1784 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1785
1786         * tools/gst-inspect.c:
1787         (print_plugin_automatic_install_info_codecs),
1788         (print_plugin_automatic_install_info_protocols),
1789         (print_plugin_automatic_install_info), (main):
1790         Add --print-plugin-auto-install-info option to gst-inspect, so we can
1791         introspect plugin files and get machine-parsable output that corresponds
1792         to the last bit of the missing-plugin installer string (small gotcha:
1793         doesn't take into account ranks).
1794
1795 2007-01-11  Stefan Kost  <ensonic@users.sf.net>
1796
1797         * configure.ac:
1798         * docs/gst/gstreamer-sections.txt:
1799         * gst/Makefile.am:
1800         * gst/gstregistry.c: (gst_registry_lookup_feature_locked),
1801         (gst_registry_lookup_locked):
1802         * gst/gstregistry.h:
1803         * gst/gstregistrybinary.c: (gst_registry_binary_write),
1804         (gst_registry_binary_initialize_magic),
1805         (gst_registry_binary_save_string),
1806         (gst_registry_binary_save_pad_template),
1807         (gst_registry_binary_save_feature),
1808         (gst_registry_binary_save_plugin),
1809         (gst_registry_binary_write_cache),
1810         (gst_registry_binary_check_magic),
1811         (gst_registry_binary_load_pad_template),
1812         (gst_registry_binary_load_feature),
1813         (gst_registry_binary_load_plugin),
1814         (gst_registry_binary_read_cache):
1815         * gst/gstregistrybinary.h:
1816         * gst/gstregistryxml.c: (load_feature),
1817         (gst_registry_xml_read_cache):
1818           commit binary registry (disabled by default, see #359653)
1819
1820 2007-01-11  Tim-Philipp Müller  <tim at centricular dot net>
1821
1822         * tests/check/gst/gstpad.c: (test_get_allowed_caps):
1823           Fix 'make check' too.
1824
1825 2007-01-10  Andy Wingo  <wingo@pobox.com>
1826
1827         * docs/design/part-negotiation.txt: Fix a typo, add a couple
1828         notes.
1829         
1830         * docs/design/part-negotiation.txt: Update with, um, one way that
1831         pull-mode negotiation might work?
1832
1833         * gst/gstpad.h: 
1834         * gst/gstpad.c (gst_pad_get_allowed_caps): Remove the restriction
1835         that the pad must be a src pad; makes sense to call it the other
1836         way in pull mode, and the logic is symmetric anyway.
1837
1838 2007-01-10  Tim-Philipp Müller  <tim at centricular dot net>
1839
1840         * plugins/elements/gstfilesink.c:
1841           Include <stdio.h> for fseeko().
1842
1843 2007-01-10  Wim Taymans  <wim@fluendo.com>
1844
1845         * gst/gstevent.c:
1846         * gst/gstevent.h:
1847         Reserve LATENCY event.
1848
1849 2007-01-09  Wim Taymans  <wim@fluendo.com>
1850
1851         * docs/design/draft-latency.txt:
1852         Updates.
1853
1854 2007-01-09  Wim Taymans  <wim@fluendo.com>
1855
1856         * docs/design/draft-latency.txt:
1857         Updates.
1858
1859         * gst/gstelement.h:
1860         * gst/gststructure.c:
1861         * gst/gsttrace.c:
1862         Small typo fixes.
1863
1864 2007-01-09  Tim-Philipp Müller  <tim at centricular dot net>
1865
1866         * tests/check/.cvsignore:
1867           Ignore test-registry.xml as well.
1868
1869 2007-01-09  Wim Taymans  <wim@fluendo.com>
1870
1871         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
1872         unref data at the end when we are done with the pad.
1873
1874 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1875
1876         * docs/gst/gstreamer-sections.txt:
1877         * gst/gst.c: (load_plugin_func), (scan_and_update_registry),
1878         (init_post), (gst_deinit), (gst_update_registry):
1879         * gst/gst.h:
1880           API: add gst_update_registry() (#391296).
1881
1882         * tests/check/Makefile.am:
1883         * tests/check/gst/gstregistry.c:
1884         * tests/check/gst/.cvsignore:
1885           Simple unit test for the above.
1886
1887 2007-01-08  Tim-Philipp Müller  <tim at centricular dot net>
1888
1889         * gst/gstregistry.c: (gst_registry_scan_path_level):
1890           Plugin extension on HP-UX is .sl, add that to the list of approved
1891           plugin extensions (see #393796).
1892
1893         * tests/check/gst/gstpad.c: (GST_START_TEST):
1894           ulong => gulong. Fixes compilation with HP-UX compiler.
1895
1896         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
1897           Fix compilation if valgrind headers are not available.
1898
1899 2007-01-07  Sébastien Moutte  <sebastien@moutte.net>
1900
1901         * win32/common/libgstreamer.def: 
1902           Add new exported function.
1903         * win32/vs6/libgstbase.dsp: 
1904           Add gstdataqueue.c to the build.
1905         * win32/vs6/libgstcoreelements.dsp:
1906           Add gstmultiqueue.c to the build.
1907         
1908 2007-01-06  Andy Wingo  <wingo@pobox.com>
1909
1910         * libs/gst/base/gstbasesink.h: New GstBaseSinkClass vmethod,
1911         activate_pull(), providing for a way to specialize the process of
1912         spawning a thread to pull on the sink pad. There is a default
1913         implementation.
1914
1915         * libs/gst/base/gstbasesink.c (gst_base_sink_pad_activate_pull)
1916         (gst_base_sink_pad_activate_push, gst_base_sink_pad_activate)
1917         (gst_base_sink_init): Renamed pad activation functions (inserting
1918         "_pad" in their names). Refactor to use the new activate_pull
1919         vmethod, as appropriate.
1920         (gst_base_sink_class_init, gst_base_sink_activate_pull): Set the
1921         default activate_pull function to start a task pulling from the
1922         sink pad, as before.
1923
1924         * gst/gstpad.c (gst_pad_get_range, gst_pad_pull_range): Set caps
1925         on the pads if necessary, as in push()/chain(). Update docs.
1926         Shouldn't affect existing pull() usage as it is currently only
1927         being used on buffers without caps.
1928
1929 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1930
1931         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
1932         (init_pre):
1933           Call g_thread_init() first thing in gst_init() / gst_check_init().
1934           When initialisation is done via gst_init_get_option_group() and
1935           GOption parsing, issue a warning if the GLib thread system has not
1936           been initialised yet by the time gst_init_get_option_group() is
1937           called, as it's quite likely other GLib functions such as
1938           g_option_context_new() have been called already then, and
1939           g_thread_init() must be called before any other GLib function. The
1940           application in question must be fixed in that case, since memory
1941           corruption might happen otherwise.
1942           We issue the warning because even if the GLib folks decide to work
1943           around the problem on their end in future, this is still an issue
1944           with all GLib versions >= 2.10.0, so we should warn until we depend
1945           on a GLib version we know to be safe.
1946           Update documentation as well.
1947           Closes bug #391278.
1948
1949 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1950
1951         * tools/gst-inspect.c: (main):
1952         * tools/gst-launch.c: (main):
1953         * tools/gst-typefind.c: (main):
1954         * tools/gst-xmlinspect.c: (main):
1955           Call g_thread_init() really really early, before any other GLib
1956           function (see #342564 and recent discussion on gtk-devel-list).
1957
1958 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1959
1960         Patch by: Vincent Torri  <vtorri at univ-evry dot fr>
1961
1962         * gst/gst_private.h:
1963         * gst/gstconfig.h.in:
1964         * gst/gstinfo.h:
1965           On win32, all the __declspec stuff for symbol exporting is
1966           apparently only needed with MSVC, but doesn't work with MingW.
1967           Fixes compilation with MingW and #391909.
1968
1969 2007-01-05  Tim-Philipp Müller  <tim at centricular dot net>
1970
1971         * libs/gst/base/gstbasesrc.c: (gst_base_src_activate_push):
1972           Change some GST_ERROR_OBJECT that aren't really errors to
1973           GST_WARNING_OBJECT in order to reduce terminal spam.
1974
1975 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
1976
1977         * tests/check/Makefile.am:
1978           disable test again, as there seem to be still race problems
1979
1980 2007-01-04  Stefan Kost  <ensonic@users.sf.net>
1981
1982         * tests/check/Makefile.am:
1983         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
1984         (GST_START_TEST), (queue_suite):
1985           enable queue test again, add tests for the leaky behaviour
1986
1987 2007-01-02  Tim-Philipp Müller  <tim at centricular dot net>
1988
1989         * configure.ac:
1990         * tests/examples/Makefile.am:
1991           Compile adapter test/example only if the required headers are
1992           available (fixes #391915).
1993
1994 2007-01-01  David Schleef  <ds@schleef.org>
1995
1996         * gst/gstplugin.c:
1997           Restore the previous signal handler for SIGSEGV instead of
1998           setting to default, since we may have stolen it away from
1999           someone.  (i.e., Mono)
2000
2001 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
2002
2003         * docs/random/draft-missing-plugins.txt:
2004           Some small additions and clarifications.
2005
2006 2006-12-26  Tim-Philipp Müller  <tim at centricular dot net>
2007
2008         * gst/gstregistryxml.c: (gst_registry_save_escaped):
2009           Make sure we don't pass non-UTF-8 strings to g_markup_escape(),
2010           since that can lead to random memory corruptions and crashes
2011           (may or may not be related to #383244, #386711, and #386711).
2012
2013 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2014
2015         * tests/check/.cvsignore:
2016         * tests/check/Makefile.am:
2017           sync .cvsignome and CLEANFILES
2018
2019 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2020
2021         * tests/check/Makefile.am:
2022           fix distcheck
2023
2024 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2025
2026         * docs/design/part-states.txt:
2027           two tiny additional comments
2028         
2029         * gst/gststructure.c:
2030           doc fixing
2031
2032         * tests/check/Makefile.am:
2033         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2034         (GST_START_TEST):
2035           disable test for now, unless it gets fixed
2036
2037 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2038
2039         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2040         (GST_START_TEST):
2041           fix race in underrun test
2042
2043 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2044
2045         * tests/check/elements/.cvsignore:
2046           ignore more
2047
2048         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2049         (GST_START_TEST):
2050           try to narrow test failure
2051
2052 2006-12-21  David Schleef  <ds@schleef.org>
2053
2054         * plugins/elements/gstfakesrc.c:
2055           Use g_random_int_range(), since it produces better random
2056           numbers in a range than almost-correct floating point code.
2057
2058 2006-12-21  Stefan Kost  <ensonic@users.sf.net>
2059
2060         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2061         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2062         (gst_check_teardown_sink_pad):
2063           do not automatically (de)activate pads
2064
2065         * tests/check/Makefile.am:
2066         * tests/check/elements/queue.c: (queue_overrun), (queue_underrun),
2067         (setup_queue), (cleanup_queue), (GST_START_TEST), (queue_suite):
2068           add new, yet simple tests for queue
2069
2070         * tests/check/elements/fakesrc.c: (cleanup_fakesrc):
2071         * tests/check/elements/fdsrc.c: (cleanup_fdsrc):
2072         * tests/check/elements/filesrc.c: (cleanup_filesrc),
2073         (GST_START_TEST):
2074         * tests/check/elements/identity.c: (cleanup_identity):
2075           consistent pad (de)activation
2076
2077 2006-12-20  Tim-Philipp Müller  <tim at centricular dot net>
2078
2079         Patch by: Sebastian Dröge  <slomo ubuntu com>
2080
2081         * libs/gst/base/gstcollectpads.c:
2082           Fix two doc typos (#387866).
2083
2084 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
2085
2086         * docs/manual/advanced-dparams.xml:
2087           Fix typo (g_object_control_properties() doesn't exist).
2088
2089 2006-12-19  Edward Hervey  <edward@fluendo.com>
2090
2091         * gst/gstsegment.c: (gst_segment_set_seek):
2092         Fine tune the cases where the segment start/stop values are really
2093         updated.
2094         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2095         Add tests for the return values of gst_segment_set_seek().
2096
2097 2006-12-19  Tim-Philipp Müller  <tim at centricular dot net>
2098
2099         * gst/gst.c:
2100           Docs typo fix.
2101
2102         * plugins/elements/gstqueue.c: (gst_queue_class_init),
2103         (gst_queue_init):
2104           Fix incorrect documentation and flesh it out a bit more.
2105           Set default values for the max properties on the GParamSpec as well,
2106           so it shows up correctly in gst-inspect.
2107
2108 2006-12-18  Stefan Kost  <ensonic@users.sf.net>
2109
2110         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
2111           Correct docs of queue, add more detail and crosslink it more.
2112
2113 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2114
2115         * plugins/elements/gstidentity.c: (gst_identity_check_perfect):
2116           Print additional debug info when the stream isn't perfectly
2117           timestamped; don't try to use invalid durations.
2118
2119 2006-12-16  Tim-Philipp Müller  <tim at centricular dot net>
2120
2121         * docs/design/Makefile.am:
2122           Dist new design docs.
2123
2124 2006-12-16  Wim Taymans  <wim@fluendo.com>
2125
2126         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2127
2128         * libs/gst/base/gstcollectpads.c: (ref_data), (unref_data),
2129         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
2130         (gst_collect_pads_stop), (gst_collect_pads_event),
2131         (gst_collect_pads_chain):
2132         * libs/gst/base/gstcollectpads.h:
2133         Add refcounting to the collectpads data so we can track when it's safe
2134         to free the data. Fixes #383382.
2135
2136 2006-12-15  Wim Taymans  <wim@fluendo.com>
2137
2138         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
2139         (gst_collect_pads_remove_pad):
2140         Automatically activate/deactivate pads when they are added to a
2141         started/stoped collectpads.
2142
2143 2006-12-15  Wim Taymans  <wim@fluendo.com>
2144
2145         * gst/gstelement.c: (gst_element_add_pad):
2146         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
2147         * gst/gstpad.c: (gst_pad_init):
2148         Set pads to FLUSHING when they are created. Check, warn and fix when a
2149         demuxer adds an inactive pad to itself when running. Fixes #339326.
2150
2151 2006-12-15  Wim Taymans  <wim@fluendo.com>
2152
2153         * gst/gstelement.c: (gst_element_class_init),
2154         (gst_element_default_send_event), (gst_element_send_event),
2155         (gst_element_default_query), (gst_element_query):
2156         Expose default element send_event and query handling as vmethods that
2157         subclasses can chain up to.
2158
2159 2006-12-15  Wim Taymans  <wim@fluendo.com>
2160
2161         * gst/gstelement.c: (gst_element_set_state_func):
2162         Small documentation fixes.
2163
2164 2006-12-15  Wim Taymans  <wim@fluendo.com>
2165
2166         * docs/design/draft-latency.txt:
2167         Checked in draft for handling latency in pipelines.
2168
2169 2006-12-15  Thomas Vander Stichele  <thomas at apestaart dot org>
2170
2171         * Makefile.am:
2172         * gstreamer.doap:
2173         * gstreamer.spec.in:
2174           adding .doap file
2175
2176 2006-12-14  Tim-Philipp Müller  <tim at centricular dot net>
2177
2178         * gst/gst.c: (init_pre), (init_post):
2179           init_pre() and init_post() might be called via our GOptionGroup or
2180           from gst_init(), and we should skip both of them if we've already
2181           been initialised, otherwise we will init some things twice or add
2182           two default log functions.
2183
2184 2006-12-13  Edward Hervey  <edward@fluendo.com>
2185
2186         * docs/manual/basics-bus.xml:
2187         No, gst_main_loop does not exist. Its g_main_loop.
2188         Discovered by somebody who abused the copy-paste technique of coding :)
2189
2190 2006-12-13  Tim-Philipp Müller  <tim at centricular dot net>
2191
2192         * gst/gstghostpad.c:
2193           Log ghostpad debug stuff to the GST_PADS category as well rather
2194           than just to the default category.
2195
2196 2006-12-12  Tim-Philipp Müller  <tim at centricular dot net>
2197
2198         * configure.ac:
2199         * gst/gst.c: (init_pre):
2200           Add some basic system details such as OS and architecture
2201           to the debug output if possible, courtesy of uname().
2202
2203 2006-12-11  Tim-Philipp Müller  <tim at centricular dot net>
2204
2205         * docs/gst/running.xml:
2206           Document GST_REGISTRY_FORK and GST_DEBUG_NO_COLOR
2207           environment variables.
2208
2209 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
2210
2211         * tests/check/gst/gstbin.c: (GST_START_TEST):
2212         It is acceptable to have a refcount of 2 or 3 at this point in the
2213         test, because the pipeline might be just posting its state_change
2214         message. The next line then waits for that message to appear using
2215         bus_poll, so that should be fine too.
2216
2217 2006-12-09  Jan Schmidt  <thaytan@mad.scientist.com>
2218
2219         * gst/gst.c: (ensure_current_registry_forking):
2220         Ignore EINTR when reading from the child registry pipe.
2221         Explicitly ignore the return value from close, since it makes no
2222         difference.
2223
2224         * gst/gstminiobject.c: (gst_mini_object_ref),
2225         (gst_mini_object_unref):
2226         When debugging refcounts, check GST_IS_MINI_OBJECT and warn.
2227
2228         * gst/gstregistry.c: (_priv_gst_registry_remove_cache_plugins):
2229         When removing cached plugins, remove their features too, so they're
2230         not visible after they've disappeared.
2231
2232         * gst/gstutils.c: (prepare_link_maybe_ghosting):
2233         In the unlikely case that we are linking pads with no parents, don't
2234         crash trying to get the non-existent parent bin.
2235
2236         * gst/parse/grammar.y:
2237         Output debug in the PIPELINE category
2238
2239 2005-03-08  Wim Taymans  <wim@fluendo.com>
2240
2241         Patch by: René Stadler <mail at renestadler dot de>
2242
2243         * gst/gstclock.c: (gst_clock_new_periodic_id):
2244         Reject invalid clock times for interval of periodic ids.
2245         Fixes ##383506.
2246
2247 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
2248
2249         * gst/gstelementfactory.c: (gst_element_factory_create):
2250         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
2251         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
2252         * tools/gst-inspect.c: (print_element_info):
2253         Fix refcounting of gst_plugin_feature_load to match the docs. 
2254         Fixes: #380129
2255
2256 2006-12-07  Wim Taymans  <wim@fluendo.com>
2257
2258         * libs/gst/base/gstbasesink.c: (gst_base_sink_event),
2259         (gst_base_sink_get_position):
2260         Improve debugging of events.
2261
2262 2006-12-07  Wim Taymans  <wim@fluendo.com>
2263
2264         Patch by: René Stadler <mail at renestadler dot de>
2265
2266         * gst/gstclock.c: (gst_clock_id_wait):
2267         Make period ids add the interval to the origial requested time instead
2268         of the possibly updated time which can be wrong when there are multiple
2269         waiters for the same id. Fixes #382592.
2270
2271         * gst/gstsystemclock.c: (gst_system_clock_async_thread),
2272         (gst_system_clock_id_wait_jitter_unlocked),
2273         (gst_system_clock_id_wait_jitter):
2274         Fix restart in the async notify thread when an async entry is added to
2275         the front of the list. Fixes #381492. 
2276
2277         * tests/check/gst/gstsystemclock.c: (store_callback),
2278         (notify_callback), (GST_START_TEST), (gst_systemclock_suite):
2279         Added test for multiple async waits.
2280         Added test for async wait order.
2281
2282 2006-12-07  Wim Taymans  <wim@fluendo.com>
2283
2284         * gst/gstbin.c: (gst_bin_query):
2285         Add some more docs about the POSITION query.
2286
2287 2006-12-07  Jan Schmidt  <thaytan@mad.scientist.com>
2288
2289         * configure.ac:
2290         Bump version nano - back to CVS.
2291
2292 === release 0.10.11 ===
2293
2294 2006-12-06  Jan Schmidt <thaytan@mad.scientist.com>
2295
2296         * configure.ac:
2297           releasing 0.10.11, "Love never runs on time"
2298
2299 2006-12-01  Jan Schmidt  <thaytan@mad.scientist.com>
2300
2301         * win32/common/libgstbase.def:
2302         * win32/common/libgstreamer.def:
2303         * win32/vs8/libgstbase.vcproj:
2304         * win32/vs8/libgstcoreelements.vcproj:
2305         * win32/vs8/libgstreamer.vcproj:
2306         Fix compilation on win32 under VS8
2307         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2308         Partially fixes #381175
2309
2310 2006-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
2311
2312         * gst/gstvalue.c: (gst_value_compare_fraction):
2313         If someone is foolish enough to compare 2 fractions with denominator =
2314         0, return UNORDERED rather than aborting.
2315
2316 2006-11-28  Edward Hervey  <edward@fluendo.com>
2317
2318         * libs/gst/base/Makefile.am:
2319         * libs/gst/base/gstdataqueue.c: (gst_data_queue_get_type),
2320         (gst_data_queue_base_init), (gst_data_queue_class_init),
2321         (gst_data_queue_init), (gst_data_queue_new),
2322         (gst_data_queue_cleanup), (gst_data_queue_finalize),
2323         (gst_data_queue_locked_flush), (gst_data_queue_locked_is_empty),
2324         (gst_data_queue_locked_is_full), (gst_data_queue_flush),
2325         (gst_data_queue_is_empty), (gst_data_queue_is_full),
2326         (gst_data_queue_set_flushing), (gst_data_queue_push),
2327         (gst_data_queue_pop), (gst_data_queue_drop_head),
2328         (gst_data_queue_set_property), (gst_data_queue_get_property):
2329         * libs/gst/base/gstdataqueue.h:
2330         New GstDataQueue object for threadsafe queueing. Most useful for
2331         elements that need some queueing functionnality.
2332         * docs/libs/gstreamer-libs-docs.sgml:
2333         * docs/libs/gstreamer-libs-sections.txt:
2334         Insert documentation for GstDataQueue
2335         * plugins/elements/Makefile.am:
2336         * plugins/elements/gstelements.c:
2337         * plugins/elements/gstmultiqueue.c: (gst_multi_queue_base_init),
2338         (gst_multi_queue_class_init), (gst_multi_queue_init),
2339         (gst_multi_queue_finalize), (gst_multi_queue_set_property),
2340         (gst_multi_queue_get_property), (gst_multi_queue_request_new_pad),
2341         (gst_multi_queue_release_pad), (gst_single_queue_push_one),
2342         (gst_multi_queue_item_destroy), (gst_multi_queue_item_new),
2343         (gst_multi_queue_loop), (gst_multi_queue_chain),
2344         (gst_multi_queue_sink_activate_push), (gst_multi_queue_sink_event),
2345         (gst_multi_queue_getcaps), (gst_multi_queue_bufferalloc),
2346         (gst_multi_queue_src_activate_push), (gst_multi_queue_acceptcaps),
2347         (gst_multi_queue_src_event), (gst_multi_queue_src_query),
2348         (wake_up_next_non_linked), (compute_next_non_linked),
2349         (single_queue_overrun_cb), (single_queue_underrun_cb),
2350         (single_queue_check_full), (gst_single_queue_new):
2351         * plugins/elements/gstmultiqueue.h:
2352         New multiqueue element, using GstDataQueue. Used for queuing multiple
2353         streams.
2354         Closes #344639 and #347785
2355
2356 2006-11-22  Stefan Kost  <ensonic@users.sf.net>
2357
2358         * docs/pwg/advanced-types.xml:
2359           add more missing type details
2360
2361         * tools/gst-run.c: (main):
2362           remove unused variable
2363
2364 2006-11-21  Stefan Kost  <ensonic@users.sf.net>
2365
2366         * docs/libs/Makefile.am:
2367         * docs/libs/gstreamer-libs.types:
2368           add types of base classes to enable gobject specific stuff in the docs
2369
2370         * docs/random/ensonic/embedded.txt:
2371           more ideas about isolating platform specific things
2372
2373 2006-11-20  Wim Taymans  <wim@fluendo.com>
2374
2375         Patch by: Sebastian Dröge <slomo at ubuntu dot com>
2376
2377         * libs/gst/check/gstcheck.h:
2378         Fix compilation and running against 0.9.4. Fixes #377332.
2379
2380 2006-11-20  Wim Taymans  <wim@fluendo.com>
2381
2382         * gst/gstsegment.c: (gst_segment_set_seek),
2383         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
2384         (gst_segment_to_running_time):
2385         Fix boundary checking in to_running_time() and to_stream_time().
2386         Fixes #377183.
2387
2388         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2389         stream and running time can now be calculated for the complete
2390         clipped segment.
2391
2392 2006-11-15  Tim-Philipp Müller  <tim at centricular dot net>
2393
2394         * gst/gstpad.c: (gst_pad_push_event):
2395           Can't access event structure after giving away ownership of
2396           the event.
2397
2398 2006-11-15  Stefan Kost  <ensonic@users.sf.net>
2399
2400         * docs/random/ensonic/embedded.txt:
2401         * docs/random/ensonic/profiling.txt:
2402         * docs/random/ensonic/receipies.txt:
2403           more thinking
2404
2405 2006-11-13  Wim Taymans  <wim@fluendo.com>
2406
2407         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2408
2409         * gst/gstpad.c:
2410         Fix documentation for gst_pad_dispatcher. Fixes #374475.
2411
2412 2006-11-13  Wim Taymans  <wim@fluendo.com>
2413
2414         Patch by: Jonathan Matthew <jonathan at kaolin dot wh9 dot net>
2415
2416         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
2417         Store new length in segment duration so we don't keep on calling the
2418         potentially expensize get_size() call. Fixes #370865.
2419
2420 2006-11-10  Tim-Philipp Müller  <tim at centricular dot net>
2421
2422         Patch by: Sergey Scobich  <sergey.scobich at gmail com>
2423
2424         * win32/common/libgstreamer.def:
2425           Add two missing symbols (#366492).
2426
2427 2006-11-10  Jan Schmidt  <thaytan@mad.scientist.com>
2428
2429         * libs/gst/base/gstadapter.c: (gst_adapter_flush),
2430         (gst_adapter_take_buffer):
2431         Fix format string to use all its arguments.
2432         Remove useless >= check on a guint
2433
2434 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2435
2436         * tests/examples/adapter/.cvsignore:
2437         Ignore build file as commanded by the build-bot
2438
2439 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2440
2441         * tests/examples/adapter/Makefile.am:
2442         * tests/examples/adapter/adapter_test.c: (run_test_take),
2443         (run_test_take_buffer), (run_tests), (main):
2444
2445         Add new files from the previous commit
2446
2447 2006-11-09  Jan Schmidt  <thaytan@mad.scientist.com>
2448
2449         * Makefile.am:
2450         * configure.ac:
2451         * libs/gst/base/gstadapter.c: (gst_adapter_clear),
2452         (gst_adapter_push), (gst_adapter_peek_into), (gst_adapter_peek),
2453         (gst_adapter_flush), (gst_adapter_take), (gst_adapter_take_buffer):
2454         * libs/gst/base/gstadapter.h:
2455         * tests/check/libs/adapter.c: (create_and_fill_adapter),
2456         (GST_START_TEST), (gst_adapter_suite):
2457         * tests/examples/Makefile.am:
2458         Do some optimisation work in GstAdapter to avoid copies in more cases.
2459         It could still do slightly better by merging buffers when
2460         gst_buffer_is_span_fast is true, but is already faster. 
2461
2462         Also, avoid traversing a single-linked list to append each incoming 
2463         buffer inside the adapter.
2464
2465         Add simple test app that times the adapter behaviour in different
2466         situations, and extend the unit test to check that bytes enter and
2467         exit the adapter in their original order.
2468
2469 2006-11-08  Tim-Philipp Müller  <tim at centricular dot net>
2470
2471         * docs/random/draft-missing-plugins.txt:
2472           Update: use element message instead of adding a new message
2473           type to the core; don't provide GStreamer API to initiate the
2474           plugin download, just provide API to compose the strings needed
2475           and let an external libgimmestuff handle the rest.
2476
2477 2006-11-08  Jan Schmidt  <thaytan@mad.scientist.com>
2478
2479         * tools/gst-inspect.c: (print_element_properties_info):
2480         Print a string instead of 'unknown type' for GValueArray properties
2481
2482 2006-11-08  Christian F.K. Schaller  <christian@fluendo.com>
2483
2484         * docs/random/draft-missing-plugins.txt:
2485         More small fixes.
2486
2487 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2488
2489         * tests/examples/typefind/typefind.c: (type_found), (main):
2490           Make typefind element example work again (#371894); add a
2491           license header.
2492
2493 2006-11-07  Tim-Philipp Müller  <tim at centricular dot net>
2494
2495         * docs/random/draft-missing-plugins.txt:
2496           Commit initial draft about how to deal with missing plugins,
2497           needs work (API too).
2498
2499 2006-11-07  Stefan Kost  <ensonic@users.sf.net>
2500
2501         * docs/pwg/advanced-types.xml:
2502           documents the new caps elements (see #363118)
2503
2504 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2505
2506         * gst/gstplugin.c: (gst_plugin_load_file):
2507         * plugins/elements/gstfilesrc.c: (gst_mmap_buffer_finalize),
2508         (gst_file_src_map_region), (gst_file_src_start):
2509         * plugins/indexers/gstfileindex.c: (gst_file_index_load),
2510         (gst_file_index_commit):
2511           Use g_strerror() instead of strerror() - we want UTF-8.
2512
2513 2006-11-06  Tim-Philipp Müller  <tim at centricular dot net>
2514
2515         Patch by: Peter Kjellerstedt <pkj at axis com>
2516
2517         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2518           Another printf fix (#371493).
2519
2520 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2521
2522         * tests/check/gst/gsttag.c:
2523           relicence (okay with author=company)
2524
2525 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2526
2527         * gst/gstpad.c: (gst_pad_event_default_dispatch),
2528         (gst_pad_push_event):
2529           Enhance debug and improve docs
2530         
2531         * gst/gsturi.c:
2532           Fix docs
2533
2534 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2535
2536         * docs/random/ensonic/distributed.txt:
2537         * docs/random/ensonic/profiling.txt:
2538           more ideas
2539
2540 2006-11-06  Stefan Kost  <ensonic@users.sf.net>
2541
2542         * docs/gst/gstreamer-sections.txt:
2543           add new API and fix the build
2544           
2545         * gst/gstbin.c: (gst_bin_recalc_state):
2546         * gst/gstelement.c: (gst_element_message_full),
2547         (gst_element_get_state_func), (gst_element_set_state_func):
2548           use new API and improve logging
2549         
2550         * gst/gstutils.c: (gst_element_state_change_return_get_name):
2551         * gst/gstutils.h:
2552           API: add function to get StateChangereturn names to improve logs 
2553
2554 2006-11-04  Thomas Vander Stichele  <thomas at apestaart dot org>
2555
2556         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
2557           I'm considering shooting the next person to put strerror stuff
2558           in the translateable part of the message.
2559
2560 2006-11-03  Wim Taymans  <wim@fluendo.com>
2561
2562         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
2563         Get the type and printf conversion specifiers right.
2564
2565 2006-11-03  Wim Taymans  <wim@fluendo.com>
2566
2567         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
2568
2569         * gst/gstpad.c: (gst_pad_init), (pre_activate),
2570         (gst_pad_set_blocked_async), (gst_pad_acceptcaps_default),
2571         (gst_pad_accept_caps), (handle_pad_block), (gst_pad_push_event):
2572         Some small cleanups. Improve debugging.
2573         * gst/gstpad.h:
2574         Signal all waiting threads with a broadcast instead of just one.
2575         Fixes #369942.
2576
2577 2006-11-03  Wim Taymans  <wim@fluendo.com>
2578
2579         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd),
2580         (gst_fd_src_create):
2581         Add some debugging. 
2582         Only update fd when it's different from the old.
2583
2584 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2585
2586         * plugins/elements/gstfilesrc.c: (gst_file_src_create_mmap):
2587           Printf fixes for PPC/OSX, take two (#369366).
2588
2589 2006-11-02  Tim-Philipp Müller  <tim at centricular dot net>
2590
2591         Based on patch by: Jan David Mol  <j.j.d.mol at tudelft nl>
2592
2593         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
2594         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
2595         (gst_file_src_map_small_region), (gst_file_src_create_mmap):
2596           Printf fixes for gsize parameters on PPC/OSX (#369366). Also,
2597           don't cast to long long for portability reasons, but use
2598           GLib's types instead.
2599
2600 2006-10-30  Michael Smith  <msmith@fluendo.com>
2601
2602         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
2603           Get the arguments to lseek() the right way around.
2604           Fixes 367677.
2605
2606 2006-10-30  Wim Taymans  <wim@fluendo.com>
2607
2608         Patch by: gorshkov <gorshkov at oghma dot on dot ca>
2609
2610         * gst/gstinfo.h:
2611         _declspec should be __declspec (two underscores, not one). Fixes 366572.
2612
2613 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2614
2615         Patch by: Kjartan Maraas  <kmaraas at gnome org>
2616
2617         * docs/design/part-MT-refcounting.txt:
2618         * docs/random/wtay/capsnego2-docs:
2619         * gst/gstclock.c:
2620         * gst/gstxml.c:
2621           Typo fixes (#366212).
2622
2623 2006-10-28  Wim Taymans  <wim@fluendo.com>
2624
2625         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2626
2627         * gst/gst.c:
2628         * win32/common/libgstbase.def:
2629         * win32/common/libgstreamer.def:
2630         * win32/vs8/libgstbase.vcproj:
2631         * win32/vs8/libgstcontroller.vcproj:
2632         Add needed entries in .def files.
2633         Use HAVE_UNISTD_H.
2634         Rearrange def files in vs8 solutions. Fixes #366286.
2635
2636 2006-10-28  Tim-Philipp Müller  <tim at centricular dot net>
2637
2638         * win32/common/gstconfig.h:
2639           Add GST_SEGMENT_FORMAT and GST_USING_PRINTF_EXTENSION to the
2640           hand-made win32 gstconfig.h. Fixes #366321.
2641
2642 2006-10-27  Wim Taymans  <wim@fluendo.com>
2643
2644         * gst/gstghostpad.c: (gst_proxy_pad_do_acceptcaps),
2645         (gst_ghost_pad_new_full):
2646         Make acceptcaps return TRUE when we don't have a target, just like
2647         setcaps does.
2648
2649 2006-10-27  Wim Taymans  <wim@fluendo.com>
2650
2651         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2652         Revert previous commit, 0 sized buffers are allowed. Reopens #363095.
2653
2654 2006-10-26  Tim-Philipp Müller  <tim at centricular dot net>
2655
2656         * gst/gststructure.c: (gst_structure_id_set_value):
2657           If someone tries to set a non-UTF8 string field on a structure,
2658           don't just print a warning, but also ignore the request and do
2659           not change/add that field to the structure.
2660
2661         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
2662           Test for the above.
2663
2664 2006-10-25  David Schleef  <ds@schleef.org>
2665
2666         * gst/gstinfo.c:
2667           g_hash_table_insert() needs a cast to a non-const pointer duh.
2668
2669 2006-10-25  David Schleef  <ds@schleef.org>
2670
2671         * gst/gstinfo.c:
2672         * gst/gstinfo.h:
2673           Change name parameter of _gst_debug_register_funcptr to const
2674           to reflect the constness of its use in the function as well
2675           as to quiet a gcc warning.
2676
2677 2006-10-25  Edward Hervey  <edward@fluendo.com>
2678
2679         * libs/gst/base/gstbasetransform.c: (gst_base_transform_chain):
2680         Don't push the buffer if it's empty.
2681         Closes #363095
2682
2683 2006-10-24  Wim Taymans  <wim@fluendo.com>
2684
2685         * gst/gstevent.h:
2686         Add small comment.
2687
2688         * libs/gst/base/gstbasetransform.c:
2689         (gst_base_transform_sink_eventfunc):
2690         Debug segment values *after* updating them as this is more
2691         interesting.
2692
2693 2006-10-23  Wim Taymans  <wim@fluendo.com>
2694
2695         * docs/design/part-events.txt:
2696         Update some docs.
2697
2698         * docs/design/part-block.txt:
2699         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
2700         (gst_pad_push_event):
2701         Revert BLOCKING patch, it tries to be smart without really having a
2702         clear idea what or how. So, now we discard all FLUSHING events again on
2703         a blocking pad. Should fix gnonlin again.
2704
2705 2006-10-23  Wim Taymans  <wim@fluendo.com>
2706
2707         Patch by: Sergey Scobich <sergey dot scobich at gmail dot com>
2708
2709         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
2710         (gst_base_src_start), (gst_base_src_activate_push):
2711         Make sure size is always initialized. Fixes #364388.
2712
2713 2006-10-20  Stefan Kost  <ensonic@users.sf.net>
2714
2715         * docs/random/ensonic/distributed.txt:
2716           add some ideas about doing distributed processing
2717
2718         * docs/random/ensonic/profiling.txt:
2719           get_rusage look promising
2720
2721 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2722
2723         * docs/manual/basics-helloworld.xml:
2724           Add a cast in example to fix compile warning
2725
2726 2006-10-18  Wim Taymans  <wim@fluendo.com>
2727
2728         * gst/gstsegment.c: (gst_segment_set_last_stop),
2729         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2730         Relax arg checking again, -1 is allowed.
2731
2732 2006-10-18  Wim Taymans  <wim@fluendo.com>
2733
2734         * gst/gstsegment.c: (gst_segment_set_last_stop),
2735         (gst_segment_set_seek), (gst_segment_set_newsegment_full):
2736         _set_last_stop() must be with a value != -1
2737         A _TYPE_SET to -1 means seek to 0.
2738         Calc last_stop correctly for negative rates.
2739         Make sure we work with positive durations when updating a segment.
2740
2741 2006-10-18  Wim Taymans  <wim@fluendo.com>
2742
2743         * docs/design/part-live-source.txt:
2744         * gst/gstclock.h:
2745         Small docs fixes.
2746
2747 2006-10-18  Tim-Philipp Müller  <tim at centricular dot net>
2748
2749         * gst/gstbuffer.h:
2750           Add an explicit cast to GstBuffer** to keep old code that added an
2751           explicit cast to GstMiniObject** for gst_mini_object_replace()
2752           compiling without warning.
2753
2754 2006-10-18  Stefan Kost  <ensonic@users.sf.net>
2755
2756         * gst/gstvalue.c: (gst_value_set_date), (gst_date_copy):
2757           check for validity of dates
2758
2759 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2760
2761         * docs/gst/gstreamer-sections.txt:
2762           Forgot this one, makes gtk-doc shut up.
2763
2764 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2765
2766         Patch by: Peter Kjellerstedt <pkj at axis com>
2767
2768         * gst/gstobject.h:
2769           Don't define xmlNodePtr to gpointer if the core was built with
2770           --disable-loadsave and --disable-registry, this will break
2771           applications that want to use libxml2 but are buildling against a
2772           core that doesn't use libxml2. Use an intermediary type GstXmlNodePtr
2773           instead so we don't have to mess with the libxml2 namespace
2774           (#361675).
2775
2776 2006-10-17  Tim-Philipp Müller  <tim at centricular dot net>
2777
2778         * gst/gstbuffer.h:
2779           Fix gst_buffer_replace() macro to avoid gst_mini_object_replace()-related
2780           type-punned pointer warnings.
2781
2782 2006-10-16  Tim-Philipp Müller  <tim at centricular dot net>
2783
2784         * gst/gstelement.h:
2785           Add casts to the correct return type to state <=> state transition
2786           macros.
2787
2788 2006-10-16  Stefan Kost  <ensonic@users.sf.net>
2789
2790         * docs/design/part-live-source.txt:
2791           describe howto handle latency
2792         
2793         * docs/random/ensonic/profiling.txt:
2794           more ideas
2795
2796         * tools/gst-plot-timeline.py:
2797           fix log parsing for solaris, remove unused function
2798
2799 2006-10-16  Wim Taymans  <wim@fluendo.com>
2800
2801         * docs/design/part-trickmodes.txt:
2802         * gst/gstevent.c:
2803         Update some docs regarding reverse playback.
2804
2805 2006-10-15  Tim-Philipp Müller  <tim at centricular dot net>
2806
2807         Patch by: Marcus Granado  <mrc dot gran at gmail com>
2808
2809         * win32/vs8/grammar.vcproj:
2810           Error out with a warning if glib-genmarshal.exe is not in path,
2811           instead of creating bogus gstmarshal.[ch] files. Fixes #361720.
2812
2813 2006-10-13  Wim Taymans  <wim@fluendo.com>
2814
2815         * gst/gstsegment.c: (gst_segment_set_seek):
2816         When seeking to stop -1, set last_stop (current position) to the
2817         duration of the segment.
2818
2819 2006-10-13  Wim Taymans  <wim@fluendo.com>
2820
2821         * gst/gstelement.h:
2822         Clarify _NO_PREROLL a bit more.
2823
2824         * gst/gstevent.c:
2825         Fix docs.
2826
2827         * gst/gstpad.c: (gst_pad_link_check_hierarchy),
2828         (gst_pad_get_caps_unlocked), (gst_pad_save_thyself),
2829         (handle_pad_block), (gst_pad_push_event), (gst_pad_send_event):
2830         Patch by: Yves Lefebvre <ivanohe at abacom dot com> Fix possible deadlock
2831         due to wrong locking order. Fixes #361769.
2832         Remove some redundant/misplaced checks in pad_block.
2833
2834         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
2835         For negative rates, count backwards from the duration.
2836
2837 2006-10-13  Tim-Philipp Müller  <tim at centricular dot net>
2838
2839         * gst/gsterror.c: (_gst_library_errors_init):
2840           Fix error message for GST_LIBRARY_ERROR_SETTINGS (feel free to come
2841           up with something better).
2842
2843 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2844
2845         * win32/vs6/libgstreamer.dsp:
2846         * win32/vs7/libgstreamer.vcproj:
2847         * win32/vs8/libgstreamer.vcproj:
2848           Don't reference glib-compat.c which is currently not used and not
2849           disted; add gstquark.c which was recently added. Fixes #361730.
2850
2851 2006-10-12  Tim-Philipp Müller  <tim at centricular dot net>
2852
2853         * win32/common/libgstbase.def:
2854         * win32/common/libgstcontroller.def:
2855         * win32/common/libgstreamer.def:
2856           Add gst_caps_merge() and a bunch of other recently-added functions.
2857           Fixes #361732.
2858
2859 2006-10-11  Wim Taymans  <wim@fluendo.com>
2860
2861         * docs/plugins/gstreamer-plugins.args:
2862         * docs/plugins/inspect/plugin-coreelements.xml:
2863         * docs/plugins/inspect/plugin-coreindexers.xml:
2864         Update element args.
2865
2866         * gst/gstsystemclock.c:
2867         Small comment update.
2868
2869         * plugins/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
2870         (gst_tee_request_new_pad), (gst_tee_release_pad),
2871         (gst_tee_buffer_alloc), (gst_tee_sink_activate_push),
2872         (gst_tee_sink_activate_pull):
2873         * plugins/elements/gsttee.h:
2874         Some tee loving:
2875         Add default property defines.
2876         Implement release pad function.
2877         Give properties better blubs etc.
2878         Activate pads before adding them to a running tee.
2879         Do simple buffer_alloc on the first requested pad.
2880         Post error when activation fails.
2881
2882 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2883
2884         * gst/gst.c: (ensure_current_registry_forking):
2885           Check return value of write() to make compiler happy.
2886
2887 2006-10-11  Wim Taymans  <wim@fluendo.com>
2888
2889         Patch by: Sjoerd Simons <sjoerd at luon dot net>
2890
2891         * plugins/elements/gstqueue.c: (gst_queue_chain):
2892         Recheck queue filledness after signalling the overrun when we're about
2893         to leak downstream because we released the lock when emitting the signal
2894         and the queue could be empty again. Fixes #352345.
2895
2896 2006-10-11  Tim-Philipp Müller  <tim at centricular dot net>
2897
2898         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list):
2899           Fix refcounting here too, just like we did for _new_valist() a few
2900           days ago (#357180) (thanks to René Stadler). Also remove all those
2901           'Since: 0.9' from the gtk-doc blobs.
2902
2903         * tests/check/libs/controller.c: (controller_refcount_new_list),
2904         (gst_controller_suite):
2905           Unit test for the above.
2906
2907 2006-10-10  Wim Taymans  <wim@fluendo.com>
2908
2909         Patch by: Sebastien Cote <sebas642 at yahoo dot ca>
2910
2911         * gst/gstpad.c: (gst_pad_get_caps_unlocked),
2912         (gst_pad_save_thyself):
2913         Update some docs.
2914         Write pad direction in XML output. Fixes #345496.
2915
2916 2006-10-10  Wim Taymans  <wim@fluendo.com>
2917
2918         Patch by: René Stadler <mail at renestadler dot de>
2919
2920         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
2921         (gst_controller_new_list), (_gst_controller_dispose),
2922         (_gst_controller_finalize), (_gst_controller_class_init):
2923         Take ref to controlled object so that it cannot disappear. 
2924         Fixes #357432.
2925
2926 2006-10-10  Wim Taymans  <wim@fluendo.com>
2927
2928         * libs/gst/check/gstcheck.c: (gst_check_setup_src_pad),
2929         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
2930         (gst_check_teardown_sink_pad):
2931         Activate/deactivate pads in setup/teardown respectively.
2932
2933 2006-10-10  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2934
2935         Patch by: Josep Torre Valles <josep@fluendo.com>
2936
2937         * gst/Makefile.am:
2938         Cast values when making gstenumtypes.h.  This pacifies Forte
2939         so it doesn't warn about the ~0 as GST_MESSAGE_ANY not fitting
2940         in the enumeration.
2941
2942 2006-10-09  Wim Taymans  <wim@fluendo.com>
2943
2944         * gst/gstevent.c: (gst_event_new_seek), (gst_event_parse_seek):
2945         Rename some more @cur to @start to fix docs. 
2946
2947         * gst/gstsegment.c: (gst_segment_set_seek):
2948         Fix typo.
2949         time and start must always stay in sync as defined in design doc.
2950
2951         * gst/gsttaglist.c: (gst_tag_list_is_empty):
2952         Rename param to fix docs.
2953
2954         * tests/check/gst/gstsegment.c: (GST_START_TEST):
2955         Check that start and time are in sync.
2956
2957         * tests/check/pipelines/parse-launch.c:
2958         (gst_parse_test_element_change_state):
2959         Activate pad before adding to the element.
2960
2961 2006-10-09  Wim Taymans  <wim@fluendo.com>
2962
2963         * docs/design/part-qos.txt:
2964         Fix typo.
2965
2966         * gst/gstevent.c:
2967         * gst/gstevent.h:
2968         Update seek event docs regarding negative rates.
2969         Rename @cur to @start. 
2970
2971         * gst/gstsegment.c: (gst_segment_set_seek):
2972         * gst/gstsegment.h:
2973         Update set_seek docs regarding negative rates.
2974         Correctly update last_stop to @stop when dealing with negative
2975         rates.
2976         Rename @cur to @start. 
2977
2978         * tests/check/gst/gstpad.c: (GST_START_TEST):
2979         Activate pads before trying to use them.
2980
2981         * tests/check/gst/gstsegment.c: (GST_START_TEST),
2982         (gst_segment_suite):
2983         Add simple check for segments and negative rates.
2984
2985 2006-10-09  Tim-Philipp Müller  <tim at centricular dot net>
2986
2987         * gst/gsttaglist.c: (gst_tag_list_is_empty):
2988         * gst/gsttaglist.h:
2989         * docs/gst/gstreamer-sections.txt:
2990           API: add gst_tag_list_is_empty() (#360467).
2991
2992         * tests/check/gst/gsttag.c: (GST_START_TEST):
2993           And a test case.
2994
2995 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
2996
2997         * gst/gstmessage.h:
2998         Revert change from earlier wrt GST_MESSAGE_TYPE_ANY having
2999         a value that doesn't fit on enumeration.
3000
3001 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3002
3003         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3004         Remove local debugging system and use Gstreamer's instead.
3005
3006 2006-10-09  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3007
3008         Patch by: Josep Torre Valles <josep@fluendo.com>
3009
3010         * common/m4/gst-error.m4:
3011         Disable warning of statement not reached on Forte.
3012         * gst/gstmessage.h:
3013         Fix warning on Forte (value doesn't fit on enumeration).
3014         * libs/gst/base/gstbasesink.c: (gst_base_sink_chain_unlocked):
3015         Fix warning on Forte (value doesn't fit on enumeration).
3016         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3017         DEBUG macro says it takes minimum of 2 args and so Forte
3018         complains about the use with just 1 arg.
3019         * plugins/elements/gstfdsink.c:
3020         * plugins/elements/gstfdsrc.c:
3021         * plugins/elements/gstfilesink.c:
3022         * plugins/elements/gstfilesrc.c:
3023         Use correct return type for the uri handler implementations.
3024
3025         All these fix warnings in Forte.  Fixes bug #360860.
3026
3027 2006-10-08  Tim-Philipp Müller  <tim at centricular dot net>
3028
3029         * gst/gstelement.h:
3030           gcc versions prior to gcc 3.3 apparently complain about a NULL printf
3031           format string, so don't use G_GNUC_PRINTF for those versions.
3032
3033 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
3034
3035         * gst/gsttaglist.c: (gst_is_tag_list):
3036         * gst/gsttaglist.h:
3037           Minor fixes to GST_IS_TAG_LIST and gst_is_tag_list().
3038
3039         * tests/check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
3040           Small test for the above.
3041
3042 2006-10-07  Tim-Philipp Müller  <tim at centricular dot net>
3043
3044         * gst/gsttaglist.h:
3045           Less tabs, more spaces.
3046
3047 2006-10-06  Tim-Philipp Müller  <tim at centricular dot net>
3048
3049         * gst/gstinfo.h:
3050           Those two function declarations do actually belong there, revert
3051           commit from yesterday that turned them intro macros.
3052
3053 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3054
3055         Patch by: Josep Torre Valles <josep@fluendo.com>
3056
3057         * gst/gst.c: (gst_init_get_option_group):
3058         Fix empty declaration and type mismatch.
3059         * gst/gstbin.c: (gst_bin_change_state_func):
3060         Fix type mismatch.
3061         * gst/gstelement.c: (gst_element_continue_state),
3062         (gst_element_set_state_func), (gst_element_change_state),
3063         (gst_element_change_state_func):
3064         Fix type mismatches.
3065         * gst/gstinfo.c: (gst_debug_compare_log_function_by_func),
3066         (gst_debug_remove_log_function), (_gst_debug_nameof_funcptr):
3067         Cast as appropriate.
3068         * gst/gstobject.c: (gst_class_signal_connect):
3069         Cast as appropriate.  The function pointer parameter really
3070         has the wrong type but would break API if we change it.
3071         * gst/gstquery.c:
3072         Fix redefinition of _FILE_OFFSET_BITS caused on Solaris wrt
3073         order of including string.h.
3074         * gst/gstutils.c: (gst_element_state_get_name):
3075         Remove unreachable line.
3076         * gst/gstxml.c: (gst_xml_parse_doc):
3077         Fix type mismatch.
3078         All these caught by Forte.
3079
3080 2006-10-06  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3081
3082         Patch by: Josep Torre Valles <josep@fluendo.com>
3083
3084         * common/m4/gst-error.m4:
3085         Fixed bug #360151.
3086         We need to disable warnings on Forte for empty declarations
3087         due to gst-indent adding ;s to lines that just use macros
3088         where the macro actually doesn't need a ; at end to end
3089         statement.
3090
3091 2006-10-06  Wim Taymans  <wim@fluendo.com>
3092
3093         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
3094         (gst_file_sink_close_file), (gst_file_sink_event),
3095         (gst_file_sink_render):
3096         Add some FIXME for the NEWSEGMENT handling.
3097
3098 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3099
3100         * gst/parse/grammar.y:
3101         Remove static function gst_parse_element_lock as all it does
3102         is return.  Looks like cruft from 0.8.
3103
3104 2006-10-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
3105
3106         Patch by: Josep Torre Valles <josep@fluendo.com>
3107
3108         * common/m4/gst-error.m4:
3109         * configure.ac:
3110         * libs/gst/net/Makefile.am:
3111         Fix a compilation issue with Forte on Solaris.  inet_aton is in
3112         libresolv.
3113
3114 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
3115
3116         * gst/gstpad.c: (pre_activate):
3117         * gst/gstregistry.c: (gst_registry_scan_path_level):
3118         * gst/gstregistryxml.c: (load_plugin):
3119         * libs/gst/controller/gstcontroller.c:
3120         (gst_controlled_property_set_interpolation_mode):
3121         * libs/gst/dataprotocol/dataprotocol.c:
3122         (gst_dp_packet_from_event_1_0):
3123         * libs/gst/net/gstnetclientclock.c:
3124         (gst_net_client_clock_observe_times):
3125         * plugins/elements/gstfdsrc.c: (gst_fd_src_create):
3126           Printf fixes.
3127
3128 2006-10-05  Tim-Philipp Müller  <tim at centricular dot net>
3129
3130         * configure.ac:
3131         * docs/gst/gstreamer-sections.txt:
3132         * gst/gstconfig.h.in:
3133         * gst/gstelement.h:
3134         * gst/gstinfo.h:
3135           Add GST_USING_PRINTF_EXTENSION to gstconfig.h so that we know
3136           whether we can use G_GNUC_PRINTF in other header files and at
3137           least check the printf format/arguments of debug messages and
3138           GST_ELEMENT_ERROR messages when the printf extension is not
3139           being used.
3140           Replace more tabs with spaces in gstinfo.h and remove two spurious
3141           function declarations in GST_DISABLE_DEBUG part with macros.
3142
3143 2006-10-03  Tim-Philipp Müller  <tim at centricular dot net>
3144
3145         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_post):
3146           More docs for the sync-message signal (mention that it is not
3147           emitted by default); log message structures of messages posted on
3148           the bus as well.
3149
3150 2006-10-03  Jan Schmidt  <thaytan@mad.scientist.com>
3151
3152         * gst/gst.c: (ensure_current_registry_forking):
3153         Use a pipe pair to receive status results from the forked child, and
3154         ignore the result from waitpid. Fixes #355499
3155
3156 2006-10-02  Wim Taymans  <wim@fluendo.com>
3157
3158         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3159         (gst_ghost_pad_suite):
3160         Fix leak in check.
3161
3162 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3163
3164         * gst/gstpad.c:
3165           Add 'Since: 0.10.11' to gst_pad_is_blocking() gtk-doc blurb.
3166
3167 2006-10-02  Edward Hervey  <edward@fluendo.com>
3168
3169         * docs/design/part-block.txt:
3170         Further explain the use of flushing on blocked pads.
3171         * docs/gst/gstreamer-sections.txt:
3172         * gst/gstpad.c: (gst_pad_is_blocking), (handle_pad_block),
3173         (gst_pad_push_event):
3174         * gst/gstpad.h:
3175         Added new GstPadFlag : GST_PAD_BLOCKING.
3176         Adds the notion of pads really blocking, which enables to properly
3177         handle FLUSH_START/FLUSH_STOP events on blocked pads.
3178         Fixes #358999
3179         API: gst_pad_is_blocking()
3180         API: GST_PAD_IS_BLOCKING() macro
3181         API: GST_PAD_BLOCKING GstPadFlag
3182         
3183 2006-10-02  Wim Taymans  <wim@fluendo.com>
3184
3185         Patch by: mrcgran <mrc.gran at gmail dot com>
3186
3187         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps):
3188         Filter the proxied caps against the padtemplate if we have one.
3189
3190         * gst/gstquery.c: (gst_query_new_segment):
3191         Add include for gstinfo.h so that compilation with
3192         -DGST_DISABLE_GST_DEBUG works again. Fixes #358436.
3193
3194 2006-10-02  Wim Taymans  <wim@fluendo.com>
3195
3196         Patch by: Alessandro Decina  <alessandro at nnva org>
3197
3198         * plugins/elements/gstfilesink.c: (gst_file_sink_init),
3199         (gst_file_sink_set_location), (gst_file_sink_open_file),
3200         (gst_file_sink_close_file), (gst_file_sink_event),
3201         (gst_file_sink_render):
3202         Set file to NULL when closing filesink so that we can set a new filename
3203         in READY. Fixes #358613.
3204
3205 2006-10-02  Tim-Philipp Müller  <tim at centricular dot net>
3206
3207         Patch by: Alessandro Decina  <alessandro at nnva org>
3208
3209         * gst/gstevent.c: (_gst_event_copy):
3210           Fix gst_mini_object_make_writable() and gst_event_copy() for events
3211           with event structures by setting the parent refcount address of the
3212           copied structure to the address of the refcount member of the newly
3213           copied event rather than the address of the refcount member of the
3214           original event. Fixes #358737.
3215
3216         * tests/check/gst/gstevent.c: (GST_START_TEST):
3217           Unit test for the above.
3218
3219 2006-09-29  Stefan Kost  <ensonic@users.sf.net>
3220
3221         * docs/design/Makefile.am:
3222           Dist some more files.
3223
3224 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3225
3226         * tests/check/libs/controller.c: (GST_START_TEST),
3227         (gst_controller_suite):
3228           Add test for the previous fix; add some more tests
3229           for correct refcounting behaviour; fix a few leaks
3230           in test cases; call gst_controller_init() at start
3231           of all tests.
3232
3233 2006-09-29  Tim-Philipp Müller  <tim at centricular dot net>
3234
3235         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3236         (gst_controller_set_from_list):
3237           Don't g_return_val_if_fail() on timed values with invalid timestamps
3238           inside a critical section without unlocking the mutex. Spotted by
3239           René Stadler. (#357617)
3240           Also, fix up refcounting properly: when returning an existing
3241           controller, we should increase the reference only once and not
3242           once per property and when trying to control a property again
3243           we should also increase the refcount.
3244
3245 2006-09-29  Wim Taymans  <wim@fluendo.com>
3246
3247         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
3248         * libs/gst/net/gstnettimeprovider.c:
3249         (gst_net_time_provider_thread):
3250         Stop reading commands when EOF as well.
3251
3252         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
3253         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
3254         * plugins/elements/gstidentity.c: (gst_identity_class_init):
3255         Unify description of the dump property.
3256
3257 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3258
3259         * tests/examples/manual/.cvsignore:
3260         OK, so it's actually cvsignore that needs changing. Stop laughing.
3261
3262 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3263
3264         * tests/examples/manual/Makefile.am:
3265         Gah, declare vars *before* using them
3266
3267 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3268
3269         * gst/gst.c: (init_pre), (scan_and_update_registry),
3270         (ensure_current_registry_nonforking),
3271         (ensure_current_registry_forking), (ensure_current_registry),
3272         (init_post), (gst_debug_help), (gst_deinit):
3273         * gst/gst_private.h:
3274         * gst/gstregistry.c: (gst_registry_finalize),
3275         (gst_registry_remove_features_for_plugin_unlocked),
3276         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3277         (gst_registry_scan_path),
3278         (_priv_gst_registry_remove_cache_plugins),
3279         (_priv_gst_registry_cleanup):
3280         * gst/gstregistry.h:
3281         Re-commit the registry changes, along with an extra fix:
3282           When a cached plugin is encountered at a different file path,
3283           update the stored path in the registry cache so that the parent
3284           process knows where it actually is now when it re-reads the registry
3285           cache. Fixes the thing that broke distcheck with the previous commit.
3286
3287         * tests/check/Makefile.am:
3288         Clean up files named 'core' too when running make clean.
3289
3290         * tests/examples/manual/Makefile.am:
3291         Set up a registry path for running these tests, and clean it properly
3292         for distcheck.
3293
3294 2006-09-28  Jan Schmidt  <thaytan@mad.scientist.com>
3295
3296         * configure.ac:
3297         Don't pull in gmodule-2.0.pc as a dependency in our .pc files - we
3298         want gmodule-no-export-2.0.pc instead so that we don't drag in
3299         --export-dynamic on every project that links to GStreamer.
3300
3301         Also, make our export regex only match the start of symbols, rather 
3302         than any symbol that contains '_gst' somewhere.
3303
3304         * libs/gst/check/Makefile.am:
3305         The libgstcheck we build does however need export-dynamic, as it
3306         produces some symbols that don't match our _gst... style regex.
3307         Fixes: #318031
3308
3309 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
3310
3311         * gst/gst.c: (init_pre), (scan_and_update_registry),
3312         (ensure_current_registry_nonforking),
3313         (ensure_current_registry_forking), (ensure_current_registry),
3314         (init_post), (gst_debug_help), (gst_deinit):
3315         * gst/gst_private.h:
3316         * gst/gstregistry.c: (gst_registry_finalize),
3317         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3318         (gst_registry_scan_path), (_gst_registry_remove_cache_plugins),
3319         (_gst_registry_cleanup):
3320         * gst/gstregistry.h:
3321           Revert previous change until I figure out why it breaks distcheck.
3322
3323 2006-09-27  Jan Schmidt  <thaytan@mad.scientist.com>
3324
3325         * gst/gst.c: (init_pre), (scan_and_update_registry),
3326         (ensure_current_registry_nonforking),
3327         (ensure_current_registry_forking), (ensure_current_registry),
3328         (init_post), (gst_debug_help), (gst_deinit):
3329
3330           Make init_pre and init_post take the full complement of GOptionFunc
3331           args so they can return useful GErrors. Make the registry updating
3332           functions do so.
3333
3334           Call _priv_gst_registry_remove_cache_plugins after scanning files to
3335           ensure that the registry we're about to write out doesn't contain
3336           stale information about old-deleted plugin files.
3337
3338           Make _priv_gst_registry_remove_cache_plugins return a boolean so
3339           that deletion of plugin files is considered a registry change.
3340
3341         * gst/gst_private.h:
3342         * gst/gstregistry.c: (gst_registry_finalize),
3343         (gst_registry_remove_features_for_plugin_unlocked),
3344         (gst_registry_remove_plugin), (gst_registry_scan_path_level),
3345         (gst_registry_scan_path),
3346         (_priv_gst_registry_remove_cache_plugins),
3347         (_priv_gst_registry_cleanup):
3348         * gst/gstregistry.h:
3349         Rename _gst_registry_remove_cache_plugins and _gst_registry_cleanup
3350         by adding _priv prefix, so that they won't appear in the global
3351         symbol table. They still do atm though because of #318031. Move the
3352         prototypes to gst_private.h
3353
3354         When removing a plugin, remove all features for that plugin too. 
3355         Fixes #340878.
3356
3357 2006-09-27  Wim Taymans  <wim@fluendo.com>
3358
3359         * docs/random/moving-plugins:
3360         Make it clear that the "compiled-in descriptions" really mean
3361         the element details.
3362
3363         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3364         (gst_base_sink_wait_preroll):
3365         Update docs.
3366
3367         * docs/libs/gstreamer-libs-sections.txt:
3368         * libs/gst/base/gstbasesrc.c: (gst_base_src_wait_playing),
3369         (gst_base_src_get_range), (gst_base_src_activate_push):
3370         * libs/gst/base/gstbasesrc.h:
3371         Added function to block while waiting for PLAYING, this function
3372         is used by live sources that block on the clock.
3373         API: gst_base_src_wait_playing()
3374
3375 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3376
3377         Patch by: Peter Kjellerstedt <pkj at axis com>
3378
3379         * Makefile.am:
3380           gst-element-check.m4 is generated and should therefore be
3381           copied from the build dir rather than the source dir (#357593).
3382           'make distcheck' hasn't noticed this because we were disting
3383           the file as well, so stop doing that.
3384
3385 2006-09-27  Tim-Philipp Müller  <tim at centricular dot net>
3386
3387         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3388           Add some tests for gst_caps_intersect().
3389
3390         * tools/gst-launch.c: (event_loop):
3391           Print all buffering percentages we get, even the 100% one.
3392
3393 2006-09-26  Wim Taymans  <wim@fluendo.com>
3394
3395         * tools/gst-inspect.c: (print_element_properties_info),
3396         (print_signal_info):
3397         Fix printing of flags to match the look of enums.
3398
3399 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3400
3401         * gst/gstelementfactory.c:
3402           Fix typo in docs blurb.
3403
3404 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3405
3406         * gst/gsturi.c: (search_by_entry):
3407           Don't assert/crash here if a uri handler doesn't return any
3408           supported protocols. The list of protocols could be generated
3409           dynamically at runtime or at plugin registration, and an error
3410           in the underlying library shouldn't be fatal (#353301).
3411
3412 2006-09-25  Tim-Philipp Müller  <tim at centricular dot net>
3413
3414         * gst/gstinfo.c:
3415           Fix warning if HAVE_PRINTF_EXTENSION is undefined
3416           (spotted by Peter Kjellerstedt).
3417
3418 2006-09-23  Wim Taymans  <wim@fluendo.com>
3419
3420         Based on patch by: Antoine Tremblay <hexa00 at gmail dot com>
3421
3422         * libs/gst/base/gstbasesrc.c:
3423         (gst_base_src_default_check_get_range), (gst_base_src_start),
3424         (gst_base_src_activate_push), (gst_base_src_activate_pull),
3425         (gst_base_src_change_state):
3426         Match _start/_stop calls in the activate functions. Remove redundant
3427         _stop call from the state change function. Fixes #356910.
3428         Turn failure DEBUG into ERROR. 
3429
3430 2006-09-22  Wim Taymans  <wim@fluendo.com>
3431
3432         * docs/design/part-buffering.txt:
3433         * gst/gstmessage.c: (gst_message_new_buffering),
3434         (gst_message_parse_buffering):
3435         Update docs about buffering.
3436
3437         * docs/design/part-trickmodes.txt:
3438         Fix typo.
3439
3440 2006-09-22  Stefan Kost  <ensonic@users.sf.net>
3441
3442         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
3443         (gst_controller_new_list):
3444           Ref instances when returning them again (fixes #357180)
3445
3446 2006-09-22  Tim-Philipp Müller  <tim at centricular dot net>
3447
3448         * gst/gstghostpad.c: (gst_ghost_pad_set_target):
3449           Don't forget to release proxy lock when there's an error.
3450
3451 2006-09-20  Jan Schmidt  <thaytan@mad.scientist.com>
3452
3453         * gst/gstcaps.h:
3454           Add extra initialisers for Caps things, to fix some plugin warnings
3455           when using -Wextra
3456
3457 2006-09-18  Wim Taymans  <wim@fluendo.com>
3458
3459         * gst/gstghostpad.c: (gst_ghost_pad_new_full):
3460           Also set template on the internal pad so that a getcaps from the 
3461           target pad returns the template caps.
3462
3463 2006-09-18  Wim Taymans  <wim@fluendo.com>
3464
3465         * gst/gstelement.c: (gst_element_post_message),
3466         (gst_element_dispose):
3467         Use _DEBUG_OBJECT some more.
3468
3469         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
3470         Avoid typechecks.
3471
3472         * tools/gst-launch.c: (main):
3473         If the toplevel element is not a GstPipeline, it must be put in a
3474         pipeline so that a bus and clock is selected.
3475
3476 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3477
3478         * libs/gst/base/gstbasesrc.c: (gst_base_src_default_query):
3479           JITTER, RATE, and LATENCY query should be handled by the
3480           default case and not by the CONVERT query code.
3481
3482 2006-09-17  Tim-Philipp Müller  <tim at centricular dot net>
3483
3484         * gst/gstformat.c: (gst_format_register):
3485           Fix locking order (must take lock before using n_values).
3486
3487         * gst/gstvalue.c: (gst_value_serialize_enum),
3488         (gst_value_deserialize_enum_iter_cmp),
3489         (gst_value_deserialize_enum):
3490           Fix serialisation/deserialisation of custom registered GstFormats.
3491
3492         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
3493           Unit test for custom format serialisation/deserialisation.
3494
3495 2006-09-17  Stefan Kost  <ensonic@users.sf.net>
3496
3497         * docs/pwg/building-boiler.xml:
3498         * plugins/elements/gstcapsfilter.c:
3499         More G_OBJECT macro fixing. Also Fix some details on the plugin-stamp
3500         section.
3501
3502 2006-09-16  Edward Hervey  <edward@fluendo.com>
3503
3504         * libs/gst/base/gstbasetransform.c:
3505         (gst_base_transform_buffer_alloc):
3506         Check if requested caps are the same as the sinks caps IF
3507         ->have_same_caps is TRUE. If they are not, act as if have_same_caps
3508         is FALSE.
3509         This fixes the renegotiation issues stated in #352827.
3510
3511 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3512
3513         * configure.ac:
3514         * docs/manual/advanced-autoplugging.xml:
3515         * tests/examples/Makefile.am:
3516         * tests/examples/manual/.cvsignore:
3517         * tests/examples/manual/Makefile.am:
3518         * tests/examples/manual/extract.pl:
3519           Extract the manual examples again like we used to do.
3520           Fix one of them.
3521
3522 2006-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
3523
3524         * win32/common/config.h:
3525           update for version
3526
3527 2006-09-16  Stefan Kost  <ensonic@users.sf.net>
3528
3529         * gst/gsterror.c:
3530           Documents how to receive errors.
3531
3532 2006-09-15  Wim Taymans  <wim@fluendo.com>
3533
3534         * tools/gst-launch.c: (sigint_handler_sighandler), (check_intr),
3535         (event_loop), (main):
3536         Added some comments here and there.
3537         Post an application message when an interrupt is caught instead of doing
3538         an uncontrolled state change.
3539         Clean up the event loop.
3540         Handle buffering messages, pause/resume the pipeline.
3541         Make shutdown because of an interrupt more reliable.
3542
3543 2006-09-15  Wim Taymans  <wim@fluendo.com>
3544
3545         * libs/gst/base/gstbasesink.c: (gst_base_sink_commit_state),
3546         (gst_base_sink_wait_preroll), (gst_base_sink_do_sync),
3547         (gst_base_sink_preroll_object):
3548         Make sure that our internal state is correct when we commit our state
3549         asynchronously. This solves a race where a state change to PLAYING
3550         could cause the sink to remain blocked in preroll in some situations.
3551
3552 2006-09-15  Wim Taymans  <wim@fluendo.com>
3553
3554         * tools/gst-inspect.c: (print_element_properties_info),
3555         (print_signal_info):
3556         List flags as hex so it's easier to deal with.
3557
3558 2006-09-15  Wim Taymans  <wim@fluendo.com>
3559
3560         * docs/libs/gstreamer-libs-sections.txt:
3561         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_preroll),
3562         (gst_base_sink_do_sync):
3563         * libs/gst/base/gstbasesink.h:
3564         Expose logic to wait for preroll so that subclasses such as audiosink
3565         can also use this method.
3566         API: gst_base_sink_wait_preroll()
3567
3568 2006-09-15  Wim Taymans  <wim@fluendo.com>
3569
3570         * gst/gstobject.c: (gst_object_set_parent):
3571         * gst/gstpipeline.c: (do_pipeline_seek):
3572         Small cleanups in docs and code.
3573
3574         * gst/gstsegment.c: (gst_segment_clip):
3575         * tests/check/gst/gstsegment.c: (GST_START_TEST):
3576         if stop == start and start is in the segment, no clipping should be
3577         done. Also add a test for this.
3578
3579 2006-09-15  Wim Taymans  <wim@fluendo.com>
3580
3581         * docs/design/part-buffering.txt:
3582         * docs/gst/gstreamer-sections.txt:
3583         * gst/gstmessage.c: (gst_message_new_buffering),
3584         (gst_message_parse_buffering):
3585         * gst/gstmessage.h:
3586         Added methods to create and parse BUFFERING messages.
3587         Added preliminary docs about buffering.
3588         API: gst_message_new_buffering
3589         API: gst_message_parse_buffering
3590
3591 2006-09-06  Wim Taymans  <wim@fluendo.com>
3592
3593         * gst/gstbin.c:
3594         Update documentation.
3595
3596         * gst/gstelement.c: (gst_element_class_init),
3597         (gst_element_release_request_pad), (gst_element_set_clock),
3598         (gst_element_get_index), (gst_element_add_pad),
3599         (gst_element_remove_pad), (gst_element_get_random_pad),
3600         (gst_element_send_event), (gst_element_get_query_types),
3601         (gst_element_query), (gst_element_post_message),
3602         (gst_element_message_full), (gst_element_continue_state),
3603         (gst_element_lost_state), (gst_element_save_thyself),
3604         (gst_element_restore_thyself):
3605         Documentation updates.
3606         Rename last bit of the new-pad -> pad-added signal rename.
3607         Fix the case where an element query would only work if the source
3608         pad was linked.
3609         Avoid some useless type checking in message handling.
3610
3611         * gst/gstevent.c:
3612         * gst/gstevent.h:
3613         * gst/gstutils.c:
3614         Documentation updates.
3615
3616 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3617
3618         * plugins/elements/gstfdsrc.c: (gst_fd_src_update_fd):
3619           add an INFO line for when we actually update the fd
3620
3621 2006-09-14  Thomas Vander Stichele  <thomas at apestaart dot org>
3622
3623         * configure.ac:
3624           back to TRUNK
3625
3626 === release 0.10.10 ===
3627
3628 2006-09-14  Thomas Vander Stichele <thomas at apestaart dot org>
3629
3630         * configure.ac:
3631           releasing 0.10.10, "Pais"
3632
3633 2006-09-05  Tim-Philipp Müller  <tim at centricular dot net>
3634
3635         * docs/manual/advanced-position.xml:
3636           Fix typo in sample code.
3637
3638 2006-09-05  Wim Taymans  <wim@fluendo.com>
3639
3640         * libs/gst/net/gstnetclientclock.c: (inet_aton),
3641         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
3642         (gst_net_client_clock_do_select), (gst_net_client_clock_new):
3643         * libs/gst/net/gstnetclientclock.h:
3644         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
3645         * libs/gst/net/gstnettimepacket.h:
3646         * libs/gst/net/gstnettimeprovider.c: (inet_aton),
3647         (gst_net_time_provider_init), (gst_net_time_provider_finalize),
3648         (gst_net_time_provider_thread), (gst_net_time_provider_new):
3649         * libs/gst/net/gstnettimeprovider.h:
3650         Make stuff compile on windows. Fixes #345295.
3651
3652 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3653
3654         * gst/gst.c: (ensure_current_registry_forking):
3655           Print better details when child was terminated by signal.
3656
3657 2006-09-03  Tim-Philipp Müller  <tim at centricular dot net>
3658
3659         * gst/gstregistryxml.c: (gst_registry_xml_save_feature):
3660           Print a warning rather than g_assert() if a plugin feature
3661           is a URI handler but returns no protocols (#353976).
3662
3663 2006-09-02  Stefan Kost  <ensonic@users.sf.net>
3664
3665         * docs/random/moving-plugins:
3666         Fix two typos.         
3667
3668 2006-09-01  Tim-Philipp Müller  <tim at centricular dot net>
3669
3670         * gst/gstinfo.c: (_gst_debug_nameof_funcptr):
3671           Fix locking order, handle NULL function values properly.
3672
3673         * gst/gstinfo.h:
3674           Fix docs.
3675
3676         * gst/gstpad.c: (gst_pad_buffer_alloc_unchecked):
3677           Initialise variable before using it and fix debug statement to
3678           print the address of the function rather than the address of the
3679           variable on the stack holding the address of the function.
3680
3681 2006-09-01  Wim Taymans  <wim@fluendo.com>
3682
3683         * gst/gstghostpad.c: (gst_proxy_pad_do_event),
3684         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_chain),
3685         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
3686         (gst_proxy_pad_set_target_unlocked), (gst_ghost_pad_parent_set),
3687         (gst_ghost_pad_parent_unset),
3688         (gst_ghost_pad_internal_do_activate_push),
3689         (gst_ghost_pad_internal_do_activate_pull),
3690         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3691         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3692         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
3693         (gst_ghost_pad_new_full), (gst_ghost_pad_new_no_target),
3694         (gst_ghost_pad_new), (gst_ghost_pad_new_from_template),
3695         (gst_ghost_pad_new_no_target_from_template),
3696         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
3697         More cleanups.
3698         Avoid needless typechecking in macros.
3699         Since the internal pad is always present and never changes, there is
3700         no need to locking or ref when retrieving it.
3701         Improve debugging a bit.
3702         Handle link errors when setting the target. Fixes #341029.
3703
3704 2006-09-01  Wim Taymans  <wim@fluendo.com>
3705
3706         * docs/libs/gstreamer-libs-sections.txt:
3707         * docs/plugins/gstreamer-plugins-sections.txt:
3708         Fix docs some more.
3709
3710         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
3711         (gst_collect_pads_event):
3712         * libs/gst/base/gstcollectpads.h:
3713         Documentation updates.
3714         Free queued buffer when removing a pad.
3715
3716 2006-08-31  Michael Smith  <msmith@fluendo.com>
3717
3718         * gst/gstutils.c: (gst_element_link_pads),
3719         (gst_element_link_pads_filtered):
3720           Ensure that we set a capsfilter to NULL if we failed to link it
3721           when doing filtered linking, to avoid criticals.
3722
3723           No need to check for unreffing srcpad, which is explicly NULLed
3724           above (a trivial code cleanup).
3725
3726 2006-08-31  Wim Taymans  <wim@fluendo.com>
3727
3728         * docs/design/part-gstghostpad.txt:
3729         Update ascii art in documentation.
3730
3731         * gst/gstghostpad.c: (gst_proxy_pad_do_internal_link),
3732         (gst_proxy_pad_set_target_unlocked), (gst_proxy_pad_init),
3733         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
3734         (gst_ghost_pad_internal_do_activate_push),
3735         (gst_ghost_pad_internal_do_activate_pull),
3736         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
3737         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
3738         (gst_ghost_pad_dispose), (gst_ghost_pad_new_full),
3739         (gst_ghost_pad_set_target):
3740         Small cleanups and leak fixes.
3741         Remove some checks now that the internal pad is never NULL.
3742         Fix the case where linking pads without a target would create nasty
3743         criticals. Fixes #341029.
3744         Don't assign a GstPadLinkReturn to a gboolean and mess up the return
3745         value of _set_target().
3746
3747         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3748         (gst_ghost_pad_suite):
3749         Some more tests for creating and linking untargeted ghostpads.
3750
3751 2006-08-31  Edward Hervey  <edward@fluendo.com>
3752
3753         * docs/gst/gstreamer-sections.txt:
3754         * gst/gstghostpad.c: (gst_proxy_pad_do_getcaps),
3755         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
3756         (gst_proxy_pad_dispose), (gst_ghost_pad_new_full),
3757         (gst_ghost_pad_new_no_target), (gst_ghost_pad_new),
3758         (gst_ghost_pad_new_from_template),
3759         (gst_ghost_pad_new_no_target_from_template):
3760         * gst/gstghostpad.h:
3761         Refactored *_new() functions.
3762         Templates are now used as a g_object_new() parameter.
3763         Use template in _do_getcaps() if we don't have a target.
3764         Small documentation cleanups.
3765         Added two new constructors:
3766         gst_ghost_pad_new_from_template()
3767         gst_ghost_pad_new_no_target_from_template()
3768         * tests/check/gst/gstghostpad.c: (GST_START_TEST),
3769         (gst_ghost_pad_suite):
3770         Added tests for new ghostpad instanciation functions.
3771
3772         API additions: gst_ghost_pad_new_from_template,
3773         gst_ghost_pad_new_no_target_from_template
3774
3775 2006-08-30  Stefan Kost  <ensonic@users.sf.net>
3776
3777         * docs/random/ensonic/profiling.txt:
3778           Ideas about qos profiling.
3779
3780 2006-08-29  Wim Taymans  <wim@fluendo.com>
3781
3782         * gst/gstcaps.c: (gst_caps_structure_is_subset_field):
3783         Code cleanups.
3784         Fix memleak.
3785
3786 2006-08-29  Tim-Philipp Müller  <tim at centricular dot net>
3787
3788         * gst/gstxml.c:
3789           Improve and detypofy docs.
3790
3791         * tests/check/Makefile.am:
3792         * tests/check/gst/.cvsignore:
3793         * tests/check/gst/gstxml.c: (GST_START_TEST), (gst_xml_suite):
3794           Add a basic test suite for GstXML.
3795
3796 2006-08-29  Wim Taymans  <wim@fluendo.com>
3797
3798         * gst/gstelement.c: (activate_pads), (clear_caps),
3799         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
3800         Clear the pad caps when the element shut down all of the pads and
3801         is not streaming data that could modify the caps. 
3802         Fixes #352958.
3803
3804 2006-08-28  Michael Smith  <msmith@fluendo.com>
3805
3806         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3807           Revert previous change; I misunderstood single-segment mode.
3808
3809 2006-08-28  Michael Smith  <msmith@fluendo.com>
3810
3811         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
3812           Unset DISCONT on buffers when using single-segment mode.
3813
3814 2006-08-28  Wim Taymans  <wim@fluendo.com>
3815
3816         * gst/gstcaps.c: (gst_caps_merge_structure):
3817         * gst/gstcaps.h:
3818         Fix docs and indentation again.
3819
3820         * tests/check/gst/gstquery.c: (GST_START_TEST):
3821         Fix leak in tests and add some more tests.
3822
3823 2006-08-28  Edward Hervey  <edward@fluendo.com>
3824
3825         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
3826         Inform GstSegment of the last stop position in order for the current
3827         segment to have a proper duration if it doesn't have a specific stop
3828         position from which a duration could be calculated.
3829         This bug was noticeable when a non-flushing, non-update new segment was
3830         followed by another segment (all buffers from the new segment were being
3831         dropped).
3832
3833 2006-08-28  Wim Taymans  <wim@fluendo.com>
3834
3835         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
3836         Small comment update.
3837
3838         * plugins/elements/gstidentity.c: (gst_identity_class_init),
3839         (gst_identity_transform_ip):
3840         Drop-probability is broken, mention this in the code with a 
3841         FIXME and also in the property description.
3842         Make silent also be silent about the drop messages.
3843
3844 2006-08-28  Tim-Philipp Müller  <tim at centricular dot net>
3845
3846         * docs/manual/appendix-win32.xml:
3847           Remove mention of popt, we don't depend on that any
3848           longer (#353136). Add some comments pointing out that
3849           this section is slightly outdated.
3850
3851 2006-08-28  Wim Taymans  <wim@fluendo.com>
3852
3853         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3854
3855         * gst/gstquery.c: (gst_query_new_segment):
3856         * tests/check/gst/gstquery.c: (GST_START_TEST):
3857         Initialize variables when creating a new segment query.
3858         Fixes #353121.
3859
3860 2006-08-28  Wim Taymans  <wim@fluendo.com>
3861
3862         Patch by: Torsten Schoenfeld <kaffeetisch at gmx dot de>
3863
3864         * gst/gstelement.c: (gst_element_get_bus):
3865         * tests/check/gst/gstelement.c: (GST_START_TEST):
3866         Check for NULL before _reffing the bus. Fixes #353122.
3867
3868 2006-08-25  Tim-Philipp Müller  <tim at centricular dot net>
3869
3870         * docs/manual/basics-bus.xml:
3871           Docs update: fix wrong callback return value explanation; add
3872           some lines about the implicit relationship between main loop
3873           and main context; remove duplicate main loop variable declaration.
3874
3875 2006-08-24  Tim-Philipp Müller  <tim at centricular dot net>
3876
3877         * tests/check/gst/gstcaps.c: (GST_START_TEST):
3878           Don't leak caps in unit test; add a few more simple
3879           checks. 
3880
3881 2006-08-24  Stefan Kost  <ensonic@users.sf.net>
3882
3883         * docs/gst/gstreamer-sections.txt:
3884         * gst/gstcaps.c: (gst_caps_structure_is_subset_field),
3885         (gst_caps_structure_is_subset), (gst_caps_merge),
3886         (gst_caps_merge_structure):
3887         * gst/gstcaps.h:
3888         * libs/gst/base/gstbasetransform.c:
3889         (gst_base_transform_transform_caps):
3890         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
3891           implement caps merging (fixes #352580)
3892
3893 2006-08-23  Stefan Kost  <ensonic@users.sf.net>
3894
3895         * tools/Makefile.am:
3896         * tools/gst-plot-timeline.py:
3897           add debug-log plotting developer tool (#340674)
3898
3899 2006-08-23  Wim Taymans  <wim@fluendo.com>
3900
3901         * gst/gstpad.c: (gst_pad_start_task), (gst_pad_pause_task),
3902         (gst_pad_stop_task):
3903         Improve debugging for task functions.
3904
3905         * gst/gsttask.c: (gst_task_func), (gst_task_set_lock),
3906         (gst_task_start), (gst_task_pause), (gst_task_join):
3907         Make sure that the task function started and finished after a 
3908         join(). 
3909         Don't try to push the task function on the threadpool multiple
3910         times.
3911         Improve the g_warning message with some useful suggestions
3912         about how to fix the problem. 
3913
3914 2006-08-23  Wim Taymans  <wim@fluendo.com>
3915
3916         * gst/gstutils.c: (gst_pad_proxy_getcaps):
3917         Handle RESYNC correctly in _proxy_getcaps.
3918
3919 2006-08-21  Tim-Philipp Müller  <tim at centricular dot net>
3920
3921         * gst/gstxml.c: (gst_xml_dispose), (gst_xml_parse_file),
3922         (gst_xml_parse_memory), (gst_xml_get_element):
3923           Chain up to parent class in dispose function and also
3924           unref the elements in the toplevel_elements GList.
3925           Don't leak XmlDocPtr in _parse_file() and _parse_memory().
3926           Always return a reference in gst_xml_get_element() rather
3927           than only sometimes.
3928
3929         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
3930           Don't leak GstXml object.
3931
3932 2006-08-21  Stefan Kost  <ensonic@users.sf.net>
3933
3934         * docs/gst/gstreamer-sections.txt:
3935         * gst/gstcaps.c: (gst_structure_is_equal_foreach),
3936         (gst_caps_merge):
3937         * gst/gstcaps.h:
3938         * libs/gst/base/gstbasetransform.c:
3939         (gst_base_transform_transform_caps):
3940           API: Add gst_caps_merge() and use it in basetransform, fixes #345444
3941           in a better way
3942
3943 2006-08-21  Edward Hervey  <edward@fluendo.com>
3944
3945         * gst/gstxml.c: (gst_xml_class_init), (gst_xml_dispose):
3946         Implement GObject::dispose virtual method in GstXML so we can free the
3947         top_elements GList.
3948
3949 2006-08-21  Wim Taymans  <wim@fluendo.com>
3950
3951         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable),
3952         (gst_buffer_create_sub):
3953         Copy duration/offset_end/caps when creating a subbuffer of the
3954         complete parent.
3955         Make the subbuffer read-only when we make the metadata writable for
3956         now. Fixes #351768.
3957
3958         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
3959         Added check for metadata copy when creating subbuffers.
3960
3961 2006-08-21  Edward Hervey  <edward@fluendo.com>
3962
3963         * libs/gst/base/gstbasetransform.c:
3964         (gst_base_transform_buffer_alloc):
3965         Only call downstream buffer_alloc if transform element is passthrough
3966         or always_in_place. Closes #350449.
3967
3968 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3969
3970         * ChangeLog:
3971           ChangeLog surgery to add comments to previous changes
3972
3973 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3974
3975         * gst/gst.c:
3976           Add comments
3977
3978         * gst/gstpad.c: (gst_pad_set_active):
3979           Be more verbose in the log
3980
3981         * libs/gst/base/gstbasetransform.c:
3982         (gst_base_transform_transform_caps):
3983           Simplify caps to get rid of duplicates, fixes #345444
3984
3985 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3986
3987         * gst/gstvalue.c:
3988         * gst/gstvalue.h:
3989           Use these optimizations only internally.
3990
3991 2006-08-20  Stefan Kost  <ensonic@users.sf.net>
3992
3993         * gst/gstvalue.c: (gst_value_compare_list),
3994         (gst_value_compare_fraction_range),
3995         (gst_value_intersect_fraction_fraction_range),
3996         (gst_value_intersect_fraction_range_fraction_range),
3997         (gst_value_subtract_fraction_fraction_range),
3998         (gst_value_subtract_fraction_range_fraction_range),
3999         (gst_value_get_compare_func), (gst_value_compare),
4000         (gst_value_compare_with_func):
4001         * gst/gstvalue.h:
4002           Saves the expensive lookup of the compare function in many cases
4003          (#345444)
4004
4005 2006-08-18  Edward Hervey  <edward@fluendo.com>
4006
4007         * tests/check/gst/gstinfo.c: (gst_info_suite):
4008         Disable test that require gstdebug if it wasn't built in core.
4009
4010 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
4011
4012         * docs/random/ensonic/logging.txt:
4013           update ideas
4014           
4015         * gst/gstinfo.c: (gst_debug_log_default):
4016           reorder fields, save some columns, add optional color codes for log
4017           levels
4018
4019 2006-08-18  Stefan Kost  <ensonic@users.sf.net>
4020
4021         * docs/random/ensonic/logging.txt:
4022           add ideas about making the logs a bit more useful
4023
4024 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
4025
4026         * docs/pwg/advanced-events.xml:
4027         * docs/pwg/titlepage.xml:
4028           Update for 0.10 API (#340627). Add myself
4029           to authors list.
4030
4031 2006-08-17  Tim-Philipp Müller  <tim at centricular dot net>
4032
4033         * docs/libs/gstreamer-libs-docs.sgml:
4034         * docs/libs/gstreamer-libs-sections.txt:
4035         * libs/gst/check/gstbufferstraw.c:
4036           Make gstcheck stuff show up in docs (still needs to
4037           be documented properly though).
4038
4039 2006-08-16  Jan Schmidt  <thaytan@mad.scientist.com>
4040
4041         * docs/gst/gstreamer-sections.txt:
4042         * gst/Makefile.am:
4043         * gst/gst.c: (init_post):
4044         * gst/gst_private.h:
4045         * gst/gstquark.c: (_priv_gst_quarks_initialize):
4046         * gst/gstquark.h:
4047         * gst/gstquery.c: (gst_query_new_position),
4048         (gst_query_set_position), (gst_query_parse_position),
4049         (gst_query_new_duration), (gst_query_set_duration),
4050         (gst_query_parse_duration), (gst_query_new_convert),
4051         (gst_query_set_convert), (gst_query_parse_convert),
4052         (gst_query_new_segment), (gst_query_set_segment),
4053         (gst_query_parse_segment), (gst_query_new_seeking),
4054         (gst_query_set_seeking), (gst_query_parse_seeking):
4055         Add internal helpers for pre-registering quarks from static strings
4056         and using the quark values directly instead of looking them up when
4057         creating and parsing queries. Can be used for event construction too.
4058         Closes #350432.
4059
4060 2006-08-16  Wim Taymans  <wim@fluendo.com>
4061
4062         * gst/gstbin.c:
4063         Fix bogus docs.
4064
4065 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4066
4067         * gst/gstutils.c: (gst_util_set_value_from_string):
4068           Fix memleak (#351502).
4069
4070         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4071           Add unit test for most of gst_util_set_value_from_string()
4072           (not that one would want to encourage use of this function).
4073
4074 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4075
4076         * libs/gst/check/gstcheck.h:
4077           Use const gchar * variables in fail_unless_equals_string
4078           macro to avoid compiler warnings (and don't use tabs for
4079           indenting).
4080
4081 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4082
4083         * tools/gst-launch.c: (print_tag):
4084           More space on the left for the tag names, to cater
4085           for the 'extended comment' tag (not touching the
4086           string for the first line since it's translated).
4087
4088 2006-08-15  Tim-Philipp Müller  <tim at centricular dot net>
4089
4090         * libs/gst/check/gstcheck.h:
4091           Fix ASSERT_CRITICAL and ASSERT_WARNING macros to actually
4092           print something when they fail.
4093
4094 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4095
4096         * docs/gst/gstreamer-sections.txt:
4097         * gst/gsttaglist.c: (_gst_tag_initialize):
4098         * gst/gsttaglist.h:
4099           API: add GST_TAG_EXTENDED_COMMENT (#350935).
4100           Also change merge function for GST_TAG_COMMENT to
4101           use_first.
4102
4103 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4104
4105         * gst/gstinfo.c: (gst_debug_print_object):
4106           Make GST_PTR_FORMAT print messages as well.
4107
4108         * tests/check/gst/gstinfo.c: (printf_extension_log_func),
4109         (GST_START_TEST), (gst_info_suite):
4110           More tests.
4111
4112 2006-08-14  Edward Hervey  <edward@fluendo.com>
4113
4114         * gst/gstelementfactory.c: (gst_element_register):
4115         If the GstElementClass doesn't have a GstElementDetails with all fields
4116         filled up correctly (longname, description AND author), then error out
4117         nicely instead of crashing.
4118
4119 2006-08-14  Tim-Philipp Müller  <tim at centricular dot net>
4120
4121         * gst/gststructure.c:
4122           Fix typo in docs and re-wrap docs blurb to not exceed 80 chars/line.
4123
4124         * gst/gstvalue.h:
4125           Expand on the difference between arrays and lists as we use them.
4126           
4127 2006-08-14  Wim Taymans  <wim@fluendo.com>
4128
4129         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
4130         If the parent state change function failed, don't assume we can safely
4131         stop the source, this will be done when the pads are deactivated.
4132
4133 2006-08-14  Wim Taymans  <wim@fluendo.com>
4134
4135         * gst/gstbuffer.c:
4136         * gst/gsttask.c: (gst_task_join):
4137         Small doc updates.
4138
4139         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_activate_push),
4140         (gst_pad_stop_task):
4141         When pad (de)activation failed for some reason, restore the old
4142         activation mode and set the pad to flushing instead of assuming the
4143         pad is deactivated.
4144         If the _task_join() failed, reinstall the task on the pad so that it can
4145         be stopped later and return an error.
4146
4147 2006-08-11  Andy Wingo  <wingo@pobox.com>
4148
4149         * configure.ac:
4150         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4151         * tests/check/libs/gdp.c: (gst_dp_suite): GST_DISABLE_DEPRECATED
4152         is only for users of API that don't want to see deprecated
4153         functions in the headers; people that want to compile out
4154         deprecated code should pass -DGST_REMOVE_DEPRECATED into the
4155         CFLAGS. Fixes the build of multifdsink, or will soon..
4156
4157 2006-08-11  Wim Taymans  <wim@fluendo.com>
4158
4159         * docs/gst/gstreamer-sections.txt:
4160         Add GstClockClass vmethod docs.
4161
4162         * gst/gstcaps.h:
4163         Mark #endif with comment for associated #if
4164
4165         * gst/gstclock.c: (gst_clock_id_wait):
4166         * gst/gstclock.h:
4167         Add vmethod wait_jitter to avoid an unneeded _get_time() for
4168         most clock implementations.
4169         Document vmethods.
4170         Flesh out docs about resolution methods.
4171         API: GstClockClass::wait_jitter
4172
4173         * gst/gstsystemclock.c: (gst_system_clock_class_init),
4174         (gst_system_clock_async_thread),
4175         (gst_system_clock_id_wait_jitter_unlocked),
4176         (gst_system_clock_id_wait_jitter):
4177         Use base class wait_jitter variant for improved performance
4178         due to less clock polling.
4179
4180 2006-08-11  Edward Hervey  <edward@fluendo.com>
4181
4182         * gst/gst.c: (gst_init_check), (init_post):
4183         Set gst as being initialized before scanning/updating the registry,
4184         since there might be my python plugin loader that calls gst_init() and
4185         we don't want to loop back in.
4186         Closes #350879
4187
4188 2006-08-11  Wim Taymans  <wim@fluendo.com>
4189
4190         * docs/design/part-qos.txt:
4191         Bring docs in line with the code. Mostly the sign of the jitter was
4192         wrong in the docs. Fixes #349943.
4193
4194         * gst/gstclock.c:
4195         Fix the docs for the jitter.
4196
4197         * gst/gstevent.c: (gst_event_new_custom), (gst_event_new_tag),
4198         (gst_event_parse_tag), (gst_event_new_buffer_size),
4199         (gst_event_parse_buffer_size), (gst_event_parse_qos),
4200         (gst_event_new_seek), (gst_event_parse_seek),
4201         (gst_event_new_navigation):
4202         Make sure the GstStructure has no parent when creating custom
4203         events.
4204         Add some more argument checking so that we avoid 0.0 rates.
4205         Flesh out the docs for the QoS event some more.
4206
4207 2006-08-11  Wim Taymans  <wim@fluendo.com>
4208
4209         * docs/gst/gstreamer-sections.txt:
4210         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
4211         (ensure_current_registry_forking), (ensure_current_registry),
4212         (parse_one_option), (parse_goption_arg), (gst_deinit),
4213         (gst_registry_fork_is_enabled), (gst_registry_fork_set_enabled):
4214         * gst/gst.h:
4215         Doc updates.
4216         Added API and command line option to disable registry forking in
4217         addition to the environment variable.
4218         Constify some static arrays.
4219         Added some more debug.
4220         Don't deinit twice.
4221         API: gst_registry_fork_is_enabled()
4222         API: gst_registry_fork_set_enabled()
4223         API: --gst-disable-registry-fork command line option
4224         Fixes #348918.
4225
4226 2006-08-11  Tim-Philipp Müller  <tim at centricular dot net>
4227
4228         * gst/gst.c: (gst_init):
4229           Fix typo in error message.
4230
4231 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
4232
4233         * libs/gst/controller/gstcontroller.h:
4234           fix ABI size-correction
4235
4236         * tests/check/libs/gdp.c: (gst_dp_suite):
4237           make tests that use deprecated API conditional
4238
4239 2006-08-10  Stefan Kost  <ensonic@users.sf.net>
4240
4241         * docs/libs/gstreamer-libs-sections.txt:
4242         * libs/gst/controller/gstcontroller.c:
4243         (_gst_controller_get_property), (_gst_controller_set_property),
4244         (_gst_controller_init), (_gst_controller_class_init):
4245         * libs/gst/controller/gstcontroller.h:
4246         * libs/gst/controller/gsthelper.c: (gst_object_get_control_rate),
4247         (gst_object_set_control_rate):
4248           API: add gst_object_{s,g}et_control_rate(), add private data section,
4249           fix docs
4250
4251         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packetizer_new):
4252         * libs/gst/dataprotocol/dataprotocol.h:
4253           add deprecation guards to make gtk-doc happy and allow disabling cruft
4254
4255 2006-08-09  Tim-Philipp Müller  <tim at centricular dot net>
4256
4257         * tests/check/Makefile.am:
4258         * tests/check/gst/.cvsignore:
4259           Let's enable the new unit test as well.
4260
4261 2006-08-08  Tim-Philipp Müller  <tim at centricular dot net>
4262
4263         * configure.ac:
4264         * docs/gst/gstreamer-sections.txt:
4265         * gst/gstconfig.h.in:
4266         * gst/gstinfo.c: (_gst_debug_init), (gst_debug_print_segment),
4267         (_gst_info_printf_extension_ptr),
4268         (_gst_info_printf_extension_segment):
4269           API: add GST_SEGMENT_FORMAT, which is a printf extension we
4270           register that lets us easily dump GstSegments into debug
4271           logs (#350419).
4272
4273         * tests/check/gst/gstinfo.c: (segment_printf_extension_log_func),
4274         (info_segment_format_printf_extension), (gst_info_suite):
4275           Add simple unit test that logs a bunch of different segments (not
4276           valgrinded at the moment because of leaks in
4277           gst_debug_add_log_function).
4278
4279 2006-08-09  Edward Hervey  <edward@fluendo.com>
4280
4281         * libs/gst/base/gstbasetransform.c:
4282         (gst_base_transform_buffer_alloc):
4283         Even if we can't figure out the proper format to request downstream,
4284         call buffer_alloc() downstream with the input parameters without setting
4285         the caps on the srcpad. This will force negotiation in the chain
4286         function.
4287         Closes #350449
4288
4289 2006-08-08  Edward Hervey  <edward@fluendo.com>
4290
4291         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
4292         Unlinking from a pad without a target is now a perfectly valid case
4293         which should NOT raise an assertion.
4294         This case would happen if a linked ghostpad its target set to NULL after
4295         it was previously linked.
4296
4297 2006-08-08  Edward Hervey  <edward@fluendo.com>
4298
4299         * tests/check/libs/gdp.c:
4300         Also comment out the test (see below).
4301
4302 2006-08-08  Edward Hervey  <edward@fluendo.com>
4303
4304         * tests/check/libs/gdp.c: (gst_dp_suite):
4305         Use the architecture information from config.h and not gcc macros
4306         in order to properly disable a test that fails on PPC64.
4307
4308 2006-08-04  Tim-Philipp Müller  <tim at centricular dot net>
4309
4310         * gst/gstelement.c: (gst_element_remove_pad):
4311           Don't crash printing the warning if the pad has no parent.
4312
4313 2006-08-02  Wim Taymans  <wim@fluendo.com>
4314
4315         * libs/gst/dataprotocol/dataprotocol.c:
4316         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
4317         (gst_dp_crc), (gst_dp_header_payload_length),
4318         (gst_dp_header_payload_type), (gst_dp_packet_from_event),
4319         (gst_dp_packet_from_event_1_0), (gst_dp_buffer_from_header),
4320         (gst_dp_caps_from_packet), (gst_dp_event_from_packet_0_2),
4321         (gst_dp_event_from_packet), (gst_dp_validate_header),
4322         (gst_dp_validate_payload):
4323         Make debug category static
4324         Constify the crc table.
4325         Do some more arg checking in public functions.
4326         Fix some docs and do some small cleanups.
4327
4328         * tests/check/libs/gdp.c: (GST_START_TEST), (gst_dp_suite):
4329         Add some more checks to see if GDP deals with bogus input.
4330
4331 2006-07-31  Wim Taymans  <wim@fluendo.com>
4332
4333         * gst/gstvalue.c: (gst_value_compare_list):
4334         Fix GstValueList comparison code. Fixes #347293.
4335
4336         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4337         Check to test GstValueList comparison.
4338
4339 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4340
4341         * gst/gstelementfactory.c: (gst_element_factory_create):
4342         Remove unnecessary ref/unref pair
4343
4344         * gst/parse/grammar.y:
4345         Make sure to free the parse buffer on all code paths.
4346         Move a g_free up to the error handler where it's easier to see.
4347
4348         * tests/check/gst/gstevent.c: (test_event):
4349         Extending timeout for downstream travelling events to 10 seconds to
4350         hopefully avoid intermittent failure on the buildbots.
4351
4352         * tests/check/pipelines/parse-launch.c: (run_delayed_test):
4353         Don't manually set the state of the src element - it will happen as a
4354         natural consequence of the pipeline changing state, and that way it
4355         will do it in the right order too.
4356
4357 2006-07-31  Wim Taymans  <wim@fluendo.com>
4358
4359         * libs/gst/base/gstbasetransform.c:
4360         (gst_base_transform_buffer_alloc):
4361         Use OBJECT_LOCK and refcounting to get the pad caps in the
4362         buffer_alloc function because the caps could change while we are
4363         busy with them. Fixes #349105
4364
4365 2006-07-31  Wim Taymans  <wim@fluendo.com>
4366
4367         * gst/gstutils.c: (gst_pad_get_fixed_caps_func):
4368         Protect _PAD_CAPS with OBJECT_LOCK.
4369
4370 2006-07-31  Wim Taymans  <wim@fluendo.com>
4371
4372         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
4373         (gst_pad_get_property), (gst_pad_activate_pull),
4374         (gst_pad_activate_push), (gst_pad_set_blocked_async),
4375         (gst_pad_set_activate_function),
4376         (gst_pad_set_activatepull_function),
4377         (gst_pad_set_activatepush_function), (gst_pad_set_chain_function),
4378         (gst_pad_set_getrange_function),
4379         (gst_pad_set_checkgetrange_function), (gst_pad_set_event_function),
4380         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
4381         (gst_pad_set_internal_link_function), (gst_pad_set_link_function),
4382         (gst_pad_set_unlink_function), (gst_pad_set_getcaps_function),
4383         (gst_pad_set_acceptcaps_function),
4384         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
4385         (gst_pad_set_bufferalloc_function), (gst_pad_link_check_hierarchy),
4386         (gst_pad_get_caps_unlocked), (gst_pad_get_caps),
4387         (gst_pad_peer_get_caps), (gst_pad_accept_caps),
4388         (gst_pad_peer_accept_caps), (gst_pad_set_caps),
4389         (gst_pad_configure_sink), (gst_pad_configure_src),
4390         (gst_pad_get_allowed_caps), (gst_pad_get_negotiated_caps),
4391         (gst_pad_buffer_alloc_unchecked), (gst_pad_alloc_buffer_full),
4392         (gst_pad_query), (gst_pad_load_and_link), (handle_pad_block),
4393         (gst_pad_chain_unchecked), (gst_pad_push), (gst_pad_get_range),
4394         (gst_pad_send_event):
4395         Use _DEBUG_OBJECT when it makes sense.
4396         Protect GST_PAD_CAPS with the OBJECT_LOCK.
4397         Small cleanups and code reflows.
4398         Avoid caps refcounting in _accept_caps.
4399         Refactor alloc_buffer so that the code performed on the peer is in a
4400         separate function. Also if the pad does not implement a buffer alloc
4401         function, we should still check if the pad is flushing before falling
4402         back to the default allocator.
4403
4404 2006-07-31  Jan Schmidt  <thaytan@mad.scientist.com>
4405
4406         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4407         Make all uses of identity and fakesink have silent=true to avoid
4408         serialising every passing data structure, which is breaking tests
4409         on FC4 for some unknown reason.
4410
4411 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4412
4413         * gst/parse/Makefile.am:
4414         * gst/parse/grammar.y:
4415         * gst/parse/parse.l:
4416           Reverted previous patch as it required to bump the flex dependency to
4417           2.5.31, where fc4/5 seem to ship only the ancient 2.5.4a :(
4418
4419 2006-07-30  Stefan Kost  <ensonic@users.sf.net>
4420
4421         Patch by: Marc-Andre Lureau <marcandre.lureau@gmail.com>
4422
4423         * gst/parse/Makefile.am:
4424         * gst/parse/grammar.y:
4425         * gst/parse/parse.l:
4426           push & pop the state of the lexer for reentrant use case
4427           Fixes #349180
4428
4429 2006-07-29  Tim-Philipp Müller  <tim at centricular dot net>
4430
4431         * libs/gst/base/gstbasesrc.h:
4432           Note in the docs that the ::newsegment vfunc is not actually used by
4433           GstBaseSrc.
4434
4435 2006-07-28  Wim Taymans  <wim@fluendo.com>
4436
4437         * libs/gst/base/gstcollectpads.c:
4438         (gst_collect_pads_set_flushing_unlocked), (gst_collect_pads_pop),
4439         (gst_collect_pads_clear), (gst_collect_pads_flush),
4440         (gst_collect_pads_event), (gst_collect_pads_chain):
4441         When flushing a pad, also clear the queued buffer so that we don't
4442         accidentally use it when we shouldn't.
4443         Fix leaks by inreffing incomming buffer.
4444         Flush out queued buffers in case of errors.
4445         Fixes #347452.
4446
4447 2006-07-28  Wim Taymans  <wim@fluendo.com>
4448
4449         * docs/random/phonon-gst:
4450         Random notes about a Phonon backend.
4451
4452 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4453
4454         * libs/gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
4455         Extra debug output
4456         * tests/check/libs/gdp.c: (gst_dp_suite):
4457         Take a whack at fixing the ppc compile using a different define to
4458         disable the broken test.
4459
4460         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
4461         Remove excess g_print()
4462
4463 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4464
4465         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
4466         Oops, meant to uncomment this line too to dampen the noise a bit.
4467
4468 2006-07-27  Jan Schmidt <thaytan@mad.scientist.com>
4469
4470         * gst/parse/grammar.y:
4471         * gst/parse/parse.l:
4472         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4473         (GST_START_TEST), (parse_suite):
4474         Fix some of the leaks exposed by extending the parse-launch testsuite,
4475         and move the 3 I can't figure out into a separate test that won't run
4476         the pipelines unless the appropriate line is uncommented.
4477
4478 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4479
4480         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4481           Requesting 0 bytes before the end of the file should result in
4482           FLOW_OK and an empty buffer, not FLOW_UNEXPECTED. Thank you
4483           unit test.
4484
4485 2006-07-27  Wim Taymans  <wim@fluendo.com>
4486
4487         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_get_structure):
4488         Fix useless assert, a uint is always positive.
4489
4490         * gst/gststructure.c: (gst_structure_nth_field_name),
4491         (gst_structure_foreach), (gst_structure_map_in_place):
4492         Check input arguments for public functions to avoid obvious crashes.
4493
4494         * plugins/elements/gstfakesink.c: (gst_fake_sink_render):
4495         * plugins/elements/gstfakesink.h:
4496         Do less useless typechecking.
4497
4498 2006-07-27  Tim-Philipp Müller  <tim at centricular dot net>
4499
4500         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
4501           Do not use mmap() by default since there are a number of error
4502           conditions that we would like to handle in a non-fatal way that
4503           will result in a SIGBUS if we use mmap(). Examples: external
4504           devices (USB harddrive, portable music player) being unplugged
4505           while in use; file on mounted CD/DVD that can't be read because
4506           the medium is partly damaged. Fixes #348455 and #348475.
4507
4508 2006-07-27  Jan Schmidt  <thaytan@mad.scientist.com>
4509
4510         * gst/gstquery.h:
4511         Delete unused and misleading define of GST_QUERY_TYPE_RATE_DEN -
4512         rates are a gdouble
4513
4514 2006-07-26  Stefan Kost  <ensonic@users.sf.net>
4515
4516         * gst/gstregistry.c:
4517           Move big documentation comment into class section header, so that it
4518           appears in the API docs.
4519
4520 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4521
4522         * docs/gst/gstreamer-sections.txt:
4523         Oops. Commit the docs additions too for new API.
4524         Also, remove the mention of the non-existent GST_QUERY_TYPE_RATE_DEN
4525
4526 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4527
4528         * gst/gststructure.c: (gst_structure_id_set),
4529         (gst_structure_id_set_valist):
4530         * gst/gststructure.h:
4531         Add API for setting values into structures without performing
4532         a quark lookup, if the appropriate quark is already known.
4533
4534         API: gst_structure_id_set
4535         API: gst_structure_id_set_valist
4536
4537         * gst/parse/grammar.y:
4538         * gst/parse/parse.l:
4539         Remove some dead code shown by the coverage information.
4540         Don't throw a critical g_warning when encountering a syntax error,
4541         just warn and let the normal error path handle it.
4542
4543         * plugins/elements/gstelements.c:
4544         Bump the rank of filesink up to PRIMARY so that it is preferred over
4545         gnomevfssink for file:// sink uri's
4546
4547         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe),
4548         (GST_START_TEST), (run_delayed_test),
4549         (gst_parse_test_element_base_init),
4550         (gst_parse_test_element_class_init), (gst_parse_test_element_init),
4551         (gst_parse_test_element_change_state),
4552         (gst_register_parse_element), (parse_suite):
4553         Beef up the tests for parse syntax to check that more error cases
4554         fail as they are supposed to. Increases the test coverage a bit.
4555
4556 2006-07-26  Tim-Philipp Müller  <tim at centricular dot net>
4557
4558         * docs/manual/basics-elements.xml:
4559           Fix gst_element_link() example.
4560
4561         * gst/gstutils.c:
4562           Mention in API docs that one should usually gst_bin_add()
4563           elements to a bin or pipeline before doing the linking.
4564           
4565 2006-07-26  Wim Taymans  <wim@fluendo.com>
4566
4567         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_new),
4568         (gst_subbuffer_get_type), (gst_buffer_create_sub):
4569         Avoid function call for known types by keeping the buffer and
4570         subbuffer GType global.
4571
4572         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
4573         Random silly optimisations in read() path.
4574
4575 2006-07-26  Jan Schmidt  <thaytan@mad.scientist.com>
4576
4577         * tools/gst-launch.c: (main):
4578           If the top-level of the parse is a normal bin, it doesn't do the
4579           right logic to run as a top-level element, so place it inside a
4580           pipeline.
4581
4582 2006-07-25  Tim-Philipp Müller  <tim at centricular dot net>
4583
4584         * plugins/elements/gstfilesrc.c: (gst_file_src_set_property):
4585           Remove superfluous g_object_notify() calls, GObject does
4586           that for us automatically.
4587
4588 2006-07-25  Stefan Kost  <ensonic@users.sf.net>
4589
4590         * gst/gstinfo.h:
4591           on Win32, use dllspec to export the debug category symbols
4592
4593 2006-07-24  Tim-Philipp Müller  <tim at centricular dot net>
4594
4595         * gst/gsttaglist.c: (_gst_tag_initialize):
4596           Allow more than one GST_TAG_IMAGE per taglist.
4597
4598 2006-07-24  Thomas Vander Stichele  <thomas at apestaart dot org>
4599
4600         * gst/gstminiobject.c:
4601           update docs
4602         * plugins/elements/gstfdsrc.c: (gst_fd_src_set_property),
4603         (gst_fd_src_create):
4604           log recurring events at LOG level
4605           add more debug for when the fd gets set
4606
4607 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4608
4609         * gst/gstparse.c: (gst_parse_launch):
4610           Also remove reentrance checks if flex is MT safe (#348179)
4611          Fix my empty ChangeLog entry below
4612
4613 2006-07-21  Andy Wingo  <wingo@pobox.com>
4614
4615         * docs/libs/gstreamer-libs-sections.txt: Attempt to pacify buildbot.
4616
4617         * libs/gst/check/Makefile.am
4618         (libgstcheck_@GST_MAJORMINOR@include_HEADERS)
4619         (libgstcheck_@GST_MAJORMINOR@_la_SOURCES): 
4620         * libs/gst/check/gstbufferstraw.h:
4621         * libs/gst/check/gstbufferstraw.c: Add some new hype testing
4622         functions, thus proving I am still a GStreamer haxor. OK I wrote
4623         them a long time ago, but anyways.
4624
4625 2006-07-21  Stefan Kost  <ensonic@users.sf.net>
4626
4627         * configure.ac:
4628         * gst/gstparse.c: (gst_parse_launch):
4629           Check for flex version and omit mutex if we have a MT save flex
4630           (fixes #348179)
4631
4632 2006-07-21  Wim Taymans  <wim@fluendo.com>
4633
4634         * gst/gstparse.c: (gst_parse_launch):
4635         Protect recursive calls to _parse with a recursive mutex
4636         and busy flag.
4637
4638 2006-07-21  Wim Taymans  <wim@fluendo.com>
4639
4640         * tests/check/gst/gstpad.c: (GST_START_TEST):
4641         Fix leak in test.
4642
4643 2006-07-20  Stefan Kost  <ensonic@users.sf.net>
4644
4645         * gst/gstparse.c: (gst_parse_launch):
4646           Do not hang on recursive usage of gst_parse_launch()
4647
4648 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4649
4650         * gst/gsttaglist.c:
4651           Add some more docs, comments and FIXME 0.11s here and there
4652           and also fix some typos.
4653
4654 2006-07-20  Tim-Philipp Müller  <tim at centricular dot net>
4655
4656         * gst/gstsegment.h:
4657           Convert tabs to spaces for better readability. 
4658
4659 2006-07-20  Edward Hervey  <edward@fluendo.com>
4660
4661         * tests/check/libs/gdp.c: (gst_dp_suite):
4662         the test_buffer test fails at line 140 on ppc64 at the following
4663         check:
4664         fail_unless (GST_BUFFER_FLAG_IS_SET (newbuffer,
4665                 GST_BUFFER_FLAG_IN_CAPS),
4666                 "GST_BUFFER_IN_CAPS flag should have been copied !");
4667         See bug #348114 for more details.
4668
4669 2006-07-19  Tim-Philipp Müller  <tim at centricular dot net>
4670
4671         * docs/pwg/advanced-scheduling.xml:
4672         * gst/gstpad.c:
4673           Fix typos (#348000).
4674
4675 2006-07-18  Tim-Philipp Müller  <tim at centricular dot net>
4676
4677         * docs/pwg/intro-basics.xml:
4678           Fix wrong links (#347927).
4679
4680 2006-07-18  Stefan Kost  <ensonic@users.sf.net>
4681
4682         * gst/gstregistry.h:
4683         * gst/gstregistryxml.c: (load_feature),
4684         (gst_registry_xml_read_cache), (gst_registry_xml_save_feature):
4685         * win32/common/config.h:
4686           make --disable-index work (#342564)
4687
4688 2006-07-18  Wim Taymans  <wim@fluendo.com>
4689
4690         Patch by: Peter Kjellerstedt <pkj at axis dot com>
4691
4692         * gst/Makefile.am:
4693         * gst/gsttrace.h:
4694         The attached patch adds two missing defines to gsttrace.h when tracing
4695         is disabled.  It also corrects one existing define.
4696         Fixes #347756.
4697
4698 2006-07-17  Wim Taymans  <wim@fluendo.com>
4699
4700         * docs/gst/gstreamer-sections.txt:
4701         * gst/gst.c: (gst_segtrap_is_enabled), (gst_segtrap_set_enabled):
4702         * gst/gst.h:
4703         * gst/gstplugin.c: (_gst_plugin_fault_handler_restore):
4704         Add two functions to check and change the SIGSEGV behaviour
4705         when loading plugins.
4706         Don't mess with the SIGSEGV handler when we were told not to.
4707         Fixes #347794.
4708         API: gst_segtrap_is_enabled
4709         API: gst_segtrap_set_enabled
4710
4711 2006-07-14  Wim Taymans  <wim@fluendo.com>
4712
4713         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4714         * tests/check/elements/filesrc.c: (GST_START_TEST):
4715         Revert fix for regression in #347408 after release.
4716
4717 2006-07-14  Tim-Philipp Müller  <tim at centricular dot net>
4718
4719         Patch by: Antoine Tremblay <hexa00 at gmail com>
4720
4721         * gst/gstutils.c: (gst_element_unlink):
4722           Free iterator when done (#347311).
4723
4724         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
4725           And add a test case for this.
4726
4727 2006-07-14  Jan Schmidt  <thaytan@mad.scientist.com>
4728
4729         * configure.ac:
4730         Bump nano back to CVS
4731
4732 === release 0.10.9 ===
4733
4734 2006-07-13  Jan Schmidt <thaytan@mad.scientist.com>
4735
4736         * configure.ac:
4737           releasing 0.10.9, "On the road again"
4738
4739 2006-07-13  Wim Taymans  <wim@fluendo.com>
4740
4741         * libs/gst/base/gstbasesrc.c: (gst_base_src_update_length):
4742         * tests/check/elements/filesrc.c: (GST_START_TEST):
4743         Revert pull-0 fix for release. Disable check. Fixes #347408.
4744
4745 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4746
4747         * libs/gst/dataprotocol/dataprotocol.c:
4748         (gst_dp_event_from_packet_1_0):
4749           Fixes #347337: failure to deserialize event packets with
4750           empty payload (only event type)
4751
4752 2006-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
4753
4754         * gst/Makefile.am:
4755           do not install a .c file in the header directory
4756
4757 2006-07-13  Edward Hervey  <edward@fluendo.com>
4758
4759         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
4760         GhostPad no longer implicitely use the padtemplates of the targets.
4761         Fixes #347384
4762
4763 2006-07-11  Jan Schmidt  <thaytan@mad.scientist.com>
4764
4765         * gst/gstvalue.c: (gst_value_compare_list),
4766         (gst_value_compare_array), (_gst_value_initialize):
4767         * tests/check/gst/gstvalue.c: (GST_START_TEST):
4768         Make GstValueArray comparison be order dependent as designed.
4769         Add checks for value lists and value array comparisons.
4770         Fixes #347221
4771
4772 2006-07-11  Edward Hervey  <edward@fluendo.com>
4773
4774         * gst/gstbin.c: (activate_pads),
4775         (iterator_activate_fold_with_resync), (gst_bin_src_pads_activate),
4776         (gst_bin_change_state_func):
4777         (de)activate src pads before calling state_change on the childs.
4778         This is to avoid the case where a src ghostpad is blocked (holding the
4779         stream lock), which would block the deactivation of the ghostpad's
4780         target pad.
4781         * gst/gstghostpad.c: (gst_proxy_pad_do_query_type),
4782         (gst_proxy_pad_do_event), (gst_proxy_pad_do_query),
4783         (gst_proxy_pad_do_internal_link), (gst_proxy_pad_do_bufferalloc),
4784         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
4785         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
4786         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
4787         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target_unlocked),
4788         (gst_proxy_pad_set_target), (gst_proxy_pad_get_internal),
4789         (gst_proxy_pad_dispose), (gst_proxy_pad_init),
4790         (gst_ghost_pad_parent_set), (gst_ghost_pad_parent_unset),
4791         (gst_ghost_pad_class_init),
4792         (gst_ghost_pad_internal_do_activate_push),
4793         (gst_ghost_pad_internal_do_activate_pull),
4794         (gst_ghost_pad_do_activate_push), (gst_ghost_pad_do_activate_pull),
4795         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
4796         (gst_ghost_pad_dispose), (gst_ghost_pad_new_no_target),
4797         (gst_ghost_pad_new), (gst_ghost_pad_set_target):
4798         GhostPads now create their internal GstProxyPad at creation (and not
4799         when they're linked, as it was being done previously).
4800         The internal and target pads are linked straight away.
4801         The data will also travel through the other pad in order to make
4802         pad blocking and probes non-hackish (the probe/block now really happens
4803         on the GhostPad and not on the target).
4804         * gst/gstpad.c: (gst_pad_set_blocked_async),
4805         (gst_pad_link_prepare), (gst_pad_push_event):
4806         Remove previous ghostpad cruft.
4807         * gst/gstutils.c: (gst_pad_add_data_probe),
4808         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
4809         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
4810         (gst_pad_remove_buffer_probe):
4811         Remove previous ghost pad cruft.
4812         Added more detailed debug statements.
4813         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
4814         Fix the testsuite for refcounting changes.
4815         The comments about who has references were correct, but the refcount
4816         being checked wasn't the same (!?!).
4817
4818         Fixes #341029
4819
4820 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4821
4822         * docs/gst/gstreamer-sections.txt:
4823         * gst/gstconfig.h.in:
4824         More docs for configuration options, add docs to gtk-doc.
4825
4826 2006-07-10  Stefan Kost  <ensonic@users.sf.net>
4827
4828         * gst/Makefile.am:
4829         * gst/gstconfig.h.in:
4830         * win32/common/config.h:
4831         Fix build when disabling tracing (fixes #344016). Also start to document
4832         the defines that disable the sub-systems.
4833
4834 2006-07-10  Edward Hervey  <edward@fluendo.com>
4835
4836         * gst/gst.c: (ensure_current_registry_forking):
4837         let's make valgrind happy...
4838
4839 2006-07-09  Wim Taymans  <wim@fluendo.com>
4840
4841         * gst/gstelement.c: (activate_pads),
4842         (iterator_activate_fold_with_resync), (gst_element_pads_activate):
4843         Better pad activation code: Reset the collect value too on resync.
4844         Add some comments.
4845
4846 2006-07-09  Wim Taymans  <wim@fluendo.com>
4847
4848         * gst/gstpad.c: (gst_pad_init), (gst_pad_activate_pull),
4849         (gst_pad_activate_push):
4850         Use some more macros where it makes sense.
4851         Allow pad mode switching instead of asserting. When a pad
4852         is activated in one mode and we activate it in another, 
4853         deactivate it first before activating it in a different mode.
4854         Fixes #329198.
4855
4856 2006-07-08  Andy Wingo  <wingo@pobox.com>
4857
4858         * tools/gst-launch.c (main): Handle err == NULL.
4859
4860         * gst/gst.c (init_post, ensure_current_registry)
4861         (ensure_current_registry_forking)
4862         (ensure_current_registry_nonforking): Reduce #ifdef ratnest by
4863         factoring out the registry scanning into separate functions. Don't
4864         fork for the rescan is GST_REGISTRY_FORK=no; useful in debugging.
4865         Better environment var name/interface suggestions accepted.
4866
4867 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4868
4869         * gst/gstobject.c: (gst_object_set_name_default),
4870         (gst_object_set_name):
4871           Random micro-optimisation: don't use a hash table
4872           with strings as keys and the usual strdup/strcmp
4873           involved, but rather just use the GQuark of the
4874           type name as key, since it needs to be looked up
4875           anyway to get the type name string.
4876
4877         * tests/check/gst/gstobject.c: (GST_START_TEST):
4878           Fix various leaks.
4879
4880 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4881
4882         * gst/gstbin.c: (compare_interface), (gst_bin_get_by_interface),
4883         (gst_bin_iterate_all_by_interface):
4884           Can't use GPOINTER_TO_INT and GINT_TO_POINTER with GTypes.
4885           GTypes are gulongs and thus the top 4 bytes might be cut
4886           off on some platforms when doing GPOINTER_TO_INT, leading
4887           to invalid GTypes and bad things happening (see RH bug #179654).
4888           Also add a check to make sure the type passed in is really
4889           an interface type.
4890
4891 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4892
4893         * .cvsignore:
4894           Ignore more.
4895
4896 2006-07-07  Tim-Philipp Müller  <tim at centricular dot net>
4897
4898         * Makefile.am:
4899         * configure.ac:
4900         * gst-element-check.m4:
4901         * gst-element-check.m4.in:
4902           Make gst-element-check-$VERSION.m4 call gst-inspect-$VERSION
4903           instead of the unversioned gst-inspect (#324176, #168659).
4904
4905 2006-07-06  Wim Taymans  <wim@fluendo.com>
4906
4907         * gst/gstmessage.h:
4908         Use a valid int for the _MESSAGE_ANY enum value to avoid compiler
4909         warnings.
4910
4911 2006-07-06  Wim Taymans  <wim@fluendo.com>
4912
4913         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
4914         (gst_base_src_wait), (gst_base_src_update_length),
4915         (gst_base_src_get_range), (gst_base_src_default_check_get_range),
4916         (gst_base_src_check_get_range), (gst_base_src_pad_check_get_range),
4917         (gst_base_src_loop), (gst_base_src_start),
4918         (gst_base_src_activate_pull):
4919         Update docs.
4920         blocksize == 0 now means the default blocksize when working in push
4921         based mode.
4922         Remove some pointless asserts in _wait function.
4923         Fix offset/length calculations and EOS handling. We can now pull 0
4924         bytes as well, which is allowed.
4925         use _check_get_range() to decide if we can operate in _pull based
4926         mode.
4927         Fix refcounting leak when check_get_range function was not 
4928         implemented.
4929         API GstBaseSrc::blocksize range can be 0 too now (default)
4930
4931         * tests/check/elements/filesrc.c: (GST_START_TEST),
4932         (filesrc_suite):
4933         Added check to test _get_range() behaviour.
4934
4935 2006-07-06  Wim Taymans  <wim@fluendo.com>
4936
4937         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
4938         (gst_pad_push), (gst_pad_check_pull_range), (gst_pad_get_range),
4939         (gst_pad_pull_range):
4940         * gst/gstpad.h:
4941         Lots of comments and docs added to the pad functions.
4942         Flesh out the expected behaviour of the get_range() functions.
4943
4944 2006-07-06  Wim Taymans  <wim@fluendo.com>
4945
4946         * gst/gstbus.h:
4947         * gst/gstclock.h:
4948         * gst/gstevent.h:
4949         * gst/gstiterator.h:
4950         * gst/gstpad.h:
4951         * gst/gstplugin.h:
4952         * gst/gsttask.h:
4953         Remove comma at end of enumerator list. 
4954
4955 2006-07-05  Sebastien Moutte  <sebastien@moutte.net>
4956
4957         * win32/common/libgstbase.def:
4958         * win32/common/libgstdataprotocol.def:
4959         * win32/common/libsgtreamer.def:
4960         Add new exported functions.
4961
4962 2006-07-05  Wim Taymans  <wim@fluendo.com>
4963
4964         * libs/gst/base/gstpushsrc.c: (gst_push_src_check_get_range):
4965         Add some more docs here and there.
4966
4967 2006-07-05  Wim Taymans  <wim@fluendo.com>
4968
4969         * libs/gst/base/gstbasesink.c: (gst_base_sink_preroll_object),
4970         (gst_base_sink_loop), (gst_base_sink_get_position):
4971         When operating in pull mode update the offset so that we
4972         read sequentially.
4973
4974 2006-07-05  Wim Taymans  <wim@fluendo.com>
4975
4976         * gst/gstregistryxml.c: (read_string):
4977         Avoid strdup. (will happen in libxml, but hey!)
4978
4979         * gst/gsturi.c:
4980         Add some more docs.
4981
4982 2006-07-05  Wim Taymans  <wim@fluendo.com>
4983
4984         * gst/gstbuffer.c: (_gst_buffer_copy), (gst_buffer_create_sub):
4985         * tests/check/gst/gstbuffer.c: (GST_START_TEST),
4986         (gst_buffer_suite):
4987         No point in checking if the size of the subbuffer > 0, the
4988         code handles it correclty as demonstrated by unit test.
4989         Also add a unit test for the zero sized _new_and_alloc and
4990         _copy. Fixes #346663.
4991
4992 2006-07-05  Wim Taymans  <wim@fluendo.com>
4993
4994         * libs/gst/base/gstbasetransform.c:
4995         (gst_base_transform_prepare_output_buffer),
4996         (gst_base_transform_buffer_alloc),
4997         (gst_base_transform_handle_buffer):
4998         Make sure the buffer we pass to transform_ip has a refcount of
4999         1 and thus is writable. Fixes #343196
5000
5001 2006-07-04  Jan Schmidt  <thaytan@mad.scientist.com>
5002
5003         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5004         (gst_file_src_init), (gst_file_src_set_property),
5005         (gst_file_src_get_property), (gst_file_src_map_region):
5006         * plugins/elements/gstfilesrc.h:
5007         Add "sequential" property, off by default, to use madvise and hint
5008         to the kernel that sequential access is desired.
5009         Touch all retrieved pages by default to ensure they are pulled
5010         into memory. (Closes #345720)
5011
5012 2006-07-03  Wim Taymans  <wim@fluendo.com>
5013
5014         * docs/design/part-block.txt:
5015         * docs/design/part-dynamic.txt:
5016         Small docs updates.
5017
5018 2006-07-03  Wim Taymans  <wim@fluendo.com>
5019
5020         * gst/gstcaps.c: (gst_caps_new_empty), (_gst_caps_free),
5021         (gst_caps_unref), (gst_static_caps_get),
5022         (gst_caps_append_structure):
5023         * gst/gstclock.c: (gst_clock_entry_new), (_gst_clock_id_free):
5024         Use GSlice when the glib we build against is >= 2.10
5025
5026 2006-07-03  Wim Taymans  <wim@fluendo.com>
5027
5028         * gst/gstelement.c: (gst_element_pads_activate):
5029         Small cleanup in pad activation code.
5030
5031 2006-07-03  Wim Taymans  <wim@fluendo.com>
5032
5033         Patch by: Peter Kjellerstedt <pkj at axis dot com>
5034
5035         * gst/gst-i18n-app.h:
5036         * gst/gst-i18n-lib.h:
5037         * tools/gst-inspect.c: (print_signal_info):
5038         The attached patch will make the inclusion of gettext.h unconditional in
5039         gst/gst-i18n-app.h and gst/gst-i18n-lib.h, and it will remove the inclusion of
5040         libintl.h in tools/gst-inspect.c.
5041         This allows use of --disable-nls again and fixes #344642.
5042
5043 2006-07-03  Edward Hervey  <edward@fluendo.com>
5044
5045         * gst/gstpad.c: (handle_pad_block), (gst_pad_push_event):
5046         Implement pad blocking on events according to part-block.txt.
5047         More comments on behaviour.
5048         * tests/check/gst/gstevent.c: (test_event):
5049         Send event to peer pad of blocked pad (else it will block).
5050
5051 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5052
5053         * libs/gst/check/gstcheck.c: (gst_check_message_error),
5054         (gst_check_run_suite):
5055           if we get the wrong message, give us the types as string
5056         * plugins/elements/gstfilesrc.c: (gst_file_src_start):
5057           Fix a translatable
5058         * tests/check/elements/filesrc.c: (GST_START_TEST):
5059           add a test for trying to open a non-existing file
5060
5061 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5062
5063         * tests/check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
5064           add a test for adding self
5065
5066 2006-07-03  Thomas Vander Stichele  <thomas at apestaart dot org>
5067
5068         * libs/gst/check/gstcheck.h:
5069           add some assert_ as alias for fail_unless_*
5070         * tests/check/gst/gst.c: (GST_START_TEST), (gst_suite):
5071           increase test coverage
5072
5073 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5074
5075         * Makefile.am:
5076           include lcov.mak for lcov coverage generation
5077         * tools/Makefile.am:
5078           add to CLEANFILES
5079
5080 2006-07-02  Edward Hervey  <edward@fluendo.com>
5081
5082         * tests/check/elements/.cvsignore:
5083         moaping
5084
5085 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5086
5087         * configure.ac:
5088           don't set CFLAGS and friends for gcov, done from GST_GCOV now
5089         * tests/check/Makefile.am:
5090           clean up gcov files
5091
5092 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5093
5094         * gst/gstcaps.c: (gst_caps_remove_and_get_structure):
5095           remove gst_caps_simplify; it was not declared and not used
5096           and deprecated in 0.8
5097
5098 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5099
5100         * docs/faq/gst-uninstalled:
5101           don't put empty paths on PYTHONPATH
5102         * docs/gst/gstreamer-sections.txt:
5103           remove some symbols that are not there
5104
5105 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5106
5107         * gst/gstcaps.c: (gst_caps_compare_structures):
5108           whitespace fixes
5109         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
5110         * tests/check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
5111           add more tests
5112
5113 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5114
5115         * libs/gst/dataprotocol/Makefile.am:
5116           build dataprotocol test by linking to the lib, instead of
5117           compiling the source, so we get coverage
5118         * tests/check/Makefile.am:
5119         * tests/check/elements/filesrc.c: (event_func), (setup_filesrc),
5120         (cleanup_filesrc), (GST_START_TEST), (filesrc_suite):
5121           add a test for filesrc
5122
5123 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5124
5125         * tests/check/gst/gststructure.c: (GST_START_TEST),
5126         (gst_structure_suite):
5127           Push coverage from 59.04% to 70.00%
5128
5129 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5130
5131         * tests/check/Makefile.am:
5132           gst-inspect every element; this makes sure that we also get
5133           coverage on element's get/set functions
5134
5135 2006-07-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5136
5137         * configure.ac:
5138           set CFLAGS and friends to -O0 if gcov is being used
5139           add GCOV LIBS
5140         * gst/Makefile.am:
5141         * libs/gst/base/Makefile.am:
5142         * libs/gst/check/Makefile.am:
5143         * libs/gst/controller/Makefile.am:
5144         * libs/gst/dataprotocol/Makefile.am:
5145         * libs/gst/net/Makefile.am:
5146         * plugins/elements/Makefile.am:
5147         * plugins/indexers/Makefile.am:
5148           add makefile rules to generate gcov data and clean up
5149         * tests/check/Makefile.am:
5150           add a coverage target that generates an html overview
5151           of coverage data
5152
5153 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5154
5155         * tests/check/elements/fakesink.c:
5156         * tests/check/elements/fakesrc.c:
5157         * tests/check/elements/fdsrc.c:
5158         * tests/check/elements/identity.c:
5159         * tests/check/generic/sinks.c: (gst_sinks_suite):
5160         * tests/check/generic/states.c:
5161         * tests/check/gst/gst.c:
5162         * tests/check/gst/gstabi.c:
5163         * tests/check/gst/gstbin.c:
5164         * tests/check/gst/gstbuffer.c: (gst_buffer_suite):
5165         * tests/check/gst/gstbus.c: (gst_bus_suite):
5166         * tests/check/gst/gstcaps.c: (GST_START_TEST):
5167         * tests/check/gst/gstelement.c:
5168         * tests/check/gst/gstevent.c: (gst_event_suite):
5169         * tests/check/gst/gstghostpad.c:
5170         * tests/check/gst/gstiterator.c: (gst_iterator_suite):
5171         * tests/check/gst/gstmessage.c: (gst_message_suite):
5172         * tests/check/gst/gstminiobject.c:
5173         * tests/check/gst/gstobject.c:
5174         * tests/check/gst/gstpad.c:
5175         * tests/check/gst/gstpipeline.c:
5176         * tests/check/gst/gstplugin.c:
5177         * tests/check/gst/gstquery.c: (gst_query_suite):
5178         * tests/check/gst/gstsegment.c: (gst_segment_suite):
5179         * tests/check/gst/gststructure.c:
5180         * tests/check/gst/gstsystemclock.c:
5181         * tests/check/gst/gsttag.c:
5182         * tests/check/gst/gsttask.c: (gst_task_suite):
5183         * tests/check/gst/gstutils.c:
5184         * tests/check/gst/gstvalue.c:
5185         * tests/check/libs/adapter.c:
5186         * tests/check/libs/basesrc.c:
5187         * tests/check/libs/collectpads.c:
5188         * tests/check/libs/controller.c:
5189         * tests/check/libs/gdp.c: (gst_dp_suite):
5190         * tests/check/libs/gstnetclientclock.c:
5191         * tests/check/libs/gstnettimeprovider.c:
5192         * tests/check/libs/libsabi.c: (libsabi_suite):
5193         * tests/check/libs/typefindhelper.c:
5194         * tests/check/pipelines/cleanup.c:
5195         * tests/check/pipelines/parse-launch.c:
5196         * tests/check/pipelines/simple-launch-lines.c:
5197         * tests/check/pipelines/stress.c: (stress_suite):
5198           use the new macro
5199
5200 2006-07-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5201
5202         * libs/gst/check/gstcheck.c: (gst_check_run_suite):
5203         * libs/gst/check/gstcheck.h:
5204           create a macro and function so that the simple unit test
5205           case can be just one macro to create main()
5206
5207 2006-06-30  Tim-Philipp Müller  <tim at centricular dot net>
5208
5209         * gst/gstbin.c: (gst_bin_restore_thyself):
5210         * gst/gstxml.c: (gst_xml_make_element):
5211           Fix deserialisation from XML. Set parent manually
5212           instead of using gst_bin_add(), since gst_bin_add()
5213           will unlink all pads of the element being added.
5214           Fixes #341667.
5215
5216 2006-06-28  Tim-Philipp Müller  <tim at centricular dot net>
5217
5218         Patch by: Peter Kjellerstedt <pkj at axis com>
5219
5220         * gst/gst.c: (prepare_for_load_plugin_func), (split_and_iterate):
5221           Fix missing g_strdup() and double free when using the
5222           --gst-plugin-load command line option (#346097).
5223
5224 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
5225
5226         * gst/gstinfo.c:
5227           Promote GST_DEBUG_CATEGORY_STATIC in example in docs.
5228
5229         * libs/gst/net/gstnetclientclock.c:
5230         * libs/gst/net/gstnettimeprovider.c:
5231           Use GST_DEBUG_CATEGORY_STATIC here too (#342503).
5232
5233 2006-06-23  Tim-Philipp Müller  <tim at centricular dot net>
5234
5235         * docs/manual/advanced-dataaccess.xml:
5236           Fix buffer probe example compilation in
5237           ADM (#345708).
5238         
5239 2006-06-22  Edward Hervey  <edward@fluendo.com>
5240
5241         * gst/gstelement.c: (gst_element_pads_activate):
5242         We need to deactivate src pads first and then sink pads.
5243         The reason is the src pads might be blocking while holding the streaming
5244         lock, so we need to deactivate them first so that deactivating the sink
5245         pads doesn't block (since it will require the streaming lock).
5246
5247 2006-06-22  Wim Taymans  <wim@fluendo.com>
5248
5249         * libs/gst/base/gstbasetransform.c:
5250         (gst_base_transform_buffer_alloc):
5251         Forgot to remove two unneeded unrefs.
5252         Simplify a check _is_equal allready checks the obvious case.
5253
5254 2006-06-22  Wim Taymans  <wim@fluendo.com>
5255
5256         * docs/design/part-block.txt:
5257         Some docs about what pad_block should do.
5258
5259 2006-06-22  Wim Taymans  <wim@fluendo.com>
5260
5261         * gst/gstcaps.c: (gst_caps_replace):
5262         Fix crasher when passed NULL. Doc clarification.
5263         Optimize for the trivial case.
5264
5265         * gst/gstpipeline.c: (gst_pipeline_change_state):
5266         Small cleanups.
5267
5268         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
5269         Small documentation cleanup.
5270
5271         * libs/gst/base/gstbasetransform.c:
5272         (gst_base_transform_buffer_alloc):
5273         Don't use silly gst_pad_get_negotiated_caps, GST_PAD_CAPS
5274         is what we need and it avoids a whole lot of redundant 
5275         refcount operations.
5276
5277 2006-06-22  Tim-Philipp Müller  <tim at centricular dot net>
5278
5279         Patch by: Philip Jägenstedt  <philip at lysator liu se>
5280
5281         * docs/manual/advanced-dataaccess.xml:
5282           Fix 'Embedding static elements' section to use
5283           GST_PLUGIN_DEFINE_STATIC (#345607).
5284
5285 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5286
5287         * tests/check/pipelines/simple-launch-lines.c: (test_stop_from_app):
5288           Attempt to 'fix' spuriously failing test case: it seems like the
5289           timeout of half a second is simply too small when the system is under
5290           load otherwise, and the timeout doesn't really seem to serve any
5291           particular purpose here. Give the pipeline a few seconds to preroll
5292           first, and then give it another half a second to go from PAUSED to
5293           PLAYING and marshal the message into the main thread.
5294
5295 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5296
5297         * tools/gst-feedback-m.m:
5298           Don't only use unversioned tools, try versioned tools as well
5299           (#345086).
5300
5301 2006-06-21  Tim-Philipp Müller  <tim at centricular dot net>
5302
5303         * gst/gstbus.c: (gst_bus_class_init):
5304           Fix some typos, make docs more explicit.
5305
5306 2006-06-20  Wim Taymans  <wim@fluendo.com>
5307
5308         * tests/check/gst/gstghostpad.c: (block_callback),
5309         (GST_START_TEST), (gst_ghost_pad_suite):
5310         Added some more ghostpad tests, mainly blocking
5311         and probes.
5312
5313 2006-06-16  Wim Taymans  <wim@fluendo.com>
5314
5315         * plugins/elements/gstfilesink.c: (gst_file_sink_open_file),
5316         (gst_file_sink_close_file), (gst_file_sink_do_seek),
5317         (gst_file_sink_event), (gst_file_sink_render):
5318         * plugins/elements/gstfilesink.h:
5319         Check if we can seek in the file instead of assuming
5320         we always can. Post an error when we are asked to seek in a
5321         non-seekable file (like a fifo). Fixes #343312.
5322         Some cleanups.
5323
5324 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
5325
5326         * tools/gst-launch.1.in:
5327           Un-garble (fourcc) bit in filtered caps section.
5328
5329 2006-06-16  Tim-Philipp Müller  <tim at centricular dot net>
5330
5331         * docs/manual/advanced-autoplugging.xml:
5332         * docs/manual/basics-helloworld.xml:
5333         * docs/manual/highlevel-components.xml:
5334           Don't leak bus reference in sample code.
5335
5336 2006-06-15  Tim-Philipp Müller  <tim at centricular dot net>
5337
5338         * autogen.sh:
5339           Add default for new --enable-plugin-docs switch.
5340
5341         * configure.ac:
5342           Use new GST_PLUGIN_DOCS macro to check for pyxml etc.
5343           Fixes #344039.
5344
5345         * docs/Makefile.am:
5346           Use new ENABLE_PLUGIN_DOCS conditional.
5347
5348 2006-06-14  Wim Taymans  <wim@fluendo.com>
5349
5350         * gst/gstbin.c: (bin_query_duration_done), (gst_bin_query):
5351         Make it clear with a FIXME and a real define what the #if 0
5352         previously disabled.
5353
5354 2006-06-14  Wim Taymans  <wim@fluendo.com>
5355
5356         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
5357         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5358         * libs/gst/base/gstbasetransform.c:
5359         (gst_base_transform_sink_eventfunc):
5360         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
5361         Don't randomly and silently reset a segment when the format 
5362         changes as this is a bug somewhere upstream. Fixes #330379.
5363
5364 2006-06-14  Tim-Philipp Müller  <tim at centricular dot net>
5365
5366         Patch by: Wouter Paesen  <wouter at kangaroot net>
5367
5368         * libs/gst/controller/gstcontroller.c:
5369         (gst_controlled_property_new):
5370           Fix controlling of float properties (#344849).
5371
5372         * tests/check/libs/controller.c:
5373         (gst_test_mono_source_get_property),
5374         (gst_test_mono_source_set_property),
5375         (gst_test_mono_source_class_init), (GST_START_TEST):
5376           While we're at it, add some float stuff to unit test.
5377
5378 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5379
5380         * docs/README:
5381         * docs/images/gdp-header.svg:
5382           add a gdp image
5383         * docs/libs/Makefile.am:
5384         * docs/libs/gdp-header.png:
5385         * libs/gst/dataprotocol/dataprotocol.c:
5386           add it to the API docs
5387         * docs/manual/intro-motivation.xml:
5388           fix typo
5389
5390 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5391
5392         * gst/gst.c: (scan_and_update_registry), (init_post):
5393           If the fork()'ed child process can't write the updated registry cache
5394           file to disk for some reason, make it exit with a failure exit code,
5395           so that the parent can then re-scan the plugins itself and update the
5396           registry structures in memory and work with that (rather than failing
5397           when creating elements because seemingly no plugins are available).
5398           Refactor registry scanning code into separate function for this and
5399           also separate fork() and non-fork() code paths. Fixes #344748.
5400
5401 2006-06-13  Wim Taymans  <wim@fluendo.com>
5402
5403         * docs/manual/advanced-dataaccess.xml:
5404         Fix wrong PluginDesc. Fixes #344755.
5405
5406 2006-06-13  Tim-Philipp Müller  <tim at centricular dot net>
5407
5408         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
5409           Fix silly bug that prevented us from creating
5410           ~/.gstreamer-0.10 and writing the registry in one
5411           go (the first call to g_mkstemp() would overwrite the
5412           placeholder in the template string, so the second call
5413           to g_mkstemp() after creating the missing directory
5414           would then error out with 'invalid argument').
5415
5416 2006-06-13  Edward Hervey  <edward@fluendo.com>
5417
5418         * gst/gst.c: (init_post):
5419         Free string.
5420
5421 2006-06-13  Thomas Vander Stichele  <thomas at apestaart dot org>
5422
5423         * gst/glib-compat-private.h:
5424         * gst/glib-compat.c:
5425         * gst/glib-compat.h:
5426         * gst/gstvalue.c: (gst_value_serialize_flags):
5427           remove GLib 2.6 compatibility code
5428
5429 2006-06-12  Tim-Philipp Müller  <tim at centricular dot net>
5430
5431         * gst/parse/Makefile.am:
5432           Fix build with 'make -j N' even more (#340016).
5433
5434 2006-06-12  Wim Taymans  <wim@fluendo.com>
5435
5436         * docs/gst/gstreamer-sections.txt:
5437         Fix docs.
5438
5439 2006-06-12  Wim Taymans  <wim@fluendo.com>
5440
5441         * gst/gstsegment.c: (gst_segment_set_duration),
5442         (gst_segment_set_last_stop), (gst_segment_set_seek),
5443         (gst_segment_set_newsegment_full), (gst_segment_to_stream_time),
5444         (gst_segment_to_running_time), (gst_segment_clip):
5445         Use G_UNLIKELY to help the compiler a bit.
5446
5447 2006-06-12  Wim Taymans  <wim@fluendo.com>
5448
5449         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
5450
5451         * gst/gstevent.c: (gst_event_get_type):
5452         * gst/gstmessage.c:
5453         * gst/gstpad.c: (gst_pad_chain_unchecked), (gst_pad_chain),
5454         (gst_pad_push):
5455         constify quark registration strings. Fixes #344115
5456         Avoid unneeded type checking is _pad_push() by internally
5457         calling gst_pad_chain_unchecked().
5458
5459 2006-06-12  Wim Taymans  <wim@fluendo.com>
5460
5461         * gst/gstbuffer.c: (gst_buffer_get_type), (gst_buffer_finalize),
5462         (_gst_buffer_copy), (gst_buffer_is_metadata_writable),
5463         (gst_subbuffer_finalize), (gst_buffer_create_sub),
5464         (gst_buffer_is_span_fast), (gst_buffer_span):
5465         Init _type for consistency.
5466         Use _FLAGS macro to avoid type check.
5467         Avoid unneeded type checks in subbufer code.
5468
5469 2006-06-12  Wim Taymans  <wim@fluendo.com>
5470
5471         * gst/gst.c: (gst_debug_help):
5472         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_list_free):
5473         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
5474         (gst_plugin_feature_list_free):
5475         * gst/gstregistry.c: (gst_registry_add_plugin),
5476         (gst_registry_add_feature), (gst_registry_plugin_filter),
5477         (gst_registry_feature_filter), (gst_registry_find_plugin),
5478         (gst_registry_find_feature), (gst_registry_get_plugin_list),
5479         (gst_registry_lookup_feature_locked), (gst_registry_lookup_locked):
5480         * gst/gstregistryxml.c: (load_feature),
5481         (gst_registry_xml_read_cache), (gst_registry_xml_write_cache):
5482         * gst/gstminiobject.c: (gst_mini_object_unref),
5483         (gst_mini_object_replace), (gst_value_mini_object_free),
5484         (gst_value_mini_object_copy):
5485         Use _CAST macros to avoid unneeded type checking.
5486         Added some more G_UNLIKELY.
5487
5488 2006-06-12  Wim Taymans  <wim@fluendo.com>
5489
5490         * gst/gstbuffer.h:
5491         Avoid unneeded type checking.
5492         API: GST_BUFFER_IS_DISCONT
5493
5494         * gst/gstminiobject.h:
5495         Avoid type check in flag accessor.
5496
5497         * gst/gstelementfactory.h:
5498         * gst/gstplugin.h:
5499         * gst/gstpluginfeature.h:
5500         Add _CAST macros.
5501         API: GST_ELEMENT_FACTORY_CAST
5502         API: GST_PLUGIN_CAST
5503         API: GST_PLUGIN_FEATURE_CAST
5504
5505 2006-06-12  Wim Taymans  <wim@fluendo.com>
5506
5507         * gst/gstobject.c: (gst_object_get_type), (gst_object_ref),
5508         (gst_object_unref):
5509         Add G_UNLIKELY in type registration.
5510         Avoid type check in _ref/_unref since that is also
5511         done in glib.
5512
5513 2006-06-12  Wim Taymans  <wim@fluendo.com>
5514
5515         * gst/gsterror.c: (gst_g_error_get_type):
5516         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
5517         (gst_static_pad_template_get_type):
5518         * gst/gsttaglist.c: (gst_tag_list_get_type):
5519         * gst/gsttagsetter.c: (gst_tag_setter_get_type):
5520         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type):
5521         * gst/gsturi.c: (gst_uri_handler_get_type):
5522         * gst/gstvalue.c: (gst_date_get_type):
5523         * gst/gstxml.c: (gst_xml_get_type):
5524         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_type),
5525         (gst_base_sink_preroll_object), (gst_base_sink_get_position):
5526         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_type):
5527         Add G_UNLIKELY in type registration.
5528
5529 2006-06-12  Wim Taymans  <wim@fluendo.com>
5530
5531         * tools/gst-inspect.c: (print_signal_info):
5532         Properly print enum values.
5533
5534 2006-06-12  Wim Taymans  <wim@fluendo.com>
5535
5536         * gst/gstinfo.c: (gst_debug_set_active),
5537         (gst_debug_category_set_threshold), (_gst_debug_nameof_funcptr):
5538         * gst/gstinfo.h:
5539         Add some G_[UN]LIKELY.
5540         Maintain __gst_debug_min to avoid formatting the arguments of
5541         debug messages that will be dropped anyway to avoid a lot of 
5542         overhead from the debugging system.
5543
5544 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5545
5546         * po/POTFILES.in:
5547         * po/POTFILES.skip:
5548           add missing files containing translatable strings, tell intltool about
5549           one exception
5550
5551 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5552
5553         * tests/check/libs/.cvsignore:
5554         add test-binary to ignore list
5555
5556 2006-06-11  Stefan Kost  <ensonic@users.sf.net>
5557
5558         * docs/libs/gstreamer-libs-docs.sgml:
5559         reorder (put dp into a chapter) and indent
5560
5561 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5562
5563         * configure.ac:
5564           back to HEAD
5565
5566 === release 0.10.8 ===
5567
5568 2006-06-10  Thomas Vander Stichele <thomas at apestaart dot org>
5569
5570         * configure.ac:
5571           releasing 0.10.8, "Soepeke, ik zie ou nog altijd nie"
5572
5573 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5574
5575         * gst/gst.c: (init_post):
5576           move pid declaration to declaration block
5577
5578 2006-06-10  Thomas Vander Stichele  <thomas at apestaart dot org>
5579
5580         * gst/gst.c: (init_post):
5581           use _exit() instead of exit() in our forked child; this ensures
5582           that none of the registered exit handlers from whatever is using
5583           GStreamer get executed.  This fixes gnome-mixer-applet failing
5584           to load, because ORBit would shut down.
5585           Spotted by: Edward Hervey  <edward@fluendo.com>
5586           Fix suggested by: Tim-Philipp Müller  <tim at centricular dot net>
5587           Fixes #344474
5588
5589 2006-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
5590
5591         * configure.ac:
5592           back to TRUNK
5593
5594 === release 0.10.7 ===
5595
5596 2006-06-09  Thomas Vander Stichele <thomas at apestaart dot org>
5597
5598         * configure.ac:
5599           releasing 0.10.7, "Soepeke, ik zie ou"
5600
5601 2006-06-07  Thomas Vander Stichele  <thomas at apestaart dot org>
5602
5603         * configure.ac:
5604         * po/af.po:
5605         * po/az.po:
5606         * po/bg.po:
5607         * po/ca.po:
5608         * po/cs.po:
5609         * po/de.po:
5610         * po/en_GB.po:
5611         * po/fr.po:
5612         * po/it.po:
5613         * po/nb.po:
5614         * po/nl.po:
5615         * po/ru.po:
5616         * po/sq.po:
5617         * po/sr.po:
5618         * po/sv.po:
5619         * po/tr.po:
5620         * po/uk.po:
5621         * po/vi.po:
5622         * po/zh_CN.po:
5623         * po/zh_TW.po:
5624         * win32/common/config.h:
5625           0.10.6.2 prerelease
5626
5627 2006-06-07  Wim Taymans  <wim@fluendo.com>
5628
5629         * gst/gstindex.c: (gst_index_gtype_resolver):
5630         * tools/gst-xmlinspect.c: (print_plugin_info):
5631         Fix leak spotted by coverity checker. Fixes #343827
5632         Fix another other leak found by paolo borelli.
5633
5634 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5635
5636         * libs/gst/dataprotocol/dataprotocol.c:
5637         (gst_dp_header_from_buffer_any), (gst_dp_packet_from_caps_any),
5638         (gst_dp_version_get_type), (gst_dp_init),
5639         (gst_dp_header_from_buffer), (gst_dp_header_from_buffer_1_0),
5640         (gst_dp_packet_from_caps), (gst_dp_packet_from_caps_1_0),
5641         (gst_dp_packet_from_event), (gst_dp_packet_from_event_1_0),
5642         (gst_dp_event_from_packet_0_2), (gst_dp_event_from_packet_1_0),
5643         (gst_dp_event_from_packet), (gst_dp_packetizer_new),
5644         (gst_dp_packetizer_free):
5645         * libs/gst/dataprotocol/dataprotocol.h:
5646           API: add a GstDPPacketizer object, and create/free functions
5647           API: add GstDPVersion enum
5648           Add 1.0 event function that uses the string serialization
5649           Serialize more useful buffer flags
5650           Fixes #343988
5651
5652 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5653
5654         * tests/check/Makefile.am:
5655         * tests/check/gst/gstabi.c:
5656         * tests/check/gst/struct_ppc64.h:
5657         * tests/check/libs/libsabi.c:
5658         * tests/check/libs/struct_ppc64.h:
5659           add ppc64 structure sizes
5660
5661 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5662
5663         * tests/check/Makefile.am:
5664         * tests/check/gst/gstabi.c:
5665         * tests/check/gst/struct_x86_64.h:
5666         * tests/check/libs/libsabi.c:
5667         * tests/check/libs/struct_x86_64.h:
5668           generate and add structure size lists for x86_64
5669
5670 2006-06-06  Thomas Vander Stichele  <thomas at apestaart dot org>
5671
5672         * libs/gst/check/gstcheck.c: (gst_check_abi_list):
5673         * libs/gst/check/gstcheck.h:
5674           factor out the method from tests that checks size of structures,
5675           and add code to generate the header containing these sizes
5676         * tests/check/gst/gstabi.c: (GST_START_TEST):
5677         * tests/check/gst/struct_i386.h:
5678         * tests/check/libs/libsabi.c: (GST_START_TEST):
5679         * tests/check/libs/struct_i386.h:
5680           use it
5681
5682 2006-06-06  Michael Smith  <msmith@fluendo.com>
5683
5684         * gst/gstsegment.h:
5685           Don't use c++-style comments, fixes #343929
5686
5687 2006-06-05  Edward Hervey  <edward@fluendo.com>
5688
5689         * gst/gst.c:
5690         plugin_paths is not used if we build without registry support.
5691
5692         * gst/gstsegment.c: (gst_segment_copy): 
5693         _copy() was always returning NULL...
5694
5695 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5696
5697         * libs/gst/dataprotocol/dataprotocol.c:
5698         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5699         (gst_dp_packet_from_event):
5700           factor out CRC code
5701
5702 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5703
5704         * libs/gst/check/gstcheck.c: (gst_check_teardown_src_pad):
5705           make sure we unset caps
5706
5707 2006-06-02  Michael Smith  <msmith@fluendo.com>
5708
5709         * libs/gst/check/gstcheck.c: (gst_check_init),
5710         (gst_check_chain_func):
5711         * libs/gst/check/gstcheck.h:
5712           Add a cond/mutex to the check support lib, signal this whenever we
5713           add to the buffers list. This will allow tests to not busy-wait on
5714           the buffer-list.
5715
5716 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5717
5718         * libs/gst/dataprotocol/dataprotocol.c:
5719         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
5720         (gst_dp_packet_from_event):
5721           factor out some common header init code
5722
5723 2006-06-02  Thomas Vander Stichele  <thomas at apestaart dot org>
5724
5725         * docs/libs/gstreamer-libs-sections.txt:
5726         * docs/libs/tmpl/gstdataprotocol.sgml:
5727         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc):
5728         * libs/gst/dataprotocol/dataprotocol.h:
5729           API: make gst_dp_crc() public
5730
5731 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5732
5733         * plugins/indexers/gstindexers.c: (plugin_init):
5734         conditionally register fileindexer (fixes #343598)
5735
5736 2006-06-01  Stefan Kost  <ensonic@users.sf.net>
5737
5738         * gst/gsttagsetter.h:
5739         Can't cast ifaces to a class
5740
5741         * libs/gst/net/gstnetclientclock.h:
5742         * libs/gst/net/gstnettimeprovider.h:
5743         * plugins/elements/gstfakesink.h:
5744         * plugins/elements/gstfakesrc.h:
5745         * plugins/elements/gstfdsink.h:
5746         * plugins/elements/gstfdsrc.h:
5747         * plugins/elements/gstfilesink.h:
5748         * plugins/elements/gstfilesrc.h:
5749         * plugins/elements/gstidentity.h:
5750         * plugins/elements/gstqueue.h:
5751         * plugins/elements/gsttee.h:
5752         * plugins/indexers/gstfileindex.c:
5753         * plugins/indexers/gstmemindex.c:
5754         * tests/old/examples/plugins/example.h:
5755         Fix more gobject macros: obj<->klass, GstXXX<->GstXXXClass
5756
5757 2006-06-01  Thomas Vander Stichele  <thomas at apestaart dot org>
5758
5759         * libs/gst/dataprotocol/dataprotocol.c:
5760         (gst_dp_header_from_buffer):
5761           make sure we zero the whole ABI-compatible area
5762
5763 2006-06-01  Wim Taymans  <wim@fluendo.com>
5764
5765         Patch by: Alessandro Decina <alessandro at nnva dot org>
5766
5767         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop):
5768         Make sure the EOS flag is cleared from pads after a flush
5769         or stop. Fixes #343538.
5770
5771         * tests/check/libs/collectpads.c: (GST_START_TEST),
5772         (gst_collect_pads_suite):
5773         Added test for collectpads reusage after EOS.
5774
5775 2006-05-30  Sebastien Moutte  <sebastien@moutte.net>
5776
5777         * gst/gst.c:
5778          set #include <sys/wait.h> in a #ifdef #ifdef HAVE_FORK
5779         * win32/common/libgstbase.def:
5780          export gst_collect_pads_set_flushing
5781         * win32/common/libgstreamer.def:
5782          export gst_pad_set_acceptcaps_function, gst_structure_empty_new,
5783          gst_value_fraction_multiply
5784         * win32/vs6/gst_inspect.dsp:
5785          add a link to intl.lib
5786
5787 2006-05-30  Wim Taymans  <wim@fluendo.com>
5788
5789         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5790         (gst_collect_pads_chain):
5791         Handle the case where a pad is removed from the collection
5792         that could cause the other pads to become collectable.
5793
5794 2006-05-30  Wim Taymans  <wim@fluendo.com>
5795
5796         * gst/gstelement.c:
5797         Clarify the use of _release_request_pad() and
5798         _get_request_pad() a bit better.
5799
5800         * libs/gst/base/gstadapter.c: (gst_adapter_peek),
5801         (gst_adapter_take_buffer):
5802         Fix some doc and comment typos.
5803
5804 2006-05-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
5805
5806         * docs/gst/gstreamer-sections.txt:
5807         * docs/libs/gstreamer-libs-sections.txt:
5808           add declared symbols
5809
5810 2006-05-30  Jan Schmidt  <thaytan@mad.scientist.com>
5811
5812         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
5813         Add debug that can be enabled using a #define at the top of the file,
5814         for dumping stats about how late/early we were when waking up from
5815         waiting on the clock.
5816
5817 2006-05-30  Wim Taymans  <wim@fluendo.com>
5818
5819         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_check_pads):
5820         When rebuilding the pad list, don't leak the previous list.
5821
5822 2006-05-30  Wim Taymans  <wim@fluendo.com>
5823
5824         Patch by: Lutz Mueller <lutz at topfrose dot de>
5825
5826         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
5827         (gst_base_src_get_query_types), (gst_base_src_update_length):
5828         Publish supported query types.
5829         Update last_stop field in get_range mode so the position
5830         query works. Fixes #342321.
5831
5832 2006-05-30  Tim-Philipp Müller  <tim at centricular dot net>
5833
5834         * docs/gst/gstreamer-sections.txt:
5835         * gst/gsttaglist.c: (_gst_tag_initialize):
5836         * gst/gsttaglist.h:
5837           API: add GST_TAG_PREVIEW_IMAGE (#343341).
5838
5839 2006-05-30  Wim Taymans  <wim@fluendo.com>
5840
5841         Patch by: Alessandro Decina <alessandro at nnva dot org>
5842
5843         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad):
5844         Unlock mutex when removing an unknown pad.
5845         Fixes #343334.
5846
5847         * tests/check/Makefile.am:
5848         * tests/check/libs/collectpads.c: (collected_cb), (push_buffer),
5849         (push_event), (setup), (teardown), (GST_START_TEST),
5850         (gst_collect_pads_suite), (main):
5851         Added collecpads check, disabled for now as check crashes for
5852         some reason.
5853
5854 2006-05-29  Wim Taymans  <wim@fluendo.com>
5855
5856         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize):
5857         Don't leak pads lists.
5858
5859 2006-05-29  Wim Taymans  <wim@fluendo.com>
5860
5861         * docs/libs/gstreamer-libs-sections.txt:
5862         * libs/gst/base/gstcollectpads.c:
5863         (gst_collect_pads_set_flushing_unlocked),
5864         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
5865         (gst_collect_pads_stop):
5866         * libs/gst/base/gstcollectpads.h:
5867         API: gst_collect_pads_set_flushing()
5868         Added api to set the pads to flushing, useful for seeking
5869         code in elements using collectpads.
5870         Clear segment when receiving a flush.
5871
5872 2006-05-29  Tim-Philipp Müller  <tim at centricular dot net>
5873
5874         * gst/gst.c: (add_path_func), (init_post):
5875           Don't scan registry paths passed via --gst-plugin-path immediately
5876           (will crash, because absolutely nothing is set up and no types are
5877           registered etc.); do this later in init_post(). Fixes #343057.
5878
5879 2006-05-28  Thomas Vander Stichele  <thomas at apestaart dot org>
5880
5881         * gst/gst.c: (init_post):
5882           if we have fork, fork while reading/rebuilding the registry
5883           so the parent doesn't take the hit of having all plugins loaded
5884           in memory.  Fixes #342777.
5885         * configure.ac:
5886           Check if we have fork()
5887         * win32/common/config.h.in:
5888           no fork() on win32
5889
5890 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
5891
5892         * plugins/elements/gstelements.c:
5893         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init),
5894         (gst_file_src_init), (gst_file_src_set_property),
5895         (gst_file_src_get_property), (gst_file_src_start):
5896         * plugins/elements/gstfilesrc.h:
5897           API: GstFileSrc::use-mmap
5898
5899         Add a use-mmap property to enable easier testing of all code paths.
5900         Bump rank to PRIMARY, so filesrc is the preferred file reader and used
5901         in the absence of gnomevfssrc. (Closes #340501)
5902
5903 2006-05-26  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
5904
5905         * tools/gst-inspect.c:
5906         Add missing include, removes warning of ngettext not being defined on
5907         some arches.
5908
5909 2006-05-26  Jan Schmidt  <thaytan@mad.scientist.com>
5910
5911         * gst/gstvalue.c: (gst_value_deserialize_fraction):
5912         Handle NULL input and output pointers silently as a failed conversion,
5913         rather than g_warnings.
5914
5915 2006-05-25  Wim Taymans  <wim@fluendo.com>
5916
5917         * libs/gst/net/gstnetclientclock.c: (gst_net_client_clock_start):
5918         Initialize variable before using. Fixes #342820.
5919
5920 2006-05-24  Tim-Philipp Müller  <tim at centricular dot net>
5921
5922         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek):
5923           Fix off-by-one bug that would only allow peeks of N-1 bytes
5924           from the start even if the buffer to typefind on contains
5925           in fact N bytes of data (makes vorbis typefinding from a
5926           vorbis identification header buffer work).
5927
5928         * tests/check/Makefile.am:
5929         * tests/check/libs/.cvsignore:
5930         * tests/check/libs/typefindhelper.c: (GST_START_TEST),
5931         (gst_typefindhelper_suite), (main), (foobar_typefind),
5932         (plugin_init):
5933           Add very basic unit test for gst_type_find_helper_for_buffer()
5934           that checks for the problem fixed above.
5935
5936 2006-05-24  Thomas Vander Stichele  <thomas at apestaart dot org>
5937
5938         * tools/gst-inspect.c: (print_interfaces),
5939         (print_element_properties_info), (print_element_list), (main):
5940           add more translatable strings
5941
5942 2006-05-23  Tim-Philipp Müller  <tim at centricular dot net>
5943
5944         Patch by: Julien Moutte  <julien at moutte net>
5945
5946         * docs/gst/gstreamer-sections.txt:
5947           Make new GST_FLOW_IS_SUCCESS macro visible in docs.
5948           
5949         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init),
5950         (gst_fake_sink_preroll):
5951         * plugins/elements/gstfakesink.h:
5952           API: Add new GstFakeSink::preroll-handoff signal (#337100).
5953
5954 2006-05-23  Wim Taymans  <wim@fluendo.com>
5955
5956         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark):
5957         * gst/gstpad.h:
5958         Added _CUSTOM error and success GstFlowReturn that can be
5959         used be elements internally. 
5960         Added macro to check for SUCCESS flowreturns.
5961         API: GST_FLOW_CUSTOM_SUCCESS
5962         API: GST_FLOW_CUSTOM_ERROR
5963         API: GST_FLOW_IS_SUCCESS
5964
5965         * tests/check/gst/gstpad.c: (GST_START_TEST), (gst_pad_suite):
5966         Added check for GstFlowReturn sanity.
5967
5968 2006-05-23  Wim Taymans  <wim@fluendo.com>
5969
5970         Patch by: Mark Nauwelaerts <manauw at skynet dot be>
5971
5972         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_remove_pad),
5973         (gst_collect_pads_event):
5974         clear/reset segment info in FLUSH_STOP.
5975         Fixes #336929.
5976
5977 2006-05-22  Stefan Kost  <ensonic@users.sf.net>
5978
5979         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_stop),
5980         (gst_collect_pads_check_collected):
5981         Flush queued buffer on _stop(), fixes playing again (#342454)
5982
5983 2006-05-22  Thomas Vander Stichele  <thomas at apestaart dot org>
5984
5985         * tests/check/gst/gststructure.c: (GST_START_TEST),
5986         (gst_structure_suite):
5987           add a test for a complete structure
5988
5989 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
5990
5991         * docs/faq/developing.xml:
5992         * docs/faq/faq.xml:
5993         * docs/faq/troubleshooting.xml:
5994         * docs/faq/using.xml:
5995           Some minor FAQ updates that won't change the fact that
5996           our FAQ is badly structured, full of information hardly
5997           anyone new to GStreamer needs to know and lacking lots
5998           of information people constantly ask for.
5999           
6000 2006-05-19  Jan Schmidt  <thaytan@mad.scientist.com>
6001
6002         * gst/gstpad.c: (gst_pad_set_caps):
6003           Short-circuit gst_pad_set_caps if setting the existing
6004           caps pointer again, and avoid printing debug and 
6005           reffing/unreffing the caps.
6006
6007         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6008           There's actually no need to set the caps before pushing -
6009           the acceptcaps method will handle it anyway.
6010
6011 2006-05-19  Tim-Philipp Müller  <tim at centricular dot net>
6012
6013         * docs/gst/gstreamer-sections.txt:
6014         * win32/common/libgstreamer.def:
6015         * gst/gstutils.c: (gst_element_seek_simple):
6016         * gst/gstutils.h:
6017           API: add gst_element_seek_simple() (#342238).
6018
6019 2006-05-18  Edward Hervey  <edward@fluendo.com>
6020
6021         * gst/gsttypefind.c: (gst_type_find_get_type):
6022         * gst/gsttypefind.h:
6023         Added GST_TYPE_TYPE_FIND and gst_type_find_get_type() so a GType gets
6024         registered for GstTypeFind pointers. This allows wrapping the structure
6025         in bindings (i.e. gst-python).
6026
6027 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
6028
6029         * gst/gsttagsetter.c:
6030           Docs additions and fixes (see #339918).
6031
6032 2006-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
6033
6034         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
6035         The caps intersection algorithm can produce multiple copies of the
6036         caps. Until that is fixed, we need to simplify the result to be
6037         sure whether the allowed caps are fixed or not.
6038
6039         * plugins/elements/gstqueue.c: (gst_queue_init),
6040         (gst_queue_bufferalloc), (gst_queue_acceptcaps),
6041         (gst_queue_push_one):
6042         Proxied buffer alloc should not set the caps on the source pad.
6043         When pushing buffers, we always accept the caps change that triggers.
6044         This prevents negotiation errors caused by caps changing mid-stream 
6045         and then being refused on our source pad (because upstream is now
6046         refusing those caps).
6047
6048 2006-05-18  Tim-Philipp Müller  <tim at centricular dot net>
6049
6050         * tests/examples/helloworld/helloworld.c: (main):
6051           Must plug audioconvert and audioresample between decoder
6052           and audio sink.
6053
6054 2006-05-17  Jan Schmidt  <thaytan@mad.scientist.com>
6055
6056         * gst/gstregistryxml.c: (read_string), (load_pad_template),
6057         (load_feature), (load_plugin):
6058         Allow empty strings for some of the plugin fields so we don't 
6059         drop valid plugin entries that were written out correctly
6060         (Fixes #341479)
6061
6062 2006-05-17  Sebastien Moutte  <sebastien@moutte.net>
6063         
6064         * gst/gstregistryxml.c: (gst_registry_xml_write_cache):
6065           Use g_remove and g_rename instead of remove and rename that don't 
6066           handle utf8 characters. rename was failing for users who had specific
6067           characters in their name then the registry was built at each 
6068           gstreamer init.
6069         * win32/vs6/gst_inspect.dsp:
6070         * win32/vs6/gst_launch.dsp:
6071         * win32/vs6/libgstbase.dsp:
6072         * win32/vs6/libgstcoreelements.dsp:
6073         * win32/vs6/libgstreamer.dsp:
6074           Use a debug version of libxml2 (libxml2D.lib,libxml2D.dll) for DEBUG 
6075           build of libgstreamer and clean unused libraries in projects link 
6076           settings.
6077
6078 2006-05-17  Edward Hervey  <edward@fluendo.com>
6079
6080         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6081         The queue is not responsible for pushing an EOS when receiving a fatal
6082         flow error. It's up to the real element driving the pipeline to do that.
6083
6084 2006-05-16  Edward Hervey  <edward@fluendo.com>
6085
6086         * plugins/elements/gstqueue.c: (gst_queue_push_one):
6087         The queue was posting a non-needed GST_MESSAGE_ERROR when pushing a
6088         buffer returned a fatal error. It should just send an EOS and stop
6089         its task.
6090         Upstream elements will then properly receive the GST_FLOW_UNEXPECTED
6091         when pushing buffers on the queue and will be able to handle the event.
6092
6093 2006-05-16  Tim-Philipp Müller  <tim at centricular dot net>
6094
6095         * docs/manual/basics-bins.xml:
6096         * docs/manual/basics-init.xml:
6097           Fix typos and minor errors in sample code (#341856).
6098
6099 2006-05-16  Wim Taymans  <wim@fluendo.com>
6100
6101         * docs/design/part-qos.txt:
6102         Fix indexes in formulas to make more sense.
6103
6104 2006-05-15  Wim Taymans  <wim@fluendo.com>
6105
6106         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
6107         Don't report POSITION based on clock time if sync is
6108         disabled in a sink.
6109
6110 2006-05-15  Tim-Philipp Müller  <tim at centricular dot net>
6111
6112         * gst/gstobject.h:
6113           Add cast to make compiler happy - refcount variable was a gint
6114           in GstObject but is a guint in GObject and g_atomic_int_get()
6115           wants a gint *.
6116
6117 2006-05-15  Thomas Vander Stichele  <thomas at apestaart dot org>
6118
6119         * gst/parse/Makefile.am:
6120           chain commands using &&, which also makes parallel make work
6121
6122 2006-05-14  Tim-Philipp Müller  <tim at centricular dot net>
6123
6124         * docs/gst/gstreamer-sections.txt:
6125         * gst/gstevent.c:
6126         * gst/gstevent.h:
6127         * gst/gstmessage.h:
6128           Minor docs fixes.
6129
6130 === release 0.10.6 ===
6131
6132 2006-05-14  Jan Schmidt <thaytan@mad.scientist.com>
6133
6134         * configure.ac:
6135           releasing 0.10.6, "Take the cannoli"
6136
6137 2006-05-13  Tim-Philipp Müller  <tim at centricular dot net>
6138
6139         * tools/gst-launch.c: (print_tag):
6140           Fix use of uninitialized variable in the hypothetical
6141           case that some broken plugin creates a GST_TAG_IMAGE
6142           tag containing a NULL buffer (#341667).
6143
6144 2006-05-12  Tim-Philipp Müller  <tim at centricular dot net>
6145
6146         * tools/gst-launch.c: (print_tag):
6147           Print something more intelligible for image tags when
6148           using the -t switch (#341556).
6149
6150 2006-05-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6151
6152         * Makefile.am:
6153           updates for win32
6154         * configure.ac:
6155           define GST_MAJORMINOR so we have it available in win32/common/config.h
6156           Possibly remove it from our Makefile.am files later
6157         * win32/common/config.h:
6158         * win32/common/config.h.in:
6159           added GST_MAJORMINOR
6160         * win32/common/gstenumtypes.c: (register_gst_resource_error):
6161         * win32/common/gstversion.h:
6162           updated
6163
6164 2006-05-12  Sebastien Moutte  <sebastien@moutte.net>
6165
6166         * win32/MANIFEST:
6167           Update win32 files listing.
6168         * win32/common/gstversion.h:
6169           Add GST_MAJORMINOR definition.
6170         * win32/common/libgstreamer.def:
6171           Add new exported functions.
6172           
6173 2006-05-12  Michael Smith  <msmith@fluendo.com>
6174
6175         * gst/gstplugin.c: (gst_plugin_load_file):
6176           If an so file has no plugin entry point, unload the module.
6177
6178 2006-05-11  Wim Taymans  <wim@fluendo.com>
6179
6180         * plugins/elements/gstqueue.c: (gst_queue_chain), (gst_queue_loop),
6181         (gst_queue_set_property):
6182         Don't forget to signal the _chain or _loop function 
6183         when the queue size or thresholds change since that might
6184         cause them to make progres again.
6185
6186 2006-05-11  Stefan Kost  <ensonic@users.sf.net>
6187
6188         * gst/gstclock.c: (gst_clock_class_init):
6189         * gst/gstindex.c: (gst_index_class_init):
6190         * gst/gstobject.c: (gst_object_class_init):
6191         * gst/gstpad.c: (gst_pad_class_init):
6192         * gst/gstpipeline.c: (gst_pipeline_class_init):
6193         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6194         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init):
6195         * libs/gst/base/gstbasetransform.c:
6196         (gst_base_transform_class_init):
6197         * libs/gst/net/gstnetclientclock.c:
6198         (gst_net_client_clock_class_init):
6199         * libs/gst/net/gstnettimeprovider.c:
6200         (gst_net_time_provider_class_init):
6201         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_class_init):
6202         * plugins/elements/gstfakesink.c: (gst_fake_sink_class_init):
6203         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init):
6204         * plugins/elements/gstfdsink.c: (gst_fd_sink_class_init):
6205         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6206         * plugins/elements/gstfilesink.c: (gst_file_sink_class_init):
6207         * plugins/elements/gstfilesrc.c: (gst_file_src_class_init):
6208         * plugins/elements/gstidentity.c: (gst_identity_class_init):
6209         * plugins/elements/gsttee.c: (gst_tee_class_init):
6210         * tests/old/examples/plugins/example.c: (gst_example_class_init):
6211         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6212           G_OBJECT_CLASS macro usage batch cleanup, fixes #337747 for core
6213
6214 2006-05-11  Wim Taymans  <wim@fluendo.com>
6215
6216         * gst/gstbuffer.c: (_gst_buffer_initialize):
6217         Register subbufer along with the buffer type so that
6218         it does not accidentally gets registered from N
6219         different streaming threads in a non threadsafe way.
6220
6221 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
6222
6223         * gst/gstbuffer.h:
6224         * gst/gstevent.h:
6225         * gst/gstmessage.h:
6226           Make gtk-doc generate docs for our inlined gst_buffer_ref(),
6227           gst_event_ref() and gst_message_ref() functions again
6228           (ugly hack, please do fix if there's a better way besides
6229           overrides.txt, which doesn't seem to work).
6230
6231 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6232
6233         * libs/gst/check/gstcheck.h:
6234           add an assert for setting state to avoid lots of repetitive code
6235           in the future
6236
6237 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6238
6239         * gst/gstvalue.c: (gst_value_serialize_flags):
6240           fix a leak if no flags are set
6241         * tests/check/gst/gstvalue.c: (GST_START_TEST):
6242           fix leak in tests
6243
6244 2006-05-10  Tim-Philipp Müller  <tim at centricular dot net>
6245
6246         * docs/manual/basics-pads.xml:
6247           Expand a bit on caps and filtered links and update
6248           examples that were still using the no longer existing
6249           gst_pad_link_filtered() (#338206).
6250
6251 2006-05-10  Wim Taymans  <wim@fluendo.com>
6252
6253         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
6254         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
6255         (gst_collect_pads_set_flushing), (gst_collect_pads_start),
6256         (gst_collect_pads_stop):
6257         * libs/gst/base/gstcollectpads.h:
6258         No need to call _stop in _finalize.
6259         Iterate the main pad list in _finalize.
6260         Added some more debug.
6261         Free lists and data in the right order.
6262         Also free data whem doing _remove_pad when stopped for
6263         backward compatibility protect ::started with PAD_LOCK as
6264         well.
6265
6266 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6267
6268         * gst/gststructure.c: (gst_structure_gtype_from_abbr),
6269         (gst_structure_parse_value):
6270           add some comments
6271           rename a method so that it actually says what it does better
6272
6273 2006-05-10  Thomas Vander Stichele  <thomas at apestaart dot org>
6274
6275         * gst/gstevent.c: (_gst_event_initialize):
6276         * gst/gstformat.c: (_gst_format_initialize):
6277           make sure some essential types used by events are registered
6278           as part of gst_init()
6279         * gst/gstvalue.c: (gst_value_serialize_flags):
6280           if no flags are set, serialize them to a value that represents NONE
6281           so that deserializing them works
6282         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6283           add tests for serialization and deserialization of flags
6284
6285 2006-05-10  Wim Taymans  <wim@fluendo.com>
6286
6287         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_collect),
6288         (gst_collect_pads_collect_range), (gst_collect_pads_available),
6289         (gst_collect_pads_check_pads), (gst_collect_pads_check_collected),
6290         (gst_collect_pads_event), (gst_collect_pads_chain):
6291         Update docs.
6292         Better debug info.
6293         Catch and return errors from the collect function
6294         Refuse data on eos pads.
6295
6296 2006-05-10  Edward Hervey  <edward@fluendo.com>
6297
6298         * gst/gstinterface.h:
6299         GST_IMPLEMENTS_INTERFACE and GST_IS_IMPLEMENTS_INTERFACE use the normal
6300         GInterface type checking.
6301         They were previously using non-defined macros.
6302
6303 2006-05-09  Wim Taymans  <wim@fluendo.com>
6304
6305         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_init),
6306         (gst_collect_pads_finalize), (gst_collect_pads_add_pad),
6307         (gst_collect_pads_remove_pad), (gst_collect_pads_set_flushing),
6308         (gst_collect_pads_start), (gst_collect_pads_stop),
6309         (gst_collect_pads_peek), (gst_collect_pads_pop),
6310         (gst_collect_pads_available), (gst_collect_pads_read),
6311         (gst_collect_pads_flush), (gst_collect_pads_check_pads),
6312         (gst_collect_pads_is_collected), (gst_collect_pads_event),
6313         (gst_collect_pads_chain):
6314         * libs/gst/base/gstcollectpads.h:
6315         Clean up the mess that is collectpads, add comments and
6316         FIXMEs where needed.
6317         Maintain a separate pad list so we can add pads while
6318         collecting the other ones. For this we need a new separate 
6319         lock (see comics).
6320         Fix memory leak in finalize.
6321         Refactor some weird code to set/unset pad flushing flags, mark
6322         with comments.
6323         Don't crash in _available, _read, _flush when we're EOS.
6324
6325         * tests/check/libs/.cvsignore:
6326         Ignore adapter check binary.
6327
6328 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6329
6330         * gst/gstindex.c: (gst_index_resolver_get_type):
6331         * plugins/elements/gstfakesink.c:
6332         (gst_fake_sink_state_error_get_type):
6333         * plugins/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
6334         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type):
6335         * plugins/elements/gstqueue.c: (queue_leaky_get_type):
6336           Const-ify GEnumValue arrays.
6337
6338 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6339
6340         * tests/check/gst/gstbuffer.c: (GST_START_TEST):
6341           Add test case for flags + gst_buffer_make_metadata_writable().
6342
6343 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6344
6345         * gst/gstbuffer.c: (gst_buffer_make_metadata_writable):
6346           gst_buffer_make_metadata_writable() should maintain the
6347           buffer flags (those that make sense at least) (see #340859).
6348
6349 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6350
6351         * tools/gst-inspect.c:
6352         * tools/gst-launch.c:
6353         * tools/gst-typefind.c:
6354         * tools/gst-xmlinspect.c:
6355         * tools/tools.h:
6356           Fix up includes: need to include stdlib.h in tools.h for exit().
6357
6358 2006-05-09  Tim-Philipp Müller  <tim at centricular dot net>
6359
6360         * gst/gsttaglist.c: (_gst_tag_initialize):
6361         * gst/gsttaglist.h:
6362           API: add GST_TAG_IMAGE tag (#340721).
6363
6364 2006-05-08  Wim Taymans  <wim@fluendo.com>
6365
6366         * gst/gstquery.c:
6367         Added some docs for the segment query.
6368
6369 2006-05-08  Wim Taymans  <wim@fluendo.com>
6370
6371         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6372         (gst_base_src_loop), (gst_base_src_change_state):
6373         Always push non-flushing serialized events in the streaming 
6374         thread.
6375
6376 2006-05-08  Thomas Vander Stichele  <thomas at apestaart dot org>
6377
6378         * gst/gsterror.c: (_gst_stream_errors_init):
6379           Add a missing error string.
6380
6381 2006-05-08  Jan Schmidt  <thaytan@mad.scientist.com>
6382
6383         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment):
6384         Add applied_rate to the debug
6385
6386         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek):
6387         Copy applied_rate into the outgoing NEWSEGMENT event
6388
6389 2006-05-08  Wim Taymans  <wim@fluendo.com>
6390
6391         Patch by: Philippe Rouquier <philippero at libertysurf dot fr>
6392
6393         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_flushing),
6394         (gst_base_sink_change_state):
6395         call ::unlock before taking the PREROLL_LOCK so we can safely
6396         handle elements that lock in ::render.
6397         Fixes #340174.
6398
6399 2006-05-08  Edward Hervey  <edward@fluendo.com>
6400
6401         * autogen.sh: (CONFIGURE_DEF_OPT): 
6402         Darwin's libtoolize is in fact called glibtoolize.
6403         Adding glibtoolize to the list of accepted names for libtoolize.
6404
6405 2006-05-08  Wim Taymans  <wim@fluendo.com>
6406
6407         * libs/gst/base/gstbasesrc.c: (gst_base_src_loop):
6408         Unify error handling, don't post an error message
6409         when a push() returns EOS but perform our normal EOS
6410         handling code. Fixes #340772.
6411
6412 2006-05-08  Wim Taymans  <wim@fluendo.com>
6413
6414         * docs/design/part-overview.txt:
6415         Make upsteam/downstream concepts more clear.
6416         Give an example of serialized/non-serialized events.
6417
6418         * docs/design/part-events.txt:
6419         * docs/design/part-streams.txt:
6420         Mention applied_rate.
6421
6422         * docs/design/part-trickmodes.txt:
6423         Mention applied rate, flesh out some more use cases.
6424
6425         * gst/gstevent.c: (gst_event_new_new_segment),
6426         (gst_event_parse_new_segment), (gst_event_new_new_segment_full),
6427         (gst_event_parse_new_segment_full), (gst_event_new_tag),
6428         (gst_event_parse_tag), (gst_event_new_buffer_size),
6429         (gst_event_parse_buffer_size), (gst_event_new_qos),
6430         (gst_event_parse_qos), (gst_event_parse_seek),
6431         (gst_event_new_navigation):
6432         * gst/gstevent.h:
6433         Add applied_rate field to NEWSEGMENT event.
6434         API: gst_event_new_new_segment_full()
6435         API: gst_event_parse_new_segment_full()
6436
6437         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_seek),
6438         (gst_segment_set_newsegment), (gst_segment_set_newsegment_full),
6439         (gst_segment_to_stream_time), (gst_segment_to_running_time):
6440         * gst/gstsegment.h:
6441         Add applied_rate to GstSegment structure.
6442         Make calculation of stream_time and running_time more correct
6443         wrt rate/applied_rate.
6444         Add some more docs.
6445         API: GstSegment::applied_rate field
6446         API: gst_segment_set_newsegment_full();
6447
6448         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
6449         (gst_base_sink_get_sync_times), (gst_base_sink_get_position):
6450         * libs/gst/base/gstbasetransform.c:
6451         (gst_base_transform_sink_eventfunc),
6452         (gst_base_transform_handle_buffer):
6453         Parse and use applied_rate in the GstSegment field.
6454
6455         * tests/check/gst/gstevent.c: (GST_START_TEST):
6456         Add check for applied_rate field.
6457
6458         * tests/check/gst/gstsegment.c: (GST_START_TEST),
6459         (gstsegments_suite):
6460         Add more checks for various GstSegment operations.
6461
6462 2006-05-08  Wim Taymans  <wim@fluendo.com>
6463
6464         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
6465         (gst_base_sink_do_sync), (gst_base_sink_chain_unlocked),
6466         (gst_base_sink_get_position), (gst_base_sink_change_state):
6467         Store the sync time of the buffer end position separatly in a
6468         new variable eos_rtime so we can properly sync the EOS event.
6469         Fixes #340697.
6470         Fix the docs for gst_base_sink_set_qos_enabled().
6471         Don't set segment start to invalid value when we receive a 
6472         non TIME newsegment.
6473         get closer to handling position reporting for negative rates 
6474         correctly.
6475
6476 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6477
6478         * gst/gstcaps.c:
6479         Docs about how to print caps for debug purposes.
6480
6481         * gst/gstpadtemplate.c: (gst_static_pad_template_get):
6482         use gst_caps_make_writable instead of gst_caps_copy, Fixes #340608
6483
6484 2006-05-07  Stefan Kost  <ensonic@users.sf.net>
6485
6486         * gst/gstelement.c:
6487           use full enum names and preprend a '%' in docs strings to make recent 
6488           gtk-doc turn that into a link
6489
6490 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6491
6492         * docs/manual/basics-bins.xml:
6493         * docs/manual/basics-bus.xml:
6494         * docs/manual/basics-pads.xml:
6495           Some typo fixes, some additions, some clarifications. 
6496
6497 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6498
6499         * tools/gst-inspect.c: (main):
6500         * tools/gst-launch.c: (main):
6501         * tools/gst-run.c: (main):
6502         * tools/gst-typefind.c: (main):
6503         * tools/gst-xmlinspect.c: (main):
6504           Use the string passed to g_option_context_new() for
6505           what it's intended for - the program name is already
6506           printed elsewhere.
6507
6508 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6509
6510         * tools/Makefile.am:
6511         * tools/gst-inspect.c: (main):
6512         * tools/gst-launch.c: (main):
6513         * tools/gst-xmlinspect.c: (main):
6514         * tools/tools.h:
6515           Add back --version command line option (#340460).
6516
6517         * tools/gst-typefind.c: (have_type_handler), (typefind_file), (main):
6518           Add --version option and use GOption for argument parsing; refactor a
6519           bit; accept directories as arguments and recurse into them; lastly,
6520           print a decent error message when things go wrong.
6521
6522 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6523
6524         * docs/manual/basics-bins.xml:
6525         Don't mention GstThread (#340611)
6526         * docs/manual/basics-elements.xml:
6527         Update link to GObject tutorial (#340607)
6528         
6529 2006-05-05  Wim Taymans  <wim@fluendo.com>
6530
6531         * gst/gstbuffer.h:
6532         * gst/gstminiobject.c:
6533         Add note about refcounting and miniobject/buffer writeability
6534         to docs. Fixes #340604
6535
6536         * gst/gstelementfactory.h:
6537         Added some explanation about @klass.
6538
6539 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6540
6541         * docs/manual/intro-motivation.xml:
6542         * docs/manual/manual.xml:
6543         Avoid CORBA & Bonobo references (#340598)
6544
6545 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6546
6547         * docs/manual/basics-bus.xml:
6548         * docs/manual/basics-pads.xml:
6549         Fix up some inaccuracies and omissions (#340609)
6550         
6551 2006-05-05  Maciej Katafiasz  <mathrick@freedesktop.org>
6552
6553         * gst/gstghostpad.c:
6554           Small typo in docs (#340625)
6555
6556 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6557
6558         * gst/parse/Makefile.am:
6559           Make 'make -j' proof (see #340698).
6560
6561 2006-05-05  Tim-Philipp Müller  <tim at centricular dot net>
6562
6563         * configure.ac:
6564           Require GLib-2.8 here as well.
6565
6566 2006-05-05  Wim Taymans  <wim@fluendo.com>
6567
6568         * gst/glib-compat.c:
6569         * gst/gst.c: (init_pre):
6570         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
6571         (gst_object_unref), (gst_object_replace), (gst_object_dispose),
6572         (gst_object_dispatch_properties_changed):
6573         * gst/gstobject.h:
6574         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
6575         * gst/gststructure.c: (gst_structure_set_valist):
6576         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
6577         Remove pre glib2.8 compatibility, fixes #340508
6578
6579 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6580
6581         * gst/gsttaglist.h:
6582           Mention type of tags in doc blurbs.
6583
6584 2006-05-04  Jan Schmidt  <thaytan@mad.scientist.com>
6585
6586         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6587         (gst_pad_configure_src), (gst_pad_push):
6588         Restore acceptcaps checking behaviour now that good plugins have
6589         been released.
6590
6591 2006-05-04  Tim-Philipp Müller  <tim at centricular dot net>
6592
6593         Patch by: James Andrewartha <trs80 at tartarus uwa edu au>
6594
6595         * gst/gst.c:
6596         * gst/gstbus.c:
6597         * gst/gstclock.c:
6598         * gst/gstevent.c:
6599         * gst/gstformat.c:
6600         * gst/gstmessage.c:
6601         * gst/gstparse.c:
6602         * gst/gstquery.c:
6603         * gst/gstutils.c:
6604         * gst/parse/Makefile.am:
6605         * libs/gst/base/gstadapter.c:
6606         * libs/gst/base/gstbasesrc.c:
6607         * libs/gst/base/gstpushsrc.c:
6608         * libs/gst/base/gsttypefindhelper.c:
6609         * plugins/elements/gstfakesrc.c:
6610         * plugins/elements/gstidentity.c:
6611           Make sure gstprivate.h and/or config.h are
6612           always included first, otherwise some of our
6613           defines (like _FILE_OFFSET_BITS) might be
6614           redefined in the system headers. Fixes build
6615           on opensolaris (#340016).
6616
6617 2006-05-04  Wim Taymans  <wim@fluendo.com>
6618
6619         * docs/libs/gstreamer-libs-sections.txt:
6620         API: addition: gst_adapter_take_buffer()
6621         
6622         * libs/gst/base/gstadapter.c: (gst_adapter_push),
6623         (gst_adapter_peek), (gst_adapter_take), (gst_adapter_take_buffer),
6624         (gst_adapter_available_fast):
6625         * libs/gst/base/gstadapter.h:
6626         Prepare for optimizing the hell out of this hugely inefficient
6627         piece of code. 
6628         Added gst_adapter_take_buffer() so we can at least start thinking
6629         about subbuffering and merging.
6630         Added some comments.
6631
6632         * tests/check/Makefile.am:
6633         * tests/check/libs/adapter.c: (GST_START_TEST),
6634         (gst_adapter_suite), (main):
6635         Added GstAdapter check.
6636
6637 2006-05-04  Wim Taymans  <wim@fluendo.com>
6638
6639         * docs/design/part-overview.txt:
6640         Fix some typos, add blurb about buffer flags.
6641
6642 2006-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
6643
6644         * docs/libs/gstreamer-libs-sections.txt:
6645           make sure GstBaseTransformClass shows up in the docs
6646         * libs/gst/base/gstbasetransform.c:
6647         * libs/gst/base/gstbasetransform.h:
6648           move docs so gtk-doc picks it up now
6649
6650 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6651
6652         * docs/libs/gstreamer-libs-sections.txt:
6653           add missing symbols to docs
6654
6655 2006-05-02  Stefan Kost  <ensonic@users.sf.net>
6656
6657         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6658           back out the newsegment handling change, see #340060 for ongoing
6659           discussion
6660
6661 2006-04-30  Tim-Philipp Müller  <tim at centricular dot net>
6662
6663         * tools/gst-run.c: (get_candidates), (main):
6664           Fix wrong g_file_test() usage (see glib docs for why it doesn't
6665           work); fix typo in error message. Fixes #340079.
6666
6667 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6668
6669         * common/Makefile.am:
6670         * docs/Makefile.am:
6671         * docs/faq/Makefile.am:
6672         * docs/gst/Makefile.am:
6673         * docs/libs/Makefile.am:
6674         * docs/manual/Makefile.am:
6675         * docs/plugins/Makefile.am:
6676         * docs/pwg/Makefile.am:
6677         * docs/slides/Makefile.am:
6678         * docs/upload.mak:
6679         * common/upload.mak:
6680           move upload.mak to common
6681
6682 2006-04-29  Thomas Vander Stichele  <thomas at apestaart dot org>
6683
6684         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
6685           add more asserts on refcounts
6686           do more cleanup at end of tests
6687           fix test leaks showing in FC5
6688
6689 2006-04-29  Stefan Kost  <ensonic@users.sf.net>
6690
6691         * plugins/elements/gsttypefindelement.c:
6692         (gst_type_find_element_handle_event):
6693         reverted wrong change and reflowed code to avoid others falling into
6694         this trap
6695
6696 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6697
6698         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_event):
6699           fix changelog entry about last collectpads change,
6700           add notes about proper fix
6701
6702 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6703
6704         * gst/gst.c:
6705         * gst/gstregistry.c: (gst_registry_scan_path_level),
6706         (gst_registry_scan_path):
6707         * gst/gstregistry.h:
6708           only write out registry if it has changed, fixes #338339
6709
6710 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6711
6712         * gst/gstbin.c:
6713         * gst/gstpipeline.c:
6714         * plugins/elements/gstcapsfilter.c:
6715         * plugins/elements/gstfakesink.c:
6716         * plugins/elements/gstfakesrc.c:
6717         * plugins/elements/gstfdsink.c:
6718         * plugins/elements/gstfdsrc.c:
6719         * plugins/elements/gstfilesink.c:
6720         * plugins/elements/gstfilesrc.c:
6721         * plugins/elements/gstidentity.c:
6722         * plugins/elements/gstqueue.c:
6723         * plugins/elements/gsttee.c:
6724         * plugins/elements/gsttypefindelement.c:
6725         (gst_type_find_element_handle_event):
6726           make GstElementDetails const
6727
6728 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6729
6730         * libs/gst/base/gstbasesink.c: (gst_base_sink_event):
6731         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
6732         (gst_collect_pads_is_collected), (gst_collect_pads_event):
6733           more detailed debug and formatting cleanup,
6734           forward newsegments to src-pad (so that e.g. adder not eats them)
6735
6736 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6737
6738         * gst/gstutils.c: (gst_element_link_pads):
6739           cleanup double code
6740
6741 2006-04-28  Stefan Kost  <ensonic@users.sf.net>
6742
6743         * libs/gst/controller/gstcontroller.c:
6744         (gst_controller_sync_values):
6745           some little tuning
6746         * tests/check/libs/controller.c: (GST_START_TEST),
6747         (gst_controller_suite):
6748           a new test for live value handling
6749
6750 2006-04-28  Wim Taymans  <wim@fluendo.com>
6751
6752         * gst/gstutils.c: (push_and_ref):
6753         Added some more docs.
6754         Fix refcount issue whith gst_element_found_tags() helper 
6755         function. Fixes #338335
6756
6757         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
6758         Added testsuite for gst_element_found_tags().
6759
6760 2006-04-28  Michael Smith  <msmith@fluendo.com>
6761
6762         * gst/gstvalue.c: (gst_value_serialize_flags):
6763           Avoid NULL dereference when trying to serialize flags containing
6764           invalid values.
6765
6766 2006-04-28  Michael Smith  <msmith@fluendo.com>
6767
6768         * plugins/elements/gsttypefindelement.c:
6769         (gst_type_find_element_handle_event):
6770           If we get EOS before any data is accumulated, don't use
6771           uninitialised local variables.
6772
6773 2006-04-28  Michael Smith  <msmith@fluendo.com>
6774
6775         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
6776         (gst_dp_event_from_packet):
6777           Fixes in reading/writing events over GDP (not currently used?) - 
6778           dereferencing NULL events for unknown/invalid event types, memory
6779           leak, and change g_warning to GST_WARNING.
6780
6781 2006-04-28  Wim Taymans  <wim@fluendo.com>
6782
6783         * libs/gst/base/gstbasesink.c: (gst_base_sink_is_too_late),
6784         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
6785         (gst_base_sink_get_position), (gst_base_sink_change_state):
6786         When frame dropping is enabled, we should not ignore frames
6787         without a duration.
6788         Update some documentation.
6789
6790 2006-04-28  Wim Taymans  <wim@fluendo.com>
6791
6792         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
6793         (gst_base_src_send_event), (gst_base_src_change_state):
6794         Documentation updates.
6795
6796 2006-04-28  Wim Taymans  <wim@fluendo.com>
6797
6798         * plugins/elements/gstfdsink.c: (gst_fd_sink_render),
6799         (gst_fd_sink_check_fd), (gst_fd_sink_update_fd):
6800         handle EAGAIN, EINTR and short writes correctly. Also clean
6801         up some error cases, avoid a deadlock on bad file descriptors and
6802         use GST_DEBUG_OBJECT.
6803         Fixes #339843
6804
6805 2006-04-28  Wim Taymans  <wim@fluendo.com>
6806
6807         * gst/gstvalue.c: (gst_value_serialize_buffer),
6808         (gst_value_deserialize_buffer):
6809         Don't try to serialize a GValue with a NULL buffer. 
6810         Fixes #339821.
6811
6812         * tests/check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
6813         Added check for serialisation of NULL buffers.
6814
6815 2006-04-28  Wim Taymans  <wim@fluendo.com>
6816
6817         * gst/gstminiobject.c: (gst_value_take_mini_object):
6818         Taking a NULL miniobject is valid, fix the case where
6819         we try to unref the NULL miniobject.
6820
6821 2006-04-28  Wim Taymans  <wim@fluendo.com>
6822
6823         Patch by: Stefan Kost <ensonic at sonicpulse dot de>
6824
6825         * gst/gstbin.c: (gst_bin_handle_message_func):
6826         Update docs.
6827         Don't leak bin refcount when a state recalc is
6828         in progress and we delay another one #339808.
6829
6830 2006-04-28  Wim Taymans  <wim@fluendo.com>
6831
6832         * docs/design/part-TODO.txt:
6833         Mention QoS as an ongoing work item.
6834
6835         * docs/design/part-buffering.txt:
6836         New doc about buffering that needs to be fleshed out
6837         at some point.
6838
6839         * docs/design/part-qos.txt:
6840         More QoS policy for decoders/demuxers/transforms
6841
6842         * docs/design/part-trickmodes.txt:
6843         Small update.
6844
6845 2006-04-28  Thomas Vander Stichele  <thomas at apestaart dot org>
6846
6847         * configure.ac:
6848           back to HEAD
6849
6850 === release 0.10.5 ===
6851
6852 2006-04-28  Thomas Vander Stichele <thomas at apestaart dot org>
6853
6854         * configure.ac:
6855           releasing 0.10.5, "Fogo"
6856
6857 2006-04-22  Thomas Vander Stichele  <thomas at apestaart dot org>
6858
6859         patch by: Wim Taymans
6860
6861         * gst/gstpad.c: (gst_pad_init), (gst_pad_configure_sink),
6862         (gst_pad_configure_src), (gst_pad_push):
6863         * gst/gstpipeline.c: (gst_pipeline_init):
6864           Fix internal data flow errors.  Fixes #338711.
6865
6866 2006-04-12  Wim Taymans  <wim@fluendo.com>
6867
6868         * tests/check/gst/gstelement.c: (GST_START_TEST):
6869         Don't leak the factory.
6870
6871 2006-04-12  Thomas Vander Stichele  <thomas at apestaart dot org>
6872
6873         * configure.ac:
6874         * win32/common/config.h:
6875           prerelease
6876
6877 2006-04-12  Tim-Philipp Müller  <tim at centricular dot net>
6878
6879         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6880         (gst_controller_unset_all):
6881           Free allocated GstTimedValues when freeing list nodes.
6882           Should fix leaks 'make check-valgrind' complains about.
6883
6884         * win32/common/libgstcontroller.def:
6885           Add gst_controller_unset_all.
6886
6887 2006-04-11  Stefan Kost  <ensonic@users.sf.net>
6888
6889         * docs/libs/gstreamer-libs-sections.txt:
6890         * libs/gst/controller/gstcontroller.c: (gst_controller_unset),
6891         (gst_controller_unset_all):
6892         * libs/gst/controller/gstcontroller.h:
6893         API: Added new method gst_controller_unset_all()
6894         fixed gst_controller_unset()
6895         * tests/check/libs/controller.c: (GST_START_TEST),
6896         (gst_controller_suite):
6897         Added two testcases for new and fixed method
6898
6899 2006-04-11  Tim-Philipp Müller  <tim at centricular dot net>
6900
6901         * libs/gst/net/gstnettimepacket.c: (gst_net_time_packet_send):
6902           MSG_DONTWAIT is not defined on Cygwin, so work
6903           around that (fixes #317048).
6904           
6905 2006-04-11  Wim Taymans  <wim@fluendo.com>
6906
6907         * gst/gstelementfactory.c: (gst_element_register),
6908         (gst_element_factory_create), (gst_element_factory_make):
6909         Some cleanups.
6910         Fixed a FIXME.
6911         Updated docs (Fixes #131079)
6912
6913         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
6914         Small cleanups.
6915
6916         * tests/check/gst/gstelement.c: (GST_START_TEST),
6917         (gst_element_suite):
6918         Added testcase for elementfactory class field.
6919
6920 2006-04-10  Wim Taymans  <wim@fluendo.com>
6921
6922         * gst/gstsegment.c:
6923         Added some more docs.
6924
6925         * libs/gst/base/gstbasesink.c: (gst_base_sink_perform_qos),
6926         (gst_base_sink_reset_qos):
6927         Calculate more accurate rate values.
6928
6929 2006-04-09  Sebastien Moutte  <sebastien@moutte.net>
6930
6931         * gst/gst_private.h:
6932           add a new #ifdef to use __declspec(dllimport) only for
6933           other modules and not for gstreamer core
6934         * gst/gstbasesink.c: (gst_base_sink_perform_qos):
6935           use gst_guint64_to_gdouble for conversion
6936         * win32/common/libgstreamer.def:
6937           add new exported functions
6938         * win32/vs6/gst_inspect.dsp:
6939         * win32/vs6/gst_launch.dsp:
6940         * win32/vs6/libgstbase.dsp:
6941         * win32/vs6/libgstcontroller.dsp:
6942         * win32/vs6/libgstcoreelements.dsp:
6943         * win32/vs6/libgstdataprotocol.dsp:
6944         * win32/vs6/libgstnet.dsp:
6945           update project files
6946
6947 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
6948
6949         * gst/gstbuffer.c: (gst_subbuffer_class_init):
6950         * gst/gstclock.c: (gst_clock_class_init):
6951         * gst/gstelement.c: (gst_element_class_init):
6952         * gst/gstindex.c: (gst_index_class_init):
6953         * gst/gstindexfactory.c: (gst_index_factory_class_init):
6954         * gst/gstobject.c: (gst_object_class_init),
6955         (gst_signal_object_class_init):
6956         * gst/gstpad.c: (gst_pad_class_init):
6957         * gst/gstpadtemplate.c: (gst_pad_template_class_init):
6958         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init):
6959         * gst/gstregistry.c: (gst_registry_class_init):
6960         * gst/gstsystemclock.c: (gst_system_clock_class_init):
6961         * gst/gsttask.c: (gst_task_class_init):
6962         * gst/gstxml.c: (gst_xml_class_init):
6963         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
6964         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
6965         (gst_base_src_loop):
6966         * libs/gst/controller/gstcontroller.c:/
6967         (_gst_controller_class_init):
6968         * plugins/elements/gstfdsrc.c: (gst_fd_src_class_init):
6969         * plugins/indexers/gstfileindex.c: (gst_file_index_class_init):
6970         * plugins/indexers/gstmemindex.c: (gst_mem_index_class_init):
6971         * tests/old/examples/plugins/example.c: (gst_example_class_init):
6972         * tests/old/testsuite/threads/signals.c: (gst_test_class_init):
6973         Fix #337365 (g_type_class_ref <-> g_type_class_peek_parent)
6974
6975 2006-04-08  Tim-Philipp Müller  <tim at centricular dot net>
6976
6977         * gst/gstpad.c: (gst_pad_link):
6978           Must set peer pads before calling the link function, otherwise
6979           a task started from a link function might get a flow-not-linked
6980           result when trying to push because the other thread where the
6981           linking happens hasn't had a chance to set the peers yet. This
6982           might happen for example when a queue gets linked to a downstream
6983           element, as queue starts a streaming task when its source pad
6984           gets linked. Happens in real life when playing back flac/musepack
6985           files in playbin (#332390).
6986           
6987 2006-04-08  Stefan Kost  <ensonic@users.sf.net>
6988
6989         * gst/gstindex.h:
6990         * gst/gstxml.h:
6991         * libs/gst/base/gstadapter.h:
6992         * libs/gst/base/gstbasesink.h:
6993         * libs/gst/base/gstbasesrc.h:
6994         * libs/gst/base/gstbasetransform.h:
6995         * libs/gst/base/gstcollectpads.h:
6996         * libs/gst/base/gstpushsrc.h:
6997         Fix broken GObject macros
6998
6999 2006-04-07  Wim Taymans  <wim@fluendo.com>
7000
7001         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7002         Initialize start and stop times, thanks valgrind.
7003
7004 2006-04-07  Wim Taymans  <wim@fluendo.com>
7005
7006         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7007         Be a bit nicer to badly behaving upstream elements that expect
7008         us to deal with non TIME segments and timestamps (such as fakesrc
7009         in the testsuite).
7010
7011 2006-04-07  Wim Taymans  <wim@fluendo.com>
7012
7013         * gst/gstbus.c:
7014         Small documentation clarification about the signal watch.
7015
7016         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times),
7017         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
7018         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7019         (gst_base_sink_do_render_stats), (gst_base_sink_render_object),
7020         (gst_base_sink_get_position_last),
7021         (gst_base_sink_get_position_paused), (gst_base_sink_change_state):
7022         Convert and store timestamps in stream time and running time, the
7023         raw timestamps are not useful, also document this better.
7024         Use different window sizes for good and bad QoS observations so
7025         we react to badness a little quicker.
7026         Keep track of the amount of rendered and dropped buffers.
7027         Send QoS timestamps in running time.
7028
7029         * libs/gst/base/gstbasetransform.c:
7030         (gst_base_transform_sink_eventfunc),
7031         (gst_base_transform_handle_buffer):
7032         Compare QoS timestamps against running time.
7033
7034 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
7035
7036         * gst/gstpad.c:
7037           Typo fixes in docs.
7038
7039 2006-04-06  Michael Smith  <msmith@fluendo.com>
7040
7041         * gst/gstpad.c: (gst_pad_set_property):
7042           Use g_value_get_object() instead of g_value_dup_gst_object(),
7043           to avoid double-reffing the pad template (which we then sink,
7044           so this worked previously if (and only if) the pad template
7045           was floating.
7046
7047         * gst/gstpadtemplate.c: (gst_pad_template_init),
7048         (gst_pad_template_pad_created):
7049           Never return floating references to pad templates, create
7050           them as initially-sunken.
7051
7052           Document an extra function (and make this stop sinking our
7053           pad template, since that is now guaranteed to do nothing,
7054           since we created it sunken).
7055
7056         * gst/gstghostpad.c:
7057           Fix docs typo.
7058
7059 2006-04-06  Tim-Philipp Müller  <tim at centricular dot net>
7060
7061         * gst/gstinfo.c: (__gst_in_valgrind):
7062           Add some newlines.
7063
7064         * plugins/elements/gsttypefindelement.c:
7065         (gst_type_find_element_chain):
7066           Don't leak buffer caps.
7067
7068 2006-04-06  Michael Smith  <msmith@fluendo.com>
7069
7070         * gst/parse/grammar.y:
7071           Fix a leak in parse-launch for any source-or-sink named element 
7072           references used.
7073
7074         * tests/check/pipelines/parse-launch.c: (expected_fail_pipe):
7075           Unref the pipeline if it exists after we've failed parsing.
7076
7077 2006-04-05  Michael Smith  <msmith@fluendo.com>
7078
7079         * gst/gstpipeline.c: (gst_pipeline_init):
7080           When we create a pipeline bus, initially create it in flushing mode.
7081           Fixes leaks in at least one test, and makes a new pipeline work the
7082           same as one that has gone to READY and then back to NULL.
7083
7084         * gst/gstelement.c:
7085           Typo fix in docs.
7086
7087 2006-04-05  Michael Smith  <msmith@fluendo.com>
7088
7089         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
7090           Unref a pad we reffed.
7091         * tests/check/gst/gstutils.c: (GST_START_TEST):
7092           Unref bins
7093
7094 2006-04-05  Michael Smith  <msmith@fluendo.com>
7095
7096         * gst/gstquery.c: (gst_query_set_formats),
7097         (gst_query_set_formatsv):
7098           Fix leaking GValues in queries, as shown by valgrind/testsuite.
7099
7100 2006-04-05  Michael Smith  <msmith@fluendo.com>
7101
7102         * tests/check/generic/sinks.c: (GST_START_TEST):
7103           Fix a variety of memleaks in sinks check, which are only sometimes 
7104           shown by running the tests under valgrind (weird?).
7105
7106 2006-04-05  Jan Schmidt  <thaytan@mad.scientist.com>
7107
7108         * docs/version.entities.in:
7109           Fix the substituted entity name after thomas' changes on the
7110           weekend.
7111
7112 2006-04-05  Zaheer Abbas Merali  <zaheerabbas at merali dot org>
7113
7114         * gst/gstinfo.c: (__gst_in_valgrind): Use printf instead of
7115         VALGRIND_PRINTF
7116         
7117 2006-04-05  Andy Wingo  <wingo@pobox.com>
7118
7119         * gst/gstpad.c (gst_pad_set_blocked_async): More debug.
7120
7121         * libs/gst/base/gstbasetransform.c
7122         (gst_base_transform_sink_eventfunc): When resetting our segment on
7123         FLUSH_STOP, also update the flag saying we haven't seen a
7124         newsegment.
7125
7126 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7127
7128         Patch by: Paolo Borelli  <pborelli at katamail dot com>
7129
7130         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
7131         (gst_plugin_check_license):
7132           minor clean-ups: G_DEFINE_TYPE already takes care of the
7133           parent_class stuff, no need to do it twice. Mark array of
7134           license strings as constant. (#337103)
7135           
7136 2006-04-04  Michael Smith  <msmith@fluendo.com>
7137
7138         * tools/gst-inspect.c: (print_element_list):
7139           Free the right plugin list; fixes a memory leak.
7140
7141 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7142
7143         Patch by: Mark Nauwelaerts  <manauw at skynet dot be>
7144
7145         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7146           Don't error out on empty buffers (#336945).
7147           
7148 2006-04-04  Jan Schmidt  <thaytan@mad.scientist.com>
7149
7150         * docs/libs/gstreamer-libs-sections.txt:
7151         * gst/gsttaglist.c:
7152         * libs/gst/base/gstbasesink.c:
7153         * libs/gst/base/gstbasesink.h:
7154         * libs/gst/base/gstbasesrc.c:
7155         * libs/gst/base/gstbasesrc.h:
7156           Documentation updates. Make BaseSink and BaseSrc docs contain the
7157           class structure so that people can actually see the prototypes for
7158           virtual functions they're supposed to be overriding.
7159
7160 2006-04-04  Tim-Philipp Müller  <tim at centricular dot net>
7161
7162         * plugins/elements/gsttypefindelement.c:
7163         (gst_type_find_element_chain):
7164           More debug info; when skipping typefinding, send cached
7165           events in all cases.
7166
7167 2006-04-01  Thomas Vander Stichele  <thomas at apestaart dot org>
7168
7169         * configure.ac:
7170           use new AS_VERSION and AS_NANO macros
7171         * gst/gst-i18n-lib.h:
7172         * gst/gst.c:
7173         * gst/gsterror.c:
7174         * gst/gstversion.h.in:
7175         * win32/common/config.h:
7176         * win32/common/config.h.in:
7177           update accordingly
7178
7179 2006-03-31  Michael Smith  <msmith@fluendo.com>
7180
7181         * plugins/elements/gsttypefindelement.c:
7182         (gst_type_find_element_chain):
7183           Do not typefind content if the buffers already have caps.
7184           Neccesary for icydemux (#333657), and the right thing to do anyway.
7185
7186 2006-03-30  Wim Taymans  <wim@fluendo.com>
7187
7188         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7189         (gst_base_sink_finalize), (gst_base_sink_set_qos_enabled),
7190         (gst_base_sink_is_qos_enabled), (gst_base_sink_do_sync),
7191         (gst_base_sink_record_qos_observation),
7192         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7193         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7194         (gst_base_sink_change_state):
7195         More QoS measurements as described in the design doc.
7196         Get rid of ringbuffer with observations, running average is
7197         more simple and equally good.
7198         Calculates valid proportion now.
7199         Added beginning of flood measurement.
7200
7201 2006-03-29  Wim Taymans  <wim@fluendo.com>
7202
7203         * docs/design/part-qos.txt:
7204         * gst/gstclock.c:
7205         Small documentation updates and additions.
7206
7207 2006-03-29  Wim Taymans  <wim@fluendo.com>
7208
7209         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7210         (gst_base_src_send_event), (gst_base_src_loop),
7211         (gst_base_src_change_state):
7212         Perform the EOS logic when we reach the segment stop position.
7213         Fix compilation on gcc4.1
7214
7215 2006-03-29  Wim Taymans  <wim@fluendo.com>
7216
7217         Patch by: Tommi Myöhänen <ext-tommi dot myohanen at nokia dot com>
7218
7219         * plugins/elements/gstqueue.c: (gst_queue_init),
7220         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
7221         (gst_queue_set_property):
7222         * plugins/elements/gstqueue.h:
7223         In queue, when EOS is received, if minimum threshold > max_size -
7224         current_level, there is chance that queue blocks forever in conditional
7225         item del wait. This is because the queue is not emptied completely due
7226         to minimum threshold.  Here is another approach. Instead of setting
7227         cur_levels to max in EOS, just zero all minimum threshold levels. This
7228         should make sure that queue gives out all data. When going to READY
7229         (stop) state, just reset the original minimum threshold levels.
7230         Fixes #336336.
7231
7232 2006-03-29  Tim-Philipp Müller  <tim at centricular dot net>
7233
7234         * plugins/elements/gsttypefindelement.c: (stop_typefinding),
7235         (gst_type_find_element_handle_event),
7236         (gst_type_find_element_send_cached_events),
7237         (gst_type_find_element_change_state):
7238         * plugins/elements/gsttypefindelement.h:
7239           When typefinding is done in push mode, we should cache
7240           events we receive during typefinding instead of just
7241           dropping them (e.g. newsegment, custom events from
7242           dvdreadsrc etc.) and then send them out once we've
7243           determined the type of the stream (and decodebin
7244           has had a chance to plug in a decoder/demuxer).
7245           
7246 2006-03-27  Wim Taymans  <wim@fluendo.com>
7247
7248         * docs/design/part-qos.txt:
7249         First QoS ideas.
7250
7251 2006-03-27  Wim Taymans  <wim@fluendo.com>
7252
7253         Inspired by a patch of: Lutz Mueller <lutz at topfrose dot de>
7254
7255         * libs/gst/base/gstbasesrc.c: (gst_base_src_finalize),
7256         (gst_base_src_send_event), (gst_base_src_change_state):
7257         Handle element seek correctly when we are streaming.
7258         Fixes #326998.
7259
7260 2006-03-24  Michael Smith  <msmith@fluendo.com>
7261
7262         * docs/faq/gst-uninstalled:
7263           Set up LD_LIBRARY_PATH to point at all the gstreamer libs. This will
7264           allow you to correctly run intalled applications built against old 
7265           core, using plugins that require updated core (e.g. running
7266           installed totem against a full uninstalled gstreamer stack)
7267
7268 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7269
7270         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
7271         more debug details
7272
7273 2006-03-24  Wim Taymans  <wim@fluendo.com>
7274
7275         * docs/gst/gstreamer-sections.txt:
7276         Rearrange the order of the methods so that related methods
7277         are grouped together in sections.
7278
7279 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7280
7281         * gst/gstelement.c:
7282           Little clarification in the docs
7283
7284 2006-03-24  Stefan Kost  <ensonic@users.sf.net>
7285
7286         * docs/README:
7287         formatting fix
7288         * plugins/elements/gstidentity.c:
7289         * plugins/elements/gstqueue.c:
7290         * plugins/elements/gsttee.c:
7291         * plugins/elements/gsttypefindelement.c:
7292         GST_ELEMENT_DETAILS formatting
7293
7294 2006-03-24  Wim Taymans  <wim@fluendo.com>
7295
7296         * libs/gst/base/gstbasesink.h:
7297         Only add fields, not insert or we break ABI.
7298
7299 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7300
7301         * win32/common/libgstbase.def:
7302         * win32/common/libgstreamer.def:
7303           Update, add recently added functions.
7304
7305 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7306
7307         * docs/gst/gstreamer-sections.txt:
7308         * gst/gstutils.c: (gst_pad_query_peer_position),
7309         (gst_pad_query_peer_duration), (gst_pad_query_peer_convert):
7310         * gst/gstutils.h:
7311           API: add some new utility functions:
7312            - gst_pad_query_peer_position()
7313            - gst_pad_query_peer_duration()
7314            - gst_pad_query_peer_convert()
7315           
7316 2006-03-23  Wim Taymans  <wim@fluendo.com>
7317
7318         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7319         (gst_base_sink_init), (gst_base_sink_finalize),
7320         (gst_base_sink_set_qos_enabled), (gst_base_sink_is_qos_enabled),
7321         (gst_base_sink_set_property), (gst_base_sink_get_property),
7322         (gst_base_sink_commit_state), (gst_base_sink_get_sync_times),
7323         (gst_base_sink_wait_clock), (gst_base_sink_do_sync),
7324         (gst_base_sink_add_qos_observation), (gst_base_sink_send_qos),
7325         (gst_base_sink_perform_qos), (gst_base_sink_reset_qos),
7326         (gst_base_sink_is_too_late), (gst_base_sink_render_object),
7327         (gst_base_sink_preroll_object), (gst_base_sink_event),
7328         (gst_base_sink_chain_unlocked), (gst_base_sink_get_position_last),
7329         (gst_base_sink_get_position_paused), (gst_base_sink_get_position),
7330         (gst_base_sink_query), (gst_base_sink_change_state):
7331         Decouple max-lateness and the fact that QoS messages are generated
7332         with a new property (qos).
7333         added API: GstBaseSink::async_play()
7334         Add vmethod so subclasses can be notified of ASYNC playing
7335         state changes.
7336         Collect timestamp start and stop to report better current
7337         position in EOS/PLAYING/PAUSED/READY/NULL.
7338         Refactor QoS/frame dropping and other measurements.
7339         API: GstBaseSrc::qos
7340         Fixes #326311
7341
7342         * libs/gst/base/gstbasesink.h:
7343         Added Private struct.
7344         API: gst_base_sink_set_qos_enabled()
7345         API: gst_base_sink_is_qos_enabled()
7346
7347 2006-03-23  Tim-Philipp Müller  <tim at centricular dot net>
7348
7349         * gst/gstregistryxml.c: (gst_registry_xml_read_cache):
7350           If compiling against GLib-2.8 or newer, try to read the
7351           registry file using GMappedFile first before falling back
7352           to fopen() + fread() (#332151).
7353
7354 2006-03-22  Wim Taymans  <wim@fluendo.com>
7355
7356         * gst/gstinfo.c: (gst_debug_set_active),
7357         (gst_debug_category_set_threshold):
7358         Disable debugging unless explicitly activated.
7359         Fixes #335480.
7360
7361 2006-03-22  Wim Taymans  <wim@fluendo.com>
7362
7363         * gst/gstelement.c: (gst_element_set_locked_state),
7364         (gst_element_dispose):
7365         Cleanup the error case.
7366
7367         * gst/gstobject.c: (gst_object_dispose):
7368         print a critical when some object was disposed with
7369         a parent, also revive the object since it might
7370         crash the parent.
7371
7372 2006-03-22  Tim-Philipp Müller  <tim at centricular dot net>
7373
7374         * tools/gst-launch.1.in:
7375           Fix another typo.
7376
7377 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7378
7379         * configure.ac:
7380         * tests/check/Makefile.am:
7381           disable some tests when we don't have a registry
7382         * tests/check/gst/gstutils.c: (gst_utils_suite):
7383           don't build the part that needs parsing
7384
7385 2006-03-21  Thomas Vander Stichele  <thomas at apestaart dot org>
7386
7387         * gst/Makefile.am
7388         * tests/examples/Makefile.am:
7389           fix --disable-parse build
7390
7391 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7392
7393         * tools/gst-feedback.1.in:
7394           Fix typo: s/feeback/feedback/ (#133494).
7395
7396 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7397
7398         * tools/Makefile.am:
7399         * tools/gst-launch.1.in:
7400           Add FILES section and correct entry about GST_REGISTRY_PATH
7401           environment variable (#133495; #133494).
7402
7403 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7404
7405         * tools/Makefile.am:
7406         * tools/gst-md5sum.1.in:
7407         * tools/gst-md5sum.c:
7408           Remove gst-md5sum and man page (the md5sink element
7409           required was removed ages ago)
7410
7411 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7412
7413         * gst/gststructure.c: (gst_structure_id_set_value):
7414           Make sure that string fields in structures/taglists
7415           contain valid UTF-8 - we don't want to pass rubbish to
7416           applications because of a buggy plugin (cp. #334167).
7417
7418 2006-03-21  Edward Hervey  <edward@fluendo.com>
7419
7420         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
7421         (gst_bin_handle_message_func):
7422         * gst/gstclock.c: (gst_clock_dispose), (gst_clock_set_master):
7423         * gst/gstelement.c: (gst_element_set_clock), (gst_element_dispose),
7424         (gst_element_set_bus_func):
7425         * gst/gstghostpad.c: (gst_proxy_pad_dispose):
7426         * gst/gstminiobject.c: (gst_value_set_mini_object),
7427         (gst_value_take_mini_object):
7428         * gst/gstpad.c: (gst_pad_set_pad_template):
7429         * gst/gstpipeline.c: (gst_pipeline_dispose),
7430         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
7431         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop),
7432         (gst_collect_pads_chain):
7433         * libs/gst/net/gstnettimeprovider.c:
7434         (gst_net_time_provider_set_property):
7435         Series of fixes for dereferenced pointers that gcc 4.1 complains about.
7436         It's in fact all issues with gst_*object_replace().
7437
7438 2006-03-21  Tim-Philipp Müller  <tim at centricular dot net>
7439
7440         Patch by: Loïc Minier  <lool + gnome at via dot ecp dot fr>
7441         
7442         * pkgconfig/gstreamer-check-uninstalled.pc.in:
7443         * pkgconfig/gstreamer-check.pc.in:
7444           Use @CHECK_LIBS@ here instead of hard-coding -lcheck (#334109).
7445
7446 2006-03-21  Edward Hervey  <edward@fluendo.com>
7447
7448         * gst/gstbuffer.h:
7449         * gst/gstevent.h:
7450         * gst/gstmessage.h:
7451         gst_[buffer|event|message]_ref() macros are replaced by a static
7452         inline functions because gcc-4.1 will about if the return value
7453         isn't used.
7454         * tests/check/gst/gstevent.c: (event_probe):
7455         gst_event_ref now has to be given a GstEvent* , fix check accordingly.
7456
7457 2006-03-20  Jan Schmidt  <thaytan@mad.scientist.com>
7458
7459         * gst/gstutils.h:
7460         Add G_UNLIKELY to our boilerplate to optimise the 'already registered
7461         the type' case. (Closes: #335195 for now). In the future, when we
7462         depend on GLib 2.10, we could also intern the type name using
7463         g_intern_static_string()
7464
7465 2006-03-20  Wim Taymans  <wim@fluendo.com>
7466
7467         * gst/gstbin.c: (gst_bin_handle_message_func),
7468         (bin_query_max_init), (bin_query_position_fold),
7469         (bin_query_position_done), (gst_bin_query):
7470         Position query should also take max of all streams.
7471
7472 2006-03-20  Wim Taymans  <wim@fluendo.com>
7473
7474         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
7475         (gst_fake_src_finalize):
7476         Fix leaks in fakesrc.
7477
7478         * tests/check/pipelines/parse-launch.c: (GST_START_TEST):
7479         Fix leaks in the testcase.
7480
7481 2006-03-19  Sebastien Moutte  <sebastien@moutte.net>
7482
7483         * gst/gst_private.h:
7484           add win32 specific import decoration(__declspec(dllimport)) 
7485           for all extern GstDebugCategory * variables
7486         * win32/common/libgstbase.def:
7487         * win32/common/libgstcontroller.def:
7488         * win32/common/libgstreamer.def:
7489           Add some exports, remove empty lines
7490         * win32/common/libgstdataprotocol.def:
7491         * win32/common/libgstdataprotocol.dsp:
7492         * win32/common/libgstnet.def:
7493         * win32/common/libgstnet.dsp:
7494           new project files and exportation files added
7495         
7496 2006-03-19  Wim Taymans  <wim@fluendo.com>
7497
7498         * tests/check/libs/basesrc.c: (eos_event_counter):
7499         Use proper return value for probe.
7500
7501 2006-03-17  Wim Taymans  <wim@fluendo.com>
7502
7503         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7504         (gst_pad_push):
7505         Don't leak buffers, caps and pads on negotiation errors.
7506
7507 2006-03-16  Stefan Kost  <ensonic@users.sf.net>
7508
7509         * docs/faq/cvs.xml:
7510         * docs/faq/dependencies.xml:
7511         * docs/faq/developing.xml:
7512         * docs/faq/faq.xml:
7513         * docs/faq/general.xml:
7514         * docs/faq/getting.xml:
7515         * docs/faq/legal.xml:
7516         * docs/faq/troubleshooting.xml:
7517         * docs/faq/using.xml:
7518         Faq review and update.
7519
7520 2006-03-16  Jan Schmidt  <thaytan@mad.scientist.com>
7521
7522         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_alloc_buffer_full),
7523         (gst_pad_push):
7524         Don't pound the cpu to pieces by checking get_caps when accept_caps
7525         is called with the same caps as the pad already has.
7526         Use GST_DEBUG_OBJECT when outputting caps change information.
7527
7528 2006-03-15  Wim Taymans  <wim@fluendo.com>
7529
7530         * gst/gstclock.c: (gst_clock_class_init):
7531         Fix docs.
7532
7533 2006-03-15  Jan Schmidt  <thaytan@mad.scientist.com>
7534
7535         * gst/gstbuffer.h:
7536         Documentation fix.
7537
7538         * gst/gstpad.c: (gst_pad_init), (gst_pad_acceptcaps_default),
7539         (gst_pad_accept_caps), (gst_pad_configure_sink),
7540         (gst_pad_configure_src), (gst_pad_chain), (gst_pad_push):
7541         Make the default acceptcaps behaviour be to check the requested 
7542         caps against the gst_pad_get_caps output. 
7543
7544         Ensure that gst_pad_accept_caps is used to check caps when a pad
7545         doesn't have a setcaps function, so that pads automatically refuse 
7546         caps that they don't allow in their pad template. (Fixes #332986)
7547
7548         When a buffer with attached caps is pushed, ensure that the source 
7549         pad receives those caps even if the element didn't call
7550         gst_pad_set_caps first.
7551
7552 2006-03-15  Wim Taymans  <wim@fluendo.com>
7553
7554         * libs/gst/base/gstadapter.c:
7555         Add some docs.
7556
7557 2006-03-15  Tim-Philipp Müller  <tim at centricular dot net>
7558
7559         * win32/common/libgstbase.def:
7560         * win32/common/libgstcontroller.def:
7561         * win32/common/libgstreamer.def:
7562           Add a whole bunch of missing functions (#334434).
7563
7564 2006-03-14  Wim Taymans  <wim@fluendo.com>
7565
7566         * libs/gst/base/gstbasesink.c: (gst_base_sink_configure_segment),
7567         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
7568         (gst_base_sink_do_sync), (gst_base_sink_do_qos):
7569         Better debug info when we receive a segment event.
7570         Reorganize a bit so we can pass the get_times() results around.
7571         Use the segment format when calculating the running time.
7572         Don't do QoS is sync is disabled or we have no clock or the
7573         element does not want us to sync to the clock.
7574         Don't drop buffers if QoS is disabled for now.
7575
7576 2006-03-14  Wim Taymans  <wim@fluendo.com>
7577
7578         * gst/gstclock.c: (gst_clock_class_init), (do_linear_regression):
7579         Marked the stats property as unimplemented so people don't get
7580         wild ideas.
7581         Add debug message when regression goes wrong.
7582         Added some more docs.
7583
7584 2006-03-14  Wim Taymans  <wim@fluendo.com>
7585
7586         * gst/gstsegment.c: (gst_segment_to_stream_time):
7587         Return correct return type in case of errors.
7588
7589 2006-03-14  Wim Taymans  <wim@fluendo.com>
7590
7591         * gst/gstformat.c: (gst_format_get_name), (gst_format_to_quark):
7592           Don't segfault on invalid formats.
7593
7594 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7595
7596         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
7597           Can't use gst_segment_to_running_time() when the segment
7598           is not in GST_TIME_FORMAT (like with filesink, for example).
7599           Stops flac encoding pipelines from spewing critical warnings
7600           at EOS (#331248).
7601           
7602 2006-03-14  Tim-Philipp Müller  <tim at centricular dot net>
7603
7604         * gst/gstpipeline.c: (gst_pipeline_class_init):
7605           Add 'Since: 0.10.5' to gtk-doc blurb for added property.
7606
7607         * plugins/elements/gsttypefindelement.c:
7608         (gst_type_find_element_handle_event):
7609           Don't try to typefind empty streams.
7610
7611 2006-03-14  Wim Taymans  <wim@fluendo.com>
7612
7613         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
7614         (gst_base_sink_do_qos):
7615         Separate QoS calculation.
7616         Only drop buffers when lateness is bigger than the 
7617         duration of the buffer.
7618
7619 2006-03-13  Wim Taymans  <wim@fluendo.com>
7620
7621         * gst/gstpipeline.c: (gst_pipeline_set_property),
7622         (gst_pipeline_get_property), (do_pipeline_seek),
7623         (gst_pipeline_change_state), (gst_pipeline_set_delay),
7624         (gst_pipeline_get_delay):
7625         Don't deadlock when reading properties.
7626
7627 2006-03-13  Wim Taymans  <wim@fluendo.com>
7628
7629         * libs/gst/base/gstbasetransform.c:
7630         (gst_base_transform_class_init), (gst_base_transform_init),
7631         (gst_base_transform_sink_event),
7632         (gst_base_transform_sink_eventfunc),
7633         (gst_base_transform_src_event), (gst_base_transform_src_eventfunc),
7634         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
7635         (gst_base_transform_set_property),
7636         (gst_base_transform_get_property),
7637         (gst_base_transform_change_state), (gst_base_transform_update_qos),
7638         (gst_base_transform_set_qos_enabled),
7639         (gst_base_transform_is_qos_enabled):
7640         * libs/gst/base/gstbasetransform.h:
7641         Make basetransform virtual method for src events too.
7642         Handle QOS in basetransform.
7643         API: gst_base_transform_update_qos()
7644         API: gst_base_transform_set_qos_enabled()
7645         API: gst_base_transform_is_qos_enabled()
7646
7647 2006-03-13  Wim Taymans  <wim@fluendo.com>
7648
7649         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
7650         (gst_base_sink_do_sync):
7651         Small cleanups.
7652         Use QOS debug category.
7653
7654 2006-03-13  Wim Taymans  <wim@fluendo.com>
7655
7656         * plugins/elements/gstqueue.c:
7657         Very small doc update.
7658
7659 2006-03-13  Wim Taymans  <wim@fluendo.com>
7660
7661         * gst/gst_private.h:
7662         * gst/gstinfo.c: (_gst_debug_init):
7663         Added QOS debug category
7664
7665 2006-03-13  Wim Taymans  <wim@fluendo.com>
7666
7667         * docs/gst/gstreamer-sections.txt:
7668         * gst/gstbin.c: (bin_bus_handler), (gst_bin_handle_message_func):
7669         * gst/gstbin.h:
7670         * gst/gstbus.c: (gst_bus_class_init):
7671         * gst/gstbus.h:
7672         * gst/gstclock.c:
7673         * gst/gstelement.c: (gst_element_set_locked_state):
7674         * gst/gstsegment.c:
7675         Documentation updates.
7676
7677         * gst/gstpipeline.c: (gst_pipeline_get_type),
7678         (gst_pipeline_class_init), (gst_pipeline_init),
7679         (gst_pipeline_dispose), (gst_pipeline_set_property),
7680         (gst_pipeline_get_property), (do_pipeline_seek),
7681         (gst_pipeline_send_event), (gst_pipeline_change_state),
7682         (gst_pipeline_provide_clock_func), (gst_pipeline_set_delay),
7683         (gst_pipeline_get_delay):
7684         * gst/gstpipeline.h:
7685         Added methods for setting the delay.
7686         API: gst_pipeline_set_delay()
7687         API: gst_pipeline_get_delay()
7688         Add pipeline debug category
7689         Various cleanups.
7690         Updated docs.
7691         Don't reset stream time when seek failed.
7692
7693 2006-03-13  Wim Taymans  <wim@fluendo.com>
7694
7695         * docs/design/draft-klass.txt:
7696         * docs/design/part-clocks.txt:
7697         * docs/design/part-events.txt:
7698         * docs/design/part-gstbin.txt:
7699         * docs/design/part-gstpipeline.txt:
7700         * docs/design/part-messages.txt:
7701         * docs/design/part-negotiation.txt:
7702         * docs/design/part-overview.txt:
7703         * docs/design/part-preroll.txt:
7704         * docs/design/part-seeking.txt:
7705         * docs/design/part-states.txt:
7706         * docs/design/part-streams.txt:
7707         Documentation updates.
7708
7709 2006-03-12  Julien MOUTTE  <julien@moutte.net>
7710
7711         * gst/gsttaglist.c: Fix rubbish docs that are encouraging
7712         us to leak strings...
7713
7714 2006-03-12  Thomas Vander Stichele  <thomas at apestaart dot org>
7715
7716         * libs/gst/net/gstnettimeprovider.c:
7717           fix docs
7718         * win32/common/config.h:
7719           update
7720
7721 2006-03-12  Tim-Philipp Müller  <tim at centricular dot net>
7722
7723         Patch by: Julio M. Merino Vidal <jmmv at netbsd org>
7724
7725         * configure.ac:
7726           Don't check for libgnomeui (leftover from old examples
7727           that aren't built or disted any longer) (#334303).
7728           
7729 2006-03-11  Tim-Philipp Müller  <tim at centricular dot net>
7730
7731         * plugins/elements/gstfdsink.c: (gst_fd_sink_render):
7732         * plugins/elements/gstfilesink.c: (gst_file_sink_render):
7733           Emit RESOURCE_NO_SPACE_LEFT error here as well when
7734           there's no space left on the device.
7735
7736 2006-03-10  Tim-Philipp Müller  <tim at centricular dot net>
7737
7738         * gst/gstclock.h:
7739           Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need
7740           to cast the input to GstClockTime before comparing with
7741           another GstClockTime value.
7742
7743 2006-03-10  Thomas Vander Stichele  <thomas at apestaart dot org>
7744
7745         * configure.ac:
7746           back to trunk
7747
7748 === release 0.10.4 ===
7749
7750 2006-03-10  Thomas Vander Stichele <thomas at apestaart dot org>
7751
7752         * configure.ac:
7753           releasing 0.10.4, "Light"
7754
7755 2006-03-10  Michael Smith  <msmith@fluendo.com>
7756
7757         * libs/gst/dataprotocol/dataprotocol.c:
7758           Fix docs for dataprocotol to not get the return types completely
7759           wrong for a few functions.
7760
7761 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7762
7763         * docs/gst/gstreamer-sections.txt:
7764         * gst/gstpipeline.c: (gst_pipeline_class_init),
7765         (gst_pipeline_init), (gst_pipeline_set_property),
7766         (gst_pipeline_get_property), (gst_pipeline_change_state),
7767         (gst_pipeline_set_auto_flush_bus),
7768         (gst_pipeline_get_auto_flush_bus):
7769         * gst/gstpipeline.h:
7770           Add new API: gst_pipeline_set_auto_flush_bus() and
7771           gst_pipeline_get_auto_flush_bus() to disable automatic
7772           flushing of the pipeline's GstBus when going from READY
7773           to NULL state (#332045).
7774
7775 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7776
7777         * docs/gst/gstreamer-sections.txt:
7778         * gst/gsturi.c: (gst_uri_has_protocol):
7779         * gst/gsturi.h:
7780            Add new API: gst_uri_has_protocol() (#333779).
7781
7782 2006-03-09  Wim Taymans  <wim@fluendo.com>
7783
7784         * gst/gstclock.c: (gst_clock_entry_new),
7785         (gst_clock_id_compare_func), (gst_clock_id_wait),
7786         (gst_clock_id_wait_async), (gst_clock_id_unschedule),
7787         (gst_clock_init), (gst_clock_get_internal_time),
7788         (gst_clock_set_master), (do_linear_regression),
7789         (gst_clock_add_observation), (gst_clock_set_property):
7790         * gst/gstclock.h:
7791         Review docs.
7792         Small cleanups.
7793         Fix a possible segfault when the window-size is made smaller.
7794         Calculate jitter before performing the clock wait. Ideally
7795         the clock implementation should calculate jitter but we need
7796         API breakage for that.
7797
7798         * gst/gstsystemclock.c: (gst_system_clock_init):
7799         Docs review.
7800         
7801         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7802         Remove leftover else
7803
7804         * tests/check/gst/gstsystemclock.c: (GST_START_TEST),
7805         (gst_systemclock_suite):
7806         Added check to test GST_CLOCK_DIFF.
7807
7808 2006-03-09  Tim-Philipp Müller  <tim at centricular dot net>
7809
7810         * libs/gst/base/gsttypefindhelper.c: (helper_find_get_length),
7811         (gst_type_find_helper_get_range):
7812           If we are provided with the size, we should implement
7813           GstTypeFind::get_length, so that typefind functions who
7814           want to can actually peek at the middle of a file.
7815
7816 2006-03-08  Tim-Philipp Müller  <tim at centricular dot net>
7817
7818         * docs/manual/advanced-dataaccess.xml:
7819           Add some very very basic error checking.
7820
7821         * docs/pwg/appendix-checklist.xml:
7822           Some updates to the list of things to check when writing an element.
7823
7824 2006-03-08  Wim Taymans  <wim@fluendo.com>
7825
7826         * docs/design/part-element-transform.txt:
7827         Added some docs about the design of tranform elements.
7828
7829         * libs/gst/base/gstbasesrc.c: (gst_base_src_perform_seek),
7830         (gst_base_src_loop), (gst_base_src_change_state):
7831         Mark buffers with the DISCONT flag.
7832
7833 2006-03-08  Michael Smith  <msmith@fluendo.com>
7834
7835         * gst/gstregistry.h:
7836         * gst/gstregistryxml.c: (gst_registry_save),
7837         (gst_registry_save_escaped), (gst_registry_xml_save_caps),
7838         (gst_registry_xml_save_pad_template),
7839         (gst_registry_xml_save_feature), (gst_registry_xml_save_plugin),
7840         (gst_registry_xml_write_cache):
7841           Rewrite registry-saving to avoid race conditions and check for
7842           failed writes.
7843
7844 2006-03-08  Wim Taymans  <wim@fluendo.com>
7845
7846         * libs/gst/base/gstbasetransform.c:
7847         (gst_base_transform_transform_caps),
7848         (gst_base_transform_transform_size),
7849         (gst_base_transform_prepare_output_buffer),
7850         (gst_base_transform_get_unit_size),
7851         (gst_base_transform_buffer_alloc),
7852         (gst_base_transform_handle_buffer),
7853         (gst_base_transform_change_state):
7854         Cleanups, separate normal flow from errors, add sensible
7855         DEBUG lines.
7856         Don't try to renegotiate when allocating an output buffer.
7857         Also copy DISCONT buffer flag when copying a buffer.
7858         Reset the transform after we finish streaming, not during.
7859
7860 2006-03-08  Wim Taymans  <wim@fluendo.com>
7861
7862         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync):
7863         Use last buffer timestamp in qos message.
7864
7865 2006-03-07  Wim Taymans  <wim@fluendo.com>
7866
7867         Patch by: Christophe Fergeau
7868
7869         * docs/pwg/advanced-tagging.xml:
7870         * docs/pwg/building-pads.xml:
7871           fixes #333416
7872
7873 2006-03-07  Wim Taymans  <wim@fluendo.com>
7874
7875         * docs/libs/gstreamer-libs-sections.txt:
7876         Added basesink new methods.
7877
7878         * gst/gstevent.c:
7879         * gst/gstevent.h:
7880         Docs updates. Flesh out the QoS docs.
7881
7882         * libs/gst/base/gstadapter.c:
7883         Small doc clarification about ownership and flushing.
7884
7885         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_sync),
7886         (gst_base_sink_get_sync), (gst_base_sink_set_max_lateness),
7887         (gst_base_sink_get_max_lateness), (gst_base_sink_set_property),
7888         (gst_base_sink_get_property), (gst_base_sink_do_sync):
7889         * libs/gst/base/gstbasesink.h:
7890         API additions: 
7891         Added new methods to allow subclass to control max-lateness 
7892         and sync.
7893         Generate very basic QoS events based on last sync observation.
7894         Updated docs, fix typo, added some QoS blurb.
7895
7896         * libs/gst/base/gstbasesrc.c:
7897         Remove obsolete _get_state() calls from docs.
7898
7899 2006-03-07  Wim Taymans  <wim@fluendo.com>
7900
7901         * docs/libs/gstreamer-libs-sections.txt:
7902         * libs/gst/base/gstbasetransform.h:
7903         API addition: Fix #333669, Add pad accessor defines for GstBaseTransform
7904         Fix docs for GstBaseSrc.
7905
7906 2006-03-07  Wim Taymans  <wim@fluendo.com>
7907
7908         * docs/gst/gstreamer-sections.txt:
7909         * gst/gstbuffer.h:
7910         * gst/gstvalue.c:
7911         * libs/gst/base/gstbasetransform.h:
7912         Small documentation fixes.
7913
7914 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7915
7916         * gst/gstvalue.c:
7917           Document thread-unsafety of gst_value_register_foo_func()
7918           when used at the same time as gst_value_foo() (#322628).
7919
7920 2006-03-07  Tim-Philipp Müller  <tim at centricular dot net>
7921
7922         * libs/gst/base/gstpushsrc.c: (gst_push_src_class_init),
7923         (gst_push_src_check_get_range):
7924           Push sources don't support pull mode by default.
7925
7926 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
7927
7928         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
7929         (gst_base_src_init), (gst_base_src_pad_check_get_range),
7930         (gst_base_src_default_check_get_range):
7931         * libs/gst/base/gstbasesrc.h:
7932           API addition:  Add ::check_get_range() vfunc to GstBaseSrc (#332611),
7933           provide default implementation, and rename
7934           gst_base_src_check_get_range() to
7935           gst_base_src_pad_check_get_range() for clarity.
7936
7937 2006-03-06  Wim Taymans  <wim@fluendo.com>
7938
7939         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init):
7940         Make property overridable.
7941
7942 2006-03-06  Wim Taymans  <wim@fluendo.com>
7943
7944         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
7945         (gst_base_sink_init), (gst_base_sink_set_property),
7946         (gst_base_sink_get_property), (gst_base_sink_do_sync):
7947         * libs/gst/base/gstbasesink.h:
7948         API addition: Make max-lateness a property.
7949
7950 2006-03-06  Wim Taymans  <wim@fluendo.com>
7951
7952         * libs/gst/base/gstbasesink.c: (gst_base_sink_wait_clock),
7953         (gst_base_sink_do_sync), (gst_base_sink_render_object):
7954         Don't ever draw a frame that is >10ms late.
7955
7956 2006-03-06  Michael Smith  <msmith@fluendo.com>
7957
7958         * gst/gstmessage.c: (_gst_message_copy):
7959           When copying a message, set the parent_refcount of the enclosed
7960           structure to point at the copy, not the original message.
7961
7962 2006-03-06  Tim-Philipp Müller  <tim at centricular dot net>
7963
7964         Patch by: Christophe Fergeau
7965
7966         * gst/gstutils.h:
7967           Do proper cast here to make GST_BOILERPLATE_WITH_INTERFACE
7968           usable in c++ code (#333417)
7969
7970 2006-03-06  Thomas Vander Stichele  <thomas at apestaart dot org>
7971
7972         * gst/gstclock.h:
7973           Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
7974
7975 2006-03-05  Tim-Philipp Müller  <tim at centricular dot net>
7976
7977         * libs/gst/base/gstbasetransform.c:
7978         (gst_base_transform_transform_caps):
7979           Make sure caps are writable before passing them to
7980           gst_caps_append().
7981
7982 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
7983
7984         * gst/gsterror.h:
7985           Fix some minor docs errors.
7986
7987 2006-03-04  Tim-Philipp Müller  <tim at centricular dot net>
7988
7989           Patch by: Ross Burton <ross at burtonini dot com>
7990
7991         * gst/gsterror.c: (_gst_resource_errors_init):
7992         * gst/gsterror.h:
7993           Add GST_RESOURCE_ERROR_NO_SPACE_LEFT (for #333352;
7994
7995 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
7996
7997         * gst/gst.c:
7998         Add a check and output a g_warning when GStreamer is built
7999         against GLib 2.6 but running against 2.8 or higher, and vice 
8000         versa. (Closes: #323542)
8001
8002 2006-03-03  Jan Schmidt  <thaytan@mad.scientist.com>
8003
8004         * gst/parse/parse.l:
8005           Commit patch for parse_launch syntax from #331255. Removes 
8006           support for quoted strings and mimetypes when writing filtered 
8007           caps. See the bug report for more details - I'm pretty sure this
8008           obscure feature is not in use by _anyone_ anywhere.
8009
8010           With this simple change, the size of the gstreamer.so here 
8011           drops from 2193KB to 1565KB.
8012
8013 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8014
8015         * plugins/elements/gsttypefindelement.h:
8016         * plugins/elements/gsttypefindelement.c:
8017         (gst_type_find_element_src_event), (start_typefinding),
8018         (stop_typefinding), (gst_type_find_element_handle_event),
8019         (gst_type_find_element_chain),
8020         (gst_type_find_element_chain_do_typefinding):
8021           Use gst_type_find_helper_for_buffer() for chain-based
8022           typefinding.
8023
8024 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8025
8026         * plugins/elements/gsttypefindelement.c:
8027         (gst_type_find_element_class_init),
8028         (gst_type_find_element_set_property),
8029         (gst_type_find_element_get_property):
8030           Deprecate "maximum" property (not only was it only taken into
8031           account for typefinding in push-mode anyway, it also was never
8032           actually possible to set it in the first place because the
8033           property was registered with the numeric property ID for the
8034           "minimum" property). Register "maximum" property correctly,
8035           for the sake of future copy'n'pasters. Remove some cruft
8036           from property get/set functions.
8037
8038 2006-03-03  Tim-Philipp Müller  <tim at centricular dot net>
8039
8040         * plugins/elements/gsttypefindelement.c:
8041         (gst_type_find_element_activate):
8042           Use gst_type_find_helper_get_range() here, so we
8043           can honour the "minimum" property and also emit
8044           the signal with the correct probability of the found caps.
8045
8046 2006-03-02  Tim-Philipp Müller  <tim at centricular dot net>
8047
8048         * docs/libs/gstreamer-libs-sections.txt:
8049         * libs/gst/base/gsttypefindhelper.c: (helper_find_peek),
8050         (helper_find_suggest), (gst_type_find_helper_get_range),
8051         (gst_type_find_helper):
8052         * libs/gst/base/gsttypefindhelper.h:
8053           New API: gst_type_find_helper_get_range() (#333042).
8054
8055 2006-03-02  Michael Smith  <msmith@fluendo.com>
8056
8057         * gst/gstregistryxml.c: (load_feature):
8058           Asserting on a failure to read part of the registry is Not Cool.
8059           Just log a warning and return NULL (which is already handled)
8060
8061 2006-02-28  Sebastien Moutte  <sebastien@moutte.net>
8062
8063         * win32/common/libgstbase.def:
8064           added export of gst_type_find_helper_for_buffer
8065         * win32/common/libgstbase.def:
8066           added some exports : gst_bin_iterate_elements, gst_iterator_resync,
8067           gst_ghost_pad_get_target
8068
8069 2006-02-28  Wim Taymans  <wim@fluendo.com>
8070
8071         * docs/design/draft-klass.txt:
8072         We use Filter now.
8073         Added Connector to mark elements that are only used to
8074         allow pipeline connections.
8075         Moved Debug to extra feature since most of them are 
8076         functionally something else.
8077
8078 2006-02-28  Wim Taymans  <wim@fluendo.com>
8079
8080         * docs/design/draft-klass.txt:
8081         Some updates and clarifications.
8082
8083 2006-02-28  Wim Taymans  <wim@fluendo.com>
8084
8085         * docs/design/draft-klass.txt:
8086         Proposal for klass field values.
8087
8088         * docs/design/part-streams.txt:
8089         Start of a doc describing stream anatomy.
8090
8091 2006-02-28  Wim Taymans  <wim@fluendo.com>
8092
8093         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_handle_message_func):
8094         Help the compiler a bit with type registration.
8095         Use existing forward cod path instead of duplicating it when 
8096         handling a message.
8097         
8098         * gst/gstbus.c: (gst_bus_get_type):
8099         * gst/gstcaps.c: (gst_caps_get_type), (gst_static_caps_get_type):
8100         * gst/gstchildproxy.c: (gst_child_proxy_get_type):
8101         * gst/gstclock.c: (gst_clock_get_type):
8102         * gst/gstelement.c: (gst_element_get_type),
8103         * gst/gstelementfactory.c: (gst_element_factory_get_type):
8104         * gst/gstindexfactory.c: (gst_index_factory_get_type):
8105         * gst/gstminiobject.c: (gst_mini_object_get_type):
8106         * gst/gstpad.c: (gst_pad_get_type):
8107         * gst/gstsegment.c: (gst_segment_get_type):
8108         * gst/gststructure.c: (gst_structure_get_type):
8109         * gst/gstsystemclock.c: (gst_system_clock_get_type):
8110         * gst/gsttask.c: (gst_task_get_type), (gst_task_join):
8111         * gst/gstvalue.c:
8112         Help compiler with type registration.
8113
8114         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event):
8115         Small doc update.
8116
8117 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8118
8119         * plugins/elements/gsttypefindelement.c:
8120         (gst_type_find_element_handle_event):
8121           When we get an EOS event and have not found a type yet
8122           (most likely because we had not yet accumulated
8123           TYPE_FIND_MIN_SIZE of data yet), try to determine the
8124           type given the data we have so far. Fixes typefinding
8125           for very short streams again, most notably quicktime
8126           redirections as used on Apple's trailer site (#331701).
8127
8128 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8129
8130         * libs/gst/base/gsttypefindhelper.c: (type_find_factory_rank_cmp),
8131         (gst_type_find_helper):
8132           Try typefinding factories with the highest rank first.
8133
8134 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8135
8136         * docs/libs/gstreamer-libs-docs.sgml:
8137         * docs/libs/gstreamer-libs-sections.txt:
8138         * libs/gst/base/gsttypefindhelper.c:
8139           Add section for typefind helper and add documentation
8140           for the old and the new function.
8141
8142 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8143
8144         * libs/gst/base/gsttypefindhelper.c: (buf_helper_find_peek),
8145         (buf_helper_find_suggest), (type_find_factory_rank_cmp),
8146         (gst_type_find_helper_for_buffer):
8147         * libs/gst/base/gsttypefindhelper.h:
8148           New API: gst_type_find_helper_for_buffer() (#332723).
8149           
8150 2006-02-27  Michael Smith  <msmith@fluendo.com>
8151
8152         Patch by: Loïc Minier
8153
8154         * configure.ac:
8155         * docs/Makefile.am:
8156         * docs/slides/Makefile.am:
8157           prevent CVS directories getting disted.
8158
8159 2006-02-27  Tim-Philipp Müller  <tim at centricular dot net>
8160
8161         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref):
8162           Use the REFCOUNTING category for caps refcounting.
8163           
8164 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
8165
8166         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
8167           This should be 0 not GST_CLOCK_TIME_NONE (see #331701).
8168
8169 2006-02-26  Tim-Philipp Müller  <tim at centricular dot net>
8170
8171         * plugins/elements/gsttypefindelement.c:
8172         (gst_type_find_element_activate):
8173           Use gst_pad_check_pull_range() before _activate_pull()
8174           to avoid unnecessary open/close (see #331690).
8175
8176 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
8177
8178         * gst/gstutils.c:
8179           Docs enhancement: make it crystal clear what the
8180           gst_pad_add_*_probe() callbacks should look like.
8181
8182 2006-02-24  Tim-Philipp Müller  <tim at centricular dot net>
8183
8184         * libs/gst/base/gstbasesrc.c:
8185           Document how applications can stop recording from
8186           live sources (see #330996).
8187
8188 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8189
8190         * tests/check/Makefile.am:
8191         * tests/check/libs/basesrc.c: (eos_event_counter),
8192         (basesrc_eos_events_pull), (basesrc_eos_events_push),
8193         (basesrc_eos_events_push_live_op), (basesrc_eos_events_pull_live_op),
8194         (gst_basesrc_suite), (main):
8195           ... and add some tests for the base source EOS stuff.
8196
8197 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8198
8199         * tests/check/gst/gstutils.c: (test_buffer_probe_n_times):
8200           Test case originally showed the problem fixed below,
8201           but was then amended. Add checks back at the place
8202           where they used to be.
8203
8204 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8205
8206         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
8207         (gst_base_src_init), (gst_base_src_loop),
8208         (gst_base_src_activate_push), (gst_base_src_activate_pull),
8209         (gst_base_src_change_state):
8210         * libs/gst/base/gstbasesrc.h:
8211           Don't unconditionally send EOS when going from PAUSED to
8212           READY state, esp. make sure we don't send two EOS events
8213           in some cases (e.g. one when reaching EOS and one when
8214           going from PAUSED to READY). Also, we don't want to send
8215           EOS events when operating in pull mode. However, we do
8216           want to send an EOS event when shutting down a live
8217           source explicitly, for example (fixes #330996).
8218           
8219 2006-02-23  Tim-Philipp Müller  <tim at centricular dot net>
8220
8221         * plugins/elements/gstfilesrc.c: (gst_file_src_create_read):
8222           Update src->read_position after a seek when not using mmap.
8223           Fixes #332277, patch by: Renchi Raju <renchi gmail com>
8224
8225 2006-02-21  Jan Schmidt  <thaytan@mad.scientist.com>
8226
8227         * gst/Makefile.am:
8228         * gst/gstparse.h:
8229         * gst/gstutils.c:
8230         * gst/gstutils.h:
8231         Make things work with --disable-parse as they do with 
8232         --disable-load-save - the symbols involved disappear, but the
8233         header is still installed and GST_DISABLE_PARSE is included via
8234         gstconfig.h
8235
8236 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8237
8238         * libs/gst/base/gstbasetransform.c:
8239         (gst_base_transform_change_state): Fix a stupid bug. I was 
8240         sure I compiled that.
8241
8242 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8243
8244         * gst/gstpad.c: (gst_pad_set_blocked_async):
8245         * gst/gstutils.c: (gst_pad_add_data_probe),
8246         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
8247         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
8248         (gst_pad_remove_buffer_probe): Make those function act on the
8249         ghostpad target when it's a ghostpad. (Closes #331727)
8250
8251 2006-02-20  Julien MOUTTE  <julien@moutte.net>
8252
8253         * libs/gst/base/gstbasetransform.c:
8254         (gst_base_transform_change_state): Make basetransform reusable.
8255         (Closes #331898)
8256
8257 2006-02-20  Jan Schmidt  <thaytan@mad.scientist.com>
8258
8259         * docs/random/release:
8260         Move the current documentation of how to do a release to the top
8261         of the file.
8262
8263         * gst/gstbin.c: (gst_bin_class_init),
8264         (gst_bin_handle_message_func):
8265         Allow multiple state-recalculation threads. (Closes #328873)
8266
8267 2006-02-19  Julien MOUTTE  <julien@moutte.net>
8268
8269         * gst/gstinfo.h: Add GST_STR_NULL to the second string.
8270         * gst/gstpad.c: (gst_pad_set_event_function),
8271         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8272         (gst_pad_set_getcaps_function): GST_DEBUG_PAD_NAME evaluates to
8273         2 strings. You can't use the STR_NULL macro on that.
8274
8275 2006-02-19  Sebastien Moutte <sebastien@moutte.net>
8276
8277         * gst/gstpad.c: (gst_pad_set_event_function),
8278         (gst_pad_set_query_function), (gst_pad_set_query_type_function),
8279         (gst_pad_set_getcaps_function)
8280         * gst/parse/grammar.y: (gst_parse_found_pad), (gst_parse_perform_delayed_link)
8281           Fixed NULL pointer used in GST_CAT_DEBUG using GST_STR_NULL macro
8282           So now, we can use --gst-debug-level=5 on Windows
8283         * win32/common/libgstcontroller.def:
8284           Added export of gst_controller_init
8285         * win32/vs6/libgstcontroller.dsp:
8286           Fixed Release post build configuration
8287
8288 2006-02-17  Wim Taymans  <wim@fluendo.com>
8289
8290         * tests/check/gst/gstquery.c: (GST_START_TEST):
8291         Added another check.
8292
8293 2006-02-15  Tim-Philipp Müller  <tim at centricular dot net>
8294
8295         * plugins/elements/gsttypefindelement.c: (find_peek):
8296           We can do peeks at non-zero offsets, as long as they
8297           fall within the buffer we have.
8298
8299 2006-02-15  Jan Schmidt  <thaytan@mad.scientist.com>
8300
8301         * tests/check/Makefile.am:
8302         * tests/check/pipelines/parse-launch.c: (setup_pipeline),
8303         (expected_fail_pipe), (check_pipeline_runs), (GST_START_TEST),
8304         (parse_suite), (main):
8305           Add testsuite for parse launch syntax
8306
8307 2006-02-14  Tim-Philipp Müller  <tim at centricular dot net>
8308
8309         * plugins/elements/gsttypefindelement.c:
8310         (gst_type_find_element_chain):
8311           When typefinding is unsuccessful in the chain function, don't
8312           error out immediately. Only error out with NO_CAPS_FOUND if
8313           the amount of data is at least MAX_TYPEFIND_SIZE bytes,
8314           otherwise simply wait for more data so we can try typefinding
8315           again with more data later. Also, don't attempt to typefind
8316           if we have less than MIN_TYPEFIND_SIZE data available. Overall,
8317           this should improve typefinding from network sources where the
8318           size of the first buffer can be somewhat random.
8319
8320 2006-02-14  Wim Taymans  <wim@fluendo.com>
8321
8322         * docs/gst/gstreamer-sections.txt:
8323         * gst/gstpadtemplate.c:
8324         * gst/gstpadtemplate.h:
8325         Fix padtemplate docs, fixes #328805.
8326
8327 2006-02-14  Wim Taymans  <wim@fluendo.com>
8328
8329         * tools/gst-launch.c: (main):
8330         NO_PREROLL is not an ERROR so don't send confusing messages
8331         to the user.
8332
8333 2006-02-14  Wim Taymans  <wim@fluendo.com>
8334
8335         Patch by: Torsten Schoenfeld
8336
8337         * gst/gstregistry.c: (gst_registry_get_default),
8338         (_gst_registry_cleanup):
8339         Protect default registry with lock and ref/sink it.
8340         Fixes #324818
8341
8342 2006-02-14  Wim Taymans  <wim@fluendo.com>
8343
8344         * gst/gstbuffer.c:
8345         * gst/gstquery.c: (gst_query_list_add_format),
8346         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8347         (gst_query_parse_formats_nth):
8348         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_sync_times):
8349         Docs fixes.
8350
8351 2006-02-14  Wim Taymans  <wim@fluendo.com>
8352
8353         * docs/gst/gstreamer-sections.txt:
8354         Reworked query docs.
8355
8356         * gst/gstquery.c: (gst_query_new_formats),
8357         (gst_query_list_add_format), (gst_query_set_formats),
8358         (gst_query_set_formatsv), (gst_query_parse_formats_length),
8359         (gst_query_parse_formats_nth):
8360         * gst/gstquery.h:
8361         Flesh out formats query, added some new methods.
8362         Fix part of #324398.
8363
8364         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite):
8365         Added query creation tests.
8366
8367 2006-02-14  Jan Schmidt  <thaytan@mad.scientist.com>
8368
8369         * gst/gstpad.c: (fixate_value):
8370         Add a default fixation for fraction lists.
8371
8372 2006-02-13  Wim Taymans  <wim@fluendo.com>
8373
8374         * gst/gsttask.c: (gst_task_init), (gst_task_func),
8375         (gst_task_set_lock), (gst_task_start), (gst_task_pause),
8376         (gst_task_join):
8377         * gst/gsttask.h:
8378         Detect and warn for obvious deadlocks. fixes #320340
8379         Fix error case where lock was not released.
8380
8381         * tests/check/Makefile.am:
8382         * tests/check/gst/gsttask.c: (task_func2), (GST_START_TEST),
8383         (task_func), (gst_element_suite), (main):
8384         Add task check.
8385
8386 2006-02-13  Wim Taymans  <wim@fluendo.com>
8387
8388         * docs/gst/gstreamer-sections.txt:
8389         * gst/gstbus.c:
8390         Add new functions to docs.
8391
8392 2006-02-13  Wim Taymans  <wim@fluendo.com>
8393
8394         * docs/design/part-TODO.txt:
8395         Updated TODO list, basesrc supports seeking to non-bytes
8396         formats.
8397
8398         * docs/design/part-element-sink.txt:
8399         Update docs.
8400
8401         * gst/gstbin.c: (bin_replace_message),
8402         (gst_bin_handle_message_func):
8403         * gst/gstbus.c: (gst_bus_post), (gst_bus_pop):
8404         * gst/gstevent.c: (gst_event_finalize):
8405         * gst/gstpad.c: (gst_pad_event_default_dispatch),
8406         (gst_pad_send_event):
8407         Use shiny new _TYPE_NAME macros.
8408
8409         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8410         Move debug statement up.
8411
8412         * gst/gstelement.c: (gst_element_set_locked_state):
8413         Add some debugging.
8414
8415 2006-02-13  Tim-Philipp Müller  <tim at centricular dot net>
8416
8417         * docs/gst/gstreamer-sections.txt:
8418         * gst/gstmessage.h:
8419         * gst/gstquery.h:
8420           New API: add GST_MESSAGE_TYPE_NAME and GST_QUERY_TYPE_NAME
8421           macros (#330906). Also, document the already existing
8422           GST_QUERY_TYPE macro.
8423
8424 2006-02-13  Wim Taymans  <wim@fluendo.com>
8425
8426         * tests/check/gst/gstutils.c: (data_probe), (buffer_probe),
8427         (event_probe), (GST_START_TEST):
8428         Only events up to the pipeline EOS are counted, there are
8429         some more when going to NULL currently which we don't care
8430         about for now.
8431
8432 2006-02-13  Wim Taymans  <wim@fluendo.com>
8433
8434         * gst/gstpad.c: (gst_pad_send_event):
8435         Correctly check flushing and emit probes. fixes #330125
8436
8437 2006-02-10  Andy Wingo  <wingo@pobox.com>
8438
8439         * gst/gstbus.c (gst_bus_class_init): Declare our private data
8440         structure.
8441         (gst_bus_init): Cache the location of the private data in the
8442         instance structure.
8443         (gst_bus_enable_sync_message_emission) 
8444         (gst_bus_disable_sync_message_emission): Implement new public
8445         functions.
8446         (gst_bus_post): Emit the sync-message signal if the user asked for
8447         it. Fixes #330684.
8448
8449         * gst/gstbus.h (GstBus): Use a padding pointer to cache the
8450         location of the bus-private structure.
8451         (gst_bus_enable_sync_message_emission)
8452         (gst_bus_disable_sync_message_emission): API addition
8453
8454 2006-02-10  Jan Schmidt  <thaytan@mad.scientist.com>
8455
8456         Patch by: Vincent Torri
8457
8458         * docs/pwg/building-boiler.xml:
8459         PWG patch from #326800
8460
8461 2006-02-09  Tim-Philipp Müller  <tim at centricular dot net>
8462
8463         * configure.ac:
8464         * docs/Makefile.am:
8465         * docs/design/Makefile.am:
8466           Dist design docs.
8467
8468 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8469
8470         * configure.ac:
8471           back to CVS
8472
8473 === release 0.10.3 ===
8474
8475 2006-02-08  Jan Schmidt <thaytan@mad.scientist.com>
8476
8477         * configure.ac:
8478           releasing 0.10.3, "Like a virgin"
8479
8480 2006-02-08  Jan Schmidt  <thaytan@mad.scientist.com>
8481
8482         * configure.ac:
8483           2nd prerelease of 0.10.3
8484           Bump libtool versioning.
8485
8486 2006-02-07  Andy Wingo  <wingo@pobox.com>
8487
8488         * libs/gst/base/gstcollectpads.c (gst_collect_pads_chain): Only
8489         update last_stop if we're in TIME format and the timestamp is
8490         valid.
8491
8492         * libs/gst/base/gstcollectpads.c (gst_collect_pads_event) 
8493         * libs/gst/base/gstbasetransform.c (gst_base_transform_eventfunc): 
8494         * libs/gst/base/gstbasesink.c (gst_base_sink_configure_segment):
8495         If we get a new newsegment with a different format, adapt
8496         accordingly.
8497
8498         * gst/gstclock.c (gst_clock_set_calibration): Accept a numerator
8499         of 0. Not a problem, really.
8500
8501         * libs/gst/base/gstbasesink.c (gst_base_sink_chain_unlocked): Only
8502         warn if sync=true.
8503
8504 2006-02-06  Jan Schmidt  <thaytan@mad.scientist.com>
8505
8506         * configure.ac:
8507           Prelease of 0.10.3
8508
8509 2006-02-06  Sebastien Moutte  <sebastien@moutte.net>
8510
8511         * win32/vs7:
8512           project files updated to the default vs7 configuration
8513         * win32/common/libgstbase.def:
8514         * win32/common/libgstreamer.def:
8515           added new symbols,
8516           removed empty lines,
8517           sorted all exported symbols alphabetically
8518         * win32/common/dirent.c:
8519         * win32/common/dirent.h:
8520         * win32/common/gchar.h:
8521           use windows line end.
8522           
8523 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8524
8525         * libs/gst/base/gstbasesrc.c: (gst_base_src_change_state):
8526           Send EOS event when stopping.
8527
8528 2006-02-06  Tim-Philipp Müller  <tim at centricular dot net>
8529
8530         * docs/README:
8531           Tell folks what to do if the plugin-foobar.xml file
8532           hasn't been generated for a newly-added plugin.
8533
8534 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8535
8536         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_finalize),
8537         (gst_collect_pads_add_pad), (gst_collect_pads_remove_pad),
8538         (gst_collect_pads_start), (gst_collect_pads_stop),
8539         (gst_collect_pads_event): Collectpads now holds a reference
8540         to the GstPad that was added. Indeed we don't want to look
8541         at pads that might just go away with no warning...
8542
8543 2006-02-05  Julien MOUTTE  <julien@moutte.net>
8544
8545         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
8546         (gst_collect_pads_start), (gst_collect_pads_stop),
8547         (gst_collect_pads_event), (gst_collect_pads_chain):
8548         * libs/gst/base/gstcollectpads.h: Handle flush. Adapted from
8549         Mark Nauwelaerts's patch on bug #328491.
8550
8551 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8552
8553         * tests/check/gst/gstutils.c: (test_parse_bin_from_description),
8554         (gst_utils_suite):
8555           Add some simple tests for gst_parse_bin_from_description() and
8556           gst_bin_find_unconnected_pad() (#329069).
8557
8558 2006-02-04  Tim-Philipp Müller  <tim at centricular dot net>
8559
8560         * tools/gst-launch.c: (event_loop), (main):
8561           Catch errors during preroll (#320084).
8562
8563 2006-02-03  Tim-Philipp Müller  <tim at centricular dot net>
8564
8565         * plugins/elements/gsttypefindelement.c:
8566         (gst_type_find_element_activate):
8567           Post TYPE_NOT_FOUND error message when typefinding
8568           is unsuccessful in the activate function as well.
8569
8570 2006-02-02  Wim Taymans  <wim@fluendo.com>
8571
8572         * docs/design/part-element-sink.txt:
8573         Updated doc.
8574
8575 2006-02-02  Wim Taymans  <wim@fluendo.com>
8576
8577         * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync),
8578         (gst_base_sink_render_object),
8579         (gst_base_sink_queue_object_unlocked):
8580         Only keep track of prerollable items when we are 
8581         prerolling.
8582         Before rendering after preroll, always check if we
8583         have queued items.
8584         Added some more debugging.
8585
8586 2006-02-02  Wim Taymans  <wim@fluendo.com>
8587
8588         * gst/gstelement.c: (gst_element_continue_state),
8589         (gst_element_set_state_func), (gst_element_change_state):
8590         Fixed #326576, been running this for quite some time with
8591         no regressions at all.
8592
8593 2006-02-02  Wim Taymans  <wim@fluendo.com>
8594
8595         * common/gst.supp:
8596         Added more suppressions
8597
8598 2006-02-02  Wim Taymans  <wim@fluendo.com>
8599
8600         * docs/design/part-element-sink.txt:
8601         Updated document.
8602
8603         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8604         (gst_base_sink_finalize), (gst_base_sink_preroll_queue_flush),
8605         (gst_base_sink_configure_segment), (gst_base_sink_commit_state),
8606         (gst_base_sink_get_sync_times), (gst_base_sink_wait_clock),
8607         (gst_base_sink_do_sync), (gst_base_sink_render_object),
8608         (gst_base_sink_preroll_object),
8609         (gst_base_sink_queue_object_unlocked),
8610         (gst_base_sink_queue_object), (gst_base_sink_event),
8611         (gst_base_sink_chain_unlocked), (gst_base_sink_chain),
8612         (gst_base_sink_loop), (gst_base_sink_activate_pull),
8613         (gst_base_sink_get_position), (gst_base_sink_change_state):
8614         * libs/gst/base/gstbasesink.h:
8615         Totally refactored matching the design doc.
8616         Use two segments, one to clip incomming buffers and another to
8617         perform sync.
8618         Handle queueing correctly, bypass the queue when playing.
8619         Make EOS cancelable.
8620         Handle errors correctly when operating in pull based mode.
8621
8622         * tests/check/elements/fakesink.c: (GST_START_TEST),
8623         (fakesink_suite):
8624         Added new check for sinks.
8625
8626 2006-02-02  Wim Taymans  <wim@fluendo.com>
8627
8628         * gst/gstsegment.c: (gst_segment_clip):
8629         No reason to refuse to clip when start == -1
8630
8631 2006-02-02  Stefan Kost  <ensonic@users.sf.net>
8632
8633         * docs/README:
8634         * docs/manual/intro-basics.xml:
8635         * docs/manual/intro-preface.xml:
8636         * docs/manual/manual.xml:
8637         * docs/pwg/advanced-dparams.xml:
8638         * docs/pwg/intro-basics.xml:
8639         * docs/pwg/intro-preface.xml:
8640         * docs/pwg/pwg.xml:
8641           describe dparams (controller) for plugins
8642           unify docs a little more
8643
8644 2006-02-02  Tim-Philipp Müller  <tim at centricular dot net>
8645
8646         * docs/gst/gstreamer-sections.txt:
8647         * gst/gstutils.c: (element_find_unconnected_pad),
8648         (gst_bin_find_unconnected_pad), (gst_parse_bin_from_description):
8649         * gst/gstutils.h:
8650           Add new API: gst_parse_bin_from_description() and
8651           gst_bin_find_unconnected_pad() (#329069).
8652
8653 2006-02-01  Stefan Kost  <ensonic@users.sf.net>
8654
8655         * docs/manual/README:
8656           uncover a nasty detail of the docs build
8657
8658 2006-01-31  Wim Taymans  <wim@fluendo.com>
8659
8660         * gst/gstbin.c: (bin_remove_messages), (bin_query_duration_done):
8661         Don't cache duration messages if we're not going to use or
8662         free them.
8663
8664 2006-01-31  Stefan Kost  <ensonic@users.sf.net>
8665
8666         * docs/manual/advanced-dparams.xml:
8667         * docs/pwg/advanced-dparams.xml:
8668           more dparam docs
8669         * gst/gstindex.c:
8670           fix docs
8671         * libs/gst/controller/lib.c: (gst_controller_init):
8672           init just once
8673
8674 2006-01-31  Thomas Vander Stichele  <thomas at apestaart dot org>
8675
8676         * gst/gstelement.c: (gst_element_message_full):
8677           also show file/line/func if no additional debug was given
8678
8679 2006-01-31  Sebastien Moutte  <sebastien@moutte.net>
8680         
8681         * win32/vs7/grammar.vcproj:
8682           activate copy of autogenerated files for Release mode
8683
8684 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8685         
8686         * win32/common/libgstreamer.def:
8687           export gst_value_compare
8688
8689 2006-01-30  Jan Schmidt  <thaytan@mad.scientist.com>
8690
8691         * plugins/elements/Makefile.am:
8692         * plugins/elements/gstelements.c:
8693         * plugins/elements/gstfdsink.c: (_do_init),
8694         (gst_fd_sink_base_init), (gst_fd_sink_class_init),
8695         (gst_fd_sink_init), (gst_fd_sink_dispose), (gst_fd_sink_query),
8696         (gst_fd_sink_render), (gst_fd_sink_check_fd), (gst_fd_sink_start),
8697         (gst_fd_sink_stop), (gst_fd_sink_unlock), (gst_fd_sink_update_fd),
8698         (gst_fd_sink_set_property), (gst_fd_sink_uri_get_type),
8699         (gst_fd_sink_uri_get_protocols), (gst_fd_sink_uri_get_uri),
8700         (gst_fd_sink_uri_set_uri), (gst_fd_sink_uri_handler_init):
8701         * plugins/elements/gstfdsink.h:
8702         Port fdsink to 0.10 (patch by Philippe Rouquier) (Fixes #325490)
8703
8704 2006-01-30  Stefan Kost  <ensonic@users.sf.net>
8705
8706         * docs/manual/advanced-dparams.xml:
8707           describe controller
8708         * docs/manual/advanced-position.xml:
8709         * docs/manual/basics-init.xml:
8710         * docs/manual/manual.xml:
8711         * docs/manual/titlepage.xml:
8712         * docs/pwg/pwg.xml:
8713         * docs/pwg/titlepage.xml:
8714           cleanup xml (more to come)
8715         * libs/gst/controller/gstcontroller.c:
8716           fix typo
8717
8718 2006-01-30  Sebastien Moutte  <sebastien@moutte.net>
8719         
8720         * win32/vs6/grammar.dsp:
8721           add autogen of gstmarshal.c,h for Release mode
8722                 
8723 2006-01-30  Wim Taymans  <wim@fluendo.com>
8724
8725         * libs/gst/base/gstbasesink.c: (gst_base_sink_init),
8726         (gst_base_sink_preroll_queue_empty), (gst_base_sink_commit_state),
8727         (gst_base_sink_handle_object), (gst_base_sink_event),
8728         (gst_base_sink_is_prerolled), (gst_base_sink_wait),
8729         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
8730         (gst_base_sink_handle_buffer), (gst_base_sink_set_flushing),
8731         (gst_base_sink_deactivate), (gst_base_sink_activate),
8732         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
8733         (gst_base_sink_query), (gst_base_sink_change_state):
8734         Basesink cleanups, remove some old code.
8735         Handle the case where a subclass can preroll in the render
8736         method (mostly audiosinks).
8737         Handle more events.
8738         Remove some locks around variables that are now protected
8739         with the PREROLL_LOCK (clock_id, flushing, ..).
8740         Optimize position query some more, do correct locking.
8741         Remove old code to push queue in state change, this is not
8742         needed anymore since preroll blocks on all prerollable items 
8743         now.
8744         Almost implemented as described in design doc.
8745
8746 2006-01-30  Wim Taymans  <wim@fluendo.com>
8747
8748         * tests/check/gst/gstbin.c: (GST_START_TEST):
8749         Wait for refcount to settle down before checking.
8750
8751 2006-01-30  Wim Taymans  <wim@fluendo.com>
8752
8753         * docs/design/part-element-sink.txt:
8754         Pseudo code overview of desired sink behaviour regarding
8755         preroll.
8756
8757 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8758         * win32/vs6/grammar.dsp:
8759           fix some bugs in Release mode for autogenerated files
8760                 
8761 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8762         * win32/common/libgstbase.def:
8763         * win32/common/libgstreamer.def:
8764           export some new symbols: gst_base_src_set_format,
8765           gst_iterator_next, gst_structure_set_valist
8766
8767 2006-01-29  Julien MOUTTE  <julien@moutte.net>
8768
8769         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked):
8770         Set pad functions unconditionally. Fixes #329105.
8771
8772 2006-01-29  Sebastien Moutte  <sebastien@moutte.net>
8773         * win32/vs8:
8774           add vs8 project files created by Sergey Scobich
8775
8776 2006-01-28  Jan Schmidt  <thaytan@mad.scientist.com>
8777
8778         * gst/gstutils.c: (gst_element_unlink_pads):
8779         Don't leak pad references.
8780
8781         * tests/check/elements/fakesink.c: (GST_START_TEST):
8782         * tests/check/generic/sinks.c: (GST_START_TEST):
8783         * tests/check/generic/states.c: (GST_START_TEST):
8784         * tests/check/gst/gstbin.c: (GST_START_TEST):
8785         * tests/check/gst/gstcaps.c: (GST_START_TEST):
8786         * tests/check/gst/gstelement.c: (GST_START_TEST):
8787         * tests/check/gst/gstghostpad.c: (GST_START_TEST):
8788         * tests/check/gst/gstiterator.c: (GST_START_TEST):
8789         * tests/check/gst/gstvalue.c: (GST_START_TEST):
8790         Fix a bunch of leaks. Make generic/sinks.c
8791         use a bit less cpu by slowing the buffer rate
8792         between fakesrc and fakesink.
8793         
8794 2006-01-27  Stefan Kost  <ensonic@users.sf.net>
8795         * gst/gstcaps.c:
8796         * gst/gstelement.c: (gst_element_send_event):
8797         * gst/gstevent.c:
8798         * gst/gstinfo.c:
8799         * gst/gstiterator.c:
8800         * gst/gstiterator.h:
8801         * gst/gstpad.c: (gst_pad_send_event):
8802         * gst/gststructure.c:
8803         * gst/gsturi.c:
8804         * gst/gstutils.c:
8805         * gst/gstvalue.c:
8806         * libs/gst/base/gstadapter.c:
8807           doc fixes, to link to function, just write gst_cool_function(), don't
8808           prefix with '#'
8809
8810 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8811
8812         * plugins/elements/gsttee.c: (gst_tee_do_push),
8813         (gst_tee_handle_buffer):
8814         Always prefer an actual return value from a src
8815         pad in place of NOT_LINKED. This means we return
8816         WRONG_STATE when all src pads are WRONG_STATE
8817         instead of NOT_LINKED.
8818
8819         Lock when replacing the last message to prevent
8820         racing with the get_property method.
8821
8822         Add debug output
8823
8824 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8825
8826         * tests/check/Makefile.am:
8827         * tests/check/gst/gstquery.c: (GST_START_TEST), (gstquery_suite),
8828         (main):
8829         Add a very simple check that should have caught the memleak I fixed
8830         last night (if not for the slice allocator hiding it)
8831
8832 2006-01-27  Jan Schmidt  <thaytan@mad.scientist.com>
8833
8834         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
8835         (gst_bin_remove_func), (gst_bin_handle_message_func),
8836         (bin_query_duration_fold), (bin_query_generic_fold):
8837         Clean up references to the clock provider when disposed or when
8838         handling a clock-lost message from it.
8839
8840         Unref sinks when performing a query via gst_iterator_fold, as the
8841         gst_bin_iterate_sinks iterator refs each item. (Fixes #323874)
8842
8843         * gst/gstclock.c: (gst_clock_class_init), (gst_clock_dispose),
8844         (gst_clock_set_master):
8845         Drop our reference to the master clock, if any, when we are disposed.
8846
8847         * gst/gsttypefindfactory.c: (gst_type_find_factory_dispose):
8848         Chain up in dispose. 
8849
8850 2006-01-26  Wim Taymans  <wim@fluendo.com>
8851
8852         * libs/gst/base/gstbasesrc.c: (gst_base_src_get_range):
8853         Add some debugging.
8854
8855 2006-01-26  Julien MOUTTE  <julien@moutte.net>
8856
8857         * plugins/elements/gsttee.c: (gst_tee_do_push),
8858         (gst_tee_handle_buffer): Apply patch from #328715. Tee now
8859         handles pad being NOT_LINKED or in WRONG_STATE.
8860
8861 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8862
8863         * win32/MANIFEST:
8864           more updating
8865
8866 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8867
8868         * win32/MANIFEST:
8869           remove obsolete entry
8870
8871 2006-01-26  Stefan Kost  <ensonic@users.sf.net>
8872
8873         * docs/gst/gstreamer-sections.txt:
8874         * gst/gstbin.c: (bin_element_is_src), (src_iterator_filter),
8875         (gst_bin_iterate_sources), (gst_bin_send_event):
8876         * gst/gstbin.h:
8877         * gst/gstelement.c: (gst_element_send_event):
8878         * gst/gstevent.c:
8879         * gst/gstpad.c: (gst_pad_send_event):
8880           added code for downstream events, reviewed docs in gstevent.c
8881
8882 2006-01-25  Julien MOUTTE  <julien@moutte.net>
8883
8884         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
8885         We only query position using the clock in the playing state.
8886         Query peer in the other cases.
8887         * win32/common/config.h: Updates.
8888
8889 2006-01-24  Wim Taymans  <wim@fluendo.com>
8890
8891         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
8892         A clock entry that is scheduled for the exact time of the
8893         clock is still in time.
8894
8895         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
8896         (gst_base_sink_do_sync):
8897         Add some more debug info.
8898
8899 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
8900
8901         * win32/vs7:
8902           Add new vs7 project files and solution.
8903
8904 2006-01-23  Sebastien Moutte  <sebastien@moutte.net>
8905
8906         * win32/vs7:
8907           all files removed as they were out-dated.
8908
8909 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8910
8911         * docs/random/release:
8912           update notes
8913         * gst/gstbin.c: (gst_bin_init):
8914         * gst/gstbus.c: (gst_bus_new):
8915         * gst/gstbus.h:
8916         * gst/gstpipeline.c: (gst_pipeline_init):
8917           use gst_bus_new(), improve logging, fix docs
8918         * win32/common/config.h:
8919           update for cvs build
8920
8921 2006-01-20  Thomas Vander Stichele  <thomas at apestaart dot org>
8922
8923         * autogen.sh:
8924           up required version of automake to 1.7
8925
8926 2006-01-20  Sebastien Moutte  <sebastien@moutte.net>
8927
8928         * win32/common/libgstreamer.def:
8929           export gst_buffer_is_metadata_writable
8930
8931 2006-01-20  Tim-Philipp Müller  <tim at centricular dot net>
8932
8933         * docs/gst/gstreamer-sections.txt:
8934         * gst/gstevent.h:
8935           Add gst_event_replace() (#327001)
8936
8937 2006-01-20  Wim Taymans  <wim@fluendo.com>
8938
8939         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
8940         Make it actually compile too..
8941
8942 2006-01-20  Wim Taymans  <wim@fluendo.com>
8943
8944         * gst/gstcaps.c:
8945         Clarify behaviour of _is_equal() when passing NULL parameters.
8946
8947         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
8948         (gst_pad_set_caps):
8949         Cleanups. Don't unref NULL caps.
8950         When setting the same caps, protect caps of the pad with
8951         proper lock.
8952         Use full functionality of _is_equal() when comparing caps.
8953
8954 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
8955
8956         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_is_collected):
8957         Don't loop infinitely if there are no buffers to present. Partially
8958         fixes #327197, but collectpads is just broken for reusing elements
8959         to do multiple encodes atm.
8960
8961 2006-01-20  Jan Schmidt  <thaytan@mad.scientist.com>
8962
8963         * tools/gst-inspect.c: (print_element_features):
8964         * tools/gst-xmlinspect.c: (main):
8965         URL_HANDLER is not a plugin feature we can search for in
8966         the registry.
8967
8968 2006-01-19  Edward Hervey  <edward@fluendo.com>
8969
8970         * gst/gstelement.c: (gst_element_pads_activate): 
8971         When activating, do src pads first, then sink pads.
8972         When de-activating, do sink pads first, then src pads.
8973
8974 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8975
8976         * docs/gst/gstreamer-sections.txt:
8977         Add gst_index_add_associationv to the docs
8978
8979 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8980
8981         * gst/gstevent.c:
8982           Fix docs typo
8983
8984         * plugins/elements/gstqueue.c: (gst_queue_handle_sink_event),
8985         (gst_queue_chain), (gst_queue_push_one), (gst_queue_loop):
8986           Do some refactoring. Doesn't actually change functionality,
8987           but makes landing the DRAIN event easier later.
8988
8989 2006-01-19  Tim-Philipp Müller  <tim at centricular dot net>
8990
8991         * docs/pwg/advanced-scheduling.xml:
8992           Update from 0.9.x to 0.10 API and make example a bit
8993           clearer.
8994
8995 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
8996
8997         * docs/gst/gstreamer-sections.txt:
8998         Add gst_buffer_(is|make)_metadata_writable methods.
8999
9000 2006-01-19  Jan Schmidt  <thaytan@mad.scientist.com>
9001
9002         * docs/design/part-sparsestreams.txt:
9003         Update sparse streams doc, hopefully for greater clarity
9004
9005 2006-01-18  Jan Schmidt  <thaytan@mad.scientist.com>
9006
9007         * docs/design/part-events.txt:
9008         Remove mention of FILLER events.
9009         Add DRAIN event.
9010
9011         * docs/design/part-sparsestreams.txt:
9012         Write some things about using NEWSEGMENT to keep sparse streams
9013         flowing.
9014
9015 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
9016
9017         * gst/gstbin.c: (gst_bin_dispose):
9018           Guard gst_object_unref call against a NULL object (dispose
9019           can theoretically be called multiple times).
9020           
9021 2006-01-18  Wim Taymans  <wim@fluendo.com>
9022
9023         * gst/gstbin.c: (gst_bin_element_set_state):
9024         * gst/gstclock.c: (gst_clock_id_wait):
9025         Added some more debug info.
9026
9027         * libs/gst/base/gstadapter.c:
9028         Added more docs.
9029
9030         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9031         (gst_base_sink_do_sync), (gst_base_sink_chain):
9032         Added some comments.
9033
9034 2006-01-18  Wim Taymans  <wim@fluendo.com>
9035
9036         * tests/check/Makefile.am:
9037         * tests/check/elements/fakesink.c: (chain_async_buffer),
9038         (chain_async), (chain_async_return), (GST_START_TEST),
9039         (fakesink_suite), (main):
9040         Added fakesink test that checks prerolling and clipping
9041         behaviour.
9042
9043         * tests/check/gst/gstutils.c: (GST_START_TEST):
9044         Make check run faster so that buildbots don't timeout.
9045
9046 2006-01-18  Wim Taymans  <wim@fluendo.com>
9047
9048         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object),
9049         (gst_base_sink_do_sync):
9050         Some cleanups.
9051         When the sink finishes blocking on the preroll buffer, it can
9052         immediatly render it instead of rendering when the next buffer
9053         arrives.
9054
9055 2006-01-18  Wim Taymans  <wim@fluendo.com>
9056
9057         * libs/gst/base/gstbasesink.c: (gst_base_sink_set_property),
9058         (gst_base_sink_get_property), (gst_base_sink_do_sync),
9059         (gst_base_sink_chain):
9060         Small cleanups.
9061         GST_ELEMENT_CLOCK and sync are protected with LOCK.
9062         Don't store _last_stop if the buffer is dropped.
9063
9064 2006-01-18  Tim-Philipp Müller  <tim at centricular dot net>
9065
9066         * plugins/elements/gsttypefindelement.c:
9067         (gst_type_find_element_class_init):
9068           'have-type' signal needs to be G_SIGNAL_RUN_FIRST, as it is the
9069           object method handler that sets the caps on the pad and we want
9070           that to happen before we emit the signal (fixes e.g. feeding a
9071           plain text file to decodebin).
9072
9073 2006-01-18  Christian Schaller  <Christian@fluendo.com>
9074
9075         * gst/gstplugin.c: Add MPL and Proprietary as license options
9076
9077 2006-01-18  Andy Wingo  <wingo@pobox.com>
9078
9079         * gst/gstindex.h (gst_index_add_associationv): Add to header. The
9080         symbol was exported before, it appears this was just an oversight.
9081         Fixes #168703.
9082         Patch by: Torsten Schoenfeld <kaffeetisch at gmx.de>
9083
9084         * gst/gstindex.c (gst_index_add_associationv): Changed int in
9085         prototype to gint. OK since this prototype was not in the header.
9086
9087 2006-01-17  Andy Wingo  <wingo@pobox.com>
9088
9089         * gst/gstregistry.c (_gst_registry_remove_cache_plugins): Lock the
9090         registry while we remove plugins.
9091
9092         * tools/gst-inspect.c (print_element_info): Don't unref the
9093         factory arg, that should be the responsibility of whatever code
9094         received the ref. Fixes a double-free when called from
9095         print_element_list via gst-inspect-0.10 -a. Fixes #327324.
9096         (main): Unref the factory if we have one.
9097         (print_element_list): No change -- relies on the
9098         plugin_feature_list_free to free the list of features.
9099
9100 2006-01-17  Jan Schmidt  <thaytan@mad.scientist.com>
9101
9102         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
9103         (gst_buffer_make_metadata_writable):
9104         * gst/gstbuffer.h:
9105         * libs/gst/base/gstbasetransform.c:
9106         (gst_base_transform_prepare_output_buf):
9107         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9108         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9109           Replace gst_buffer_(make|is)_metadata_writable patch now
9110           that the release is out.
9111
9112 2006-01-17  Andy Wingo  <wingo@pobox.com>
9113
9114         * gst/gstregistry.c: Reflow design comment. Update so as to speak
9115         in the present tense without reference to versions.
9116
9117         * gst/gstregistry.c (gst_registry_add_plugin)
9118         (gst_registry_remove_plugin, gst_registry_remove_feature)
9119         (gst_registry_find_feature, gst_registry_get_feature_list)
9120         (gst_registry_get_plugin_list, gst_registry_lookup_feature)
9121         (gst_registry_lookup, gst_registry_scan_path)
9122         (_gst_registry_remove_cache_plugins)
9123         (gst_registry_get_feature_list_by_plugin): Add argument
9124         validation.
9125
9126 === release 0.10.2 ===
9127
9128 2006-01-16  Thomas Vander Stichele <thomas at apestaart dot org>
9129
9130         * configure.ac:
9131           releasing 0.10.2, "If man is five"
9132
9133 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9134
9135         * gst/gstbuffer.c:
9136         * gst/gstbuffer.h:
9137         * libs/gst/base/gstbasetransform.c:
9138         (gst_base_transform_prepare_output_buf):
9139         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9140         * tests/check/gst/gstbuffer.c: (gst_test_suite):
9141           Back out patch until after the release.
9142
9143 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9144
9145         * gst/gstminiobject.c:
9146           Spelling fix in docs.
9147         * ChangeLog - remove conflict indicator
9148
9149 2006-01-16  Jan Schmidt  <thaytan@mad.scientist.com>
9150
9151         Reviewed By: Andy Wingo
9152
9153         * gst/gstbuffer.c: (gst_buffer_is_metadata_writable),
9154         (gst_buffer_make_metadata_writable):
9155         * gst/gstbuffer.h:
9156           Add gst_buffer_(is|make)_metadata_writable as analogues of
9157           gst_buffer_(is|make)_writable.
9158
9159         * libs/gst/base/gstbasetransform.c:
9160         (gst_base_transform_prepare_output_buf):
9161         * plugins/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
9162           Use name gst_buffer_(is|make)_metadata_writable functions.
9163
9164         * tests/check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
9165           Test gst_buffer_(is|make)_metadata_writable
9166         
9167           (Closes: #324162)
9168
9169 2006-01-14  Thomas Vander Stichele  <thomas at apestaart dot org>
9170
9171         * docs/manual/Makefile.am:
9172           don't do parallel make
9173         * configure.ac:
9174           AC_SUBST HOST_CPU
9175         * win32/common/config.h.in:
9176           add generations for HOST_CPU and GST_MAJORMINOR
9177         * win32/common/config.h:
9178           commit generated result
9179
9180 2006-01-13  Tim-Philipp Müller  <tim at centricular dot net>
9181
9182         * docs/manual/appendix-integration.xml:
9183           Update GNOME integration section to use gst_init_get_option_group()
9184           instead of the old popt stuff (#322911). Also, GNOME applications
9185           should  now use gconf*sink and gconf*src instead of the old gconf
9186           helper lib we had.
9187
9188 2006-01-13  Stefan Kost  <ensonic@users.sf.net>
9189
9190
9191         * docs/gst/gstreamer-docs.sgml:
9192         * docs/gst/gstreamer-sections.txt:
9193         * docs/libs/gstreamer-libs-sections.txt:
9194           add new API entries to the docs
9195         * libs/gst/controller/Makefile.am:
9196         * libs/gst/controller/gstcontroller.c:
9197         * libs/gst/controller/gstcontroller.h:
9198         * libs/gst/controller/gstcontrollerprivate.h:
9199         * libs/gst/controller/gsthelper.c:
9200         * libs/gst/controller/gstinterpolation.c:
9201           move private structs to private header
9202         * po/README:
9203           gstreamer-0.7 -> gstreamer-0.10
9204         * tests/check/libs/struct_i386.h:
9205           remove private structs
9206
9207 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9208
9209         * plugins/indexers/Makefile.am:
9210           Fixes as part of #317048
9211
9212 2006-01-13  Thomas Vander Stichele  <thomas at apestaart dot org>
9213
9214         * plugins/indexers/Makefile.am:
9215           fix #316086 - compilation when mmap is missing
9216
9217 2006-01-12  Sebastien Moutte  <sebastien@moutte.net>
9218
9219         * libs/gst/base/gstbasesink.c:
9220           *cur = (now - base) * basesink->segment.abs_rate + time; replaced by 
9221           *cur = gst_guint64_to_gdouble(now - base) * basesink->segment.abs_rate + time; for vs6
9222         * win32/common/config.h:
9223           added some defines GST_MAJORMINOR and HOST_CPU
9224         * win32/common/libgstbase.def:
9225         * win32/common/libgstreamer.def:
9226           added some exported functions.
9227
9228 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
9229
9230         * libs/gst/controller/gstcontroller.c:
9231         (gst_controlled_property_set_interpolation_mode),
9232         (gst_controlled_property_new):
9233         * libs/gst/controller/gstcontroller.h:
9234         * libs/gst/controller/gstinterpolation.c:
9235         (interpolate_none_get_string_value_array):
9236           make G_TYPE_STRING controlable
9237
9238 2006-01-12  Stefan Kost  <ensonic@users.sf.net>
9239
9240         * tools/README:
9241         * tools/gst-feedback.1.in:
9242         * tools/gst-inspect.1.in:
9243         * tools/gst-launch.1.in:
9244         * tools/gst-md5sum.1.in:
9245         * tools/gst-typefind.1.in:
9246         * tools/gst-xmlinspect.1.in:
9247         * tools/gst-xmllaunch.1.in:
9248           cleanup man-pages, remove reference to gst-register, document env-vars
9249
9250 2006-01-12  Jan Schmidt  <thaytan@mad.scientist.com>
9251
9252         * gst/gstbuffer.c: (gst_buffer_span):
9253           gst_buffer_span should copy the timestamp of the first buffer
9254           if they were both originally overlapping subbuffers of the 
9255           same parent, using the same logic as the 'slow copy' case.
9256
9257 2006-01-11  Jan Schmidt  <thaytan@mad.scientist.com>
9258
9259         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_pop):
9260           Need to awaken ALL the pads when we pop a buffer, otherwise
9261           collectpads only works when there is 2 input streams.
9262
9263 2006-01-11  Stefan Kost  <ensonic@users.sf.net>
9264
9265         * docs/random/ensonic/media-device-daemon.txt:
9266           more ideas (dbus)
9267         * gst/gstbuffer.c:
9268           fix doc example, add clarification
9269         * tools/gst-launch.1.in:
9270           add initial info about GST_PLUGIN_PATH, needs more work
9271
9272 2006-01-11  Tim-Philipp Müller  <tim at centricular dot net>
9273
9274         * docs/manual/basics-bins.xml:
9275         * docs/manual/basics-elements.xml:
9276         * docs/manual/intro-basics.xml:
9277           Some more minor docs additions and updates.
9278
9279 2006-01-11  Wim Taymans  <wim@fluendo.com>
9280
9281         * docs/manual/basics-bins.xml:
9282         * docs/manual/basics-elements.xml:
9283         Some small fixes as pointed out by Ser-ver on IRC.
9284
9285 2006-01-10  Edward Hervey  <edward@fluendo.com>
9286
9287         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
9288         Set the buffer offset/offset_end to GST_CLOCK_TIME_NONE when using
9289         the single-segment mode.
9290
9291 2006-01-10  Brian Cameron  <brian dot cameron at sun dot com>
9292
9293         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9294
9295         * libs/gst/base/gstbasesrc.c: (gst_base_src_init),
9296         (gst_base_src_perform_seek), (gst_base_src_send_event),
9297         (gst_base_src_set_property), (gst_base_src_get_property),
9298         (gst_base_src_loop), (gst_base_src_start),
9299         (gst_base_src_activate_push):
9300         * libs/gst/base/gstbasesrc.h:
9301           Name (private) union; makes Sun's Forte compiler happy (#324900).
9302
9303 2006-01-09  Tim-Philipp Müller  <tim at centricular dot net>
9304
9305         * README:
9306           gst-register is gone.
9307
9308 2006-01-07  Thomas Vander Stichele  <thomas at apestaart dot org>
9309
9310         * gst/gstvalue.c: (_gst_value_initialize):
9311           make the G_TYPE_DATE instantiation work if debug is disabled
9312
9313 2006-01-06  Tim-Philipp Müller  <tim at centricular dot net>
9314
9315         * gst/gstmessage.c: (gst_message_parse_tag),
9316         (gst_message_parse_error), (gst_message_parse_warning):
9317           Don't crash when return location for error/warning debug
9318           string is NULL; add fact that return locations can be
9319           NULL to docs where appropriate.
9320
9321 2006-01-05  Wim Taymans  <wim@fluendo.com>
9322
9323         * gst/gstplugin.c: (gst_plugin_load_file):
9324         Replace strdup by g_strdup.
9325
9326 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9327
9328         * docs/pwg/advanced-types.xml:
9329           fix doc borkage
9330
9331 2006-01-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9332
9333         submitted by: Abel Cheung
9334
9335         * po/LINGUAS:
9336         * po/zh_TW.po:
9337           Added Chinese (traditional) translation
9338
9339 2006-01-04  Wim Taymans  <wim@fluendo.com>
9340
9341         * docs/manual/basics-pads.xml:
9342         * docs/plugins/Makefile.am:
9343         * docs/plugins/gstreamer-plugins-docs.sgml:
9344         * docs/plugins/gstreamer-plugins-sections.txt:
9345         * docs/pwg/advanced-clock.xml:
9346         * docs/pwg/advanced-scheduling.xml:
9347         * docs/pwg/advanced-types.xml:
9348         * plugins/elements/gstfdsink.c:
9349         * plugins/elements/gstfdsrc.c:
9350         * plugins/elements/gstfdsrc.h:
9351         * plugins/elements/gstidentity.c: (gst_identity_class_init):
9352         * plugins/elements/gstidentity.h:
9353         * plugins/elements/gstqueue.h:
9354         * plugins/elements/gsttee.c:
9355         * plugins/elements/gsttee.h:
9356         * plugins/elements/gsttypefindelement.c:
9357         (gst_type_find_element_class_init):
9358         * plugins/elements/gsttypefindelement.h:
9359         Small updates to various docs.
9360         Added core plugins to docs.
9361
9362 2006-01-03  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9363
9364         * common/gst.supp:
9365           add a suppression for liboil's uninitialized variable
9366
9367 2006-01-02  James Livingston  <jrl at ids dot org dot au>
9368
9369         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
9370
9371         * gst/gstutils.h:
9372           Add prototype for _get_type() function to GST_BOILERPLATE_FULL
9373           macro, so that gcc doesn't complain if the -Wmissing-prototypes
9374           compiler switch is being used (#325429).
9375
9376 2005-12-29  Tim-Philipp Müller  <tim at centricular dot net>
9377
9378         * gst/gstbin.c: (gst_bin_query):
9379           Disable duration query caching in bins until it gets
9380           fixed (see #324807).
9381
9382 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9383
9384         * tools/gst-inspect.c: (print_element_properties_info):
9385           Handle properties of POINTER and BOXED type.
9386
9387 2005-12-27  Tim-Philipp Müller  <tim at centricular dot net>
9388
9389         * gst/gst.c: (init_post):
9390           Init tags stuff and some other things before loading
9391           any static plugins (there may be other static plugins
9392           than just the GStreamer ones, and they may want to
9393           register their own tags or formats or whatever, and
9394           preferably without segfaulting).
9395
9396         * plugins/elements/gstqueue.c: (gst_queue_handle_src_query):
9397           Print at least a warning in the debug logs if we drop a
9398           query just because we don't know how to adjust the value
9399           in the particular format.
9400
9401 2005-12-24  David Schleef  <ds@schleef.org>
9402
9403         * tools/gstreamer-completion:
9404           Replacement for gst-complete written in sh and sed.  Only
9405           completes names of features, but that's 90% of what I want
9406           it for.  Properties are not available in registry.xml.  (Maybe
9407           they should be...)
9408
9409 === release 0.10.1 ===
9410
9411 2005-12-23  Thomas Vander Stichele <thomas at apestaart dot org>
9412
9413         * configure.ac:
9414           releasing 0.10.1, "Nollaig chridheil"
9415
9416 2005-12-22  Tim-Philipp Müller  <tim at centricular dot net>
9417
9418         * docs/faq/cvs.xml:
9419           Add missing quote, should be make ERROR_CFLAGS="".
9420
9421 2005-12-20  Wim Taymans  <wim@fluendo.com>
9422
9423         * docs/design/part-trickmodes.txt:
9424         More documentation on trickmodes.
9425
9426 2005-12-20  Edward Hervey  <edward@fluendo.com>
9427
9428         * gst/gstcaps.c: (gst_static_caps_get_type):
9429         * gst/gstcaps.h:
9430           API addition: GST_TYPE_STATIC_CAPS
9431         Added gpointer GType for GstStaticCaps so we can wrap them in bindings.
9432         * gst/gstpadtemplate.c: (gst_static_pad_template_get_type):
9433         * gst/gstpadtemplate.h:
9434           API addition: GST_TYPE_STATIC_PAD_TEMPLATE
9435         Added gpointer GType for GstStaticPadTemplate so we can wrap them in
9436         bindings.
9437
9438 2005-12-18  Wim Taymans  <wim@fluendo.com>
9439
9440         * libs/gst/base/gstadapter.c:
9441         * libs/gst/base/gstadapter.h:
9442         * libs/gst/base/gstbasesink.c: (gst_base_sink_class_init),
9443         (gst_base_sink_get_position):
9444         * libs/gst/base/gstbasesink.h:
9445         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9446         (gst_base_src_default_query), (gst_base_src_default_do_seek),
9447         (gst_base_src_do_seek), (gst_base_src_perform_seek),
9448         (gst_base_src_send_event), (gst_base_src_update_length),
9449         (gst_base_src_get_range), (gst_base_src_loop),
9450         (gst_base_src_start):
9451         * libs/gst/base/gstbasesrc.h:
9452         * libs/gst/base/gstbasetransform.h:
9453         * libs/gst/base/gstcollectpads.h:
9454         * libs/gst/base/gstpushsrc.c:
9455         * libs/gst/base/gstpushsrc.h:
9456         * libs/gst/dataprotocol/dataprotocol.c:
9457         * libs/gst/dataprotocol/dataprotocol.h:
9458         * libs/gst/net/gstnetclientclock.h:
9459         * libs/gst/net/gstnettimeprovider.h:
9460         Documentation updates.
9461
9462 2005-12-18  Tim-Philipp Müller  <tim at centricular dot net>
9463
9464         * docs/manual/basics-helloworld.xml:
9465           Remove superfluous closing bracket in helloworld example.
9466
9467 2005-12-17  Tim-Philipp Müller  <tim at centricular dot net>
9468
9469         * tools/gst-launch.1.in:
9470           Update gst-launch man page; add a section with useful
9471           environment variables. Fixes #323882.
9472
9473 2005-12-16  Stefan Kost  <ensonic@users.sf.net>
9474
9475         * gst/gst.c:
9476         * gst/gst_private.h:
9477           change some char* into char[]
9478
9479 2005-12-16  Wim Taymans  <wim@fluendo.com>
9480
9481         * gst/gstregistryxml.c: (load_feature):
9482         Cleanups.
9483         Don't use g_object_unref on GstObjects so that we avoid
9484         leaks on unsafe glibs.
9485
9486 2005-12-16  Wim Taymans  <wim@fluendo.com>
9487
9488         * gst/gstbin.c: (gst_bin_recalc_state):
9489         Small doc updates.
9490
9491 2005-12-16  Wim Taymans  <wim@fluendo.com>
9492
9493         * common/check.mak:
9494         Added make forever target for check.
9495
9496 2005-12-16  Thomas Vander Stichele  <thomas at apestaart dot org>
9497
9498         * gst/gst.c: (init_post):
9499           make the registry cache file HOST_CPU-dependent
9500
9501 2005-12-16  Andy Wingo  <wingo@pobox.com>
9502
9503         * plugins/elements/gstbufferstore.c
9504         (gst_buffer_store_cleared_func): Pay attention to g_list_append
9505         return value.
9506
9507         * tests/check/gst/gstobject.c
9508         (test_fake_object_name_threaded_unique): Pay attention to
9509         g_list_sort return value.
9510
9511 2005-12-16  Tim-Philipp Müller  <tim at centricular dot net>
9512
9513         * tools/gst-feedback-m.m:
9514           Update for 0.9/0.10 (fixes #323870).
9515
9516 2005-12-15  Tim-Philipp Müller  <tim at centricular dot net>
9517
9518         * gst/gstminiobject.c: (gst_value_mini_object_lcopy):
9519           Fix lcopy for mini objects, the mini object needs to be ref'ed.
9520           
9521         * tests/check/gst/gstminiobject.c: (my_foo_init),
9522         (my_foo_get_property), (my_foo_set_property), (my_foo_class_init),
9523         (test_value_collection), (gst_mini_object_suite):
9524           Add test to ensure refcounts end up as expected when passing
9525           GstMiniObjects through g_object_get() and g_object_set().
9526
9527 2005-12-14  Julien MOUTTE  <julien@moutte.net>
9528
9529         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
9530         (gst_collect_pads_remove_pad), (gst_collect_pads_is_collected),
9531         (gst_collect_pads_event), (gst_collect_pads_chain): Refactoring
9532         of collectpads. This version removes a lot of races without
9533         touching API/ABI. Yay !
9534
9535 2005-12-14  Jan Schmidt  <thaytan@mad.scientist.com>
9536
9537         * gst/gstpad.c: (gst_pad_activate_pull), (gst_pad_link_prepare):
9538           Don't allow activation of a srcpad in pull_range if it has no
9539           getrange function.
9540           Change some debug statements to be a little clearer
9541
9542         * plugins/elements/gsttypefindelement.c:
9543         (gst_type_find_handle_src_query):
9544           Check that we have a peer before executing queries thereupon.
9545
9546         * tests/examples/metadata/read-metadata.c: (message_loop):
9547           Use gst_bus_pop instead of gst_bus_poll when we just want it to
9548           immediately return us any available message with 0 timeout.
9549
9550 2005-12-12  Michael Smith  <msmith@fluendo.com>
9551
9552         * gst/gsttypefindfactory.c: (gst_type_find_factory_call_function):
9553           Don't unref factories after calling them.
9554         * libs/gst/base/gsttypefindhelper.c: (gst_type_find_helper):
9555         * plugins/elements/gsttypefindelement.c:
9556         (gst_type_find_element_chain):
9557           Free lists of factories after using them. Fixing typefinding memory
9558           leaks.
9559
9560 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9561
9562         * gst/gstpluginfeature.c: (gst_plugin_feature_finalize),
9563         (gst_plugin_feature_load):
9564           more meaningful debug output
9565         * configure.ac:
9566         * tests/Makefile.am:
9567         * tests/old/examples/Makefile.am:
9568           make make distcheck happy again
9569
9570 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9571
9572         * plugins/elements/gsttypefindelement.c: (stop_typefinding):
9573           Catch the special case where we are operating chain-based,
9574           but the downstream peer pad has no chain function. Emit a
9575           custom error message in this case instead of letting the
9576           core generate one implying that this is some sort of core
9577           bug. It's not, it just means that whatever got plugged
9578           into the pipeline downstream when we announced the type
9579           can only operate pull-based, while our source can only
9580           operate push-based (e.g. http://foo/bar.mov ! qtdemux ! ...)
9581           Error string has not been marked for translation yet, as
9582           it probably needs some more work first.
9583
9584         (gst_type_find_element_get_best_possibility):
9585           Add helper function to find the best of all available
9586           found possibilities that qualify given the min. threshold.
9587
9588         (gst_type_find_element_handle_event):
9589           Fix the case where we get an EOS while still in TYPEFIND
9590           mode (we want to chose the best of all possible types,
9591           not just the first type that happens to be in our unsorted
9592           list of possible types).
9593
9594         (gst_type_find_element_chain):
9595           Make sure we return GST_FLOW_ERROR when we errored out
9596           in stop_typefinding(); also, don't just find the best of
9597           all found type entries and then use the last examined
9598           type entry, but actually use the best entry.
9599
9600 2005-12-12  Tim-Philipp Müller  <tim at centricular dot net>
9601
9602         * tests/examples/typefind/typefind.c: (type_found):
9603         * tests/examples/xml/runxml.c: (xml_loaded):
9604           More gcc4 fixes and a mem leak fix.
9605
9606 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9607
9608         * tests/examples/xml/createxml.c: (object_saved):
9609           gcc 4 fixes
9610
9611 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9612
9613         * tests/Makefile.am:
9614           enable the examples even more
9615
9616 2005-12-12  Andy Wingo  <wingo@pobox.com>
9617
9618         * libs/gst/net/gstnettimeprovider.c
9619         (gst_net_time_provider_class_init, gst_net_time_provider_init)
9620         (gst_net_time_provider_set_property)
9621         (gst_net_time_provider_get_property):
9622         API addition: Export "active" as a GObject property.
9623         (gst_net_time_provider_thread): Only respond to time queries if
9624         the time provider is active.
9625
9626         * libs/gst/net/gstnettimeprovider.h: Add an "active" boolean to
9627         NetTimeProvider, preserving binary compat.
9628
9629 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9630
9631         * tests/examples/controller/audio-example.c: (main):
9632         * tests/examples/launch/Makefile.am:
9633           convert comments again
9634
9635 2005-12-12  Wim Taymans  <wim@fluendo.com>
9636
9637         * libs/gst/base/gstpushsrc.c:
9638         Fix typo.
9639
9640 2005-12-12  Wim Taymans  <wim@fluendo.com>
9641
9642         * docs/libs/gstreamer-libs-sections.txt:
9643         Added new symbol to docs.
9644
9645         * libs/gst/base/gstbasesrc.c: (gst_base_src_class_init),
9646         (gst_base_src_init), (gst_base_src_set_format),
9647         (gst_base_src_default_query), (gst_base_src_query),
9648         (gst_base_src_default_do_seek), (gst_base_src_do_seek),
9649         (gst_base_src_perform_seek), (gst_base_src_send_event),
9650         (gst_base_src_default_event), (gst_base_src_event_handler),
9651         (gst_base_src_set_property), (gst_base_src_get_property),
9652         (gst_base_src_wait), (gst_base_src_do_sync),
9653         (gst_base_src_update_length), (gst_base_src_get_range),
9654         (gst_base_src_check_get_range), (gst_base_src_loop),
9655         (gst_base_src_default_negotiate), (gst_base_src_start),
9656         (gst_base_src_activate_push), (gst_base_src_activate_pull),
9657         (gst_base_src_change_state):
9658         * libs/gst/base/gstbasesrc.h:
9659         Implement seeking to other formats than _BYTES.
9660         Implement more seeking methods correctly.
9661         Doc updates.
9662         Added query vmethod.
9663         Added do_seek vmethod to make life easier for subclasses
9664         when seeking.
9665         API addition: gst_base_src_set_format()
9666
9667 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9668
9669         * tests/examples/Makefile.am:
9670           added that too
9671
9672 2005-12-12  Stefan Kost  <ensonic@users.sf.net>
9673
9674         * configure.ac:
9675         * docs/random/ensonic/media-device-daemon.txt:
9676         * tests/examples/controller/.cvsignore:
9677         * tests/examples/controller/Makefile.am:
9678         * tests/examples/controller/audio-example.c: (main):
9679         * tests/examples/helloworld/.cvsignore:
9680         * tests/examples/helloworld/Makefile.am:
9681         * tests/examples/helloworld/helloworld.c: (event_loop), (main):
9682         * tests/examples/launch/.cvsignore:
9683         * tests/examples/launch/Makefile.am:
9684         * tests/examples/launch/mp3parselaunch.c: (event_loop), (main):
9685         * tests/examples/metadata/.cvsignore:
9686         * tests/examples/metadata/Makefile.am:
9687         * tests/examples/metadata/read-metadata.c: (message_loop),
9688         (make_pipeline), (print_tag), (main):
9689         * tests/examples/queue/.cvsignore:
9690         * tests/examples/queue/Makefile.am:
9691         * tests/examples/queue/queue.c: (event_loop), (main):
9692         * tests/examples/typefind/.cvsignore:
9693         * tests/examples/typefind/Makefile.am:
9694         * tests/examples/typefind/typefind.c: (type_found), (event_loop),
9695         (main):
9696         * tests/examples/xml/.cvsignore:
9697         * tests/examples/xml/Makefile.am:
9698         * tests/examples/xml/createxml.c: (object_saved), (main):
9699         * tests/examples/xml/runxml.c: (xml_loaded), (event_loop), (main):
9700         * tests/old/examples/Makefile.am:
9701         * tests/old/examples/TODO:
9702         * tests/old/examples/controller/.cvsignore:
9703         * tests/old/examples/controller/Makefile.am:
9704         * tests/old/examples/controller/audio-example.c:
9705         * tests/old/examples/helloworld/.cvsignore:
9706         * tests/old/examples/helloworld/Makefile.am:
9707         * tests/old/examples/helloworld/helloworld.c:
9708         * tests/old/examples/launch/.cvsignore:
9709         * tests/old/examples/launch/Makefile.am:
9710         * tests/old/examples/launch/mp3parselaunch.c:
9711         * tests/old/examples/launch/mp3play:
9712         * tests/old/examples/manual/Makefile.am:
9713         * tests/old/examples/metadata/Makefile.am:
9714         * tests/old/examples/metadata/read-metadata.c:
9715         * tests/old/examples/queue/.cvsignore:
9716         * tests/old/examples/queue/Makefile.am:
9717         * tests/old/examples/queue/queue.c:
9718         * tests/old/examples/typefind/.cvsignore:
9719         * tests/old/examples/typefind/Makefile.am:
9720         * tests/old/examples/typefind/typefind.c:
9721         * tests/old/examples/xml/.cvsignore:
9722         * tests/old/examples/xml/Makefile.am:
9723         * tests/old/examples/xml/createxml.c:
9724         * tests/old/examples/xml/runxml.c:
9725           applied some simple fixing to some examples
9726           re-enabled the working examples
9727
9728 2005-12-12  Wim Taymans  <wim@fluendo.com>
9729
9730         * gst/gstsegment.c: (gst_segment_init),
9731         (gst_segment_set_last_stop), (gst_segment_set_seek),
9732         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
9733         (gst_segment_to_running_time):
9734         Added more documentation.
9735         Make sure the last_pos value is updated properly.
9736         Make sure to_stream_time and to_running_time don't
9737         operate on wrong values.
9738
9739         * tests/check/gst/gstsegment.c: (GST_START_TEST):
9740         Update check.
9741
9742 2005-12-12  Michael Smith  <msmith@fluendo.com>
9743
9744         * plugins/elements/gsttypefindelement.c: (free_entry),
9745         (gst_type_find_element_chain):
9746           Now that we're not leaking factories, make sure we keep references
9747           to them while we need them.
9748
9749 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9750
9751         * tests/check/gst/struct_i386.h:
9752           ifdef out the XML structs
9753
9754 2005-12-12  Thomas Vander Stichele  <thomas at apestaart dot org>
9755
9756         * gst/gstvalue.c: (gst_value_transform_double_fraction):
9757           floor is not needed, F is always positive; this obviates the
9758           need for adding -lm when building without libxml
9759
9760 2005-12-12  Wim Taymans  <wim@fluendo.com>
9761
9762         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9763         Take current playback rate into account when reporting
9764         the position.
9765
9766 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9767
9768         * docs/manual/mime-world.fig:
9769           Let's try this again, this time with a file that is
9770           actually in XFig format.
9771
9772 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9773
9774         * docs/manual/mime-world.fig:
9775           Add audioconvert element to diagram so that it
9776           matches the text and the code (fixes #319526).
9777
9778 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9779
9780         * docs/pwg/building-chainfn.xml:
9781         * docs/pwg/building-pads.xml:
9782         * docs/pwg/building-state.xml:
9783         * docs/pwg/other-source.xml:
9784           Update state change stuff for 0.10 (fixes #322969).
9785
9786 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9787
9788         * docs/manual/advanced-dataaccess.xml:
9789         * docs/manual/appendix-checklist.xml:
9790         * docs/manual/appendix-programs.xml:
9791         * docs/manual/basics-pads.xml:
9792         * docs/manual/highlevel-components.xml:
9793         * docs/manual/manual.xml:
9794           Update for 0.10: s/0.9/0.10/; s/audioscale/audiorsample/;
9795           add converters in front of pipelines; remove curly
9796           brackets for threads stuff, they no longer exist; use
9797           GST_TYPE_FRACTION for framerates; update some pieces of
9798           code to 0.10, but there's plenty more to do.
9799
9800         * docs/manual/appendix-porting.xml:
9801           Expand on asynchroneous state changes; s/0.9/0.10/;
9802           mention disappearance of gst_init_get_popt_table()
9803           (fixes #322916).
9804
9805 2005-12-11  Tim-Philipp Müller  <tim at centricular dot net>
9806
9807         * docs/faq/using.xml:
9808           Spider no longer exists, and neither does gst-launch-ext.
9809           Update examples to use decodebin and playbin and put
9810           converters in front of sinks (fixes #323726).
9811
9812 2005-12-09  Michael Smith  <msmith@fluendo.com>
9813
9814         * plugins/elements/gsttypefindelement.c: (find_peek),
9815         (gst_type_find_element_chain):
9816           Fix leaking element factories in typefinding.
9817           Fix problem where we forgot about a probable type on non-seekable
9818           files, and thus later mis-typefound it.
9819
9820 2005-12-09  Michael Smith  <msmith@fluendo.com>
9821
9822         * common/m4/gst-makecontext.m4:
9823         * common/m4/gst-mcsc.m4:
9824         * configure.ac:
9825         * win32/common/config.h:
9826         * win32/common/config.h.in:
9827           Remove makecontext stuff; not used in 0.10 and causes problems on
9828           HPUX according to bug #322441
9829
9830 2005-12-07  Wim Taymans  <wim@fluendo.com>
9831
9832         * tests/check/Makefile.am:
9833         * tests/check/libs/libsabi.c: (GST_START_TEST), (gstabi_suite),
9834         (main):
9835         * tests/check/libs/struct_i386.h:
9836         Added ABI check for libs
9837
9838 2005-12-07  Wim Taymans  <wim@fluendo.com>
9839
9840         * tests/check/Makefile.am:
9841         And add the struct_i386.h to dist.
9842
9843 2005-12-07  Wim Taymans  <wim@fluendo.com>
9844
9845         * tests/check/Makefile.am:
9846         * tests/check/gst/.cvsignore:
9847         * tests/check/gst/gstabi.c: (GST_START_TEST), (gstabi_suite),
9848         (main):
9849         * tests/check/gst/struct_i386.h:
9850         Added check for ABI compatibility.
9851
9852 2005-12-07  Wim Taymans  <wim@fluendo.com>
9853
9854         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9855         (gst_fake_src_get_times), (gst_fake_src_create):
9856         Fix broken sync option, fixes #323259
9857
9858 2005-12-07  Wim Taymans  <wim@fluendo.com>
9859
9860         * gst/gstbuffer.c:
9861         Small docs update.
9862
9863         * gst/gstcaps.c: (gst_caps_is_equal):
9864         Don't assert on NULL <--> X. Fixes #323260
9865
9866         * gst/gstminiobject.c: (gst_mini_object_replace):
9867         If we're doing atomic operations, we might just as well use
9868         the proper way to get an atomic pointer.
9869
9870         * libs/gst/base/gstbasesink.c: (gst_base_sink_get_position):
9871         Clean up debugging.
9872
9873 2005-12-07  Michael Smith  <msmith@fluendo.com>
9874
9875         * gst/parse/grammar.y:
9876           Remove handling of { } for threads.
9877
9878 2005-12-06  David Schleef  <ds@schleef.org>
9879
9880         * libs/gst/base/gstbasetransform.c: speling fix.
9881
9882 2005-12-06  Thomas Vander Stichele  <thomas at apestaart dot org>
9883
9884         * docs/libs/tmpl/gstdataprotocol.sgml:
9885         * docs/random/omega/testing/gstobject.c:
9886         * gst/gst.c:
9887         * gst/gstclock.c:
9888         * gst/gstelement.c:
9889         * gst/gstelementfactory.c:
9890         * gst/gsterror.c:
9891         * gst/gstevent.c:
9892         * gst/gstghostpad.c:
9893         * gst/gstinfo.c:
9894         * gst/gstpadtemplate.c:
9895         * gst/gstregistryxml.c:
9896         * gst/gsttaglist.c:
9897         * gst/gsttagsetter.c:
9898         * gst/gsttypefind.c:
9899         * gst/gstvalue.c:
9900         * libs/gst/base/gstbasesrc.c:
9901         * libs/gst/net/gstnetclientclock.c:
9902         * libs/gst/net/gstnettimeprovider.c:
9903         * plugins/elements/gstfakesrc.c:
9904         * plugins/elements/gstfdsrc.c:
9905         * plugins/elements/gstfilesrc.c:
9906         * plugins/elements/gstidentity.c:
9907         * plugins/elements/gstqueue.c:
9908         * plugins/elements/gsttypefindelement.c:
9909         * plugins/indexers/gstfileindex.c:
9910         * plugins/indexers/gstmemindex.c:
9911         * tests/check/gst/gsttag.c:
9912         * tests/old/examples/cutter/cutter.c:
9913         * tests/old/examples/mixer/mixer.c:
9914         * tests/old/examples/xml/runxml.c: (main):
9915         * tests/old/testsuite/caps/normalisation.c:
9916         * tests/old/testsuite/debug/global.c:
9917         * tests/old/testsuite/parse/parse1.c:
9918         * tools/gst-xmlinspect.c:
9919         * win32/common/dirent.c:
9920           expand tabs
9921
9922 === release 0.10.0 ===
9923
9924 2005-12-05  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
9925
9926         * configure.ac:
9927           releasing 0.10.0, "Maroilles"
9928
9929 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9930
9931         submitted by: Funda Wang <fundawang@linux.net.cn>
9932
9933         * po/LINGUAS:
9934         * po/zh_CN.po:
9935           added Chinese (Traditional) translation
9936
9937 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9938
9939         * docs/gst/gstreamer-sections.txt:
9940         * docs/libs/tmpl/gstdataprotocol.sgml:
9941         * docs/random/thomasvs/TODO:
9942         * gst/gstutils.c:
9943         * gst/gstutils.h:
9944           fix docs
9945
9946 2005-12-05  Andy Wingo  <wingo@pobox.com>
9947
9948         patch by: Wim Taymans <wim@fluendo.com>
9949
9950         * libs/gst/base/gstbasetransform.c
9951         (gst_base_transform_prepare_output_buf)
9952         (gst_base_transform_buffer_alloc):
9953         * plugins/elements/gstqueue.c (gst_queue_bufferalloc): Call
9954         alloc_buffer_and_set_caps.
9955
9956         * gst/gstpad.c (gst_pad_alloc_buffer): Changed to not call
9957         set_caps on the source pad.
9958         (gst_pad_alloc_buffer_and_set_caps): New function, does what
9959         alloc_buffer used to do. Fixes #322874.
9960
9961         * docs/gst/gstreamer-sections.txt: 
9962         * docs/design/part-negotiation.txt: 
9963         * docs/pwg/advanced-negotiation.xml: Update for the alloc_buffer
9964         changes.
9965
9966 2005-12-05  Thomas Vander Stichele  <thomas at apestaart dot org>
9967
9968         patch by: Sebastien Moutte
9969
9970         * win32/MANIFEST:
9971         * win32/common/config.h.in:
9972         * win32/vs6/libgstcontroller.dsp:
9973           win32 build fixes
9974
9975 2005-12-05  Wim Taymans  <wim@fluendo.com>
9976
9977         * gst/gstcaps.c: (gst_caps_is_equal):
9978         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9979         (gst_fake_src_create):
9980         Back out previous code changes, leave doc updates, file bugs 
9981         instead. 
9982
9983 2005-12-05  Wim Taymans  <wim@fluendo.com>
9984
9985         * plugins/elements/gstfakesrc.c: (gst_fake_src_class_init),
9986         (gst_fake_src_get_times), (gst_fake_src_create):
9987         * plugins/elements/gstfakesrc.h:
9988         Fix broken sync code.
9989
9990 2005-12-05  Wim Taymans  <wim@fluendo.com>
9991
9992         * gst/gstcaps.c: (gst_caps_is_equal):
9993         Comparing NULL against !NULL yields different caps, not a
9994         failure.
9995
9996 2005-12-05  Wim Taymans  <wim@fluendo.com>
9997
9998         * gst/gstpipeline.c:
9999         Fix small typo in docs.
10000
10001 2005-12-05  Andy Wingo  <wingo@pobox.com>
10002
10003         patch by: Thomas Vander Stichele  <thomas at apestaart dot org>
10004
10005         * gst/gst.c (init_post): remove hard-coded 0.9 location for
10006         registries/plugins with a MAJORMINOR one.
10007         (plugin_desc): Rename library from gstcoreleements to
10008         staticelements. Fixes #323222.
10009
10010 2005-12-05  Tim-Philipp Müller  <tim at centricular dot net>
10011
10012         * libs/gst/base/gstcollectpads.c: (gst_collect_pads_base_init):
10013           Change debug category to 'collectpads' from 'collect_pads'
10014           (fixes #323250).
10015
10016 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10017
10018         patch by: Sebastien Moutte
10019
10020         * libs/gst/controller/gstinterpolation.c:
10021           use convert function for uint64/double
10022         * win32/vs6/libgstcontroller.dsp:
10023           link to GLib
10024
10025 2005-12-04  Thomas Vander Stichele  <thomas at apestaart dot org>
10026
10027         * gst/gstutils.c: (gst_util_guint64_to_gdouble),
10028         (gst_util_gdouble_to_guint64), (gst_util_uint64_scale_int64):
10029         * gst/gstutils.h:
10030         * tests/check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10031           add tests that seem to show that the guint64/gdouble conversions
10032           are correct.
10033
10034 2005-12-02  Wim Taymans  <wim@fluendo.com>
10035
10036         * gst/gstregistry.c: (gst_registry_add_path):
10037         * gst/gstregistry.h:
10038         * gst/gstregistryxml.c:
10039         Fix docs again.
10040
10041 2005-12-02  Wim Taymans  <wim@fluendo.com>
10042
10043         * gst/gstutils.c: (gst_util_uint64_scale_int64),
10044         (gst_util_uint64_scale_int):
10045         Small cleanup.
10046
10047         * libs/gst/base/gstbasesink.c: (gst_base_sink_handle_object):
10048         Add debug log line.
10049
10050         * libs/gst/base/gstbasetransform.c: (gst_base_transform_event):
10051         Add FIXME.
10052
10053 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10054
10055         * win32/MANIFEST:
10056         * win32/common/config.h:
10057         * win32/vs6/gstreamer.dsw:
10058         * win32/vs6/libgstcoreelements.dsp:
10059         * win32/vs6/libgstelements.dsp:
10060           renamed core elements plugin
10061
10062 2005-12-02  Thomas Vander Stichele  <thomas at apestaart dot org>
10063
10064         * tools/gst-run.c: (compare_major_minor), (find_highest_version),
10065         (get_candidates):
10066           do piece-wise major/minor comparison so 0.9 < 0.10
10067           also allow .exe extensions for tools
10068
10069 2005-12-02  Michael Smith  <msmith@fluendo.com>
10070
10071         * gst/gst.c:
10072           Escape a % to make gtkdoc happier; bug 322958.
10073
10074 === release 0.9.7 ===
10075
10076 2005-12-01  Thomas Vander Stichele <thomas (at) apestaart (dot) org>
10077
10078         * configure.ac:
10079           releasing 0.9.7, "My Dog Has No Nose"
10080
10081 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10082
10083         * common/gst-xmlinspect.py:
10084         * configure.ac:
10085         * docs/libs/tmpl/gstdataprotocol.sgml:
10086         * docs/random/release:
10087         * po/af.po:
10088         * po/az.po:
10089         * po/bg.po:
10090         * po/ca.po:
10091         * po/cs.po:
10092         * po/de.po:
10093         * po/en_GB.po:
10094         * po/fr.po:
10095         * po/it.po:
10096         * po/nb.po:
10097         * po/nl.po:
10098         * po/ru.po:
10099         * po/sq.po:
10100         * po/sr.po:
10101         * po/sv.po:
10102         * po/tr.po:
10103         * po/uk.po:
10104         * po/vi.po:
10105         * win32/common/config.h:
10106         * win32/common/config.h.in:
10107         * win32/vs6/gst_inspect.dsp:
10108         * win32/vs6/gst_launch.dsp:
10109         * win32/vs6/libgstbase.dsp:
10110         * win32/vs6/libgstelements.dsp:
10111         * win32/vs6/libgstreamer.dsp:
10112         * win32/vs7/GStreamer.vcproj:
10113         * win32/vs7/gst-inspect.vcproj:
10114         * win32/vs7/gst-launch.vcproj:
10115         * win32/vs7/libgstbase.vcproj:
10116           bump GST_MAJORMINOR to 0.10
10117           reset libtool version
10118
10119 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10120
10121         * po/LINGUAS:
10122         * po/bg.po:
10123           Added Bulgarian translation by (Alexander Shopov)
10124
10125 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10126
10127         * tests/check/gst/gstplugin.c:
10128           fix test
10129
10130 2005-12-01  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10131
10132         * common/gst-xmlinspect.py:
10133         * common/gtk-doc-plugins.mak:
10134         * configure.ac:
10135         * docs/Makefile.am:
10136         * docs/gst/Makefile.am:
10137         * docs/gst/gstreamer-docs.sgml:
10138         * docs/gst/gstreamer-sections.txt:
10139         * docs/gst/gstreamer.types:
10140         * docs/gst/gstreamer.types.in:
10141         * docs/plugins/Makefile.am:
10142         * docs/plugins/gstreamer-plugins-docs.sgml:
10143         * docs/plugins/gstreamer-plugins-sections.txt:
10144         * docs/plugins/gstreamer-plugins.types:
10145         * docs/plugins/inspect.stamp:
10146         * docs/plugins/inspect/plugin-coreelements.xml:
10147         * docs/plugins/inspect/plugin-coreindexers.xml:
10148         * docs/plugins/scanobj-build.stamp:
10149         * gstreamer.spec.in:
10150         * plugins/elements/Makefile.am:
10151         * plugins/elements/gstelements.c:
10152         * plugins/elements/gstfakesink.c:
10153         * plugins/elements/gstfakesrc.c:
10154         * plugins/elements/gstfilesink.c:
10155         * plugins/elements/gstfilesrc.c:
10156         * plugins/elements/gstqueue.c:
10157         * plugins/indexers/Makefile.am:
10158         * plugins/indexers/gstindexers.c:
10159           document core plugins in a separate document just like all the
10160           others
10161           rename these plugins to something starting with core
10162
10163 2005-12-01  Andy Wingo  <wingo@pobox.com>
10164
10165         * gst/gstevent.h (struct _GstEvent): Meant to remove the extra
10166         padding here before, but it missed the commit.
10167
10168 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10169
10170         * libs/gst/controller/gstinterpolation.c:
10171           whitespace prices have crashed, we should feel free to use some now
10172           use gst_guint64_to_gdouble
10173
10174 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10175
10176         * libs/gst/controller/gstcontroller.c:
10177         * libs/gst/controller/gsthelper.c:
10178         * libs/gst/controller/gstinterpolation.c:
10179         * libs/gst/controller/lib.c:
10180           wrap config.h include
10181
10182 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10183
10184         * docs/gst/gstreamer-sections.txt:
10185           update docs
10186
10187 2005-12-01  Thomas Vander Stichele  <thomas at apestaart dot org>
10188
10189         * plugins/elements/gstelements.c:
10190         * plugins/elements/gstfdsink.c: (gst_fd_sink__base_init),
10191         (gst_fd_sink__class_init), (gst_fd_sink__init),
10192         (gst_fd_sink__chain), (gst_fd_sink__set_property),
10193         (gst_fd_sink__get_property):
10194         * plugins/elements/gstfdsink.h:
10195         * plugins/elements/gstfdsrc.c: (_do_init), (gst_fd_src_base_init),
10196         (gst_fd_src_class_init), (gst_fd_src_init), (gst_fd_src_dispose),
10197         (gst_fd_src_update_fd), (gst_fd_src_start), (gst_fd_src_stop),
10198         (gst_fd_src_unlock), (gst_fd_src_set_property),
10199         (gst_fd_src_get_property), (gst_fd_src_create),
10200         (gst_fd_src_is_seekable), (gst_fd_src_get_size),
10201         (gst_fd_src_uri_get_type), (gst_fd_src_uri_get_protocols),
10202         (gst_fd_src_uri_get_uri), (gst_fd_src_uri_set_uri),
10203         (gst_fd_src_uri_handler_init):
10204         * plugins/elements/gstfdsrc.h:
10205         * plugins/elements/gstqueue.c: (gst_queue_get_type):
10206           more anal cleanup
10207
10208 2005-11-30  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10209
10210         * docs/gst/Makefile.am:
10211         * docs/gst/gstreamer.types.in:
10212         * gst/Makefile.am:
10213           fix the docs build
10214
10215 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10216
10217         * configure.ac:
10218         * gst/Makefile.am:
10219         * gst/gst.c:
10220         * gst/gstplugin.h:
10221         * gst/gstregistry.h:
10222         * tests/benchmarks/complexity.c:
10223         * tests/benchmarks/mass-elements.c:
10224         * tests/check/Makefile.am:
10225         * tools/Makefile.am:
10226         * tools/gst-inspect.c:
10227         * tools/gst-xmlinspect.c:
10228           various fixes to make
10229           --disable-nls --disable-registry --disable-loadsave
10230           --disable-parse --disable-gst-debug
10231           work and get the core .so down to 360444 bytes after stripping
10232
10233 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10234
10235         * Makefile.am:
10236         * configure.ac:
10237           descend into tests
10238         * docs/random/thomasvs/TODO:
10239         * tests/Makefile.am:
10240         * tests/README:
10241           add a README
10242
10243 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10244
10245         * win32/GStreamer.vcproj:
10246         * win32/MANIFEST:
10247         * win32/Makefile:
10248         * win32/Makefile.inspect:
10249         * win32/Makefile.launch:
10250         * win32/Makefile.register:
10251         * win32/README.txt:
10252         * win32/gst-inspect.vcproj:
10253         * win32/gst-launch.vcproj:
10254         * win32/gst-register.vcproj:
10255         * win32/gstelements.vcproj:
10256         * win32/gstgetbits.def:
10257         * win32/gstgetbits.vcproj:
10258         * win32/gstreamer-dbg.def:
10259         * win32/gstreamer.def:
10260         * win32/libgstbase.def:
10261         * win32/libgstbase.vcproj:
10262         * win32/link_oldruntime.c:
10263         * win32/mman.c:
10264         * win32/mman.h:
10265         * win32/mman.inl:
10266         * win32/msvc71.sln:
10267           move even more stuff, win32/ is nice and clean now
10268
10269 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10270
10271         * libs/gst/control/.cvsignore:
10272         * win32/MANIFEST:
10273         * win32/config.h:
10274         * win32/dirent.c:
10275         * win32/dirent.h:
10276         * win32/gstbytestream.def:
10277         * win32/gstbytestream.vcproj:
10278         * win32/gstconfig.h:
10279         * win32/gstenumtypes.c:
10280         * win32/gstenumtypes.h:
10281         * win32/gstoptimalscheduler.vcproj:
10282         * win32/gstversion.h:
10283         * win32/gtchar.h:
10284         * win32/testsuite/bins.vcproj:
10285         * win32/testsuite/bytestream.vcproj:
10286         * win32/testsuite/caps.vcproj:
10287         * win32/testsuite/cleanup.vcproj:
10288         * win32/testsuite/clock.vcproj:
10289         * win32/testsuite/debug.vcproj:
10290         * win32/testsuite/dlopen.vcproj:
10291         * win32/testsuite/dynparams.vcproj:
10292         * win32/testsuite/elements.vcproj:
10293         * win32/testsuite/ghostpads.vcproj:
10294         * win32/testsuite/indexers.vcproj:
10295         * win32/testsuite/negotiation.vcproj:
10296         * win32/testsuite/parse.vcproj:
10297         * win32/testsuite/plugin.vcproj:
10298         * win32/testsuite/refcounting.vcproj:
10299         * win32/testsuite/schedulers.vcproj:
10300         * win32/testsuite/states.vcproj:
10301         * win32/testsuite/tags.vcproj:
10302         * win32/testsuite/threads.vcproj:
10303           remove old win32 stuff that isn't maintained and should be
10304           reorganized
10305
10306 2005-11-30  Andy Wingo  <wingo@pobox.com>
10307
10308         * configure.ac (GST_PKG_DEPS): Revert previous patch, makes
10309         loading the gst.interfaces python module bork.
10310
10311         * configure.ac (GST_PKG_DEPS): Use gmodule-no-export-2.0.pc,
10312         available since GLib 2.2. Fixes #318031.
10313
10314 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10315
10316         * Makefile.am:
10317         * check/.cvsignore:
10318         * check/Makefile.am:
10319         * check/elements/.cvsignore:
10320         * check/elements/fakesrc.c:
10321         * check/elements/fdsrc.c:
10322         * check/elements/identity.c:
10323         * check/generic/.cvsignore:
10324         * check/generic/states.c:
10325         * check/gst-libs/.cvsignore:
10326         * check/gst-libs/controller.c:
10327         * check/gst-libs/gdp.c:
10328         * check/gst/.cvsignore:
10329         * check/gst/capslist.h:
10330         * check/gst/gst.c:
10331         * check/gst/gstbin.c:
10332         * check/gst/gstbuffer.c:
10333         * check/gst/gstbus.c:
10334         * check/gst/gstcaps.c:
10335         * check/gst/gstelement.c:
10336         * check/gst/gstevent.c:
10337         * check/gst/gstghostpad.c:
10338         * check/gst/gstiterator.c:
10339         * check/gst/gstmessage.c:
10340         * check/gst/gstminiobject.c:
10341         * check/gst/gstobject.c:
10342         * check/gst/gstpad.c:
10343         * check/gst/gstpipeline.c:
10344         * check/gst/gstplugin.c:
10345         * check/gst/gstsegment.c:
10346         * check/gst/gststructure.c:
10347         * check/gst/gstsystemclock.c:
10348         * check/gst/gsttag.c:
10349         * check/gst/gstutils.c:
10350         * check/gst/gstvalue.c:
10351         * check/net/.cvsignore:
10352         * check/net/gstnetclientclock.c:
10353         * check/net/gstnettimeprovider.c:
10354         * check/pipelines/.cvsignore:
10355         * check/pipelines/cleanup.c:
10356         * check/pipelines/simple_launch_lines.c:
10357         * check/pipelines/stress.c:
10358         * check/states/.cvsignore:
10359         * check/states/sinks.c:
10360         * configure.ac:
10361         * examples/Makefile.am:
10362         * examples/appreader/.cvsignore:
10363         * examples/appreader/Makefile.am:
10364         * examples/appreader/appreader.c:
10365         * examples/controller/.cvsignore:
10366         * examples/controller/Makefile.am:
10367         * examples/controller/audio-example.c:
10368         * examples/cutter/.cvsignore:
10369         * examples/cutter/Makefile.am:
10370         * examples/cutter/cutter.c:
10371         * examples/cutter/cutter.h:
10372         * examples/events/Makefile.am:
10373         * examples/events/seek.c:
10374         * examples/helloworld/.cvsignore:
10375         * examples/helloworld/Makefile.am:
10376         * examples/helloworld/helloworld.c:
10377         * examples/helloworld2/.cvsignore:
10378         * examples/helloworld2/Makefile.am:
10379         * examples/helloworld2/helloworld2.c:
10380         * examples/launch/.cvsignore:
10381         * examples/launch/Makefile.am:
10382         * examples/launch/mp3parselaunch.c:
10383         * examples/launch/mp3play:
10384         * examples/manual/.cvsignore:
10385         * examples/manual/Makefile.am:
10386         * examples/manual/extract.pl:
10387         * examples/metadata/Makefile.am:
10388         * examples/metadata/read-metadata.c:
10389         * examples/mixer/.cvsignore:
10390         * examples/mixer/Makefile.am:
10391         * examples/mixer/mixer.c:
10392         * examples/mixer/mixer.h:
10393         * examples/pingpong/.cvsignore:
10394         * examples/pingpong/Makefile.am:
10395         * examples/pingpong/pingpong.c:
10396         * examples/plugins/.cvsignore:
10397         * examples/plugins/Makefile.am:
10398         * examples/plugins/example.c:
10399         * examples/plugins/example.h:
10400         * examples/pwg/.cvsignore:
10401         * examples/pwg/Makefile.am:
10402         * examples/pwg/extract.pl:
10403         * examples/queue/.cvsignore:
10404         * examples/queue/Makefile.am:
10405         * examples/queue/queue.c:
10406         * examples/queue2/.cvsignore:
10407         * examples/queue2/Makefile.am:
10408         * examples/queue2/queue2.c:
10409         * examples/queue3/.cvsignore:
10410         * examples/queue3/Makefile.am:
10411         * examples/queue3/queue3.c:
10412         * examples/queue4/.cvsignore:
10413         * examples/queue4/Makefile.am:
10414         * examples/queue4/queue4.c:
10415         * examples/retag/.cvsignore:
10416         * examples/retag/Makefile.am:
10417         * examples/retag/retag.c:
10418         * examples/retag/transcode.c:
10419         * examples/thread/.cvsignore:
10420         * examples/thread/Makefile.am:
10421         * examples/thread/thread.c:
10422         * examples/typefind/.cvsignore:
10423         * examples/typefind/Makefile.am:
10424         * examples/typefind/typefind.c:
10425         * examples/xml/.cvsignore:
10426         * examples/xml/Makefile.am:
10427         * examples/xml/createxml.c:
10428         * examples/xml/runxml.c:
10429         * tests/Makefile.am:
10430         * tests/check/Makefile.am:
10431         * testsuite/.cvsignore:
10432         * testsuite/Makefile.am:
10433         * testsuite/Rules:
10434         * testsuite/caps/.cvsignore:
10435         * testsuite/caps/Makefile.am:
10436         * testsuite/caps/app_fixate.c:
10437         * testsuite/caps/audioscale.c:
10438         * testsuite/caps/caps.c:
10439         * testsuite/caps/caps.h:
10440         * testsuite/caps/caps_strings:
10441         * testsuite/caps/compatibility.c:
10442         * testsuite/caps/deserialize.c:
10443         * testsuite/caps/enumcaps.c:
10444         * testsuite/caps/eratosthenes.c:
10445         * testsuite/caps/filtercaps.c:
10446         * testsuite/caps/fixed.c:
10447         * testsuite/caps/fraction-convert.c:
10448         * testsuite/caps/fraction-multiply-and-zero.c:
10449         * testsuite/caps/intersect2.c:
10450         * testsuite/caps/intersection.c:
10451         * testsuite/caps/normalisation.c:
10452         * testsuite/caps/random.c:
10453         * testsuite/caps/renegotiate.c:
10454         * testsuite/caps/sets.c:
10455         * testsuite/caps/simplify.c:
10456         * testsuite/caps/string-conversions.c:
10457         * testsuite/caps/structure.c:
10458         * testsuite/caps/subtract.c:
10459         * testsuite/caps/union.c:
10460         * testsuite/debug/.cvsignore:
10461         * testsuite/debug/Makefile.am:
10462         * testsuite/debug/category.c:
10463         * testsuite/debug/commandline.c:
10464         * testsuite/debug/global.c:
10465         * testsuite/debug/output.c:
10466         * testsuite/debug/printf_extension.c:
10467         * testsuite/dlopen/.cvsignore:
10468         * testsuite/dlopen/Makefile.am:
10469         * testsuite/dlopen/dlopen_gst.c:
10470         * testsuite/dlopen/loadgst.c:
10471         * testsuite/elements/.cvsignore:
10472         * testsuite/elements/Makefile.am:
10473         * testsuite/elements/gst-inspect-check.in:
10474         * testsuite/elements/struct_i386.h:
10475         * testsuite/elements/struct_size.c:
10476         * testsuite/indexers/.cvsignore:
10477         * testsuite/indexers/Makefile.am:
10478         * testsuite/indexers/cache1.c:
10479         * testsuite/indexers/indexdump.c:
10480         * testsuite/parse/.cvsignore:
10481         * testsuite/parse/Makefile.am:
10482         * testsuite/parse/parse1.c:
10483         * testsuite/parse/parse2.c:
10484         * testsuite/plugin/.cvsignore:
10485         * testsuite/plugin/Makefile.am:
10486         * testsuite/plugin/README:
10487         * testsuite/plugin/dynamic.c:
10488         * testsuite/plugin/linked.c:
10489         * testsuite/plugin/loading.c:
10490         * testsuite/plugin/registry.c:
10491         * testsuite/plugin/static.c:
10492         * testsuite/plugin/static2.c:
10493         * testsuite/plugin/testplugin.c:
10494         * testsuite/plugin/testplugin2.c:
10495         * testsuite/plugin/testplugin2_s.c:
10496         * testsuite/plugin/testplugin_s.c:
10497         * testsuite/refcounting/.cvsignore:
10498         * testsuite/refcounting/Makefile.am:
10499         * testsuite/refcounting/bin.c:
10500         * testsuite/refcounting/element.c:
10501         * testsuite/refcounting/element_pad.c:
10502         * testsuite/refcounting/mainloop.c:
10503         * testsuite/refcounting/mem.c:
10504         * testsuite/refcounting/mem.h:
10505         * testsuite/refcounting/object.c:
10506         * testsuite/refcounting/pad.c:
10507         * testsuite/refcounting/sched.c:
10508         * testsuite/refcounting/thread.c:
10509         * testsuite/states/.cvsignore:
10510         * testsuite/states/Makefile.am:
10511         * testsuite/states/bin.c:
10512         * testsuite/states/locked.c:
10513         * testsuite/states/parent.c:
10514         * testsuite/threads/.cvsignore:
10515         * testsuite/threads/159566.c:
10516         * testsuite/threads/159852.c:
10517         * testsuite/threads/Makefile.am:
10518         * testsuite/threads/queue.c:
10519         * testsuite/threads/signals.c:
10520         * testsuite/threads/staticrec.c:
10521         * testsuite/threads/thread.c:
10522         * testsuite/threads/threadb.c:
10523         * testsuite/threads/threadc.c:
10524         * testsuite/threads/threadd.c:
10525         * testsuite/threads/threade.c:
10526         * testsuite/threads/threadf.c:
10527         * testsuite/threads/threadg.c:
10528         * testsuite/threads/threadh.c:
10529         * testsuite/threads/threadi.c:
10530           move all of these under tests
10531
10532 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10533
10534         * configure.ac:
10535         * tests/Makefile.am:
10536           fix distcheck
10537
10538 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10539
10540         * docs/gst/gstreamer-sections.txt:
10541         * tests/sched/.cvsignore:
10542         * tests/sched/Makefile.am:
10543         * tests/sched/cases/(fs-fs).xml:
10544         * tests/sched/cases/(fs-i-fs).xml:
10545         * tests/sched/cases/(fs-i-i-fs).xml:
10546         * tests/sched/cases/(fs-i-q[i-fs]).xml:
10547         * tests/sched/dynamic-pipeline.c:
10548         * tests/sched/interrupt1.c:
10549         * tests/sched/interrupt2.c:
10550         * tests/sched/interrupt3.c:
10551         * tests/sched/runtestcases:
10552         * tests/sched/runxml.c:
10553         * tests/sched/sched-stress.c:
10554         * tests/sched/sort.c:
10555         * tests/sched/testcases:
10556         * tests/sched/testcases1.tc:
10557         * tests/seeking/.cvsignore:
10558         * tests/seeking/Makefile.am:
10559         * tests/seeking/seeking1.c:
10560         * tests/threadstate/.cvsignore:
10561         * tests/threadstate/Makefile.am:
10562         * tests/threadstate/test1.c:
10563         * tests/threadstate/test2.c:
10564         * tests/threadstate/threadstate1.c:
10565         * tests/threadstate/threadstate2.c:
10566         * tests/threadstate/threadstate3.c:
10567         * tests/threadstate/threadstate4.c:
10568         * tests/threadstate/threadstate5.c:
10569           remove obsolete tests
10570         * configure.ac:
10571         * tests/bench-complexity.scm:
10572         * tests/bench-mass_elements.scm:
10573         * tests/complexity.c:
10574         * tests/complexity.gnuplot:
10575         * tests/instantiate/.cvsignore:
10576         * tests/instantiate/Makefile.am:
10577         * tests/instantiate/caps.c:
10578         * tests/mass_elements.c:
10579         * tests/network-clock-utils.scm:
10580         * tests/network-clock.scm:
10581         * tests/plot-data:
10582         First pass at cleaning up tests/ dir before moving the rest
10583         Combined with CVS surgery
10584
10585 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10586
10587         * po/POTFILES.in:
10588           queue has moved, update
10589
10590 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10591
10592         * docs/gst/gstreamer-sections.txt:
10593           remove double entries from the docs
10594         * gst/gst_private.h:
10595         * gst/gstinfo.c: (_gst_debug_init):
10596           remove the THREAD debug category
10597         * gst/Makefile.am:
10598         * gst/gstqueue.c:
10599         * gst/gstqueue.h:
10600         * docs/gst/gstreamer.types:
10601         * plugins/elements/gstqueue.c: (gst_queue_get_type),
10602         (gst_queue_init), (gst_queue_finalize), (gst_queue_change_state):
10603           completely move queue and fix up debugging categories
10604
10605 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10606
10607         * plugins/elements/gstidentity.c: (gst_identity_transform_ip):
10608           make initialization portable, using LL is not
10609
10610 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10611
10612         * win32/common/gstconfig.h:
10613           add large padding
10614
10615 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10616
10617         * win32/common/libgstreamer.def:
10618           rename symbols; sort base section
10619
10620 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10621
10622         * gst/gstclock.c: (do_linear_regression):
10623           remove crack non-portable handrolled DEBUG macro
10624
10625 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10626
10627         * docs/random/release:
10628           update notes
10629         * win32/common/gstenumtypes.c: (register_gst_object_flags),
10630         (gst_object_flags_get_type), (register_gst_bin_flags),
10631         (gst_bin_flags_get_type), (register_gst_buffer_flag),
10632         (gst_buffer_flag_get_type), (register_gst_bus_flags),
10633         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
10634         (gst_bus_sync_reply_get_type), (register_gst_caps_flags),
10635         (gst_caps_flags_get_type), (register_gst_clock_return),
10636         (gst_clock_return_get_type), (register_gst_clock_entry_type),
10637         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
10638         (gst_clock_flags_get_type), (register_gst_state),
10639         (gst_state_get_type), (register_gst_state_change_return),
10640         (gst_state_change_return_get_type), (register_gst_state_change),
10641         (gst_state_change_get_type), (register_gst_element_flags),
10642         (gst_element_flags_get_type), (register_gst_core_error),
10643         (gst_core_error_get_type), (register_gst_library_error),
10644         (gst_library_error_get_type), (register_gst_resource_error),
10645         (gst_resource_error_get_type), (register_gst_stream_error),
10646         (gst_stream_error_get_type), (register_gst_event_type_flags),
10647         (gst_event_type_flags_get_type), (register_gst_event_type),
10648         (gst_event_type_get_type), (register_gst_seek_type),
10649         (gst_seek_type_get_type), (register_gst_seek_flags),
10650         (gst_seek_flags_get_type), (register_gst_format),
10651         (gst_format_get_type), (register_gst_index_certainty),
10652         (gst_index_certainty_get_type), (register_gst_index_entry_type),
10653         (gst_index_entry_type_get_type),
10654         (register_gst_index_lookup_method),
10655         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
10656         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
10657         (gst_index_resolver_method_get_type), (register_gst_index_flags),
10658         (gst_index_flags_get_type), (register_gst_debug_level),
10659         (gst_debug_level_get_type), (register_gst_debug_color_flags),
10660         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
10661         (gst_iterator_result_get_type), (register_gst_iterator_item),
10662         (gst_iterator_item_get_type), (register_gst_message_type),
10663         (gst_message_type_get_type), (register_gst_mini_object_flags),
10664         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
10665         (gst_pad_link_return_get_type), (register_gst_flow_return),
10666         (gst_flow_return_get_type), (register_gst_activate_mode),
10667         (gst_activate_mode_get_type), (register_gst_pad_direction),
10668         (gst_pad_direction_get_type), (register_gst_pad_flags),
10669         (gst_pad_flags_get_type), (register_gst_pad_presence),
10670         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
10671         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
10672         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
10673         (gst_plugin_error_get_type), (register_gst_plugin_flags),
10674         (gst_plugin_flags_get_type), (register_gst_rank),
10675         (gst_rank_get_type), (register_gst_query_type),
10676         (gst_query_type_get_type), (register_gst_tag_merge_mode),
10677         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
10678         (gst_tag_flag_get_type), (register_gst_task_state),
10679         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
10680         (gst_alloc_trace_flags_get_type),
10681         (register_gst_type_find_probability),
10682         (gst_type_find_probability_get_type), (register_gst_uri_type),
10683         (gst_uri_type_get_type), (register_gst_parse_error),
10684         (gst_parse_error_get_type):
10685         * win32/common/gstenumtypes.h:
10686         * win32/common/gstversion.h:
10687           update visual studio generated files
10688
10689 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10690
10691         * win32/vs6/libgstbase.dsp:
10692         * win32/vs6/libgstelements.dsp:
10693           update project files for new locations
10694
10695 2005-11-30  Thomas Vander Stichele  <thomas at apestaart dot org>
10696
10697         * Makefile.am:
10698           remove some files
10699         * README:
10700           reinstate and update
10701         * DEVEL:
10702         * REQUIREMENTS:
10703           removed
10704         * LICENSE:
10705         * docs/random/LICENSE:
10706           moved to random
10707
10708 2005-11-30  Edward Hervey  <edward@fluendo.com>
10709
10710         * gst/gsttypefind.c: (gst_type_find_register):
10711         * gst/gsttypefind.h:
10712         * gst/gsttypefindfactory.c: (gst_type_find_factory_init),
10713         (gst_type_find_factory_dispose):
10714         * gst/gsttypefindfactory.h:
10715         Fix memory leak in GstTypeFindFactory.
10716
10717 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10718
10719         * gst/gst.c:
10720         * plugins/elements/Makefile.am:
10721         * plugins/elements/gstelements.c:
10722         * plugins/elements/gstqueue.c:
10723           move queue from core to the elements plugin
10724
10725 2005-11-29  Andy Wingo  <wingo@pobox.com>
10726
10727         * libs/gst/base/gstbasetransform.h: 
10728         * libs/gst/base/gstbasesrc.h: 
10729         * libs/gst/base/gstbasesink.h: en-LARGE the padding.
10730
10731         * gst/gstconfig.h.in (GST_PADDING_LARGE): New define, the number
10732         of pointers by which to pad very extensible base classes (like the
10733         ones in libs/gst/base).
10734
10735 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10736
10737         * docs/gst/gstreamer-docs.sgml:
10738         * docs/gst/gstreamer-sections.txt:
10739         * docs/libs/gstreamer-libs-docs.sgml:
10740         * docs/libs/gstreamer-libs-sections.txt:
10741           moving documentation from core to lib
10742
10743 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10744
10745         * check/Makefile.am:
10746         * configure.ac:
10747         * docs/gst/Makefile.am:
10748         * gst/Makefile.am:
10749         * gst/base/.cvsignore:
10750         * gst/base/Makefile.am:
10751         * gst/base/README:
10752         * gst/base/gstadapter.c:
10753         * gst/base/gstadapter.h:
10754         * gst/base/gstbasesink.c:
10755         * gst/base/gstbasesink.h:
10756         * gst/base/gstbasesrc.c:
10757         * gst/base/gstbasesrc.h:
10758         * gst/base/gstbasetransform.c:
10759         * gst/base/gstbasetransform.h:
10760         * gst/base/gstcollectpads.c:
10761         * gst/base/gstcollectpads.h:
10762         * gst/base/gstpushsrc.c:
10763         * gst/base/gstpushsrc.h:
10764         * gst/base/gsttypefindhelper.c:
10765         * gst/base/gsttypefindhelper.h:
10766         * gst/check/Makefile.am:
10767         * gst/check/gstcheck.c:
10768         * gst/check/gstcheck.h:
10769         * gst/net/Makefile.am:
10770         * gst/net/gstnet.h:
10771         * gst/net/gstnetclientclock.c:
10772         * gst/net/gstnetclientclock.h:
10773         * gst/net/gstnettimepacket.c:
10774         * gst/net/gstnettimepacket.h:
10775         * gst/net/gstnettimeprovider.c:
10776         * gst/net/gstnettimeprovider.h:
10777         * libs/gst/Makefile.am:
10778         * libs/gst/base/Makefile.am:
10779         * libs/gst/base/gstbasetransform.c:
10780         * libs/gst/check/Makefile.am:
10781         * plugins/elements/Makefile.am:
10782         * po/POTFILES.in:
10783           CVS surgery + support to move base, check, and net out of gst
10784           and into libs/gst
10785
10786 2005-11-29  Andy Wingo  <wingo@pobox.com>
10787
10788         * gst/gstevent.h (struct _GstEvent): Only one pointer of padding.
10789
10790         * gst/gststructure.h (struct _GstStructure): Only one pointer of
10791         padding.
10792
10793         * gst/gstquery.h (struct _GstQuery): Only one pointer of padding.
10794
10795         * gst/gstpluginfeature.h: Remove a comment in PluginFeature.
10796
10797         * gst/gstplugin.h (struct _GstPluginClass): Add some padding.
10798
10799         * gst/gstobject.h: (struct _GstObject): Only one pointer of
10800         padding; reduces object size by about 30%. We don't expect
10801         anything else to go into gstobject.
10802
10803         * gst/gstminiobject.h (struct _GstMiniObject)
10804         (struct _GstMiniObjectClass): Only one pointer of padding; the
10805         payload is only a pointer and two ints anyway. For the class there
10806         are only two methods as well.
10807         
10808         * gst/gstelement.h (struct _GstElementClass): Removed
10809         the state_changed signal callback, it is not used.
10810
10811 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10812
10813         * docs/gst/gstreamer.types:
10814           fix includes, though they are a little dinky
10815
10816 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10817
10818         * check/Makefile.am:
10819           look in the right place for elements, a lot more chance of
10820           success
10821         * gst/Makefile.am:
10822           remove indexers and elements subdirs
10823         * plugins/Makefile.am:
10824           make indexers conditional
10825
10826 2005-11-29  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
10827
10828         * Makefile.am:
10829         * configure.ac:
10830         * plugins/elements/Makefile.am:
10831         * plugins/elements/gstcapsfilter.c:
10832         * plugins/elements/gstfilesink.c:
10833         * plugins/elements/gstfilesrc.c:
10834         * plugins/elements/gstidentity.c:
10835         * plugins/indexers/Makefile.am:
10836           do CVS surgery and related build fixery to move elements
10837           and indexers in a new gstreamer/plugins directory, out of the
10838           gst/ directory
10839
10840 2005-11-29  Andy Wingo  <wingo@pobox.com>
10841
10842         * check/Makefile.am:
10843         * pkgconfig/gstreamer-net-uninstalled.pc.in:
10844         * pkgconfig/gstreamer-net.pc.in:
10845         * gst/net/Makefile.am: Rename gstnet-tempname to gstnet. Fixes
10846         #322257.
10847
10848 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10849
10850         * tools/Makefile.am:
10851         * tools/gst-complete.1.in:
10852         * tools/gst-complete.c:
10853         * tools/gst-compprep.1.in:
10854         * tools/gst-compprep.c:
10855           removing -compprep and -complete
10856
10857 2005-11-29  Thomas Vander Stichele  <thomas at apestaart dot org>
10858
10859         * gst/gstevent.c: (gst_event_new_new_segment),
10860         (gst_event_parse_new_segment):
10861         * gst/gstevent.h:
10862           fix #320529 - clean up new_segment API and structure.
10863           Let's hope everyone was using the methods, and not the structure.
10864
10865 2005-11-29  Edward Hervey  <edward@fluendo.com>
10866
10867         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
10868         (gst_base_sink_event), (gst_base_sink_do_sync),
10869         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
10870         Properly handle non GST_FORMAT_TIME segment
10871         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
10872         Properly handle non GST_FORMAT_TIME segment
10873         * gst/gstsegment.c:
10874         This function is valid if the accumulator is 0 and the format
10875         is different from the requested format.
10876         
10877 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10878
10879         * docs/gst/gstreamer-sections.txt:
10880         Add gst_query_new_seeking and gst_query_parse_seeking to the
10881         docs.
10882
10883 2005-11-29  Jan Schmidt  <thaytan@mad.scientist.com>
10884
10885         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
10886           Treat a pad alloc with new caps the same as if we were not
10887           negotiated, in order to allow a changing upstream output
10888           to produce a new format of data.
10889
10890 2005-11-29  Edward Hervey  <edward@fluendo.com>
10891
10892         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
10893         (gst_base_transform_event), (gst_base_transform_eventfunc):
10894         The event virtual method is now properly implemented, with a default
10895         handler
10896         Sub classes should call the parent_class event method. They should
10897         return FALSE if they had a problem handling the given event, or don't
10898         want GstBaseTransform to send that even downstream
10899         * gst/elements/gstidentity.c: (gst_identity_class_init),
10900         (gst_identity_init), (gst_identity_event),
10901         (gst_identity_transform_ip), (gst_identity_set_property),
10902         (gst_identity_get_property):
10903         * gst/elements/gstidentity.h:
10904         Added the single-segment boolean property.
10905         If set to TRUE, it will output a single segment of data, starting from
10906         0, will eat up all incoming newsegment, and modify the timestamp of the
10907         buffers accordingly
10908
10909 2005-11-29  Tim-Philipp Müller  <tim at centricular dot net>
10910
10911         * gst/gstghostpad.c: (gst_proxy_pad_get_target):
10912           Don't ref NULL target pad (#322751). Improve docs.
10913
10914 2005-11-29  Michael Smith  <msmith@fluendo.com>
10915
10916         * gst/gstregistryxml.c: (load_plugin):
10917           Don't crash if we failed to load a feature from a plugin. 
10918
10919 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10920
10921         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
10922         (GST_START_TEST):
10923           use more check API and less GLib API
10924
10925 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10926
10927         * Makefile.am:
10928           don't run checks if we don't have check
10929         * common/check.mak:
10930           remove the registry when running make torture
10931         * docs/gst/gstreamer-sections.txt:
10932           remove second multiply
10933         * gst/gstqueue.c: (gst_queue_loop):
10934           fix a compile warning when disabling debug
10935
10936 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10937
10938         * gst/gstinfo.h:
10939         Hey! Let's print the pad name if the pointer != NULL instead
10940         of when it == NULL :-)
10941
10942 2005-11-28  Wim Taymans  <wim@fluendo.com>
10943
10944         * check/gst/gstutils.c: (GST_START_TEST):
10945         Updated check, add some scaling accuracy checking code.
10946
10947         * gst/gstutils.c: (gst_util_div128_64),
10948         (gst_util_uint64_scale_int64), (gst_util_uint64_scale),
10949         (gst_util_uint64_scale_int):
10950         Fix 6 times faster division code. Optimize for common 
10951         1/1 and less common X/1 cases.
10952
10953 2005-11-28  Wim Taymans  <wim@fluendo.com>
10954
10955         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
10956         More checks.
10957
10958         * gst/gstclock.c: (gst_clock_finalize), (gst_clock_set_master),
10959         (do_linear_regression), (gst_clock_add_observation):
10960         Cleanups.
10961         Release lock when the clock cannot be slaved.
10962         Catch the case where the regression returned an invalid denominator.
10963
10964         * gst/gstutils.c: (gst_util_div128_64_iterate),
10965         (gst_util_div128_64), (gst_util_uint64_scale_int64),
10966         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
10967         Add protentially more performant non-iterative 128/64 divide function
10968         that unfortunatly does not work yet.
10969         Shortcut the trivial 0/X = 0 case.
10970         Remove the warnings on overflow.
10971
10972 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
10973
10974         * gst/gstplugin.c: (gst_plugin_register_func):
10975           everything causing a plugin not to load should be at least a WARNING
10976
10977 2005-11-28  Stefan Kost  <ensonic@users.sf.net>
10978
10979         * docs/random/ensonic/dparams.txt:
10980           some TODOs for the next dev cycle
10981         * libs/gst/controller/gstcontroller.c:
10982         (gst_controlled_property_set_interpolation_mode),
10983         (gst_controlled_property_new):
10984         * libs/gst/controller/gstcontroller.h:
10985           use base type to assign acccessor functions
10986
10987 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10988
10989         * check/Makefile.am:
10990         Oops, that should have been top_srcdir
10991
10992 2005-11-28  Jan Schmidt  <thaytan@mad.scientist.com>
10993
10994         * check/Makefile.am:
10995         * check/elements/fdsrc.c: (GST_START_TEST):
10996         Use a cmdline define to specify the location of a file to use for
10997         testing, to avoid breaking distcheck.
10998
10999 2005-11-28  Andy Wingo  <wingo@pobox.com>
11000
11001         * gst/gstpad.c (fixate_value): Use array functions for arrays.
11002
11003 2005-11-28  Edward Hervey  <edward@fluendo.com>
11004
11005         * tools/gst-launch.c: (main):
11006         Clarify the output strings, makes it easier to translate.
11007         Fixes #322626
11008
11009 2005-11-28  Thomas Vander Stichele  <thomas at apestaart dot org>
11010
11011         * gst/Makefile.am:
11012           don't try and build net if we don't even have <sys/socket.h>
11013
11014 2005-11-27  Jan Schmidt  <thaytan@mad.scientist.com>
11015
11016         * check/Makefile.am:
11017         * check/elements/fdsrc.c: (event_func), (setup_fdsrc),
11018         (cleanup_fdsrc), (GST_START_TEST), (fdsrc_suite), (main):
11019           Add tests for fdsrc seekability
11020
11021         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
11022         (gst_fdsrc_init), (gst_fdsrc_update_fd), (gst_fdsrc_start),
11023         (gst_fdsrc_set_property), (gst_fdsrc_is_seekable),
11024         (gst_fdsrc_get_size), (gst_fdsrc_uri_set_uri):
11025         * gst/elements/gstfdsrc.h:
11026           fdsrc should not be a 'live' source.
11027           Implement seeking on seekable fd's.
11028
11029         * gst/gstquery.c: (gst_query_new_seeking),
11030         (gst_query_parse_seeking):
11031         * gst/gstquery.h:
11032           Implement SEEKING query functions: 
11033             *_new_seeking and *_parse_seeking
11034
11035 2005-11-27  Stefan Kost  <ensonic@users.sf.net>
11036
11037         * gst/gstelement.c: (gst_element_dispose):
11038           don't loop forever
11039
11040         * gst/gstiterator.c:
11041         * gst/gststructure.c:
11042           doc fixes
11043
11044         * libs/gst/controller/gstcontroller.c:
11045         (gst_controlled_property_set_interpolation_mode):
11046         * libs/gst/controller/gstcontroller.h:
11047         * libs/gst/controller/gstinterpolation.c:
11048         (interpolate_none_get_enum_value_array):
11049           support controlling enums
11050
11051 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
11052
11053         * gst/gstvalue.c:
11054           Improve documentation for gst_value_union().
11055
11056         * gst/gstvalue.h:
11057           Change return value for union, intersect and subtract functions
11058           from gint to gboolean.
11059
11060 2005-11-27  Tim-Philipp Müller  <tim at centricular dot net>
11061
11062         * gst/gstvalue.c: (gst_value_serialize_any_list),
11063         (gst_value_transform_any_list_string),
11064         (gst_value_deserialize_list), (gst_value_deserialize_array),
11065         (gst_value_set_int_range), (gst_value_deserialize_int_range),
11066         (gst_value_set_double_range), (gst_value_deserialize_double_range),
11067         (gst_value_set_fraction_range_full),
11068         (gst_value_deserialize_fraction_range),
11069         (gst_value_deserialize_caps), (gst_value_deserialize_buffer),
11070         (gst_value_deserialize_boolean),
11071         (gst_value_deserialize_int_helper), (gst_value_deserialize_double),
11072         (gst_value_serialize_float), (gst_value_deserialize_float),
11073         (gst_string_wrap), (gst_value_deserialize_string),
11074         (gst_value_deserialize_enum), (gst_value_deserialize_flags),
11075         (gst_value_union_int_range_int_range),
11076         (gst_value_intersect_int_range_int_range),
11077         (gst_value_intersect_double_range_double_range),
11078         (gst_value_create_new_range), (gst_value_subtract_int_range_int),
11079         (gst_value_subtract_int_range_int_range),
11080         (gst_value_subtract_double_double_range),
11081         (gst_value_subtract_double_range_double_range),
11082         (gst_value_deserialize_fraction):
11083         * gst/gstvalue.h:
11084           Use gint, gdouble and gchar in our API instead of int, double and
11085           char (and make usage in gstvalue.c more consistent).
11086
11087 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11088
11089         * check/Makefile.am:
11090         * libs/gst/controller/Makefile.am:
11091         * libs/gst/dataprotocol/Makefile.am:
11092           fix up Makefile.am and remove GST_ENABLE_NEW
11093
11094 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11095
11096         * configure.ac:
11097         * gst/Makefile.am:
11098         * gst/base/Makefile.am:
11099         * gst/check/Makefile.am:
11100         * gst/elements/Makefile.am:
11101         * gst/net/Makefile.am:
11102           update LDFLAGS use some more
11103
11104 2005-11-27  Thomas Vander Stichele  <thomas at apestaart dot org>
11105
11106         * common/m4/gst-doc.m4:
11107           Fixes #312589
11108
11109 2005-11-26  Edward Hervey  <edward@fluendo.com>
11110
11111         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
11112         This shouldn't issue a g_warning since it returns NULL if it
11113         couldn't find the plugin, and all functions using this behave
11114         properly on a NULL return. Switching to a GST_WARNING.
11115
11116 2005-11-25  Jan Schmidt  <thaytan@mad.scientist.com>
11117
11118         * gst/gstbin.c: (gst_bin_handle_message_func):
11119         Don't leak clock messages.
11120
11121 2005-11-25  Wim Taymans  <wim@fluendo.com>
11122
11123         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11124         (gst_util_uint64_scale_int):
11125         Optimisations, remove unneeded vars.
11126
11127 2005-11-25  Wim Taymans  <wim@fluendo.com>
11128
11129         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11130         Added more checks for the high precision uint64 cases.
11131
11132         * gst/gstutils.c: (gst_util_uint64_scale_int64),
11133         (gst_util_uint64_scale), (gst_util_uint64_scale_int):
11134         Implement high precision (guint64 * guint64) / guint64.
11135
11136 2005-11-24  Wim Taymans  <wim@fluendo.com>
11137
11138         * gst/base/gstbasesrc.c: (gst_base_src_query):
11139         Fix wrong percentage query.
11140
11141         * gst/gstutils.c: (gst_util_uint64_scale),
11142         (gst_util_uint64_scale_int):
11143         Add some more common cases that can be handled 
11144         efficiently to _scale.
11145
11146 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11147
11148         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST),
11149         (gst_mini_object_suite):
11150           don't use check calls from threads; check probably isn't
11151           threadsafe and using a lock to make it threadsafe would
11152           defeat the purpose of this check
11153         * gst/check/gstcheck.c:
11154         * gst/check/gstcheck.h:
11155           use GST_DEBUG some more
11156
11157 2005-11-24  Wim Taymans  <wim@fluendo.com>
11158
11159         * gst/gstutils.c: (gst_util_uint64_scale),
11160         (gst_util_uint64_scale_int):
11161         Chain trivial case to _scale_int.
11162
11163 2005-11-24  Wim Taymans  <wim@fluendo.com>
11164
11165         * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite):
11166         Added test for scaling.
11167
11168         * gst/gstclock.h:
11169         Small doc fix.
11170
11171         * gst/gstutils.c: (gst_util_uint64_scale_int):
11172         Implemented high precision scaling code.
11173
11174 2005-11-24  Stefan Kost  <ensonic@users.sf.net>
11175
11176         * gst/gstinfo.h:
11177           do not crash on pad==NULL
11178
11179 2005-11-24  Thomas Vander Stichele  <thomas at apestaart dot org>
11180
11181         Patch by: Stefan Kost
11182
11183         * common/gtk-doc.mak:
11184         * docs/gst/Makefile.am:
11185         * docs/libs/Makefile.am:
11186           Fix distcheck issues for the libraries docs build
11187           Closes #319599.
11188
11189 2005-11-24  Michael Smith <msmith@fluendo.com>
11190
11191         * docs/manual/basics-helloworld.xml:
11192           Fix bug #315027: memory leak in example code in docs.
11193
11194 2005-11-24  Michael Smith <msmith@fluendo.com>
11195
11196         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11197           Unlock the PREROLL_LOCK in a failure case.
11198
11199 2005-11-24  Wim Taymans  <wim@fluendo.com>
11200
11201         * docs/gst/gstreamer-sections.txt:
11202         * gst/base/gstadapter.h:
11203         * gst/base/gstbasesink.h:
11204         * gst/base/gstbasesrc.h:
11205         * gst/base/gstbasetransform.h:
11206         * gst/base/gstpushsrc.h:
11207         * gst/elements/gstfakesink.h:
11208         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type):
11209         * gst/elements/gstfakesrc.h:
11210         * gst/elements/gstfilesink.h:
11211         * gst/elements/gstfilesrc.h:
11212         * gst/gst.c:
11213         * gst/gstbin.c:
11214         * gst/gstbuffer.c: (_gst_buffer_copy):
11215         * gst/gstbus.h:
11216         * gst/gstcaps.c:
11217         * gst/gstchildproxy.c:
11218         * gst/gstclock.c:
11219         * gst/gstelement.c:
11220         * gst/gstelementfactory.c:
11221         * gst/gstelementfactory.h:
11222         * gst/gstevent.c:
11223         * gst/gstghostpad.h:
11224         * gst/gstindex.h:
11225         * gst/gstinterface.h:
11226         * gst/gstminiobject.c:
11227         * gst/gstminiobject.h:
11228         * gst/gstpad.c:
11229         * gst/gstpad.h:
11230         * gst/gstpadtemplate.h:
11231         * gst/gstpipeline.h:
11232         * gst/gstpluginfeature.h:
11233         * gst/gstquery.h:
11234         * gst/gstqueue.h:
11235         * gst/gsttaglist.c:
11236         * gst/gsttaglist.h:
11237         * gst/gsttagsetter.c:
11238         * gst/gsttagsetter.h:
11239         * gst/gsttrace.c:
11240         * gst/gsttrace.h:
11241         * gst/gsttypefind.h:
11242         * gst/gsturi.h:
11243         * gst/gstvalue.c:
11244         * gst/net/gstnetclientclock.c:
11245         * gst/net/gstnetclientclock.h:
11246         * gst/net/gstnettimepacket.c:
11247         * gst/net/gstnettimeprovider.c:
11248         * gst/net/gstnettimeprovider.h:
11249         Doc fixes.
11250
11251 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11252
11253         * configure.ac: back to HEAD
11254
11255 === release 0.9.6 ===
11256
11257 2005-11-23  Thomas Vander Stichele <thomas at apestaart dot org>
11258
11259         * configure.ac:
11260           releasing 0.9.6, "Always On Time"
11261
11262 2005-11-23  Wim Taymans  <wim@fluendo.com>
11263
11264         * docs/gst/gstreamer-sections.txt:
11265         * gst/glib-compat.c:
11266         * gst/gsttagsetter.c:
11267         * gst/gstvalue.c:
11268         * gst/net/gstnetclientclock.c:
11269         * gst/net/gstnettimepacket.h:
11270         Doc updates.
11271
11272 2005-11-23  Thomas Vander Stichele  <thomas at apestaart dot org>
11273
11274         * docs/faq/using.xml:
11275         * docs/libs/tmpl/gstcontrol.sgml:
11276         * docs/manual/advanced-dparams.xml:
11277         * docs/manual/appendix-checklist.xml:
11278         * docs/manual/basics-elements.xml:
11279         * docs/pwg/other-source.xml:
11280         * docs/random/moving-plugins:
11281         * gst/gstpad.c:
11282         * tools/gst-launch.1.in:
11283           remove mentions of sinesrc
11284
11285 2005-11-23  Michael Smith <msmith@fluendo.com>
11286
11287         * docs/gst/gstreamer-sections.txt:
11288           Update for new API and API changes.
11289         * gst/gstobject.h:
11290           Documentation fix: GST_TRYLOCK -> GST_OBJECT_TRYLOCK
11291         * gst/gstvalue.c:
11292           Documentation typo fix.
11293         * gst/net/gstnettimepacket.c:
11294           Documentation fixes for arguments.
11295
11296 2005-11-23  Jan Schmidt  <thaytan@mad.scientist.com>
11297
11298         * gst/gststructure.c: (gst_structure_get_fraction),
11299         (gst_structure_parse_value),
11300         (gst_structure_fixate_field_nearest_fraction):
11301         * gst/gststructure.h:
11302         * gst/gstutils.c: (gst_util_uint64_scale_int):
11303         * gst/gstutils.h:
11304         * scripts/update-funcnames:
11305         API Changes. 
11306         Rename gst_util_clock_time_scale to gst_util_uint64_scale_int
11307         Make gst_structure_fixate_field_nearest_fraction take a numerator
11308         and denominator argument instead of a GValue
11309         add gst_structure_get_fraction helper function.
11310
11311 2005-11-23  Wim Taymans  <wim@fluendo.com>
11312
11313         * docs/design/part-TODO.txt:
11314         Update TODO.
11315
11316         * gst/net/gstnetclientclock.c: (gst_net_client_clock_thread):
11317         * gst/net/gstnetclientclock.h:
11318         Use parent fields for timeout and window_size.
11319
11320 2005-11-23  Andy Wingo  <wingo@pobox.com>
11321
11322         * check/net/gstnetclientclock.c (test_functioning): Adjust to
11323         rate_num/rate_denom change.
11324
11325         * gst/net/gstnetclientclock.c
11326         (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the
11327         OBJECT_LOCK. Don't call add_observation with the lock.
11328
11329         * gst/gstclock.c (gst_clock_init): Initialize the rate as a
11330         fraction.
11331         (gst_clock_adjust_unlocked): Adjust using uint64_scale and the
11332         rate fraction.
11333         (gst_clock_set_calibration, gst_clock_get_calibration): Change to
11334         deal with rate as a fraction whose numerator and denominator are
11335         GstClockTime values.
11336         (gst_clock_set_master): Only use the OBJECT_LOCK to set the
11337         master; the other fields are protected by the SLAVE_LOCK.
11338         (do_linear_regression): Note that this must be called with the
11339         SLAVE_LOCK.
11340         (gst_clock_add_observation): Take the SLAVE_LOCK, not the
11341         OBJECT_LOCK. Call set_calibration instead of touching the
11342         variables directly.
11343         (gst_clock_set_property, gst_clock_get_property): Protect
11344         master/slave parameters with the SLAVE_LOCK.
11345
11346         * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and
11347         rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and
11348         note that all of the instance variables that add_observation and
11349         the set_master functions use are protected by that lock and not
11350         the OBJECT_LOCK.
11351         (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros.
11352
11353         * gst/gstclock.c (gst_clock_add_observation): No longer requires
11354         the caller to take the object lock.
11355
11356 2005-11-23  Wim Taymans  <wim@fluendo.com>
11357
11358         * gst/gsterror.c: (_gst_core_errors_init):
11359         * gst/gsterror.h:
11360         Add error for clock stuff.
11361
11362         * gst/gstpipeline.c: (gst_pipeline_change_state),
11363         (gst_pipeline_set_clock):
11364         Post clock error when clock cannot be used in a pipeline.
11365
11366 2005-11-23  Stefan Kost  <ensonic@users.sf.net>
11367
11368         * docs/gst/gstreamer-sections.txt:
11369           make two symbols from gstinfo private for the docs
11370         * gst/base/gstcollectpads.h:
11371         * gst/gstutils.c:
11372           fix doc typos, update docs
11373
11374 2005-11-22  Wim Taymans  <wim@fluendo.com>
11375
11376         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
11377         (gst_base_sink_wait), (gst_base_sink_do_sync),
11378         (gst_base_sink_handle_event):
11379         * gst/base/gstbasesink.h:
11380         No need to store the clock, the parent element class already
11381         has it.
11382
11383         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
11384         Updates for clock_set returning a gboolean
11385
11386         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
11387         (gst_clock_id_wait_async), (gst_clock_class_init),
11388         (gst_clock_init), (gst_clock_finalize),
11389         (gst_clock_get_internal_time), (gst_clock_get_time),
11390         (gst_clock_slave_callback), (gst_clock_set_master),
11391         (gst_clock_get_master), (do_linear_regression),
11392         (gst_clock_add_observation), (gst_clock_set_property),
11393         (gst_clock_get_property):
11394         * gst/gstclock.h:
11395         Implement master/slave. When setting a clock as a slave, a
11396         periodic timeout is scheduled to sample master and slave times.
11397         Then the slave clock is recalibrated to match offset and rate
11398         of the master clock.
11399         Update logging a bit.
11400         Add flag so that a clock can state that is cannot be slaved to
11401         another clock.
11402
11403         * gst/gstelement.c: (gst_element_set_clock):
11404         * gst/gstelement.h:
11405         The set clock returns a gboolean for when an element cannot
11406         deal with the selected clock in the pipeline. 
11407
11408         * gst/gstpipeline.c: (gst_pipeline_change_state),
11409         (gst_pipeline_set_clock):
11410         * gst/gstpipeline.h:
11411         Handle the case where the selected clock cannot be set on
11412         the pipeline.
11413
11414         * gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
11415         (gst_net_client_clock_init), (gst_net_client_clock_finalize),
11416         (gst_net_client_clock_set_property),
11417         (gst_net_client_clock_get_property),
11418         (gst_net_client_clock_observe_times):
11419         * gst/net/gstnetclientclock.h:
11420         Use regression code in GstClock parent, remove duplicated
11421         functionality.
11422
11423 2005-11-22  Michael Smith <msmith@fluendo.com>
11424
11425         * gst/gstutils.c: (gst_util_clock_time_scale):
11426         * gst/gstutils.h:
11427         * docs/gst/gstreamer-sections.txt:
11428           Rename method to have extra underscore.
11429
11430 2005-11-22  Thomas Vander Stichele  <thomas at apestaart dot org>
11431
11432         * gst/elements/Makefile.am:
11433         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type):
11434         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
11435         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
11436         (gst_fake_src_init), (gst_fake_src_prepare_buffer),
11437         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size):
11438         * gst/elements/gstfakesrc.h:
11439         * gst/gstqueue.c: (queue_leaky_get_type):
11440           correctly fix GEnumValues so that nick is the short lowercase
11441           dashed tag
11442         * tools/gst-inspect.c: (print_element_properties_info):
11443           also show the nick, since it's useful to use from parse_launch
11444           syntax
11445           Fixes #322139
11446
11447 2005-11-22  Michael Smith <msmith@fluendo.com>
11448
11449         * gst/gstutils.c: (gst_util_clocktime_scale):
11450         * gst/gstutils.h:
11451         * docs/gst/gstreamer-sections.txt:
11452           Add util method for scaling a clocktime by a fraction. Useful 
11453           implementation is left as an exercise for the reader.
11454
11455 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11456
11457         * gst/gstvalue.c: (gst_value_collect_fraction_range):
11458         If needed, allocate storage in the destination value during
11459         collection.
11460
11461 2005-11-22  Edward Hervey  <edward@fluendo.com>
11462
11463         * docs/gst/gstreamer-sections.txt:
11464         * gst/Makefile.am:
11465         * gst/gst.h:
11466         * gst/gsturitype.c:
11467         * gst/gsturitype.h:
11468         * gst/gstutils.c: (gst_util_set_object_arg):
11469         * tools/gst-compprep.c: (main):
11470         * tools/gst-inspect.c: (print_element_properties_info):
11471         Removed GstURI, closes bug #321061
11472
11473 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11474
11475         * check/gst/gststructure.c: (GST_START_TEST):
11476         * gst/gststructure.c: (gst_structure_parse_value):
11477           Oops, broke automatic string type parsing.
11478           Add a test to catch it in future.
11479
11480 2005-11-22  Andy Wingo  <wingo@pobox.com>
11481
11482         * gst/gsttagsetter.c (gst_tag_setter_get_tag_merge_mode) 
11483         (gst_tag_setter_set_tag_merge_mode, gst_tag_setter_get_tag_list):
11484         Actually rename the function implementations. Grr.
11485
11486 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11487
11488         * check/gst/capslist.h:
11489           Comment test cases
11490         * check/gst/gststructure.c: (GST_START_TEST),
11491         (gst_structure_suite):
11492           Test automatic value type detection in gst_structure_from_string.
11493         * gst/gststructure.c: (gst_structure_parse_value):
11494           Add fraction as a type we try and guess automatically in
11495           caps/structure strings.
11496
11497 2005-11-22  Andy Wingo  <wingo@pobox.com>
11498
11499         patch by: Torsten Schoenfeld <kaffeetisch gmx de>
11500
11501         * gst/gsttagsetter.h:
11502         * gst/gsttagsetter.c: (gst_tag_setter_merge_tags)
11503         (gst_tag_setter_add_tags, gst_tag_setter_add_tag_values)
11504         (gst_tag_setter_add_tag_valist)
11505         (gst_tag_setter_add_tag_valist_values): Renamed from _merge, _add,
11506         _add_values, _add_valist, and _add_valist_values. Since this is an
11507         interface the function suffixes should be more explicit so
11508         language binding don't end up with element.add_valist ->
11509         gst_tag_setter_add_valist, for example. Fixes #322069.
11510
11511 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11512
11513         * check/gst/gstcaps.c: (GST_START_TEST):
11514           Extend caps string tests to check that a caps to string
11515           conversion is reversible and produces the same caps.
11516
11517         * gst/gststructure.c: (gst_structure_value_get_generic_type):
11518           Output "fraction" as the generic type fraction range, so caps
11519           serialisation and deserialisation works.
11520         * check/gst/capslist.h:
11521         * gst/gstvalue.c: (gst_value_deserialize_fraction):
11522           Support 'MIN' and 'MAX' for deserialising fractions.
11523
11524 2005-11-22  Andy Wingo  <wingo@pobox.com>
11525
11526         * gst/gstevent.h (gst_event_new_new_segment)
11527         (gst_event_parse_new_segment, gst_event_new_buffer_size)
11528         (gst_event_parse_buffer_size, gst_ghost_pad_new_no_target):
11529         Renamed from *_newsegment, *_buffersize, *_notarget.
11530
11531         * scripts/update-funcnames: New script, performs the changes
11532         listed above.
11533
11534 2005-11-22  Wim Taymans  <wim@fluendo.com>
11535
11536         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
11537         Make sure the GstFlowReturn is returned.
11538
11539         * gst/gstbus.c: (gst_bus_add_signal_watch_full),
11540         (gst_bus_add_signal_watch):
11541         * gst/gstbus.h:
11542         add gst_bus_add_signal_watch_full.
11543
11544         * gst/gstplugin.c: (gst_plugin_load_file):
11545         Small style cleanup.
11546
11547 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11548
11549         * check/gst/gstevent.c: (test_event), (GST_START_TEST):
11550           Block the fakesrc srcpad when we send an event, to avoid
11551           contention on the stream_lock causing random test failures.
11552
11553 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11554
11555         * check/gst/gstvalue.c: (GST_START_TEST):
11556         * gst/gstvalue.c: (gst_value_fraction_subtract):
11557           Fix subtraction.
11558
11559 2005-11-22  Stefan Kost  <ensonic@users.sf.net>
11560
11561         * gst/gst.h:
11562           include "gstchildproxy.h"
11563         * gst/gstchildproxy.h:
11564         * libs/gst/controller/gstcontroller.h:
11565           use G_GNUC_NULL_TERMINATED
11566
11567 2005-11-22  Jan Schmidt  <thaytan@mad.scientist.com>
11568
11569         * check/gst/capslist.h:
11570         * check/gst/gstcaps.c: (GST_START_TEST):
11571         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11572         * gst/gststructure.c: (gst_structure_parse_range),
11573         (gst_structure_fixate_field_nearest_fraction):
11574         * gst/gststructure.h:
11575         * gst/gstvalue.c: (gst_value_init_fraction_range),
11576         (gst_value_free_fraction_range), (gst_value_copy_fraction_range),
11577         (gst_value_collect_fraction_range),
11578         (gst_value_lcopy_fraction_range), (gst_value_set_fraction_range),
11579         (gst_value_set_fraction_range_full),
11580         (gst_value_get_fraction_range_min),
11581         (gst_value_get_fraction_range_max),
11582         (gst_value_serialize_fraction_range),
11583         (gst_value_transform_fraction_range_string),
11584         (gst_value_compare_fraction_range),
11585         (gst_value_deserialize_fraction_range),
11586         (gst_value_intersect_fraction_fraction_range),
11587         (gst_value_intersect_fraction_range_fraction_range),
11588         (gst_value_subtract_fraction_fraction_range),
11589         (gst_value_subtract_fraction_range_fraction),
11590         (gst_value_subtract_fraction_range_fraction_range),
11591         (gst_value_collect_fraction), (gst_value_fraction_multiply),
11592         (gst_value_fraction_subtract), (gst_value_deserialize_fraction),
11593         (gst_value_transform_string_fraction), (_gst_value_initialize):
11594         * gst/gstvalue.h:
11595           Implement fraction ranges and extend GstFraction to support
11596           arithmetic subtraction, as well as deserialization from integer
11597           strings such as "100"
11598           Add a testsuite as for int and double range set operations
11599
11600 2005-11-21  Andy Wingo  <wingo@pobox.com>
11601
11602         * gst/gsttaglist.h: 
11603         * gst/gstcaps.h: 
11604         * gst/gststructure.h: Add glib-compat.h.
11605
11606 2005-11-21  Wim Taymans  <wim@fluendo.com>
11607
11608         * gst/gstbin.c: (gst_bin_change_state_func):
11609         Fix for #321595
11610
11611 2005-11-21  Wim Taymans  <wim@fluendo.com>
11612
11613         * gst/gstsegment.h:
11614         And add a nice define too.
11615
11616 2005-11-21  Wim Taymans  <wim@fluendo.com>
11617
11618         * gst/gstsegment.c: (gst_segment_copy), (gst_segment_get_type),
11619         (gst_segment_new), (gst_segment_free), (gst_segment_init),
11620         (gst_segment_set_duration), (gst_segment_set_last_stop),
11621         (gst_segment_set_seek), (gst_segment_set_newsegment),
11622         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11623         (gst_segment_clip):
11624         * gst/gstsegment.h:
11625         Make binding friendly.
11626
11627 2005-11-21  Andy Wingo  <wingo@pobox.com>
11628
11629         * gst/gsttagsetter.h: 
11630         * gst/gsttaglist.h: 
11631         * gst/gststructure.h: 
11632         * gst/gstcaps.h: 
11633         * gst/gstutils.h: Sprinkle NULL_TERMINATED to taste. Fixes
11634         #319940.
11635
11636         * gst/gsterror.c (_gst_core_errors_init):
11637         * gst/gsterror.h (GST_CORE_ERROR_MISSING_PLUGIN): New error
11638         category.
11639
11640         * gst/Makefile.am (gst_headers): Add glib-compat.h.
11641         (noinst_HEADERS): noinst the -private.
11642
11643 2005-11-21  Michael Smith <msmith@fluendo.com>
11644
11645         * gst/gstplugin.h:
11646         * gst/gstregistry.h:
11647           Remove unimplemented declarations for which we can see no sensible
11648           use.
11649
11650 2005-11-21  Andy Wingo  <wingo@pobox.com>
11651
11652         * gst/gst.h: Include glib-compat.h.
11653
11654         * gst/glib-compat.h: Add G_GNUC_NULL_TERMINATED.
11655
11656         * gst/glib-compat.c: Include the public and the private header.
11657
11658         * gst/glib-compat-private.h: Copied here from glib-compat.h.
11659
11660         * gst/gstvalue.c: 
11661         * gst/gstpad.c: 
11662         * gst/gstregistryxml.c: s/glib-compat/glib-compat-private/.
11663
11664         * check/gst/gstevent.c (create_custom_events): Check that
11665         FLUSH_STOP is serialized.
11666
11667         * check/elements/identity.c (event_func): 
11668         * check/elements/fakesrc.c (event_func): No stream lock, the core
11669         takes it.
11670
11671         * gst/base/gstbasetransform.c (gst_base_transform_event): No more
11672         stream lock taking, yay.
11673
11674         * gst/gstevent.h (GST_EVENT_FLUSH_STOP): Marked as serialized to
11675         ensure that core takes the stream lock.
11676
11677         * gst/base/gstbasesrc.c (gst_base_src_do_seek): Update for stream
11678         lock name change.
11679
11680         * gst/base/gstbasesink.c (gst_base_sink_event): No need to take
11681         the stream lock for EOS, NEWSEGMENT, or FLUSH_STOP, the core does
11682         it already. For the flush start we do take it though so we get the
11683         right preroll state change messages.
11684
11685         * gst/gstqueue.c (gst_queue_sink_activate_push): No need to take
11686         the stream lock here, the core does it for us.
11687
11688         * gst/gstpad.h (GST_PAD_GET_STREAM_LOCK): Renamed from
11689         GST_STREAM_GET_LOCK.
11690         (GST_PAD_STREAM_LOCK, GST_PAD_STREAM_TRYLOCK) 
11691         (GST_PAD_STREAM_UNLOCK, GST_PAD_STREAM_UNLOCK_FULL) 
11692         (GST_PAD_STREAM_LOCK_FULL): Renamed from GST_STREAM_*.
11693         (GST_PAD_GET_PREROLL_LOCK): Renamed from GST_PREROLL_GET_LOCK.
11694         (GST_PAD_PREROLL_LOCK, GST_PAD_PREROLL_TRYLOCK) 
11695         (GST_PAD_PREROLL_UNLOCK): Renamed from GST_PREROLL_*.
11696
11697         * gst/gstpad.c: Update for stream lock name change.
11698
11699         * gst/base/gstbasesink.c: Update for preroll lock name change.
11700
11701 2005-11-21  Wim Taymans  <wim@fluendo.com>
11702
11703         * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master),
11704         (gst_clock_get_master):
11705         * gst/gstclock.h:
11706         * gst/gstsystemclock.c: (gst_system_clock_init):
11707         Convert Clock flags to object flags.
11708         Added methods to manage master/slave clocks.
11709
11710 2005-11-21  Wim Taymans  <wim@fluendo.com>
11711
11712         * check/gst/gstsegment.c: (GST_START_TEST):
11713         * docs/design/part-TODO.txt:
11714         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
11715         (gst_base_sink_event), (gst_base_sink_do_sync),
11716         (gst_base_sink_activate_pull), (gst_base_sink_get_position),
11717         (gst_base_sink_query), (gst_base_sink_change_state):
11718         * gst/base/gstbasesink.h:
11719         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
11720         (gst_base_src_default_newsegment),
11721         (gst_base_src_configure_segment), (gst_base_src_do_seek),
11722         (gst_base_src_get_range), (gst_base_src_loop),
11723         (gst_base_src_change_state):
11724         * gst/base/gstbasesrc.h:
11725         * gst/base/gstbasetransform.c:
11726         (gst_base_transform_prepare_output_buf),
11727         (gst_base_transform_event), (gst_base_transform_change_state):
11728         * gst/base/gstbasetransform.h:
11729         * gst/base/gstcollectpads.c: (gst_collect_pads_add_pad),
11730         (gst_collect_pads_event):
11731         * gst/base/gstcollectpads.h:
11732         * gst/elements/gstfakesrc.c: (gst_fake_src_init),
11733         (gst_fake_src_create):
11734         * gst/elements/gstfakesrc.h:
11735         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
11736         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11737         (gst_segment_set_last_stop), (gst_segment_set_seek),
11738         (gst_segment_set_newsegment), (gst_segment_to_stream_time),
11739         (gst_segment_to_running_time), (gst_segment_clip):
11740         * gst/gstsegment.h:
11741         More segment updates, replace code in plugins with segment
11742         helper functions.
11743
11744 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11745
11746         * gst/elements/gstfdsrc.c: (gst_fdsrc_uri_set_uri):
11747         Don't ignore sscanf results
11748
11749 2005-11-21  Andy Wingo  <wingo@pobox.com>
11750
11751         * gst/gstpad.h (GST_IS_PAD_FAST): Removed.
11752
11753         * *.h:
11754         * *.c: Ran scripts/update-macros. Oh yes.
11755
11756         * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK)
11757         (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from
11758         GST_GET_LOCK, etc.
11759
11760         * scripts/update-macros: New script. Run it on your files to
11761         change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as
11762         well.
11763
11764 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11765
11766         * docs/gst/Makefile.am:
11767         * docs/gst/gstreamer-docs.sgml:
11768         * docs/gst/gstreamer-sections.txt:
11769         * docs/gst/gstreamer.types:
11770         * gst/gstinfo.h:
11771           more docs fixes, add new api to the docs
11772
11773 2005-11-21  Andy Wingo  <wingo@pobox.com>
11774
11775         * gst/gstbin.c (gst_bin_remove_func): Wim claims I can remove this
11776         state_broadcast call.
11777
11778         * gst/gstsegment.c (gst_segment_init): Initialize abs_rate.
11779
11780 2005-11-21  Julien MOUTTE  <julien@moutte.net>
11781
11782         * gst/gstvalue.c: (gst_value_intersect_array): Fix wrong
11783         function calls for arrays.
11784
11785 2005-11-21  Stefan Kost  <ensonic@users.sf.net>
11786
11787         * docs/random/ensonic/media-device-daemon.txt:
11788           wild idea, can this be done?
11789         * docs/gst/gstreamer-sections.txt:
11790         * gst/gsterror.h:
11791         * gst/gstfilter.c:
11792         * gst/gstfilter.h:
11793         * gst/gstplugin.h:
11794         * gst/gstpluginfeature.c:
11795         * gst/gsttrace.c:
11796         * gst/gstvalue.c:
11797         * gst/gstvalue.h:
11798           doc fixes and additions
11799
11800 2005-11-21  Andy Wingo  <wingo@pobox.com>
11801
11802         * gst/base/gstbasesrc.c (GST_LIVE_BROADCAST, GST_LIVE_SIGNAL) 
11803         (GST_LIVE_TIMED_WAIT, GST_LIVE_WAIT, GST_LIVE_GET_COND) 
11804         (GST_LIVE_UNLOCK, GST_LIVE_TRYLOCK, GST_LIVE_LOCK) 
11805         (GST_LIVE_GET_LOCK): Moved here from gstbasesrc.h. They are
11806         private to the basesrc implementation.
11807
11808         * gst/gstpad.c (gst_pad_send_event): Doc more. Take stream lock on
11809         behalf of event function if necessary. It should no longer be
11810         necessary to take the stream lock in pad's event functions. Fixes
11811         #320299.
11812
11813 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11814         * docs/gst/gstreamer-sections.txt:
11815         * gst/gststructure.c: (gst_structure_fixate_field_nearest_int),
11816         (gst_structure_fixate_field_nearest_double),
11817         (gst_structure_fixate_field_boolean):
11818         * gst/gststructure.h:
11819         * win32/common/libgstreamer.def:
11820         * win32/gstreamer.def:
11821
11822         Rename gst_caps_structure_fixate_* to gst_structure_fixate_*
11823         (#322027)
11824
11825 2005-11-21  Jan Schmidt  <thaytan@mad.scientist.com>
11826
11827         * gst/elements/gstfdsrc.c: (_do_init), (gst_fdsrc_class_init),
11828         (gst_fdsrc_init), (gst_fdsrc_dispose), (gst_fdsrc_set_property),
11829         (gst_fdsrc_uri_get_type), (gst_fdsrc_uri_get_protocols),
11830         (gst_fdsrc_uri_get_uri), (gst_fdsrc_uri_set_uri),
11831         (gst_fdsrc_uri_handler_init):
11832         * gst/elements/gstfdsrc.h:
11833           Port fd:// URI handler from 0.8 to fdsrc
11834
11835 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11836
11837         * gst/gstvalue.c: (gst_value_transform_fourcc_string),
11838         (gst_value_serialize_fourcc):
11839         * gst/gstvalue.h:
11840           Drop leading '%' from GST_FOURCC_FORMAT, thus making it
11841           consistent with our other format defines (#320324).
11842
11843 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11844
11845         * gst/gstvalue.c: (gst_value_is_fixed):
11846           Revert previous commit. Value lists are by definition
11847           not fixed, as they are a list of possible values.
11848
11849 2005-11-21  Andy Wingo  <wingo@pobox.com>
11850
11851         * gst/gstevent.h (GST_EVENT_FILLER): Removed. Can be added back
11852         during the stable series if we need it. Fixes #319178.
11853
11854         * gst/gstevent.c (gst_event_new_filler): Removed.
11855
11856         * check/gst/gstevent.c: Update comment about filler events.
11857
11858 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11859
11860         * gst/gstvalue.c: (gst_value_is_fixed):
11861           Should handle both value arrays and value lists.
11862
11863 2005-11-21  Andy Wingo  <wingo@pobox.com>
11864
11865         patch by: Alessandro Dessina <alessandro nnva org>
11866
11867         * gst/gstvalue.c (gst_value_is_fixed): Use gst_value_array
11868         functions to access arrays. Fixes #321962.
11869
11870 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11871
11872         * docs/gst/gstreamer.types:
11873           gst_collectpads_get_type => gst_collect_pads_get_type.
11874           
11875         * gst/base/gstbasetransform.c:
11876           Remove unused SIGNAL_HANDOFF enum.
11877
11878 2005-11-21  Andy Wingo  <wingo@pobox.com>
11879
11880         * gst/gstevent.h (GstEventTypeFlags): New data type, the flags of
11881         the event type (upstream, downstream, serialized). Renamed
11882         GST_EVDIR_* and GST_EVSER to GST_EVENT_TYPE_*.
11883         (GstEventType): Use GstEventTypeFlags. Rename CUSTOM_UP to
11884         CUSTOM_UPSTREAM, CUSTOM_DS to CUSTOM_DOWNSTREAM, etc.
11885
11886         * gst/gstevent.c: Update for new CUSTOM event names.
11887
11888         * check/gst/gstevent.c: Update check for new CUSTOM event names.
11889
11890         * gst/gstevent.h:
11891         * gst/gstevent.c (gst_event_type_get_flags): New function. Fixes
11892         bug #319392.
11893
11894 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11895
11896         * docs/gst/gstreamer-sections.txt:
11897         * win32/common/libgstbase.def:
11898         * win32/libgstbase.def:
11899         * gst/base/gstcollectpads.c: (gst_collect_pads_base_init),
11900         (gst_collect_pads_class_init), (gst_collect_pads_init),
11901         (gst_collect_pads_finalize), (gst_collect_pads_new),
11902         (gst_collect_pads_set_function), (gst_collect_pads_add_pad),
11903         (gst_collect_pads_remove_pad), (gst_collect_pads_is_active),
11904         (gst_collect_pads_collect), (gst_collect_pads_collect_range),
11905         (gst_collect_pads_start), (gst_collect_pads_stop),
11906         (gst_collect_pads_peek), (gst_collect_pads_pop),
11907         (gst_collect_pads_available), (gst_collect_pads_read),
11908         (gst_collect_pads_flush), (gst_collect_pads_event),
11909         (gst_collect_pads_chain):
11910         * gst/base/gstcollectpads.h:
11911           Rename gst_collecpads_foo() => gst_collect_pads_foo(). Document
11912           unimplemented functions as unimplemented. Add padding to
11913           GstCollectData. (#320766, #320423)
11914
11915 2005-11-21  Tim-Philipp Müller  <tim at centricular dot net>
11916
11917         * gst/gstmessage.c:
11918           Improve docs for DURATION message (usage of duration parameter)
11919           (#320113)
11920
11921 2005-11-20  Wim Taymans  <wim@fluendo.com>
11922
11923         * check/Makefile.am:
11924         * check/gst/gstsegment.c: (GST_START_TEST), (gstevents_suite),
11925         (main):
11926         * gst/Makefile.am:
11927         * gst/gst.h:
11928         * gst/gstsegment.c: (gst_segment_init), (gst_segment_set_duration),
11929         (gst_segment_set_seek), (gst_segment_set_newsegment),
11930         (gst_segment_to_stream_time), (gst_segment_to_running_time),
11931         (gst_segment_clip):
11932         * gst/gstsegment.h:
11933         Added segment helper structure and methods. Not fully implemented
11934         yet.
11935         Added segment check.
11936
11937 2005-11-20  Jan Schmidt  <thaytan@mad.scientist.com>
11938
11939         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
11940           Add a deserialisation test for fractions
11941         * examples/metadata/read-metadata.c: (message_loop),
11942         (make_pipeline), (main):
11943           Fix up metadata reading sample.
11944         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
11945           Debug format fix
11946         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
11947           Don't try and fixate empty caps
11948         * gst/gst_private.h:
11949           Wrap in G_BEGIN_DECLS/G_END_DECLS
11950         * gst/gstvalue.c: (gst_value_collect_fraction),
11951         (gst_value_set_fraction), (gst_value_get_fraction_denominator),
11952         (gst_value_transform_string_fraction),
11953         (gst_value_compare_fraction):
11954           Add some extra guards to ensure that we don't end up 
11955           with an invalid denominator of 0 in a gstfraction and
11956           that fractions always get reduced.
11957
11958 2005-11-20  Wim Taymans  <wim@fluendo.com>
11959
11960         * docs/gst/gstreamer-sections.txt:
11961         * gst/gstbuffer.h:
11962         * gst/gstelement.c:
11963         * gst/gstformat.c:
11964         * gst/gstformat.h:
11965         * gst/gstindex.h:
11966         * gst/gstquery.c:
11967         * gst/gstquery.h:
11968         * gst/gstvalue.c:
11969         Doc fixes.
11970
11971 2005-11-20  Wim Taymans  <wim@fluendo.com>
11972
11973         * docs/design/part-TODO.txt:
11974         * gst/gstcaps.h:
11975         Make a proper enum of the flag.
11976
11977 2005-11-19  Wim Taymans  <wim@fluendo.com>
11978
11979         * docs/design/part-TODO.txt:
11980         * gst/gstformat.c: (_gst_format_initialize), (gst_format_get_name),
11981         (gst_format_to_quark), (gst_format_register):
11982         * gst/gstformat.h:
11983         * gst/gstquery.c: (_gst_query_initialize),
11984         (gst_query_type_get_name), (gst_query_type_to_quark),
11985         (gst_query_type_register):
11986         * gst/gstquery.h:
11987         Add type to quark and type to string conversions.
11988
11989 2005-11-19  Andy Wingo  <wingo@pobox.com>
11990
11991         * gst/gstbuffer.h (GST_BUFFER_FLAG_ORIGINAL): Removed. Fixes
11992         #320097.
11993
11994 2005-11-19  Wim Taymans  <wim@fluendo.com>
11995
11996         * docs/design/part-TODO.txt:
11997         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
11998         (gst_bin_add_func), (gst_bin_remove_func), (bin_bus_handler),
11999         (gst_bin_handle_message_func):
12000         * gst/gstbin.h:
12001         Make message handling overridable.
12002
12003 2005-11-19  Andy Wingo  <wingo@pobox.com>
12004
12005         * gst/gstpad.h (GST_PAD_IS_USABLE): Removed. Fixes #321235.
12006
12007         * gst/gstclock.h:
12008         * gst/gstclock.c (GstClock, GstClockClass): Change resolution to
12009         be a GstClockTime.
12010         (gst_clock_set_resolution, gst_clock_get_resolution): Resolution
12011         is a GstClockTime. Fixes #321710.
12012
12013         * gst/gstclock.h (GstClock): Remove offset property. Add
12014         internal_calibration and external_calibration. Fix padding. Pad
12015         also by GstClockTime so we don't run into problems.
12016
12017         * gst/gstclock.c (gst_clock_set_rate_offset): Remove.
12018         (gst_clock_get_rate_offset): Remove.
12019         (gst_clock_set_time_adjust): Remove. Fixes #321712.
12020
12021         * gst/gstutils.h:
12022         * gst/gstutils.c (g_static_rec_cond_wait)
12023         (g_static_rec_cond_timed_wait): Removed, no longer needed.
12024
12025         * gst/gstbin.c: Remove terrible continue_state prototype.
12026
12027         * gst/gstelement.h (gst_element_continue_state): Make public.
12028
12029         * gst/gstelement.h:
12030         * gst/gstelement.c (gst_element_commit_state): Removed, replaced
12031         by continue_state. Fixes #319389.
12032
12033         * gst/gstindex.h (GstIndexFilter): Actually pass on the user_data.
12034         Really fixes #168438. However I don't see anywhere where the
12035         filter function is called... stupid GStreamer...
12036         
12037         * gst/gstindex.h (GstIndex): Add field for user_data_destroy. We
12038         don't have a dispose function, so it won't get called when the
12039         object is unreffed, but oh well!
12040
12041         * gst/gstindex.c (gst_index_set_filter_full): New API function,
12042         allows a destroy function to be set so user_data can be freed.
12043         Fixes #168438.
12044         (gst_index_set_filter): Call gst_index_set_filter_full.
12045
12046         * check/gst/gstvalue.c (test_string): Add test for bug #165650.
12047
12048         * gst/gstvalue.c (gst_string_wrap): Trying to serialize a NULL
12049         string should produce an error, given the lack of a way to
12050         represent NULL strings. Fixes #165650.
12051         
12052         * gst/gstvalue.h: 
12053         * gst/gstvalue.c (gst_value_array_append_value) 
12054         (gst_value_array_prepend_value, gst_value_array_get_size) 
12055         (gst_value_array_get_value): New API, copied from
12056         gst_value_list_*, only operates on arrays.
12057         (gst_value_list_append_value, gst_value_list_prepend_value) 
12058         (gst_value_list_concat, gst_value_list_get_size) 
12059         (gst_value_list_get_value): Only operate on lists. Fixes #156633.
12060
12061         * gst/gstvalue.c (gst_value_init_list_or_array): Renamed from
12062         init_list, because it works on both.
12063         (copy_garray_of_gstvalue): Renamed from gst_value_list_copy_array.
12064         (gst_value_copy_list_or_array): Renamed from copy_list.
12065         (gst_value_free_list_or_array): Renamed from free_list.
12066         (gst_value_collect_list_or_array): Renamed from collect_list.
12067         (gst_value_lcopy_list_or_array): Renamed from lcopy_list.
12068         (gst_value_list_or_array_peek_pointer): Renamed from
12069         list_peek_pointer.
12070         (_gst_value_array_value_table, _gst_value_list_value_table):
12071         Update value table functions.
12072         (gst_value_compare_list_or_array): Renamed from compare_list.
12073
12074         * gsttaglist.h: Whoops, foreach function returns void. Also fix
12075         some constness.
12076
12077         * gst/gsttaglist.c:
12078         * gst/gsttaglist.h (gst_tag_list_foreach): Operates on a const
12079         GstTagList*. Fixes #143472.
12080
12081         * gst/gststructure.h: Clarify what the foreach/map functions can
12082         or can't do to their arguments.
12083
12084 2005-11-18  Wim Taymans  <wim@fluendo.com>
12085
12086         * gst/gstclock.c: (gst_clock_set_calibration),
12087         (gst_clock_get_calibration):
12088         Doc and API fixes.
12089         Calibration can be set with internal time equal to current
12090         internal time too.
12091
12092 2005-11-18  Thomas Vander Stichele  <thomas at apestaart dot org>
12093
12094         * gst/gsterror.c:
12095         * gst/gsterror.h:
12096           document
12097
12098 2005-11-18  Andy Wingo  <wingo@pobox.com>
12099
12100         * configure.ac: 
12101         * pkgconfig/gstreamer-net.pc.in:
12102         * pkgconfig/gstreamer-net-uninstalled.pc.in:
12103         * pkgconfig/Makefile.am: Add net pkgconfig files.
12104
12105 2005-11-18  Stefan Kost  <ensonic@users.sf.net>
12106
12107         * gst/gstcaps.c:
12108         * gst/gstghostpad.c:
12109         * gst/gsttrace.c:
12110         * gst/gstvalue.c:
12111         * gst/gstvalue.h:
12112           docs fixes
12113
12114 2005-11-18  Andy Wingo  <wingo@pobox.com>
12115
12116         * gst/net/gstnetclientclock.c: Turn off debugging.
12117
12118         * check/net/gstnetclientclock.c (test_functioning): Assert that the
12119         times connverge somewhat. Can't make a real test.
12120
12121         * gst/net/gstnetclientclock.c (do_linear_regression): Use all
12122         integer arithmetic. Return the minimum of the domain, which can be
12123         set as "internal" for gst_clock_set_calibration.
12124         (gst_net_client_clock_observe_times): Call _set_calibration.
12125         (gst_net_client_clock_new): Call _set_calibration instead of
12126         rate_offset.
12127
12128         * check/net/gstnetclientclock.c (test_functioning): Use the right
12129         adjustment api.
12130
12131         * gst/gstclock.h:
12132         * gst/gstclock.c (gst_clock_get_calibration) 
12133         (gst_clock_set_calibration): New functions, obsolete the ones I
12134         added yesterday. Doh. Precision issues mean we have to extrapolate
12135         from a point in the more recent past than 1970.
12136         (gst_clock_get_rate_offset, gst_clock_set_rate_offset): Mark as
12137         obsolete.
12138         (gst_clock_adjust_unlocked): Use the right calibration data.
12139
12140 2005-11-18  Edward Hervey  <edward@fluendo.com>
12141
12142         * gst/base/gstbasesink.c: (gst_base_sink_change_state): 
12143         Also reset the ->current_* values in READY->PAUSED
12144
12145 2005-11-18  Andy Wingo  <wingo@pobox.com>
12146
12147         * gst/net/gstnetclientclock.c (gst_net_client_clock_thread):
12148         Whoops, check the right fd. Also add some debugging.
12149         (gst_net_client_clock_observe_times): Adjust for int64 offset.
12150         (do_linear_regression): Add a crapload of debugging. Subtract off
12151         the minimum values from the input series to discard unneeded bits.
12152         Use only int arithmetic. There is still double arithmetic when
12153         calculating the intercept that needs fixing. Return boolean to
12154         indicate success; FALSE would mean the domain or range is too
12155         great. Still needs fixes.
12156
12157 2005-11-18  Wim Taymans  <wim@fluendo.com>
12158
12159         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
12160         For the current position in stream time, we need to subtract
12161         accumulated time.
12162         
12163         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
12164         Release lock before calling the callback function of async
12165         entries.
12166
12167 2005-11-18  Andy Wingo  <wingo@pobox.com>
12168
12169         * gst/net/gstnetclientclock.c (gst_net_client_clock_class_init):
12170         Port goes all the way to MAXUINT16.
12171
12172         * gst/net/gstnettimeprovider.c: Make the port range the same as
12173         for the kernel: 0 assigns, otherwise ports are less than
12174         MAXUINT16.
12175
12176         * check/net/gstnettimeprovider.c: Adapt for 0 == kernel assigns
12177         port change.
12178
12179         * check/net/gstnetclientclock.c (test_functioning): Add the start
12180         of another test. 
12181
12182 2005-11-18  Wim Taymans  <wim@fluendo.com>
12183
12184         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
12185         (gst_bin_remove_func), (bin_bus_handler):
12186         * gst/gstbin.h:
12187         Removing a clock provider from a bin, triggers a clock lost message
12188         so that a new clock will be selected.
12189         Adding a clock to a bin triggers a clock provider message.
12190         Make sure we reselect a clock when we received a clock lost message.
12191         Keep a reference to the element that provided the clock.
12192
12193 2005-11-18  Andy Wingo  <wingo@pobox.com>
12194
12195         * gst/net/gstnetclientclock.c (gst_net_client_clock_new): Adjust
12196         the clock initially so it produces values around the base time.
12197         (gst_net_client_clock_class_init): Typo fix.
12198         (gst_net_client_clock_thread): Add note on when the socket gets
12199         closed.
12200
12201 2005-11-17  Wim Taymans  <wim@fluendo.com>
12202
12203         * gst/net/gstnetclientclock.c: (gst_net_client_clock_finalize):
12204         Free remote and local time arrays.
12205
12206 2005-11-17  Wim Taymans  <wim@fluendo.com>
12207
12208         * gst/net/gstnetclientclock.c: (do_linear_regression),
12209         (gst_net_client_clock_do_select), (gst_net_client_clock_thread):
12210         Fix compilation, uninitialized vars and a forgotten continue.
12211
12212 2005-11-17  Andy Wingo  <wingo@pobox.com>
12213
12214         * check/Makefile.am (check_PROGRAMS): 
12215         * check/net/gstnetclientclock.c: Add a most minimal test for the
12216         net client clock. More to come later.
12217
12218         * gst/net/gstnet.h: 
12219         * gst/net/Makefile.am: Add netclientclock.
12220
12221         * gst/net/gstnetclientclock.h:
12222         * gst/net/gstnetclientclock.c: New files, implement an untested
12223         GstClock that takes its time from a network time provider.
12224         Implements the algorithm in network-clock.scm.
12225
12226         * tests/network-clock.scm (*window-size*): Rename from
12227         *queue-length*.
12228         * tests/network-clock.scm (network-time): 
12229         * tests/network-clock-utils.scm (q-push): Update callers.
12230
12231 2005-11-17  Wim Taymans  <wim@fluendo.com>
12232
12233         * gst/gstbin.c: (gst_bin_provide_clock_func),
12234         (gst_bin_sort_iterator_new):
12235         And unref the child too..
12236
12237 2005-11-17  Wim Taymans  <wim@fluendo.com>
12238
12239         * gst/gstbin.c: (gst_bin_dispose), (gst_bin_provide_clock_func),
12240         (gst_bin_sort_iterator_new), (gst_bin_iterate_sorted):
12241         Refactor the sort iterator so it can be used while holding the
12242         LOCK too.
12243         Make clock selection select a clock closest to the source.
12244
12245 2005-11-17  Michael Smith <msmith@fluendo.com>
12246
12247         * gst/gstclock.c: (gst_clock_init), (gst_clock_adjust_unlocked),
12248         (gst_clock_set_rate_offset), (gst_clock_get_rate_offset):
12249         * gst/gstclock.h:
12250           Anonymous structs are a gcc (and some other compilers) extension, so
12251           don't use them. Since this is only for ABI-compatibility, and our
12252           API/ABI freeze is over in a few days, this whole thing will only
12253           last a few days, so don't bother trying to think up a meaningful
12254           name for the struct.
12255
12256 2005-11-17  Andy Wingo  <wingo@pobox.com>
12257
12258         * gst/gstclock.h (GstClock): Add rate and offset properties,
12259         preserving ABI stability. Add rate/offset accessors. Will file bug
12260         for the freeze break.
12261
12262         * gst/gstclock.c (gst_clock_adjust_unlocked): Implement using rate
12263         and offset, trying to keep precision and avoiding
12264         underflow/overflow.
12265         (gst_clock_set_rate_offset, gst_clock_get_rate_offset): New
12266         functions. Make gst_clock_set_time_adjust obsolete.
12267         (gst_clock_set_time_adjust): Note that this function is obsolete.
12268         Will file bug soon.
12269
12270         * gst/base/gstbasetransform.h: Make the ABI-stability hack
12271         greppable by using GST_PADDING-1+1.
12272
12273 2005-11-17  Torsten Schoenfeld  <kaffeetisch at gmx dot net>
12274
12275         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12276
12277         * gst/gstmessage.c: (gst_message_parse_clock_lost):
12278           Assertion should check for CLOCK_LOST, not NEW_CLOCK (#321648).
12279
12280         * gst/gstpadtemplate.h:
12281         * gst/gstpluginfeature.h:
12282           Don't use c++ style comments in headers (#321638).
12283
12284 2005-11-16  Andy Wingo  <wingo@pobox.com>
12285
12286         * gst/net/gstnettimepacket.c (gst_net_time_packet_send): Free
12287         buffer.
12288
12289         * check/net/gstnettimeprovider.c: Check to see that the time
12290         provider actually provides times. Works, yo!
12291
12292 2005-11-16  Wim Taymans  <wim@fluendo.com>
12293
12294         * check/Makefile.am:
12295         Enable more tests.
12296
12297         * check/elements/fakesrc.c: (GST_START_TEST):
12298         Set element to NULL before disposing it.
12299
12300 2005-11-16  Andy Wingo  <wingo@pobox.com>
12301
12302         * gst/net/Makefile.am:
12303         * gst/net/gstnet.h:
12304         * gst/net/gstnettimeprovider.c: 
12305         * gst/net/gstnettimeprovider.h: Use the timepacket stuff in the
12306         provider, include it from gstnet.h, and add it to the build.
12307
12308         * gst/net/gstnettimepacket.h: 
12309         * gst/net/gstnettimepacket.c: New files, abstracts out the packet
12310         sending and receiving.
12311
12312 2005-11-16  Wim Taymans  <wim@fluendo.com>
12313
12314         * check/Makefile.am:
12315         Enable valgrind check.
12316
12317         * gst/elements/gstfakesrc.c: (gst_fake_src_alloc_parent),
12318         (gst_fake_src_alloc_buffer):
12319         Fix memleak.
12320
12321 2005-11-16  Wim Taymans  <wim@fluendo.com>
12322
12323         * gst/net/gstnettimeprovider.c: (gst_net_time_provider_finalize):
12324         Call parent finalize too.
12325
12326 2005-11-16  Wim Taymans  <wim@fluendo.com>
12327
12328         * check/Makefile.am:
12329         Enable valgrind check that should work fine now.
12330
12331         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12332         * gst/gstqueue.c: (gst_queue_init):
12333         Fix memleaks in pad allocation.
12334
12335 2005-11-16  Andy Wingo  <wingo@pobox.com>
12336
12337         * gst/net/Makefile.am:
12338         * gst/net/gstnet.h: New part of core to hold network elements and
12339         objects. Put in core because it exposes API that applications want
12340         to use. The library is named libgstnet-tempname right now because
12341         of the existing libgstnet in gst-plugins-base. Solution is
12342         probably to rename the one in plugins-base; will file a bug for
12343         the freeze break.
12344
12345         * gst/net/gstnettimeprovider.c: 
12346         * gst/net/gstnettimeprovider.h: New object to export a GstClock's
12347         get_time call over the network.
12348
12349         * configure.ac: 
12350         * gst/Makefile.am (lib_LTLIBRARIES): Add gstnet to the build.
12351
12352         * check/Makefile.am:
12353         * check/net/gstnettimeprovider.c: A most minimal test suite. Will
12354         get additions shortly.
12355
12356 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12357
12358         * gst/gstpad.c: (gst_pad_new_from_static_template):
12359         * gst/gstpad.h:
12360           add gst_pad_new_from_static_template functions
12361         * gst/check/gstcheck.c: (gst_check_setup_src_pad),
12362         (gst_check_setup_sink_pad):
12363         * gst/elements/gsttee.c: (gst_tee_init):
12364           and use them
12365
12366 2005-11-16  Wim Taymans  <wim@fluendo.com>
12367
12368         * gst/gstpad.c: (gst_pad_pause_task):
12369         Removed warning, it's not really an error either.
12370
12371 2005-11-16  Wim Taymans  <wim@fluendo.com>
12372
12373         * gst/base/gstbasetransform.c:
12374         (gst_base_transform_prepare_output_buf),
12375         (gst_base_transform_event):
12376         Check if the caps are NULL, this can happen if the element
12377         is shutting down and the pad caps are set to NULL.
12378
12379 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12380
12381         * gst/elements/gsttee.c: (gst_tee_init):
12382           fix pad template leak in tee
12383
12384 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12385
12386         * gst/glib-compat.c: (g_value_dup_gst_object):
12387         * gst/glib-compat.h:
12388         * gst/gstpad.c: (gst_pad_set_property):
12389           use gst_object_ref when setting the pad template; this will
12390           trigger the pad template leaks on GLib 2.6 and the slaves
12391
12392 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12393
12394         * gst/glib-compat.c: (gst_flags_get_first_value):
12395         * gst/glib-compat.h:
12396         * gst/gstregistryxml.c:
12397           remove functions copied from GLib 2.6
12398
12399 2005-11-16  Michael Smith <msmith@fluendo.com>
12400
12401         * gst/Makefile.am:
12402           Don't link against VALGRIND_LIBS. That was always the wrong thing to
12403           do, but only breaks with newer valgrind versions. We're not a
12404           valgrind tool, we have no link-time dependencies on libcoregrind.
12405
12406 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12407
12408         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
12409           some debug changes
12410         * gst/gstmessage.h:
12411           typo fixes
12412
12413 2005-11-16  Thomas Vander Stichele  <thomas at apestaart dot org>
12414
12415         * gst/base/gstbasesrc.c: (gst_base_src_init):
12416         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12417         * gst/gstqueue.c: (gst_queue_init):
12418         * gst/gstregistryxml.c: (load_feature):
12419           Revert all these unrefs, they don't even pass make check !
12420
12421 2005-11-15  Johan Dahlin  <johan@gnome.org>
12422
12423         * gst/base/gstbasesrc.c: (gst_base_src_init):
12424         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12425         * gst/gstqueue.c: (gst_queue_init): 
12426         Free pad templates, fixes a couple of leaks.
12427
12428 2005-11-15  Daniel Fischer  <dan at f3c dot com>
12429
12430         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
12431
12432         * gst/gstpad.c: (gst_pad_get_property):
12433           GST_PAD_PAD_TEMPLATE(pad) gets the pad template, while
12434           GST_PAD_TEMPLATE(pad) does a cast. We want the former here.
12435           (#321452)
12436
12437 2005-11-15  Wim Taymans  <wim@fluendo.com>
12438
12439         * gst/gstevent.c:
12440         Small doc update.
12441
12442 2005-11-15  Andy Wingo  <wingo@pobox.com>
12443
12444         * gst/gstelement.c (gst_element_set_base_time): Add debugging.
12445
12446         * gst/gstpipeline.c (gst_pipeline_set_new_stream_time): Document
12447         using GST_CLOCK_TIME_NONE to disable base time management.
12448         (do_pipeline_seek, gst_pipeline_change_state): Don't reset stream
12449         time if it was NONE before.
12450         (gst_pipeline_change_state): Only munge the base time if
12451         stream_time != GST_CLOCK_TIME_NONE.
12452
12453         * check/gst/gstpipeline.c (test_base_time): Punt around the
12454         problem of the probe not being called, because that's not the
12455         issue I'm looking at. Add a check that setting stream_time to NONE
12456         disables base time management.
12457         
12458 2005-11-15  Wim Taymans  <wim@fluendo.com>
12459
12460         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
12461         segment_stop == -1 at startup.
12462
12463         * gst/base/gstbasetransform.c: (gst_base_transform_event),
12464         (gst_base_transform_change_state):
12465         Init segment values at start.
12466
12467 2005-11-15  Wim Taymans  <wim@fluendo.com>
12468
12469         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
12470         0 segment values are 0 in any format.
12471
12472         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12473         * gst/base/gstbasetransform.h:
12474         Parse newsegment correctly in basetransform
12475
12476         * gst/elements/gstidentity.c: (gst_identity_transform_ip):
12477         Sync to clock using updated segment values.
12478
12479 2005-11-15  Andy Wingo  <wingo@pobox.com>
12480
12481         * check/gst/gstpipeline.c (test_base_time): Add check that the
12482         base time and stream time are reset correctly.
12483
12484 2005-11-15  Wim Taymans  <wim@fluendo.com>
12485
12486         * docs/design/part-TODO.txt:
12487         Some more TODO items.
12488
12489 2005-11-15  Andy Wingo  <wingo@pobox.com>
12490
12491         * gst/elements/gstfakesrc.c (gst_fake_src_create): It's not an
12492         error if the user selected "no clock" as the clocking method.
12493
12494         * check/gst/gstpipeline.c (test_base_time): New test for buffer
12495         timestamps with live capture.
12496
12497         * gst/elements/gstfakesrc.c (gst_fake_src_create): If the datarate
12498         is 0 but we are a live source, timestamp the buffers using the
12499         element's clock.
12500
12501 2005-11-14  Stefan Kost  <ensonic@users.sf.net>
12502
12503         * docs/gst/gstreamer-sections.txt:
12504         * gst/gsterror.c:
12505         * gst/gstghostpad.c:
12506         * gst/gstobject.h:
12507         * gst/gstxml.c:
12508           more section docs
12509
12510 2005-11-14  Wim Taymans  <wim@fluendo.com>
12511
12512         * common/gst.supp:
12513           add suppressions from Wim's Debian machine
12514
12515 2005-11-14  Thomas Vander Stichele  <thomas at apestaart dot org>
12516
12517         * common/gst.supp:
12518           add suppressions from Andy's AMD64 Ubuntu machine
12519
12520 2005-11-14  Andy Wingo  <wingo@pobox.com>
12521
12522         * gst/gstpad.c (gst_pad_set_active): Change docs; parent's
12523         STATE_LOCK not necessary. Fixes #311489.
12524
12525         * gst/gsterror.c (FILE_A_BUG): Be polite *and* helpful. Fixes
12526         #305291.
12527
12528         * gst/gstindex.c (gst_index_add_object): Note in the docs that
12529         this function is not implemented.
12530
12531 2005-11-14  Julien MOUTTE  <julien@moutte.net>
12532
12533         * gst/base/gstbasetransform.c:
12534         (gst_base_transform_prepare_output_buf):
12535         Ref the source pad caps while we need them.
12536         Fixes (#321386)
12537
12538 2005-11-11  Wim Taymans  <wim@fluendo.com>
12539
12540         * docs/gst/gstreamer-sections.txt:
12541         Added some docs for GstCollectData.
12542
12543         * gst/base/gstadapter.c:
12544         Some small code example fix.
12545
12546         * gst/base/gstcollectpads.c:
12547         * gst/base/gstcollectpads.h:
12548         Document some more.
12549
12550 2005-11-11  Thomas Vander Stichele  <thomas at apestaart dot org>
12551
12552         * configure.ac: back to HEAD
12553
12554 === release 0.9.5 ===
12555
12556 2005-11-11  Thomas Vander Stichele <thomas at apestaart dot org>
12557
12558         * configure.ac:
12559           releasing 0.9.5, "Bike Lunch Day"
12560
12561 2005-11-11  Wim Taymans  <wim@fluendo.com>
12562
12563         * gst/gstbuffer.c: (_gst_buffer_copy):
12564         Copy more flags.
12565
12566         * gst/gstcaps.c: (gst_caps_is_equal):
12567         Fix some docs.
12568         Make _is_equal fast in the trivial cases.
12569
12570         * gst/gstminiobject.c:
12571         * gst/gstminiobject.h:
12572         More docs. Spifify .h file.
12573
12574         * gst/gstutils.c:
12575         Small doc update.
12576
12577 2005-11-11  Wim Taymans  <wim@fluendo.com>
12578
12579         * gst/base/gstbasetransform.c:
12580         (gst_base_transform_prepare_output_buf),
12581         (gst_base_transform_handle_buffer):
12582         Small cleanups.
12583         If we're processing a buffer and need to allocate an output
12584         buffer, we cannot accept a format change. If we did get a 
12585         format change, we have to alloc a buffer ourselves of the 
12586         right size.
12587
12588 2005-11-11  Wim Taymans  <wim@fluendo.com>
12589
12590         * gst/gstpad.c: (gst_pad_get_caps), (gst_pad_peer_get_caps):
12591         While checking the flag for reentrancy in the gstcaps function
12592         is nice to detect recursive invocations, it also makes it 
12593         impossible to call getcaps from multiple threads, which must be
12594         possible. So, checking for recursive calls has to go.
12595
12596 2005-11-11  Michael Smith <msmith@fluendo.com>
12597
12598         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12599           Don't sync on buffers that fall partially outside our current
12600           segment. Prevents an assertion failure/abort playing some files.
12601
12602 2005-11-10  Andy Wingo  <wingo@pobox.com>
12603
12604         * check/gst/gstbin.c (test_message_state_changed_children): Style
12605         fix..
12606
12607         * gst/gstbus.c (poll_destroy, poll_func, gst_bus_poll): Implement
12608         gst_bus_poll with the signal watch. Ensures that poll and a signal
12609         watch see the same messages.
12610
12611         * check/gst/gstbus.c (test_watch_with_poll): New test, checks that
12612         a poll and a watch at the same time get the same messages.
12613
12614 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12615
12616         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps):
12617         * gst/gstcaps.c: (gst_caps_intersect):
12618           Don't call gst_caps_do_simplify - it doesn't respect order of caps
12619           and it's not needed.
12620
12621 2005-11-10  Wim Taymans  <wim@fluendo.com>
12622
12623         * docs/design/part-TODO.txt:
12624         Updated todo.
12625
12626 2005-11-10  Wim Taymans  <wim@fluendo.com>
12627
12628         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
12629         * gst/base/gstbasesrc.c: (gst_base_src_wait),
12630         (gst_base_src_do_sync), (gst_base_src_get_range):
12631         Implement clock sync in base class.
12632
12633 2005-11-10  Thomas Vander Stichele  <thomas at apestaart dot org>
12634
12635         patch by: Tim-Philipp Müller <tim at centricular dot net>
12636
12637         * gst/gststructure.c: (gst_structure_parse_field),
12638         (gst_structure_from_string):
12639           Forward-port a 0.8 patch to handle escaped spaces in structure string,
12640           so that gst_parse_launch() can deal with spaces in filtered link
12641           caps (fixes #164479)
12642         * check/gst/capslist.h:
12643         * check/gst/gststructure.c: (GST_START_TEST):
12644           add unit tests for this change
12645
12646 2005-11-10  Wim Taymans  <wim@fluendo.com>
12647
12648         * docs/gst/gstreamer-sections.txt:
12649         * gst/gstelement.c:
12650         * gst/gstelement.h:
12651         Fix docs, move some STATE macros to private.
12652
12653 2005-11-10  Wim Taymans  <wim@fluendo.com>
12654
12655         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
12656         Added check for bug #317341
12657
12658         * gst/gstbuffer.c:
12659         * gst/gstbuffer.h:
12660         Some more spiffifying.
12661
12662         * gst/gstghostpad.c: (gst_ghost_pad_do_link):
12663         Call peer linkfunction if we are a source pad. Totally fixes
12664         #317341
12665
12666         * gst/gstpad.c:
12667         Update docs, source pads should call the peer linkfunction
12668         so they can atomically perform the pad link.
12669
12670 2005-11-09  Wim Taymans  <wim@fluendo.com>
12671
12672         * gst/gstbuffer.c:
12673         * gst/gstbuffer.h:
12674         Uber-spiffy-spiffify some more.
12675
12676 2005-11-09  Tim-Philipp Müller  <tim at centricular dot net>
12677
12678         * gst/base/gstcollectpads.c: (gst_collectpads_add_pad):
12679         * gst/elements/gstfilesink.c: (gst_file_sink_init):
12680         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init):
12681         * gst/gstghostpad.c: (gst_ghost_pad_set_internal),
12682         (gst_ghost_pad_init), (gst_ghost_pad_new_notarget):
12683         * gst/gstpad.c: (gst_pad_init):
12684           Use GST_DEBUG_FUNCPTR() more extensively.
12685
12686 2005-11-09  Wim Taymans  <wim@fluendo.com>
12687
12688         * gst/gstobject.c: (gst_object_class_init):
12689         * gst/gstobject.h:
12690         Documentation fixes.
12691
12692 2005-11-09  Edward Hervey  <edward@fluendo.com>
12693
12694         * gst/gsttypefindfactory.c:
12695         Fix docs.
12696         
12697 2005-11-09  Edward Hervey  <edward@fluendo.com>
12698
12699         * gst/base/gsttypefindhelper.c:
12700         * gst/gsttypefind.c:
12701         * gst/gsttypefind.h:
12702         Fix docs.
12703
12704 2005-11-09  Wim Taymans  <wim@fluendo.com>
12705
12706         * gst/gstiterator.c:
12707         Fix revision data.
12708
12709         * gst/gsttask.c:
12710         * gst/gsttask.h:
12711         Fix docs.
12712
12713 2005-11-09  Wim Taymans  <wim@fluendo.com>
12714
12715         * gst/gstevent.h:
12716         * gst/gsturi.h:
12717         Fix docs.
12718
12719 2005-11-09  Wim Taymans  <wim@fluendo.com>
12720
12721         * docs/gst/gstreamer-sections.txt:
12722         Moved the message async delivery private lock and cond
12723         to the private section.
12724
12725         * gst/gstmessage.c:
12726         * gst/gstmessage.h:
12727         Fixed docs.
12728
12729 2005-11-09  Edward Hervey  <edward@fluendo.com>
12730
12731         * docs/gst/gstreamer-sections.txt:
12732         * gst/gsturi.c:
12733         * gst/gsturi.h:
12734         Document GstURIHandler
12735
12736 2005-11-09  Wim Taymans  <wim@fluendo.com>
12737
12738         * gst/gstiterator.c: (gst_iterator_fold), (gst_iterator_foreach),
12739         (gst_iterator_find_custom):
12740         * gst/gstiterator.h:
12741         Fix iterator docs.
12742
12743 2005-11-09  Wim Taymans  <wim@fluendo.com>
12744
12745         * gst/gstbin.h:
12746         Document another field.
12747
12748         * gst/gststructure.c:
12749         * gst/gststructure.h:
12750         Document.
12751
12752 2005-11-09  Wim Taymans  <wim@fluendo.com>
12753
12754         * gst/gstbin.h:
12755         Documented structs.
12756
12757 2005-11-09  Wim Taymans  <wim@fluendo.com>
12758
12759         * docs/gst/gstreamer-sections.txt:
12760         Added some new macros.
12761
12762         * gst/gstclock.c:
12763         * gst/gstclock.h:
12764         * gst/gstobject.h:
12765         Docs updates.
12766
12767 2005-11-09  Wim Taymans  <wim@fluendo.com>
12768
12769         * docs/design/part-TODO.txt:
12770         Some more items for the TODO
12771
12772         * gst/gstcaps.c:
12773         * gst/gstcaps.h:
12774         Document GstCaps.
12775
12776 2005-11-09  Andy Wingo  <wingo@pobox.com>
12777
12778         * gst/base/gstbasesink.c: Add the beginning of docs here -- have
12779         to work on something else now tho...
12780
12781         * gst/base/gstadapter.c: More adapter docs.
12782
12783         * gst/elements/gstfilesink.c (gst_file_sink_start) 
12784         (gst_file_sink_stop): New functions, replace the state change
12785         handler.
12786         (gst_file_sink_class_init): Hook up the start and stop functions.
12787         (gst_file_sink_base_init): Don't set the state change handler any
12788         more. It was a bit ugly too, being set from here...
12789         (gst_file_sink_get_property, gst_file_sink_set_property):
12790         Cleanups...
12791         (gst_file_sink_set_location): More robust check that doesn't call
12792         GST_STATE. Ugggggg.
12793
12794 2005-11-08  Tim-Philipp Müller  <tim at centricular dot net>
12795
12796         * gst/base/gstbasetransform.c: (gst_base_transform_event):
12797           Hold STREAM_LOCK while pushing newsegment or tag events as well.
12798
12799 2005-11-08  Wim Taymans  <wim@fluendo.com>
12800
12801         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
12802         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
12803         (gst_base_sink_chain), (gst_base_sink_change_state):
12804         * gst/base/gstbasesink.h:
12805         * gst/base/gstbasesrc.h:
12806         * gst/gstelement.h:
12807         * gst/gstevent.h:
12808         Avoid excessive typechecking in macros.
12809
12810         * gst/gstminiobject.c: (gst_mini_object_get_type),
12811         (gst_mini_object_init), (gst_mini_object_new),
12812         (gst_mini_object_free):
12813         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
12814         (gst_object_finalize):
12815         Remove cruft code, optimize alloc_trace.
12816
12817 2005-11-07  Thomas Vander Stichele  <thomas at apestaart dot org>
12818
12819         * docs/faq/gst-uninstalled:
12820           fix up PS1 for systems that try to reset it
12821
12822 2005-11-07  Wim Taymans  <wim@fluendo.com>
12823
12824         * gst/base/gstbasesrc.c: (gst_base_src_init),
12825         (gst_base_src_get_range):
12826         Set the segment_end to -1 initially. Fixed typefind.
12827
12828 2005-11-07  Tim-Philipp Müller  <tim at centricular dot net>
12829
12830         * gst/base/gstadapter.c:
12831           Debug category should be 'adapter', not 'GstAdapter'.
12832           
12833         * gst/base/gstcollectpads.c: (gst_collectpads_base_init),
12834         (gst_collectpads_class_init), (gst_collectpads_init),
12835         (gst_collectpads_peek), (gst_collectpads_pop),
12836         (gst_collectpads_event), (gst_collectpads_chain):
12837           Add debug category and some debugging output. Use boilerplate
12838           macros. Remove some extraneous words from docs.
12839
12840 2005-11-05  Andy Wingo  <wingo@pobox.com>
12841
12842         * gst/base/gstpushsrc.c: Shorten by 30% via use of boilerplate
12843         macro.
12844
12845 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12846
12847         * docs/gst/gstreamer-sections.txt:
12848         * gst/gstcaps.h:
12849         * gst/gstinfo.c:
12850         * gst/gstminiobject.h:
12851         * gst/gstobject.h:
12852         * gst/gstutils.h:
12853           more docs added
12854
12855 2005-11-04  Wim Taymans  <wim@fluendo.com>
12856
12857         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12858         Small update to stop at the configured segment_end
12859         position.
12860
12861 2005-11-04  Stefan Kost  <ensonic@users.sf.net>
12862
12863         * gst/gstregistry.c:
12864         * gst/gstregistry.h:
12865           added missing docs
12866
12867 2005-11-04  Edward Hervey  <edward@fluendo.com>
12868
12869         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
12870         Check if we are doing a segment seek and have arrived at the
12871         end of that segment.
12872
12873 2005-11-04  Wim Taymans  <wim@fluendo.com>
12874
12875         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_sync_handler):
12876         Don't leak a mutex unlock in case of an error.
12877
12878         * gst/gstbus.h:
12879         Doc fixes.
12880
12881 2005-11-04  Wim Taymans  <wim@fluendo.com>
12882
12883         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_init),
12884         (gst_bus_post):
12885         Get the context to wake up only once.
12886
12887 2005-11-03  Wim Taymans  <wim@fluendo.com>
12888
12889         * check/states/sinks.c: (GST_START_TEST):
12890         Uncomment fixed check.
12891
12892         * docs/design/part-TODO.txt:
12893         Updated TODO.
12894
12895         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12896         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12897         (gst_base_sink_get_position):
12898         If we are going to PLAYING, post the right pending state
12899         when we post the intermediate paused message.
12900
12901         * gst/gstelement.c: (gst_element_continue_state),
12902         (gst_element_set_state_func), (gst_element_change_state):
12903         Don't post state changes that were between the same state
12904         and were not ASYNC.
12905
12906 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
12907
12908         * docs/gst/gstreamer-sections.txt:
12909         * gst/gstcaps.h:
12910         * gst/gstinfo.c:
12911         * gst/gstminiobject.h:
12912         * gst/gstobject.h:
12913         * gst/gstutils.h:
12914           more docs and doc style fixes
12915
12916 2005-11-03  Stefan Kost  <ensonic@users.sf.net>
12917
12918         * docs/gst/gstreamer-sections.txt:
12919         * gst/gstelement.c:
12920         * gst/gstminiobject.c:
12921         doc fixes
12922
12923 2005-11-03  Andy Wingo  <wingo@pobox.com>
12924
12925         * check/states/sinks.c (test_livesrc_sink): Add checks that the
12926         state-changed messages actually have the right order and the right
12927         values.
12928
12929 2005-11-03  Wim Taymans  <wim@fluendo.com>
12930
12931         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
12932         Added some more checks. Specifically the case where NO_PREROLL
12933         elements are in the pipeline.
12934
12935         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
12936         (gst_base_sink_handle_object), (gst_base_sink_do_sync),
12937         (gst_base_sink_get_position):
12938         Post READY->PAUSED state change messages too.
12939         Fix bug where VOID was posted as pending state...
12940
12941         * gst/gstbin.c: (gst_bin_recalc_state):
12942         use _element_continue_state() to continue the state change.
12943
12944         * gst/gstelement.c: (gst_element_continue_state),
12945         (gst_element_commit_state), (gst_element_set_state_func),
12946         (gst_element_change_state), (gst_element_change_state_func):
12947         Lots of state change cleanups, assign the STATE_RETURN in
12948         a new continue_state() function that also propagates the
12949         last return value from a state change to the app.
12950         Update some debug statements with proper category.
12951
12952 2005-11-03  Wim Taymans  <wim@fluendo.com>
12953
12954         * docs/design/part-events.txt:
12955         * docs/design/part-gstpipeline.txt:
12956         * docs/design/part-messages.txt:
12957         * docs/design/part-overview.txt:
12958         * docs/design/part-seeking.txt:
12959         * docs/design/part-states.txt:
12960         * docs/design/part-trickmodes.txt:
12961         * docs/manual/advanced-position.xml:
12962         Small docs updates.
12963
12964         * gst/gstobject.h:
12965         People think !! is ugly, this looks better.
12966
12967         * gst/gstpad.c: (gst_pad_set_blocked_async):
12968         Remove !! since it's fixed elsewhere now.
12969
12970 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12971
12972         * gst/gstminiobject.h:
12973         * gst/gstobject.h:
12974           Add !! to _FLAG_IS_SET macros to make the result boolean.
12975
12976 2005-11-03  Edward Hervey  <edward@fluendo.com>
12977
12978         * gst/gstpad.c: (gst_pad_set_blocked_async):
12979         comparing a flag and a gboolean rarely returns coherent results...
12980         Added two characters (!!) to make that work correctly.
12981         
12982 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12983
12984         * gst/gstbus.c: (gst_bus_class_init):
12985           Fix some typos.
12986           
12987         * gst/gstqueue.c: (gst_queue_loop):
12988           Don't assume a miniobject that isn't a buffer is an
12989           event (it could be that there is a refcounting
12990           problem somewhere and the pointer is stale and
12991           refers to an already destroyed miniobject).
12992
12993 2005-11-03  Julien MOUTTE  <julien@moutte.net>
12994
12995         * gst/gstpad.c: (gst_pad_alloc_buffer): Fix some typos.
12996
12997 2005-11-03  Tim-Philipp Müller  <tim at centricular dot net>
12998
12999         * docs/manual/advanced-position.xml:
13000           Update seek example and explanations to current 0.9 API.
13001
13002         * gst/elements/gsttypefindelement.c:
13003         (gst_type_find_element_activate):
13004           Remove FIXME comment now that the found caps
13005           are unreffed.
13006
13007 2005-11-03  Thomas Vander Stichele  <thomas at apestaart dot org>
13008
13009         * gst/gstregistryxml.c: (load_feature):
13010           Add another GST_STR_NULL instance
13011
13012 2005-11-02  Edward Hervey  <edward@fluendo.com>
13013
13014         * gst/gstpad.c: (handle_pad_block):
13015         Follow-up to Wim's patch, solves deadlock for blocked and flushing pads
13016         
13017 2005-11-02  Wim Taymans  <wim@fluendo.com>
13018
13019         * gst/gstbin.c:
13020         Fix typo in docs.
13021
13022         * gst/gstelement.c: (gst_element_commit_state):
13023         Remove unused value.
13024
13025         * gst/gstiterator.c:
13026         Mention that the returned element is reffed in the docs.
13027
13028 2005-11-02  Wim Taymans  <wim@fluendo.com>
13029
13030         * gst/gstpad.c: (gst_pad_alloc_buffer), (handle_pad_block),
13031         (gst_pad_push), (gst_pad_push_event):
13032         Unlock blocked pads when they are flushed.
13033
13034 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13035
13036         * docs/README:
13037         * docs/gst/gstreamer-sections.txt:
13038         * gst/gstbin.c:
13039           doc updates
13040         * gst/gstregistry.c: (gst_registry_scan_path_level):
13041           fix for a nasty little missed situation where an installed plug-in
13042           which was in the cache did not get overridden by an uninstalled one
13043           which was earlier in the plugin path because the newly created plugin
13044           for the uninstalled one (not in the registry) didn't get its
13045           ->registered set to TRUE
13046
13047 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
13048
13049         * gst/base/gstcollectpads.c: (gst_collectpads_set_function),
13050         (gst_collectpads_add_pad), (gst_collectpads_remove_pad),
13051         (gst_collectpads_is_active), (gst_collectpads_collect),
13052         (gst_collectpads_collect_range), (gst_collectpads_start),
13053         (gst_collectpads_stop), (gst_collectpads_peek),
13054         (gst_collectpads_pop), (gst_collectpads_available),
13055         (gst_collectpads_read), (gst_collectpads_flush):
13056           Guard public API with assertions.
13057         
13058         * gst/gstpad.c:
13059           Fix docs for gst_pad_set_link_function().
13060
13061 2005-11-02  Johan Dahlin  <johan@gnome.org>
13062
13063         * gst/elements/gsttypefindelement.c (gst_type_find_element_activate): 
13064         Unref found_caps after we used it.
13065
13066 2005-11-02  Tim-Philipp Müller  <tim at centricular dot net>
13067
13068         * gst/base/gstcollectpads.c: (gst_collectpads_peek):
13069           Don't try to ref NULL.
13070
13071 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13072
13073         * win32/common/config.h.in:
13074           provide a GST_FUNCTION that just gives a string for now
13075
13076 2005-11-02  Thomas Vander Stichele  <thomas at apestaart dot org>
13077
13078         * win32/common/gstenumtypes.c: (register_gst_object_flags),
13079         (gst_object_flags_get_type), (register_gst_bin_flags),
13080         (gst_bin_flags_get_type), (register_gst_buffer_flag),
13081         (gst_buffer_flag_get_type), (register_gst_bus_flags),
13082         (gst_bus_flags_get_type), (register_gst_bus_sync_reply),
13083         (gst_bus_sync_reply_get_type), (register_gst_clock_return),
13084         (gst_clock_return_get_type), (register_gst_clock_entry_type),
13085         (gst_clock_entry_type_get_type), (register_gst_clock_flags),
13086         (gst_clock_flags_get_type), (register_gst_state),
13087         (gst_state_get_type), (register_gst_state_change_return),
13088         (gst_state_change_return_get_type), (register_gst_state_change),
13089         (gst_state_change_get_type), (register_gst_element_flags),
13090         (gst_element_flags_get_type), (register_gst_core_error),
13091         (gst_core_error_get_type), (register_gst_library_error),
13092         (gst_library_error_get_type), (register_gst_resource_error),
13093         (gst_resource_error_get_type), (register_gst_stream_error),
13094         (gst_stream_error_get_type), (register_gst_event_type),
13095         (gst_event_type_get_type), (register_gst_seek_type),
13096         (gst_seek_type_get_type), (register_gst_seek_flags),
13097         (gst_seek_flags_get_type), (register_gst_format),
13098         (gst_format_get_type), (register_gst_index_certainty),
13099         (gst_index_certainty_get_type), (register_gst_index_entry_type),
13100         (gst_index_entry_type_get_type),
13101         (register_gst_index_lookup_method),
13102         (gst_index_lookup_method_get_type), (register_gst_assoc_flags),
13103         (gst_assoc_flags_get_type), (register_gst_index_resolver_method),
13104         (gst_index_resolver_method_get_type), (register_gst_index_flags),
13105         (gst_index_flags_get_type), (register_gst_debug_level),
13106         (gst_debug_level_get_type), (register_gst_debug_color_flags),
13107         (gst_debug_color_flags_get_type), (register_gst_iterator_result),
13108         (gst_iterator_result_get_type), (register_gst_iterator_item),
13109         (gst_iterator_item_get_type), (register_gst_message_type),
13110         (gst_message_type_get_type), (register_gst_mini_object_flags),
13111         (gst_mini_object_flags_get_type), (register_gst_pad_link_return),
13112         (gst_pad_link_return_get_type), (register_gst_flow_return),
13113         (gst_flow_return_get_type), (register_gst_activate_mode),
13114         (gst_activate_mode_get_type), (register_gst_pad_direction),
13115         (gst_pad_direction_get_type), (register_gst_pad_flags),
13116         (gst_pad_flags_get_type), (register_gst_pad_presence),
13117         (gst_pad_presence_get_type), (register_gst_pad_template_flags),
13118         (gst_pad_template_flags_get_type), (register_gst_pipeline_flags),
13119         (gst_pipeline_flags_get_type), (register_gst_plugin_error),
13120         (gst_plugin_error_get_type), (register_gst_plugin_flags),
13121         (gst_plugin_flags_get_type), (register_gst_rank),
13122         (gst_rank_get_type), (register_gst_query_type),
13123         (gst_query_type_get_type), (register_gst_tag_merge_mode),
13124         (gst_tag_merge_mode_get_type), (register_gst_tag_flag),
13125         (gst_tag_flag_get_type), (register_gst_task_state),
13126         (gst_task_state_get_type), (register_gst_alloc_trace_flags),
13127         (gst_alloc_trace_flags_get_type),
13128         (register_gst_type_find_probability),
13129         (gst_type_find_probability_get_type), (register_gst_uri_type),
13130         (gst_uri_type_get_type), (register_gst_parse_error),
13131         (gst_parse_error_get_type):
13132         * win32/common/gstversion.h:
13133           update win32 copies
13134
13135 2005-11-01  Luca Ognibene  <luogni@tin.it>
13136
13137         * gst/gst.c:
13138           fix docs. popt is dead, long live GOption.
13139
13140 2005-10-31  Wim Taymans  <wim@fluendo.com>
13141
13142         * gst/gstbuffer.h:
13143         Small doc fix.
13144
13145 2005-10-31  Andy Wingo  <wingo@pobox.com>
13146
13147         * Boo!
13148
13149         * gst/gstqueue.c (gst_queue_chain): Fix downstream leaky mode.
13150
13151         * gst/gstobject.c (gst_object_dispatch_properties_changed): No
13152         need to serialize property notifications on GLib 2.8. GLib 2.6 has
13153         the possibility of deadlocks here if code calling notify() or
13154         set() has a lock that can be taken in another notify handler (ABBA
13155         with class lock and e.g. python GIL state lock).
13156
13157 2005-10-28  Julien MOUTTE  <julien@moutte.net>
13158
13159         * gst/gstbus.c: Doc updates.
13160
13161 2005-10-28  Wim Taymans  <wim@fluendo.com>
13162
13163         * docs/design/part-TODO.txt:
13164         * gst/gstiterator.c:
13165         * gst/gstsystemclock.c:
13166         * gst/gstsystemclock.h:
13167         Doc updates.
13168
13169 2005-10-28  Edward Hervey  <edward@fluendo.com>
13170
13171         * docs/gst/gstreamer-docs.sgml:
13172         * docs/gst/gstreamer-sections.txt:
13173         the GstURIType documentation page is private, it only defines GstURIType
13174         which should be defined in the GstURIHandler page
13175         
13176 2005-10-28  Thomas Vander Stichele  <thomas at apestaart dot org>
13177
13178         * gst/gstbin.c: (gst_bin_class_init):
13179         * gst/gstbin.h:
13180         * gst/gstutils.c:
13181         Documentation updates.
13182
13183 2005-10-28  Wim Taymans  <wim@fluendo.com>
13184
13185         * docs/gst/gstreamer-sections.txt:
13186         * gst/gstclock.c:
13187         * gst/gstclock.h:
13188         Documented the clocks.
13189
13190 2005-10-28  Stefan Kost  <ensonic@users.sf.net>
13191
13192         * docs/gst/gstreamer-sections.txt:
13193           move some macros to private sections
13194         * gst/gstminiobject.c:
13195         * gst/gstminiobject.h:
13196           add descriptions provided by ds and some more
13197         * gst/gstpad.h:
13198           mark macro as to be removed
13199
13200 2005-10-28  Wim Taymans  <wim@fluendo.com>
13201
13202         * docs/design/part-TODO.txt:
13203         Add an item to TODO.
13204
13205         * gst/gstiterator.c: (gst_iterator_fold),
13206         (gst_iterator_find_custom):
13207         * gst/gstiterator.h:
13208         Add iterator docs.
13209
13210 2005-10-28  Wim Taymans  <wim@fluendo.com>
13211
13212         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
13213         (gst_base_transform_init):
13214         Don't leak class.
13215
13216         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_loop):
13217         An EOS event marks the queue as completely filled.
13218
13219 2005-10-27  Wim Taymans  <wim@fluendo.com>
13220
13221         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13222         (gst_base_sink_do_sync), (gst_base_sink_get_position):
13223         Some more debugging.
13224
13225         * gst/base/gstbasetransform.c: (gst_base_transform_finalize),
13226         (gst_base_transform_init), (gst_base_transform_buffer_alloc),
13227         (gst_base_transform_event), (gst_base_transform_getrange),
13228         (gst_base_transform_chain):
13229         * gst/base/gstbasetransform.h:
13230         Fix debugging,
13231         Protect transform and concurrent buffer alloc with a new lock.
13232         Try not to break ABI/API.
13233
13234 2005-10-27  Wim Taymans  <wim@fluendo.com>
13235
13236         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
13237         (gst_base_src_init), (gst_base_src_query),
13238         (gst_base_src_default_newsegment),
13239         (gst_base_src_configure_segment), (gst_base_src_do_seek),
13240         (gst_base_src_send_event), (gst_base_src_event_handler),
13241         (gst_base_src_pad_get_range), (gst_base_src_loop),
13242         (gst_base_src_unlock), (gst_base_src_default_negotiate),
13243         (gst_base_src_start), (gst_base_src_deactivate),
13244         (gst_base_src_activate_push), (gst_base_src_change_state):
13245         Move some stuff around and cleanup things.
13246
13247 2005-10-27  Tim-Philipp Müller  <tim at centricular dot net>
13248
13249         * gst/base/gstbasesrc.c: (gst_base_src_query):
13250           Add missing break statements.
13251
13252 2005-10-27  Wim Taymans  <wim@fluendo.com>
13253
13254         * check/gst/gstbin.c: (GST_START_TEST):
13255         An extra refcount is taken in basesrc.
13256
13257         * gst/base/gstbasesrc.c: (gst_base_src_init), (gst_base_src_query),
13258         (gst_base_src_get_range), (gst_base_src_pad_get_range),
13259         (gst_base_src_loop):
13260         Small cleanups, check for flushing after being unlocked from the 
13261         LIVE_LOCK. take refcounts correctly (not yet everywhere).
13262         Don't send out EOS when going to READY.
13263
13264 2005-10-27  Wim Taymans  <wim@fluendo.com>
13265
13266         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
13267         (gst_base_sink_get_position):
13268         Some more debug.
13269
13270         * gst/gstbin.c: (message_check), (bin_replace_message),
13271         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13272         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13273         (bin_query_duration_init), (bin_query_duration_fold),
13274         (bin_query_duration_done), (bin_query_generic_fold),
13275         (gst_bin_query):
13276         * tools/gst-launch.c: (main):
13277         Remove old option.
13278
13279 2005-10-26  Stefan Kost  <ensonic@users.sf.net>
13280
13281         * examples/controller/audio-example.c: (main):
13282         * examples/queue/queue.c: (event_loop):
13283         * gst/base/gstbasetransform.h:
13284         * gst/gstelement.c: (gst_element_send_event):
13285         * gst/gstevent.h:
13286         * gst/gstpad.c: (gst_pad_send_event):
13287           fixing examples
13288           fixing docs typos
13289           changing log priority in error situations
13290
13291 2005-10-25  Wim Taymans  <wim@fluendo.com>
13292
13293         * gst/gstbin.c: (message_check), (bin_replace_message),
13294         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13295         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13296         (bin_query_duration_init), (bin_query_duration_fold),
13297         (bin_query_duration_done), (bin_query_generic_fold),
13298         (gst_bin_query):
13299         Some doc and debug updates.
13300         Cache previously requested query DURATION for speed. invalidate
13301         cached duration if element posts a DURATION message.
13302
13303 2005-10-25  Wim Taymans  <wim@fluendo.com>
13304
13305         * docs/design/part-TODO.txt:
13306         Update TODO.
13307
13308         * gst/gstbin.c: (message_check), (bin_replace_message),
13309         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13310         (update_degree), (gst_bin_sort_iterator_next), (bin_bus_handler),
13311         (bin_query_duration_init), (bin_query_duration_fold),
13312         (bin_query_duration_done), (bin_query_generic_fold),
13313         (gst_bin_query):
13314         Handle SEGMENT_START/DONE messages correctly.
13315         More evolved query algorithm that handles duration queries
13316         correctly.
13317
13318         * gst/gstelement.c: (gst_element_send_event), (gst_element_query),
13319         (gst_element_get_state_func), (gst_element_abort_state),
13320         (gst_element_commit_state), (gst_element_lost_state):
13321         Some more debugging.
13322
13323         * gst/gstmessage.h:
13324         Added doc.
13325
13326 2005-10-25  Wim Taymans  <wim@fluendo.com>
13327
13328         * gst/base/gstbasesink.c: (gst_base_sink_get_position):
13329         Don't use invalid stream_time.
13330
13331         * gst/gstevent.c: (gst_event_new_newsegment):
13332         stream_time in newsegment cannot be undefined.
13333
13334 2005-10-24  Wim Taymans  <wim@fluendo.com>
13335
13336         * gst/gstbus.c:
13337         Doc fix.
13338
13339         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
13340         (gst_queue_loop):
13341         Fix potential deadlock when QUEUE_LOCK is taken before STREAM_LOCK.
13342
13343 2005-10-24  Stefan Kost  <ensonic@users.sf.net>
13344
13345         * docs/libs/tmpl/gstdparam.sgml:
13346         * docs/libs/tmpl/gstdplinint.sgml:
13347         * docs/libs/tmpl/gstdpman.sgml:
13348         * docs/libs/tmpl/gstdpsmooth.sgml:
13349         * docs/libs/tmpl/gstunitconvert.sgml:
13350           these are obsolete
13351
13352 2005-10-24  Thomas Vander Stichele  <thomas at apestaart dot org>
13353
13354         * configure.ac:
13355           back to HEAD
13356
13357 === release 0.9.4 ===
13358
13359 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13360
13361         * configure.ac:
13362           releasing 0.9.4, "Tyrannosaurus Rex"
13363
13364 2005-10-23  Tim-Philipp Müller  <tim at centricular dot net>
13365
13366         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
13367         (gst_file_sink_get_current_offset):
13368           Use fseeko() and ftello() if available. When falling back on
13369           lseek() to get the current offset, fflush() first to make sure
13370           everything is up-to-date and we get the right offset.
13371
13372 2005-10-23  Thomas Vander Stichele  <thomas at apestaart dot org>
13373
13374         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
13375         * gst/base/gstbasesrc.c: (gst_base_src_loop):
13376         * gst/gsterror.c: (_gst_stream_errors_init):
13377         * gst/gsterror.h:
13378         * gst/gstqueue.c: (gst_queue_loop):
13379         * po/POTFILES.in:
13380           remove prematurely added error category and clean up the instances
13381
13382 2005-10-21  Wim Taymans  <wim@fluendo.com>
13383
13384         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13385         (gst_base_sink_get_position), (gst_base_sink_query),
13386         (gst_base_sink_change_state):
13387         Simply set the right flag when going to playing, that's all
13388         we need to do instead of calling a function inside the object
13389         lock (that could take the lock as well and deadlock)
13390
13391 2005-10-21  Wim Taymans  <wim@fluendo.com>
13392
13393         * gst/base/gstbasesrc.c: (gst_base_src_do_seek),
13394         (gst_base_src_loop):
13395         Don't warn, the peer element knows what to do best when
13396         the seek failed, it might try something else.
13397
13398 2005-10-21  Wim Taymans  <wim@fluendo.com>
13399
13400         * gst/base/gstbasesrc.c: (gst_base_src_init),
13401         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
13402         Fix seeking.
13403
13404 2005-10-21  Wim Taymans  <wim@fluendo.com>
13405
13406         * docs/design/part-segments.txt:
13407         More docs.
13408
13409         * gst/elements/gstcapsfilter.c: (gst_capsfilter_prepare_buf):
13410         Correctly set caps, even on the subbufer.
13411
13412 2005-10-21  Wim Taymans  <wim@fluendo.com>
13413
13414         * docs/gst/gstreamer-docs.sgml:
13415         * docs/gst/gstreamer-sections.txt:
13416         * gst/gstelement.h:
13417         * gst/gstevent.c:
13418         * gst/gstevent.h:
13419         * gst/gstmessage.h:
13420         * gst/gstpad.h:
13421         * gst/gstparse.h:
13422         * gst/gsttask.c: (gst_task_finalize), (gst_task_func):
13423         * gst/gsttask.h:
13424         * gst/gstutils.c:
13425         * gst/gstutils.h:
13426         And 2% more doc coverage.
13427
13428 2005-10-21  Andy Wingo  <wingo@pobox.com>
13429
13430         * gst/base/gstbasesrc.c (gst_base_src_query): Clean up percent
13431         position reporting.
13432
13433 2005-10-20  Wim Taymans  <wim@fluendo.com>
13434
13435         * gst/gsterror.c: (gst_error_get_message):
13436         * gst/gstparse.h:
13437         * gst/gstquery.h:
13438         * gst/gststructure.c:
13439         * gst/gsttrace.c:
13440         * gst/gstutils.c:
13441         More docs.
13442
13443 2005-10-20  Wim Taymans  <wim@fluendo.com>
13444
13445         * gst/gstbuffer.h:
13446         * gst/gstpad.c:
13447         * gst/gstparse.c:
13448         Another 1% more coverage.
13449
13450 2005-10-20  Wim Taymans  <wim@fluendo.com>
13451
13452         * docs/gst/gstreamer-sections.txt:
13453         * gst/gstelement.c: (gst_element_get_state_func),
13454         (gst_element_abort_state), (gst_element_commit_state),
13455         (gst_element_lost_state):
13456         * gst/gstevent.h:
13457         * gst/gstquery.c: (gst_query_set_position),
13458         (gst_query_parse_position), (gst_query_set_duration),
13459         (gst_query_parse_duration), (gst_query_new_convert):
13460         * gst/gstutils.c:
13461         Yay! 1% more docs coverage.
13462
13463 2005-10-20  Wim Taymans  <wim@fluendo.com>
13464
13465         * gst/gstpad.h:
13466         * gst/gstquery.c: (gst_query_set_position),
13467         (gst_query_parse_position), (gst_query_set_duration),
13468         (gst_query_parse_duration), (gst_query_new_convert):
13469         * gst/gstquery.h:
13470         * gst/gstutils.c: (gst_element_query_convert):
13471         * gst/gstutils.h:
13472         Docs and consistency fixes.
13473
13474 2005-10-20  Wim Taymans  <wim@fluendo.com>
13475
13476         * gst/gsttask.c:
13477         * gst/gsttask.h:
13478         More docs.
13479
13480 2005-10-20  Wim Taymans  <wim@fluendo.com>
13481
13482         * gst/gstbin.c: (message_check), (bin_replace_message),
13483         (bin_remove_messages), (is_eos), (gst_bin_add_func),
13484         (update_degree), (gst_bin_sort_iterator_next),
13485         (gst_bin_change_state_func), (gst_bin_dispose), (bin_bus_handler):
13486         Reworked the message handling a bit, cache the messages instead of
13487         only the senders. alows us to do more in the future.
13488
13489 2005-10-20  Wim Taymans  <wim@fluendo.com>
13490
13491         * docs/design/part-TODO.txt:
13492         Update TODO
13493
13494         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13495         (gst_base_sink_query):
13496         Don't use clock time to report position when in EOS.
13497
13498 2005-10-20  Tim-Philipp Müller  <tim at centricular dot net>
13499
13500         * tools/gst-inspect.c: (print_interfaces),
13501         (print_element_properties_info), (print_element_info):
13502           Fix interface output with gst-inspect -a; don't print
13503           newlines after double/float properties.
13504
13505 2005-10-20  Wim Taymans  <wim@fluendo.com>
13506
13507         * gst/base/gstbasesink.c: (gst_base_sink_get_position),
13508         (gst_base_sink_query):
13509         Speed up current position calculation.
13510
13511         * gst/base/gstbasesrc.c: (gst_base_src_query),
13512         (gst_base_src_default_newsegment):
13513         Correctly set stream position in newsegment.
13514
13515         * gst/gstbin.c: (gst_bin_add_func), (add_to_queue),
13516         (update_degree), (gst_bin_sort_iterator_next),
13517         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free):
13518         * gst/gstmessage.c: (gst_message_new_custom):
13519         Clean up debugging info
13520
13521         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
13522         (gst_queue_loop), (gst_queue_handle_src_query):
13523         Pause task faster.
13524
13525 2005-10-19  Wim Taymans  <wim@fluendo.com>
13526
13527         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13528         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13529         Fix query handling again.
13530
13531 2005-10-19  Wim Taymans  <wim@fluendo.com>
13532
13533         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13534         (gst_base_sink_handle_object), (gst_base_sink_query), (do_playing):
13535         * gst/base/gstbasesrc.c: (gst_base_src_query):
13536         * gst/elements/gstfilesink.c: (gst_file_sink_query):
13537         * gst/elements/gsttypefindelement.c:
13538         (gst_type_find_handle_src_query), (find_element_get_length),
13539         (gst_type_find_element_activate):
13540         API change fix.
13541
13542         * gst/gstquery.c: (gst_query_new_position),
13543         (gst_query_set_position), (gst_query_parse_position),
13544         (gst_query_new_duration), (gst_query_set_duration),
13545         (gst_query_parse_duration), (gst_query_set_segment),
13546         (gst_query_parse_segment):
13547         * gst/gstquery.h:
13548         Bundling query position/duration is not a good idea since duration
13549         does not change much and we don't want to recalculate it for every
13550         position query, so they are separated again..
13551         Base value in segment query is not needed.
13552
13553         * gst/gstqueue.c: (gst_queue_handle_src_query):
13554         * gst/gstutils.c: (gst_element_query_position),
13555         (gst_element_query_duration), (gst_pad_query_position),
13556         (gst_pad_query_duration):
13557         * gst/gstutils.h:
13558         Updates for query API change.
13559         Added some docs here and there.
13560
13561 2005-10-19  Thomas Vander Stichele  <thomas at apestaart dot org>
13562
13563         * check/gst/gstbin.c: (GST_START_TEST):
13564         * check/gst/gstghostpad.c: (GST_START_TEST):
13565         * check/pipelines/cleanup.c: (GST_START_TEST):
13566           wait on thread to die so we can check refcount correctly
13567
13568 2005-10-18  Wim Taymans  <wim@fluendo.com>
13569
13570         * check/pipelines/stress.c: (GST_START_TEST):
13571         Make check a little more time consuming.
13572
13573 2005-10-18  Wim Taymans  <wim@fluendo.com>
13574
13575         * check/Makefile.am:
13576         * check/pipelines/stress.c: (GST_START_TEST),
13577         (simple_launch_lines_suite), (main):
13578         Small state change torture test.
13579
13580         * docs/design/part-states.txt:
13581         * gst/base/gstbasesink.c: (gst_base_sink_commit_state),
13582         (gst_base_sink_handle_object), (gst_base_sink_event), (do_playing),
13583         (gst_base_sink_change_state):
13584         Never take state lock from streaming thread, clean up ugly
13585         hacks. Unfortunatly core does not yet support nice ways to
13586         async commit state.
13587         
13588         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_recalc_state),
13589         (bin_bus_handler):
13590         Start state recalc if a STATE_DIRTY message is posted, but only
13591         on the toplevel bin.
13592
13593         * gst/gstelement.c: (gst_element_sync_state_with_parent),
13594         (gst_element_get_state_func), (gst_element_abort_state),
13595         (gst_element_commit_state), (gst_element_lost_state),
13596         (gst_element_set_state_func), (gst_element_change_state):
13597         * gst/gstelement.h:
13598         State variables are now protected with the LOCK, the state
13599         lock is only used to serialize _set_state().
13600
13601 2005-10-18  Wim Taymans  <wim@fluendo.com>
13602
13603         * check/gst/gstbin.c: (GST_START_TEST):
13604         * check/gst/gstmessage.c: (GST_START_TEST):
13605         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13606         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_recalc_func),
13607         (bin_bus_handler):
13608         * gst/gstelement.c: (gst_element_abort_state),
13609         (gst_element_commit_state), (gst_element_lost_state):
13610         * gst/gstmessage.c: (gst_message_new_state_changed),
13611         (gst_message_new_state_dirty), (gst_message_new_segment_start),
13612         (gst_message_new_segment_done), (gst_message_new_duration),
13613         (gst_message_parse_state_changed),
13614         (gst_message_parse_segment_start),
13615         (gst_message_parse_segment_done), (gst_message_parse_duration):
13616         * gst/gstmessage.h:
13617         * tools/gst-launch.c: (event_loop):
13618         Seriously, this is better than a previous commit as we only need
13619         to notify the fact that an element changed state in a streaming
13620         thread, marking the state of the parents dirty, hence the 
13621         STATE_DIRTY message instead of abusing a boolean in a STATE_CHANGE
13622         message.
13623
13624 2005-10-18  Wim Taymans  <wim@fluendo.com>
13625
13626         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_get_state_func),
13627         (gst_bin_recalc_func):
13628         * gst/gstelement.c: (gst_element_set_clock),
13629         (gst_element_abort_state), (gst_element_lost_state):
13630         Cleanups, prepare for state change fixes.
13631
13632 2005-10-18  Wim Taymans  <wim@fluendo.com>
13633
13634         * gst/gstbin.h:
13635         * gst/gstelement.c: (gst_element_class_init),
13636         (gst_element_set_state), (gst_element_set_state_func):
13637         * gst/gstelement.h:
13638         Pending ABI changes.
13639         GThreadPool in GstBinClass to monitor async state changes.
13640         state_cookie in GstElement to detect concurrent gst/set state.
13641         set_state is now virtual too in case a very complicated element
13642         has to be constructed.
13643
13644 2005-10-18  Wim Taymans  <wim@fluendo.com>
13645
13646         * check/gst/gstbin.c: (GST_START_TEST):
13647         * check/gst/gstmessage.c: (GST_START_TEST):
13648         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
13649         * gst/gstbin.c: (bin_bus_handler):
13650         * gst/gstelement.c: (gst_element_commit_state),
13651         (gst_element_lost_state):
13652         * gst/gstmessage.c: (gst_message_new_state_changed),
13653         (gst_message_new_segment_start), (gst_message_new_segment_done),
13654         (gst_message_new_duration), (gst_message_parse_state_changed),
13655         (gst_message_parse_segment_start),
13656         (gst_message_parse_segment_done), (gst_message_parse_duration):
13657         * gst/gstmessage.h:
13658         * tools/gst-launch.c: (event_loop):
13659         Make messages future proof.
13660         state-change gets a flag if it was a message comming from the
13661         streaming thread.
13662         segment-start/stop can also be specified in other formats.
13663         A message to notify an app that a pipeline changed playback 
13664         duration.
13665         Also fix a GstMessage leak in -launch
13666
13667 2005-10-18  Andy Wingo  <wingo@pobox.com>
13668
13669         * gst/gstelement.c (gst_element_dispose): More helpful message.
13670
13671 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13672
13673         reviewed by: <delete if not using a buddy>
13674
13675         * common/gtk-doc.mak:
13676
13677 2005-10-18  Thomas Vander Stichele  <thomas at apestaart dot org>
13678
13679         * gst/gstregistry.c: (gst_registry_scan_path_level):
13680           unref a plug-in we get that was already initialized
13681
13682 2005-10-18  Stefan Kost  <ensonic@users.sf.net>
13683
13684         * docs/gst/gstreamer-sections.txt:
13685         * docs/libs/gstreamer-libs-sections.txt:
13686         * gst/gstelement.h:
13687           add new api entries
13688           hide internal macro
13689
13690 2005-10-17  Andy Wingo  <wingo@pobox.com>
13691
13692         * gst/base/gstcollectpads.c (gst_collectpads_chain): Slight
13693         cleanup.
13694
13695         * gst/Makefile.am (gstenumtypes.c): Threadsafe now.
13696
13697         * gst/gstevent.c (gst_event_new, gst_event_finalize): LOG.
13698
13699         * gst/gstelement.c (gst_element_get_state_func): s/INFO/DEBUG/.
13700         (gst_element_get_state_func): Better debug message.
13701         (gst_element_commit_state): s/INFO/DEBUG/.
13702         (gst_element_lost_state, gst_element_change_state): 
13703
13704         * gst/gstmessage.c (gst_message_init): s/INFO/LOG/.
13705         (gst_message_new_custom): s/INFO/LOG/.
13706
13707 2005-10-17  Michael Smith <msmith@fluendo.com>
13708
13709         * gst/base/gstbasesink.c: (gst_base_sink_do_sync):
13710           Check if end time is valid using end time, not start time.
13711
13712 2005-10-17  Stefan Kost  <ensonic@users.sf.net>
13713
13714         * check/gst-libs/controller.c: (GST_START_TEST),
13715         (gst_controller_suite):
13716         * libs/gst/controller/gstcontroller.c:
13717         (gst_controlled_property_set_interpolation_mode):
13718         * libs/gst/controller/gstcontroller.h:
13719         * libs/gst/controller/gstinterpolation.c:
13720         * testsuite/controller/.cvsignore:
13721         * testsuite/controller/Makefile.am:
13722         * testsuite/controller/interpolator.c:
13723           merge controller testsuites
13724           fix broken tests
13725           remove mem-chunk from docs
13726
13727 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13728
13729         * gst/gstmemchunk.c:
13730         * gst/gstmemchunk.h:
13731         * gst/gsttrashstack.c:
13732         * gst/gsttrashstack.h:
13733           out.  get out.  you're fired.  to the Attic !
13734
13735 2005-10-17  Thomas Vander Stichele  <thomas at apestaart dot org>
13736
13737         * gst/gstcaps.c: (gst_caps_intersect):
13738           fix signedness issues in a (hopefully) correct way
13739         * gst/gstelement.c: (gst_element_pads_activate):
13740           some debugging
13741         * gst/gstobject.c: (gst_object_set_parent):
13742           some debugging
13743
13744 2005-10-17  Julien MOUTTE  <julien@moutte.net>
13745
13746         * gst/gstvalue.h: Fix prototypes.
13747
13748 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13749
13750         * docs/gst/gstreamer-sections.txt:
13751         * gst/gst.c: (gst_version_string):
13752         * gst/gst.h:
13753         * gst/gstversion.h.in:
13754         * win32/common/libgstreamer.def:
13755           add gst_version_string ()
13756
13757 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13758
13759         * configure.ac:
13760           clean up further
13761         * gst/gst.c: (init_post):
13762         * win32/common/config.h.in:
13763           it's PLUGINDIR now
13764         * gst/gstcaps.c: (gst_caps_intersect):
13765           use gint64, the range could be bigger than a guint
13766
13767 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13768
13769         * gst/gstclock.h:
13770           document potential problem in 2038
13771
13772 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13773
13774         * gst/gstcaps.c: (gst_caps_intersect):
13775           Fix guint j diving under 0
13776
13777 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13778
13779         * configure.ac:
13780         * win32/common/config.h:
13781         * win32/common/config.h.in:
13782           check for process.h, declares getpid() on Windows
13783         * gst/gstinfo.c:
13784           include process.h if we have it
13785         * gst/gstmemchunk.c: (populate), (gst_mem_chunk_new):
13786         * gst/gstmemchunk.h:
13787           fix signedness issues
13788         * win32/common/libgstreamer.def:
13789           fix get_type's
13790
13791 2005-10-16  Julien MOUTTE  <julien@moutte.net>
13792
13793         * gst/gstcaps.c: (gst_caps_intersect): Fix a bad bug with a simple
13794         fix. Because of unsigned ints, caps intersection was going nuts and
13795         trying to access structures with G_MAXUINT index. That fixes
13796         videotestsrc ! ffmpegcolorspace ! fakesink
13797         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked): logs
13798         consistency.
13799
13800 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13801
13802         * configure.ac:
13803           use the gettext macro
13804         * gst/elements/gstelements.c:
13805         * gst/gst.c:
13806         * gst/indexers/gstindexers.c:
13807           update for GST_PACKAGE_NAME, GST_PACKAGE_ORIGIN
13808         * win32/common/config.h:
13809           updated config.h
13810         * win32/common/config.h.in:
13811           add the template to generate config.h
13812         * win32/common/gstenumtypes.c:
13813         * win32/common/gstversion.h:
13814           updated copies
13815
13816 2005-10-16  Thomas Vander Stichele  <thomas at apestaart dot org>
13817
13818         * gst/gst.c: (gst_version):
13819         * gst/gstversion.h.in:
13820           add the nano
13821
13822 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13823
13824         * gst/gstevent.h:
13825           Oops, add missing closing bracket.
13826
13827 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13828
13829         * configure.ac:
13830           use common m4's for argument checking
13831
13832 2005-10-15  Tim-Philipp Müller  <tim at centricular dot net>
13833
13834         * docs/gst/gstreamer-sections.txt:
13835         * gst/gstevent.h:
13836           Add GST_EVENT_TYPE_NAME() macro.
13837
13838 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13839
13840         * gst/gstinfo.c:
13841         * gst/gstpluginfeature.c:
13842         * gst/gsttask.c:
13843           privatize more symbols
13844
13845 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13846
13847         * configure.ac:
13848           add srcdir, builddir includes to GST_ALL_CFLAGS, since
13849           everything that uses GStreamer API should have the includes
13850
13851 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13852
13853         * docs/gst/gstreamer-sections.txt:
13854         * gst/gstvalue.c: (gst_date_get_type), (_gst_value_initialize):
13855         * gst/gstvalue.h:
13856           give each value a _get_type, removes the DATA exports
13857
13858 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13859
13860         * gst/gst.c:
13861         * gst/gst.h:
13862           remove _gst_registry_auto_load, not used anymore
13863         * gst/gstbin.c: (gst_bin_get_type):
13864         * gst/gstbin.h:
13865         * gst/gstelement.c: (gst_element_get_type):
13866         * gst/gstelement.h:
13867         * gst/gstobject.c: (gst_object_get_type):
13868         * gst/gstobject.h:
13869         * gst/gstpad.c: (gst_pad_get_type):
13870         * gst/gstpad.h:
13871           make _get_type functions similar, fixes data export from library
13872
13873 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13874
13875         * configure.ac:
13876           correctly make conditionals
13877         * gst/elements/Makefile.am:
13878         * gst/elements/gstelements.c:
13879           fix typo causing fdsrc not to build
13880
13881 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13882
13883         * testsuite/Makefile.am:
13884         * testsuite/bytestream/.cvsignore:
13885         * testsuite/bytestream/Makefile.am:
13886         * testsuite/bytestream/filepadsink.c:
13887         * testsuite/bytestream/gstbstest.c:
13888         * testsuite/bytestream/test1.c:
13889         * testsuite/bytestream/testfile1:
13890         * testsuite/caps/normalisation.c:
13891         * testsuite/caps/random.c: (main):
13892         * testsuite/cleanup/.cvsignore:
13893         * testsuite/cleanup/Makefile.am:
13894         * testsuite/cleanup/cleanup1.c:
13895         * testsuite/cleanup/cleanup2.c:
13896         * testsuite/cleanup/cleanup3.c:
13897         * testsuite/cleanup/cleanup4.c:
13898         * testsuite/cleanup/cleanup5.c:
13899         * testsuite/controller/interpolator.c:
13900         * testsuite/debug/printf_extension.c: (main):
13901         * testsuite/elements/tee.c:
13902         * testsuite/negotiation/.cvsignore:
13903         * testsuite/negotiation/Makefile.am:
13904         * testsuite/negotiation/pad_link.c:
13905         * testsuite/pad/Makefile.am:
13906         * testsuite/pad/chainnopull.c:
13907         * testsuite/pad/getnopush.c:
13908         * testsuite/pad/link.c:
13909         * testsuite/refcounting/sched.c: (create_pipeline):
13910         * testsuite/registry/Makefile.am:
13911         * testsuite/registry/gst-print-formats.c:
13912         * testsuite/schedulers/.cvsignore:
13913         * testsuite/schedulers/142183-2.c:
13914         * testsuite/schedulers/142183.c:
13915         * testsuite/schedulers/143777-2.c:
13916         * testsuite/schedulers/143777.c:
13917         * testsuite/schedulers/147713.c:
13918         * testsuite/schedulers/147819.c:
13919         * testsuite/schedulers/147894-2.c:
13920         * testsuite/schedulers/147894.c:
13921         * testsuite/schedulers/Makefile.am:
13922         * testsuite/schedulers/group_link.c:
13923         * testsuite/schedulers/queue_link.c:
13924         * testsuite/schedulers/relink.c:
13925         * testsuite/schedulers/unlink.c:
13926         * testsuite/schedulers/unref.c:
13927         * testsuite/schedulers/useless_iteration.c:
13928         * testsuite/states/bin.c:
13929           clean out/remove some stuff from the testsuite directories
13930
13931 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13932
13933         * configure.ac:
13934           check for some headers
13935         * gst/elements/Makefile.am:
13936         * gst/elements/gstelements.c:
13937           don't compile fdsrc without sys/socket.h
13938         * gst/indexers/Makefile.am:
13939         * gst/indexers/gstindexers.c: (plugin_init):
13940           don't compile fileindex without mmap
13941
13942 2005-10-15  Thomas Vander Stichele  <thomas at apestaart dot org>
13943
13944         * configure.ac:
13945           reorganize
13946           clean up
13947           document more
13948           remove cruft
13949         * check/Makefile.am:
13950         * docs/gst/Makefile.am:
13951         * examples/helloworld/Makefile.am:
13952         * gst/Makefile.am:
13953         * gst/base/Makefile.am:
13954         * gst/check/Makefile.am:
13955         * gst/elements/Makefile.am:
13956         * gst/indexers/Makefile.am:
13957         * gst/parse/Makefile.am:
13958         * libs/gst/controller/Makefile.am:
13959         * libs/gst/dataprotocol/Makefile.am:
13960         * examples/helloworld/helloworld.c: (event_loop):
13961           compile fixes, though it's not being compiled currently
13962
13963 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13964
13965         * check/gst/gsttag.c: (test_date_tags), (gst_tag_suite):
13966           Add some simple tests for the new taglist date API.
13967
13968 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13969
13970         * gst/elements/gstfakesink.c: (gst_fake_sink_render):
13971         * gst/elements/gstfakesrc.c: (gst_fake_src_create):
13972           Beautify 'last-message' output: print 'none' for buffer timestamps
13973           and durations if none is set; improve alignment with next messages.
13974
13975 2005-10-14  Tim-Philipp Müller  <tim at centricular dot net>
13976
13977         * gst/gstpluginfeature.c: (gst_plugin_feature_check_version):
13978         * gst/gstpluginfeature.h:
13979         * gst/gstregistry.c: (gst_default_registry_check_feature_version):
13980         * gst/gstregistry.h:
13981         * docs/gst/gstreamer-sections.txt:
13982           Add new API to check plugin feature version requirements.
13983
13984         * check/gst/gstplugin.c: (test_version_checks), (gst_plugin_suite):
13985           Some basic tests for the above.         
13986
13987 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13988
13989         * gst/gststructure.c: (gst_structure_to_string):
13990           guard against NULL printf - happens when for example
13991           a message structure with GstClock gets serialized
13992
13993 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
13994
13995         * gst/base/gstcollectpads.c: (gst_collectpads_event):
13996           Fix presumable copy'n'pasto.
13997
13998 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
13999
14000         * gst/elements/gstfakesrc.h:
14001         * gst/elements/gstfilesrc.c: (gst_file_src_create_read):
14002         * gst/elements/gsttypefindelement.c:
14003           fix some signedness
14004         * gst/elements/gstfilesink.c: (gst_file_sink_render):
14005           I wonder if this could actually write +2GB files before
14006
14007 2005-10-13  Andy Wingo  <wingo@pobox.com>
14008
14009         * libs/gst/dataprotocol/dataprotocol.c (gst_dp_packet_from_caps):
14010         Fix Timmeke Waymans bug.
14011         (gst_dp_caps_from_packet): Make sure we pass a NUL-terminated
14012         string of the proper length to gst_caps_from_string. There's a
14013         potential for, before this fix, that this could cause someone
14014         connecting over the network to cause a segfault if the payload is
14015         not NUL-terminated.
14016
14017 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
14018
14019         * docs/design/draft-push-pull.txt:
14020         * docs/design/part-overview.txt:
14021         * docs/random/TODO-pre-0.9:
14022         * docs/random/old/ChangeLog.gstreamer:
14023         * gst/base/gstpushsrc.c:
14024         * gst/gstclock.c:
14025           fixed typos
14026
14027 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14028
14029         * gst/glib-compat.c: (gst_flags_get_first_value):
14030         * gst/glib-compat.h:
14031         * gst/gstvalue.c: (gst_value_deserialize_int_helper),
14032         (gst_value_compare_double), (gst_value_serialize_flags):
14033           GLib 2.6 g_flags_get_first_value has a bug that triggers an
14034           infinite loop
14035
14036 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14037
14038         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14039         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
14040           fix up debugging
14041         * tools/gst-launch.c: (event_loop):
14042           print out clock nicely
14043
14044 2005-10-13  Tim-Philipp Müller  <tim at centricular dot net>
14045
14046         * docs/gst/gstreamer-sections.txt:
14047         * gst/gsttaglist.h:
14048         * gst/gsttaglist.c: (_gst_tag_initialize), (gst_tag_list_get_date),
14049         (gst_tag_list_get_date_index):
14050           Added gst_tag_list_get_date() and gst_tag_list_get_date_index().
14051           GST_TAG_DATE now has a tag type of GST_TYPE_DATE (#170777).
14052
14053 2005-10-13  Julien MOUTTE  <julien@moutte.net>
14054
14055         * gst/base/gstcollectpads.c: (gst_collectpads_event),
14056         (gst_collectpads_chain):
14057         * gst/base/gstcollectpads.h: Handle newsegment and store informations
14058         in CollectData.
14059
14060 2005-10-13  Stefan Kost  <ensonic@users.sf.net>
14061
14062         * docs/gst/gstreamer-sections.txt:
14063         * gst/gst.c:
14064         * gst/gsterror.h:
14065         * tools/gst-inspect.c: (main):
14066         * tools/gst-launch.c: (main):
14067         * tools/gst-run.c: (main):
14068         * tools/gst-xmlinspect.c: (main):
14069           fix GOption context leaks
14070           doc fixes
14071
14072 2005-10-13  Thomas Vander Stichele  <thomas at apestaart dot org>
14073
14074         * gst/gstbus.c:
14075           use HAVE_UNISTD_H
14076         * win32/common/config.h:
14077           update config
14078         * win32/vs6/grammar.dsp:
14079         * win32/vs6/libgstelements.dsp:
14080         * win32/vs6/libgstreamer.dsp:
14081           update vs6 files
14082
14083 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14084
14085         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
14086         * gst/base/gstbasesrc.c: (gst_base_src_query):
14087           fix more guint64<->gdouble conversions
14088
14089 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14090
14091         * Makefile.am:
14092           add win32-update target
14093         * win32/common/gstconfig.h:
14094         * win32/common/gstenumtypes.c:
14095         * win32/common/gstenumtypes.h:
14096         * win32/common/gstversion.h:
14097           add files that visual studio can't generate
14098
14099 2005-10-12  Thomas Vander Stichele  <thomas at apestaart dot org>
14100
14101         * Makefile.am:
14102           add a win32-update target
14103         * configure.ac:
14104
14105 2005-10-12  Wim Taymans  <wim@fluendo.com>
14106
14107         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14108         (reset_degree), (gst_bin_dispose), (bin_bus_handler):
14109         * gst/gstelement.c: (gst_element_commit_state),
14110         (gst_element_set_state):
14111         Protect flags with proper lock.
14112         unref provided cached clock in dispose.
14113
14114 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
14115
14116         * gst/gst.c:
14117         * gst/gstminiobject.h:
14118         * gst/gstpad.h:
14119         * win32/gstenumtypes.c: (gst_mini_object_flags_get_type):
14120           removed unused flags from miniobject
14121           doc fixes
14122
14123 2005-10-12  Wim Taymans  <wim@fluendo.com>
14124
14125         * gst/elements/gstfilesink.c: (gst_file_sink_do_seek),
14126         (gst_file_sink_event), (gst_file_sink_render):
14127         Flush before seeking.
14128
14129 2005-10-12  Andy Wingo  <wingo@pobox.com>
14130
14131         * gst/gst.c (gst_init_check): Ignore unknown options, as has
14132         always been the case.
14133
14134 2005-10-12  Stefan Kost  <ensonic@users.sf.net>
14135
14136         * check/gst/gstbin.c: (GST_START_TEST):
14137         * docs/gst/gstreamer-sections.txt:
14138         * gst/base/gstbasesink.c: (gst_base_sink_init):
14139         * gst/base/gstbasesrc.c: (gst_base_src_init),
14140         (gst_base_src_get_range), (gst_base_src_check_get_range),
14141         (gst_base_src_start), (gst_base_src_stop):
14142         * gst/base/gstbasesrc.h:
14143         * gst/elements/gstfakesrc.c: (gst_fake_src_set_property):
14144         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
14145         (bin_element_is_sink), (reset_degree), (gst_bin_element_set_state),
14146         (bin_bus_handler):
14147         * gst/gstbin.h:
14148         * gst/gstbuffer.h:
14149         * gst/gstbus.c: (gst_bus_post), (gst_bus_set_flushing):
14150         * gst/gstbus.h:
14151         * gst/gstelement.c: (gst_element_is_locked_state),
14152         (gst_element_set_locked_state), (gst_element_commit_state),
14153         (gst_element_set_state):
14154         * gst/gstelement.h:
14155         * gst/gstindex.c: (gst_index_init):
14156         * gst/gstindex.h:
14157         * gst/gstminiobject.h:
14158         * gst/gstobject.c: (gst_object_init), (gst_object_sink),
14159         (gst_object_set_parent):
14160         * gst/gstobject.h:
14161         * gst/gstpad.c: (gst_pad_set_blocked_async), (gst_pad_is_blocked),
14162         (gst_pad_get_caps_unlocked), (gst_pad_set_caps):
14163         * gst/gstpad.h:
14164         * gst/gstpadtemplate.h:
14165         * gst/gstpipeline.c: (gst_pipeline_provide_clock_func),
14166         (gst_pipeline_use_clock), (gst_pipeline_auto_clock):
14167         * gst/gstpipeline.h:
14168         * gst/indexers/gstfileindex.c: (gst_file_index_load),
14169         (gst_file_index_commit):
14170         * testsuite/bytestream/filepadsink.c: (gst_fp_sink_init):
14171         * testsuite/pad/link.c: (gst_test_src_init),
14172         (gst_test_filter_init), (gst_test_sink_init):
14173         * testsuite/states/locked.c: (main):
14174           renamed GST_FLAGS macros to GST_OBJECT_FLAGS
14175           moved bitshift from macro to enum definition
14176
14177 2005-10-12  Wim Taymans  <wim@fluendo.com>
14178
14179         * gst/base/gstbasesink.c: (gst_base_sink_handle_buffer):
14180         * gst/elements/gstfilesink.c: (gst_file_sink_event),
14181         (gst_file_sink_render):
14182         Some more debugging info.
14183
14184 2005-10-12  Wim Taymans  <wim@fluendo.com>
14185
14186         * docs/design/part-states.txt:
14187         * tools/gst-launch.c: (main):
14188         Some doc updates.
14189         Revert non-intentional change.
14190
14191 2005-10-12  Wim Taymans  <wim@fluendo.com>
14192
14193         * check/gst/gstbin.c: (GST_START_TEST):
14194         * check/gst/gstelement.c: (GST_START_TEST):
14195         * check/gst/gstevent.c: (GST_START_TEST), (test_event):
14196         * check/gst/gstghostpad.c: (GST_START_TEST):
14197         * check/gst/gstpipeline.c: (GST_START_TEST):
14198         * check/pipelines/simple_launch_lines.c: (run_pipeline):
14199         * check/states/sinks.c: (GST_START_TEST):
14200         * gst/elements/gsttypefindelement.c: (stop_typefinding):
14201         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14202         (gst_bin_remove_func), (gst_bin_get_state_func),
14203         (gst_bin_recalc_state), (gst_bin_change_state_func),
14204         (bin_bus_handler):
14205         * gst/gstelement.c: (gst_element_get_state_func),
14206         (gst_element_get_state), (gst_element_abort_state),
14207         (gst_element_commit_state), (gst_element_set_state),
14208         (gst_element_change_state), (gst_element_change_state_func):
14209         * gst/gstelement.h:
14210         * gst/gstpipeline.c: (gst_pipeline_class_init), (do_pipeline_seek),
14211         (gst_pipeline_provide_clock_func):
14212         * gst/gstutils.c: (gst_element_link_pads_filtered):
14213         * tools/gst-launch.c: (main):
14214         * tools/gst-typefind.c: (main):
14215         Use GstClockTime in _get_state() instead of GTimeVal.
14216         Remove old code in gstutils.c
14217
14218 2005-10-12  Andy Wingo  <wingo@pobox.com>
14219
14220         * gst/gstregistry.h (gst_registry_scan_paths): Not implemented, so
14221         removed.
14222
14223         * gst/gstpad.c (gst_pad_pause_task): Actually return FALSE if
14224         there is no task. Shouldn't affect any code, as nothing in our
14225         plugins checks this return value.
14226         (gst_pad_stop_task): Also take the stream lock if the pad has no
14227         task. Docs updated.
14228
14229 2005-10-12  Wim Taymans  <wim@fluendo.com>
14230
14231         * gst/gstpad.c: (pre_activate), (post_activate),
14232         (gst_pad_activate_pull), (gst_pad_activate_push):
14233         Cleanup activation code. Reset old state if
14234         activation failed.
14235
14236 2005-10-12  Wim Taymans  <wim@fluendo.com>
14237
14238         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14239         (gst_base_sink_change_state):
14240         No need to prerol after receiving EOS.
14241
14242         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
14243         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler):
14244         * gst/elements/gstidentity.c: (gst_identity_event):
14245         Print events more verbosely.
14246
14247 2005-10-12  Wim Taymans  <wim@fluendo.com>
14248
14249         * check/Makefile.am:
14250         * check/states/sinks.c: (GST_START_TEST), (gst_object_suite):
14251         * check/states/sinks2.c:
14252         Moved sinks2 testcode in sinks check.
14253
14254         * gst/gstbin.c: (gst_bin_provide_clock_func), (gst_bin_add_func),
14255         (gst_bin_remove_func), (gst_bin_recalc_state),
14256         (gst_bin_change_state_func), (bin_bus_handler):
14257         Fix potential race condition when _get_state() iterated over an
14258         ASYNC element right before it posted a state completion.
14259
14260         * gst/gstclock.h:
14261         Do proper cast here.
14262
14263         * gst/gstevent.c: (gst_event_new_newsegment),
14264         (gst_event_parse_newsegment):
14265         A playback rate of 0.0 is not allowed.
14266
14267 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14268
14269         * win32/common/config.h:
14270         * win32/common/dirent.c: (_topendir), (_treaddir), (_tclosedir),
14271         (_trewinddir), (_ttelldir), (_tseekdir):
14272         * win32/common/dirent.h:
14273         * win32/common/gtchar.h:
14274         * win32/common/libgstbase.def:
14275         * win32/common/libgstreamer.def:
14276         * win32/vs6/grammar.dsp:
14277         * win32/vs6/gst_inspect.dsp:
14278         * win32/vs6/gst_launch.dsp:
14279         * win32/vs6/gstreamer.dsw:
14280         * win32/vs6/libgstbase.dsp:
14281         * win32/vs6/libgstelements.dsp:
14282         * win32/vs6/libgstreamer.dsp:
14283           Visual Studio 6 project files, and a new common directory.
14284           Phear.
14285
14286 2005-10-11  Wim Taymans  <wim@fluendo.com>
14287
14288         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14289         (gst_base_sink_do_sync), (gst_base_sink_query),
14290         (gst_base_sink_change_state):
14291         * gst/base/gstbasesink.h:
14292         Correctly parse newsegment info.
14293
14294 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14295
14296         * gst/gst.c: (init_post):
14297           split plugin paths correctly
14298
14299 2005-10-11  Wim Taymans  <wim@fluendo.com>
14300
14301         * check/gst/gstevent.c: (GST_START_TEST):
14302         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14303         (gst_base_sink_change_state):
14304         * gst/base/gstbasesrc.c: (gst_base_src_default_newsegment):
14305         * gst/base/gstbasetransform.c: (gst_base_transform_event):
14306         * gst/elements/gstfilesink.c: (gst_file_sink_event):
14307         * gst/gstevent.c: (gst_event_new_newsegment),
14308         (gst_event_parse_newsegment):
14309         * gst/gstevent.h:
14310         Added extra flag to newsegment for future API freeze.
14311         Updated check and base elements.
14312
14313 2005-10-11  Julien MOUTTE  <julien@moutte.net>
14314
14315         * gst/base/gstcollectpads.c: (gst_collectpads_init),
14316         (gst_collectpads_add_pad), (gst_collectpads_pop),
14317         (gst_collectpads_event), (gst_collectpads_chain):
14318         * gst/base/gstcollectpads.h: Handle EOS correctly.
14319
14320 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14321
14322         * tools/gst-launch.c: (main):
14323           more null protecting
14324
14325 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14326
14327         * gst/gst-i18n-lib.h:
14328           check for ENABLE_NLS, not GETTEXT_PACKAGE
14329         * gst/gstregistry.c: (gst_registry_add_plugin),
14330         (gst_registry_scan_path_level),
14331         (_gst_registry_remove_cache_plugins):
14332           protect possibly NULL strings
14333         * gst/parse/types.h:
14334           config.h already included before
14335         * tools/gst-inspect.c: (main):
14336           sys/wait.h also doesn�t exist on mingw, so change the ifdef check
14337           check for ENABLE_NLS, not GETTEXT_PACKAGE
14338         * tools/gst-launch.c: (main):
14339           check for ENABLE_NLS, not GETTEXT_PACKAGE
14340
14341 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14342
14343         * configure.ac:
14344           if we don't have glib, fail before testing 2.8
14345         * gst/base/gstbasetransform.c: (gst_base_transform_change_state):
14346           fix a leak, should fix plugins-base testsuite
14347
14348 2005-10-11  Andy Wingo  <wingo@pobox.com>
14349
14350         * gst/gstpad.c (pre_activate): Renamed from pre_activate_switch,
14351         take the mode we're going to as an arg. Go head and set the mode
14352         and flushing flags now, so that if the activate function starts a
14353         thread all the flags will be in the right state.
14354         (post_activate): Renamed also. Just handle making sure streaming
14355         finishes for the deactivation case, and setting the deactivated
14356         mode.
14357         (gst_pad_set_active): Complain loudly if deactivation fails.
14358         (gst_pad_activate_pull): Adapt to pre/post_activate changes.
14359         (gst_pad_activate_push): Adapt to pre/post_activate changes,
14360         remove the terrible hack.
14361
14362 2005-10-11  Wim Taymans  <wim@fluendo.com>
14363
14364         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14365         (is_eos), (gst_bin_add_func), (gst_bin_remove_func),
14366         (gst_bin_recalc_state), (gst_bin_change_state_func),
14367         (gst_bin_dispose), (bin_bus_handler):
14368         * gst/gstbin.h:
14369         Prepare to make current EOS message queue more generic.
14370         Fix some typos.
14371
14372         * gst/gstevent.c: (gst_event_new_newsegment),
14373         (gst_event_parse_newsegment):
14374         * gst/gstevent.h:
14375         Rename base to stream_time.
14376
14377         * gst/gstmessage.h:
14378         Fix typo in docs.
14379
14380 2005-10-11  Wim Taymans  <wim@fluendo.com>
14381
14382         * gst/gstbin.c: (gst_bin_init), (gst_bin_provide_clock_func),
14383         (gst_bin_add_func), (gst_bin_remove_func), (gst_bin_recalc_state),
14384         (gst_bin_change_state_func), (bin_bus_handler):
14385         * gst/gstbin.h:
14386         Work on proper clock selection.
14387
14388 2005-10-11  Edward Hervey  <edward@fluendo.com>
14389
14390         * libs/gst/controller/gstcontroller.c: (gst_controller_remove_properties_list): 
14391         * libs/gst/controller/gstcontroller.h:
14392         Added GList* version of _remove_properties() in order to be able to wrap
14393         it in bindings.
14394
14395 2005-10-11  Wim Taymans  <wim@fluendo.com>
14396
14397         * docs/design/part-states.txt:
14398         Some more docs.
14399
14400         * gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_recalc_state),
14401         (gst_bin_change_state_func), (bin_bus_handler):
14402         Doc updates. Don't distribute the same clock over and over again.
14403
14404         * gst/gstclock.c:
14405         * gst/gstclock.h:
14406         Doc updates.
14407
14408         * gst/gstpad.c: (gst_flow_get_name), (gst_flow_to_quark),
14409         (gst_pad_get_type), (gst_pad_push), (gst_pad_push_event),
14410         (gst_pad_send_event):
14411         * gst/gstpad.h:
14412         Make probe emission threadsafe again.
14413         Register quarks and move _get_name() from utils.
14414         Doc updates.
14415
14416         * gst/gstpipeline.c: (gst_pipeline_class_init),
14417         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14418         Only redistribute the clock of it changed.
14419
14420         * gst/gstsystemclock.h:
14421         Doc updates. 
14422
14423         * gst/gstutils.c:
14424         * gst/gstutils.h:
14425         Moved the _flow_get_name() to GstPad.
14426
14427 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14428
14429         * check/gst-libs/gdp.c: (GST_START_TEST):
14430         * check/gst/gstcaps.c: (GST_START_TEST):
14431         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_crc),
14432         (gst_dp_dump_byte_array), (gst_dp_header_from_buffer),
14433         (gst_dp_packet_from_caps):
14434           fix more valgrind warnings before turning up the heat
14435
14436 2005-10-11  Thomas Vander Stichele  <thomas at apestaart dot org>
14437
14438         * gst/parse/grammar.y:
14439           some cleanup before the hacking
14440
14441 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14442
14443         * gst/base/gstbasesrc.c: (gst_base_src_query):
14444           use conversions
14445         * gst/gstutils.c: (gst_guint64_to_gdouble),
14446         (gst_gdouble_to_guint64), (gst_util_uint64_scale):
14447         * gst/gstutils.h:
14448           externalize, basesrc uses it
14449           obviously the implementation needs testing
14450
14451 2005-10-10  Wim Taymans  <wim@fluendo.com>
14452
14453         * tests/sched/Makefile.am:
14454         * tests/sched/sort.c: (make_pipeline1), (make_pipeline2),
14455         (make_pipeline3), (make_pipeline4), (print_elem), (main):
14456
14457 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14458
14459         * gst/gstutils.c: (guint64_to_gdouble), (gst_util_uint64_scale):
14460           apparently converting from guint64 to double is not implemented
14461           on MSVC
14462
14463 2005-10-10  Wim Taymans  <wim@fluendo.com>
14464
14465         * check/Makefile.am:
14466         * check/generic/states.c: (GST_START_TEST):
14467         * check/gst/gstbin.c: (GST_START_TEST):
14468         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
14469         * check/states/sinks.c: (GST_START_TEST):
14470         * check/states/sinks2.c: (GST_START_TEST), (gst_object_suite),
14471         (main):
14472         Check fixes, use API as stated in design docs, remove hacks.
14473
14474         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14475         (gst_base_sink_change_state):
14476         Catch stopping our task while we're shutting down.
14477
14478         * gst/gstbin.c: (gst_bin_init), (gst_bin_add_func),
14479         (gst_bin_remove_func), (gst_bin_get_state_func),
14480         (gst_bin_recalc_state), (gst_bin_change_state_func),
14481         (bin_bus_handler):
14482         * gst/gstbin.h:
14483         * gst/gstelement.c: (gst_element_init),
14484         (gst_element_get_state_func), (gst_element_abort_state),
14485         (gst_element_commit_state), (gst_element_lost_state),
14486         (gst_element_set_state), (gst_element_change_state),
14487         (gst_element_change_state_func):
14488         * gst/gstelement.h:
14489         New state change algorithm (see #318116)
14490
14491         * gst/gstpipeline.c: (gst_pipeline_class_init),
14492         (gst_pipeline_init), (gst_pipeline_set_property),
14493         (gst_pipeline_get_property), (do_pipeline_seek),
14494         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func):
14495         * gst/gstpipeline.h:
14496         Remove crude state change hacks.
14497
14498         * gst/gstutils.h:
14499         Remove crude hacks.
14500
14501         * tools/gst-launch.c: (main):
14502         Fixes for state change. Needs some more work to fully use the
14503         new stuff.
14504
14505 2005-10-10  Andy Wingo  <wingo@pobox.com>
14506
14507         * tests/Makefile.am (noinst_PROGRAMS): No more init.c.
14508
14509         * gst/gst.c (G_OPTION_FLAG_NO_ARG): Apparently GLib 2.8 requires
14510         this flag, but it's not even in GLib 2.6. Odd. Hack around the
14511         issue.
14512
14513 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14514
14515         * gst/gstiterator.c: (gst_iterator_new):
14516           Fix my previous commit: GTypes passed to gst_iterator_new()
14517           can be fundamental types.
14518
14519 2005-10-10  Wim Taymans  <wim@fluendo.com>
14520
14521         * gst/gstelement.c: (gst_element_iterate_pad_list),
14522         (gst_element_iterate_pads), (gst_element_iterate_src_pads),
14523         (gst_element_iterate_sink_pads):
14524         Use src/sink pads lists for the respective iterators instead
14525         of filtering.
14526
14527 2005-10-10  Andy Wingo  <wingo@pobox.com>
14528
14529         Merged in popt removal + GOption addition patch from Ronald, bug
14530         #169772.
14531
14532         * docs/gst/gstreamer-sections.txt: Add STATE_(UN)LOCK_FULL, move
14533         GstElement macros around, remove popt-related symbols, add goption
14534         stuff.
14535
14536         * configure.ac: Remove popt checks, require GLib 2.6 for GOption.
14537         
14538         * docs/gst/Makefile.am:
14539         * docs/libs/Makefile.am: No POPT_CFLAGS.
14540         
14541         * examples/manual/Makefile.am:
14542         * docs/manual/basics-init.xml: Doc updates with an example.
14543         
14544         * gst/gst.c: (gst_init_get_option_group), (gst_init_check),
14545         (gst_init), (parse_one_option), (parse_goption_arg):
14546         * gst/gst.h: Removed gst_init_with_popt_table and friends. Took a
14547         bit of hand merging and debugging to get the GOption stuff working
14548         tho.
14549         
14550         * tests/Makefile.am:
14551         * tools/Makefile.am:
14552         * tools/gst-inspect.c: (main):
14553         * tools/gst-launch.c: (main):
14554         * tools/gst-run.c: (main):
14555         * tools/gst-xmlinspect.c: (main): Thanks Ronald!
14556
14557 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14558
14559         * gst/gstiterator.c: (gst_iterator_new):
14560           Add assertions to make sure passed GType is likely to really
14561           be a GType (as the compiler won't catch it if the size and
14562           GType arguments get mixed up, see #318447).
14563
14564 2005-10-10  Josef Zlomek  <josef dot zlomek at xeris dot cz>
14565
14566         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
14567
14568         * gst/gstbin.c: (gst_bin_iterate_sorted):
14569           Pass GType and size arguments to gst_iterator_new() in the right
14570           order (maybe we should make _new() take the GType as first argument
14571           just like _new_list()?) (#318447).
14572           
14573
14574 2005-10-10  Wim Taymans  <wim@fluendo.com>
14575
14576         * gst/gstelement.c: (gst_element_finalize):
14577         And free the GStaticRecMutex too
14578
14579 2005-10-10  Andy Wingo  <wingo@pobox.com>
14580
14581         * gst/gstelement.c (gst_element_init, gst_element_finalize):
14582         Allocate and free the mutex properly.
14583
14584         * gst/gstelement.h (GST_STATE_UNLOCK_FULL, GST_STATE_LOCK_FULL):
14585         New macros.
14586         (GstElement): The state_lock is now recursive. Rebuild your
14587         plugins, suckers. Old macros adapted.
14588
14589         * docs/gst/gstreamer-sections.txt: Doc updates.
14590
14591         * gst/gstutils.h:
14592         * gst/gstutils.c (g_static_rec_cond_timed_wait) 
14593         (g_static_rec_cond_wait): Ported from state changes patch, while
14594         we wait on bug #317802 to be solved in a well-distributed GLib.
14595
14596         * gst/gstelement.c (gst_element_change_state_func): Renamed from
14597         gst_element_change_state, variable name changes.
14598         (gst_element_change_state): Split out of gst_element_set_state in
14599         preparation for the state change merge. Doesn't pay attention to
14600         the 'transition' argument.
14601         (gst_element_set_state): Updates, hopefully purely cosmetic.
14602         (gst_element_sync_state_with_parent): MT-safety. Ported from the
14603         state change patch.
14604         (gst_element_get_state_func): Renamed from get_state, cosmetic
14605         changes.
14606
14607 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14608
14609         * gst/elements/gstelements.c:
14610         * win32/GStreamer.vcproj:
14611         * win32/config.h:
14612         * win32/dirent.c: (_tseekdir):
14613         * win32/gst-inspect.vcproj:
14614         * win32/gst-launch.vcproj:
14615         * win32/gstconfig.h:
14616         * win32/gstelements.vcproj:
14617         * win32/gstenumtypes.c: (gst_object_flags_get_type):
14618         * win32/gstreamer.def:
14619         * win32/msvc71.sln:
14620           updates for the win32 build (patch from Sebastien Moutte)
14621
14622 2005-10-10  Andy Wingo  <wingo@pobox.com>
14623
14624         * gst/gstbin.c (gst_bin_get_state_func): Renamed from
14625         gst_bin_get_state, cleaned up (but no logic changes).
14626         (bin_element_is_sink): Comment updates.
14627         (sink_iterator_filter): Remove needless cast.
14628         (gst_bin_iterate_sinks): Doc update.
14629         (gst_bin_change_state_func): Renamed from gst_bin_change_state,
14630         cleaned up (but no logic changes).
14631
14632         * check/states/sinks.c (test_src_sink): Cleanups from the state
14633         change patch.
14634         (test_livesrc_sink): Sync on the state.
14635
14636         * check/pipelines/simple_launch_lines.c (run_pipeline): Merge from
14637         the state change patch.
14638
14639         * check/gst/gstghostpad.c (test_ghost_pads): Merge from the state
14640         change patch.
14641
14642         * check/gst/gstbin.c: Merge in some style fixes and additional
14643         checks from Wim's state change patch.
14644
14645 2005-10-10  Tim-Philipp Müller  <tim at centricular dot net>
14646
14647         * gst/base/gsttypefindhelper.c: (helper_find_peek),
14648         (gst_type_find_helper):
14649           Check whether we have the requested data already in our list of
14650           cached buffers before pulling a new buffer; also make the buffer
14651           list a GSList. Speeds up typefinding by ca. 5-10% altogether.
14652
14653 2005-10-10  Thomas Vander Stichele  <thomas at apestaart dot org>
14654
14655         * gst/gstcaps.c:
14656         * gst/gstevent.c:
14657           doc updates
14658         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
14659           don't use long long, it's not portable.  Replacing with
14660           gint64 seems to work; let's hope no skeletons fall out of the closet.
14661
14662 2005-10-10  Andy Wingo  <wingo@pobox.com>
14663
14664         * autogen.sh (CONFIGURE_DEF_OPT): No more --plugin-buiddir, yay
14665
14666 2005-10-09  Stefan Kost  <ensonic@users.sf.net>
14667
14668         * docs/gst/gstreamer-sections.txt:
14669         * gst/gstevent.c:
14670         * gst/gstevent.h:
14671         * gst/gstinfo.c:
14672         * gst/gstinfo.h:
14673         * gst/gstmessage.c: (gst_message_parse_state_changed):
14674         * gst/gstpad.c:
14675         * gst/gstpad.h:
14676           more docs, fix compilation
14677
14678 2005-10-09  Philippe Khalaf <burger@speedy.org>
14679         * gst/gstmessage.c:
14680           Fixed a few forgotten variables on previous commit
14681
14682 2005-10-09  Tim-Philipp Müller  <tim at centricular dot net>
14683
14684         * gst/base/gsttypefindhelper.c: (helper_find_peek):
14685           Fix evil typefind crasher: getrange() might return a short
14686           buffer at the end of a file, but gst_type_find_peek() must
14687           either return the full data as requested or NULL, but
14688           never a short buffer.
14689
14690 2005-10-09  Thomas Vander Stichele  <thomas at apestaart dot org>
14691
14692         * gst/gstmessage.c: (gst_message_new_state_changed),
14693         (gst_message_parse_state_changed):
14694         * gst/gstmessage.h:
14695           don't use "new", it's a C++ keyword
14696
14697 2005-10-08  Wim Taymans  <wim@fluendo.com>
14698
14699         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_query):
14700         * gst/gstelement.c: (gst_element_post_message):
14701         * gst/gstpipeline.c: (gst_pipeline_change_state):
14702         Small docs and debug updates.
14703
14704 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14705
14706         * docs/gst/gstreamer-sections.txt:
14707         * gst/gstelementfactory.c:
14708         * gst/gstevent.c:
14709         * gst/gsttaglist.c:
14710           more docs
14711
14712 2005-10-08  Wim Taymans  <wim@fluendo.com>
14713
14714         * gst/gstbin.c: (is_eos), (update_degree), (gst_bin_change_state),
14715         (gst_bin_dispose), (bin_bus_handler):
14716         Fix typos, add comments.
14717         Clear EOS list when going to PAUSED from any direction and do it
14718         in a threadsafe way.
14719         Get base time in a threadsafe way too.
14720         Fix confusing debug in the change_state function.
14721         Various other small cleanups.
14722         
14723         * gst/gstelement.c: (gst_element_post_message):
14724         Fix very verbose bus posting code.
14725
14726         * gst/gstpipeline.c: (gst_pipeline_class_init),
14727         (gst_pipeline_set_property), (gst_pipeline_get_property),
14728         (gst_pipeline_change_state):
14729         Small ARG_ -> PROP_ cleanup
14730
14731 2005-10-08  Wim Taymans  <wim@fluendo.com>
14732
14733         * gst/gstbin.c: (is_eos), (bin_bus_handler):
14734         Do a less CPU demanding EOS check because we can.
14735
14736 2005-10-08  Wim Taymans  <wim@fluendo.com>
14737
14738         * libs/gst/dataprotocol/dataprotocol.c:
14739         (gst_dp_header_from_buffer), (gst_dp_packet_from_caps),
14740         (gst_dp_packet_from_event):
14741         * libs/gst/dataprotocol/dataprotocol.h:
14742         * libs/gst/dataprotocol/dp-private.h:
14743         It's about time we bump the version number.
14744         Since event types don't fit in the guint8 anymore describing
14745         the payload type, make payload type 16 bits wide.
14746
14747 2005-10-08  Wim Taymans  <wim@fluendo.com>
14748
14749         * docs/design/part-TODO.txt:
14750         * docs/design/part-clocks.txt:
14751         * docs/design/part-events.txt:
14752         * docs/design/part-gstbin.txt:
14753         * docs/design/part-gstelement.txt:
14754         * docs/design/part-gstpipeline.txt:
14755         * docs/design/part-live-source.txt:
14756         * docs/design/part-messages.txt:
14757         * docs/design/part-overview.txt:
14758         * docs/design/part-states.txt:
14759         Many doc updates.
14760
14761 2005-10-08  Wim Taymans  <wim@fluendo.com>
14762
14763         * gst/gstevent.c:
14764         * gst/gstevent.h:
14765         Fix event quark registration.
14766         Add some space between events so we can insert them in the
14767         right groups.
14768
14769 2005-10-08  Wim Taymans  <wim@fluendo.com>
14770
14771         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14772         (gst_base_sink_handle_buffer):
14773         Better log message.
14774
14775         * gst/gstbus.h:
14776         * gst/gstelement.h:
14777         More docs.
14778
14779         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
14780         (gst_queue_set_property), (gst_queue_get_property):
14781         * gst/gstqueue.h:
14782         Remove old unused properties.
14783
14784 2005-10-08  Stefan Kost  <ensonic@users.sf.net>
14785         * docs/gst/gstreamer-sections.txt:
14786         * gst/gstmessage.c:
14787         * gst/gstmessage.h:
14788         * gst/gstminiobject.c:
14789         * gst/gstminiobject.h:
14790         * gst/gstobject.h:
14791         * gst/gstpad.h:
14792         * gst/gstutils.h:
14793           lots of new docs and doc fixes
14794
14795 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14796
14797         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_load_file):
14798         * gst/gstplugin.h:
14799         * gst/gstregistry.c: (gst_registry_lookup_locked),
14800         (gst_registry_scan_path_level):
14801         * gst/gstregistryxml.c: (load_plugin):
14802           Only ever load one plugin for a given plugin basename.
14803           This ensures correct overriding of GST_PLUGIN_PATH over
14804           GST_PLUGIN_SYSTEM_PATH and of home dir plugins over
14805           system installed plugins.
14806
14807 2005-10-08  Wim Taymans  <wim@fluendo.com>
14808
14809         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
14810         (gst_base_sink_do_sync), (gst_base_sink_handle_buffer):
14811         Prepare for doing QOS.
14812
14813 2005-10-08  Wim Taymans  <wim@fluendo.com>
14814
14815         * check/gst/gstbin.c: (GST_START_TEST):
14816         * check/pipelines/cleanup.c: (GST_START_TEST):
14817         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
14818         Allow new clock message too.
14819
14820 2005-10-08  Wim Taymans  <wim@fluendo.com>
14821
14822         * gst/gstmessage.c: (gst_message_new_error),
14823         (gst_message_new_warning), (gst_message_new_tag),
14824         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14825         (gst_message_new_clock_lost), (gst_message_new_new_clock),
14826         (gst_message_new_segment_start), (gst_message_new_segment_done),
14827         (gst_message_parse_state_changed),
14828         (gst_message_parse_clock_provide), (gst_message_parse_clock_lost),
14829         (gst_message_parse_new_clock):
14830         * gst/gstmessage.h:
14831         Also carry the clock in question.
14832
14833 2005-10-08  Wim Taymans  <wim@fluendo.com>
14834
14835         * gst/gstmessage.c: (gst_message_new_custom),
14836         (gst_message_new_eos), (gst_message_new_error),
14837         (gst_message_new_warning), (gst_message_new_tag),
14838         (gst_message_new_state_changed), (gst_message_new_clock_provide),
14839         (gst_message_new_new_clock), (gst_message_new_segment_start),
14840         (gst_message_new_segment_done), (gst_message_parse_state_changed),
14841         (gst_message_parse_clock_provide), (gst_message_parse_new_clock):
14842         * gst/gstmessage.h:
14843         Clean up.
14844         Added clock related messages.
14845
14846         * gst/gstpipeline.c: (gst_pipeline_change_state):
14847         Post message when the clock changed.
14848
14849         * tools/gst-launch.c: (event_loop):
14850         Print new clock.
14851
14852 2005-10-08  Tim-Philipp Müller  <tim at centricular dot net>
14853
14854         * tools/gst-inspect.c: (print_element_properties_info):
14855           Can't pass NULL strings to g_print() on windows.
14856
14857 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14858
14859         * docs/Makefile.am:
14860         * docs/gst/Makefile.am:
14861         * docs/gst/gstreamer-docs.sgml:
14862         * docs/gst/running.xml:
14863         * docs/version.entities.in:
14864           add a chapter on running GStreamer.
14865           document GST_DEBUG and GST_PLUGIN* env vars
14866
14867 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14868
14869         * Makefile.am:
14870           remove include dir
14871         * configure.ac:
14872           remove PLUGINS_BUILDDIR stuff
14873         * gst/gst.c: (init_post):
14874           reorder parsing of GST_PLUGIN_PATH and GST_PLUGIN_SYSTEM_PATH
14875         * idiottest.mak:
14876           remove, it was condescending and not needed
14877
14878 2005-10-08  Wim Taymans  <wim@fluendo.com>
14879
14880         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_flush),
14881         (gst_base_sink_handle_object), (gst_base_sink_event),
14882         (gst_base_sink_wait), (gst_base_sink_handle_event),
14883         (gst_base_sink_change_state):
14884         * gst/base/gstbasesink.h:
14885         Repost EOS message while going to PLAYING if still EOS.
14886         Make sure that when receiving a FLUSH_START we don't attempt
14887         to sync on the clock anymore.
14888
14889 2005-10-08  Wim Taymans  <wim@fluendo.com>
14890
14891         * tools/gst-launch.c: (event_loop):
14892         Better message printout.
14893
14894 2005-10-08  Wim Taymans  <wim@fluendo.com>
14895
14896         * gst/gstbin.c: (gst_bin_child_proxy_get_child_by_index),
14897         (gst_bin_child_proxy_get_children_count):
14898         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
14899         (gst_child_proxy_lookup), (gst_child_proxy_get_property),
14900         (gst_child_proxy_get_valist), (gst_child_proxy_set_property),
14901         (gst_child_proxy_set_valist):
14902         * gst/parse/grammar.y:
14903         Make ChildProxy threadsafe and fix mem leaks.
14904
14905 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14906
14907         * gst/gst.c: (init_post):
14908           debug the GST_PLUGIN_ env vars
14909
14910 2005-10-08  Wim Taymans  <wim@fluendo.com>
14911
14912         * check/gst/gstbin.c: (GST_START_TEST):
14913         * check/gst/gstmessage.c: (GST_START_TEST):
14914         * check/gst/gstpipeline.c: (GST_START_TEST), (message_received):
14915         * gst/gstelement.c: (gst_element_commit_state),
14916         (gst_element_lost_state):
14917         * gst/gstmessage.c: (gst_message_new_state_changed),
14918         (gst_message_parse_state_changed):
14919         * gst/gstmessage.h:
14920         * tools/gst-launch.c: (event_loop):
14921         Added extra field to STATE_CHANGE message with the pending
14922         state, which will be different from the new state soon.
14923
14924 2005-10-08  Wim Taymans  <wim@fluendo.com>
14925
14926         * gst/gstbus.c: (gst_bus_pop):
14927         * gst/gstclock.c:
14928         * gst/gstsystemclock.c: (gst_system_clock_async_thread):
14929         Small cleanups and doc updates.
14930
14931 2005-10-08  Thomas Vander Stichele  <thomas at apestaart dot org>
14932
14933         * gst/gst.c: (init_pre):
14934         * gst/gstbin.c: (gst_bin_add_func):
14935           log distributing clocks and base time
14936         * gst/gstregistry.c: (gst_registry_add_plugin),
14937         (gst_registry_scan_path_level), (gst_registry_scan_path):
14938           clean up the debugging output a little
14939         * gst/gstutils.c: (gst_element_state_get_name):
14940           warn about a memleak (I've actually seen this be used, though
14941           it was probably a bug)
14942
14943 2005-10-07  Wim Taymans  <wim@fluendo.com>
14944
14945         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
14946         (gst_base_src_init), (gst_base_src_default_newsegment),
14947         (gst_base_src_newsegment), (gst_base_src_do_seek),
14948         (gst_base_src_loop), (gst_base_src_start):
14949         * gst/base/gstbasesrc.h:
14950         Make the newsegment event customizable by subclasses.
14951
14952 2005-10-07  Wim Taymans  <wim@fluendo.com>
14953
14954         * gst/gstevent.c: (gst_event_new_buffersize),
14955         (gst_event_parse_buffersize):
14956         * gst/gstevent.h:
14957         New event for future idea.
14958
14959 2005-10-07  Andy Wingo  <wingo@pobox.com>
14960
14961         * gst/gstelement.c (gst_element_post_message): Doc update.
14962
14963         * docs/gst/gstreamer-sections.txt: Update.
14964
14965         * gst/gstmessage.c (gst_message_new_application): Made into a
14966         function like honest API calls.
14967         (gst_message_new_element): New message type.
14968
14969         * gst/gstmessage.h (enum): Add GST_MESSAGE_ELEMENT type.
14970
14971         * check/elements/fakesrc.c (test_no_preroll): New check, checks
14972         that setting a live fakesrc to PAUSED returns NO_PREROLL both
14973         times.
14974
14975         * gst/base/gstbasesrc.c (gst_base_src_change_state): Allow a
14976         NO_PREROLL from gst_element_change_state to fall through.
14977
14978 2005-10-07  Wim Taymans  <wim@fluendo.com>
14979
14980         * gst/gstghostpad.c: (gst_ghost_pad_get_internal),
14981         (gst_ghost_pad_do_activate_push):
14982         Activating a ghostpad with no internal pad in push mode
14983         is ok.
14984
14985 2005-10-07  Thomas Vander Stichele  <thomas at apestaart dot org>
14986
14987         * gst/gstobject.h:
14988           there's no point in wrapping FLAG_SET/_UNSET in STMT macros.
14989           Fixes compilation on Windows.
14990
14991 2005-10-07  Michael Smith <msmith@fluendo.com>
14992
14993         * tools/gst-inspect.c:
14994           Print out feature and plugin count at the end when printing out
14995           all features.
14996
14997 2005-10-04  Michael Smith <msmith@fluendo.com>
14998
14999         * gst/gsterror.c: (_gst_stream_errors_init):
15000           Add another error string used in a few existing plugins.
15001
15002         * gst/gstplugin.c:
15003         * gst/gstpluginfeature.c: (gst_plugin_feature_load):
15004         * tools/gst-inspect.c: (print_element_info):
15005           When a feature disappears from a plugin (and the feature exists in
15006           the cached registry file), things went horribly wrong. This isn't a
15007           complete fix, we should actually be removing the 'missing' features
15008           from the features list when we load the actual plugin. That's not
15009           yet implemented. 
15010
15011 2005-10-04  Johan Dahlin  <johan@gnome.org>
15012
15013         * check/gst/gstiterator.c: (GST_START_TEST):
15014         * gst/gstbin.c: (gst_bin_iterate_elements),
15015         (gst_bin_iterate_recurse), (gst_bin_iterate_sorted):
15016         * gst/gstelement.c: (gst_element_iterate_pads):
15017         * gst/gstformat.c: (gst_format_iterate_definitions):
15018         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
15019         (gst_iterator_new_list), (gst_iterator_filter):
15020         * gst/gstiterator.h:
15021         * gst/gstquery.c: (gst_query_type_iterate_definitions):
15022         Add a GType to GstIterator, update callsites and tests.
15023
15024 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15025
15026         * gst/gstpad.c: (gst_pad_event_default_dispatch):
15027           give events a chance to be handled by event probes when the pad
15028           is not linked
15029
15030 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15031
15032         * gst/gstevent.c: (gst_event_type_get_name),
15033         (gst_event_type_to_quark), (gst_event_finalize), (gst_event_new):
15034         * gst/gstevent.h:
15035           add string representations for event types
15036
15037 2005-10-06  Wim Taymans  <wim@fluendo.com>
15038
15039         * gst/elements/gstfilesink.c: (gst_file_sink_close_file):
15040         Don't use NULL pointers.
15041
15042 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15043
15044         * gst/gst_private.h:
15045         * gst/gstbus.c:
15046         * gst/gstelement.c:
15047         * gst/gstinfo.c:
15048         * gst/gstpluginfeature.c:
15049           widen the debug category in output to fit the biggest one we have
15050           add a bus category and use it
15051           play with the colors
15052           fix up some categories
15053
15054 2005-10-06  Thomas Vander Stichele  <thomas at apestaart dot org>
15055
15056         * gst/gstghostpad.c: (gst_ghost_pad_internal_do_activate_push):
15057           add push activation of sink ghost pads.
15058           Andye, please verify
15059
15060 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15061
15062         * gst/gstutils.c: (gst_element_link_pads):
15063           fix a bug in the case where neither element has a pad
15064         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
15065           add a test for that case
15066
15067 2005-10-05  Thomas Vander Stichele  <thomas at apestaart dot org>
15068
15069         * gst/gstpad.c: (gst_pad_push), (gst_pad_push_event):
15070           emit have-data before checking for peers.  This allows
15071           for probe handlers to connect elements.  This helps autopluggers.
15072         * check/gst/gstpad.c: (GST_START_TEST), (_probe_handler),
15073         (gst_pad_suite):
15074           add six checks, linked/unlinked with no/true/false probe
15075
15076 2005-10-04  Wim Taymans  <wim@fluendo.com>
15077
15078         * gst/elements/gstfakesink.c: (gst_fake_sink_get_property),
15079         (gst_fake_sink_event), (gst_fake_sink_preroll),
15080         (gst_fake_sink_render), (gst_fake_sink_change_state):
15081         * gst/elements/gstfakesrc.c: (gst_fake_src_event_handler),
15082         (gst_fake_src_get_property), (gst_fake_src_create),
15083         (gst_fake_src_stop):
15084         * gst/elements/gstidentity.c: (gst_identity_stop):
15085         Protect last_message with lock.
15086
15087 2005-10-04  Edward Hervey  <edward@fluendo.com>
15088
15089         * gst/gstformat.h: 
15090         Added precision in the comments for GST_FORMAT_DEFAULT
15091
15092 2005-10-04  Tim-Philipp Müller  <tim at centricular dot net>
15093
15094         * tools/gst-launch.c: (main):
15095           Don't try to run erroneous pipelines.
15096
15097 2005-10-04  Julien MOUTTE  <julien@moutte.net>
15098
15099         * gst/gstbus.c: We don't need this header.
15100
15101 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15102
15103         * configure.ac:
15104           back to development
15105
15106 === release 0.9.3 ===
15107
15108 2005-10-03  Thomas Vander Stichele  <thomas at apestaart dot org>
15109
15110         * README:
15111         * configure.ac:
15112           Releasing 0.9.3, "Unregistered"
15113
15114 2005-10-03  Andy Wingo  <wingo@pobox.com>
15115
15116         * gst/gstpad.c (gst_pad_activate_push): There is a race condition
15117         whereby calling a pad's activatepush() function can start a thread
15118         that starts to push or pull before the pad gets the FLUSHING flag
15119         unset. Hack around it by holding the stream lock until the flag is
15120         set. Need to replace this with a proper solution. Together with
15121         the ghost pad fixes, this fixes mp3 playing/tagreading.
15122
15123         * docs/design/part-gstghostpad.txt: Add a note about activation of
15124         proxy pads outside of ghost pads.
15125
15126         * gst/gstghostpad.c: Implement the ghost pad activation design.
15127
15128 2005-10-02  Andy Wingo  <wingo@pobox.com>
15129
15130         * gst/gstobject.h (GST_OBJECT_REFCOUNT_VALUE): Just use the int.
15131         It is volatile, after all.
15132
15133         * docs/design/part-gstghostpad.txt: Flesh out activation with
15134         ghost pads.
15135
15136         * gst/base/gstbasesrc.c (gst_base_src_init): Use
15137         GST_DEBUG_FUNCPTR.
15138
15139 2005-10-02  Tim-Philipp Müller  <tim at centricular dot net>
15140
15141         * configure.ac:
15142           Fix (unused) AM_CONDITIONAL tests.
15143
15144 2005-10-01  Alessandro Decina  <alessandro at nnva dot org>
15145
15146         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15147
15148         * gst/gstutils.c: (gst_pad_query_convert):
15149           Add assertion that makes sure src_val is >=0, just like
15150           gst_query_new_convert() has. (#315895)
15151
15152 2005-09-30  Edward Hervey  <edward@fluendo.com>
15153
15154         * gst/elements/gsttee.c: (gst_tee_do_push), (gst_tee_handle_buffer):
15155         Let's not iterate pads we're not interested in, it avoids getting 
15156         sky-high refcounts on sinkpad.
15157
15158 2005-09-30  Wim Taymans  <wim@fluendo.com>
15159
15160         * gst/gstelement.c: (gst_element_set_state),
15161         (gst_element_change_state):
15162         Small tweak, element in ASYNC remains ASYNC.
15163
15164 2005-09-30  Wim Taymans  <wim@fluendo.com>
15165
15166         * gst/base/gstbasesink.c: (gst_base_sink_change_state):
15167         Only error is an error.
15168
15169         * gst/gstbin.c: (gst_bin_change_state):
15170         Better debugging.
15171
15172         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_chain):
15173         Also call pad_block in pad alloc.
15174
15175         * gst/gstutils.c: (gst_flow_get_name):
15176         Better debugging.
15177
15178 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15179
15180         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
15181         (gst_base_src_get_range):
15182           Fix documentation typos. Add some more debug info.
15183
15184 2005-09-29  David Schleef  <ds@schleef.org>
15185
15186         * gst/gstplugin.c: (gst_plugin_load_file): Make some error messages
15187           more end-user friendly.
15188         * tools/gst-inspect.c: (main): Check if command-line argument is
15189           a file and attempt to load that file as a plugin.
15190
15191 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15192
15193         * check/gst/gstbin.c:
15194         * check/states/sinks.c:
15195           fix tests for the new warning
15196         * check/gst/gstpipeline.c:
15197           add a test for pipeline and bus interaction
15198         * gst/gstelement.c:
15199           elements should be NULL if they get disposed; add a warning if not
15200
15201 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15202
15203         * gst/gstobject.c:
15204           for 2.6 refcounting, make debug log more correct by printing
15205           the actual refcounts at the time of swap (Wim)
15206
15207 2005-09-29  Andy Wingo  <wingo@pobox.com>
15208
15209         * gst/gstbus.c (gst_bus_remove_signal_watch): New function,
15210         removes signal watches previously added via
15211         gst_bus_add_signal_watch.
15212         (gst_bus_add_signal_watch): Don't return the source id, just store
15213         it on the bus if there wasn't an id already.
15214
15215         * gst/gstbus.h (GstBus): Add a couple new fields. API changes for
15216         add_signal_watch and remove_signal_watch.
15217
15218 2005-09-29  Edward Hervey  <edward@fluendo.com>
15219
15220         * libs/gst/controller/gstcontroller.c: (gst_controller_new_list): 
15221         Better if we actually iterate the list :)
15222
15223 2005-09-29  Wim Taymans  <wim@fluendo.com>
15224
15225         * check/gst/gstbin.c: (GST_START_TEST):
15226         Change for new bus API.
15227
15228         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
15229         (send_messages), (GST_START_TEST), (gstbus_suite):
15230         Change for new bus signal API.
15231
15232         * gst/gstbus.c: (gst_bus_class_init), (gst_bus_have_pending),
15233         (gst_bus_source_prepare), (gst_bus_source_check),
15234         (gst_bus_create_watch), (gst_bus_add_watch_full),
15235         (gst_bus_add_watch), (gst_bus_poll), (gst_bus_async_signal_func),
15236         (gst_bus_sync_signal_handler), (gst_bus_add_signal_watch):
15237         * gst/gstbus.h:
15238         Remove support for multiple GSources operating on different
15239         message types as it is too complex and unneeded when using
15240         signals.
15241         Added support for receiving signals from the bus.
15242
15243 2005-09-29  Thomas Vander Stichele  <thomas at apestaart dot org>
15244
15245         * docs/libs/tmpl/gstdataprotocol.sgml:
15246         * docs/manual/advanced-dataaccess.xml:
15247         * gst/elements/gstcapsfilter.c:
15248         * gst/gstutils.c:
15249           rename filter-caps to caps property
15250
15251 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15252
15253         * gst/gstvalue.c: (gst_value_deserialize_fraction):
15254           More robust fraction string parsing.
15255
15256         * docs/pwg/appendix-porting.xml:
15257           Mention gst_pad_use_explicit_caps() => gst_pad_use_fixed_caps()
15258
15259 2005-09-29  Tim-Philipp Müller  <tim at centricular dot net>
15260
15261         * gst/gstcaps.c: (gst_caps_do_simplify):
15262           Thou shalt not free a structure and then continue using it
15263           in the next loop iteration.
15264
15265         * check/gst/gstcaps.c: (check_fourcc_list), (test_simplify),
15266         (gst_caps_suite):
15267           Add test case for caps simplification.
15268
15269 2005-09-29  Wim Taymans  <wim@fluendo.com>
15270
15271         * check/gst/gstbin.c: (GST_START_TEST):
15272         Oops.
15273
15274 2005-09-29  Wim Taymans  <wim@fluendo.com>
15275
15276         * check/gst/gstbin.c: (GST_START_TEST):
15277         Add bus to bin.
15278
15279         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init),
15280         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15281         (find_element), (gst_bin_sort_iterator_next),
15282         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15283         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15284         (gst_bin_change_state), (gst_bin_dispose):
15285         A bin does not have a bus, it gets the bus from the parent.
15286
15287         * gst/gstelement.c: (gst_element_requires_clock),
15288         (gst_element_provides_clock), (gst_element_is_indexable),
15289         (gst_element_is_locked_state), (gst_element_change_state),
15290         (gst_element_set_bus_func):
15291         Small cleanups.
15292
15293         * gst/gstpipeline.c: (gst_pipeline_class_init),
15294         (gst_pipeline_init), (gst_pipeline_provide_clock_func):
15295         The pipeline provides a bus.
15296
15297 2005-09-28  Johan Dahlin  <johan@gnome.org>
15298
15299         * gst/gstmessage.c (gst_message_parse_state_changed): Use
15300         gst_structure_get_enum instead of gst_structure_get_int
15301
15302         * gst/gststructure.c (gst_structure_get_enum): Impl.
15303
15304         * gst/gststructure.h (gst_structure_get_enum): Add
15305
15306         * docs/gst/gstreamer-sections.txt: Ditto
15307
15308         * gst/gstmessage.c (gst_message_new_state_changed): Use
15309         GST_TYPE_STATE instead of G_TYPE_INT, mainly for language bindings
15310         which does introspection.
15311         Reviewed by Christian Schaller
15312
15313 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
15314
15315         * gst/gstinfo.c: (gst_debug_log_default):
15316           don't do dummy g_strdup()s
15317         * libs/gst/controller/gstcontroller.c:
15318         (on_object_controlled_property_changed),
15319         (gst_controlled_property_new), (gst_controller_new_valist),
15320         (gst_controller_new_list),
15321         (gst_controller_remove_properties_valist), (gst_controller_set),
15322         (gst_controller_get), (gst_controller_sync_values),
15323         (gst_controller_get_value_array), (_gst_controller_class_init),
15324         (gst_controller_get_type):
15325         * libs/gst/controller/gstcontroller.h:
15326         * libs/gst/controller/gstinterpolation.c:
15327         (gst_controlled_property_find_timed_value_node):
15328           convert // to /**/ comments
15329
15330 2005-09-28  Wim Taymans  <wim@fluendo.com>
15331
15332         * gst/gstbus.c: (marshal_VOID__MINIOBJECT), (gst_bus_class_init),
15333         (gst_bus_post), (poll_func), (gst_bus_async_signal_func),
15334         (gst_bus_sync_signal_handler):
15335         * gst/gstbus.h:
15336         Added async-message and sync-message signals to the bus.
15337         Added helper BusFunc to emit signals for all posted messages.
15338
15339         * gst/gstmessage.c: (gst_message_type_get_name),
15340         (gst_message_type_to_quark), (gst_message_get_type):
15341         * gst/gstmessage.h:
15342         Register quarks for message names.
15343
15344 2005-09-28  Stefan Kost  <ensonic@users.sf.net>
15345
15346         * docs/libs/gstreamer-libs-sections.txt:
15347         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist),
15348         (gst_controller_new_list):
15349         * libs/gst/controller/gstcontroller.h:
15350           added another constructor for language bindings
15351
15352 2005-09-28  Thomas Vander Stichele  <thomas at apestaart dot org>
15353
15354         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
15355           add another check
15356         * gst/gstbus.c:
15357           add some doc
15358         * gst/gstinfo.c: (_gst_debug_init):
15359           slightly more readable color for refcount debugging
15360
15361 2005-09-28  Wim Taymans  <wim@fluendo.com>
15362
15363         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_provide_clock_func),
15364         (add_to_queue), (clear_queue), (reset_degree), (update_degree),
15365         (find_element), (gst_bin_sort_iterator_next),
15366         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15367         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15368         (gst_bin_change_state), (gst_bin_dispose):
15369         Small doc fixes. get_clock -> provide_clock.
15370
15371         * gst/gstelement.c: (gst_element_class_init),
15372         (gst_element_provides_clock), (gst_element_provide_clock),
15373         (gst_element_get_clock), (gst_element_commit_state),
15374         (gst_element_lost_state):
15375         * gst/gstelement.h:
15376         Make get/set_clock() symetric. Add provide_clock vmethod since
15377         that is actually what this function does.
15378
15379         * gst/gstpipeline.c: (gst_pipeline_class_init),
15380         (gst_pipeline_change_state), (gst_pipeline_provide_clock_func),
15381         (gst_pipeline_get_clock):
15382         get_clock -> provide_clock.
15383
15384 2005-09-28  Andy Wingo  <wingo@pobox.com>
15385
15386         * gst/base/gstbasesrc.c (gst_base_src_unlock): Comment a bit in
15387         lieu of real docs...
15388
15389         * gst/elements/gstfdsrc.c: Cleaned up a bit.
15390
15391 2005-09-28  Tim-Philipp Müller  <tim at centricular dot net>
15392
15393         * gst/elements/gstcapsfilter.c:
15394         * gst/elements/gstfakesink.c:
15395         * gst/elements/gstfakesrc.c:
15396         * gst/elements/gstfdsink.c:
15397         * gst/elements/gstfdsrc.c:
15398         * gst/elements/gstfilesink.c:
15399         * gst/elements/gstfilesrc.c:
15400         * gst/elements/gstidentity.c:
15401         * gst/elements/gsttee.c:
15402         * gst/elements/gsttypefindelement.c:
15403           Make element details static.
15404
15405 2005-09-28  Wim Taymans  <wim@fluendo.com>
15406
15407         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15408         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15409         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15410         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15411         (gst_bin_change_state), (gst_bin_dispose):
15412         Some documentation updates.
15413         Clean up dispose handlers.
15414
15415         * gst/gstobject.c: (gst_object_ref), (gst_object_unref):
15416         * gst/gstpad.c: (gst_pad_dispose):
15417         Clean up dispose handler.
15418
15419         * gst/gstpipeline.c: (gst_pipeline_change_state):
15420         Removed spurious UNLOCK.
15421
15422 2005-09-27  Stefan Kost  <ensonic@users.sf.net>
15423
15424         * docs/gst/gstreamer-sections.txt:
15425         * gst/base/gstbasesrc.h:
15426         * gst/gstelement.h:
15427         * gst/gstevent.h:
15428         * gst/gstobject.h:
15429         * gst/gstpad.h:
15430         * gst/gstpipeline.c:
15431         * gst/gstpipeline.h:
15432         * gst/gstutils.h:
15433         * gst/gstxml.h:
15434           added two new functions to the docs
15435                 documents all undocumented GstXXXFlags
15436                 completed some incomplete docs 
15437
15438 2005-09-27  Thomas Vander Stichele  <thomas at apestaart dot org>
15439
15440         * gst/gstbin.c: (gst_bin_dispose):
15441         * gst/gstelement.c: (gst_element_dispose):
15442           remove now useless and leaky resurrection code in dispose
15443         * gst/base/gstbasesrc.c: (gst_base_src_init):
15444         * gst/gstelementfactory.c: (gst_element_factory_create):
15445         * gst/gstobject.c: (gst_object_set_parent):
15446           add some debugging
15447
15448 2005-09-27  Wim Taymans  <wim@fluendo.com>
15449
15450         * docs/design/part-TODO.txt:
15451         Update TODO.
15452
15453         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15454         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15455         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15456         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15457         (gst_bin_change_state):
15458         * gst/gstelement.h:
15459         Remove element variable, we keep element info in the iterator now.
15460
15461 2005-09-27  Andy Wingo  <wingo@pobox.com>
15462
15463         * libs/gst/dataprotocol/dataprotocol.c: Fix error-checking return
15464         values.
15465
15466 2005-09-27  Wim Taymans  <wim@fluendo.com>
15467
15468         * check/gst/gstbin.c: (GST_START_TEST):
15469         Enable check that works now.
15470
15471         * gst/gstbin.c: (add_to_queue), (clear_queue), (reset_outdegree),
15472         (update_outdegree), (find_element), (gst_bin_sort_iterator_next),
15473         (gst_bin_sort_iterator_resync), (gst_bin_sort_iterator_free),
15474         (gst_bin_iterate_sorted), (gst_bin_element_set_state),
15475         (gst_bin_change_state):
15476         * gst/gstbin.h:
15477         Redid the state change algorithm using a topological sort algo.
15478         Handles all cases correctly.
15479         Exposed iterator for state change order.
15480
15481         * gst/gstelement.h:
15482         Temp storage for state changes. Need to get rid of this soon.
15483
15484 2005-09-27  Wim Taymans  <wim@fluendo.com>
15485
15486         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_do_push):
15487         * gst/gstutils.c: (intersect_caps_func), (gst_pad_proxy_getcaps),
15488         (link_fold_func), (gst_pad_proxy_setcaps):
15489         Leak fixes, the fold functions need to unref the passed object and
15490         _get_parent_*() returns ref to parent.
15491
15492 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15493
15494         * check/gst/gstbuffer.c: (test_make_writable):
15495           Plug leak in test case and fix 'make check-valgrind'
15496
15497 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15498
15499         * gst/gstbuffer.c: (gst_subbuffer_init):
15500           Set READONLY flag on subbuffers, so that gst_buffer_make_writable()
15501           works correctly in all circumstances (we could have just copied
15502           the parent buffer's readonly flag, but conceptually it seems
15503           cleaner to mark all subbuffers as read-only). (based on patch
15504           by Alessandro Decina, #314710).
15505         
15506         * check/gst/gstbuffer.c: (create_read_only_buffer),
15507         (test_make_writable), (test_subbuffer_make_writable),
15508         (gst_test_suite):
15509           Add some tests for gst_buffer_make_writable().
15510
15511 2005-09-27  Wim Taymans  <wim@fluendo.com>
15512
15513         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_change_state):
15514         use gst_object_has_ancestor().
15515
15516         * gst/gstobject.c: (gst_object_has_ancestor):
15517         * gst/gstobject.h:
15518         gst_object_has_ancestor() copied from gstbin.c as it is a
15519         useful function.
15520
15521         * tests/instantiate/create.c: (create_all_elements):
15522         * tests/lat.c: (handoff_src), (handoff_sink):
15523         * tests/sched/runxml.c: (main):
15524         * tests/seeking/seeking1.c: (main):
15525         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
15526         (main):
15527         Fix compilation of some tests.
15528
15529 2005-09-27  Tim-Philipp Müller  <tim at centricular dot net>
15530
15531         * gst/gsterror.h:
15532           Remove comment. GST_TYPE_G_ERROR is here to stay,
15533           G_TYPE_ERROR has been WONTFIX'ed by the GLib folks
15534           (#316961, #300610).
15535
15536 2005-09-26  Wim Taymans  <wim@fluendo.com>
15537
15538         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
15539         Added check that shows error in state change order.
15540
15541 2005-09-26  Wim Taymans  <wim@fluendo.com>
15542
15543         * gst/gstbin.c: (gst_bin_change_state):
15544         Make state change function use 3 queues again, we were
15545         adding elements in the wrong order.
15546
15547         * gst/gstghostpad.c: (gst_ghost_pad_do_unlink):
15548         Some debug info,
15549
15550         * gst/gstpad.c: (gst_pad_dispose):
15551         Added some debug info first.
15552
15553 2005-09-26  Tim-Philipp Müller  <tim at centricular dot net>
15554
15555         * docs/design/draft-push-pull.txt:
15556         * docs/design/part-events.txt:
15557         * docs/design/part-overview.txt:
15558         * docs/design/part-scheduling.txt:
15559           Replace all _pull_region() with _pull_range()
15560           
15561 2005-09-26  Andy Wingo  <wingo@pobox.com>
15562
15563         * gst/gstvalue.c (_gst_value_initialize): Better fakeout.
15564
15565         * check/gst-libs/controller.c: Update for controller api change.
15566
15567         * configure.ac: 
15568         * tests/Makefile.am:
15569         * tests/memchunk: Remove memchunk benchmark stuff, this is taken
15570         over by GLib bug 118439.
15571         
15572         * gst/base/gstbasesink.c (gst_base_sink_wait): Factor out the wait
15573         routines to a function.
15574
15575         * docs/libs/gstreamer-libs-sections.txt: I am a good person today.
15576
15577         * libs/gst/controller/gsthelper.c:
15578         * libs/gst/controller/gstcontroller.h (gst_controller_sync_values)
15579         (gst_object_sync_values): Renamed from sink_values. Ugh.
15580
15581         * libs/gst/controller/gsthelper.c: Update for __gst_controller_key.
15582
15583         * libs/gst/controller/gstcontroller.c (__gst_controller_key):
15584         Renamed from controller_key, as it is exported.
15585
15586         * gst/gstvalue.c (_gst_value_initialize): Fake out the compiler.
15587
15588 2005-09-26  Thomas Vander Stichele  <thomas at apestaart dot org>
15589
15590         * gst/Makefile.am:
15591         * gst/gst.h:
15592         * gst/gstpad.h:
15593         * gst/gstpadtemplate.h:
15594         * gst/gstquery.c:
15595         * gst/gstquery.h:
15596         * gst/gstqueryutils.c:
15597         * gst/gstqueryutils.h:
15598           remove queryutils headers after moving the two used functions
15599           to gstquery.  also fixes build problem for gstsiddec
15600
15601 2005-09-26  Michael Smith <msmith@fluendo.com>
15602
15603         * tools/gst-launch.1.in:
15604         Correct documentation in manpage of debug syntax
15605
15606 2005-09-26  Wim Taymans  <wim@fluendo.com>
15607
15608         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
15609         (gst_base_src_is_seekable), (gst_base_src_change_state):
15610         Some more debugging info.
15611
15612 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15613
15614         * docs/gst/gstreamer-sections.txt:
15615         * gst/base/gstbasetransform.h:
15616         * gst/gstindex.h:
15617           added more docs
15618
15619 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15620
15621         * docs/gst/.cvsignore:
15622         * docs/gst/tmpl/.cvsignore:
15623         * docs/gst/tmpl/gstpipeline.sgml:
15624         * docs/gst/tmpl/gstplugin.sgml:
15625         * gst/gstpipeline.c:
15626         * gst/gstplugin.c:
15627         * gst/gstplugin.h:
15628           inlined the last two docs files
15629           removed the tmpl directory from cvs (no more conflicts here!)
15630
15631 2005-09-25  Stefan Kost  <ensonic@users.sf.net>
15632
15633         * docs/gst/gstreamer-sections.txt:
15634         * docs/gst/tmpl/.cvsignore:
15635         * docs/gst/tmpl/gstpad.sgml:
15636         * docs/gst/tmpl/gstpadtemplate.sgml:
15637         * gst/Makefile.am:
15638         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_dispose),
15639         (gst_pad_finalize), (gst_pad_set_pad_template):
15640         * gst/gstpad.h:
15641         * gst/gstpadtemplate.c: (gst_pad_template_get_type),
15642         (gst_pad_template_class_init), (gst_pad_template_init),
15643         (gst_pad_template_dispose), (name_is_valid),
15644         (gst_static_pad_template_get), (gst_pad_template_new),
15645         (gst_static_pad_template_get_caps), (gst_pad_template_get_caps),
15646         (gst_pad_template_pad_created):
15647         * gst/gstpadtemplate.h:
15648           inlined two more docs
15649           factored gstpadtemplate out of gstpad
15650
15651 2005-09-24  Tim-Philipp Müller  <tim at centricular dot net>
15652
15653         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15654         (test_children_state_change_order_semi_sink):
15655           Fix test case: we can't rely on a fixed state change order when
15656           going from READY => PAUSED because the sink might commit its 
15657           new state first when the first buffer created by the source 
15658           reaches the sink before the source has finished its change state.
15659           (Test case still fails at times, see #316856, comment 5 onwards)
15660
15661 2005-09-24  Wim Taymans  <wim@fluendo.com>
15662
15663         * docs/design/part-events.txt:
15664         * docs/design/part-gstbus.txt:
15665         * docs/design/part-gstpipeline.txt:
15666         * docs/design/part-messages.txt:
15667         * docs/design/part-overview.txt:
15668         * docs/design/part-segments.txt:
15669         * gst/gstbin.c:
15670         * gst/gstbuffer.c:
15671         * gst/gstclock.c:
15672         * gst/gstelement.c:
15673         * gst/gstevent.c:
15674         * gst/gstfilter.c:
15675         * gst/gstiterator.c:
15676         Various documentation updates.
15677
15678 2005-09-24  Thomas Vander Stichele  <thomas at apestaart dot org>
15679
15680         * gst/gstclock.h:
15681           Well, that's embarassing.  Luckily we weren't using
15682           GST_CLOCK_DIFF anywhere.
15683
15684 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15685
15686         * common/gtk-doc.mak:
15687           don't fail on building XML, FC4 slave shows a bunch of doc
15688           missing bits that I don't get
15689         * gst/gstpad.c:
15690         * gst/gstpipeline.c:
15691         * gst/gststructure.c:
15692           some doc updates
15693
15694 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15695
15696         * docs/design/part-gstbin.txt:
15697         * docs/design/part-gstbus.txt:
15698         * gst/gstbus.c:
15699           Add blurb about how the bus goes into flushing mode and
15700           drops all messages when its bin goes from READY into NULL 
15701           state.
15702
15703 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15704
15705         * docs/gst/gstreamer-sections.txt:
15706         * gst/gststructure.c: (gst_structure_get_clock_time):
15707         * gst/gststructure.h:
15708           add a method to get a GstClockTime out of a structure
15709
15710 2005-09-23  Tim-Philipp Müller  <tim at centricular dot net>
15711
15712         * check/gst/gstbin.c: (test_children_state_change_order_flagged_sink),
15713         (test_children_state_change_order_semi_sink), (gst_bin_suite):
15714           Added test to check state change order in bins (can still be made
15715           to fail here under heavy disk load; bails out with 'Push on pad
15716           fakesink:sink0, but it was not activated in push mode').
15717
15718         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_change_state):
15719           Fix state change order when there is only a semi sink (#316856)
15720
15721         * gst/gstbus.c: (gst_bus_class_init):
15722           Use _class_peek_parent(), not _class_ref(); fix docs to say
15723           'default main context' instead of 'mainloop' where that is
15724           what's meant.
15725
15726         * gst/gstelement.c: (gst_element_commit_state),
15727         (gst_element_set_state):
15728           Fix typos in debug messages
15729
15730 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15731
15732         * docs/README:
15733         * gst/gstpad.c: (gst_pad_class_init), (gst_pad_chain):
15734         * gst/gstpluginfeature.c:
15735         * gst/gstutils.c:
15736           various doc updates
15737         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
15738           change an assert into an error until it gets fixed properly
15739
15740 2005-09-23  Stefan Kost  <ensonic@users.sf.net>
15741
15742         * docs/gst/gstreamer-sections.txt:
15743         * docs/gst/tmpl/.cvsignore:
15744         * docs/gst/tmpl/gstelement.sgml:
15745         * docs/gst/tmpl/gstinfo.sgml:
15746         * docs/gst/tmpl/gstobject.sgml:
15747         * gst/gstelement.c:
15748         * gst/gstelement.h:
15749         * gst/gstinfo.c:
15750         * gst/gstinfo.h:
15751         * gst/gstobject.c: (gst_object_class_init):
15752         * gst/gstobject.h:
15753           inlined 3 more biiiig doc files and added some missing docs on the fly
15754
15755 2005-09-23  Thomas Vander Stichele  <thomas at apestaart dot org>
15756
15757         * check/gst/.cvsignore:
15758         * check/gst/gstplugin.c: (GST_START_TEST), (gst_plugin_suite):
15759         * gst/gstregistryxml.c: (load_plugin),
15760         (gst_registry_xml_save_plugin):
15761           put back source in registry.  add checks for find_plugin.
15762         * testsuite/states/bin.c: (assert_state), (empty_bin),
15763         (test_adding_one_element), (main):
15764         * testsuite/states/locked.c: (main):
15765           some compile/run fixes
15766
15767 2005-09-22  Thomas Vander Stichele  <thomas at apestaart dot org>
15768
15769         * check/gst/gstvalue.c: (GST_START_TEST):
15770           fix leaks in the test itself
15771
15772 2005-09-22  Wim Taymans  <wim@fluendo.com>
15773
15774         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15775         (gst_base_sink_send_event), (gst_base_sink_peer_query),
15776         (gst_base_sink_query):
15777         Prepare for more accurate position reporting and query
15778         handling.
15779
15780         * gst/gstelement.c: (gst_element_send_event),
15781         (gst_element_set_state):
15782         Add some comment.
15783
15784 2005-09-22  Wim Taymans  <wim@fluendo.com>
15785
15786         * gst/gstquery.c: (gst_query_new_segment), (gst_query_set_segment),
15787         (gst_query_parse_segment):
15788         * gst/gstquery.h:
15789         More documentation.
15790         Add segment query for future use.
15791
15792 2005-09-22  Wim Taymans  <wim@fluendo.com>
15793
15794         * gst/gstbin.c: (gst_bin_add_func):
15795         Some more debug info.
15796
15797         * gst/gstelement.c: (gst_element_send_event):
15798         Simplify send_event
15799
15800         * gst/gstelement.h:
15801         Don't know how flags got broken.
15802
15803         * gst/gstquery.h:
15804         Added new query.
15805
15806 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15807
15808         * check/gst/gstvalue.c: (test_date), (gst_value_suite):
15809           Add simplistic test suite for GST_TYPE_DATE serialisation and
15810           deserialisation.
15811
15812 2005-09-22  Tim-Philipp Müller  <tim at centricular dot net>
15813
15814         * docs/gst/gstreamer-sections.txt:
15815         * gst/gststructure.c: (gst_structure_set_valist),
15816         (gst_structure_get_date):
15817         * gst/gststructure.h:
15818         * gst/gstvalue.c: (gst_value_set_date), (gst_value_get_date),
15819         (gst_date_copy), (gst_value_compare_date),
15820         (gst_value_serialize_date), (gst_value_deserialize_date),
15821         (gst_value_transform_date_string),
15822         (gst_value_transform_string_date), (_gst_value_initialize):
15823         * gst/gstvalue.h:
15824           Add GST_TYPE_DATE, a boxed type that wraps GDate, and the usual
15825           bunch of utility functions along with a hack that checks that
15826           developers don't accidentally use G_TYPE_DATE where GST_TYPE_DATE
15827           is required. Part of the grand scheme in #170777.
15828
15829 2005-09-22  Andy Wingo  <wingo@pobox.com>
15830
15831         * gst/gstconfig.h.in: Psych out gtk-doc.
15832
15833         * docs/gst/gstreamer-sections.txt: Add GST_HAVE_GLIB_2_8.
15834
15835         * check/Makefile.am (check_PROGRAMS): Add gstplugin to the tests.
15836
15837         * tools/gst-inspect.c (print_element_list): Plug some
15838         inconsequential leaks.
15839
15840         * gst/gstregistry.c (gst_registry_get_default): Doc.
15841
15842         * check/gst/gstplugin.c: 
15843         * gst/gsttypefindfactory.c (gst_type_find_factory_call_function):
15844         * gst/gstelementfactory.c (gst_element_factory_create): 
15845         * gst/gstindexfactory.c (gst_index_factory_create): Update for
15846         refcount changes.
15847
15848         * gst/gstpluginfeature.c (gst_plugin_feature_list_free): Doc.
15849         (gst_plugin_feature_load): Doc, don't eat refs.
15850
15851         * gst/gstplugin.c (gst_plugin_load): Doc, don't eat refs.
15852         (gst_plugin_list_free): Doc.
15853         (gst_plugin_load_file): Doc updates.
15854
15855         * gst/gstbuffer.c (gst_buffer_get_caps): Like all our _get
15856         accessors returning refcounted objects, return a ref.
15857
15858         * check/gst/gstbuffer.c (GST_START_TEST): Use refcount-idempotent
15859         accessor for caps. IDEMPOTENCE. Oh yes.
15860
15861 2005-09-21  Francis Labonte  <francis_labonte at hotmail dot com>
15862
15863         Reviewed by: Tim-Philipp Müller  <tim at centricular dot net>
15864
15865         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
15866         (_gst_debug_register_funcptr):
15867           Add mutex to serialise access to the hash table with
15868           the function pointer => function name string mapping;
15869           make that hash table static scope (#316809).
15870
15871         * gst/registries/.cvsignore:
15872           Remove left-over file.
15873
15874 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15875
15876         * docs/pwg/appendix-porting.xml:
15877           And something about newsegment events and caps-on-buffers to
15878           the porting guide (feel free to improve).
15879
15880 2005-09-21  Andy Wingo  <wingo@pobox.com>
15881
15882         * check/gst/gstutils.c (test_buffer_probe_n_times): Add tests for
15883         data and event probes on the same pad.
15884         (test_buffer_probe_once): Test that removing probes from within
15885         the probe functions works.
15886
15887 2005-09-21  Andy Wingo  <wingo@pobox.com>
15888
15889         * check/gst/gstutils.c: New file.
15890         (test_buffer_probe_n_times): A simple buffer probe test. More to
15891         come, foolios.
15892
15893         * gst/gstutils.c (gst_pad_add_buffer_probe): Connect to
15894         have-data::buffer, not have-data.
15895         (gst_pad_add_event_probe): Likewise for have-data::event.
15896         (gst_pad_add_data_probe): More docs. The part about 'resolving the
15897         peer' isn't quite right yet though.
15898         (gst_pad_remove_buffer_probe, gst_pad_remove_event_probe) 
15899         (gst_pad_remove_data_probe): Change to take the guint handler_id
15900         as their arg, not the function+data, which is more glib-like.
15901
15902         * gst/gstpad.c (gst_pad_emit_have_data_signal): Add a detail to
15903         the signal emission to indicate if the data is a buffer or an
15904         event.
15905         (gst_pad_get_type): Initialize buffer and event quarks.
15906         (gst_pad_class_init): have-data is now a detailed signal, yes it
15907         is.
15908
15909 2005-09-21  Tim-Philipp Müller  <tim at centricular dot net>
15910
15911         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
15912         * gst/gstutils.c: (gst_util_set_value_from_string),
15913         (gst_util_set_object_arg):
15914           Don't put functional code in g_return_if_fail() or
15915           g_return_val_if_fail() statements, otherwise things will 
15916           break when G_DISABLE_CHECKS is defined during compilation.
15917
15918 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15919
15920         * docs/gst/tmpl/.cvsignore:
15921         * docs/gst/tmpl/gstvalue.sgml:
15922         * gst/gstvalue.c:
15923         * gst/gstvalue.h:
15924           inlied another one and added  some obvious docs
15925
15926 2005-09-21  Wim Taymans  <wim@fluendo.com>
15927
15928         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init),
15929         (gst_fdsrc_init), (gst_fdsrc_start), (gst_fdsrc_stop),
15930         (gst_fdsrc_unlock), (gst_fdsrc_set_property),
15931         (gst_fdsrc_get_property), (gst_fdsrc_create):
15932         * gst/elements/gstfdsrc.h:
15933         Properly implement fdsrc. Removed signal and timeout,
15934         better implemented somewhere else.
15935
15936 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15937
15938         * docs/gst/tmpl/.cvsignore:
15939         * docs/gst/tmpl/gstimplementsinterface.sgml:
15940         * gst/gstinterface.c:
15941           inlined more docs
15942
15943 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15944
15945         * docs/gst/gstreamer-sections.txt:
15946         * docs/gst/tmpl/.cvsignore:
15947         * docs/gst/tmpl/gstenumtypes.sgml:
15948           remove obsolete doc file
15949
15950 2005-09-21  David Schleef  <ds@schleef.org>
15951
15952         * gst/gstelementfactory.c: (gst_element_factory_make): Drink a
15953         little beer, fix a little leak.
15954
15955 2005-09-21  Stefan Kost  <ensonic@users.sf.net>
15956
15957         * docs/gst/gstreamer-docs.sgml:
15958         * docs/gst/gstreamer-sections.txt:
15959         * docs/gst/tmpl/.cvsignore:
15960         * gst/Makefile.am:
15961         * gst/gst.h:
15962         * gst/gstbin.c:
15963         * gst/gstelement.h:
15964         * gst/gstindex.c: (gst_index_class_init):
15965         * gst/gstindex.h:
15966         * gst/gstindexfactory.c: (gst_index_factory_get_type),
15967         (gst_index_factory_class_init), (gst_index_factory_init),
15968         (gst_index_factory_finalize), (gst_index_factory_new),
15969         (gst_index_factory_destroy), (gst_index_factory_find),
15970         (gst_index_factory_create), (gst_index_factory_make):
15971         * gst/gstindexfactory.h:
15972         * gst/gstpluginfeature.c:
15973         * gst/gstpluginfeature.h:
15974         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15975           more docs inlined, splitted gstindex.{c,h}
15976
15977 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
15978
15979         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
15980           fix a leak
15981
15982 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
15983
15984         * gst/elements/gstfilesink.c: (gst_file_sink_init):
15985           Set sync to FALSE by default.
15986
15987 2005-09-20  Wim Taymans  <wim@fluendo.com>
15988
15989         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
15990         (gst_base_sink_init):
15991         Make sync property settable from subclass.
15992
15993         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
15994         (gst_fake_sink_change_state):
15995         Set sync to FALSE by default.
15996
15997 2005-09-20  Wim Taymans  <wim@fluendo.com>
15998
15999         * gst/gstbus.c: (poll_func), (poll_timeout), (gst_bus_poll):
16000         * tools/gst-launch.c: (main):
16001         The timeout handler should have lower priority than the source
16002         so we don't timeout before popping a message with 0 timeout.
16003         Dump error messages after failed state change.
16004
16005 2005-09-20  Tim-Philipp Müller  <tim at centricular dot net>
16006
16007         * tools/gst-inspect.c: (print_element_properties_info):
16008           Fix two typos.
16009
16010 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16011
16012         * check/gst/gstevent.c:
16013         * gst/elements/gstfakesink.c:
16014         * gst/elements/gstfakesink.h:
16015           remove the sync property from fakesink.
16016           has the side effect of setting sync TRUE
16017           for fakesink, which is a change.  Anyone who knows how
16018           to fix this nicely in a GObject-y way, feel free.
16019
16020 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16021
16022         * docs/gst/gstreamer-docs.sgml:
16023           remove probe refsection
16024
16025 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16026
16027         * check/Makefile.am:
16028           disable valgrinding the controller test again
16029         * docs/gst/gstreamer-sections.txt:
16030           update for api-changes
16031
16032 2005-09-20  Wim Taymans  <wim@fluendo.com>
16033
16034         * gst/base/gstbasesink.c: (gst_base_sink_class_init),
16035         (gst_base_sink_set_property), (gst_base_sink_get_property),
16036         (gst_base_sink_do_sync):
16037         * gst/base/gstbasesink.h:
16038         Added sync property to basesink to disable clock sync.
16039
16040 2005-09-20  Andy Wingo  <wingo@pobox.com>
16041
16042         * gst/gstelementfactory.c (gst_element_factory_create): Avoid
16043         eating the caller's refcount.
16044
16045         * gst/gstobject.h (GST_OBJECT_REFCOUNT) 
16046         (GST_OBJECT_REFCOUNT_VALUE): Conditionally fondle the right
16047         refcount.
16048
16049         * gst/gstconfig.h.in (GST_HAVE_GLIB_2_8):
16050         * configure.ac (GST_HAVE_GLIB_2_8_DEFINE): Make the availability
16051         of GLib 2.8 public, so we can know which refcount to check in
16052         tests.
16053
16054         * gst/gstobject.c: Use the GST_HAVE_GLIB_2_8 define.
16055         (gst_object_init): Only set the gst refcount if we're going ahead
16056         with the refcount hack.
16057
16058 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16059
16060         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
16061         * libs/gst/controller/gstcontroller.c: (gst_controller_new_valist):
16062           more leaks plumbed, added more debug-logging
16063         * gst/gstmacros.h:
16064           whitespace fix
16065
16066 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16067
16068         * gst/gstmessage.c:
16069           remove include of gstmemchunk.h
16070
16071 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16072
16073         * gst/gstclock.c: (_gst_clock_id_free):
16074           Commit from the Political Party For More Atomic CVS Commits,
16075           so that people don't waste too much of their day fishing
16076           out obvious leaks out of massive commits.
16077           Oh, and fix a pretty damn obvious leak in the memchunk
16078           removal code.
16079
16080 2005-09-20  Stefan Kost  <ensonic@users.sf.net>
16081
16082         * check/Makefile.am:
16083         * check/gst-libs/controller.c: (plugin_init), (GST_START_TEST):
16084           plug mem-leak, re-add to valgrindable tests
16085
16086 2005-09-20  Thomas Vander Stichele  <thomas at apestaart dot org>
16087
16088         * gst/gstplugin.h:
16089           unbreak the build for those who have chronic arthritis
16090           and typing "make check" is just too taxing on the hands
16091
16092 2005-09-20  Andy Wingo  <wingo@pobox.com>
16093
16094         * gst/gst.h: Re-add marshal to gst.h's include list -- if we
16095         really want it out, you should fix plugins at the same time.
16096
16097 2005-09-19  Stefan Kost  <ensonic@users.sf.net>
16098
16099         * configure.ac:
16100         * docs/gst/gstreamer-sections.txt:
16101         * gst/gstobject.c:
16102           added missing symbols to api docs
16103           disable ref-count hack if we have glib >= 2.8
16104
16105 2005-09-19  David Schleef  <ds@schleef.org>
16106
16107         * docs/gst/Makefile.am: Ignore a few more internal headers
16108         * docs/gst/gstreamer-docs.sgml: Remove old sections
16109         * docs/gst/gstreamer-sections.txt: Remove old sections
16110         * docs/gst/tmpl/gstobject.sgml: update
16111         * docs/gst/tmpl/gstplugin.sgml: update
16112         * docs/gst/tmpl/gstpluginfeature.sgml: update
16113         * docs/random/ds/0.9-suggested-changes: update.
16114         * gst/Makefile.am: remove memchunk and trashstack, since they're
16115           not used.
16116         * gst/gst.c: (gst_deinit): rename gst_registry_deinit to _cleanup
16117         * gst/gst.h: don't include some headers
16118         * gst/gstchildproxy.c: add gstmarshal.h
16119         * gst/gstclock.c: Don't use memchunks
16120         * gst/gstminiobject.c: Add some docs
16121         * gst/gstobject.c: remove DESTROYED flag, since it's redundant
16122         * gst/gstobject.h: same
16123         * gst/gstplugin.c: include gstmacros.h
16124         * gst/gstplugin.h: don't include gstmacros.h, since it's private
16125         * gst/gstquery.c: don't use memchunks
16126         * gst/gstregistry.c: rename gst_registry_deinit()
16127         * gst/gstregistry.h: same
16128
16129 2005-09-19  David Schleef  <ds@schleef.org>
16130
16131         * docs/libs/gstreamer-libs-docs.sgml: Remove docs for getbits
16132         * docs/libs/gstreamer-libs-sections.txt:
16133         * docs/libs/tmpl/gstgetbits.sgml:
16134         * docs/libs/tmpl/gstputbits.sgml:
16135
16136 2005-09-19  Tim-Philipp Müller  <tim at centricular dot net>
16137
16138         * win32/gstenumtypes.c:
16139         * win32/gstenumtypes.h:
16140           Update.
16141
16142 2005-09-19  Wim Taymans  <wim@fluendo.com>
16143
16144         * gst/gstpipeline.c: (do_pipeline_seek), (gst_pipeline_send_event):
16145         Automatically PAUSE and RESUME a pipeline when a flushing seek
16146         is performed.
16147
16148 2005-09-19  Andy Wingo  <wingo@pobox.com>
16149
16150         * gst/gstregistry.h: Spacing fixen.
16151
16152 2005-09-19  Wim Taymans  <wim@fluendo.com>
16153
16154         * gst/base/gstbasesrc.c: (gst_base_src_change_state):
16155         Handle state change failure more correctly.
16156
16157 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16158
16159         * check/Makefile.am:
16160         * check/pipelines/cleanup.c: (run_pipeline):
16161         * check/pipelines/simple_launch_lines.c: (run_pipeline),
16162         (GST_START_TEST):
16163           enable cleanup again after fixing the leak
16164         * docs/README:
16165           some more info on docs
16166
16167 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16168
16169         * check/Makefile.am:
16170           re-enable tests now that leaks are plugged
16171         * check/gst/gst.c:
16172         * check/gst/gstbin.c:
16173         * check/gst/gstpipeline.c:
16174           add some more tests while fixing leaks
16175         * common/check.mak:
16176           make sure binaries are uptodate when valgrinding/gdbing
16177         * gst/gst.c:
16178         * gst/gstelementfactory.c:
16179           remove a ref too many, and add a FIXME for when we get
16180           round to disposing of classes
16181         * gst/gstplugin.c:
16182           fix the refcounting when loading a plugin from a file and
16183           the code pretends that the pointer is the same even though
16184           of course it can change
16185         * gst/gstpluginfeature.c:
16186           unref plugins marked cached (a bit confusing as a name)
16187           as the docs state should be done
16188           various doc additions to explain refcounting
16189         * gst/gstregistry.c:
16190         * gst/gstregistryxml.c:
16191           debugging
16192
16193 2005-09-19  Wim Taymans  <wim@fluendo.com>
16194
16195         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
16196         * check/gst/gstbus.c: (message_func_eos), (message_func_app),
16197         (send_messages), (GST_START_TEST), (gstbus_suite):
16198         * check/gst/gstpipeline.c: (GST_START_TEST):
16199         * check/pipelines/cleanup.c: (run_pipeline):
16200         * check/pipelines/simple_launch_lines.c: (run_pipeline),
16201         (GST_START_TEST):
16202         * gst/gstbus.c: (gst_bus_have_pending), (gst_bus_source_prepare),
16203         (gst_bus_source_check), (gst_bus_source_dispatch),
16204         (gst_bus_create_watch), (gst_bus_add_watch_full),
16205         (gst_bus_add_watch), (poll_func), (poll_timeout), (gst_bus_poll):
16206         * gst/gstbus.h:
16207         * tools/gst-launch.c: (event_loop):
16208         * tools/gst-md5sum.c: (event_loop):
16209         GstBusHandler -> GstBusFunc, return value has the same meaning as
16210         any other GSource (FALSE == remove source).
16211         _add_watch() and _add_watch_full() now take a MessageType mask to
16212         only handle specific types of messages.
16213         _poll() returns the GstMessage instead of the message type to avoid
16214         race conditions.
16215         _have_pending() takes a MessageType mask now too.
16216         Added testsuite for multiple bus watches.
16217         Fix testsuites and applications for new bus API.
16218
16219 2005-09-19  Thomas Vander Stichele  <thomas at apestaart dot org>
16220
16221         * check/Makefile.am:
16222           mark a bunch of the tests as to fix until we fix them
16223
16224 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16225
16226         * common/check.mak:
16227           use GST_PLUGIN settings for valgrind tests as well, so we're
16228           valgrinding the correct thing
16229         * gst/gst.c: (init_post):
16230           plug another leak
16231
16232 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16233
16234         * gst/gst.c: (init_post), (gst_deinit):
16235         * gst/gstelementfactory.c: (gst_element_factory_class_init),
16236         (gst_element_factory_finalize), (gst_element_factory_cleanup):
16237         * gst/gstindex.c: (gst_index_factory_class_init),
16238         (gst_index_factory_finalize):
16239         * gst/gstobject.c: (gst_object_dispose):
16240         * gst/gstplugin.c: (gst_plugin_finalize), (gst_plugin_class_init),
16241         (gst_plugin_load_file), (gst_plugin_desc_free):
16242         * gst/gstpluginfeature.c: (gst_plugin_feature_class_init),
16243         (gst_plugin_feature_finalize):
16244         * gst/gstregistry.c: (gst_registry_class_init),
16245         (gst_registry_init), (gst_registry_finalize),
16246         (gst_registry_get_default), (gst_registry_deinit):
16247         * gst/gstregistry.h:
16248         * gst/gstregistryxml.c: (load_feature), (load_plugin):
16249           various cleanups and memleak plugging.  make valgrind is happy now.
16250
16251 2005-09-18  Thomas Vander Stichele  <thomas at apestaart dot org>
16252
16253         * common/check.mak:
16254           add a check-valgrind target
16255
16256 2005-09-18  David Schleef  <ds@schleef.org>
16257
16258         * tools/gst-inspect.c: Revert the GOption code.
16259
16260 2005-09-17  David Schleef  <ds@schleef.org>
16261
16262         * check/Makefile.am: Fix environment variables.
16263         * check/gst/gstplugin.c: Fix for API changes.
16264         * tools/gst-inspect.c: Fix for API changes.
16265         * tools/gst-xmlinspect.c: Fix for API changes.
16266         * gst/gstelementfactory.c:
16267         * gst/gstplugin.c:
16268         * gst/gstplugin.h:
16269         * gst/gstpluginfeature.c:
16270         * gst/gstpluginfeature.h:
16271         * gst/gstregistry.c:
16272         * gst/gstregistry.h:
16273         * gst/gstregistryxml.c:
16274         * gst/gsttypefind.c:
16275         * gst/gsttypefindfactory.c:
16276         * gst/indexers/gstfileindex.c:
16277         * gst/indexers/gstmemindex.c:
16278         * gst/schedulers/Makefile.am:
16279           Change registry to keep track of both plugins and features,
16280           removing the feature tracking from plugins themselves.
16281
16282 2005-09-16  Thomas Vander Stichele  <thomas at apestaart dot org>
16283
16284         * check/Makefile.am:
16285         * tools/gst-register.1.in:
16286           remove gst-register
16287
16288 2005-09-15  David Schleef  <ds@schleef.org>
16289
16290         * check/gst/gstplugin.c:
16291         * gst/gstelementfactory.c:
16292         * gst/gstplugin.c:
16293         * gst/gstpluginfeature.c:
16294         * gst/gstregistry.c:
16295           Getting tired of debugging.  Disabled all the unreffing of
16296           plugins and features, which fixes the segfaults, but of
16297           course leaks like crazy.  At least playbin works.
16298
16299 2005-09-15  David Schleef  <ds@schleef.org>
16300
16301         * check/gst/gstplugin.c: (register_check_elements),
16302         (GST_START_TEST), (peek), (suggest), (gst_plugin_suite):
16303         More testing
16304         * gst/elements/gsttypefindelement.c: Fix refcounting.
16305         * gst/gsttypefind.c:
16306         * gst/gsttypefindfactory.c:
16307         * gst/gsttypefindfactory.h:
16308
16309 2005-09-15  David Schleef  <ds@schleef.org>
16310
16311         * gst/gstindex.c: get refcounting correct.
16312         * gst/gstregistry.c: Handle the case where a feature/plugin is
16313           not found.
16314
16315 2005-09-15  David Schleef  <ds@schleef.org>
16316
16317         * check/Makefile.am:
16318         * check/gst/gstplugin.c: Add test
16319         * gst/gstplugin.c: Fix problems noticed by testsuite
16320         * gst/gstplugin.h:
16321         * gst/gstregistry.c: 
16322         * gst/gstregistry.h:
16323
16324 2005-09-15  David Schleef  <ds@schleef.org>
16325
16326         * gst/gstplugin.c: Implement semi-decent recounting and locking
16327           in plugins and plugin features.
16328         * gst/gstplugin.h:
16329         * gst/gstpluginfeature.c:
16330         * gst/gstpluginfeature.h:
16331         * gst/gstregistry.c:
16332
16333 2005-09-15  Michael Smith <msmith@fluendo.com>
16334
16335         * gst/gstregistry.c: (gst_registry_get_feature_list):
16336           Implement this. Makes oggdemux work; decodebin still broken.
16337
16338 2005-09-14  David Schleef  <ds@schleef.org>
16339
16340         * configure.ac: Add -no-undefined to GST_PLUGIN_LDFLAGS (bug
16341           #316076)
16342         * gst/base/Makefile.am: Add -no-undefined to LDFLAGS for libs
16343         * gst/check/Makefile.am:
16344         * libs/gst/controller/Makefile.am:
16345         * libs/gst/dataprotocol/Makefile.am:
16346
16347 2005-09-14  David Schleef  <ds@schleef.org>
16348
16349         * configure.ac: Remove getbits library.  Nothing uses it, and
16350           it should be in something like liboil if someone did want
16351           to use it.
16352         * libs/gst/Makefile.am:
16353         * libs/gst/getbits/Makefile.am:
16354         * libs/gst/getbits/gbtest.c:
16355         * libs/gst/getbits/getbits.c:
16356         * libs/gst/getbits/getbits.h:
16357         * libs/gst/getbits/gstgetbits_generic.c:
16358         * libs/gst/getbits/gstgetbits_i386.s:
16359         * libs/gst/getbits/gstgetbits_inl.h:
16360
16361 2005-09-14  David Schleef  <ds@schleef.org>
16362
16363         * gst/Makefile.am: Dist glib-compat.h
16364
16365 2005-09-14  David Schleef  <ds@schleef.org>
16366
16367         * configure.ac: Remove gst/registries, since it's no longer used.
16368         * gst/registries/Makefile.am:
16369         * gst/registries/gstlibxmlregistry.c:
16370         * gst/registries/gstlibxmlregistry.h:
16371         * gst/registries/gstxmlregistry.c:
16372         * gst/registries/gstxmlregistry.h:
16373         * gst/registries/registrytest.c:
16374
16375 2005-09-14  David Schleef  <ds@schleef.org>
16376
16377         * gst/glib-compat.h:
16378         * gst/gstregistryxml.c:
16379           Convergence is near.  Seriously.
16380
16381 2005-09-14  David Schleef  <ds@schleef.org>
16382
16383         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16384         * gst/glib-compat.h:
16385           Attempt #4 to appease the buildbots.
16386
16387 2005-09-14  David Schleef  <ds@schleef.org>
16388
16389         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16390           Attempt #3.
16391
16392 2005-09-14  David Schleef  <ds@schleef.org>
16393
16394         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16395         Attempt #2.
16396
16397 2005-09-14  David Schleef  <ds@schleef.org>
16398
16399         * gst/Makefile.am: Oh yeah, libgstreamer.so needs to contain
16400           the new functions.
16401
16402 2005-09-14  David Schleef  <ds@schleef.org>
16403
16404         * gst/glib-compat.c: (g_mkdir_with_parents), (g_mkdir), (g_stat):
16405         * gst/glib-compat.h: Add some functions that are in newer versions
16406           of glib than we care to require.
16407         * gst/gstregistryxml.c: Use them.
16408
16409 2005-09-14  David Schleef  <ds@schleef.org>
16410
16411         * po/POTFILES.in: remove gst-register.c
16412
16413 2005-09-14  David Schleef  <ds@schleef.org>
16414
16415         * docs/gst/gstreamer-docs.sgml:
16416         * docs/gst/gstreamer-sections.txt:
16417         * docs/gst/gstreamer.types:
16418         * docs/gst/tmpl/gstelement.sgml:
16419         * docs/gst/tmpl/gstplugin.sgml:
16420         * docs/gst/tmpl/gstpluginfeature.sgml:
16421           Documentation updates for registry changes.
16422
16423 2005-09-14  David Schleef  <ds@schleef.org>
16424
16425         * gst/gstregistryxml.c: Copy g_mkdir_with_parent() from glib,
16426           because we don't require glib-2.8.
16427
16428 2005-09-14  David Schleef  <ds@schleef.org>
16429
16430         * gst/gstregistryxml.c: Added.  Essentially moved out of the
16431           registries directory.
16432
16433 2005-09-14  David Schleef  <ds@schleef.org>
16434
16435         * check/Makefile.am:
16436         * check/generic/states.c:
16437         * gst/Makefile.am:
16438         * gst/gst.c:
16439         * gst/gst.h:
16440         * gst/gst_private.h:
16441         * gst/gstelementfactory.c:
16442         * gst/gstindex.c:
16443         * gst/gstinfo.c:
16444         * gst/gstplugin.c:
16445         * gst/gstplugin.h:
16446         * gst/gstpluginfeature.c:
16447         * gst/gstpluginfeature.h:
16448         * gst/gstregistry.c:
16449         * gst/gstregistry.h:
16450         * gst/gstregistrypool.c: remove
16451         * gst/gstregistrypool.h: remove
16452         * gst/gsttypefind.c:
16453         * gst/gsttypefindfactory.c:
16454         * gst/gsturi.c:
16455         * tools/Makefile.am:
16456         * tools/gst-compprep.c:
16457         * tools/gst-inspect.c:
16458         * tools/gst-register.c: remove
16459         * tools/gst-xmlinspect.c:
16460           Registry rewrite.  Changes registry from being a file created
16461           by a tool into a simple cache file created automatically by 
16462           libgstreamer.  Removed gst-register (because it's no longer
16463           needed).  Remove registry pools, because we only have one
16464           registry implementation (XML).  Fix up other subsystems as
16465           necessary.
16466
16467 2005-09-13  Michael Smith <msmith@fluendo.com>
16468
16469         * gst/gstconfig.h.in:
16470           Don't Use windows linking attributes for MinGW. Fixes #316157
16471
16472 2005-09-13  Thomas Vander Stichele  <thomas at apestaart dot org>
16473
16474         * gst/gstutils.c: (set_state_async_thread_func),
16475         (gst_element_set_state_async):
16476           Apparently people think it's better if this function doesn't
16477           try to set the state to whatever state was asked for on the first
16478           call to this function for any object.  Seriously.
16479
16480 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16481
16482         * check/gst/gstpipeline.c: (GST_START_TEST):
16483         * docs/gst/gstreamer-sections.txt:
16484         * gst/gstutils.c: (set_state_async_thread_func),
16485         (gst_element_set_state_async):
16486         * gst/gstutils.h:
16487           add a "gst_element_set_state_async" method that
16488           sets the state and starts a thread to make sure the state
16489           change completes as best as it can
16490
16491 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16492
16493         * check/gst/gstpipeline.c: (GST_START_TEST), (gst_pipeline_suite):
16494           codify design+behaviour in testsuite after discussion
16495
16496 2005-09-12  Thomas Vander Stichele  <thomas at apestaart dot org>
16497
16498         * docs/gst/tmpl/gstelement.sgml:
16499         * docs/manual/appendix-quotes.xml:
16500           add a quote
16501         * gst/gstelement.c: (gst_element_set_state):
16502           add some debug
16503
16504 2005-09-12  Jan Schmidt  <thaytan@mad.scientist.com>
16505
16506         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16507         (gst_base_transform_prepare_output_buf),
16508         (gst_base_transform_handle_buffer):
16509         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip),
16510         (gst_capsfilter_prepare_buf):
16511           Remove the requirement for sub-classes to call the parent
16512           implementation of prepare_output_buffer with a wrapper function.
16513           
16514         * gst/gsttaglist.h:
16515         * gst/gsttagsetter.h:
16516           Fix #define wrapper
16517
16518 2005-09-11  Stefan Kost  <ensonic@users.sf.net>
16519
16520         * docs/gst/gstreamer-sections.txt:
16521           more doc cleanups
16522
16523 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16524
16525         * docs/gst/gstreamer-sections.txt:
16526         * docs/gst/tmpl/gstelement.sgml:
16527         * docs/gst/tmpl/gstplugin.sgml:
16528         * gst/gstminiobject.c:
16529         * gst/gstvalue.h:
16530           docs now stop throwing warnings
16531
16532 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16533
16534         * docs/gst/gstreamer-sections.txt:
16535         * docs/gst/gstreamer.types:
16536         * docs/gst/tmpl/gstpad.sgml:
16537         * docs/gst/tmpl/gsttypes.sgml:
16538         * gst/base/gstadapter.h:
16539         * gst/base/gstbasesink.h:
16540         * gst/base/gstbasesrc.h:
16541         * gst/gstbin.h:
16542         * gst/gstbuffer.h:
16543         * gst/gstbus.h:
16544         * gst/gstcaps.h:
16545         * gst/gstclock.h:
16546         * gst/gstelement.h:
16547         * gst/gstevent.h:
16548         * gst/gstmessage.h:
16549         * gst/gstpad.h:
16550         * gst/gststructure.c:
16551         * gst/registries/gstlibxmlregistry.h:
16552           various documentation fixes
16553
16554 2005-09-11  Thomas Vander Stichele  <thomas at apestaart dot org>
16555
16556         * docs/gst/gstreamer-sections.txt:
16557         * docs/gst/tmpl/gstvalue.sgml:
16558           rearrange gstvalue section
16559         * gst/gstutils.c: (gst_element_state_get_name):
16560           NONE -> VOID
16561         * gst/gstvalue.c: (_gst_value_initialize):
16562         * gst/gstvalue.h:
16563           doc updates
16564
16565 2005-09-10  Jan Schmidt  <thaytan@mad.scientist.com>
16566
16567         * check/gst-libs/controller.c:
16568           Header include fix.
16569         * gst/base/gstbasetransform.c:
16570         (gst_base_transform_default_prepare_buf),
16571         (gst_base_transform_handle_buffer):
16572         * gst/base/gstbasetransform.h:
16573           Some more basetransform changes and fixes to enable sub-classes
16574           that modify buffer metadata only.
16575         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
16576         (gst_capsfilter_init), (gst_capsfilter_transform_ip),
16577         (gst_capsfilter_prepare_buf):
16578           If the output pad has fixed allowed caps and input buffers 
16579           don't have any, set the fixed caps on outgoing buffers.
16580
16581 2005-09-09  Jan Schmidt  <thaytan@mad.scientist.com>
16582         * check/elements/identity.c: (GST_START_TEST):
16583           Make the error a little clearer when the test fails because
16584           identity made a copy of the buffer.
16585         * docs/gst/gstreamer-sections.txt:
16586           New symbols in gstbasetransform.h
16587         * gst/base/gstbasetransform.c: (gst_base_transform_class_init),
16588         (gst_base_transform_init), (gst_base_transform_transform_size),
16589         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
16590         (gst_base_transform_default_prepare_buf),
16591         (gst_base_transform_get_unit_size),
16592         (gst_base_transform_buffer_alloc),
16593         (gst_base_transform_handle_buffer), (gst_base_transform_chain),
16594         (gst_base_transform_change_state),
16595         (gst_base_transform_set_passthrough),
16596         (gst_base_transform_set_in_place),
16597         (gst_base_transform_is_in_place):
16598         * gst/base/gstbasetransform.h:
16599           Change BaseTransform to separate in_place operate from same_caps
16600           output. in_place implies that the element can perform the transform
16601           on incoming buffers in-place, even if the caps on the output are
16602           different.
16603           Sub-class elements can now implement special buffer allocation
16604           methods for outgoing buffers if they wish to.
16605           Big documentation addition.
16606         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_ip):
16607         * gst/elements/gstelements.c:
16608           Changes for basetransform modifications.
16609         * gst/elements/Makefile.am:
16610         * gst/elements/gstfdsrc.c: (gst_fdsrc_init), (gst_fdsrc_create):
16611           Compile fix. Extra debug output.
16612
16613 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16614
16615         * check/gst/gstpad.c: (GST_START_TEST), (name_is_valid),
16616         (gst_pad_suite):
16617           add tests for valid pad naming
16618         * gst/check/gstcheck.c: (gst_check_log_message_func),
16619         (gst_check_log_critical_func):
16620           add ASSERT_WARNING
16621           remove printing of code, it is fragile when the code contains
16622           % and the line number is enough info
16623         * gst/check/gstcheck.h:
16624         * gst/gstpad.c: (gst_pad_template_new):
16625           fix memleaks
16626
16627 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16628
16629         * configure.ac:
16630           say what CHECK flags we use
16631         * docs/libs/gstreamer-libs.types:
16632         * libs/gst/controller/Makefile.am:
16633         * libs/gst/controller/gst-controller.c:
16634         * libs/gst/controller/gst-controller.h:
16635         * libs/gst/controller/gst-helper.c:
16636         * libs/gst/controller/gst-interpolation.c:
16637         * libs/gst/controller/gstcontroller.c:
16638         * libs/gst/controller/gsthelper.c:
16639         * libs/gst/controller/gstinterpolation.c:
16640         * tools/gst-inspect.c: (print_plugin_info):
16641           we don't use dashes in header names
16642
16643 2005-09-09  Thomas Vander Stichele  <thomas at apestaart dot org>
16644
16645         * check/Makefile.am:
16646         * check/gst/.cvsignore:
16647         * check/gst/gstpipeline.c: (pop_messages), (GST_START_TEST),
16648         (gst_pipeline_suite), (main):
16649           adding a test for pipelines and state changes
16650         * gst/gstutils.c: (get_state_func):
16651           add some debugging
16652         * gstreamer.spec.in:
16653           fix up spec file
16654
16655 2005-09-08  Michael Smith <msmith@fluendo.com>
16656
16657         * gst/elements/gstfilesrc.c: (gst_file_src_map_region),
16658         (gst_file_src_map_small_region), (gst_file_src_create_mmap),
16659         (gst_file_src_is_seekable), (gst_file_src_get_size),
16660         (gst_file_src_start):
16661         * gst/elements/gstfilesrc.h:
16662           Various fixes for unseekable, unmmapable, and non-normal files, so
16663           that fallback to read() rather than mmap() works.
16664         * gst/gstevent.c: (gst_event_new_newsegment):
16665           Allow newsegment events with segment_start == segment_end, as will
16666           correctly happen if you use filesrc on a zero-size file, for
16667           example.
16668
16669 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16670
16671         * gst/gstplugin.c: (gst_plugin_load_file):
16672           Call g_module_close when we don't load the module
16673
16674         * gst/registries/gstlibxmlregistry.c:
16675         (gst_xml_registry_get_property):
16676           Port leak fix from 0.8
16677
16678 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16679
16680         * docs/gst/gstreamer-docs.sgml:
16681         * docs/gst/tmpl/.cvsignore:
16682         * docs/gst/tmpl/gsttrace.sgml:
16683         * docs/gst/tmpl/gsttrashstack.sgml:
16684         * gst/Makefile.am:
16685         * gst/gst.h:
16686         * gst/gstelement.h:
16687         * gst/gstevent.h:
16688         * gst/gstmessage.c:
16689         * gst/gstmessage.h:
16690         * gst/gsttag.c:
16691         * gst/gsttag.h:
16692         * gst/gsttaginterface.c:
16693         * gst/gsttaginterface.h:
16694         * gst/gsttaglist.c:
16695         * gst/gsttaglist.h:
16696         * gst/gsttagsetter.c:
16697         * gst/gsttagsetter.h:
16698         * gst/gsttrace.c:
16699         * gst/gsttrace.h:
16700         * gst/gsttrashstack.c:
16701           renamed gsttag -> gsttaglist, gsttaginterface -> gsttagsetter
16702           inlined docs for gsttrace, gsttrashstack
16703
16704 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16705
16706         * gst/Makefile.am:
16707         * gst/elements/gstbufferstore.h:
16708         * gst/elements/gsttypefindelement.c:
16709         * gst/elements/gsttypefindelement.h:
16710         * gst/gst.h:
16711         * gst/gsttypefind.c:
16712         * gst/gsttypefind.h:
16713         * gst/gsttypefindfactory.c: (gst_type_find_factory_get_type),
16714         (gst_type_find_factory_class_init), (gst_type_find_factory_init),
16715         (gst_type_find_factory_dispose),
16716         (gst_type_find_factory_unload_thyself),
16717         (gst_type_find_load_plugin), (gst_type_find_factory_get_list),
16718         (gst_type_find_factory_get_caps),
16719         (gst_type_find_factory_get_extensions),
16720         (gst_type_find_factory_call_function):
16721         * gst/gsttypefindfactory.h:
16722         * gst/registries/gstlibxmlregistry.c:
16723         * gst/registries/gstxmlregistry.c:
16724           splitted gsttypefind into gsttypefind, gsttypefindfactory
16725
16726 2005-09-07  Andy Wingo  <wingo@pobox.com>
16727
16728         * gst/base/gstbasesink.c (gst_base_sink_activate_pull): Fix a race
16729         condition whereby the pad's task function is entered before the
16730         pad_mode variable was set.
16731
16732 2005-09-07  Jan Schmidt  <thaytan@mad.scientist.com>
16733
16734         * gst/gstpad.c: (gst_pad_alloc_buffer):
16735           Catch misbehaving pad_alloc functions that don't
16736           set up caps and do it for them.
16737
16738 2005-09-07  Stefan Kost  <ensonic@users.sf.net>
16739
16740         * check/pipelines/simple_launch_lines.c: (run_pipeline):
16741           test for pipe!=NULL
16742         * docs/gst/tmpl/.cvsignore:
16743         * docs/gst/tmpl/gstmemchunk.sgml:
16744         * docs/gst/tmpl/gstparse.sgml:
16745         * docs/gst/tmpl/gsttaglist.sgml:
16746         * docs/gst/tmpl/gsttagsetter.sgml:
16747         * docs/gst/tmpl/gsttypefind.sgml:
16748         * docs/gst/tmpl/gsttypefindfactory.sgml:
16749         * gst/gstmemchunk.c:
16750         * gst/gstparse.c:
16751         * gst/gsttag.c:
16752         * gst/gsttaginterface.c:
16753         * gst/gsttypefind.c:
16754         * gst/gsttypefind.h:
16755           inlined more docs
16756
16757 === release 0.9.2 ===
16758
16759 2005-09-06  Thomas Vander Stichele  <thomas at apestaart dot org>
16760
16761         * NEWS:
16762         * RELEASE:
16763         * configure.ac:
16764           releasing 0.9.2, "South"
16765
16766 2005-09-05  Andy Wingo  <wingo@pobox.com>
16767
16768         * gst/registries/gstxmlregistry.h:
16769         * gst/registries/gstxmlregistry.c: Um... resurrect...
16770         
16771         * gst/registries/gstxmlregistry.h:
16772         * gst/registries/gstxmlregistry.c: and update to newer API.
16773         Incidentally they should be a bit faster now that they don't have
16774         to parse the caps.
16775         
16776 2005-09-05  Andy Wingo  <wingo@pobox.com>
16777
16778         * gst/registries/gstxmlregistry.h:
16779         * gst/registries/gstxmlregistry.c: Remove from CVS, they were
16780         replaced by the libxml registry a while back
16781
16782 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16783
16784         * docs/gst/tmpl/gstplugin.sgml:
16785         * gst/elements/gstelements.c:
16786         * gst/gst.c:
16787         * gst/gstplugin.c: (gst_plugin_register_func),
16788         (gst_plugin_desc_copy), (gst_plugin_desc_free),
16789         (gst_plugin_get_source):
16790         * gst/gstplugin.h:
16791         * gst/registries/gstlibxmlregistry.c: (load_plugin),
16792         (gst_xml_registry_save_plugin):
16793         * gst/registries/gstxmlregistry.c: (gst_xml_registry_parse_plugin),
16794         (gst_xml_registry_save_plugin):
16795         * tools/gst-inspect.c: (print_plugin_info):
16796           add a "source" plugin description field, to represent the source
16797           module this plugin is a part of.  By default GST_PLUGIN_DEFINE
16798           will set it to PACKAGE, which is automake's idea of the name of
16799           the source project.
16800
16801 2005-09-03  Thomas Vander Stichele  <thomas at apestaart dot org>
16802
16803         * Makefile.am:
16804         * autogen.sh:
16805         * configure.ac:
16806         * docs/Makefile.am:
16807         * docs/faq/Makefile.am:
16808         * docs/gst/tmpl/gstelement.sgml:
16809         * docs/gst/tmpl/gsttypes.sgml:
16810         * docs/htmlinstall.mak:
16811         * docs/manual/Makefile.am:
16812         * docs/pwg/Makefile.am:
16813           reorganize doc build a little
16814           split out docbook and gtk-doc stuff
16815           have two separate --enable's and enable them through autogen
16816           but disable by default in configure (to be similar to other
16817           projects)
16818         * gstreamer.spec.in:
16819           clean up docs install
16820         * po/af.po:
16821         * po/az.po:
16822         * po/ca.po:
16823         * po/cs.po:
16824         * po/de.po:
16825         * po/en_GB.po:
16826         * po/fr.po:
16827         * po/it.po:
16828         * po/nb.po:
16829         * po/nl.po:
16830         * po/ru.po:
16831         * po/sq.po:
16832         * po/sr.po:
16833         * po/sv.po:
16834         * po/tr.po:
16835         * po/uk.po:
16836         * po/vi.po:
16837           translation updates
16838
16839 2005-09-03  Tim-Philipp Müller  <tim at centricular dot net>
16840
16841         * gst/base/gstbasesink.c: (gst_base_sink_pad_buffer_alloc):
16842           Add comment.
16843           
16844         * gst/elements/gstfakesink.c: (gst_fake_sink_init),
16845         (gst_fake_sink_change_state):
16846           Make state change function thread-safe.
16847           
16848         * gst/gstpad.c: (gst_pad_alloc_buffer):
16849           Set offset on generic buffer allocated by fallback.
16850
16851 2005-09-03  Stefan Kost  <ensonic@users.sf.net>
16852
16853         * docs/gst/gstreamer-sections.txt:
16854         * docs/gst/tmpl/gstelement.sgml:
16855         * gst/gstpad.c:
16856         * libs/gst/controller/gst-controller.c:
16857         (gst_controlled_property_set_interpolation_mode),
16858         (gst_controlled_property_new),
16859         (gst_controller_find_controlled_property):
16860          run the wingo-magic script against the docs
16861
16862 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16863
16864         * docs/gst/gstreamer-docs.sgml:
16865         * docs/gst/gstreamer-sections.txt:
16866         * docs/gst/tmpl/.cvsignore:
16867         * docs/gst/tmpl/gstelementdetails.sgml:
16868         * docs/gst/tmpl/gstelementfactory.sgml:
16869         * gst/gst.c:
16870         * gst/gstbus.c:
16871         * gst/gstelementfactory.c:
16872         * gst/gstelementfactory.h:
16873           merged elementdetails docs into elementfactory docs
16874           inlined both
16875
16876 2005-09-02  Andy Wingo  <wingo@pobox.com>
16877
16878         * gst/gstelement.h: Add magical pixie dust to make glib-mkenums
16879         consider this enum an enum and not a flags.
16880
16881 2005-09-02  Stefan Kost  <ensonic@users.sf.net>
16882
16883         * docs/gst/gstreamer-docs.sgml:
16884         * docs/gst/tmpl/.cvsignore:
16885         * docs/gst/tmpl/gstghostpad.sgml:
16886         * docs/gst/tmpl/gstiterator.sgml:
16887         * docs/gst/tmpl/gstmacros.sgml:
16888         * docs/gst/tmpl/gstrealpad.sgml:
16889         * docs/gst/tmpl/gstregistry.sgml:
16890         * docs/gst/tmpl/gstregistrypool.sgml:
16891         * docs/gst/tmpl/gststructure.sgml:
16892         * docs/gst/tmpl/gstsystemclock.sgml:
16893         * docs/gst/tmpl/gsttrace.sgml:
16894         * gst/gstghostpad.c:
16895         * gst/gstmacros.h:
16896         * gst/gstmemchunk.c:
16897         * gst/gstmemchunk.h:
16898         * gst/gstqueue.c:
16899         * gst/gstregistry.c:
16900         * gst/gstregistrypool.c:
16901         * gst/gststructure.c:
16902         * gst/gstsystemclock.c:
16903           more docs inlined
16904
16905 2005-09-02  Andy Wingo  <wingo@pobox.com>
16906
16907         * gst/gstelement.h (GstState): Renamed from GstElementState,
16908         changed to be a normal enum instead of flags.
16909         (GstStateChangeReturn): Renamed from GstElementStateReturn, names
16910         munged to be GST_STATE_CHANGE_*.
16911         (GST_STATE_CHANGE): Renamed from GST_STATE_TRANSITION, updated to
16912         work with the new state representation.
16913         (GstStateChange): New enumeration of possible state transitions.
16914         Replaces GST_STATE_FOO_TO_BAR with GST_STATE_CHANGE_FOO_TO_BAR.
16915         (GstElementClass::change_state): Pass the GstStateChange along as
16916         an argument. Helps language bindings, so they don't have to use
16917         tricky lock-needing macros like GST_STATE_CHANGE ().
16918
16919         * scripts/update-states (file): New script. Run it on a file to
16920         update it for state naming and API changes. Updates files in
16921         place.
16922
16923         * All files updated for the new API.
16924
16925 2005-09-02  Thomas Vander Stichele  <thomas at apestaart dot org>
16926
16927         * gst/gsttrace.c: (gst_trace_flush), (gst_trace_text_flush):
16928         * gst/gstutils.c: (gst_util_set_value_from_string),
16929         (gst_util_set_object_arg):
16930           fix a bunch of unchecked return values
16931         * tools/gst-complete.c: (main):
16932         * gstreamer.spec.in:
16933           clean up a little
16934
16935 2005-09-01  Wim Taymans  <wim@fluendo.com>
16936
16937         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
16938         (gst_base_sink_event), (gst_base_sink_do_sync),
16939         (gst_base_sink_handle_event):
16940         * gst/base/gstbasesink.h:
16941         Handle newsegments more correctly.
16942
16943         * gst/gstbus.c:
16944         Fix docs.
16945
16946         * gst/gstevent.c: (gst_event_new_newsegment):
16947         A newsegment cannot have a start_time of -1
16948
16949 2005-09-01  Tim-Philipp Müller  <tim at centricular dot net>
16950
16951         * win32/gstenumtypes.c:
16952         * win32/gstenumtypes.h:
16953           Update
16954
16955 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16956
16957         * libs/gst/controller/gst-controller.c:
16958         (gst_controlled_property_set_interpolation_mode),
16959         (gst_controlled_property_new):
16960          fixed boolean again
16961
16962 2005-08-31  Thomas Vander Stichele  <thomas at apestaart dot org>
16963
16964         * docs/faq/gst-uninstalled:
16965           add -good
16966         * gst/gstevent.c:
16967         * gst/gstevent.h:
16968           remove wrong docs
16969         * gst/gstutils.c: (gst_element_link_filtered):
16970         * gst/gstutils.h:
16971           add gst_element_link_filtered
16972
16973 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
16974
16975         * docs/gst/gstreamer-docs.sgml:
16976         * docs/gst/gstreamer-sections.txt:
16977         * docs/gst/tmpl/.cvsignore:
16978         * docs/gst/tmpl/gsterror.sgml:
16979         * docs/gst/tmpl/gstfilter.sgml:
16980         * docs/gst/tmpl/gsturihandler.sgml:
16981         * docs/gst/tmpl/gsturitype.sgml:
16982         * docs/gst/tmpl/gstutils.sgml:
16983         * docs/gst/tmpl/gstxml.sgml:
16984         * gst/gsterror.c:
16985         * gst/gsterror.h:
16986         * gst/gstfilter.c:
16987         * gst/gsturi.c:
16988         * gst/gsturitype.c:
16989         * gst/gstutils.c:
16990         * gst/gstxml.c:
16991           inlined more docs, fixed double id-ref
16992
16993 2005-08-31  Wim Taymans  <wim@fluendo.com>
16994
16995         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
16996         (gst_base_transform_handle_buffer):
16997         Passthrough elements don't need the caps as they don't care.
16998
16999 2005-08-31  Wim Taymans  <wim@fluendo.com>
17000
17001         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
17002         (gst_base_transform_handle_buffer), (gst_base_transform_chain):
17003         Don't leak refcounts on buffers.
17004
17005 2005-08-31  Wim Taymans  <wim@fluendo.com>
17006
17007         * gst/base/gstbasetransform.c: (gst_base_transform_configure_caps),
17008         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
17009         (gst_base_transform_chain), (gst_base_transform_change_state):
17010         * gst/base/gstbasetransform.h:
17011         Handle the case where we are not negotiated more gracefully.
17012
17013 2005-08-31  Tim-Philipp Müller  <tim at centricular dot net>
17014
17015         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_init),
17016         (gst_file_src_map_region):
17017           Set READONLY flag on mmap'ed buffers, otherwise
17018           gst_buffer_make_writable() won't work properly (#314708).
17019
17020 2005-08-31  Wim Taymans  <wim@fluendo.com>
17021
17022         * gst/base/gstbasetransform.c: (gst_base_transform_handle_buffer):
17023         passthrough elements can even do inplace on non writable
17024         buffers (as they don't touch them).
17025
17026 2005-08-31  Stefan Kost  <ensonic@users.sf.net>
17027
17028         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
17029         (gst_test_mono_source_set_property),
17030         (gst_test_mono_source_class_init), (GST_START_TEST),
17031         (gst_controller_suite):
17032           more tests (hehe I have the most)
17033         * gst/gstbus.c:
17034           describe popping messages whenusing mulltiple sources
17035         * libs/gst/controller/gst-controller.c:
17036         (gst_controlled_property_set_interpolation_mode),
17037         (gst_controlled_property_new):
17038         * libs/gst/controller/gst-controller.h:
17039         * libs/gst/controller/gst-interpolation.c:
17040           implement boolean properties
17041
17042 2005-08-31  Wim Taymans  <wim@fluendo.com>
17043
17044         * gst/gstminiobject.c: (gst_mini_object_ref):
17045         Cannot assert that the refcount has to be positive
17046         since a disposed object can be resurrected.
17047
17048 2005-08-31  Wim Taymans  <wim@fluendo.com>
17049
17050         * gst/gstpad.c: (gst_pad_init):
17051         Revert change, need to first fix badly behaving 
17052         apps.
17053
17054 2005-08-30  Wim Taymans  <wim@fluendo.com>
17055
17056         * check/elements/fakesrc.c: (setup_fakesrc):
17057         * check/elements/identity.c: (setup_identity):
17058         Activate pads before using them.
17059
17060 2005-08-30  Wim Taymans  <wim@fluendo.com>
17061
17062         * gst/base/gstadapter.c: (gst_adapter_flush):
17063         Flushing out 0 bytes is ok for this function.
17064
17065         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17066         no newsegment gives a warning and sets the start/stop to 
17067         invalid.
17068
17069         * gst/base/gstbasetransform.c: (gst_base_transform_change_state),
17070         (gst_base_transform_set_passthrough):
17071         Some debug info.
17072
17073         * gst/gstminiobject.c: (gst_mini_object_ref):
17074         Check refcount here too.
17075
17076         * gst/gstpad.c: (gst_pad_init):
17077         Pads are initially flushing and refusing data.
17078
17079         * gst/gstutils.c: (gst_element_link_pads_filtered):
17080         When adding a capsfilter element make sure it has the
17081         same state as the parent bin.
17082
17083 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17084
17085         * docs/gst/tmpl/.cvsignore:
17086         * docs/gst/tmpl/gstformat.sgml:
17087         * docs/gst/tmpl/gstversion.sgml:
17088         * gst/gstbus.h:
17089         * gst/gstformat.c:
17090         * gst/gstformat.h:
17091         * gst/gstversion.h.in:
17092           more docs and two more inlined
17093
17094 2005-08-30  Wim Taymans  <wim@fluendo.com>
17095
17096         * gst/elements/gstfilesink.c: (gst_file_sink_class_init):
17097         Don't sync to clock.
17098
17099 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17100
17101         * docs/gst/gstreamer-sections.txt:
17102           ultral33t func10ns deserve to appear in the docs actually
17103         * docs/gst/tmpl/.cvsignore:
17104         * docs/gst/tmpl/gstcompat.sgml:
17105         * docs/gst/tmpl/gstconfig.sgml:
17106         * gst/check/gstcheck.c:
17107         * gst/gstcompat.h:
17108         * gst/gstconfig.h.in:
17109           inlined more docs
17110
17111 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17112
17113         * docs/gst/tmpl/.cvsignore:
17114         * docs/gst/tmpl/gstquery.sgml:
17115         * docs/gst/tmpl/gstutils.sgml:
17116         * gst/gstquery.c:
17117         * gst/gstquery.h:
17118           inlined and extended docs
17119
17120 2005-08-30  Stefan Kost  <ensonic@users.sf.net>
17121
17122         * check/gst-libs/controller.c: (GST_START_TEST),
17123         (gst_controller_suite):
17124           more tests
17125         * docs/gst/tmpl/gstutils.sgml:
17126         * docs/libs/gstreamer-libs-sections.txt:
17127         * docs/libs/tmpl/gstdataprotocol.sgml:
17128           include path fixes
17129         * examples/controller/audio-example.c: (main):
17130           controller example works now
17131         * gst/gstclock.h:
17132           doc fixes
17133         * tools/gst-inspect.c: (print_element_properties_info):
17134           show param spec flags
17135
17136 2005-08-29  Andy Wingo  <wingo@pobox.com>
17137
17138         * gst/gstutils.c (gst_util_uint64_scale): New 3733t funct10n.
17139
17140 2005-08-28  Andy Wingo  <wingo@pobox.com>
17141
17142         * gst/gstutils.h (GST_BOILERPLATE_FULL): Prototype instance_init
17143         as having two arguments instead of just one. Allows superclasses
17144         to access information on subclasses -- see the terrible for() loop
17145         in gtype.c:g_type_create_instance for the reason why. All callers
17146         changed.
17147
17148 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17149
17150         * docs/design/part-messages.txt:
17151           update info
17152         * docs/gst/tmpl/.cvsignore:
17153         * docs/gst/tmpl/gstcaps.sgml:
17154         * docs/gst/tmpl/gstclock.sgml:
17155         * gst/gstbus.c:
17156         * gst/gstcaps.c:
17157         * gst/gstcaps.h:
17158         * gst/gstclock.c:
17159         * gst/gstclock.h:
17160         * gst/gstmessage.c:
17161           added descriptions for bus and message
17162           inline caps and clock docs
17163
17164 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17165
17166         * gst/gstmessage.c:
17167         * gst/gstmessage.h:
17168           doc fixes
17169
17170 2005-08-27  Stefan Kost  <ensonic@users.sf.net>
17171
17172         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size):
17173           fix div-by-zero
17174
17175 2005-08-26  Andy Wingo  <wingo@pobox.com>
17176
17177         * check/pipelines/simple_launch_lines.c (run_pipeline): Check
17178         element_set_state's return val.
17179         (test_2_elements): Add test that's been disabled for months.
17180
17181         * gst/elements/gstfakesink.c: Cleanups. Add can-activate-push and
17182         can-activate-pull properties.
17183
17184         * gst/elements/gstfakesrc.c: Cleanups. Add can-activate-push and
17185         can-activate-pull properties. Implement is_seekable so fakesrc can
17186         operate in pull mode.
17187
17188         * gst/base/gstbasesink.c (GstBaseSink): Remove has-loop, has-chain
17189         properties.
17190         (gst_base_sink_activate, gst_base_sink_activate_pull)
17191         (gst_base_sink_activate_push): Make activation mode choosing work.
17192         Cleanups.
17193         (gst_base_sink_chain, gst_base_sink_loop): Assert activation mode
17194         is right. Make pull mode work. Post an eos before pausing in pull
17195         mode.
17196         (gst_base_sink_change_state): Pay attention to the core's
17197         change_state() return val.
17198         
17199         * gst/base/gstbasesrc.c (GstBaseSrc): Remove has-loop,
17200         has-getrange properties. Cleanups.
17201         
17202         * gst/base/gstbasesrc.h (GstBaseSrc): Remove has_loop,
17203         has_getrange and replace with can_activate_pull and
17204         can_activate_push.
17205
17206         * gst/base/gstbasesink.h (GstBaseSink): Rearrange fields, add
17207         locking comments. Remove has_loop, has_chain and replace with
17208         can_activate_pull and can_activate_push.
17209
17210 2005-08-26  Jan Schmidt  <thaytan@mad.scientist.com>
17211
17212         * configure.ac:
17213         * examples/Makefile.am:
17214         * examples/metadata/Makefile.am:
17215         * examples/metadata/read-metadata.c: (message_loop),
17216         (have_pad_handler), (make_pipeline), (print_tag), (main):
17217           Add metadata reading example that loops over a list of filenames,
17218           dumping any tags found.
17219
17220         * gst/gstbus.c: (gst_bus_dispose):
17221         * gst/gstelement.c: (gst_element_dispose):
17222           Release a few potentially-held references in dispose.
17223
17224 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17225
17226         * docs/gst/tmpl/gstminiobject.sgml:
17227           do *not* add tmpl/*.sgml files to CVS!
17228
17229 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17230
17231         * libs/gst/bytestream/.cvsignore:
17232         * libs/gst/bytestream/Makefile.am:
17233         * libs/gst/bytestream/adapter.c:
17234         * libs/gst/bytestream/adapter.h:
17235         * libs/gst/bytestream/bytestream.c:
17236         * libs/gst/bytestream/bytestream.h:
17237         * libs/gst/bytestream/filepad.c:
17238         * libs/gst/bytestream/filepad.h:
17239           removing obsolete files
17240
17241 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17242
17243         * docs/gst/gstreamer-docs.sgml:
17244         * docs/libs/gstreamer-libs-docs.sgml:
17245           disabed additional index entries again, as this makes docs-gen just
17246           slow and they aren't useful yet
17247         * docs/libs/gstreamer-libs-sections.txt:
17248           little -section.txt cleanup for libs
17249
17250 2005-08-26  Thomas Vander Stichele  <thomas at apestaart dot org>
17251
17252         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17253         * gst/base/gstbasetransform.c: (gst_base_transform_transform_size),
17254           fix up some debugging
17255         (gst_base_transform_get_unit_size),
17256         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
17257         (gst_base_transform_handle_buffer):
17258         * gst/base/gstbasetransform.h:
17259           handle and store timed NEWSEGMENT events so that subclasses that
17260           calculate time by counting samples have a segment_start time they
17261           need to add to their timestamps - see audioresample
17262
17263 2005-08-26  Stefan Kost  <ensonic@users.sf.net>
17264
17265         * gst/gstbin.h:
17266           removed ';' from the end of macro defs
17267         * docs/gst/gstreamer-docs.sgml:
17268         * docs/gst/gstreamer-sections.txt:
17269         * docs/gst/tmpl/.cvsignore:
17270         * gst/gstbus.h:
17271         * gst/gstelement.c: (gst_element_class_init),
17272         (gst_element_set_state), (activate_pads),
17273         (gst_element_save_thyself):
17274         * gst/gstevent.c: (gst_event_new_newsegment):
17275         * gst/gstevent.h:
17276         * gst/gstiterator.c:
17277         * gst/gstiterator.h:
17278         * gst/gstpad.c:
17279         * gst/gstprobe.h:
17280         * gst/gstutils.c: (gst_pad_query_convert):
17281         * gst/gstutils.h:
17282           fixed parameter name mismatches between source, header and docs
17283           added some more docs, resolved the last batch of unused elements in
17284           docs (now someone needs to doc them)
17285
17286 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17287
17288         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_rebuild):
17289         * gst/registries/gstxmlregistry.c: (gst_xml_registry_rebuild):
17290           don't walk through the plugins backwards.  Where is all this
17291           reversed logic coming from ?
17292
17293 2005-08-25  Wim Taymans  <wim@fluendo.com>
17294
17295         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17296         (gst_base_transform_transform_size),
17297         (gst_base_transform_configure_caps),
17298         (gst_base_transform_get_unit_size),
17299         (gst_base_transform_buffer_alloc),
17300         (gst_base_transform_change_state):
17301         * gst/base/gstbasetransform.h:
17302         Cache caps unit_size.
17303         Make sure we cannot negotiate up and downstream at the
17304         same time.
17305
17306 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17307
17308         * gst/gst.c: (init_pre), (init_post):
17309           register the installed plugin path after the env var
17310         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_save):
17311         * gst/registries/gstxmlregistry.c: (gst_xml_registry_save):
17312           don't reverse order of paths; conserve the order of GST_PLUGIN_PATH
17313           directories, so the tests can prefer uninstalled over installed
17314
17315 2005-08-25  Thomas Vander Stichele  <thomas at apestaart dot org>
17316
17317         * gst/base/gstbasetransform.h:
17318           comment
17319         * gst/gstpad.c:
17320           add to docs
17321
17322 2005-08-25  Wim Taymans  <wim@fluendo.com>
17323
17324         * gst/gstbin.c: (bin_bus_handler):
17325         Be a bit more conservative about the posted message.
17326         
17327         * gst/gstbus.c: (gst_bus_post):
17328         Some cleanups, warn wrong return values.
17329
17330 2005-08-25  Jan Schmidt  <thaytan@mad.scientist.com>
17331
17332         * check/gst/gstbin.c: (GST_START_TEST):
17333         * gst/gstbin.c: (bin_bus_handler):
17334         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17335         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17336         (gst_message_new_warning), (gst_message_new_tag),
17337         (gst_message_new_state_changed), (gst_message_new_segment_start),
17338         (gst_message_new_segment_done), (gst_message_new_custom):
17339         * gst/gstmessage.h:
17340         * tools/gst-launch.c: (event_loop):
17341         * tools/gst-md5sum.c: (event_loop):
17342           Revert unpopular change for GST_MESSAGE_SRC to GObject.
17343
17344 2005-08-25  Wim Taymans  <wim@fluendo.com>
17345
17346         * check/generic/states.c: (GST_START_TEST):
17347         Cleanup can be done at the end.
17348
17349         * gst/gsttask.c: (gst_task_get_type), (gst_task_finalize),
17350         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17351         (gst_task_get_state), (gst_task_start), (gst_task_pause):
17352         Oh boy.. Thanks for finding this, Thomas. 
17353
17354 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17355
17356         * docs/gst/gstreamer.types:
17357           added missing types
17358
17359 2005-08-25  Stefan Kost  <ensonic@users.sf.net>
17360
17361         * docs/gst/gstreamer-docs.sgml:
17362         * docs/gst/gstreamer-sections.txt:
17363         * docs/gst/tmpl/.cvsignore:
17364         * gst/gstbin.c:
17365         * gst/gstiterator.c:
17366         * gst/gstutils.c:
17367         * gst/registries/gstxmlregistry.h:
17368           added missing classes and symbols (123 more to go)
17369           removed removed symbols from section file
17370           fixed many doc-comments
17371
17372 2005-08-24  Wim Taymans  <wim@fluendo.com>
17373
17374         * check/generic/states.c: (GST_START_TEST):
17375         Make sure all tasks are stopped.
17376
17377         * check/gst/gstbin.c: (GST_START_TEST):
17378         Unref after usage for proper valgrinding.
17379
17380         * gst/gstpad.c: (gst_pad_finalize), (gst_pad_stop_task):
17381         Really wait for the task to stop before destroying the
17382         mutex.
17383
17384         * gst/gstqueue.c: (gst_queue_sink_activate_push),
17385         (gst_queue_src_activate_push):
17386         Small cleanups. Don't stop the task when we did not start
17387         it.
17388
17389         * gst/gsttask.c: (gst_task_get_type), (gst_task_init),
17390         (gst_task_func), (gst_task_cleanup_all), (gst_task_set_lock),
17391         (gst_task_get_state), (gst_task_start), (gst_task_pause),
17392         (gst_task_join):
17393         * gst/gsttask.h:
17394         Protect the stream lock with the object lock.
17395         Disallow setting the stream lock when running.
17396         Add cleanup_all to wait for the threadpool to finish.
17397         Remove code to autoallocate a mutex if none was provided.
17398         Add _join() to wait for a task to stop.
17399         Protect the thread pool with a global lock.
17400
17401 2005-08-24  Wim Taymans  <wim@fluendo.com>
17402
17403         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
17404         (gst_base_sink_get_times), (gst_base_sink_do_sync),
17405         (gst_base_sink_handle_buffer), (gst_base_sink_change_state):
17406         * gst/base/gstbasesink.h:
17407         Handle newsegment events correctly.
17408         Drop buffers out of the segment range.
17409
17410 2005-08-22  Andy Wingo  <wingo@pobox.com>
17411
17412         * gst/gstutils.h (GST_BOILERPLATE_WITH_INTERFACE): New ghetto
17413         macro, implements an interface and gstimplementsinterface for a
17414         new type.
17415
17416 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17417
17418         * check/Makefile.am:
17419         * check/generic/states.c: (GST_START_TEST), (states_suite), (main):
17420           add a test that does a bunch of state changes on elements
17421           needs some fixing for valgrind
17422         * check/states/sinks.c: (gst_object_suite):
17423           whitespace
17424         * gst/gstcaps.h:
17425           add prototype for gst_caps_is_equal_fixed
17426         * gst/gstplugin.c:
17427         * gst/gstregistrypool.c:
17428           doc fixes
17429
17430 2005-08-24  Andy Wingo  <wingo@pobox.com>
17431
17432         * gst/gstquery.c (gst_query_new_convert): Spew if we try to
17433         convert a negative value. Doesn't make much sense. Mostly this is
17434         here to force callers to ensure -1 maps to -1.
17435
17436 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17437
17438         * docs/pwg/advanced-types.xml:
17439           Well done to Michael for catching my deliberate introduction
17440           of this spelling mistake. 
17441         * gst/gstbin.c: (gst_bin_remove_func), (bin_bus_handler):
17442         * gst/gstelement.h:
17443           Add GST_ELEMENT_UNPARENTING to prevent races so that we can
17444           unlink pads before removing the element from the bin.
17445
17446 2005-08-24  Andy Wingo  <wingo@pobox.com>
17447
17448         * gst/gst.c (parse_debug_list): Accept e.g. GST_DEBUG=4 to mean
17449         the same thing as GST_DEBUG=*:4.
17450         (parse_debug_level, parse_debug_category): New helper parsers.
17451
17452 2005-08-24  Thomas Vander Stichele  <thomas at apestaart dot org>
17453
17454         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17455         (gst_base_transform_transform_size), (gst_base_transform_getcaps),
17456         (gst_base_transform_setcaps), (gst_base_transform_get_unit_size),
17457         (gst_base_transform_buffer_alloc),
17458         (gst_base_transform_handle_buffer):
17459           use gboolean return values and pointers to size so we can use the
17460           full GST_BUFFER_SIZE range (guint) for buffer sizes
17461           use GstPadDirection for transform_caps
17462         * gst/base/gstbasetransform.h:
17463           rename get_size to get_unit_size since that's what it is
17464         * gst/elements/gstcapsfilter.c: (gst_capsfilter_transform_caps):
17465           use GstPadDirection for transform_caps
17466         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17467         * gst/gstutils.h:
17468           cleanup and debugging
17469
17470 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17471
17472         * gst/gstelement.c: (gst_element_class_init),
17473         (gst_element_set_state), (activate_pads),
17474         (gst_element_save_thyself):
17475         * tools/gst-compprep.c: (main):
17476         * tools/gst-inspect.c: (print_element_properties_info):
17477         * tools/gst-xmlinspect.c: (print_element_properties):
17478           Fixed long standing mem-leak
17479
17480 2005-08-24  Jan Schmidt  <thaytan@mad.scientist.com>
17481
17482         * check/gst/gstbin.c: (GST_START_TEST):
17483         * gst/gstbin.c: (bin_bus_handler):
17484         * gst/gstmessage.c: (gst_message_finalize), (_gst_message_copy),
17485         (gst_message_new), (gst_message_new_eos), (gst_message_new_error),
17486         (gst_message_new_warning), (gst_message_new_tag),
17487         (gst_message_new_state_changed), (gst_message_new_segment_start),
17488         (gst_message_new_segment_done), (gst_message_new_custom):
17489         * gst/gstmessage.h:
17490         * tools/gst-launch.c: (event_loop):
17491         * tools/gst-md5sum.c: (event_loop):
17492           Change GST_MESSAGE_SRC to be a GObject rather than a GstObject, so
17493           that applications can sensibly post custom messages with references
17494           to their own objects.
17495
17496 2005-08-24  Andy Wingo  <wingo@pobox.com>
17497
17498         * gst/gstpad.c (gst_pad_fixate_caps): Check if the caps is fixed
17499         already.
17500
17501 2005-08-24  Wim Taymans  <wim@fluendo.com>
17502
17503         * gst/base/gstbasetransform.c: (gst_base_transform_init),
17504         (gst_base_transform_transform_caps),
17505         (gst_base_transform_transform_size),
17506         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
17507         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
17508         (gst_base_transform_handle_buffer):
17509         * gst/base/gstbasetransform.h:
17510         Many fixes and new features added by Thomas. Can now also do
17511         transforms with variable sizes and a custom fixate_caps function.
17512
17513 2005-08-24  Wim Taymans  <wim@fluendo.com>
17514
17515         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17516         Some debugging.
17517
17518         * gst/gstclock.h:
17519         Cast to ClockTime before formatting to time.
17520
17521         * gst/gstutils.h:
17522         Cleanups.
17523
17524 2005-08-24  Stefan Kost  <ensonic@users.sf.net>
17525
17526         * check/gst-libs/controller.c: (GST_START_TEST),
17527         (gst_controller_suite):
17528         * docs/gst/tmpl/gstcaps.sgml:
17529         * docs/gst/tmpl/gstghostpad.sgml:
17530         * docs/gst/tmpl/gstquery.sgml:
17531         * docs/gst/tmpl/gstutils.sgml:
17532         * libs/gst/controller/gst-helper.c: (gst_object_set_controller),
17533         (gst_object_sink_values), (gst_object_get_value_arrays),
17534         (gst_object_get_value_array):
17535           gracefully handle helper method calls to objects that are not beeing
17536           controlled, added test case for that          
17537
17538 2005-08-23  Wim Taymans  <wim@fluendo.com>
17539
17540         * gst/gstevent.c: (_gst_event_copy), (gst_event_new_custom),
17541         (gst_event_new_newsegment), (gst_event_parse_newsegment),
17542         (gst_event_new_tag), (gst_event_parse_tag), (gst_event_new_qos),
17543         (gst_event_parse_qos), (gst_event_new_seek),
17544         (gst_event_parse_seek):
17545         * gst/gstevent.h:
17546         Some more debugging output and doc cleanups.
17547
17548         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17549         Fix possible deadlock.
17550
17551 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17552
17553         * docs/gst/gstreamer-docs.sgml:
17554         * docs/gst/gstreamer-sections.txt:
17555         * docs/gst/gstreamer.types:
17556         * docs/gst/tmpl/.cvsignore:
17557         * gst/gstbin.h:
17558         * gst/gstbus.c:
17559         * gst/gstelement.c:
17560         * gst/gstevent.h:
17561           added 100 symbols from gstreamer-unused.txt to the right sections
17562           fixed more broken comments
17563           added GstBus to docs
17564
17565 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17566
17567         * docs/gst/gstreamer-sections.txt:
17568         * docs/gst/tmpl/.cvsignore:
17569         * docs/gst/tmpl/gstbin.sgml:
17570         * docs/gst/tmpl/gstbuffer.sgml:
17571         * gst/base/gstbasesrc.c:
17572         * gst/gstbin.c: (gst_bin_get_type), (gst_bin_class_init):
17573         * gst/gstbuffer.c:
17574         * gst/gstbuffer.h:
17575         * tools/gst-launch.1.in:
17576           inlined more doc comments, added missing comments and fixed comments
17577           fixed typos
17578
17579 2005-08-23  Thomas Vander Stichele  <thomas at apestaart dot org>
17580
17581         * gst/gstbuffer.c: (gst_buffer_new_and_alloc):
17582           some debugging
17583         * gst/gstcaps.h:
17584           whitespace fixes
17585         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_alloc_buffer):
17586           more debugging
17587         * gst/gststructure.c: (gst_caps_structure_fixate_field_boolean):
17588         * gst/gststructure.h:
17589           add a fixate function for booleans; add a FIXME that these func
17590           names should probably be gst_structure_fixate_*
17591
17592 2005-08-23  Stefan Kost  <ensonic@users.sf.net>
17593
17594         * docs/gst/gstreamer-docs.sgml:
17595         * docs/gst/gstreamer-sections.txt:
17596         * gst/Makefile.am:
17597         * gst/gstbin.c: (gst_bin_get_type),
17598         (gst_bin_child_proxy_get_child_by_index),
17599         (gst_bin_child_proxy_get_children_count),
17600         (gst_bin_child_proxy_init):
17601         * gst/gstchildproxy.c: (gst_child_proxy_get_child_by_name),
17602         (gst_child_proxy_get_child_by_index),
17603         (gst_child_proxy_get_children_count), (gst_child_proxy_lookup),
17604         (gst_child_proxy_get_property), (gst_child_proxy_get_valist),
17605         (gst_child_proxy_get), (gst_child_proxy_set_property),
17606         (gst_child_proxy_set_valist), (gst_child_proxy_set),
17607         (gst_child_proxy_child_added), (gst_child_proxy_child_removed),
17608         (gst_child_proxy_base_init), (gst_child_proxy_get_type):
17609         * gst/gstchildproxy.h:
17610         * gst/parse/grammar.y:
17611         * tools/gst-inspect.c: (print_interfaces),
17612         (print_element_properties_info), (print_element_info):
17613           ported gstchildproxy over from 0.8
17614           ported gst-inspect fixes and enhancements over from 0.8
17615
17616 2005-08-22  Wim Taymans  <wim@fluendo.com>
17617
17618         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
17619         (gst_base_transform_handle_buffer):
17620         Also call the transform function if we have ANY caps.
17621
17622         * gst/gstpipeline.c: (gst_pipeline_set_new_stream_time):
17623         Fix debug info.
17624
17625 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17626
17627         * gst/base/gstbasesrc.c: (gst_base_src_event_handler)
17628           Don't pretend to handle seek events if the source is not seekable
17629
17630 2005-08-22  Jan Schmidt  <thaytan@mad.scientist.com>
17631
17632         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17633           Remove extra parameter to debug output
17634
17635         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17636         (gst_base_src_do_seek), (gst_base_src_activate_push):
17637           Fix seek event handling.
17638
17639         * gst/gstpipeline.c: (gst_pipeline_change_state):
17640         * gst/gstqueue.c: (gst_queue_handle_sink_event),
17641         (gst_queue_src_activate_push):
17642           Don't start the src pad task on FLUSH_STOP if the pad
17643           isn't linked.
17644           Debug changes.
17645
17646 2005-08-22  Wim Taymans  <wim@fluendo.com>
17647
17648         * check/gst/gstcaps.c: (GST_START_TEST), (gst_caps_suite):
17649         Added check for gst_static_caps_get() refcounting.
17650
17651 2005-08-22  Wim Taymans  <wim@fluendo.com>
17652
17653         * gst/gstcaps.c: (gst_static_caps_get), (gst_caps_to_string):
17654         Make _static_caps_get() refcounting sane.
17655         
17656         * gst/gstelement.c: (gst_element_set_state):
17657         Add g_return_val_if_fail() to protect against segfaults.
17658
17659 2005-08-22  Stefan Kost  <ensonic@users.sf.net>
17660
17661         * docs/gst/tmpl/gstevent.sgml:
17662         * gst/gstevent.c:
17663         * gst/gstevent.h:
17664           inlined remaining docs, added missing doc comments
17665
17666 2005-08-22  Thomas Vander Stichele  <thomas at apestaart dot org>
17667
17668         * check/gst/gstbin.c: (GST_START_TEST):
17669           since we don't know when preroll is done, use refcount range
17670           check for the sink
17671         * gst/check/gstcheck.h:
17672           add macro for checking refcount range
17673
17674 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17675
17676         * check/Makefile.am:
17677           clean up environment for when registry gets built versus
17678           when actual tests are run; valgrind seems to not report
17679           leaks if GST_PLUGIN_PATH is set to some specific values
17680         * check/gst/gstbin.c: (GST_START_TEST):
17681           add more refcounting checks; maybe this exposes a
17682           preroll lock bug ?
17683         * common/check.mak:
17684         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17685         * gst/check/gstcheck.h:
17686         * gst/gstbin.c: (bin_element_is_semi_sink), (gst_bin_get_state),
17687         (gst_bin_change_state):
17688         * gst/gstpad.c: (gst_pad_activate_push), (gst_pad_chain):
17689           add/fix debugging/whitespace
17690
17691 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17692
17693         * check/gst/gstevent.c: (event_probe), (test_event),
17694         (GST_START_TEST):
17695          Er, don't call gst_bin_watch_for_state_change you idiot.
17696
17697 2005-08-21  Jan Schmidt  <thaytan@mad.scientist.com>
17698
17699         * check/Makefile.am:
17700           Use CHECK_CFLAGS and CHECK_LIBS
17701         * check/gst/gstevent.c: (event_probe), (test_event),
17702         (GST_START_TEST):
17703           Don't leak events.
17704         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
17705         (gst_base_src_start), (gst_base_src_stop),
17706         (gst_base_src_activate_push), (gst_base_src_activate_pull),
17707         (gst_base_src_change_state):
17708           Sprinkle gst_base_src_stop liberally around error paths to fix
17709           problems reusing a source after failed state changes.
17710         * gst/base/gsttypefindhelper.c: (helper_find_peek),
17711         (helper_find_suggest), (gst_type_find_helper):
17712           Extra debug output. Don't segfault on GST_PAD_GETRANGEFUNC = NULL
17713         * gst/gstevent.h:
17714         * docs/gst/tmpl/gstevent.sgml:
17715           Migrate part of the docs from the SGML file. Wait for ensonic to
17716           tell me how I did it wrong ;)
17717         * tools/gst-typefind.c: (main):
17718           Extra robustness to state changes between files.
17719
17720 2005-08-21  Thomas Vander Stichele  <thomas at apestaart dot org>
17721
17722         * check/Makefile.am:
17723           don't valgrind the controller test - it's leaking - Stefan, HELP
17724         * gst/check/gstcheck.c: (gst_check_message_error),
17725         (gst_check_chain_func), (gst_check_setup_element),
17726         (gst_check_teardown_element), (gst_check_setup_src_pad),
17727         (gst_check_teardown_src_pad), (gst_check_setup_sink_pad),
17728         (gst_check_teardown_sink_pad):
17729         * gst/check/gstcheck.h:
17730           add a bunch of methods to set up elements, and src and sink pads
17731         * check/elements/fakesrc.c: (setup_fakesrc), (cleanup_fakesrc):
17732         * check/elements/identity.c: (setup_identity), (cleanup_identity),
17733         (GST_START_TEST):
17734           use them
17735         * gst/gstmessage.c:
17736         * gst/gsttag.h:
17737           whitespace/doc fixes
17738
17739 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17740
17741         * gst/gstelement.h:
17742           make GST_ELEMENT_ERROR not do GST_ERROR_OBJECT - these errors should
17743           be handled by the application and not always printed as well
17744
17745 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17746
17747         * check/Makefile.am:
17748           set GST_TOOLS_DIR
17749         * gst/check/gstcheck.c: (gst_check_message_error):
17750         * gst/check/gstcheck.h:
17751           add a fail_unless_equals_int
17752           add fail_unless for error messages
17753
17754 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17755
17756         * check/Makefile.am:
17757         * check/gst.supp:
17758         * common/Makefile.am:
17759         * common/check.mak:
17760         * common/gst.supp:
17761           factor out some of the common stuff so we can use it
17762
17763 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17764
17765         * check/Makefile.am:
17766         * check/gst/gstiterator.c: (GST_START_TEST):
17767         * check/gst/gstsystemclock.c: (GST_START_TEST),
17768         (gst_systemclock_suite):
17769         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
17770         * gst/gstclock.c:
17771           valgrind more tests
17772
17773 2005-08-20  Thomas Vander Stichele  <thomas at apestaart dot org>
17774
17775         * check/elements/.cvsignore:
17776         * check/elements/gstfakesrc.c:
17777           rename to name of element
17778         * check/elements/identity.c: (chain_func), (event_func),
17779         (setup_identity), (cleanup_identity), (GST_START_TEST),
17780         (identity_suite), (main):
17781           add a test for identity
17782         * check/Makefile.am:
17783         * pkgconfig/Makefile.am:
17784         * pkgconfig/gstreamer-check.pc.in:
17785         * pkgconfig/gstreamer-check-uninstalled.pc.in:
17786         * gst/check:
17787         * gst/Makefile.am:
17788         * configure.ac:
17789           move the check stuff to a library that gets installed
17790         * check/gst-libs/controller.c: (GST_START_TEST):
17791         * check/gst-libs/gdp.c:
17792         * check/gst/gst.c: (GST_START_TEST):
17793         * check/gst/gstbin.c:
17794         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
17795         * check/gst/gstbus.c:
17796         * check/gst/gstcaps.c: (GST_START_TEST):
17797         * check/gst/gstelement.c:
17798         * check/gst/gstghostpad.c:
17799         * check/gst/gstiterator.c:
17800         * check/gst/gstmessage.c:
17801         * check/gst/gstminiobject.c: (thread_ref), (GST_START_TEST):
17802         * check/gst/gstobject.c:
17803         * check/gst/gstpad.c: (GST_START_TEST):
17804         * check/gst/gststructure.c: (GST_START_TEST):
17805         * check/gst/gstsystemclock.c: (GST_START_TEST),
17806         (gst_systemclock_suite):
17807         * check/gst/gsttag.c: (gst_tag_suite):
17808         * check/gst/gstvalue.c:
17809         * check/pipelines/cleanup.c:
17810         * check/pipelines/simple_launch_lines.c:
17811         * check/states/sinks.c:
17812           change include statement
17813
17814         * docs/gst/gstreamer-sections.txt:
17815         * docs/gst/tmpl/gstpad.sgml:
17816           document more pad stuff
17817         * gst/gstminiobject.c: (gst_mini_object_ref),
17818         (gst_mini_object_unref):
17819           debug refcounting
17820
17821 2005-08-19  Stefan Kost  <ensonic@users.sf.net>
17822
17823         * docs/gst/tmpl/gst.sgml:
17824         * gst/gst.c:
17825           eliminate another tmpl file, fix spelling in the long-description
17826
17827 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17828
17829         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17830         (test_event), (timediff), (gstevents_suite):
17831           Should fix build on 64-bit arch's
17832
17833 2005-08-18  Andy Wingo  <wingo@pobox.com>
17834
17835         Make sure that when a pipeline goes to PLAYING, that data has
17836         actually hit the sink.
17837
17838         * check/states/sinks.c (test_sink): A sink that doesn't get any
17839         data shouldn't return SUCCESS for going to either PLAYING or
17840         PAUSED. Test also the return values on the way back down.
17841
17842         * gst/gstelement.c (gst_element_set_state): When changing the
17843         state of an element currently changing state asynchronously, go to
17844         lost-state after commiting the pending state. Makes future calls
17845         to get_state continue to return ASYNC.
17846
17847         * gst/base/gstbasesink.c (gst_base_sink_change_state): Return
17848         ASYNC when going to PLAYING if we still don't have preroll, as can
17849         happen with live sources.
17850
17851 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17852
17853         * docs/pwg/advanced-types.xml:
17854           Hack long paragraph into 2 chunks as a workaround for buggy
17855           jadetex version in sid and breezy that loops infinitely and
17856           eats all RAM.
17857
17858 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17859
17860         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17861         (test_event), (timediff), (gstevents_suite):
17862           Provide more error margin in clock measurements to allow for 
17863           g_get_current_time inaccuracies.
17864
17865 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17866
17867         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17868         (test_event), (timediff), (gstevents_suite):
17869            Fix error message output so I might be able to tell why the
17870            test works here but fails on the build farm.
17871
17872 2005-08-18  Jan Schmidt  <thaytan@mad.scientist.com>
17873
17874         * check/Makefile.am:
17875         * check/gst/gstevents.c: (GST_START_TEST), (event_probe),
17876         (test_event), (timediff), (gstevents_suite), (main):
17877           I wrote a test!
17878
17879         * docs/design/part-seeking.txt:
17880           Spelling correction
17881
17882         * docs/gst/tmpl/gstevent.sgml:
17883         * docs/gst/tmpl/gstfakesrc.sgml:
17884           Docs updates.
17885
17886         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
17887           Treat a buffer-without-newsegment the same as a receiving 
17888           a newsegment not in time format, and disable syncing to the clock
17889           with a warning.
17890
17891         * gst/gstbus.c: (gst_bus_set_sync_handler):
17892           Assert if anyone tries to replace the existing sync_handler for bus, 
17893           as only the owner should be setting it.
17894
17895         * gst/gstevent.h:
17896           Have a fixed set of custom event enums with events identified by
17897           their structure name (as in 0.8), rather than a free-for-all
17898           allowing collisions between enum values from different plugins.
17899
17900         * gst/gstpad.c: (gst_pad_class_init):
17901           Docs change.
17902           
17903         * gst/gstqueue.c: (gst_queue_handle_sink_event):
17904           Handle out-of-band downstream events from the sending thread.
17905
17906 2005-08-17  Andy Wingo  <wingo@pobox.com>
17907
17908         * gst/gstpipeline.c (gst_pipeline_change_state): Interpret
17909         play-timeout==0 to mean no timeout at all. In that case, don't
17910         bother with a get_state or a warning, just return directly, even
17911         if it's ASYNC.
17912
17913         * gst/base/gstbasetransform.c: Debug changes.
17914
17915         * gst/gstutils.h:
17916         * gst/gstutils.c (gst_bin_watch_for_state_change): Add function to
17917         ensure bins post state change messages. A bit of a hack but I can't
17918         think of a way to avoid it.
17919
17920         * check/gst/gstbin.c (test_watch_for_state_change): Added test.
17921
17922 2005-08-16  Andy Wingo  <wingo@pobox.com>
17923
17924         * gst/base/gstadapter.h:
17925         * gst/base/gstadapter.c (gst_adapter_take): New function, like
17926         peek() but you own the data. Not terribly efficient atm.
17927
17928 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17929
17930         * gst/gstutils.c: (gst_element_found_tags_for_pad), (push_and_ref),
17931         (gst_element_found_tags):
17932         * gst/gstutils.h:
17933           Add two utility functions for tag handling.
17934
17935 2005-08-16  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
17936
17937         * docs/manual/advanced-dataaccess.xml:
17938         * docs/manual/basics-helloworld.xml:
17939           Fix docs to use _bin_add() before _link(), which fixes the examples
17940           with recent core versions (reported by Madhan Raj M
17941           <raj_madan@rediffmail.com>, #313199).
17942
17943 2005-08-16  Wim Taymans  <wim@fluendo.com>
17944
17945         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
17946         Added subtract checks.
17947
17948         * docs/design/part-events.txt:
17949         Some more docs about newsegment
17950
17951         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
17952         Fix FIXME
17953
17954         * gst/gstcaps.c: (gst_caps_to_string):
17955         Add comments, cleanups.
17956         
17957         * gst/gstelement.c: (gst_element_save_thyself):
17958         cleanups
17959         
17960         * gst/gstvalue.c: (gst_value_collect_int_range),
17961         (gst_string_unwrap), (gst_value_union_int_int_range),
17962         (gst_value_union_int_range_int_range),
17963         (gst_value_intersect_int_int_range),
17964         (gst_value_intersect_int_range_int_range),
17965         (gst_value_intersect_double_double_range),
17966         (gst_value_intersect_double_range_double_range),
17967         (gst_value_intersect_list), (gst_value_subtract_int_int_range),
17968         (gst_value_subtract_int_range_int),
17969         (gst_value_subtract_double_range_double),
17970         (gst_value_subtract_double_range_double_range),
17971         (gst_value_subtract_from_list), (gst_value_subtract_list),
17972         (gst_value_can_compare), (gst_value_compare_fraction):
17973         Cleanups, add comments, remove unneeded asserts.
17974
17975 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
17976
17977         * tools/gst-launch.c: (event_loop):
17978           don't convert NULL structures to strings
17979
17980 2005-08-15  Stefan Kost  <ensonic@users.sf.net>
17981
17982         * docs/gst/gstreamer-sections.txt:
17983           made some defines private
17984         * docs/gst/tmpl/gstconfig.sgml:
17985         * docs/gst/tmpl/gstqueue.sgml:
17986         * docs/gst/tmpl/gsttaglist.sgml:
17987         * docs/gst/tmpl/gsttypes.sgml:
17988         * docs/gst/tmpl/gstutils.sgml:
17989         * docs/pwg/appendix-porting.xml:
17990         * gst/base/gstbasesink.h:
17991         * gst/base/gstbasesrc.c:
17992         * gst/base/gstbasesrc.h:
17993         * gst/elements/gstfakesink.c: (gst_fake_sink_class_init):
17994         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init):
17995         * gst/gstelement.c: (gst_element_class_init):
17996         * gst/gstpad.c: (gst_pad_class_init):
17997         * gst/gstqueue.c: (gst_queue_class_init):
17998         * gst/gstxml.c: (gst_xml_class_init):
17999           documented all undocumented signal inline
18000         * libs/gst/controller/gst-controller.h:
18001           added padding
18002
18003 2005-08-15  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18004
18005         * docs/pwg/appendix-porting.xml:
18006           Document _set_link_function -> _set_setcaps_function.
18007
18008 2005-08-15  Thomas Vander Stichele  <thomas at apestaart dot org>
18009
18010         * check/Makefile.am:
18011           add a .check target for running the check
18012         * check/gst-libs/controller.c: (GST_START_TEST):
18013           cosmetic fixups
18014         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
18015           complete checks for gstbuffer; would be nice if I could get the
18016           gcov stuff to work so I can see if I actually completed gstbuffer.c
18017         * check/gstcheck.h:
18018           add ASSERT_BUFFER_REFCOUNT
18019
18020 2005-08-13  Tim-Philipp Müller  <tim at centricular dot net>
18021
18022         * docs/gst/gstreamer-sections.txt:
18023         * gst/gsttag.c: (_gst_tag_initialize), (gst_tag_register):
18024         * gst/gsttag.h:
18025           Add GST_TAG_LANGUAGE_CODE as we have in 0.8, and don't
18026           spew out a warning if a tag that is already registered
18027           is re-registered, unless it is re-registered with a 
18028           different type (#308438).
18029
18030 2005-08-12  Tim-Philipp Müller  <tim at centricular dot net>
18031
18032         * docs/pwg/appendix-porting.xml:
18033         * docs/pwg/building-state.xml:
18034           Add some paragraphs about state changes in 0.9 to the PWG
18035           and the porting guide, in particular about the new meaning
18036           of GST_STATE_PAUSED and how to write state change functions
18037           with concurrent access by multiple threads in mind.
18038
18039 2005-08-11  Stefan Kost  <ensonic@users.sf.net>
18040
18041         * docs/gst/gstreamer-docs.sgml:
18042         * docs/libs/gstreamer-libs-docs.sgml:
18043           added deprecation and since indexes
18044         * libs/gst/controller/gst-controller.c:
18045         * libs/gst/controller/gst-helper.c:
18046           added since tags
18047
18048
18049 2005-08-11  Wim Taymans  <wim@fluendo.com>
18050
18051         * gst/gstghostpad.c: (gst_proxy_pad_set_target_unlocked),
18052         (gst_proxy_pad_set_target), (gst_proxy_pad_get_target),
18053         (gst_proxy_pad_dispose), (gst_ghost_pad_do_activate_push),
18054         (gst_ghost_pad_do_link), (gst_ghost_pad_set_internal),
18055         (gst_ghost_pad_new_notarget), (gst_ghost_pad_get_target),
18056         (gst_ghost_pad_set_target):
18057         Actually implement (re)setting the target on a ghostpad
18058         as described in the docs.
18059
18060 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
18061
18062         * gst/gst.c: (gst_init_check_with_popt_table), (init_pre):
18063           Check whether GST_DEBUG_NO_COLOR environment variable is
18064           set and disable coloured debug output if that is the case.
18065
18066 2005-08-10  Tim-Philipp Müller  <tim at centricular dot net>
18067
18068         * gst/base/gsttypefindhelper.c: (helper_find_peek),
18069         (gst_type_find_helper):
18070           The memory returned by gst_type_find_peek() needs to
18071           stay valid until the end of a typefind function, and
18072           typefind functions may keep results from different 
18073           offsets around, so we can't just unref the buffer from
18074           the previous _peek(), but have to save all buffers 
18075           returned by _peek() until typefinding is done and only
18076           free them then.
18077
18078 2005-08-09  Tim-Philipp Müller  <tim at centricular dot net>
18079
18080         * docs/gst/gstreamer-sections.txt:
18081         * gst/gstutils.h:
18082           New macros: GST_ROUND_UP_2() through GST_ROUND_UP_64().
18083
18084 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18085
18086         * gst/base/gstbasetransform.c: (gst_base_transform_buffer_alloc):
18087           Fix a pretty good memleak.
18088
18089 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
18090
18091         * gst/gstiterator.h:
18092           Fix wrong include and 'make distcheck'.
18093
18094 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18095
18096         * gst/gstbin.c: (bin_bus_handler):
18097           Use gst_element_post_message() instead.
18098
18099 2005-08-08  Tim-Philipp Müller  <tim at centricular dot net>
18100
18101         * gst/base/gstadapter.h:
18102         * gst/base/gstbasesink.h:
18103         * gst/base/gstbasesrc.h:
18104         * gst/base/gstbasetransform.h:
18105         * gst/base/gstcollectpads.h:
18106         * gst/base/gstpushsrc.h:
18107         * gst/gstiterator.h:
18108           Add padding to our base elements' class and instance structs and
18109           to GstIterator (you will need to rebuild all plugins and apps!)
18110
18111 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18112
18113         * gst/gstbin.c: (bin_bus_handler):
18114           Make default message forwarding from child->bus to bin->bus
18115           threadsafe and make it not emit warnings if the parent has no bus.
18116
18117 2005-08-08  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18118
18119         * gst/gstelement.c: (activate_pads):
18120           On paused->ready, set pad->caps to NULL, as is the documented
18121           behaviour in this state change. Fixes playback of series of
18122           media files when visualization is enabled in Totem.
18123
18124 2005-08-07  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18125
18126         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
18127           Allow NULL as filter-caps (which means "any").
18128
18129 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18130
18131         * docs/libs/gstreamer-libs-sections.txt:
18132         * libs/gst/controller/gst-controller.c:
18133         * libs/gst/controller/gst-controller.h:
18134         * libs/gst/controller/gst-helper.c:
18135           adding more entries to the docs and fix small doc-bugs
18136
18137 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18138
18139         * docs/gst/gstreamer-docs.sgml:
18140         * docs/gst/gstreamer-sections.txt:
18141         * docs/gst/gstreamer.types:
18142         * docs/gst/tmpl/gstbasesink.sgml:
18143         * docs/gst/tmpl/gstbasesrc.sgml:
18144         * docs/gst/tmpl/gstbasetransform.sgml:
18145         * docs/gst/tmpl/gstfakesrc.sgml:
18146         * gst/base/gstcollectpads.c:
18147         * gst/base/gstcollectpads.h:
18148         * libs/gst/controller/gst-controller.c:
18149         * libs/gst/controller/gst-controller.h:
18150         * libs/gst/controller/gst-helper.c:
18151         * libs/gst/controller/gst-interpolation.c:
18152         * libs/gst/controller/lib.c:
18153           added long/short desc for controller docs
18154           added collectpads base class docs
18155           added correct includes to base-class docs
18156
18157 2005-08-05  Stefan Kost  <ensonic@users.sf.net>
18158
18159         * check/gst-libs/controller.c: (gst_test_mono_source_get_property),
18160         (gst_test_mono_source_set_property),
18161         (gst_test_mono_source_class_init), (GST_START_TEST),
18162         (gst_controller_suite):
18163         * docs/gst/gstreamer-docs.sgml:
18164         * docs/gst/gstreamer-sections.txt:
18165         * docs/gst/gstreamer.types:
18166         * docs/libs/gstreamer-libs-docs.sgml:
18167         * docs/libs/gstreamer-libs-sections.txt:
18168         * gst/base/gstadapter.c:
18169         * libs/gst/controller/gst-controller.c:
18170         (gst_controlled_property_new), (gst_controlled_property_free),
18171         (gst_controller_new_valist),
18172         (gst_controller_remove_properties_valist),
18173         (gst_controller_sink_values), (_gst_controller_finalize):
18174         * libs/gst/controller/gst-controller.h:
18175         * libs/gst/controller/gst-helper.c:
18176         (gst_object_control_properties), (gst_object_uncontrol_properties),
18177         (gst_object_get_controller), (gst_object_set_controller),
18178         (gst_object_sink_values), (gst_object_get_value_arrays),
18179         (gst_object_get_value_array):
18180           more tests (and fixes) for the controller
18181           more docs for the controller
18182           integrated companies docs for the adapter 
18183
18184 2005-08-05  Thomas Vander Stichele  <thomas at apestaart dot org>
18185
18186         * check/elements/gstfakesrc.c: (setup_fakesrc), (cleanup_fakesrc),
18187         (GST_START_TEST), (fakesrc_suite):
18188           add tests for sizetype
18189
18190 2005-08-04  Andy Wingo  <wingo@pobox.com>
18191
18192         * gst/elements/gstcapsfilter.c: Reimplement using basetransform,
18193         fixes buffer_alloc proxying among other things.
18194
18195         * gst/base/gstbasetransform.c:
18196         * gst/base/gstbasetransform.h:
18197         Revert patch to gstbasetransform from 7-28 removing
18198         delay_configure.
18199
18200         * gst/base/gstbasetransform.h (GstBaseTransformClass.get_size):
18201         * gst/base/gstbasetransform.c (gst_base_transform_get_size):
18202         Semantics changed, should return not the size of the output buffer
18203         but the byte size of a buffer with a given caps.
18204
18205         * gst/base/gstbasetransform.c (gst_base_transform_getcaps): Better
18206         debug object.
18207         (gst_base_transform_configure_caps): Don't set out_size here: (in,
18208         out) are not the pad caps until setcaps finishes.
18209         (gst_base_transform_buffer_alloc): Proxy the buffer_alloc for the
18210         not-in-place case as well. Deal with changing from in-place to
18211         not-in-place within calling pad_alloc_buffer. Still a bit
18212         concerned about the overhead here...
18213
18214 2005-08-03  Andy Wingo  <wingo@pobox.com>
18215
18216         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): Not
18217         fixating is an error.
18218
18219 2005-08-04  Edward Hervey  <edward@fluendo.com>
18220
18221         * gst/base/gstadapter.h: 
18222         Added gst_adapter_get_type() to the header
18223
18224 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18225
18226         * check/Makefile.am:
18227         * check/gst-libs/controller.c:
18228         * libs/gst/controller/gst-controller.c:
18229         (gst_controller_new_valist):
18230           added check test suite for the controller
18231         * gst/base/gstpushsrc.c:
18232           fixed a doc typo
18233
18234 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18235
18236         * docs/gst/Makefile.am:
18237         * docs/gst/gstreamer-docs.sgml:
18238         * docs/gst/gstreamer-sections.txt:
18239         * docs/gst/gstreamer.types:
18240         * docs/gst/tmpl/gstfakesrc.sgml:
18241         * gst/base/README:
18242         * gst/base/gstbasesink.c:
18243         * gst/base/gstbasesink.h:
18244         * gst/base/gstbasesrc.c:
18245         * gst/base/gstbasesrc.h:
18246         * gst/base/gstbasetransform.c:
18247         * gst/base/gstpushsrc.c:
18248         * gst/base/gstpushsrc.h:
18249           add short/long description docs to base classes
18250           add pushsrc to the docs
18251           remove consolidated doc fragments
18252
18253 2005-08-03  Stefan Kost  <ensonic@users.sf.net>
18254
18255         * configure.ac:
18256         * docs/libs/Makefile.am:
18257         * docs/libs/gstreamer-libs-docs.sgml:
18258         * docs/libs/gstreamer-libs-sections.txt:
18259         * docs/libs/gstreamer-libs.types:
18260         * examples/Makefile.am:
18261         * examples/controller/.cvsignore:
18262         * examples/controller/Makefile.am:
18263         * examples/controller/audio-example.c: (main):
18264         * libs/gst/Makefile.am:
18265         * libs/gst/controller/.cvsignore:
18266         * libs/gst/controller/Makefile.am:
18267         * libs/gst/controller/gst-controller.c:
18268         (on_object_controlled_property_changed), (gst_timed_value_compare),
18269         (gst_timed_value_find),
18270         (gst_controlled_property_set_interpolation_mode),
18271         (gst_controlled_property_new), (gst_controlled_property_free),
18272         (gst_controller_find_controlled_property),
18273         (gst_controller_new_valist), (gst_controller_new),
18274         (gst_controller_remove_properties_valist),
18275         (gst_controller_remove_properties), (gst_controller_set),
18276         (gst_controller_set_from_list), (gst_controller_unset),
18277         (gst_controller_get), (gst_controller_get_all),
18278         (gst_controller_sink_values), (gst_controller_get_value_arrays),
18279         (gst_controller_get_value_array),
18280         (gst_controller_set_interpolation_mode),
18281         (_gst_controller_finalize), (_gst_controller_init),
18282         (_gst_controller_class_init), (gst_controller_get_type):
18283         * libs/gst/controller/gst-controller.h:
18284         * libs/gst/controller/gst-helper.c: (g_object_control_properties),
18285         (g_object_uncontrol_properties), (g_object_get_controller),
18286         (g_object_set_controller), (g_object_sink_values),
18287         (g_object_get_value_arrays), (g_object_get_value_array):
18288         * libs/gst/controller/gst-interpolation.c:
18289         (gst_controlled_property_find_timed_value_node),
18290         (interpolate_none_get), (interpolate_trigger_get),
18291         (interpolate_trigger_get_value_array):
18292         * libs/gst/controller/lib.c: (gst_controller_init):
18293         * pkgconfig/Makefile.am:
18294         * pkgconfig/gstreamer-control-uninstalled.pc.in:
18295         * pkgconfig/gstreamer-control.pc.in:
18296         * testsuite/Makefile.am:
18297         * testsuite/controller/.cvsignore:
18298         * testsuite/controller/Makefile.am:
18299         * testsuite/controller/interpolator.c: (main):
18300           added controller code
18301           removed dparam pc files
18302
18303 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
18304         * gst/base/gstcollectpads.c: (gst_collectpads_finalize),
18305         (gst_collectpads_stop):
18306           Broadcast the condition when shutting down, to make sure we wake all
18307           threads up. Shut down pads on finalize, for safety.
18308
18309 2005-08-01  Jan Schmidt  <thaytan@mad.scientist.com>
18310         * gst/base/gstbasetransform.c: (gst_base_transform_init),
18311         (gst_base_transform_handle_buffer),
18312         (gst_base_transform_change_state):
18313           Handle PAUSED->READY->PAUSED transition after negotiation
18314           occurred already.
18315         * gst/gstmessage.c: (gst_message_init):
18316           Extra piece of debug for new messages.
18317
18318 2005-08-01  Stefan Kost  <ensonic@users.sf.net>
18319
18320         * configure.ac:
18321         * docs/gst/tmpl/gstbasesrc.sgml:
18322         * docs/gst/tmpl/gstelement.sgml:
18323         * docs/gst/tmpl/gstevent.sgml:
18324         * docs/gst/tmpl/gstfakesrc.sgml:
18325         * docs/gst/tmpl/gstformat.sgml:
18326         * docs/gst/tmpl/gstghostpad.sgml:
18327         * docs/gst/tmpl/gstpad.sgml:
18328         * docs/gst/tmpl/gstquery.sgml:
18329         * docs/gst/tmpl/gststructure.sgml:
18330         * docs/gst/tmpl/gsttaglist.sgml:
18331         * docs/gst/tmpl/gstvalue.sgml:
18332         * docs/libs/gstreamer-libs-docs.sgml:
18333         * docs/libs/gstreamer-libs-sections.txt:
18334         * docs/libs/gstreamer-libs.types:
18335         * libs/gst/Makefile.am:
18336         * libs/gst/control/.cvsignore:
18337         * libs/gst/control/Makefile.am:
18338         * libs/gst/control/control.c:
18339         * libs/gst/control/control.h:
18340         * libs/gst/control/dparam.c:
18341         * libs/gst/control/dparam.h:
18342         * libs/gst/control/dparam_smooth.c:
18343         * libs/gst/control/dparam_smooth.h:
18344         * libs/gst/control/dparamcommon.h:
18345         * libs/gst/control/dparammanager.c:
18346         * libs/gst/control/dparammanager.h:
18347         * libs/gst/control/dplinearinterp.c:
18348         * libs/gst/control/dplinearinterp.h:
18349         * libs/gst/control/unitconvert.c:
18350         * libs/gst/control/unitconvert.h:
18351         * testsuite/Makefile.am:
18352         * testsuite/dynparams/.cvsignore:
18353         * testsuite/dynparams/Makefile.am:
18354         * testsuite/dynparams/dparamstest.c:
18355         * tools/Makefile.am:
18356         * tools/gst-inspect.c: (print_element_info), (main):
18357         * tools/gst-xmlinspect.c: (print_element_info), (main):
18358           deactivate and remove dparams (libgstcontrol)
18359
18360 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18361
18362         * gst/elements/gsttypefindelement.c:
18363         (gst_type_find_element_have_type), (gst_type_find_element_init),
18364         (stop_typefinding), (gst_type_find_element_handle_event),
18365         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18366         * gst/elements/gsttypefindelement.h:
18367           Set caps on all outgoing buffers, not just the first one.
18368
18369 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18370
18371         * gst/elements/gsttypefindelement.c:
18372         (gst_type_find_element_have_type),
18373         (gst_type_find_element_check_set_buffer_caps),
18374         (gst_type_find_element_init), (stop_typefinding),
18375         (gst_type_find_element_handle_event),
18376         (gst_type_find_element_chain), (gst_type_find_element_getrange):
18377         * gst/elements/gsttypefindelement.h:
18378           Set caps on first outgoing buffer when we've found the type.
18379
18380 2005-08-01  Tim-Philipp Müller  <tim at centricular dot net>
18381
18382         * docs/gst/gstreamer-docs.sgml:
18383         * docs/gst/gstreamer-sections.txt:
18384         * docs/gst/tmpl/gstscheduler.sgml:
18385         * docs/gst/tmpl/gstschedulerfactory.sgml:
18386           Remove some old cruft from docs.
18387
18388 2005-07-31  Tim-Philipp Müller  <tim at centricular dot net>
18389
18390         * gst/gstpad.h:
18391           Fix inline docs for GstPadLinkReturn.
18392           
18393         * gst/gststructure.c: (gst_structure_has_name):
18394         * gst/gststructure.h:
18395         * docs/gst/gstreamer-sections.txt:
18396           New API: gst_structure_has_name().
18397
18398 2005-07-30  Tim-Philipp Müller  <tim at centricular dot net>
18399
18400         * configure.ac:
18401           Use AC_SYS_LARGEFILE, which will set _FILE_OFFSET_BITS=64
18402           and _LARGEFILE_SOURCE in config.h as required. Do not 
18403           export those flags in our .pc files any longer (#142209).
18404
18405           Remove unused GST_DISABLE_OMEGA_COTHREADS stuff.
18406
18407         * gst/elements/gstfilesink.c: (gst_file_sink_class_init),
18408         (gst_file_sink_do_seek), (gst_file_sink_event),
18409         (gst_file_sink_get_current_offset), (gst_file_sink_render):
18410           Redo seek/tell calls with large file support in mind; add some
18411           debugging messages; add log message that tells us when large
18412           file support is unavailable or not enabled for some reason.
18413
18414         * gst/elements/gstfilesrc.c: (gst_file_src_class_init):
18415           Add log message that tells us when large file support 
18416           is unavailable or not enabled for some reason.
18417
18418 2005-07-29  Wim Taymans  <wim@fluendo.com>
18419
18420         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18421         Added test for removing an element with ghostpad from a bin.
18422         Fixed test as current implementation does the right thing.
18423
18424         * gst/gstghostpad.c: (gst_proxy_pad_class_init),
18425         (gst_proxy_pad_do_query_type), (gst_proxy_pad_do_event),
18426         (gst_proxy_pad_do_query), (gst_proxy_pad_do_internal_link),
18427         (gst_proxy_pad_do_bufferalloc), (gst_proxy_pad_do_activate),
18428         (gst_proxy_pad_do_activatepull), (gst_proxy_pad_do_activatepush),
18429         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange),
18430         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_getcaps),
18431         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
18432         (gst_proxy_pad_do_setcaps), (gst_proxy_pad_set_target),
18433         (gst_proxy_pad_get_target), (gst_proxy_pad_init),
18434         (gst_proxy_pad_dispose), (gst_proxy_pad_finalize),
18435         (gst_ghost_pad_class_init), (gst_ghost_pad_do_activate_push),
18436         (gst_ghost_pad_do_link), (gst_ghost_pad_do_unlink),
18437         (gst_ghost_pad_set_internal), (gst_ghost_pad_dispose),
18438         (gst_ghost_pad_new_notarget), (gst_ghost_pad_new),
18439         (gst_ghost_pad_get_target), (gst_ghost_pad_set_target):
18440         * gst/gstghostpad.h:
18441         Clean up ghostpads, remove properties for internal stuff.
18442         Make threadsafe.
18443         Fix refcounting.
18444         Prepare for switching targets, not all use cases work yet.
18445
18446 2005-07-29  Wim Taymans  <wim@fluendo.com>
18447
18448         * docs/design/part-gstghostpad.txt:
18449         Small update.
18450
18451         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18452         (gst_bin_remove_func):
18453         Unlinking pads while holding the bin LOCK is not a good
18454         idea.
18455
18456         * gst/gstpad.c: (gst_pad_class_init),
18457         (gst_pad_link_check_hierarchy), (gst_pad_get_caps_unlocked),
18458         (gst_pad_accept_caps), (gst_pad_set_caps), (gst_pad_send_event):
18459         No prob setting template after creating the pad.
18460
18461 2005-07-29  Jan Schmidt  <thaytan@mad.scientist.com>
18462
18463         * gst/gstbus.c: (gst_bus_set_flushing), (gst_bus_pop),
18464         (gst_bus_peek), (gst_bus_source_dispatch),
18465         (gst_bus_add_watch_full), (poll_handler), (poll_timeout),
18466         (poll_destroy), (poll_destroy_timeout), (gst_bus_poll):
18467           gst_bus_poll may be called from other threads. Handle
18468           this nicely by not making poll_data disappear off the
18469           stack once gst_bus_poll returns.
18470           gst_bus_peek now increments the refcount on the returned
18471           message.
18472
18473 2005-07-29  Wim Taymans  <wim@fluendo.com>
18474
18475         * docs/design/part-gstghostpad.txt:
18476         Overview of current GhostPad datastructures and use
18477         cases for changing the target.
18478
18479 2005-07-28  Wim Taymans  <wim@fluendo.com>
18480
18481         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
18482         Added checks for hierarchy consistency whan adding linked
18483         elements to bins.
18484
18485         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
18486         Added check to test element scheduling without bin/pipeline.
18487
18488         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
18489         First add elements to bin, then link.
18490         
18491         * gst/gstbin.c: (unlink_pads), (gst_bin_add_func),
18492         (gst_bin_remove_func):
18493         Unlink pads from elements added/removed from bin to maintain
18494         hierarchy consistency.
18495
18496 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18497
18498         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps),
18499         (gst_base_transform_handle_buffer):
18500         * gst/base/gstbasetransform.h:
18501           Remove broken delay_configure (fixes renegotiation of software
18502           scaling pipelines); remove some leftover printf()s.
18503
18504 2005-07-28  Wim Taymans  <wim@fluendo.com>
18505
18506         * check/gst/gstghostpad.c: (GST_START_TEST), (gst_ghost_pad_suite):
18507         Added some more tests for wrong hierarchy
18508
18509         * docs/design/part-overview.txt:
18510         Some updates.
18511
18512         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_dispose):
18513         Cleanups.
18514
18515         * gst/gstelement.c: (gst_element_remove_pad), (gst_element_seek),
18516         (gst_element_dispose):
18517         Some more cleanups.
18518
18519         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
18520         (gst_pad_link_check_hierarchy), (gst_pad_link_prepare),
18521         (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18522         (gst_pad_set_caps), (gst_pad_send_event):
18523         Check for correct hierarchy when linking pads. Moving to
18524         strict requirement for ghostpads when linking elements in
18525         different bins.
18526
18527         * gst/gstpad.h:
18528         Clean ups. Added WRONG_HIERARCHY return value.
18529
18530 2005-07-28  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18531
18532         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
18533           Better debug if no transform is possible.
18534
18535 2005-07-27  Wim Taymans  <wim@fluendo.com>
18536
18537         * docs/random/wtay/network-transp:
18538         Some old doc I had.
18539
18540 2005-07-27  Wim Taymans  <wim@fluendo.com>
18541
18542         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18543         (gst_dp_event_from_packet):
18544         Fix serialization of seek events.
18545
18546 2005-07-27  Wim Taymans  <wim@fluendo.com>
18547
18548         * check/gst-libs/gdp.c: (GST_START_TEST):
18549         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18550         Fix compilation and fix event serialization.
18551
18552 2005-07-27  Wim Taymans  <wim@fluendo.com>
18553
18554         * CHANGES-0.9:
18555         * docs/design/part-TODO.txt:
18556         * docs/design/part-events.txt:
18557         Some docs updates
18558
18559         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18560         (gst_base_sink_event), (gst_base_sink_do_sync),
18561         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18562         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
18563         (gst_base_src_do_seek), (gst_base_src_event_handler),
18564         (gst_base_src_loop):
18565         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18566         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18567         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
18568         (gst_base_transform_event), (gst_base_transform_handle_buffer),
18569         (gst_base_transform_set_passthrough),
18570         (gst_base_transform_is_passthrough):
18571         * gst/elements/gstfakesink.c: (gst_fake_sink_event):
18572         * gst/elements/gstfilesink.c: (gst_file_sink_event):
18573         Event updates.
18574
18575         * gst/gstbuffer.h:
18576         Use faster casts.
18577
18578         * gst/gstelement.c: (gst_element_seek):
18579         * gst/gstelement.h:
18580         Update gst_element_seek.
18581
18582         * gst/gstevent.c: (gst_event_finalize), (_gst_event_copy),
18583         (gst_event_new), (gst_event_new_custom), (gst_event_get_structure),
18584         (gst_event_new_flush_start), (gst_event_new_flush_stop),
18585         (gst_event_new_eos), (gst_event_new_newsegment),
18586         (gst_event_parse_newsegment), (gst_event_new_tag),
18587         (gst_event_parse_tag), (gst_event_new_filler), (gst_event_new_qos),
18588         (gst_event_parse_qos), (gst_event_new_seek),
18589         (gst_event_parse_seek), (gst_event_new_navigation):
18590         * gst/gstevent.h:
18591         Make GstEvent use GstStructure. Add parsing code, make sure the
18592         API is sufficiently generic.
18593         Mark possible directions of events and serialization.
18594
18595         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize),
18596         (_gst_message_copy), (gst_message_new_segment_start),
18597         (gst_message_new_segment_done), (gst_message_new_custom),
18598         (gst_message_parse_segment_start),
18599         (gst_message_parse_segment_done):
18600         Small cleanups.
18601
18602         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18603         (gst_pad_set_caps), (gst_pad_send_event):
18604         Update for new events. 
18605         Catch events sent in wrong directions.
18606
18607         * gst/gstqueue.c: (gst_queue_link_src),
18608         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
18609         (gst_queue_handle_src_query):
18610         Event updates.
18611
18612         * gst/gsttag.c:
18613         * gst/gsttag.h:
18614         Remove event code from this file.
18615
18616         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
18617         (gst_dp_event_from_packet):
18618         Event updates.
18619
18620 2005-07-27  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18621
18622         * gst/base/gstbasetransform.c: (gst_base_transform_getcaps),
18623         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
18624         (gst_base_transform_get_size), (gst_base_transform_handle_buffer):
18625           Make debugging actually useful.
18626
18627 2005-07-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18628
18629         * gst/gstpad.c: (fixate_value), (gst_pad_default_fixate),
18630         (gst_pad_fixate_caps):
18631           Implement default fixation once again, so that gst_pad_fixate()
18632           actually does anything at all. This probably needs to be some
18633           sort of a last resort, and use profile-based fixation first, but
18634           since that doesn't exist yet, this is the best we have. Fixes
18635           visualization in Totem.
18636
18637 2005-07-22  Wim Taymans  <wim@fluendo.com>
18638
18639         * docs/design/part-events.txt:
18640         Small update.
18641
18642         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18643         (gst_base_sink_do_sync), (gst_base_sink_activate_push),
18644         (gst_base_sink_activate_pull):
18645         Some more comments.
18646
18647         * gst/elements/gstfakesrc.c: (gst_fake_src_class_init),
18648         (gst_fake_src_create):
18649         Fix handoff marshall.
18650
18651         * gst/elements/gstidentity.c: (gst_identity_class_init),
18652         (gst_identity_transform_ip):
18653         We're a real inplace element.
18654
18655         * gst/gstbus.c: (gst_bus_post):
18656         Added some comments.
18657
18658         * tests/lat.c: (fakesrc), (fakesink), (simple), (queue), (main):
18659         * tests/muxing/case1.c: (main):
18660         * tests/sched/dynamic-pipeline.c: (main):
18661         * tests/sched/interrupt1.c: (main):
18662         * tests/sched/interrupt2.c: (main):
18663         * tests/sched/interrupt3.c: (main):
18664         * tests/sched/runxml.c: (main):
18665         * tests/sched/sched-stress.c: (main):
18666         * tests/seeking/seeking1.c: (event_received), (main):
18667         * tests/threadstate/threadstate2.c: (bus_handler), (timeout_func),
18668         (main):
18669         * tests/threadstate/threadstate3.c: (main):
18670         * tests/threadstate/threadstate4.c: (main):
18671         * tests/threadstate/threadstate5.c: (main):
18672         Fix the tests.
18673
18674 2005-07-21  Wim Taymans  <wim@fluendo.com>
18675
18676         * docs/design/part-seeking.txt:
18677         Some small additions.
18678
18679         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
18680         (gst_base_sink_get_times), (gst_base_sink_do_sync),
18681         (gst_base_sink_activate_push), (gst_base_sink_activate_pull):
18682         * gst/base/gstbasesink.h:
18683         discont values are gint64, handle the math correctly.
18684
18685         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18686         Make the basesrc report error if the source pad is not linked.
18687
18688         * gst/gstqueue.c: (gst_queue_link_src), (gst_queue_chain),
18689         (gst_queue_loop), (gst_queue_handle_src_query),
18690         (gst_queue_src_activate_push):
18691         Make queue collect data even if the srcpad is not linked.
18692         Start pushing out data as soon as it is linked.
18693
18694         * gst/gstutils.c: (gst_element_unlink), (gst_flow_get_name):
18695         * gst/gstutils.h:
18696         Added gst_flow_get_name() to ease error reporting.
18697
18698 2005-07-20  Wim Taymans  <wim@fluendo.com>
18699
18700         * gst/gstmessage.c: (gst_message_new_segment_start),
18701         (gst_message_new_segment_done), (gst_message_parse_segment_start),
18702         (gst_message_parse_segment_done):
18703         * gst/gstmessage.h:
18704         Added a bunch of messages for advanced seeking.
18705
18706         * gst/parse/grammar.y:
18707         * libs/gst/control/dparammanager.c: (gst_dpman_set_parent),
18708         (gst_dpman_state_changed):
18709         Fix some new-pad -> pad-added signals
18710
18711 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18712
18713         * docs/manual/appendix-porting.xml:
18714         * docs/pwg/appendix-porting.xml:
18715           Document new-pad/state-change signal renames and the FixedList
18716           type rename.
18717
18718 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18719
18720         * docs/manual/advanced-autoplugging.xml:
18721         * docs/manual/basics-helloworld.xml:
18722         * docs/manual/basics-pads.xml:
18723         * docs/random/ds/0.9-suggested-changes:
18724         * gst/gstelement.c: (gst_element_class_init), (gst_element_seek):
18725         * gst/gstelement.h:
18726         * gst/gstevent.h:
18727         * gst/gstformat.h:
18728         * gst/gstquery.h:
18729         * gst/gststructure.c: (gst_structure_value_get_generic_type),
18730         (gst_structure_parse_array), (gst_structure_parse_value):
18731         * gst/gstvalue.c: (gst_type_is_fixed),
18732         (gst_value_list_prepend_value), (gst_value_list_append_value),
18733         (gst_value_list_get_size), (gst_value_list_get_value),
18734         (gst_value_transform_array_string), (gst_value_serialize_array),
18735         (gst_value_deserialize_array), (gst_value_intersect_array),
18736         (gst_value_is_fixed), (_gst_value_initialize):
18737         * gst/gstvalue.h:
18738           GstElement::new-pad -> pad-added, GstElement::state-change ->
18739           state-changed, GstValueFixedList -> GstValueArray, add format and
18740           flags as their own arguments in gst_element_seek() (should improve
18741           "bindeability"), remove function generators since they don't work
18742           under a whole bunch of compilers (they were deprecated already
18743           anyway).
18744
18745 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18746
18747         * gst/gstinfo.c: (_gst_debug_nameof_funcptr),
18748         (_gst_debug_register_funcptr):
18749         * gst/gstinfo.h:
18750           Fix illegal cast on some platforms (#309253).
18751
18752 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18753
18754         * gst/gstmessage.c: (gst_message_new_custom):
18755         * gst/gstmessage.h:
18756           Add _new_custom, make _new_application a macro to _new_custom.
18757
18758 2005-07-20  Wim Taymans  <wim@fluendo.com>
18759
18760         * gst/base/gstbasesrc.c: (gst_base_src_init),
18761         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start):
18762         * gst/base/gstbasesrc.h:
18763         Add a gboolean to decide when to push out a discont.
18764
18765         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
18766         (gst_queue_loop), (gst_queue_handle_src_query),
18767         (gst_queue_sink_activate_push), (gst_queue_src_activate_push),
18768         (gst_queue_set_property), (gst_queue_get_property):
18769         Some cleanups.
18770
18771         * tests/threadstate/threadstate1.c: (main):
18772         Make a thread test compile and run... very silly..
18773
18774
18775 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18776
18777         * docs/manual/appendix-porting.xml:
18778           Mention removal of libgstgconf-0.9.la and existence of gconf
18779           elements.
18780
18781 2005-07-20  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
18782
18783         * docs/pwg/advanced-clock.xml:
18784         * docs/pwg/appendix-porting.xml:
18785         * docs/pwg/intro-preface.xml:
18786         * docs/pwg/other-base.xml:
18787         * docs/pwg/other-manager.xml:
18788         * docs/pwg/other-nton.xml:
18789         * docs/pwg/other-ntoone.xml:
18790         * docs/pwg/other-oneton.xml:
18791         * docs/pwg/pwg.xml:
18792           Document base classes, update sections of n-to-1 and 1-to-n (muxer,
18793           demuxer), remove n-to-n (was never written), fix some code examples
18794           and links and update the porting section to include all this.
18795
18796 2005-07-19  Wim Taymans  <wim@fluendo.com>
18797
18798         * gst/gstqueue.c: (gst_queue_init), (gst_queue_handle_sink_event),
18799         (gst_queue_chain), (gst_queue_loop), (gst_queue_handle_src_event),
18800         (gst_queue_handle_src_query), (gst_queue_sink_activate_push),
18801         (gst_queue_src_activate_push), (gst_queue_change_state),
18802         (gst_queue_get_property):
18803         * gst/gstqueue.h:
18804         Propagate GstFlowReturn more intelligently upstream and output
18805         an ERROR/EOS when streaming stopped due to fatal error.
18806
18807 2005-07-19  Wim Taymans  <wim@fluendo.com>
18808
18809         * tools/gst-launch.c: (check_intr), (event_loop), (main):
18810         Don't block forever for the state change to complete, the
18811         pipeline already did with a sensible timeout.
18812
18813 2005-07-19  Wim Taymans  <wim@fluendo.com>
18814
18815         * gst/base/gstbasesrc.c: (gst_base_src_get_range):
18816         Make sure we never call the create function is we
18817         got deactivated.
18818
18819 2005-07-19  Andy Wingo  <wingo@pobox.com>
18820
18821         * gst/parse/parse.l: Attempt to solve bug #172815.
18822
18823 2005-07-19  Wim Taymans  <wim@fluendo.com>
18824
18825         * docs/design/part-clocks.txt:
18826         * docs/design/part-events.txt:
18827         * gst/base/gstbasesrc.c: (gst_base_src_do_seek):
18828         Small docs updates.
18829         Only update the seeking values when we are not
18830         busy streaming.
18831
18832 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18833
18834         * gst/base/gstbasesrc.c: (gst_base_src_loop):
18835           Oops, ignore the result of gst_pad_push_event here.
18836
18837 2005-07-19  Jan Schmidt  <thaytan@mad.scientist.com>
18838
18839         * gst/base/gstbasesrc.c: (gst_base_src_loop),
18840         (gst_base_src_activate_push):
18841           Send discont event from the loop function, as pads
18842           aren't activated yet in the activate_push handler.
18843
18844         * gst/gstbin.c: (bin_bus_handler):
18845           Don't leak element name.
18846
18847 2005-07-18  Andy Wingo  <wingo@pobox.com>
18848
18849         * configure.ac: Use AS_LIBTOOL_TAGS.
18850
18851 2005-07-18  Wim Taymans  <wim@fluendo.com>
18852
18853         * docs/gst/gstreamer.types:
18854         Remove deleted types.
18855
18856 2005-07-18  Wim Taymans  <wim@fluendo.com>
18857
18858         * check/elements/gstfakesrc.c: (GST_START_TEST):
18859         * configure.ac:
18860         * gst/Makefile.am:
18861         * gst/gst.c: (gst_init_get_popt_table), (init_pre), (init_post),
18862         (init_popt_callback):
18863         * gst/gst.h:
18864         * gst/gst_private.h:
18865         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_add_func),
18866         (gst_bin_remove_func), (gst_bin_get_state), (gst_bin_change_state):
18867         * gst/gstbin.h:
18868         * gst/gstbus.h:
18869         * gst/gstconfig.h.in:
18870         * gst/gstelement.c: (gst_element_class_init),
18871         (gst_element_set_base_time), (gst_element_get_base_time),
18872         (iterator_fold_with_resync), (gst_element_change_state),
18873         (gst_element_dispose), (gst_element_get_bus):
18874         * gst/gstelement.h:
18875         * gst/gstelementfactory.h:
18876         * gst/gsterror.c: (_gst_core_errors_init):
18877         * gst/gsterror.h:
18878         * gst/gstevent.h:
18879         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
18880         * gst/gstindex.c:
18881         * gst/gstinfo.c: (_gst_debug_init):
18882         * gst/gstmessage.c: (_gst_message_copy):
18883         * gst/gstmessage.h:
18884         * gst/gstminiobject.h:
18885         * gst/gstobject.c:
18886         * gst/gstobject.h:
18887         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
18888         (gst_pad_set_caps), (gst_pad_start_task), (gst_pad_stop_task):
18889         * gst/gstpad.h:
18890         * gst/gstparse.h:
18891         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
18892         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
18893         (gst_pipeline_get_last_stream_time):
18894         * gst/gstpipeline.h:
18895         * gst/gstpluginfeature.h:
18896         * gst/gstquery.h:
18897         * gst/gstscheduler.c:
18898         * gst/gstscheduler.h:
18899         * gst/gststructure.h:
18900         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
18901         (gst_task_finalize), (gst_task_func), (gst_task_create),
18902         (gst_task_set_lock), (gst_task_get_state), (gst_task_start),
18903         (gst_task_stop), (gst_task_pause):
18904         * gst/gsttask.h:
18905         * gst/gsttypefind.h:
18906         * gst/gsttypes.h:
18907         * gst/registries/gstlibxmlregistry.c: (load_feature),
18908         (gst_xml_registry_load), (gst_xml_registry_save_feature):
18909         * gst/registries/gstxmlregistry.c:
18910         (gst_xml_registry_start_element), (gst_xml_registry_save_feature):
18911         * gst/schedulers/threadscheduler.c:
18912         * libs/gst/control/dparammanager.h:
18913         * tools/gst-inspect.c: (print_element_list),
18914         (print_plugin_features), (print_element_features):
18915         * tools/gst-xmlinspect.c: (print_element_list),
18916         (print_plugin_info), (main):
18917         Removed plugable schedulers.
18918         Removed Scheduler/Manager from elements.
18919         Removed gsttypes.h, rearranged includes.
18920         Removed dependency pad<->element, element<>pipeline, and
18921         various others,  fix includes.
18922         implement gst_pad_get_parent() with gst_object_get_parent()
18923         Make GstTask sefcontained.
18924         Fix _get_state() on GstBin, it did not return ASYNC with a 0
18925         timeout.
18926         Fix endless loop in iterator_fold_with_resync.
18927
18928
18929 2005-07-18  Wim Taymans  <wim@fluendo.com>
18930
18931         * gst/Makefile.am:
18932         * gst/gstarch.h:
18933         Remove old file.
18934
18935 2005-07-18  Wim Taymans  <wim@fluendo.com>
18936
18937         * gst/Makefile.am:
18938         No more cothreads.h
18939
18940 2005-07-18  Wim Taymans  <wim@fluendo.com>
18941
18942         * gst/cothreads.c:
18943         * gst/cothreads.h:
18944         Let's remove these.
18945
18946 2005-07-18  Wim Taymans  <wim@fluendo.com>
18947
18948         * docs/design/part-dynamic.txt:
18949         * docs/design/part-events.txt:
18950         * docs/design/part-seeking.txt:
18951         Some more docs in the works.
18952
18953         * gst/base/gstbasetransform.c: (gst_base_transform_transform_caps),
18954         (gst_base_transform_getcaps), (gst_base_transform_configure_caps),
18955         (gst_base_transform_setcaps), (gst_base_transform_get_size),
18956         (gst_base_transform_buffer_alloc), (gst_base_transform_event),
18957         (gst_base_transform_handle_buffer),
18958         (gst_base_transform_sink_activate_push),
18959         (gst_base_transform_src_activate_pull),
18960         (gst_base_transform_set_passthrough),
18961         (gst_base_transform_is_passthrough):
18962         Refcounting fixes.
18963
18964         * gst/gstbus.c: (gst_bus_source_dispatch), (gst_bus_poll):
18965         Cleanups.
18966
18967         * gst/gstevent.c: (gst_event_finalize):
18968         Set SRC to NULL.
18969
18970         * gst/gstutils.c: (gst_element_unlink),
18971         (gst_pad_get_parent_element), (gst_pad_proxy_getcaps),
18972         (gst_pad_proxy_setcaps):
18973         * gst/gstutils.h:
18974         Add _get_parent_element() to get a pads parent as an element.
18975
18976 2005-07-18  Wim Taymans  <wim@fluendo.com>
18977
18978         * check/gst/gstbin.c: (GST_START_TEST):
18979         Remove bogus test.
18980
18981 2005-07-18  Wim Taymans  <wim@fluendo.com>
18982
18983         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
18984         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
18985         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
18986         (gst_base_sink_event), (gst_base_sink_do_sync),
18987         (gst_base_sink_chain), (gst_base_sink_loop),
18988         (gst_base_sink_deactivate), (gst_base_sink_activate_push),
18989         (gst_base_sink_activate_pull), (gst_base_sink_change_state):
18990         Refcounting fixes.
18991         Fix logic for returning ASYNC when not prerolled.
18992
18993 2005-07-18  Wim Taymans  <wim@fluendo.com>
18994
18995         * gst/gstqueue.c: (gst_queue_handle_sink_event):
18996         Fix nasty refcount bug.
18997
18998 2005-07-16 Philippe Khalaf <burger@speedy.org>
18999
19000         * gst/elements/gstfdsrc.c:
19001         * gst/elements/gstfdsrc.h:
19002         * gst/elements/gstelements.c:
19003         * gst/elements/Makefile.am:
19004         Ported fdsrc to 0.9.
19005
19006 2005-07-16  Wim Taymans  <wim@fluendo.com>
19007
19008         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19009         (gst_base_sink_do_sync):
19010         Fix compile error.
19011
19012 2005-07-16  Wim Taymans  <wim@fluendo.com>
19013
19014         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
19015         (gst_base_sink_event), (gst_base_sink_get_times),
19016         (gst_base_sink_do_sync), (gst_base_sink_change_state):
19017         * gst/base/gstbasesink.h:
19018         Store and use discont values when syncing buffers as described
19019         in design docs.
19020         
19021         * gst/base/gstbasesrc.c: (gst_base_src_send_discont),
19022         (gst_base_src_do_seek), (gst_base_src_loop), (gst_base_src_start),
19023         (gst_base_src_activate_push):
19024         Push discont event when starting.
19025
19026         * gst/elements/gstidentity.c: (gst_identity_transform):
19027         Small cleanups.
19028
19029         * gst/gstbin.c: (gst_bin_change_state):
19030         Small cleanups in base_time  distribution.
19031
19032         * gst/gstelement.c: (gst_element_set_base_time),
19033         (gst_element_get_base_time), (gst_element_change_state):
19034         * gst/gstelement.h:
19035         Added methods for the base_time of the element.
19036         Some MT fixes.
19037
19038         * gst/gstpipeline.c: (gst_pipeline_send_event),
19039         (gst_pipeline_change_state), (gst_pipeline_set_new_stream_time),
19040         (gst_pipeline_get_last_stream_time):
19041         * gst/gstpipeline.h:
19042         MT fixes.
19043         Handle seeking as described in design doc, remove stream_time
19044         hack.
19045         Cleanups clock and stream_time selection code. Added accessors
19046         for the stream_time.
19047         
19048
19049 2005-07-16  Andy Wingo  <wingo@pobox.com>
19050
19051         * gst/gsterror.c (_gst_core_errors_init): Use the magic word
19052         (#305291).
19053
19054 2005-07-16  Wim Taymans  <wim@fluendo.com>
19055
19056         * check/gst/gstbin.c: (GST_START_TEST):
19057         Make elements silent as the deep_notify refs the
19058         parent, which might make the test fail.
19059
19060         * gst/gstghostpad.c: (gst_ghost_pad_do_activate_push):
19061         Don't hold the lock for too long.
19062
19063 2005-07-16  Tim-Philipp Müller  <tim at centricular dot net>
19064
19065         * gst/base/gstbasesrc.c: (gst_base_src_default_negotiate):
19066           Don't unref the caps we passed to gst_caps_make_writable() after
19067           passing them. gst_caps_make_writable() will do that for us.
19068
19069 2005-07-15  Andy Wingo  <wingo@pobox.com>
19070
19071         * gst/gstcaps.h (gst_caps_is_simple): Removed deprecated macro
19072         (#157311).
19073
19074         * gst/elements/gstidentity.c (marshal_VOID__MINIOBJECT): Write our
19075         own marshalling function for the handoff signal. Properly type the
19076         buffer as a buffer. Fixes some warnings. Should do a more general
19077         solution.
19078         (gst_identity_class_init): Plug into the right marshaller.
19079
19080 2005-07-15  Wim Taymans  <wim@fluendo.com>
19081
19082         * docs/design/part-TODO.txt:
19083         * docs/design/part-clocks.txt:
19084         * docs/design/part-element-sink.txt:
19085         * docs/design/part-events.txt:
19086         * docs/design/part-gstpipeline.txt:
19087         Updated docs, mostly DISCONT related.
19088
19089 2005-07-15  Tim-Philipp Müller  <tim at centricular dot net>
19090
19091         * docs/pwg/building-pads.xml:
19092           s/GST_PAD_LINK_REFUSED/FALSE/ in gst_my_filter_setcaps()
19093
19094 2005-07-15  Andy Wingo  <wingo@pobox.com>
19095
19096         * tools/gst-typefind.c: Update, add copyright block.
19097
19098         * gst/base/gstbasesrc.c (gst_base_src_default_negotiate):
19099         Normalize and truncate caps before fixation.
19100
19101         * gst/gstcaps.h:
19102         * gst/gstcaps.c (gst_caps_truncate): New function, destructively
19103         discards all but the first structure from its argument.
19104
19105 2005-07-15  Wim Taymans  <wim@fluendo.com>
19106
19107         * gst/base/gstbasetransform.c: (gst_base_transform_init),
19108         (gst_base_transform_transform_caps), (gst_base_transform_getcaps),
19109         (gst_base_transform_configure_caps), (gst_base_transform_setcaps),
19110         (gst_base_transform_get_size), (gst_base_transform_buffer_alloc),
19111         (gst_base_transform_handle_buffer), (gst_base_transform_getrange),
19112         (gst_base_transform_chain), (gst_base_transform_change_state),
19113         (gst_base_transform_set_passthrough),
19114         (gst_base_transform_is_passthrough):
19115         * gst/base/gstbasetransform.h:
19116         Make passthrough work using the bufferpools.
19117         Changed API a bit, subclasses have to write into a buffer
19118         provided by the base class.
19119         More debug info in nego functions.
19120         
19121         * gst/elements/gstidentity.c: (gst_identity_init),
19122         (gst_identity_transform):
19123         Port to new base class.
19124
19125 2005-07-15  Wim Taymans  <wim@fluendo.com>
19126
19127         * gst/gstmessage.c: (gst_message_new_state_changed):
19128         * tools/gst-launch.c: (event_loop), (main):
19129         Totally dump messages in -launch with the -m option.
19130         Fix message name for State messages,
19131
19132 2005-07-14  Wim Taymans  <wim@fluendo.com>
19133
19134         * gst/base/gstbasesrc.c: (gst_base_src_loop):
19135         Post error messages on errors.
19136
19137 2005-07-14  Wim Taymans  <wim@fluendo.com>
19138
19139         * gst/gstcaps.c: (gst_caps_do_simplify):
19140         Remove debug info.
19141
19142         * gst/gsterror.h:
19143         Define error for stream stopped.
19144
19145         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
19146         (gst_proxy_pad_do_chain), (gst_proxy_pad_do_getrange):
19147         Do proper return values.
19148
19149         * gst/gstpad.c: (gst_pad_get_caps_unlocked), (gst_pad_accept_caps),
19150         (gst_pad_set_caps), (gst_pad_chain), (gst_pad_push),
19151         (gst_pad_get_range):
19152         Better return values.
19153
19154         * gst/gstpad.h:
19155         Reorganise return values, add macro to check for fatal errors.
19156
19157         * gst/gstqueue.c: (gst_queue_chain):
19158         Return proper GstFlowReturn values,
19159
19160 2005-07-14  Thomas Vander Stichele  <thomas at apestaart dot org>
19161
19162         * docs/gst/gstreamer-sections.txt:
19163         * docs/gst/gstreamer.types:
19164         * docs/gst/tmpl/gst.sgml:
19165         * docs/gst/tmpl/gstbasesink.sgml:
19166         * docs/gst/tmpl/gstbasesrc.sgml:
19167         * docs/gst/tmpl/gstbasetransform.sgml:
19168         * docs/gst/tmpl/gstbin.sgml:
19169         * docs/gst/tmpl/gstbuffer.sgml:
19170         * docs/gst/tmpl/gstcaps.sgml:
19171         * docs/gst/tmpl/gstclock.sgml:
19172         * docs/gst/tmpl/gstcompat.sgml:
19173         * docs/gst/tmpl/gstconfig.sgml:
19174         * docs/gst/tmpl/gstelement.sgml:
19175         * docs/gst/tmpl/gstelementdetails.sgml:
19176         * docs/gst/tmpl/gstelementfactory.sgml:
19177         * docs/gst/tmpl/gstenumtypes.sgml:
19178         * docs/gst/tmpl/gsterror.sgml:
19179         * docs/gst/tmpl/gstevent.sgml:
19180         * docs/gst/tmpl/gstfakesink.sgml:
19181         * docs/gst/tmpl/gstfakesrc.sgml:
19182         * docs/gst/tmpl/gstfilesink.sgml:
19183         * docs/gst/tmpl/gstfilesrc.sgml:
19184         * docs/gst/tmpl/gstfilter.sgml:
19185         * docs/gst/tmpl/gstformat.sgml:
19186         * docs/gst/tmpl/gstghostpad.sgml:
19187         * docs/gst/tmpl/gstimplementsinterface.sgml:
19188         * docs/gst/tmpl/gstindex.sgml:
19189         * docs/gst/tmpl/gstindexfactory.sgml:
19190         * docs/gst/tmpl/gstinfo.sgml:
19191         * docs/gst/tmpl/gstiterator.sgml:
19192         * docs/gst/tmpl/gstmacros.sgml:
19193         * docs/gst/tmpl/gstmemchunk.sgml:
19194         * docs/gst/tmpl/gstminiobject.sgml:
19195         * docs/gst/tmpl/gstobject.sgml:
19196         * docs/gst/tmpl/gstpad.sgml:
19197         * docs/gst/tmpl/gstpadtemplate.sgml:
19198         * docs/gst/tmpl/gstparse.sgml:
19199         * docs/gst/tmpl/gstpipeline.sgml:
19200         * docs/gst/tmpl/gstplugin.sgml:
19201         * docs/gst/tmpl/gstpluginfeature.sgml:
19202         * docs/gst/tmpl/gstquery.sgml:
19203         * docs/gst/tmpl/gstqueue.sgml:
19204         * docs/gst/tmpl/gstregistry.sgml:
19205         * docs/gst/tmpl/gstregistrypool.sgml:
19206         * docs/gst/tmpl/gstscheduler.sgml:
19207         * docs/gst/tmpl/gstschedulerfactory.sgml:
19208         * docs/gst/tmpl/gststructure.sgml:
19209         * docs/gst/tmpl/gstsystemclock.sgml:
19210         * docs/gst/tmpl/gsttaglist.sgml:
19211         * docs/gst/tmpl/gsttagsetter.sgml:
19212         * docs/gst/tmpl/gsttrace.sgml:
19213         * docs/gst/tmpl/gsttrashstack.sgml:
19214         * docs/gst/tmpl/gsttypefind.sgml:
19215         * docs/gst/tmpl/gsttypefindfactory.sgml:
19216         * docs/gst/tmpl/gsttypes.sgml:
19217         * docs/gst/tmpl/gsturihandler.sgml:
19218         * docs/gst/tmpl/gsturitype.sgml:
19219         * docs/gst/tmpl/gstutils.sgml:
19220         * docs/gst/tmpl/gstvalue.sgml:
19221         * docs/gst/tmpl/gstversion.sgml:
19222         * docs/gst/tmpl/gstxml.sgml:
19223         * docs/libs/tmpl/gstcontrol.sgml:
19224         * docs/libs/tmpl/gstdataprotocol.sgml:
19225         * docs/libs/tmpl/gstdparam.sgml:
19226         * docs/libs/tmpl/gstdplinint.sgml:
19227         * docs/libs/tmpl/gstdpman.sgml:
19228         * docs/libs/tmpl/gstdpsmooth.sgml:
19229         * docs/libs/tmpl/gstgetbits.sgml:
19230         * docs/libs/tmpl/gstunitconvert.sgml:
19231         * gst/base/gstpushsrc.c: (gst_push_src_get_type),
19232         (gst_push_src_base_init), (gst_push_src_class_init),
19233         (gst_push_src_init), (gst_push_src_create):
19234         * gst/base/gstpushsrc.h:
19235         * gst/elements/gstelements.c:
19236         * gst/elements/gstfakesink.c: (gst_fake_sink_state_error_get_type),
19237         (gst_fake_sink_base_init), (gst_fake_sink_class_init),
19238         (gst_fake_sink_init), (gst_fake_sink_set_property),
19239         (gst_fake_sink_get_property), (gst_fake_sink_get_times),
19240         (gst_fake_sink_event), (gst_fake_sink_preroll),
19241         (gst_fake_sink_render), (gst_fake_sink_change_state):
19242         * gst/elements/gstfakesink.h:
19243         * gst/elements/gstfakesrc.c: (gst_fake_src_data_get_type),
19244         (gst_fake_src_sizetype_get_type), (gst_fake_src_filltype_get_type),
19245         (gst_fake_src_base_init), (gst_fake_src_class_init),
19246         (gst_fake_src_init), (gst_fake_src_event_handler),
19247         (gst_fake_src_alloc_parent), (gst_fake_src_set_property),
19248         (gst_fake_src_get_property), (gst_fake_src_prepare_buffer),
19249         (gst_fake_src_alloc_buffer), (gst_fake_src_get_size),
19250         (gst_fake_src_create_buffer), (gst_fake_src_create),
19251         (gst_fake_src_start), (gst_fake_src_stop):
19252         * gst/elements/gstfakesrc.h:
19253         * gst/elements/gstfilesink.c: (_do_init),
19254         (gst_file_sink_base_init), (gst_file_sink_class_init),
19255         (gst_file_sink_init), (gst_file_sink_dispose),
19256         (gst_file_sink_set_location), (gst_file_sink_set_property),
19257         (gst_file_sink_get_property), (gst_file_sink_open_file),
19258         (gst_file_sink_close_file), (gst_file_sink_query),
19259         (gst_file_sink_event), (gst_file_sink_render),
19260         (gst_file_sink_change_state), (gst_file_sink_uri_get_type),
19261         (gst_file_sink_uri_get_protocols), (gst_file_sink_uri_get_uri),
19262         (gst_file_sink_uri_set_uri), (gst_file_sink_uri_handler_init):
19263         * gst/elements/gstfilesink.h:
19264         * gst/elements/gstfilesrc.c: (_do_init), (gst_file_src_base_init),
19265         (gst_file_src_class_init), (gst_file_src_init),
19266         (gst_file_src_finalize), (gst_file_src_set_location),
19267         (gst_file_src_set_property), (gst_file_src_get_property),
19268         (gst_file_src_map_region), (gst_file_src_map_small_region),
19269         (gst_file_src_create_mmap), (gst_file_src_create_read),
19270         (gst_file_src_create), (gst_file_src_is_seekable),
19271         (gst_file_src_get_size), (gst_file_src_start), (gst_file_src_stop),
19272         (gst_file_src_uri_get_type), (gst_file_src_uri_get_protocols),
19273         (gst_file_src_uri_get_uri), (gst_file_src_uri_set_uri),
19274         (gst_file_src_uri_handler_init):
19275         * gst/elements/gstfilesrc.h:
19276           more autistic cleanliness in functions/names/defines
19277
19278 2005-07-13  Andy Wingo  <wingo@pobox.com>
19279
19280         * gst/base/gstbasesrc.c (gst_base_src_start): Post an error if the
19281         source couldn't negotiate.
19282
19283         * gst/parse/grammar.y: Revert 1.54->1.55, so we now do filtered
19284         connections again.
19285
19286         * gst/gstutils.h:
19287         * gst/gstutils.c (gst_element_link_pads_filtered): New old
19288         function. I am channeling Hades. Put your boots on suckers!!!
19289
19290 2005-07-13  Thomas Vander Stichele  <thomas at apestaart dot org>
19291
19292         * testsuite/caps/Makefile.am:
19293         * testsuite/caps/value_compare.c:
19294         * testsuite/caps/value_intersect.c:
19295         * check/gst/gstvalue.c: (GST_START_TEST), (gst_value_suite):
19296           move two testsuite apps over to the check dir
19297
19298 2005-07-12  Wim Taymans  <wim@fluendo.com>
19299
19300         * gst/base/gstbasetransform.c: (gst_base_transform_setcaps):
19301         Added more debug info in the negotiate process.
19302
19303         * gst/gstmessage.h:
19304         Prepare for segment playback.
19305
19306         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps):
19307         Better debugging.
19308
19309         * gst/gstutils.c:
19310         Some more docs.
19311
19312         * tools/gst-launch.c: (main):
19313         NULL pipeline on errors.
19314
19315 2005-07-12  Andy Wingo  <wingo@pobox.com>
19316
19317         * gst/gstbuffer.c (_gst_buffer_copy): Copy the buffer whether or
19318         not it comes from a malloc region. Make sure our copy gets freed.
19319
19320 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19321
19322         * check/gst/gstelement.c: (GST_START_TEST), (gst_element_suite):
19323         * check/gst/gstmessage.c: (GST_START_TEST):
19324         * check/gst/gststructure.c: (GST_START_TEST),
19325         (gst_structure_suite), (main):
19326           more testing
19327         * gst/gstelement.c: (gst_element_message_full):
19328           clean up GError and debug string now that they get copied
19329         * gst/gstmessage.c: (gst_message_new_error),
19330         (gst_message_new_warning), (gst_message_parse_error),
19331         (gst_message_parse_warning):
19332           use GST_TYPE_G_ERROR for structure_new, and take copies of
19333           arguments, so that we don't mess up refcounting
19334
19335 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19336
19337         * check/Makefile.am:
19338           add per-test valgrind targets
19339         * check/gst-libs/gdp.c: (GST_START_TEST),
19340         (gst_data_protocol_suite), (main):
19341           clean up
19342
19343 2005-07-12  Thomas Vander Stichele  <thomas at apestaart dot org>
19344
19345         * check/Makefile.am:
19346           instate more valgrindable tests
19347         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19348         (GST_START_TEST), (fakesrc_suite):
19349         * check/gst/gstpad.c: (GST_START_TEST):
19350         * check/gst/gststructure.c: (GST_START_TEST):
19351           fix test leaks
19352         * docs/gst/tmpl/gstminiobject.sgml:
19353         * gst/gstpad.c: (gst_pad_finalize):
19354           fix the static mutex leak
19355
19356 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19357
19358         * check/Makefile.am:
19359           add two more tests for valgrinding
19360         * check/gst/gstvalue.c: (GST_START_TEST):
19361           test refcount of deserialized buffer, found a leak
19362         * docs/gst/gstreamer-docs.sgml:
19363         * docs/gst/gstreamer-sections.txt:
19364         * docs/gst/gstreamer.types:
19365         * docs/gst/tmpl/gstminiobject.sgml:
19366           add miniobject to docs
19367         * gst/gstminiobject.c:
19368           add some docs
19369         * gst/gstvalue.c: (gst_value_deserialize_buffer),
19370         (gst_string_unwrap):
19371           fix a hard-to-find invalid write for one of the tests
19372           fix a leak for deserialized buffers
19373
19374 2005-07-11  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19375
19376         * docs/pwg/advanced-events.xml:
19377         * docs/pwg/advanced-request.xml:
19378         * docs/pwg/advanced-scheduling.xml:
19379         * docs/pwg/appendix-porting.xml:
19380         * docs/pwg/building-boiler.xml:
19381         * docs/pwg/intro-preface.xml:
19382         * docs/pwg/other-ntoone.xml:
19383           Rewrite scheduling-chapter for scheduling model in 0.9. Add lots
19384           of example code and explanation for pad activation, loop() and
19385           getrange() functions and a bit more. Remove old comments pointing
19386           to loop-functions.
19387         * examples/pwg/Makefile.am:
19388           Add loop/getrange examples.
19389
19390 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19391
19392         * configure.ac:
19393           check for valgrind binary + some fixes
19394         * check/gst.supp:
19395           valgrind suppressions for the tests
19396         * check/Makefile.am:
19397           add a valgrind: target that valgrinds the unit tests
19398         * check/gst/gst.c: (GST_START_TEST), (gst_suite):
19399         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST):
19400         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19401         * check/gst/gstghostpad.c:
19402           added some cleanup
19403         * check/gst/gstdata.c:
19404           removed
19405         * check/gst/gstminiobject.c: (GST_START_TEST), (thread_ref),
19406         (thread_unref), (gst_mini_object_suite), (main):
19407           added
19408         * gst/gst.c: (gst_deinit):
19409         * gst/gst.h:
19410           add a method to clean up.
19411         * gst/gstsystemclock.c: (gst_system_clock_dispose),
19412         (gst_system_clock_obtain):
19413           allow for disposing the system clock.
19414         * tools/gst-launch.c: (main):
19415           deinit
19416
19417 2005-07-11  Thomas Vander Stichele  <thomas at apestaart dot org>
19418
19419         * docs/gst/tmpl/gstbasesrc.sgml:
19420         * docs/gst/tmpl/gstfakesrc.sgml:
19421         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19422         (gst_base_src_init), (gst_base_src_set_property),
19423         (gst_base_src_get_property), (gst_base_src_get_range),
19424         (gst_base_src_start):
19425         * gst/base/gstbasesrc.h:
19426           add num-buffers property
19427         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19428         (gst_fakesrc_init), (gst_fakesrc_set_property),
19429         (gst_fakesrc_get_property), (gst_fakesrc_create),
19430         (gst_fakesrc_start):
19431           remove num-buffers property
19432
19433 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19434
19435         * docs/gst/gstreamer-sections.txt:
19436         * docs/gst/tmpl/gstbasesink.sgml:
19437         * docs/gst/tmpl/gstbasesrc.sgml:
19438         * gst/base/gstbasesink.c: (gst_base_sink_pad_getcaps),
19439         (gst_base_sink_pad_setcaps), (gst_base_sink_pad_buffer_alloc),
19440         (gst_base_sink_finalize), (gst_base_sink_set_clock),
19441         (gst_base_sink_set_property), (gst_base_sink_get_property),
19442         (gst_base_sink_handle_object), (gst_base_sink_event),
19443         (gst_base_sink_do_sync), (gst_base_sink_handle_event),
19444         (gst_base_sink_handle_buffer), (gst_base_sink_chain),
19445         (gst_base_sink_loop), (gst_base_sink_deactivate),
19446         (gst_base_sink_activate_push), (gst_base_sink_activate_pull),
19447         (gst_base_sink_change_state):
19448         * gst/base/gstbasesink.h:
19449         * gst/base/gstbasesrc.h:
19450         * gst/elements/gstfakesink.c: (gst_fakesink_get_times):
19451         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
19452         (gst_filesink_init):
19453           more macro splitting
19454
19455 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19456
19457         * gst/gstelement.c: (gst_element_get_bus):
19458           add debug
19459         * tools/gst-launch.c: (check_intr), (event_loop):
19460           fix bus leaks
19461
19462 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19463
19464         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked):
19465           fix a caps leak
19466
19467 2005-07-10  Thomas Vander Stichele  <thomas at apestaart dot org>
19468
19469         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19470         (gst_base_src_finalize):
19471           add finalize method and clean up properly
19472         * gst/gstpipeline.c: (gst_pipeline_dispose):
19473           add debug
19474
19475 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19476
19477         * check/gst/gstbin.c: (pop_messages), (GST_START_TEST),
19478         (gst_bin_suite):
19479           add more things to check
19480         * gst/gstbin.c: (gst_bin_change_state), (bin_bus_handler):
19481         * gst/gstelement.c:
19482           more debug
19483
19484 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19485
19486         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19487         (GST_START_TEST), (fakesrc_suite):
19488         * check/gst-libs/gdp.c: (GST_START_TEST):
19489         * check/gst/gst.c: (GST_START_TEST):
19490         * check/gst/gstbin.c: (GST_START_TEST), (gst_bin_suite):
19491         * check/gst/gstbuffer.c: (GST_START_TEST), (gst_test_suite):
19492         * check/gst/gstbus.c: (GST_START_TEST):
19493         * check/gst/gstcaps.c: (GST_START_TEST):
19494         * check/gst/gstdata.c: (GST_START_TEST):
19495         * check/gst/gstelement.c: (GST_START_TEST):
19496         * check/gst/gstghostpad.c: (GST_START_TEST):
19497         * check/gst/gstiterator.c: (GST_START_TEST):
19498         * check/gst/gstmessage.c: (GST_START_TEST):
19499         * check/gst/gstobject.c: (GST_START_TEST):
19500         * check/gst/gstpad.c: (GST_START_TEST):
19501         * check/gst/gststructure.c: (GST_START_TEST):
19502         * check/gst/gstsystemclock.c: (GST_START_TEST),
19503         (gst_systemclock_suite):
19504         * check/gst/gsttag.c: (GST_START_TEST), (gst_tag_suite):
19505         * check/gst/gstvalue.c: (GST_START_TEST):
19506         * check/pipelines/cleanup.c: (GST_START_TEST):
19507         * check/pipelines/simple_launch_lines.c: (GST_START_TEST):
19508         * check/states/sinks.c: (GST_START_TEST):
19509         * check/gstcheck.c: (gst_check_init):
19510         * check/gstcheck.h:
19511           add debugging category
19512           use GST_START_TEST now, so we add a debug line
19513
19514 2005-07-09  Thomas Vander Stichele  <thomas at apestaart dot org>
19515
19516         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite):
19517           add test for state change message on a bin
19518         * check/gst/gstelement.c: (START_TEST), (gst_element_suite):
19519           add another test
19520         * gst/gstbin.c: (gst_bin_init):
19521         * gst/gstbus.c: (gst_bus_init), (gst_bus_post):
19522         * gst/gstelement.c: (gst_element_post_message),
19523         (gst_element_set_state):
19524         * gst/gstelementfactory.c: (gst_element_factory_create):
19525         * gst/gstmessage.c: (gst_message_new):
19526         * gst/gstscheduler.c:
19527           various debugging additions and cleanups
19528
19529 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19530
19531         * check/Makefile.am:
19532         * check/gst/gstelement.c: (START_TEST), (gst_element_suite),
19533         (main):
19534           adding tests for elements
19535         * gst/gstelement.c: (gst_element_dispose):
19536
19537 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19538
19539         * gst/registries/gstlibxmlregistry.c: (load_feature):
19540           plug more leaks.  A simple gst_init() now is leakfree, yay.
19541
19542 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19543
19544         * gst/registries/gstlibxmlregistry.c: (read_string), (load_paths),
19545         (gst_xml_registry_load):
19546           plug another memleak
19547
19548 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19549
19550         * configure.ac:
19551           use GST_SET_ERROR_CFLAGS
19552         * docs/faq/cvs.xml:
19553           change to ERROR_CFLAGS
19554
19555 2005-07-08  Thomas Vander Stichele  <thomas at apestaart dot org>
19556
19557         * configure.ac:
19558           make GST_ERROR_CFLAGS overridable and re-enable Werror
19559         * docs/faq/cvs.xml:
19560           add a note about error CFLAGS
19561         * docs/gst/tmpl/gstfakesrc.sgml:
19562         * gst/elements/gstfakesrc.c:
19563           comment out some unused code
19564         * gst/gst.c: (split_and_iterate):
19565         * gst/registries/gstlibxmlregistry.c: (load_pad_template),
19566         (load_feature):
19567           plug some memleaks
19568
19569 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19570
19571         * common/Makefile.am:
19572         * common/gtk-doc.mak:
19573         * docs/gst/Makefile.am:
19574           factor out gtk-doc.mak
19575
19576 2005-07-07  Wim Taymans  <wim@fluendo.com>
19577
19578         * gst/schedulers/threadscheduler.c: (gst_thread_scheduler_func),
19579         (gst_thread_scheduler_dispose):
19580         Unlock the STREAM_LOCK completely.
19581
19582 2005-07-07  Thomas Vander Stichele  <thomas at apestaart dot org>
19583
19584         * check/Makefile.am:
19585         * check/elements/.cvsignore:
19586         * check/elements/gstfakesrc.c: (chain_func), (event_func),
19587         (START_TEST), (fakesrc_suite), (main):
19588         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
19589         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
19590         (gst_fakesrc_create), (gst_fakesrc_start):
19591         * gst/elements/gstfakesrc.h:
19592           adding a first element test
19593
19594 2005-07-07  Andy Wingo  <wingo@pobox.com>
19595
19596         * gst/gstbus.c (gst_bus_have_pending): Remove intensely irritating
19597         debug message.
19598
19599 2005-07-07  Wim Taymans  <wim@fluendo.com>
19600
19601         * gst/gstquery.c:
19602         * gst/gstquery.h:
19603         Remove old types
19604
19605 2005-07-07  Wim Taymans  <wim@fluendo.com>
19606
19607         * gst/base/gstbasesrc.c: (gst_base_src_get_range),
19608         (gst_base_src_default_negotiate), (gst_base_src_negotiate):
19609         Allow subclasses to implement their own negotiation.
19610
19611 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19612
19613         * docs/design/part-gstbin.txt:
19614         * docs/design/part-gstpipeline.txt:
19615           Update design notes to reflect the movement of
19616           responsibility for bus handling from GstPipeline to
19617           GstBin
19618
19619 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19620
19621         * configure.ac:
19622           Remove unnecessary queue2/3/4 examples.
19623
19624 2005-07-07  Jan Schmidt  <thaytan@mad.scientist.com>
19625
19626         * examples/Makefile.am:
19627         * examples/helloworld/helloworld.c: (event_loop), (main):
19628         * examples/queue/queue.c: (event_loop), (main):
19629         * examples/queue2/queue2.c: (main):
19630           Update a couple of the examples to work again.
19631
19632         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19633         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_event):
19634          Spelling corrections and extra debug.
19635         
19636         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_init), (is_eos),
19637         (gst_bin_add_func), (bin_element_is_sink), (gst_bin_get_state),
19638         (gst_bin_change_state), (gst_bin_dispose), (bin_bus_handler):
19639         * gst/gstbin.h:
19640         * gst/gstpipeline.c: (gst_pipeline_init), (gst_pipeline_dispose),
19641         (gst_pipeline_change_state):
19642         * gst/gstpipeline.h:
19643           Move the bus handler for children to the GstBin, and create a
19644           separate bus for receiving messages from children to the one the
19645           bus sends 'upwards' on.
19646
19647 2005-07-06  Wim Taymans  <wim@fluendo.com>
19648
19649         * gst/base/README:
19650         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19651         (gst_base_sink_handle_object), (gst_base_sink_loop),
19652         (gst_base_sink_change_state):
19653         * gst/base/gstbasesink.h:
19654         * gst/base/gstbasesrc.c: (gst_base_src_class_init),
19655         (gst_base_src_init), (gst_base_src_setcaps),
19656         (gst_base_src_getcaps), (gst_base_src_loop),
19657         (gst_base_src_default_negotiate), (gst_base_src_negotiate),
19658         (gst_base_src_start), (gst_base_src_change_state):
19659         * gst/base/gstbasesrc.h:
19660         Make basesrc negotiate.
19661         Handle the case where preroll fails in basesink.
19662         Update README.
19663
19664 2005-07-06  Wim Taymans  <wim@fluendo.com>
19665
19666         * gst/gstpad.c: (gst_pad_fixate_caps), (gst_pad_accept_caps):
19667         Implement the fixate function.
19668         Clean up acceptcaps.
19669
19670 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19671
19672         * docs/pwg/building-filterfactory.xml:
19673         * docs/pwg/pwg.xml:
19674           Remove never-written filter-factory chapter; I'll add the various
19675           base classes to part 4 ("other element types") later on.
19676
19677 2005-07-06  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19678
19679         * docs/pwg/advanced-negotiation.xml:
19680         * docs/pwg/building-boiler.xml:
19681         * docs/pwg/building-pads.xml:
19682         * docs/pwg/pwg.xml:
19683         * examples/pwg/Makefile.am:
19684           Add a chapter on caps negotiation, simplify the original code
19685           samples a bit w.r.t. caps negotiation, add link to the advanced
19686           section. Add a bunch of examples showing different use cases of
19687           different types of caps negotiation. Upstream renegotiation isn't
19688           fully documented yet since nobody knows how that works.
19689
19690 2005-07-06  Thomas Vander Stichele  <thomas at apestaart dot org>
19691
19692         * check/gst/gstpad.c:
19693         * check/gstcheck.c:
19694         * gst/gstpad.c: (gst_pad_get_internal_links_default):
19695           if pad has no parent, return NULL as list of internal links
19696
19697 2005-07-05  Andy Wingo  <wingo@pobox.com>
19698
19699         * gst/elements/gstfilesrc.c:
19700         * gst/elements/gstfakesrc.c: 
19701         * gst/base/gstpushsrc.c:
19702         * gst/base/gstbasesrc.h: 
19703         * gst/base/gstbasesrc.c: s/BASESRC/BASE_SRC/g.
19704         
19705 2005-07-05  Stefan Kost  <ensonic@users.sf.net>
19706
19707         * Makefile.am:
19708           better report generation target (lcov needs a patch)
19709
19710 2005-07-05  Andy Wingo  <wingo@pobox.com>
19711
19712         * gst/elements, testsuite: Null if we got it...
19713
19714 2005-07-05  Wim Taymans  <wim@fluendo.com>
19715
19716         * configure.ac:
19717         * libs/gst/dataprotocol/Makefile.am:
19718         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_validate_packet):
19719         * libs/gst/dataprotocol/dataprotocol.h:
19720         * pkgconfig/Makefile.am:
19721         * pkgconfig/gstreamer-dataprotocol-uninstalled.pc.in:
19722         * pkgconfig/gstreamer-dataprotocol.pc.in:
19723         Ported dataprotol to 0.9. 
19724         Added pkgconfig files.
19725
19726 2005-07-05  Andy Wingo  <wingo@pobox.com>
19727
19728         * gst/base/gstbasetransform.c (gst_base_transform_setcaps):
19729         Default to returning TRUE for the case when tranform_caps returns
19730         a fixed caps, like for identity or volume.
19731
19732         * check/gst/gstbus.c (pound_bus_with_messages): 
19733         * check/gst/gstmessage.c (START_TEST): 
19734         * check/pipelines/simple_launch_lines.c (got_handoff): Application
19735         message API change.
19736
19737         * gst/base/gstbasetransform.c (gst_base_transform_setcaps): More
19738         logic weaks here: always run transform_caps, trying passthrough
19739         operation only if the original caps intersects with the transform.
19740
19741         * gst/gstpad.c (gst_pad_link_check_compatible_unlocked): Debug
19742         source and sink caps.
19743
19744         * gst/base/gstbasetransform.c (gst_base_transform_getcaps):
19745         Intersect the peer caps with the pad template before going into
19746         transform_caps.
19747         (gst_base_transform_transform_caps): More debugging.
19748
19749         * gst/gstmessage.h (gst_message_new_application): Take a GstObject
19750         src argument.
19751
19752 2005-07-04  Edward Hervey  <edward@fluendo.com>
19753
19754         * gst/gstutils.c:
19755         * gst/gstutils.h:
19756         (gst_pad_add_*_probe): now returns the signal id for better wrapping
19757         in bindings.
19758
19759 2005-07-04  Andy Wingo  <wingo@pobox.com>
19760
19761         * check/gst/gstpad.c: Only set explicit caps on pads.
19762
19763 2005-07-01  Andy Wingo  <wingo@pobox.com>
19764
19765         * tests/network-clock.scm: Commentary update.
19766
19767         * gst/elements/gstidentity.c (PROP_DUPLICATE): Gone daddy gone.
19768         Didn't really make sense, not implementable with basetransform,
19769         etc.
19770         (gst_identity_transform): Unref inbuf via make_writable. Feeble
19771         attempt at implementing the sync property, needs an unlock method.
19772
19773         * gst/base/gstbasetransform.c (gst_base_transform_transform_caps):
19774         New func, by default returns the same caps (the identity
19775         transformation).
19776         (gst_base_transform_getcaps): Uses transform_caps to return
19777         something sensible.
19778         (gst_base_transform_setcaps): Complicated logic to get caps on
19779         both pads, even if they are different, and to call set_caps once
19780         for every time both pads get their caps set.
19781         (gst_base_transform_handle_buffer): Give the ref to the transform
19782         function. Allows in-place modification of the buffer.
19783
19784         * gst/base/gstbasetransform.h (transform_caps): New class method.
19785         Given caps on one side, what can I do on the other.
19786         (set_caps): Take two caps, one for each side of the element.
19787
19788         * gst/gstpad.h:
19789         * gst/gstpad.c (gst_pad_fixate_caps): Change prototype to modify
19790         caps in place. This is safe because we can check the mutability of
19791         the caps, and a good idea because fixate functions are just called
19792         as a matter of last resort. (Not actually implemented.)
19793         (gst_pad_set_caps): If the caps we're setting is actually the same
19794         as the existing pad caps, just update the pointer without calling
19795         setcaps. Assert that caps is either NULL or fixed, as per the
19796         docs.
19797
19798         * gst/gstghostpad.c: Update for fixate changes.
19799
19800 2005-07-02  Andy Wingo  <wingo@pobox.com>
19801
19802         * gst/gstcaps.c:
19803         * gst/gstcaps.h (gst_static_caps_get): Not const return, having
19804         two refcounts makes it immutable, which is enough. Doc more.
19805
19806 2005-07-02  Jan Schmidt  <thaytan@mad.scientist.com>
19807
19808         * gst/gstpad.c: (gst_pad_emit_have_data_signal):
19809           Put the mini_object into GValue as a mini_object,
19810           not a gpointer, since that's how we declared
19811           the signal.
19812
19813 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19814
19815         * examples/pwg/Makefile.am:
19816           Fix buildbot again.
19817
19818 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19819
19820         * docs/pwg/building-testapp.xml:
19821           Add extra check.
19822         * examples/pwg/Makefile.am:
19823           Fix buildbot.
19824
19825 2005-07-01  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19826
19827         * configure.ac:
19828         * examples/Makefile.am:
19829         * examples/pwg/Makefile.am:
19830         * examples/pwg/extract.pl:
19831           Enable building the PWG examples.
19832         * docs/pwg/advanced-interfaces.xml:
19833           Add URI interface stub.
19834         * docs/pwg/advanced-types.xml:
19835         * docs/pwg/other-autoplugger.xml:
19836         * docs/pwg/appendix-porting.xml:
19837         * docs/pwg/pwg.xml:
19838           Add porting guide (mostly stubs), remove autoplugging (see ADM).
19839         * docs/pwg/building-boiler.xml:
19840         * docs/pwg/building-chainfn.xml:
19841         * docs/pwg/building-pads.xml:
19842         * docs/pwg/building-props.xml:
19843         * docs/pwg/building-state.xml:
19844         * docs/pwg/building-testapp.xml:
19845           Update the building-*.xml parts for 0.9 changes. All examples
19846           code blocks compile in examples/pwg/*.
19847
19848 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19849
19850         * docs/manual/advanced-autoplugging.xml:
19851         * docs/manual/appendix-checklist.xml:
19852         * docs/manual/appendix-integration.xml:
19853         * docs/manual/highlevel-components.xml:
19854           Fix playbin/decodebin examples, update docs a bit, mention bus
19855           instead of signals in various places, mention kmplayer and
19856           kaffeine since they have a working GStreamer backend in the KDE
19857           section.
19858
19859 2005-06-30  Wim Taymans  <wim@fluendo.com>
19860
19861         * CHANGES-0.9:
19862         * docs/design/draft-ghostpads.txt:
19863         * docs/design/draft-push-pull.txt:
19864         * docs/design/draft-query.txt:
19865         * docs/design/part-TODO.txt:
19866         * docs/design/part-query.txt:
19867         Added CHANGES-0.9 doc, updated status of other docs.
19868         
19869         * gst/gstquery.h:
19870         Remove "hmm" macro
19871
19872 2005-06-30  Wim Taymans  <wim@fluendo.com>
19873
19874         * gst/base/gstbasesink.c: (gst_base_sink_preroll_queue_empty),
19875         (gst_base_sink_preroll_queue_flush), (gst_base_sink_handle_object),
19876         (gst_base_sink_change_state):
19877         * gst/base/gstbasesink.h:
19878         Some tweaks, only EOS and a buffer complete a preroll.
19879
19880 2005-06-30  Andy Wingo  <wingo@pobox.com>
19881
19882         * gst/gstghostpad.c (gst_ghost_pad_do_activate_push): Proxy
19883         activate_push down to the internal pad as well.
19884
19885 2005-06-30  Torsten Schoenfeld  <kaffeetisch@gmx.de>
19886
19887         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19888
19889         * gst/gsttaginterface.c:
19890           Some documentation fixes (#307394 and #307397).
19891
19892 2005-06-30  Antoine Tremblay  <hexa00@gmail.com>
19893
19894         Reviewed by:  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19895
19896         * gst/gstvalue.c: (gst_value_intersect_list):
19897           Fix memleak (#309125).
19898
19899 2005-06-30  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19900
19901         * docs/manual/advanced-dataaccess.xml:
19902           Fix fakesrc example to compile; doesn't work, bug somewhere...?
19903         * docs/manual/basics-pads.xml:
19904           Add reference for filtered caps to above chapter.
19905
19906 2005-06-30  Wim Taymans  <wim@fluendo.com>
19907
19908         * gst/gstbin.c: (clear_queue), (remove_all_from_queue),
19909         (gst_bin_change_state):
19910         Probes are gone.
19911         Lame attempt at making the state change function a bit
19912         more readable.
19913
19914 2005-06-30  Wim Taymans  <wim@fluendo.com>
19915
19916         * docs/design/part-clocks.txt:
19917         * docs/design/part-element-sink.txt:
19918         * docs/design/part-events.txt:
19919         * docs/design/part-preroll.txt:
19920         * docs/design/part-states.txt:
19921         Some more tweeks and additions to the docs.
19922
19923 2005-06-30  Wim Taymans  <wim@fluendo.com>
19924
19925         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19926         (default_have_data), (gst_pad_class_init), (gst_pad_init),
19927         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19928         (gst_pad_check_pull_range), (gst_pad_get_range),
19929         (gst_pad_pull_range), (gst_pad_push_event), (gst_pad_send_event):
19930         * gst/gstpad.h:
19931         * gst/gstutils.c: (gst_atomic_int_set), (gst_pad_add_data_probe),
19932         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19933         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19934         (gst_pad_remove_buffer_probe):
19935         Removed atomic operations, use existing LOCK.
19936         Move exception handling out of main code path.
19937
19938 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19939
19940         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19941         (silly_return_true_function), (gst_pad_class_init),
19942         (gst_pad_emit_have_data_signal), (gst_pad_chain), (gst_pad_push),
19943         (gst_pad_get_range), (gst_pad_pull_range), (gst_pad_push_event),
19944         (gst_pad_send_event):
19945           Fix accumulator, add default value by using _emitv() instead
19946           of _emit() for signal emission.
19947
19948 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19949
19950         * docs/manual/advanced-dataaccess.xml:
19951         * examples/manual/Makefile.am:
19952           Add probe example.
19953         * gst/gstpad.c: (_gst_do_pass_data_accumulator):
19954           Make work (??).
19955
19956 2005-06-29  Tim-Philipp Müller  <tim at centricular dot net>
19957
19958         * gst/elements/gstfilesink.c: (gst_filesink_render):
19959           Simplify code so that we don't have to handle short
19960           writes and return GST_FLOW_ERROR if an error occured.
19961
19962 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19963
19964         * docs/gst/gstreamer-docs.sgml:
19965           Remove probes more.
19966
19967 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
19968
19969         * docs/gst/gstreamer-sections.txt:
19970         * docs/gst/tmpl/gstpad.sgml:
19971         * docs/gst/tmpl/gstprobe.sgml:
19972         * gst/Makefile.am:
19973         * gst/gstpad.c: (_gst_do_pass_data_accumulator),
19974         (gst_pad_class_init), (gst_pad_init), (gst_pad_chain),
19975         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
19976         (gst_pad_push_event), (gst_pad_send_event):
19977         * gst/gstpad.h:
19978         * gst/gstutils.c: (gst_pad_add_data_probe),
19979         (gst_pad_add_event_probe), (gst_pad_add_buffer_probe),
19980         (gst_pad_remove_data_probe), (gst_pad_remove_event_probe),
19981         (gst_pad_remove_buffer_probe):
19982         * gst/gstutils.h:
19983           Remove old probes, add new g-signal-based probes and some utility
19984           functions.
19985
19986 2005-06-29  Edward Hervey  <edward@fluendo.com>
19987
19988         * gst/gstelementfactory.c:
19989         * gst/gstutils.h:
19990         * gst/gstutils.c:
19991         Moved gst_element_factory_can_[sink|src]_caps() to gstutils and added
19992         the definition to the header file.
19993
19994 2005-06-29  Andy Wingo  <wingo@pobox.com>
19995
19996         * docs/gst/Makefile.am (scan-build.stamp): Totally only check
19997         plugins from the source directory.
19998
19999 2005-06-29  Wim Taymans  <wim@fluendo.com>
20000
20001         * docs/gst/tmpl/gstbuffer.sgml:
20002         * docs/gst/tmpl/gstclock.sgml:
20003         Some fixings for blantently wrong text.
20004
20005 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20006
20007         * check/Makefile.am:
20008         * gst/gst.c: (add_path_func), (init_pre):
20009         * gst/gstregistry.c: (gst_registry_add_path):
20010           add A GST_PLUGIN_PATH_ONLY env var; if it is set, it will
20011           only scan the GST_PLUGIN_PATH locations, and not add
20012           system locations
20013
20014 2005-06-29  Thomas Vander Stichele  <thomas at apestaart dot org>
20015
20016         * docs/gst/gstreamer-sections.txt:
20017         * docs/gst/tmpl/gstbasesrc.sgml:
20018         * gst/gstelement.c:
20019         * gst/gstelement.h:
20020         * gst/gstevent.c:
20021         * gst/gstutils.c:
20022           doc fixes
20023
20024 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20025
20026         * docs/manual/advanced-autoplugging.xml:
20027           Fix autoplugging example.
20028
20029 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20030
20031         * docs/manual/advanced-autoplugging.xml:
20032         * docs/manual/mime-world.fig:
20033           Try to get autoplugging working, fix type detection. Fix text
20034           in hello-world image.
20035
20036 2005-06-29  Wim Taymans  <wim@fluendo.com>
20037
20038         * gst/base/gstbasesink.c: (gst_base_sink_handle_object),
20039         (gst_base_sink_change_state):
20040         Small debug line.
20041
20042         * gst/gstclock.h:
20043         map SIGNAL and BROADCAST to the right function.
20044
20045         * gst/gstobject.h:
20046         Remove redundant braces.
20047
20048         * gst/gstpad.c: (gst_pad_set_caps):
20049         Don't call setcaps function when reseting caps to NULL.
20050
20051         * gst/gstsystemclock.c: (gst_system_clock_dispose),
20052         (gst_system_clock_async_thread), (gst_system_clock_id_wait_async),
20053         (gst_system_clock_id_unschedule):
20054         Use BROADCAST as this is what we do.
20055
20056 2005-06-29  Wim Taymans  <wim@fluendo.com>
20057
20058         * gst/base/gstbasesink.c: (gst_base_sink_handle_object):
20059         We are actually prerolling before commiting the state
20060         change. 
20061
20062 2005-06-29  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20063
20064         * docs/manual/advanced-clocks.xml:
20065         * docs/manual/advanced-interfaces.xml:
20066         * docs/manual/advanced-metadata.xml:
20067         * docs/manual/advanced-position.xml:
20068         * docs/manual/advanced-schedulers.xml:
20069         * docs/manual/advanced-threads.xml:
20070         * docs/manual/appendix-porting.xml:
20071         * docs/manual/basics-bins.xml:
20072         * docs/manual/basics-bus.xml:
20073         * docs/manual/basics-elements.xml:
20074         * docs/manual/basics-helloworld.xml:
20075         * docs/manual/basics-pads.xml:
20076         * docs/manual/highlevel-components.xml:
20077         * docs/manual/manual.xml:
20078         * docs/manual/thread.fig:
20079           Update (until threads/scheduling) Application Development Manual;
20080           remove GstThread, add GstBus, add simple porting checklist, add
20081           documentation for tag writing, clocks, make all examples until this
20082           part compile and run.
20083         * examples/manual/Makefile.am:
20084           Update from changes to Application Development Manual; add bus
20085           example, remove thread example.
20086
20087 2005-06-28  Wim Taymans  <wim@fluendo.com>
20088
20089         * gst/gstbus.c: (gst_bus_post), (gst_bus_have_pending),
20090         (gst_bus_set_flushing), (gst_bus_pop), (gst_bus_peek),
20091         (gst_bus_source_dispatch):
20092         Add debugging messages.
20093         Make internal methods static.
20094         Handle the case where the bus is flushed in the handler.
20095         
20096         * gst/gstelement.c: (gst_element_get_bus):
20097         Fix refcount in _get_bus();
20098
20099         * gst/gstpipeline.c: (gst_pipeline_change_state),
20100         (gst_pipeline_get_clock_func):
20101         Clock refcounting fixes.
20102         Handle the case where preroll timed out more gracefully.
20103         
20104         * gst/gstsystemclock.c: (gst_system_clock_dispose):
20105         Clean up the internal thread in dispose. This is needed
20106         for subclasses that actually get disposed.
20107         
20108         * gst/schedulers/threadscheduler.c:
20109         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
20110         (gst_thread_scheduler_dispose):
20111         Free thread pool in dispose.
20112
20113 2005-06-28  Andy Wingo  <wingo@pobox.com>
20114
20115         * tests/network-clock-utils.scm (debug, print-event): New utils.
20116
20117         * tests/network-clock.scm (*debug*, *with-graph*): New parameters.
20118         (*packet-loss*): Unified loss probability.
20119         (network-time): Report out-of-band events.
20120
20121         * tests/plot-data: Add support for out-of-band events. Hack it
20122         into this script instead of passing it down the pipe; should fix
20123         this later.
20124
20125 2005-06-28  Wim Taymans  <wim@fluendo.com>
20126
20127         * docs/gst/gstreamer.types:
20128         * docs/gst/tmpl/gstbasesrc.sgml:
20129         * docs/gst/tmpl/gstpad.sgml:
20130         Docs fixes.
20131
20132 2005-06-28  Wim Taymans  <wim@fluendo.com>
20133
20134         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20135         (gst_proxy_pad_do_checkgetrange), (gst_proxy_pad_do_acceptcaps),
20136         (gst_proxy_pad_do_fixatecaps):
20137         Correctly proxy the check_pull_range function.
20138
20139 2005-06-28  Andy Wingo  <wingo@pobox.com>
20140
20141         * tests/network-clock.scm: Removed need for slib.
20142         
20143 2005-06-28  Wim Taymans  <wim@fluendo.com>
20144
20145         * gst/base/gstbasesink.c: (gst_basesink_set_pad_functions),
20146         (gst_basesink_preroll_queue_flush):
20147         * gst/base/gstbasesrc.c: (gst_basesrc_set_dataflow_funcs):
20148         * gst/elements/gsttee.c: (gst_tee_update_pad_functions):
20149         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20150         (gst_proxy_pad_do_acceptcaps), (gst_proxy_pad_do_fixatecaps),
20151         (gst_proxy_pad_set_property):
20152         * gst/gstpad.c:
20153         * gst/gstpad.h:
20154         * gst/gstqueue.c: (gst_queue_init):
20155         The deprecated pad loop function is removed now.
20156
20157 2005-06-28  Andy Wingo  <wingo@pobox.com>
20158
20159         * tests/network-clock.scm (*timeout*, *send-loss*, *recv-loss*):
20160         New parameters, simulate network packet loss.
20161
20162         * tests/network-clock-utils.scm: Initialize the RNG.
20163
20164 2005-06-28  Wim Taymans  <wim@fluendo.com>
20165
20166         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_flush),
20167         (gst_basesink_event), (gst_basesink_deactivate):
20168         Flushing the preroll queue always needs to unlock the waiters.
20169
20170 2005-06-28  Edward Hervey  <edward@fluendo.com>
20171
20172         * gst/gstpipeline.c: (gst_pipeline_send_event): 
20173         Wheen a seek was successful on a pipeline, set the stream_time to the
20174         seek offset in order to have a synchronized stream_time.
20175
20176 2005-06-28  Wim Taymans  <wim@fluendo.com>
20177
20178         * gst/gstghostpad.c: (gst_proxy_pad_do_bufferalloc),
20179         (gst_proxy_pad_do_getrange), (gst_proxy_pad_do_checkgetrange),
20180         (gst_proxy_pad_do_getcaps), (gst_proxy_pad_do_acceptcaps),
20181         (gst_proxy_pad_do_fixatecaps):
20182         Call wrapper function instead of just calling the function
20183         pointers. This takes care of any locking and whatmore.
20184
20185 2005-06-28  Wim Taymans  <wim@fluendo.com>
20186
20187         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push),
20188         (gst_pad_pull_range):
20189         * gst/gstpad.h:
20190         CONNECTED -> LINKED.
20191
20192 2005-06-28  Andy Wingo  <wingo@pobox.com>
20193
20194         * *.c: Don't cast to GST_OBJECT when reffing or unreffing. Large
20195         source-munging commit!!!
20196
20197         * gst/gstobject.c (gst_object_unref, gst_object_ref) 
20198         (gst_object_sink): Take gpointer arguments, not GstObject --
20199         avoids casts. Like GLib.
20200
20201         * gst/gstghostpad.c (gst_proxy_pad_do_activate): Don't proxy
20202         activate.
20203
20204 2005-06-27  Andy Wingo  <wingo@pobox.com>
20205
20206         * gst/base/gsttypefindhelper.c (gst_type_find_helper): Unref any
20207         remaining buffer.
20208
20209         * gst/gsttrace.c (gst_alloc_trace_list_sorted): New helper,
20210         returns a sorted copy of the trace list.
20211         (gst_alloc_trace_print_live): New API, only prints traces with
20212         live objects. Sort the list.
20213         (gst_alloc_trace_print_all): Sort the list.
20214         (gst_alloc_trace_print): Align columns.
20215
20216         * gst/elements/gstttypefindelement.c:
20217         * gst/elements/gsttee.c:
20218         * gst/base/gstbasesrc.c:
20219         * gst/base/gstbasesink.c:
20220         * gst/base/gstbasetransform.c:
20221         * gst/gstqueue.c: Adapt for pad activation changes.
20222
20223         * gst/gstpipeline.c (gst_pipeline_init): Unref after parenting
20224         sched.
20225         (gst_pipeline_dispose): Drop ref on sched.
20226
20227         * gst/gstpad.c (gst_pad_init): Set the default activate func.
20228         (gst_pad_activate_default): Push mode by default.
20229         (pre_activate_switch, post_activate_switch): New stubs, things to
20230         do before and after switching activation modes on pads.
20231         (gst_pad_set_active): Take a boolean and not a mode, dispatch to
20232         the pad's activate function to choose which mode to activate.
20233         Shortcut on deactivation and call the right function directly.
20234         (gst_pad_activate_pull): New API, (de)activates a pad in pull
20235         mode.
20236         (gst_pad_activate_push): New API, same for push mode.
20237         (gst_pad_set_activate_function) 
20238         (gst_pad_set_activatepull_function) 
20239         (gst_pad_set_activatepush_function): Setters for new API.
20240
20241         * gst/gstminiobject.c (gst_mini_object_new, gst_mini_object_free):
20242         Trace all miniobjects.
20243         (gst_mini_object_make_writable): Unref the arg if we copy, like
20244         gst_caps_make_writable.
20245
20246         * gst/gstmessage.c (_gst_message_initialize): No trace init.
20247
20248         * gst/gstghostpad.c (gst_proxy_pad_do_activate) 
20249         (gst_proxy_pad_do_activatepull, gst_proxy_pad_do_activatepush):
20250         Adapt for new pad API.
20251
20252         * gst/gstevent.c (_gst_event_initialize): Don't initialize trace.
20253
20254         * gst/gstelement.h:
20255         * gst/gstelement.c (gst_element_iterate_src_pads) 
20256         (gst_element_iterate_sink_pads): New API functions.
20257         
20258         * gst/gstelement.c (iterator_fold_with_resync): New utility,
20259         should fold into gstiterator.c in some form.
20260         (gst_element_pads_activate): Simplified via use of fold and
20261         delegation of decisions to gstpad->activate.
20262
20263         * gst/gstbus.c (gst_bus_source_finalize): Set the bus to NULL,
20264         help in debugging.
20265
20266         * gst/gstbuffer.c (_gst_buffer_initialize): Ref the buffer type
20267         class once in init, like gstmessage. Didn't run into this issue
20268         but it seems correct. Don't initialize a trace, gstminiobject does
20269         that.
20270
20271         * check/pipelines/simple_launch_lines.c (test_stop_from_app): New
20272         test, runs fakesrc ! fakesink, stopping on ::handoff via a message
20273         to the bus.
20274         (assert_live_count): New util function, uses alloc traces to check
20275         cleanup.
20276
20277         * check/gst/gstghostpad.c (test_ghost_pads): More refcount checks.
20278         To be modified when unlink drops the internal pad.
20279
20280 2005-06-27  Wim Taymans  <wim@fluendo.com>
20281
20282         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_iterate_state_order),
20283         (gst_bin_change_state):
20284         Cleanup the get_state() function a little, make sure it
20285         iterates the same set of elements.
20286         Added stub iterate_state_order().
20287
20288 2005-06-27  Thomas Vander Stichele  <thomas at apestaart dot org>
20289
20290         * docs/gst/gstreamer-docs.sgml:
20291         * docs/gst/gstreamer-sections.txt:
20292         * docs/gst/gstreamer.types:
20293         * docs/gst/tmpl/gstbasesink.sgml:
20294         * docs/gst/tmpl/gstbasesrc.sgml:
20295         * docs/gst/tmpl/gstbasetransform.sgml:
20296         * docs/gst/tmpl/gstelement.sgml:
20297         * docs/gst/tmpl/gstiterator.sgml:
20298         * gst/base/gstbasesrc.c:
20299         * gst/base/gstbasesrc.h:
20300         * gst/base/gstbasetransform.h:
20301         * gst/gstelement.c:
20302         * gst/gstiterator.h:
20303           adding basetransform and iterator docs
20304
20305 2005-06-27  Andy Wingo  <wingo@pobox.com>
20306
20307         * docs/design/part-activation.txt: Notes on how activation should
20308         work -- not quite implemented yet.
20309
20310 2005-06-25  Wim Taymans  <wim@fluendo.com>
20311
20312         * gst/gstghostpad.c: (gst_proxy_pad_do_chain):
20313         At least get the chain function correct, needs more
20314         fixing.
20315
20316 2005-06-25  Wim Taymans  <wim@fluendo.com>
20317
20318         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20319         (gst_basesink_handle_object), (gst_basesink_event),
20320         (gst_basesink_do_sync), (gst_basesink_handle_event),
20321         (gst_basesink_change_state):
20322         * gst/gsttask.h:
20323         Right, two problems here: ghostpads don't take locks and
20324         glib _rec_mutex_lock_full() with depth==0 still locks.
20325         Catch illegal locking and g_warn them.
20326
20327 2005-06-25  Wim Taymans  <wim@fluendo.com>
20328
20329         * check/states/sinks.c: (START_TEST), (gst_object_suite):
20330         Have to check for completion now...
20331
20332 2005-06-25  Wim Taymans  <wim@fluendo.com>
20333
20334         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
20335         (gst_basesink_handle_object), (gst_basesink_event),
20336         (gst_basesink_do_sync), (gst_basesink_handle_event),
20337         (gst_basesink_change_state):
20338         * gst/gstpad.h:
20339         Unlock STREAM_LOCK whatever the recursion was.
20340
20341 2005-06-25  Wim Taymans  <wim@fluendo.com>
20342
20343         * gst/base/gstbasesink.c: (gst_basesink_set_property),
20344         (gst_basesink_preroll_queue_empty),
20345         (gst_basesink_preroll_queue_flush), (gst_basesink_handle_object),
20346         (gst_basesink_event), (gst_basesink_do_sync),
20347         (gst_basesink_handle_event), (gst_basesink_handle_buffer),
20348         (gst_basesink_chain), (gst_basesink_loop), (gst_basesink_activate),
20349         (gst_basesink_change_state):
20350         Reworked the base sink, handle event and buffer serialisation
20351         correctly and removed possible deadlock.
20352         Handle EOS correctly.
20353
20354 2005-06-25  Wim Taymans  <wim@fluendo.com>
20355
20356         * gst/gstpipeline.c: (is_eos), (pipeline_bus_handler),
20357         (gst_pipeline_change_state):
20358         * tools/gst-launch.c: (check_intr), (event_loop), (main):
20359         Allow elements to post EOS in the state change function.
20360         Fix up -launch, make it exit the poll loop when the
20361         pipeline actually changed state.
20362         Fix up warning parsing in -launch.
20363
20364 2005-06-25  Wim Taymans  <wim@fluendo.com>
20365
20366         * gst/elements/gsttee.c: (gst_tee_chain), (gst_tee_loop),
20367         (gst_tee_sink_activate):
20368         Core takes STREAM_LOCK for us now.
20369
20370 2005-06-25  Wim Taymans  <wim@fluendo.com>
20371
20372         * gst/gstelement.c: (gst_element_get_state_func),
20373         (gst_element_set_state):
20374         * gst/gstelement.h:
20375         * gst/gstmessage.c: (gst_message_parse_error),
20376         (gst_message_parse_warning):
20377         Keep track of current target state while performing a state
20378         change so that subclasses can do something interesting.
20379         Fix parsing of warning/error messages when GError is NULL.
20380
20381 2005-06-24  Thomas Vander Stichele  <thomas at apestaart dot org>
20382
20383         * docs/gst/Makefile.am:
20384         * docs/gst/gstreamer-docs.sgml:
20385         * docs/gst/gstreamer-sections.txt:
20386         * docs/gst/gstreamer.types:
20387         * docs/gst/tmpl/gstbasesink.sgml:
20388         * docs/gst/tmpl/gstbasesrc.sgml:
20389         * docs/gst/tmpl/gstbin.sgml:
20390         * docs/gst/tmpl/gstcompat.sgml:
20391         * docs/gst/tmpl/gstfakesink.sgml:
20392         * docs/gst/tmpl/gstfakesrc.sgml:
20393         * docs/gst/tmpl/gstfilesink.sgml:
20394         * docs/gst/tmpl/gstfilesrc.sgml:
20395         * docs/gst/tmpl/gstindex.sgml:
20396         * docs/manual/appendix-quotes.xml:
20397         * gst/base/gstbasesrc.h:
20398         * gst/elements/gstfakesrc.h:
20399         * gst/gstmessage.h:
20400           start pulling in base classes and elements in our docs
20401
20402 2005-06-24  Stefan Kost  <ensonic@users.sf.net>
20403
20404         * docs/gst/Makefile.am:
20405         * docs/libs/Makefile.am:
20406           fixed make distcheck with gtk-doc 1.3
20407
20408 2005-06-23  Wim Taymans  <wim@fluendo.com>
20409
20410         * gst/gstelement.c: (gst_element_get_state_func),
20411         (gst_element_set_state), (gst_element_change_state):
20412         When the state did not change, also report NO_PREROLL
20413         when it matters.
20414
20415 2005-06-23  Wim Taymans  <wim@fluendo.com>
20416
20417         * gst/gstpad.c: (gst_pad_event_default):
20418         * gst/gstqueue.c: (gst_queue_loop):
20419         No unsafe task pausing please.
20420
20421 2005-06-23  Wim Taymans  <wim@fluendo.com>
20422
20423         * gst/schedulers/threadscheduler.c:
20424         (gst_thread_scheduler_task_start),
20425         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_func):
20426         Ref the task before pushing it on the threadpool. This
20427         makes sure that we have a ref when the threadfunction is
20428         actually called.
20429
20430 2005-06-23  Andy Wingo  <wingo@pobox.com>
20431
20432         * gst/base/gstbasesrc.c (gst_basesrc_get_range): Check if the
20433         offset is greater than the file's size.
20434
20435         * gst/gstobject.h (GST_CLASS_LOCK, GST_CLASS_TRYLOCK) 
20436         (GST_CLASS_UNLOCK, GST_CLASS_GET_LOCK, GstObjectClass)
20437         * gst/gstobject.c (gst_object_class_init): Make the class lock
20438         recursive. Wim won't let me drop deep_notify. Decodebin works
20439         again, whoopdy doo.
20440
20441         * gst/gstghostpad.c (on_int_notify): Catches notify::caps on the
20442         internal pad, and hacks accordingly. Doesn't do it on the target
20443         pad because we change its caps. Probably catches all cases of
20444         interest tho.
20445         (gst_ghost_pad_set_property): Connect to notify::caps as
20446         appropritate.
20447
20448         * tests/network-clock.scm (plot-simulation): Pipe data to the
20449         elite python skript.
20450
20451         * tests/network-clock-utils.scm (define-parameter): New macro,
20452         defines a parameter that can be set via the command line.
20453         (set-parameter!, parse-parameter-arguments): Command line args
20454         parser.
20455
20456         * tests/plot-data: Simple matplotlib-based plotter, takes input on
20457         stdin.
20458
20459 2005-06-23  Jan Schmidt  <thaytan@mad.scientist.com>
20460
20461         * gst/elements/gsttypefindelement.c:
20462         (gst_type_find_element_handle_event):
20463           Don't restart typefinding on a discont.
20464         * gst/gstelement.c: (gst_element_set_state):
20465           Debug spelling fix.
20466         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_send_event):
20467           Allow changing mode of an active pad.
20468           Debug output fixes.
20469         * gst/registries/gstlibxmlregistry.c: (load_feature):
20470           Don't cast a static pad template to a normal pad template.
20471
20472 2005-06-23  Thomas Vander Stichele  <thomas at apestaart dot org>
20473
20474         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20475         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20476           remove gst_strtoll completely, since it didn't actually do
20477           anything more than what g_ascii_strtoull already does.
20478           check for range errors when deserializing
20479           do a cast for the unsigned cases; but further fixing needs
20480           a decision on what the interpretation of "(int)" and
20481           deserialization should be for values that fall outside the
20482           type's boundaries (ie, refuse, or interpret as casting)
20483
20484 2005-06-23  Wim Taymans  <wim@fluendo.com>
20485
20486         * check/Makefile.am:
20487         * check/states/sinks.c: (START_TEST), (gst_object_suite), (main):
20488         * docs/design/part-live-source.txt:
20489         * docs/design/part-states.txt:
20490         * gst/base/gstbasesrc.c: (gst_basesrc_init),
20491         (gst_basesrc_set_live), (gst_basesrc_is_live),
20492         (gst_basesrc_get_range), (gst_basesrc_activate),
20493         (gst_basesrc_change_state):
20494         * gst/base/gstbasesrc.h:
20495         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
20496         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
20497         * gst/gstbin.c: (gst_bin_get_state), (gst_bin_change_state):
20498         * gst/gstelement.c: (gst_element_get_state_func),
20499         (gst_element_set_state):
20500         * gst/gstelement.h:
20501         * gst/gsttypes.h:
20502         * tools/gst-launch.c: (event_loop), (main):
20503         Added support for live sources and other elements that
20504         cannot do preroll.
20505         Updated design docs, added live-source design doc.
20506         Implemented live source functionality in basesrc
20507         Fix error condition in _bin_get_state()
20508         Implement live source handling in -launch.
20509         Added check for live sources.
20510         Fixed case in GstBin where elements were changed state
20511         multiple times.
20512
20513
20514 2005-06-23  Andy Wingo  <wingo@pobox.com>
20515
20516         * check/gst/gstpad.c (test_get_allowed_caps, test_refcount): Fix
20517         borken refcounting.
20518
20519         * gst/gstpad.c (gst_pad_set_caps): Remove needless refs,
20520         gst_caps_replace takes care of this for us.
20521
20522         * gst/gstghostpad.c (gst_proxy_pad_do_setcaps): Call the full
20523         gst_pad_set_caps on the target, not just its setcaps() function.
20524
20525         * tests/network-clock.scm: 
20526         * tests/network-clock-utils.scm: A network clock simulator.
20527         Something of an algorithmic testbed before doing something in C.
20528
20529 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20530
20531         * check/Makefile.am:
20532         * check/gst/capslist.h:
20533           copy over from 0.8, and add two with bitmasks specified with
20534           (int) 0xFF...
20535         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20536           add test to parse everything from capslist.h
20537         * check/gst/gststructure.c: (START_TEST), (gst_value_suite),
20538         (main):
20539           add test for structure deserialization
20540         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20541           add tests for deserialization of strings to int types
20542         * gst/gststructure.c: (gst_structure_nth_field_name):
20543         * gst/gststructure.h:
20544           add a way to get the name of a field referenced by index
20545         * gst/gstvalue.c: (gst_value_deserialize_int_helper):
20546           instead of checking if the resulting long long lies between
20547           min and max, we check if the long long would fit into
20548           a number of bytes for the final type.
20549           This fixes cases where a string represents 2^32 - 1, which
20550           when cast to int would be the (valid) -1, but is bigger than
20551           G_MAXINT
20552
20553 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20554
20555         * gst/parse/grammar.y:
20556           add a log line for type deserialization
20557
20558 2005-06-22  Thomas Vander Stichele  <thomas at apestaart dot org>
20559
20560         * check/gst/gstvalue.c: (START_TEST):
20561         * gst/gstvalue.c: (gst_value_deserialize):
20562           return long long, not int, so gint64 deserialization actually
20563           works.  Is there any flag that makes the compiler check this ?
20564           Fixes #308559
20565
20566 2005-06-22  Wim Taymans  <wim@fluendo.com>
20567
20568         * gst/gstbuffer.h:
20569         Added convenience macros for setting buffers in GValue.
20570
20571 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20572
20573         * check/gst/.cvsignore:
20574         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite):
20575           add a test deserializing int64, and comment part out because
20576           it fails, yay !
20577
20578 2005-06-21  Thomas Vander Stichele  <thomas at apestaart dot org>
20579
20580         * check/Makefile.am:
20581         * check/gst/gstvalue.c: (START_TEST), (gst_value_suite), (main):
20582         * testsuite/Makefile.am:
20583         * testsuite/caps/Makefile.am:
20584         * testsuite/caps/value_serialize.c:
20585         * testsuite/test_gst_init.c:
20586           move a value_serialize test over
20587
20588 2005-06-20  Wim Taymans  <wim@fluendo.com>
20589
20590         * gst/gstpad.c:
20591         Small doc updates.
20592         
20593         * gst/gstvalue.c: (gst_value_compare_buffer),
20594         (gst_value_serialize_buffer), (gst_value_deserialize_buffer),
20595         (gst_value_compare_flags), (gst_value_serialize_flags),
20596         (gst_value_deserialize_flags), (_gst_value_initialize):
20597         Fix serialisation of buffers, they are not boxed types anymore
20598
20599 2005-06-20  Wim Taymans  <wim@fluendo.com>
20600
20601         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite):
20602         Testcase to show error in buffer-on-caps serialisation.
20603
20604 2005-06-20  Andy Wingo  <wingo@pobox.com>
20605
20606         * docs/random/wingo/porting-plugins-to-0.9: A pitiful document I
20607         will be adding to later.
20608
20609         * gst/gstsystemclock.c (gst_system_clock_init): Unlock the clock
20610         if its socks fill with rocks.
20611         (gst_system_clock_obtain): Set the name on object construction.
20612         Avoid double-checked locking.
20613
20614 2005-06-20  Tim-Philipp Müller  <tim at centricular dot net>
20615
20616         * gst/gsturi.c: (gst_element_make_from_uri):
20617           Fix potential endless loop.
20618
20619 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20620
20621         * check/Makefile.am:
20622           add gsttag
20623         * check/gst/gsttag.c: (check_tags), (START_TEST), (gst_tag_suite),
20624         (main):
20625           move over from testsuite dir and clean up
20626         * configure.ac:
20627         * gst/gsttag.c:
20628         * testsuite/Makefile.am:
20629         * testsuite/tags/.cvsignore:
20630         * testsuite/tags/Makefile.am:
20631         * testsuite/tags/merge.c:
20632           remove testsuite/tags
20633
20634 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20635
20636         * docs/gst/gstreamer-sections.txt:
20637         * docs/gst/tmpl/gstenumtypes.sgml:
20638         * win32/gstenumtypes.c:
20639           clean up documentation build a little
20640
20641 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20642
20643         * check/gstcheck.h:
20644           add macros for checking refcounts on objects and caps
20645         * check/gst/gstpad.c: (START_TEST), (gst_pad_suite):
20646           add some more unit tests
20647         * gst/gstpad.c: (gst_pad_link_check_compatible_unlocked),
20648         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_allowed_caps):
20649           fix leaked refcounts (I hope :)) so unittest works
20650         * gst/gstpad.h:
20651           whitespace removal
20652
20653 2005-06-19  Thomas Vander Stichele  <thomas at apestaart dot org>
20654
20655         * configure.ac: back to HEAD
20656
20657 === release 0.9.1 ===
20658
20659 2005-06-17  Thomas Vander Stichele  <thomas at apestaart dot org>
20660
20661         * NEWS:
20662         * RELEASE:
20663           updated
20664
20665 2005-06-17  Andy Wingo  <wingo@pobox.com>
20666
20667         * gst/base/gstbasesink.c (gst_basesink_chain): Remove bogus
20668         assert; it's always possible that the pad gets deactivated in
20669         between the checks in gstpad.c and the implementation. Rely on
20670         finish_preroll() to return a FLUSHING or similar instead of on the
20671         assert.
20672         
20673         * gst/base/gstbasesink.c (gst_basesink_event): Only wait for the
20674         clock and post an EOS message if we come out of finish_preroll in
20675         the playing state.
20676
20677 2005-06-16  David Schleef  <ds@schleef.org>
20678
20679         * gst/elements/gstcapsfilter.c: (gst_capsfilter_class_init),
20680         (gst_capsfilter_set_property): Allow NULL as possible value
20681         for filter_caps property, indicating GST_CAPS_ANY.
20682
20683 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20684
20685         * gst/elements/gstfakesrc.c: (gst_fakesrc_create):
20686           fix debug output
20687         * gst/schedulers/Makefile.am:
20688           use libgst prefix
20689         * gstreamer.spec.in:
20690           fix spec for it
20691
20692 2005-06-09  Thomas Vander Stichele  <thomas at apestaart dot org>
20693
20694         * gstreamer.spec.in:
20695           clean up
20696
20697 2005-06-08  Andy Wingo  <wingo@pobox.com>
20698
20699         * gst/gstutils.c: RPAD fixes all around.
20700         (gst_element_link_pads): Refcounting fixes.
20701
20702         * tools/gst-inspect.c:
20703         * tools/gst-xmlinspect.c:
20704         * parse/grammar.y:
20705         * gst/base/gsttypefindhelper.c:
20706         * gst/base/gstbasesink.c:
20707         * gst/gstqueue.c: RPAD fixes.
20708
20709         * gst/gstghostpad.h:
20710         * gst/gstghostpad.c: New ghost pad implementation as full proxy
20711         pads. The tricky thing is they provide both source and sink
20712         interfaces, since they proxy the internal pad for the external
20713         pad, and vice versa. Implement with lower-level ProxyPad objects,
20714         with the interior proxy pad as a child of the exterior ghost pad.
20715         Should write a doc on this.
20716         
20717         * gst/gstpad.h: s/RPAD/PAD/, s/RealPad/Pad/.
20718         (gst_pad_set_name, gst_pad_set_parent): Macros removed, use
20719         gst_object API.
20720         
20721         * gst/gstpad.c: Big changes. No more stub base GstPad, now all
20722         pads are real pads. No ghost pads in this file. Not documenting
20723         the myriad s/RPAD/PAD/ and REALIZE fixes.
20724         (gst_pad_class_init): Add properties for "direction" and
20725         "template". Both are construct-only, so they can't change during
20726         the life of the pad. Fixes properly deriving from GstPad.
20727         (gst_pad_custom_new, gst_pad_custom_new_from_template): Gone. For
20728         derived objects, just set properties when creating the objects via
20729         g_object_new.
20730         (gst_pad_get_parent): Implement as a function, return NULL if the
20731         parent is not an element.
20732         (gst_pad_get_real_parent, gst_pad_add_ghost_pad)
20733         (gst_pad_remove_ghost_pad, gst_pad_realize): Removed.
20734         
20735         * gst/gstobject.c (gst_object_class_init): Make name a construct
20736         property. Don't set it in the object init.
20737
20738         * gst/gstelement.c (gst_element_add_pad): Don't allow adding pads
20739         with UNKNOWN direction.
20740         (gst_element_add_ghost_pad): Remove non-orthogonal API. Replace
20741         with gst_element_add_pad (e, gst_ghost_pad_new (name, pad)).
20742         (gst_element_remove_pad): Remove ghost-pad special cases.
20743         (gst_element_pads_activate): Remove rpad cruft.
20744
20745         * gst/gstbin.c (gst_bin_change_state): Use gst_pad_get_parent to
20746         catch the pad's-parent-not-an-element case.
20747
20748         * gst/gst.h: Include gstghostpad.h.
20749
20750         * gst/gst.c (init_post): No more real, ghost pads.
20751
20752         * gst/Makefile.am: Add gstghostpad.[ch].
20753
20754         * check/Makefile.am:
20755         * check/gst/gstbin.c:
20756         * check/gst/gstghostpad.c (test_ghost_pads): Check that linking
20757         into a bin creates ghost pads, and that the refcounts are right.
20758         Partly moved from gstbin.c.
20759
20760 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20761
20762         * check/gst-libs/.cvsignore:
20763         * check/gst/.cvsignore:
20764         * check/pipelines/.cvsignore:
20765           ignore more
20766         * check/pipelines/cleanup.c: (setup_pipeline), (run_pipeline),
20767         (START_TEST), (cleanup_suite), (main):
20768           add some tests related to cleanup after running pipelines
20769
20770 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20771
20772         * check/gst/gstbuffer.c: (START_TEST), (gst_test_suite), (main):
20773           add a testsuite for GstBuffer
20774
20775 2005-06-08  Thomas Vander Stichele  <thomas at apestaart dot org>
20776
20777         * gst/gstminiobject.h:
20778           add defines for accessing the refcount
20779
20780 2005-06-03  Stefan Kost  <ensonic@users.sf.net>
20781
20782         * Makefile.am: added support for html unit test coverage reports
20783
20784 2005-06-03  Jan Schmidt  <thaytan@mad.scientist.com>
20785
20786         * gst/elements/gstcapsfilter.c: (gst_capsfilter_set_property):
20787           Free existing caps if the capsfilter changes. Add a FIXME about
20788           setting those caps on the pads.
20789
20790         * gst/gstutils.c: (gst_element_get_compatible_pad), (ghost_up):
20791           Before adding a ghost pad to a parent bin, check that there isn't
20792           already one for the element on the bin. Prevents infinite recursion
20793           when using decodebin in parse pipelines. Andy says he'll rewrite the
20794           way this works anyway, so ignore the hack.
20795
20796 2005-06-02  Andy Wingo  <wingo@pobox.com>
20797
20798         * gst/elements/gsttypefindelement.c (do_pull_typefind): Query the
20799         file size, pass it on to the type find helper.
20800
20801         * gst/base/gstbasesrc.c (gst_basesrc_do_seek): Set the
20802         segment_start and segment_end properly according to the seek
20803         method. Segment_end is still a bit flaky because offset can be
20804         negative for CUR and END cases, but it takes -1 as an "unset"
20805         value.
20806
20807 2005-06-02  Wim Taymans  <wim@fluendo.com>
20808
20809         * gst/base/gstbasesink.c: (gst_basesink_pad_buffer_alloc),
20810         (gst_base_sink_buffer_alloc), (gst_basesink_preroll_queue_push),
20811         (gst_basesink_activate):
20812         * gst/base/gstbasesink.h:
20813         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20814         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20815         (gst_pad_query), (gst_pad_start_task):
20816         * gst/gstpad.h:
20817         * gst/gstqueue.c: (gst_queue_bufferalloc),
20818         (gst_queue_handle_sink_event), (gst_queue_chain):
20819         Bufferalloc: return GstFlowReturn to more accuratly report
20820         why allocation failed.
20821
20822 2005-06-02  Wim Taymans  <wim@fluendo.com>
20823
20824         * gst/gstpipeline.c: (gst_pipeline_send_event):
20825         Take snapshot of state without blocking.
20826
20827 2005-06-02  Wim Taymans  <wim@fluendo.com>
20828
20829         * docs/design/part-TODO.txt:
20830         * docs/design/part-caps.txt:
20831         * docs/design/part-clocks.txt:
20832         * docs/design/part-negotiation.txt:
20833         * docs/design/part-preroll.txt:
20834         Small doc updates 
20835
20836 2005-05-30  Wim Taymans  <wim@fluendo.com>
20837
20838         * gst/elements/gstidentity.c: (gst_identity_event),
20839         (gst_identity_transform), (gst_identity_get_property):
20840         Protect last_message property as it is accessed from
20841         multiple threads.
20842
20843 2005-05-30  Wim Taymans  <wim@fluendo.com>
20844
20845         * gst/gstelement.c: (gst_element_init),
20846         (gst_element_pads_activate), (gst_element_change_state):
20847         Slicker pad activation code.
20848
20849 2005-05-30  Wim Taymans  <wim@fluendo.com>
20850
20851         * gst/Makefile.am:
20852         * gst/gstelement.h:
20853         * gst/gstelementfactory.h:
20854         * gst/gsttypes.h:
20855         Move elementfactory methods to separate .h file.
20856
20857 2005-05-30  Wim Taymans  <wim@fluendo.com>
20858
20859         * docs/design/part-overview.txt:
20860         * gst/gstsystemclock.h:
20861         Small typo fixes, doc updates.
20862
20863 2005-05-30  Wim Taymans  <wim@fluendo.com>
20864
20865         * gst/gst.c: (gst_init_get_popt_table), (init_post),
20866         (init_popt_callback):
20867         Remove cpu-opt flag.
20868
20869 2005-05-30  Wim Taymans  <wim@fluendo.com>
20870
20871         * gst/gstbuffer.c: (gst_subbuffer_finalize),
20872         (gst_buffer_create_sub), (gst_buffer_is_span_fast):
20873         * gst/gstbuffer.h:
20874         Avoid typechecking in places where not needed.
20875         Added accessor for malloc_data.
20876
20877 2005-05-30  Wim Taymans  <wim@fluendo.com>
20878
20879         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_set_active),
20880         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_accept_caps),
20881         (gst_pad_configure_sink), (gst_pad_configure_src),
20882         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_send_event),
20883         (gst_pad_start_task):
20884         Propagate errors from _set_caps() in configure_src/sink
20885         functions instead of returning TRUE.
20886         FLUSH events can travel up and downstream
20887
20888
20889 2005-05-30  Wim Taymans  <wim@fluendo.com>
20890
20891         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20892         (gst_basesink_activate):
20893         Handle EOS in preroll.
20894
20895 2005-05-30  Wim Taymans  <wim@fluendo.com>
20896
20897         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
20898         (gst_queue_loop), (gst_queue_handle_src_event):
20899         Remove old pieces of code
20900         Flushing the queue in an upstream event is a very bad idea.
20901
20902 2005-05-26  Andy Wingo  <wingo@pobox.com>
20903
20904         * gst/gstminiobject.c (gst_value_mini_object_collect): Use
20905         gst_value_set_mini_object so as to add a ref on the object (which
20906         will be removed when the value is unset).
20907
20908         * gst/elements/gstfakesink.c (gst_fakesink_class_init): Fix signal
20909         arg type in ::handoff.
20910
20911         * gst/gstelement.c (gst_element_change_state): Also deactivate
20912         pads in READY->NULL, just in case the element didn't make it to
20913         PAUSED. Wingo tested, Wim approved.
20914
20915 2005-05-26  Wim Taymans  <wim@fluendo.com>
20916
20917         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20918         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_alloc_buffer),
20919         (gst_pad_query), (gst_pad_send_event), (gst_pad_start_task):
20920         A flushing pad cannot be used to alloc_buffer from.
20921
20922 2005-05-26  Wim Taymans  <wim@fluendo.com>
20923
20924         * gst/gstbus.c: (gst_bus_init), (gst_bus_dispose), (gst_bus_post),
20925         (gst_bus_pop), (gst_bus_source_prepare), (gst_bus_source_check),
20926         (gst_bus_source_dispatch), (gst_bus_source_finalize),
20927         (gst_bus_create_watch), (gst_bus_add_watch_full):
20928         * gst/gstbus.h:
20929         Implement a real GSource and use g_main_context_wakeup() to
20930         signal new messages instead of the socketpair.
20931
20932 2005-05-25  Wim Taymans  <wim@fluendo.com>
20933
20934         * gst/gstbin.c: (bin_element_is_sink), (has_ancestor),
20935         (bin_element_is_semi_sink), (append_child), (gst_bin_change_state):
20936         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20937         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20938         (gst_pad_send_event), (gst_pad_start_task):
20939         * gst/gstqueue.c: (gst_queue_init), (gst_queue_locked_flush),
20940         (gst_queue_handle_sink_event), (gst_queue_chain), (gst_queue_loop),
20941         (gst_queue_sink_activate), (gst_queue_src_activate),
20942         (gst_queue_change_state):
20943         * gst/gstqueue.h:
20944         Fix state changes for non sinks. We now change sinks, then elements
20945         with unconnected srcpads, then the rest.
20946         More efficient queue unlocking in flush and state changes.
20947         Set the pad activate mode even if it does not have an activate
20948         function.
20949
20950 2005-05-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
20951
20952         * gst/base/gstbasesrc.c: (gst_basesrc_activate):
20953           Don't go in pull mode for non-seekable sources.
20954         * gst/elements/gsttypefindelement.h:
20955         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
20956         (gst_type_find_element_dispose), (gst_type_find_handle_src_query),
20957         (free_entry), (stop_typefinding),
20958         (gst_type_find_element_handle_event), (find_peek),
20959         (gst_type_find_element_chain), (do_pull_typefind),
20960         (gst_type_find_element_change_state):
20961           Allow typefinding (w/o seeking) in push-mode, simplified version
20962           of what was in 0.8.
20963         * gst/gstutils.c: (gst_buffer_join):
20964         * gst/gstutils.h:
20965           gst_buffer_join() from 0.8.
20966
20967 2005-05-25  Wim Taymans  <wim@fluendo.com>
20968
20969         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_link_prepare),
20970         (gst_pad_link), (gst_pad_accept_caps), (gst_pad_query),
20971         (gst_pad_send_event), (gst_pad_start_task):
20972         Disable attempt at mode switching until it is figured out.
20973
20974 2005-05-25  Wim Taymans  <wim@fluendo.com>
20975
20976         * gst/base/gstadapter.c: (gst_adapter_peek), (gst_adapter_flush):
20977         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_push),
20978         (gst_basesink_finish_preroll), (gst_basesink_chain),
20979         (gst_basesink_loop), (gst_basesink_activate),
20980         (gst_basesink_change_state):
20981         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek),
20982         (gst_basesrc_get_range), (gst_basesrc_loop),
20983         (gst_basesrc_activate):
20984         * gst/elements/gsttee.c: (gst_tee_sink_activate):
20985         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
20986         (gst_real_pad_init), (gst_real_pad_set_property),
20987         (gst_real_pad_get_property), (gst_pad_set_active),
20988         (gst_pad_is_active), (gst_pad_get_query_types), (gst_pad_unlink),
20989         (gst_pad_link_prepare), (gst_pad_link), (gst_pad_get_real_parent),
20990         (gst_real_pad_get_caps_unlocked), (gst_pad_peer_get_caps),
20991         (gst_pad_accept_caps), (gst_pad_get_peer), (gst_pad_realize),
20992         (gst_pad_event_default_dispatch), (gst_pad_event_default),
20993         (gst_pad_dispatcher), (gst_pad_query), (gst_real_pad_dispose),
20994         (gst_pad_save_thyself), (handle_pad_block), (gst_pad_chain),
20995         (gst_pad_push), (gst_pad_get_range), (gst_pad_pull_range),
20996         (gst_pad_send_event), (gst_pad_start_task), (gst_pad_pause_task),
20997         (gst_pad_stop_task):
20998         * gst/gstpad.h:
20999         * gst/gstqueue.c: (gst_queue_handle_sink_event), (gst_queue_chain),
21000         (gst_queue_loop), (gst_queue_src_activate):
21001         * gst/gsttask.c: (gst_task_init), (gst_task_set_lock),
21002         (gst_task_get_state):
21003         * gst/gsttask.h:
21004         * gst/schedulers/threadscheduler.c:
21005         (gst_thread_scheduler_task_start), (gst_thread_scheduler_func):
21006         Implement gst_pad_pause/start/stop_task(), take STREAM lock
21007         in task function.
21008         Remove ACTIVE pad flag, use FLUSHING everywhere
21009         Added _pad_chain(), _pad_get_range() to call chain/getrange 
21010         functions.
21011         Add locks around IS_FLUSHING when reading.
21012         Take STREAM lock in chain(), get_range() functions so plugins
21013         don't need to take it anymore.
21014         
21015
21016
21017 2005-05-25  Wim Taymans  <wim@fluendo.com>
21018
21019         * tools/gst-launch.c: (event_loop):
21020         Unref message after using its contents instead of
21021         before.
21022
21023 2005-05-24  Wim Taymans  <wim@fluendo.com>
21024
21025         * docs/design/draft-ghostpads.txt:
21026         * docs/design/draft-push-pull.txt:
21027         * docs/design/draft-query.txt:
21028         * docs/design/part-overview.txt:
21029         Docs updates, added general overview doc.
21030
21031 2005-05-21  David Schleef  <ds@schleef.org>
21032
21033         * docs/gst/tmpl/old/GstBin.sgml:
21034         * docs/gst/tmpl/old/GstBuffer.sgml:
21035         * docs/gst/tmpl/old/GstCaps.sgml:
21036         * docs/gst/tmpl/old/GstClock.sgml:
21037         * docs/gst/tmpl/old/GstCompat.sgml:
21038         * docs/gst/tmpl/old/GstData.sgml:
21039         * docs/gst/tmpl/old/GstElement.sgml:
21040         * docs/gst/tmpl/old/GstEvent.sgml:
21041         * docs/gst/tmpl/old/GstIndex.sgml:
21042         * docs/gst/tmpl/old/GstStructure.sgml:
21043         * docs/gst/tmpl/old/GstTag.sgml:
21044         * docs/gst/tmpl/old/cothreads.sgml:
21045         * docs/gst/tmpl/old/cothreads_compat.sgml:
21046         * docs/gst/tmpl/old/gettext.sgml:
21047         * docs/gst/tmpl/old/gobject2gtk.sgml:
21048         * docs/gst/tmpl/old/grammar.tab.sgml:
21049         * docs/gst/tmpl/old/gst-i18n-app.sgml:
21050         * docs/gst/tmpl/old/gst-i18n-lib.sgml:
21051         * docs/gst/tmpl/old/gst_private.sgml:
21052         * docs/gst/tmpl/old/gstaggregator.sgml:
21053         * docs/gst/tmpl/old/gstarch.sgml:
21054         * docs/gst/tmpl/old/gstatomic_impl.sgml:
21055         * docs/gst/tmpl/old/gstbufferstore.sgml:
21056         * docs/gst/tmpl/old/gstdata_private.sgml:
21057         * docs/gst/tmpl/old/gstdisksink.sgml:
21058         * docs/gst/tmpl/old/gstdisksrc.sgml:
21059         * docs/gst/tmpl/old/gstelementfactory.sgml:
21060         * docs/gst/tmpl/old/gstextratypes.sgml:
21061         * docs/gst/tmpl/old/gstfakesink.sgml:
21062         * docs/gst/tmpl/old/gstfakesrc.sgml:
21063         * docs/gst/tmpl/old/gstfdsink.sgml:
21064         * docs/gst/tmpl/old/gstfdsrc.sgml:
21065         * docs/gst/tmpl/old/gstfilesink.sgml:
21066         * docs/gst/tmpl/old/gstfilesrc.sgml:
21067         * docs/gst/tmpl/old/gsthttpsrc.sgml:
21068         * docs/gst/tmpl/old/gstidentity.sgml:
21069         * docs/gst/tmpl/old/gstindexfactory.sgml:
21070         * docs/gst/tmpl/old/gstmarshal.sgml:
21071         * docs/gst/tmpl/old/gstmd5sink.sgml:
21072         * docs/gst/tmpl/old/gstmultidisksrc.sgml:
21073         * docs/gst/tmpl/old/gstmultifilesrc.sgml:
21074         * docs/gst/tmpl/old/gstpadtemplate.sgml:
21075         * docs/gst/tmpl/old/gstpipefilter.sgml:
21076         * docs/gst/tmpl/old/gstschedulerfactory.sgml:
21077         * docs/gst/tmpl/old/gstsearchfuncs.sgml:
21078         * docs/gst/tmpl/old/gstshaper.sgml:
21079         * docs/gst/tmpl/old/gstspider.sgml:
21080         * docs/gst/tmpl/old/gstspideridentity.sgml:
21081         * docs/gst/tmpl/old/gststatistics.sgml:
21082         * docs/gst/tmpl/old/gsttee.sgml:
21083         * docs/gst/tmpl/old/gsttimecache.sgml:
21084         * docs/gst/tmpl/old/gsttypefindfactory.sgml:
21085         * docs/gst/tmpl/old/gstxmlregistry.sgml:
21086         * docs/gst/tmpl/old/gthread-cothreads.sgml:
21087         * docs/gst/tmpl/old/types.sgml:
21088           I didn't intend to add these or check them in.
21089
21090 2005-05-19  David Schleef  <ds@schleef.org>
21091
21092         * configure.ac: Use -no-common everywhere.  In a sane world, it
21093           would be the default in libtool, because without it, you can't
21094           build DLLs on Windows.
21095         * docs/gst/gstreamer-docs.sgml: Remove GstCpu, GstData, GstThread
21096         * docs/gst/gstreamer-sections.txt:
21097         * docs/gst/tmpl/gstcpu.sgml:
21098         * docs/gst/tmpl/gstdata.sgml:
21099         * docs/gst/tmpl/gstthread.sgml:
21100
21101 2005-05-19  David Schleef  <ds@schleef.org>
21102
21103         * gst/gstminiobject.c: (gst_value_set_mini_object),
21104         (gst_value_take_mini_object), (gst_value_get_mini_object):
21105         * gst/gstminiobject.h: Add GValue set/get functions.
21106
21107 2005-05-19  Wim Taymans  <wim@fluendo.com>
21108
21109         * gst/gstbuffer.c: (gst_buffer_init), (gst_subbuffer_get_type),
21110         (gst_subbuffer_class_init), (gst_subbuffer_finalize),
21111         (gst_subbuffer_init), (gst_buffer_is_span_fast):
21112         * gst/gstbuffer.h:
21113         * gst/gstbus.c: (gst_bus_post):
21114         * gst/gstelement.c: (gst_element_get_random_pad):
21115         * gst/gstmessage.c: (gst_message_init), (gst_message_finalize):
21116         Make subbufer unref the parent in finalize.
21117         some more debugging info.
21118
21119
21120 2005-05-19  Wim Taymans  <wim@fluendo.com>
21121
21122         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21123         (gst_basesink_init), (gst_basesink_finalize),
21124         (gst_basesink_activate), (gst_basesink_change_state):
21125         Don't free preroll queue too early.
21126
21127 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21128
21129         * gst/Makefile.am:
21130         * gst/ROADMAP:
21131           Hi, I'm outdated. Please shoot me.
21132
21133 2005-05-19  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21134
21135         * gst/gstpipeline.c: (gst_pipeline_send_event):
21136           Do not access variables after they have been deleted.
21137
21138 2005-05-19  Wim Taymans  <wim@fluendo.com>
21139
21140         * tools/gst-inspect.c: (print_plugin_features):
21141         A plugin feature does unfortunatly not use the
21142         object name yet...
21143
21144 2005-05-18  Wim Taymans  <wim@fluendo.com>
21145
21146         * gst/gstbuffer.c: (gst_buffer_is_span_fast), (gst_buffer_span):
21147         Port _span() functions to new subbuffers.
21148
21149 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21150
21151         * gst/gstbin.c: (gst_bin_add_func):
21152           Fix clock settery in bins when adding kids after the clock has
21153           been selected.
21154
21155 2005-05-18  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21156
21157         * gst/elements/gstidentity.c: (gst_identity_class_init):
21158           Workaround until signals support GstMiniObject.
21159
21160 2005-05-18  Jan Schmidt  <thaytan@mad.scientist.com>
21161
21162         * gst/gstbuffer.c:
21163         Oops, fix a typo GST_TYPE_BUFFER -> GST_TYPE_SUBBUFFER.
21164
21165 2005-05-18  Wim Taymans  <wim@fluendo.com>
21166
21167         * gst/base/Makefile.am:
21168         * gst/base/gstadapter.c: (gst_adapter_base_init),
21169         (gst_adapter_class_init), (gst_adapter_init),
21170         (gst_adapter_dispose), (gst_adapter_finalize), (gst_adapter_new),
21171         (gst_adapter_clear), (gst_adapter_push), (gst_adapter_peek),
21172         (gst_adapter_flush), (gst_adapter_available),
21173         (gst_adapter_available_fast):
21174         * gst/base/gstadapter.h:
21175         Ported and added adapter to the base classes.
21176
21177 2005-05-17  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21178
21179         * gst/gst.c:
21180         * gst/gstmessage.c:
21181           Make sure the class is reffed/unreffed once before threads can be
21182           used.  Fixes #304551.
21183
21184 2005-05-17  Wim Taymans  <wim@fluendo.com>
21185
21186         * gst/base/gstbasesink.c: (gst_basesink_finish_preroll),
21187         (gst_basesink_chain_unlocked), (gst_basesink_activate):
21188         * gst/gstminiobject.c: (gst_mini_object_get_type),
21189         (gst_mini_object_free):
21190         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query),
21191         (gst_pad_push), (gst_pad_push_event):
21192         * gst/gstqueue.c: (gst_queue_change_state):
21193         Don't queue buffers in basesink when we are flushing.
21194         Unref buffer when flushing in basesink.
21195         Flush queue when going to READY
21196         Unref buffer when _push() returns an error.
21197         Don't free MiniObject instance when refcount is incremented
21198         in _finalize() so that we can recover objects.
21199
21200 2005-05-17  Thomas Vander Stichele  <thomas at apestaart dot org>
21201
21202         * docs/manual/advanced-schedulers.xml:
21203         * docs/manual/appendix-checklist.xml:
21204         * docs/pwg/advanced-clock.xml:
21205         * docs/pwg/advanced-interfaces.xml:
21206         * docs/pwg/advanced-request.xml:
21207         * docs/pwg/advanced-types.xml:
21208         * docs/pwg/intro-preface.xml:
21209         * examples/plugins/example.c: (gst_example_get_type),
21210         (gst_example_class_init), (gst_example_chain),
21211         (gst_example_set_property), (gst_example_get_property),
21212         (gst_example_change_state), (plugin_init):
21213         * examples/plugins/example.h:
21214           small doc fixes
21215
21216 2005-05-17  Wim Taymans  <wim@fluendo.com>
21217
21218         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_set_caps),
21219         (gst_pad_alloc_buffer), (gst_pad_query), (gst_pad_push):
21220         * gst/gstqueue.c: (gst_queue_change_state):
21221         Clear queue when going to READY.
21222         Remove IN_SETCAPS flag too.
21223
21224 2005-05-17  Tim-Philipp Müller  <tim at centricular dot net>
21225
21226         * gst/base/gstbasesrc.c: (gst_basesrc_change_state):
21227           Remove implicit cast from gboolean to GstElementStateReturn;
21228           make sure we still return failure in paused => ready case if
21229           the parent class fails to change state and our own stop 
21230           vfunc succeeds.
21231
21232 2005-05-17  Wim Taymans  <wim@fluendo.com>
21233
21234         * tools/gst-launch.c: (event_loop):
21235         Message was unreffed too soon.
21236
21237 2005-05-16  Andy Wingo  <wingo@pobox.com>
21238
21239         * gst/gstbin.c (sink_iterator_filter): Err... um...
21240
21241         * check/gst/gstbin.c (test_ghost_pads): New test for the
21242         ghosting-if-elements-not-in-same-bin behavior.
21243
21244 2005-05-16  David Schleef  <ds@schleef.org>
21245
21246         * gst/gstminiobject.c: Use g_atomic_int_get() instead of
21247         accessing refcount directly.
21248
21249 2005-05-15  David Schleef  <ds@schleef.org>
21250
21251         * check/Makefile.am: remove GstData checks
21252         * check/gst-libs/gdp.c: (START_TEST): fix for API changes
21253         * gst/Makefile.am: add miniobject, remove data
21254         * gst/gst.h: add miniobject, remove data
21255         * gst/gstdata.c: remove
21256         * gst/gstdata.h: remove
21257         * gst/gstdata_private.h: remove
21258         * gst/gsttypes.h: remove GstEvent and GstMessage
21259         * gst/gstelement.c: (gst_element_post_message): fix for API changes
21260         * gst/gstmarshal.list: change BOXED -> OBJECT
21261
21262         Implement GstMiniObject.
21263         * gst/gstminiobject.c:
21264         * gst/gstminiobject.h:
21265
21266         Modify to be subclasses of GstMiniObject.
21267         * gst/gstbuffer.c: (_gst_buffer_initialize), (gst_buffer_get_type),
21268         (gst_buffer_class_init), (gst_buffer_finalize), (_gst_buffer_copy),
21269         (gst_buffer_init), (gst_buffer_new), (gst_buffer_new_and_alloc),
21270         (gst_subbuffer_get_type), (gst_subbuffer_init),
21271         (gst_buffer_create_sub), (gst_buffer_is_span_fast),
21272         (gst_buffer_span):
21273         * gst/gstbuffer.h:
21274         * gst/gstevent.c: (_gst_event_initialize), (gst_event_get_type),
21275         (gst_event_class_init), (gst_event_init), (gst_event_finalize),
21276         (_gst_event_copy), (gst_event_new):
21277         * gst/gstevent.h:
21278         * gst/gstmessage.c: (_gst_message_initialize),
21279         (gst_message_get_type), (gst_message_class_init),
21280         (gst_message_init), (gst_message_finalize), (_gst_message_copy),
21281         (gst_message_new), (gst_message_new_error),
21282         (gst_message_new_warning), (gst_message_new_tag),
21283         (gst_message_new_state_changed), (gst_message_new_application):
21284         * gst/gstmessage.h:
21285         * gst/gstprobe.c: (gst_probe_perform),
21286         (gst_probe_dispatcher_dispatch):
21287         * gst/gstprobe.h:
21288         * gst/gstquery.c: (_gst_query_initialize), (gst_query_get_type),
21289         (gst_query_class_init), (gst_query_finalize), (gst_query_init),
21290         (_gst_query_copy), (gst_query_new):
21291
21292         Update elements for GstData -> GstMiniObject changes
21293         * gst/gstquery.h:
21294         * gst/gstqueue.c: (gst_queue_finalize), (gst_queue_locked_flush),
21295         (gst_queue_chain), (gst_queue_loop):
21296         * gst/elements/gstbufferstore.c:
21297         (gst_buffer_store_add_buffer_func),
21298         (gst_buffer_store_cleared_func), (gst_buffer_store_get_buffer):
21299         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21300         (gst_fakesink_render):
21301         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
21302         * gst/elements/gstfilesrc.c: (gst_mmap_buffer_get_type),
21303         (gst_mmap_buffer_class_init), (gst_mmap_buffer_init),
21304         (gst_mmap_buffer_finalize), (gst_filesrc_map_region),
21305         (gst_filesrc_create_read):
21306         * gst/elements/gstidentity.c: (gst_identity_class_init):
21307         * gst/elements/gsttypefindelement.c:
21308         (gst_type_find_element_src_event), (free_entry_buffers),
21309         (gst_type_find_element_handle_event):
21310         * libs/gst/dataprotocol/dataprotocol.c:
21311         (gst_dp_header_from_buffer):
21312         * libs/gst/dataprotocol/dataprotocol.h:
21313         * libs/gst/dataprotocol/dp-private.h:
21314
21315 2005-05-15  David Schleef  <ds@schleef.org>
21316
21317         * gst/elements/gstelements.c: Don't include headers that were
21318         just removed.
21319
21320 2005-05-15  David Schleef  <ds@schleef.org>
21321
21322         * gst/elements/Makefile.am: Remove some elements that don't
21323         need to be in the core (or even exist at all).
21324         * gst/elements/gstaggregator.c:
21325         * gst/elements/gstaggregator.h:
21326         * gst/elements/gstmd5sink.c:
21327         * gst/elements/gstmd5sink.h:
21328         * gst/elements/gstmultifilesrc.c:
21329         * gst/elements/gstmultifilesrc.h:
21330         * gst/elements/gstpipefilter.c:
21331         * gst/elements/gstpipefilter.h:
21332         * gst/elements/gstshaper.c:
21333         * gst/elements/gstshaper.h:
21334         * gst/elements/gststatistics.c:
21335         * gst/elements/gststatistics.h:
21336         * po/POTFILES.in: Remove above files.
21337
21338 2005-05-14  Andy Wingo  <wingo@pobox.com>
21339
21340         * gst/gstbin.c (gst_bin_iterate_sinks): Use sink_iterator_filter
21341         so as to get the refs right.
21342         (sink_iterator_filter): New function, wraps bin_element_is_sink,
21343         unreffing objects that don't pass the filter.
21344
21345         * gst/gstpipeline.c (gst_pipeline_init): Drop ref on bus after
21346         gst_element_set_bus.
21347         (gst_pipeline_dispose): Set the bus on the pipeline to NULL. In
21348         normal cases, this will destroy the bus.
21349
21350         * gst/gstutils.c (prepare_link_maybe_ghosting): Drop ref on root
21351         object.
21352
21353         * gst/gstbin.c (gst_bin_change_state): Fix state changes if a bin
21354         has no sinks.
21355
21356 2005-05-13  Andy Wingo  <wingo@pobox.com>
21357
21358         * gst/gstutils.c (gst_element_link_pads): Instead of calling
21359         gst_pad_link, call pad_link_maybe_ghosting,
21360         (pad_link_maybe_ghosting): Links pads, making sure that the
21361         elements being linked are in the same bin.
21362         (find_common_root, object_has_ancestor, ghost_up, remove_pad):
21363         Helpers for pad_link_maybe_ghosting.
21364
21365 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21366
21367         * configure.ac:
21368           Require GLib >= 2.4.0 (for the g_atomic_* funcs)
21369
21370 2005-05-13  Tim-Philipp Müller  <tim at centricular dot net>
21371
21372         * docs/design/part-element-source.txt:
21373           Mention GstPushSrc
21374
21375 2005-05-12  Wim Taymans  <wim@fluendo.com>
21376
21377         * gst/base/gstbasesink.c: (gst_basesink_init),
21378         (gst_basesink_activate):
21379         * gst/base/gstbasesrc.c: (gst_basesrc_unlock),
21380         (gst_basesrc_is_seekable):
21381         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_remove_func),
21382         (bin_element_is_sink), (gst_bin_change_state):
21383         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21384         * gst/gstelement.h:
21385         Identify sinks by their flag to avoid overly complicated
21386         checks (fow now).
21387         Do state changes even for elements not reachable from the
21388         sinks.
21389         BaseSink is a sink now :)
21390         Some more debugging info in the basesrc.
21391
21392
21393 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21394
21395         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_query):
21396           Implement _query on a bin, similar to _send_event.
21397
21398 2005-05-12  Tim-Philipp Müller  <tim at centricular dot net>
21399
21400         * gst/base/gstbasesrc.c: (gst_basesrc_do_seek):
21401           Discont event offset format should be GST_FORMAT_BYTES,
21402           not GST_FORMAT_TIME.
21403
21404 2005-05-12  Wim Taymans  <wim@fluendo.com>
21405
21406         * gst/gstbin.c: (gst_bin_remove_func), (gst_bin_get_state):
21407         Same fix as Ronald's but without the signal. 
21408
21409 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21410
21411         * gst/gstutils.c: (gst_element_query_position):
21412           No, an element is not a pad.
21413
21414 2005-05-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21415
21416         * gst/gstbin.c: (gst_bin_add_func), (cb_parent_unset),
21417         (gst_bin_get_state):
21418           If a child is removed from a bin while we remove the child from
21419           the bin and while we're retrieving its state, signal this to the
21420           get_state function so we abort the wait (instead of waiting for
21421           a timeout) and can immediately re-iterate over all other elements.
21422
21423 2005-05-12  Wim Taymans  <wim@fluendo.com>
21424
21425         * gst/base/Makefile.am:
21426         * gst/base/gstbasesrc.c: (gst_basesrc_is_seekable),
21427         (gst_basesrc_start):
21428         * gst/base/gstbasesrc.h:
21429         * gst/base/gstpushsrc.c: (gst_pushsrc_get_type),
21430         (gst_pushsrc_base_init), (gst_pushsrc_class_init),
21431         (gst_pushsrc_init), (gst_pushsrc_create):
21432         * gst/base/gstpushsrc.h:
21433         Added is_seekable to BaseSrc
21434         Added simple PushSrc.
21435
21436 2005-05-11  Wim Taymans  <wim@fluendo.com>
21437
21438         * gst/gstelement.c: (gst_element_add_pad), (gst_element_query):
21439         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21440         (gst_element_link_pads), (gst_element_query_position),
21441         (gst_element_query_convert), (intersect_caps_func),
21442         (gst_pad_query_position), (gst_pad_query_convert):
21443         Fix refcounting in utils function.
21444         No point in trying to activate a pad when it's added, it could
21445         be added from the state change function and then we deadlock, the
21446         element has to decide what to do.
21447
21448 2005-05-10  Andy Wingo  <wingo@pobox.com>
21449
21450         * gst/elements/gstfakesink.c (gst_fakesink_render): Er, emit with
21451         *all* the arguments.
21452
21453         * gst/base/gstbasetransform.c (gst_base_transform_event): Grab the
21454         stream lock if it's a FLUSH_DONE; normal flushes don't get the
21455         lock (according to the docs -- if this is wrong change the docs).
21456
21457         * gst/gstpipeline.c (gst_pipeline_change_state): Set the bus to
21458         flush messages in the NULL state.
21459
21460         * gst/gstbus.c (gst_bus_post): If a bus is flushing, unref the
21461         message immediately and return.
21462         (gst_bus_set_flushing): New function. If a bus is flushing, it
21463         flushes out any queued messages and immediately unrefs new
21464         messages. This is so when an element goes to NULL, all of the
21465         unhandled messages coming from it can be freed, and their
21466         references to the element dropped. In other words: message source
21467         ref considered harmful :P
21468
21469         * gst/gstbin.c (gst_bin_change_state): Unref peer element when
21470         we're finished with it.
21471
21472         * gst/gstmessage.c (gst_message_new_state_changed): 
21473
21474 2005-05-10  Wim Taymans  <wim@fluendo.com>
21475
21476         * gst/gstvalue.c: (gst_value_compare_flags),
21477         (gst_value_serialize_flags), (gst_value_deserialize_flags),
21478         (_gst_value_initialize):
21479         Added flags serialize/deserialize/compare code.
21480
21481 2005-05-09  Andy Wingo  <wingo@pobox.com>
21482
21483         * gst/base/gstbasetransform.c (gst_base_transform_proxy_getcaps):
21484         Intersect the peer's caps with our caps.
21485
21486 2005-05-09  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21487
21488         * gst/base/gsttypefindhelper.c: (helper_find_peek):
21489         * gst/elements/gsttypefindelement.c: (find_peek):
21490           Handle negative offsets better. Fixes decodebin.
21491
21492 2005-05-09  Wim Taymans  <wim@fluendo.com>
21493
21494         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps),
21495         (gst_base_transform_event):
21496         * gst/gstpad.c: (gst_pad_accept_caps), (gst_pad_query):
21497         Implement accept_caps.
21498         Fix silly lock/unlock mismatch in base class.
21499
21500 2005-05-09  Wim Taymans  <wim@fluendo.com>
21501
21502         * docs/design/draft-push-pull.txt:
21503         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_query):
21504         * gst/elements/gstfilesink.c: (gst_filesink_init),
21505         (gst_filesink_query):
21506         * gst/elements/gsttypefindelement.c: (gst_type_find_element_init),
21507         (gst_type_find_handle_src_query), (find_element_get_length):
21508         * gst/gstelement.c: (gst_element_seek), (gst_element_query):
21509         * gst/gstelement.h:
21510         * gst/gstmessage.c:
21511         * gst/gstmessage.h:
21512         * gst/gstpad.c: (gst_real_pad_init), (gst_pad_get_query_types),
21513         (gst_real_pad_get_caps_unlocked),
21514         (gst_pad_get_internal_links_default), (gst_pad_get_internal_links),
21515         (gst_pad_event_default_dispatch), (gst_pad_event_default),
21516         (gst_pad_dispatcher), (gst_pad_query), (gst_pad_query_default),
21517         (gst_real_pad_dispose), (gst_real_pad_finalize),
21518         (gst_pad_load_and_link), (gst_pad_save_thyself),
21519         (gst_ghost_pad_save_thyself), (handle_pad_block), (gst_pad_push),
21520         (gst_pad_check_pull_range), (gst_pad_pull_range),
21521         (gst_pad_template_get_type), (gst_pad_template_class_init),
21522         (gst_pad_template_init), (gst_pad_template_dispose),
21523         (name_is_valid), (gst_static_pad_template_get),
21524         (gst_pad_template_new), (gst_static_pad_template_get_caps),
21525         (gst_pad_template_get_caps), (gst_pad_set_element_private),
21526         (gst_pad_get_element_private), (gst_pad_start_task),
21527         (gst_pad_pause_task), (gst_pad_stop_task),
21528         (gst_ghost_pad_get_type), (gst_ghost_pad_class_init),
21529         (gst_ghost_pad_init), (gst_ghost_pad_dispose),
21530         (gst_ghost_pad_set_property), (gst_ghost_pad_get_property),
21531         (gst_ghost_pad_new):
21532         * gst/gstpad.h:
21533         * gst/gstquery.c: (_gst_query_initialize), (gst_query_new),
21534         (gst_query_new_position), (gst_query_set_position),
21535         (gst_query_parse_position), (gst_query_new_convert),
21536         (gst_query_set_convert), (gst_query_parse_convert):
21537         * gst/gstquery.h:
21538         * gst/gstqueryutils.c:
21539         * gst/gstqueryutils.h:
21540         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21541         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21542         (gst_queue_handle_src_query):
21543         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21544         (gst_element_query_position), (gst_element_query_convert),
21545         (intersect_caps_func), (gst_pad_query_position),
21546         (gst_pad_query_convert):
21547         * gst/gstutils.h:
21548         * tools/gst-inspect.c: (print_pad_info):
21549         * tools/gst-xmlinspect.c: (print_element_info):
21550         Remove old query functions. Ported old code.
21551         Added position/convert helper functions to gstutils.
21552         Reordered gstpad.c code, grouping relevant things.
21553         Remove gst_message_new(), always need to speficy a specific
21554         message.
21555
21556
21557 2005-05-09  Andy Wingo  <wingo@pobox.com>
21558
21559         * gst/gstiterator.h: Add some includes.
21560
21561         * gst/gstqueryutils.h: Include more headers.
21562
21563         * gst/gstpad.h:
21564         * gst/gstpad.c (gst_pad_query_position): New routine, replaces
21565         some uses of gst_pad_query.
21566
21567         * gst/gstqueryutils.c: Build fixes. Make parse functions ignore
21568         NULL out parameters.
21569         (gst_query_new_position): New proc, allocates a new position
21570         query.
21571
21572         * gst/Makefile.am (libgstreamer_@GST_MAJORMINOR@_la_SOURCES): Add
21573         gstqueryutils.c to the build.
21574
21575         * gst/gststructure.c (gst_structure_set_valist): Implement with
21576         the generic G_VALUE_COLLECT.
21577         
21578 2005-05-08  Edward Hervey  <bilboed@bilboed.com>
21579
21580         * gst/Makefile.am: (gst_headers):
21581         Added gstqueryutils.h to the list of headers to install, that was
21582         a 'nachty' move wingo :)
21583
21584 2005-05-06  Andy Wingo  <wingo@pobox.com>
21585
21586         * gst/gstquery.h
21587         * gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
21588         GstData, init a memchunk.
21589         (standard_definitions): Add a few query types, deprecate a few.
21590         (gst_query_get_type): New proc.
21591         (_gst_query_copy, _gst_query_free, gst_query_new): GstData
21592         implementation.
21593         (gst_query_new_application, gst_query_get_structure): New public
21594         procs.
21595
21596         * docs/design/draft-query.txt: Removed LINKS from the query types,
21597         because all the rest can be dispatched to other pads -- seemed
21598         ugly to have a query that couldn't be dispatched. internal_links
21599         is fine as a pad method.
21600
21601         * gst/gstpad.h: Add query2 as a pad method, add the new functions
21602         in gstpad.c, but maintain binary compatibility for the moment.
21603         Will fix before 0.9 is out.
21604
21605         * gst/gstqueryutils.c: 
21606         * gst/gstqueryutils.h: New files, implement 3 methods for each
21607         query type: parse_query, parse_response, and set. Probably need an
21608         allocator as well.
21609
21610         * gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
21611
21612         * gst/elements/gstfilesink.c (gst_filesink_query2):
21613         * gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
21614         query_types, and formats methods.
21615
21616         * gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
21617         (gst_pad_set_query2_function): New functions.
21618         (gst_real_pad_init): Set query2_default as the default query2
21619         function. Basically just dispatches to internally linked pads.
21620
21621         Needs review!
21622         
21623         * gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
21624         without using the atomic operations. Only one thread can possibly
21625         be accessing the data at this point. Changed so as to avoid
21626         gst_atomic operations.
21627
21628 2005-05-06  Wim Taymans  <wim@fluendo.com>
21629
21630         * gst/gstpad.c: (gst_pad_alloc_buffer), (gst_pad_push):
21631         Also set caps if we use the fallback buffer alloc.
21632
21633 2005-05-06  Tim-Philipp Müller  <tim at centricular dot net>
21634
21635         * docs/gst/Makefile.am:
21636         * docs/gst/gstreamer-docs.sgml:
21637         * docs/gst/gstreamer-sections.txt:
21638         * docs/gst/tmpl/gstatomic.sgml:
21639         * docs/gst/tmpl/gstmemchunk.sgml:
21640         * testsuite/elements/struct_i386.h:
21641         * win32/GStreamer.vcproj:
21642         * win32/Makefile:
21643           Purge GstAtomic stuff from docs and win32 makefiles as well
21644
21645 2005-05-06  Wim Taymans  <wim@fluendo.com>
21646
21647         * gst/base/gstbasetransform.c: (gst_base_transform_proxy_getcaps):
21648         * gst/elements/gstcapsfilter.c: (gst_capsfilter_getcaps):
21649         * gst/gstpad.c: (gst_pad_peer_get_caps):
21650         * gst/gstqueue.c: (gst_queue_init), (gst_queue_getcaps),
21651         (gst_queue_bufferalloc), (gst_queue_handle_sink_event),
21652         (gst_queue_src_activate), (gst_queue_change_state):
21653         * gst/gstqueue.h:
21654         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21655         (intersect_caps_func):
21656         Fix gst_pad_peer_get_caps(), make it return NULL if no peer.
21657         Always take QUEUE_LOCK after STREAM_LOCK or we might deadlock.
21658         Some fixes for the peer_get_caps() change.
21659
21660 2005-05-06  Wim Taymans  <wim@fluendo.com>
21661
21662         * gst/base/gstbasesink.c: (gst_basesink_preroll_queue_empty),
21663         (gst_basesink_handle_buffer), (gst_basesink_chain_unlocked),
21664         (gst_basesink_activate):
21665         Actually do something with error codes returned from the push
21666         functions.
21667
21668 2005-05-06  Wim Taymans  <wim@fluendo.com>
21669
21670         * docs/design/part-element-sink.txt:
21671         * docs/design/part-element-source.txt:
21672         * gst/base/gstbasesink.c: (gst_basesink_class_init),
21673         (gst_basesink_event), (gst_basesink_activate):
21674         * gst/base/gstbasesink.h:
21675         * gst/base/gstbasesrc.c: (gst_basesrc_init), (gst_basesrc_unlock),
21676         (gst_basesrc_activate):
21677         * gst/base/gstbasesrc.h:
21678         * gst/gstelement.c: (gst_element_pads_activate):
21679         Some more documentation.
21680         Fixed scheduling decision in _pads_activate().
21681
21682 2005-05-05  Andy Wingo  <wingo@pobox.com>
21683
21684         * check/pipelines/simple_launch_lines.c (test_2_elements): "Fix"
21685         the test suite.
21686
21687 2005-05-05  Wim Taymans  <wim@fluendo.com>
21688
21689         * gst/base/Makefile.am:
21690         * gst/base/gstbasesink.h:
21691         * gst/base/gstbasesrc.c: (gst_basesrc_init),
21692         (gst_basesrc_set_dataflow_funcs), (gst_basesrc_query):
21693         * gst/base/gstcollectpads.c: (gst_collectpads_get_type),
21694         (gst_collectpads_class_init), (gst_collectpads_init),
21695         (gst_collectpads_finalize), (gst_collectpads_new),
21696         (gst_collectpads_set_function), (gst_collectpads_add_pad),
21697         (find_pad), (gst_collectpads_remove_pad),
21698         (gst_collectpads_is_active), (gst_collectpads_collect),
21699         (gst_collectpads_collect_range), (gst_collectpads_start),
21700         (gst_collectpads_stop), (gst_collectpads_peek),
21701         (gst_collectpads_pop), (gst_collectpads_available),
21702         (gst_collectpads_read), (gst_collectpads_flush),
21703         (gst_collectpads_chain):
21704         * gst/base/gstcollectpads.h:
21705         * gst/elements/Makefile.am:
21706         * gst/elements/gstelements.c:
21707         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
21708         (gst_fakesink_get_times), (gst_fakesink_event),
21709         (gst_fakesink_preroll), (gst_fakesink_render):
21710         * gst/elements/gstfilesink.c: (gst_filesink_class_init),
21711         (gst_filesink_init), (gst_filesink_set_location),
21712         (gst_filesink_open_file), (gst_filesink_close_file),
21713         (gst_filesink_pad_query), (gst_filesink_event),
21714         (gst_filesink_render), (gst_filesink_change_state):
21715         * gst/elements/gstfilesink.h:
21716         Added object to help in making collect pad based elements.
21717         Ported filesink.
21718         Make event function in sink baseclass return gboolean.
21719
21720 2005-05-05  Wim Taymans  <wim@fluendo.com>
21721
21722         * gst/gstbin.c: (gst_bin_send_event), (compare_name),
21723         (gst_bin_get_by_name):
21724         * gst/gstbuffer.h:
21725         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_class_init),
21726         (gst_clock_finalize):
21727         * gst/gstdata.c: (gst_data_replace):
21728         * gst/gstdata.h:
21729         * gst/gstelement.c: (gst_element_request_pad),
21730         (gst_element_pads_activate):
21731         * gst/gstobject.c: (gst_object_init), (gst_object_ref),
21732         (gst_object_unref):
21733         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21734         (gst_pad_set_checkgetrange_function),
21735         (gst_pad_link_check_compatible_unlocked), (gst_pad_set_caps),
21736         (gst_pad_check_pull_range), (gst_pad_pull_range),
21737         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21738         (gst_pad_pause_task), (gst_pad_stop_task):
21739         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
21740         (gst_element_request_pad), (gst_pad_proxy_getcaps):
21741         Fix name lookup in GstBin.
21742         Added _data_replace() function and _buffer_replace()
21743         Use finalize method to clean up clock.
21744         Fix refcounting on request pads.
21745         Fix pad schedule mode error.
21746         Some more object refcounting debug info,
21747
21748
21749 2005-05-04  Andy Wingo <wingo@pobox.com>
21750
21751         * check/Makefile.am:
21752         * docs/gst/tmpl/gstatomic.sgml:
21753         * docs/gst/tmpl/gstplugin.sgml:
21754         * gst/base/gstbasesink.c: (gst_basesink_activate):
21755         * gst/base/gstbasesrc.c: (gst_basesrc_class_init),
21756         (gst_basesrc_init), (gst_basesrc_set_dataflow_funcs),
21757         (gst_basesrc_query), (gst_basesrc_set_property),
21758         (gst_basesrc_get_property), (gst_basesrc_check_get_range),
21759         (gst_basesrc_activate):
21760         * gst/base/gstbasesrc.h:
21761         * gst/base/gstbasetransform.c: (gst_base_transform_sink_activate),
21762         (gst_base_transform_src_activate):
21763         * gst/elements/gstelements.c:
21764         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
21765         (gst_fakesrc_set_property), (gst_fakesrc_get_property):
21766         * gst/elements/gsttee.c: (gst_tee_sink_activate):
21767         * gst/elements/gsttypefindelement.c: (find_element_get_length),
21768         (gst_type_find_element_checkgetrange),
21769         (gst_type_find_element_activate):
21770         * gst/gstbin.c: (gst_bin_save_thyself), (gst_bin_restore_thyself):
21771         * gst/gstcaps.c: (gst_caps_do_simplify), (gst_caps_save_thyself),
21772         (gst_caps_load_thyself):
21773         * gst/gstelement.c: (gst_element_pads_activate),
21774         (gst_element_save_thyself), (gst_element_restore_thyself):
21775         * gst/gstpad.c: (gst_pad_load_and_link), (gst_pad_save_thyself),
21776         (gst_ghost_pad_save_thyself), (gst_pad_check_pull_range):
21777         * gst/gstpad.h:
21778         * gst/gstxml.c: (gst_xml_write), (gst_xml_parse_doc),
21779         (gst_xml_parse_file), (gst_xml_parse_memory),
21780         (gst_xml_get_element), (gst_xml_make_element):
21781         * gst/indexers/gstfileindex.c: (gst_file_index_load),
21782         (_file_index_id_save_xml), (gst_file_index_commit):
21783         * gst/registries/gstlibxmlregistry.c: (read_string), (read_uint),
21784         (read_enum), (load_pad_template), (load_feature), (load_plugin),
21785         (load_paths):
21786         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_caps),
21787         (gst_dp_packet_from_event), (gst_dp_caps_from_packet):
21788         * tools/gst-complete.c: (main):
21789         * tools/gst-compprep.c: (main):
21790         * tools/gst-inspect.c: (print_element_properties_info):
21791         * tools/gst-launch.c: (xmllaunch_parse_cmdline):
21792         * tools/gst-xmlinspect.c: (print_element_properties):
21793         GCC 4 fixen.
21794         
21795 2005-05-03  Thomas Vander Stichele  <thomas at apestaart dot org>
21796
21797         * gst/gstplugin.c: (gst_plugin_check_module),
21798         (gst_plugin_check_file), (gst_plugin_load_file):
21799             apply patch from #172526 to make register work on MacOSX
21800
21801 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21802
21803         * docs/gst/tmpl/gstconfig.sgml:
21804         * gst/gstconfig.h.in:
21805           move documentation for some symbols.  Add doc for GST_PTR_FORMAT
21806         * testsuite/debug/printf_extension.c: (main):
21807           Do not use GST_PTR_FORMAT on pointers to types with
21808           sizeof < sizeof(gpointer).  Fixes test on 64-bit
21809         * testsuite/elements/property.h:
21810           use correct printf format
21811
21812 2005-05-02  Wim Taymans  <wim@fluendo.com>
21813
21814         * docs/design/draft-push-pull.txt:
21815         * docs/design/draft-query.txt:
21816         * gst/base/gstbasesrc.c: (gst_basesrc_get_range_unlocked),
21817         (gst_basesrc_start):
21818         Added draft for new query API.
21819         Added draft for better selecting scheduling methods.
21820         Make basesrc ignore length if the subclass does not support
21821         it.
21822
21823 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21824
21825         * gst/Makefile.am:
21826           possible fixes for automake-1.5 - _LIBADD is reserved
21827
21828 2005-05-02  Thomas Vander Stichele  <thomas at apestaart dot org>
21829
21830         * docs/faq/Makefile.am:
21831         * docs/manual/Makefile.am:
21832         * docs/manuals.mak:
21833         * docs/pwg/Makefile.am:
21834         * gst/Makefile.am:
21835           possible fixes for automake-1.5
21836
21837 2005-04-28  Wim Taymans  <wim@fluendo.com>
21838
21839         * gst/base/gstbasesink.c: (gst_basesink_base_init),
21840         (gst_basesink_pad_getcaps), (gst_basesink_init),
21841         (gst_basesink_do_sync):
21842         * gst/gstclock.c: (gst_clock_entry_new):
21843         * gst/gstevent.c: (gst_event_discont_get_value):
21844         * gst/gstpipeline.c: (pipeline_bus_handler),
21845         (gst_pipeline_change_state):
21846         * gst/gstsystemclock.c: (gst_system_clock_id_wait_unlocked):
21847         Better debugging of clocking info.
21848         Allow NULL values when getting discont values.
21849
21850 2005-04-27  Wim Taymans  <wim@fluendo.com>
21851
21852         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
21853         * check/gst/gstpad.c: (gst_pad_suite):
21854         Increase timeout for checks.
21855
21856 2005-04-27  Thomas Vander Stichele  <thomas (at) apestaart (dot) org>
21857
21858         * check/Makefile.am:
21859           fix the broken rule for cleanup.  Apparently this rule is
21860           only needed on FC2, so maybe this warrants further autotool
21861           inspection.
21862
21863 2005-04-26  Wim Taymans  <wim@fluendo.com>
21864
21865         * gst/gsttrashstack.h:
21866         Ooohh. a nasty one! After having a failed pop() from the stack,
21867         it's possible that the stack is empty. In that case, don't
21868         follow the NULL pointer.
21869
21870 2005-04-25  Wim Taymans  <wim@fluendo.com>
21871
21872         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21873         (gst_pad_set_checkgetrange_function),
21874         (gst_pad_link_check_compatible_unlocked), (gst_pad_link_prepare),
21875         (gst_pad_check_pull_range), (gst_pad_pull_range),
21876         (gst_static_pad_template_get_caps), (gst_pad_start_task),
21877         (gst_pad_pause_task), (gst_pad_stop_task):
21878         * gst/gstplugin.c: (gst_plugin_load):
21879         * gst/gstplugin.h:
21880         Remove gst_library_load as it does more harm than good with
21881         the new g_module flags.
21882         Revert bogus caps template check in pad linking, pad caps
21883         are important when linking not the template, which is more
21884         general than the current caps.
21885
21886 2005-04-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
21887
21888         * gst/autoplug/.cvsignore:
21889         * gst/autoplug/Makefile.am:
21890         * gst/autoplug/gstsearchfuncs.c:
21891         * gst/autoplug/gstsearchfuncs.h:
21892         * gst/autoplug/gstspider.c:
21893         * gst/autoplug/gstspider.h:
21894         * gst/autoplug/gstspideridentity.c:
21895         * gst/autoplug/gstspideridentity.h:
21896         * gst/autoplug/spidertest.c:
21897           Die, spider, die.
21898
21899 2005-04-25  Wim Taymans  <wim@fluendo.com>
21900
21901         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
21902         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
21903         (gst_pad_pull_range), (gst_static_pad_template_get_caps),
21904         (gst_pad_start_task), (gst_pad_pause_task), (gst_pad_stop_task):
21905         * gst/gstpad.h:
21906         Added stubs for unimplemented functions. 
21907
21908 2005-04-24  David Schleef  <ds@schleef.org>
21909
21910         * gst/gstpad.h: Disable some unimplemented functions.  Wim,
21911         please fix.
21912
21913 2005-04-24  David Schleef  <ds@schleef.org>
21914
21915         Convert everything from GstAtomicInt to g_atomic_int_*, and
21916         remove gstatomic.
21917         * gst/Makefile.am:
21918         * gst/gstatomic.c:
21919         * gst/gstatomic.h:
21920         * gst/gstatomic_impl.h:
21921         * gst/gstbuffer.c:
21922         * gst/gstcaps.c:
21923         * gst/gstcaps.h:
21924         * gst/gstclock.c:
21925         * gst/gstclock.h:
21926         * gst/gstdata.c:
21927         * gst/gstdata.h:
21928         * gst/gstdata_private.h:
21929         * gst/gstevent.c:
21930         * gst/gstinfo.c:
21931         * gst/gstinfo.h:
21932         * gst/gstmessage.c:
21933         * gst/gstobject.c:
21934         * gst/gstobject.h:
21935         * gst/gststructure.c:
21936         * gst/gststructure.h:
21937         * gst/gstutils.c: Add gst_atomic_int_set() compaitibility function.
21938         * gst/gstutils.h:
21939
21940 2005-04-24  David Schleef  <ds@schleef.org>
21941
21942         * check/gst/gstpad.c: (START_TEST): Oh yeah, it's always nice to
21943         make the regressions tests work.  Remove some code that is no
21944         longer true.
21945         * gst/gstpad.c: (gst_pad_link_check_templates_compatible_unlocked):
21946         Disable warning for pads without templates.
21947
21948 2005-04-24  David Schleef  <ds@schleef.org>
21949
21950         * gst/gstpad.c: Remove handling of filtered caps.  Fix/merge
21951         functions that handle filtered links.
21952         * gst/gstpad.h: Remove 'appfilter' field and prototypes of
21953         removed functions.
21954         * gst/gstutils.c: Fix/remove utility functions that handle
21955         filtered caps.
21956         * gst/gstutils.h:
21957         * gst/gstvalue.c: Add serialization/deserialization of caps
21958         * gst/parse/grammar.y: Ignore filtered caps when linking.  This
21959         requires fixing so that the filter caps notation creates
21960         a capsfilter element and sets the filter_caps property.  I
21961         think everyone probably wants to keep the shorthand notation.
21962         * docs/gst/tmpl/gstelement.sgml: updates for API changes.
21963         * docs/gst/tmpl/gstpad.sgml:
21964
21965         * gst/elements/gstelements.c: Register capsfilter element.
21966         * gst/Makefile.am: fix spacing
21967         * docs/random/ds/0.9-suggested-changes: random
21968
21969 2005-04-23  David Schleef  <ds@schleef.org>
21970
21971         * gst/elements/Makefile.am:
21972         * gst/elements/gstcapsfilter.c: New element that acts like an
21973         identity, but filters caps.  Will eventually replace filtered
21974         caps in pad linking.
21975         * gst/gstutils.c: (gst_element_create_all_pads): New function
21976         to create all the ALWAYS pads that are registered with an
21977         element class.  This functionality should eventually be
21978         merged in with GstElement initialization.
21979         * gst/gstutils.h:
21980         * testsuite/trigger/README: part of trigger test code that should
21981         have been checked in a long time ago.
21982
21983 2005-04-23  David Schleef  <ds@schleef.org>
21984
21985         * gst/Makefile.am: Remove as-libtool stuff.  It's likely not
21986         needed with new versions of libtool (nobody will confirm this),
21987         and hard to carry around.
21988         * gst/autoplug/Makefile.am:
21989         * gst/base/Makefile.am:
21990         * gst/elements/Makefile.am:
21991         * gst/indexers/Makefile.am:
21992         * gst/schedulers/Makefile.am:
21993         * libs/gst/bytestream/Makefile.am:
21994         * libs/gst/control/Makefile.am:
21995         * libs/gst/dataprotocol/Makefile.am:
21996         * libs/gst/getbits/Makefile.am:
21997
21998 2005-04-21  Wim Taymans  <wim@fluendo.com>
21999
22000         * docs/design/draft-push-pull.txt:
22001         * docs/design/part-MT-refcounting.txt:
22002         * docs/design/part-TODO.txt:
22003         * docs/design/part-caps.txt:
22004         * docs/design/part-events.txt:
22005         * docs/design/part-gstbus.txt:
22006         * docs/design/part-gstpipeline.txt:
22007         * docs/design/part-messages.txt:
22008         * docs/design/part-push-pull.txt:
22009         * docs/design/part-query.txt:
22010         Some more docs.
22011
22012 2005-04-21  Wim Taymans  <wim@fluendo.com>
22013
22014         * gst/gstmessage.c: (_gst_message_copy), (_gst_message_free),
22015         (gst_message_new), (gst_message_new_error),
22016         (gst_message_new_warning), (gst_message_new_tag),
22017         (gst_message_new_state_changed), (gst_message_new_application),
22018         (gst_message_get_structure):
22019         * gst/gstmessage.h:
22020         * gst/gststructure.c: (gst_structure_set_parent_refcount),
22021         (gst_structure_copy_conditional):
22022         Use parent refcount in GstMessage to ensure GstStructure
22023         consistency.
22024         Cleaned up headers a bit.
22025         
22026
22027 2005-04-20  Wim Taymans  <wim@fluendo.com>
22028
22029         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22030         (gst_basesink_pad_getcaps), (gst_basesink_init),
22031         (gst_basesink_chain_unlocked):
22032         * gst/base/gsttypefindhelper.c: (helper_find_suggest),
22033         (gst_type_find_helper):
22034         * gst/elements/gsttypefindelement.c:
22035         (gst_type_find_element_have_type), (gst_type_find_element_init),
22036         (stop_typefinding), (gst_type_find_element_handle_event),
22037         (find_suggest), (gst_type_find_element_chain),
22038         (gst_type_find_element_checkgetrange),
22039         (gst_type_find_element_getrange), (do_typefind),
22040         (gst_type_find_element_activate):
22041         * gst/gstbuffer.c: (_gst_buffer_sub_free),
22042         (gst_buffer_default_free), (gst_buffer_default_copy),
22043         (gst_buffer_set_caps):
22044         * gst/gstcaps.c: (gst_caps_ref), (gst_caps_unref),
22045         (gst_caps_replace):
22046         * gst/gstmessage.c: (gst_message_new),
22047         (gst_message_new_state_changed):
22048         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22049         (gst_pad_set_checkgetrange_function),
22050         (gst_pad_link_prepare_filtered), (gst_pad_relink_filtered),
22051         (gst_pad_set_caps), (gst_pad_check_pull_range),
22052         (gst_pad_pull_range), (gst_static_pad_template_get_caps):
22053         * gst/gstpad.h:
22054         * gst/gsttypefind.c: (gst_type_find_register):
22055         Make gst_caps_replace() work like other _replace() functions.
22056         Use _caps_replace() where possible.
22057         Make sure _message_new() initialises its field.
22058         Add gst_static_pad_template_get_caps()
22059
22060
22061 2005-04-18  Andy Wingo  <wingo@pobox.com>
22062
22063         * gst/gstelement.c (gst_element_pads_activate): Check pull_range
22064         on the peer, not the pad. I think that was a typo. Pass an extra
22065         arg to see if random access is possible. Activate the pads as
22066         PULL_RANGE if possible.
22067
22068         * gst/elements/gstfakesrc.c: s/ARG_/PROP_/.
22069
22070         * gst/base/gstbasesrc.c (gst_basesrc_set_property) 
22071         (gst_basesrc_get_property): BLOCKSIZE is a ULONG. Rename ARG_...
22072         to PROP_....
22073
22074 2005-04-14  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22075
22076         * docs/faq/using.xml:
22077           Add note on gstreamer-properties (#154996).
22078
22079 2005-04-13  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22080
22081         * docs/random/bbb/optional-properties:
22082           Some analysis on optional properties.
22083
22084 2005-04-12  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22085
22086         * docs/gst/tmpl/gstelementfactory.sgml:
22087         * gst/gstelement.h:
22088         * gst/gstelementfactory.c: (gst_element_factory_init),
22089         (gst_element_factory_cleanup), (gst_element_register),
22090         (__gst_element_factory_add_static_pad_template),
22091         (gst_element_factory_get_static_pad_templates),
22092         (gst_element_factory_can_src_caps),
22093         (gst_element_factory_can_sink_caps):
22094         * gst/registries/Makefile.am:
22095         * gst/registries/gstlibxmlregistry.c: (gst_xml_registry_get_type),
22096         (gst_xml_registry_class_init), (gst_xml_registry_init),
22097         (gst_xml_registry_new), (gst_xml_registry_set_property),
22098         (gst_xml_registry_get_property), (get_time), (make_dir),
22099         (gst_xml_registry_get_perms_func),
22100         (plugin_times_older_than_recurse), (plugin_times_older_than),
22101         (gst_xml_registry_open_func), (gst_xml_registry_load_func),
22102         (gst_xml_registry_save_func), (gst_xml_registry_close_func),
22103         (add_to_char_array), (read_string), (read_uint), (read_enum),
22104         (load_pad_template), (load_feature), (load_plugin), (load_paths),
22105         (gst_xml_registry_load), (gst_xml_registry_load_plugin),
22106         (gst_xml_registry_save_caps), (gst_xml_registry_save_pad_template),
22107         (gst_xml_registry_save_feature), (gst_xml_registry_save_plugin),
22108         (gst_xml_registry_save), (gst_xml_registry_rebuild_recurse),
22109         (gst_xml_registry_rebuild):
22110         * gst/registries/gstlibxmlregistry.h:
22111         * tools/gst-compprep.c: (main):
22112         * tools/gst-inspect.c: (print_pad_templates_info):
22113         * tools/gst-xmlinspect.c: (print_element_info):
22114           Use libxml2 for registry parsing, use staticpadtemplates in
22115           elementfactories. Makes gst_init() +/- 10x faster.
22116
22117 2005-04-12  Wim Taymans  <wim@fluendo.com>
22118
22119         * gst/base/Makefile.am:
22120         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22121         (gst_basesink_pad_getcaps), (gst_basesink_init),
22122         (gst_basesink_event), (gst_basesink_change_state):
22123         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22124         (gst_basesrc_init), (gst_basesrc_query),
22125         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22126         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22127         (gst_basesrc_check_get_range), (gst_basesrc_loop),
22128         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22129         (gst_basesrc_stop), (gst_basesrc_activate),
22130         (gst_basesrc_change_state):
22131         * gst/base/gsttypefindhelper.c: (helper_find_peek),
22132         (helper_find_suggest), (gst_type_find_helper):
22133         * gst/base/gsttypefindhelper.h:
22134         * gst/elements/Makefile.am:
22135         * gst/elements/gstelements.c:
22136         * gst/elements/gstfakesink.c: (gst_fakesink_class_init),
22137         (gst_fakesink_get_times), (gst_fakesink_event),
22138         (gst_fakesink_preroll), (gst_fakesink_render):
22139         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22140         (gst_fakesrc_init), (gst_fakesrc_event_handler),
22141         (gst_fakesrc_get_property), (gst_fakesrc_create),
22142         (gst_fakesrc_start), (gst_fakesrc_stop):
22143         * gst/elements/gstfakesrc.h:
22144         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init),
22145         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22146         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22147         (gst_filesrc_create_read), (gst_filesrc_create),
22148         (gst_filesrc_is_seekable), (gst_filesrc_get_size),
22149         (gst_filesrc_start):
22150         * gst/elements/gsttypefindelement.c:
22151         (gst_type_find_element_have_type), (gst_type_find_element_init),
22152         (start_typefinding), (stop_typefinding), (push_buffer_store),
22153         (gst_type_find_element_handle_event),
22154         (gst_type_find_element_chain),
22155         (gst_type_find_element_checkgetrange),
22156         (gst_type_find_element_getrange), (do_typefind),
22157         (gst_type_find_element_activate),
22158         (gst_type_find_element_change_state):
22159         * gst/elements/gsttypefindelement.h:
22160         * gst/gstpipeline.c: (pipeline_bus_handler):
22161         Added typefind helper.
22162         Small preroll fix in the base sink.
22163         Disable typefind code in basesrc.
22164         Crude port of typefindelement.
22165         Fakesrc cleanups.
22166
22167
22168 2005-04-11  Wim Taymans  <wim@fluendo.com>
22169
22170         * check/gst/gstbus.c: (gstbus_suite):
22171         * check/gst/gstdata.c: (thread_ref), (gst_data_suite):
22172         * check/gstcheck.h:
22173           Fix up the timeout so that the test does not fail.
22174
22175 2005-04-06  Wim Taymans  <wim@fluendo.com>
22176
22177         * gst/base/README:
22178         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22179         (gst_basesrc_init), (gst_basesrc_get_formats), (gst_basesrc_query),
22180         (gst_basesrc_get_event_mask), (gst_basesrc_do_seek),
22181         (gst_basesrc_event_handler), (gst_basesrc_get_range_unlocked),
22182         (gst_basesrc_check_get_range), (gst_basesrc_loop),
22183         (gst_basesrc_unlock), (gst_basesrc_get_size), (gst_basesrc_start),
22184         (gst_basesrc_stop), (gst_basesrc_activate),
22185         (gst_basesrc_change_state), (basesrc_find_peek),
22186         (basesrc_find_suggest), (gst_basesrc_type_find):
22187         * gst/base/gstbasesrc.h:
22188         * gst/elements/gstfilesrc.c: (gst_filesrc_base_init),
22189         (gst_filesrc_class_init), (gst_filesrc_init),
22190         (gst_filesrc_finalize), (gst_filesrc_set_location),
22191         (gst_filesrc_set_property), (gst_filesrc_get_property),
22192         (gst_filesrc_free_parent_mmap), (gst_filesrc_map_region),
22193         (gst_filesrc_map_small_region), (gst_filesrc_create_mmap),
22194         (gst_filesrc_create_read), (gst_filesrc_create),
22195         (gst_filesrc_get_size), (gst_filesrc_start), (gst_filesrc_stop):
22196         * gst/elements/gstfilesrc.h:
22197         * gst/gstelement.c: (gst_element_get_state_func),
22198         (gst_element_lost_state), (gst_element_pads_activate):
22199         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22200         (gst_pad_set_checkgetrange_function), (gst_pad_check_pull_range),
22201         (gst_pad_pull_range):
22202         * gst/gstpad.h:
22203         More work on the generic source base class, implement seeking,
22204         query.
22205         Make filesrc extend the base source class.
22206         Added gst_pad_set_checkgetrange_function to GstPad.
22207
22208 2005-04-06  Andy Wingo  <wingo@pobox.com>
22209
22210         * pkgconfig/gstreamer-base.pc.in:
22211         * pkgconfig/gstreamer-base-uninstalled.pc.in: New files.
22212
22213         * pkgconfig/Makefile.am:
22214         * configure.ac (AC_OUTPUT): Add gstreamer-base pkgconfig files.
22215
22216 2005-04-04  Wim Taymans  <wim@fluendo.com>
22217
22218         * gst/base/Makefile.am:
22219         * gst/base/README:
22220         * gst/base/gstbasesink.c: (gst_basesink_base_init),
22221         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22222         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22223         (gst_basesink_do_sync), (gst_basesink_chain_unlocked):
22224         * gst/base/gstbasesrc.c: (gst_basesrc_get_type),
22225         (gst_basesrc_base_init), (gst_basesrc_class_init),
22226         (gst_basesrc_init), (gst_basesrc_get_formats),
22227         (gst_basesrc_get_query_types), (gst_basesrc_query),
22228         (gst_basesrc_get_event_mask), (gst_basesrc_event_handler),
22229         (gst_basesrc_set_property), (gst_basesrc_get_property),
22230         (gst_basesrc_get_range_unlocked), (gst_basesrc_get_range),
22231         (gst_basesrc_loop), (gst_basesrc_activate),
22232         (gst_basesrc_change_state):
22233         * gst/base/gstbasesrc.h:
22234         * gst/elements/gstfakesrc.c: (gst_fakesrc_base_init),
22235         (gst_fakesrc_class_init), (gst_fakesrc_init),
22236         (gst_fakesrc_event_handler), (gst_fakesrc_set_property),
22237         (gst_fakesrc_get_property), (gst_fakesrc_create):
22238         * gst/elements/gstfakesrc.h:
22239         * gst/elements/gstfilesrc.c: (gst_filesrc_getrange),
22240         (gst_filesrc_open_file), (gst_filesrc_loop),
22241         (gst_filesrc_activate), (filesrc_find_peek),
22242         (gst_filesrc_type_find):
22243         Made base source class, make fakesrc extend it.
22244         Add comments to basesink class.
22245         Some filesrc cleanup.
22246
22247 2005-03-31  David Schleef  <ds@schleef.org>
22248
22249         * gst/gstplugin.c: (gst_plugin_check_file), (gst_plugin_load_file):
22250         Switch to using G_MODULE_BIND_LOCAL, which means plugins are now
22251         expected to link against libgstreamer.
22252         * gst/base/Makefile.am: link against libgstreamer
22253         * gst/elements/Makefile.am: same
22254
22255 2005-03-31  Andy Wingo  <wingo@pobox.com>
22256
22257         * tests/instantiate/Makefile.am:
22258         * tests/instantiate/caps.c: Add test to test speed of caps copy
22259         and free.
22260
22261         * tests/memchunk/gmemchunktest.c (main): Use alloc only on the
22262         GMemChunk to be fair.
22263
22264         * gst/gsttrashstack.h: Remove warning about using the fallback
22265         trash stack implementation, it's still faster than malloc.
22266
22267 2005-03-30  Andy Wingo  <wingo@pobox.com>
22268
22269         * tests/complexity.c: Add a copyright.
22270
22271 2005-03-31  Wim Taymans  <wim@fluendo.com>
22272
22273         * gst/base/gstbasetransform.c: (gst_base_transform_base_init),
22274         (gst_base_transform_class_init), (gst_base_transform_init),
22275         (gst_base_transform_setcaps), (gst_base_transform_handle_buffer),
22276         (gst_base_transform_get_property),
22277         (gst_base_transform_sink_activate),
22278         (gst_base_transform_src_activate),
22279         (gst_base_transform_change_state):
22280         * gst/base/gstbasetransform.h:
22281         * gst/elements/gstidentity.c: (gst_identity_class_init),
22282         (gst_identity_event), (gst_identity_check_perfect),
22283         (gst_identity_transform), (gst_identity_start),
22284         (gst_identity_stop):
22285         Added start/stop methods to transform base class so subclasses 
22286         don't need to deal with state changes even.
22287
22288 2005-03-31  Wim Taymans  <wim@fluendo.com>
22289
22290         * gst/gstevent.c: (gst_event_new_discontinuous_valist),
22291         (gst_event_new_discontinuous), (gst_event_discont_get_value):
22292         * gst/gstevent.h:
22293         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22294         (gst_pad_pull_range):
22295         Added rate to the discont event to prepare for variable speed
22296         and reverse playback.
22297
22298 2005-03-29  David Schleef  <ds@schleef.org>
22299
22300         * configure.ac:
22301         * testsuite/trigger/Makefile.am:
22302         * testsuite/trigger/trigger.c: A little example program to show
22303         how trigger-based elements can work.
22304
22305 2005-03-29  Wim Taymans  <wim@fluendo.com>
22306
22307         * gst/base/Makefile.am:
22308         * gst/base/README:
22309         * gst/base/gstbasesink.c: (gst_basesink_get_type),
22310         (gst_basesink_base_init), (gst_basesink_class_init),
22311         (gst_basesink_pad_getcaps), (gst_basesink_init),
22312         (gst_basesink_activate), (gst_basesink_change_state):
22313         * gst/base/gstbasesink.h:
22314         * gst/base/gstbasetransform.c: (gst_base_transform_get_type),
22315         (gst_base_transform_base_init), (gst_base_transform_finalize),
22316         (gst_base_transform_class_init), (gst_base_transform_init),
22317         (gst_base_transform_proxy_getcaps), (gst_base_transform_setcaps),
22318         (gst_base_transform_event), (gst_base_transform_getrange),
22319         (gst_base_transform_chain), (gst_base_transform_handle_buffer),
22320         (gst_base_transform_set_property),
22321         (gst_base_transform_get_property),
22322         (gst_base_transform_sink_activate),
22323         (gst_base_transform_src_activate),
22324         (gst_base_transform_change_state):
22325         * gst/base/gstbasetransform.h:
22326         * gst/elements/gstidentity.c: (gst_identity_finalize),
22327         (gst_identity_class_init), (gst_identity_init),
22328         (gst_identity_event), (gst_identity_check_perfect),
22329         (gst_identity_transform), (gst_identity_set_property),
22330         (gst_identity_get_property), (gst_identity_change_state):
22331         * gst/elements/gstidentity.h:
22332         * gst/gstelement.c: (gst_element_get_state_func),
22333         (gst_element_lost_state), (gst_element_pads_activate):
22334         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_peer_set_active),
22335         (gst_pad_check_pull_range), (gst_pad_pull_range):
22336         * gst/gstpad.h:
22337         Simplify pad activation.
22338         Added function to check if pull_range can be performed.
22339         Error out when pulling inactive or flushing pads.
22340         Removed const from refcounted types as it does not make sense.
22341         Simplify pad templates in basesink
22342         Added base class for simple 1-to-1 transforms.
22343         Make identity subclass the base transform.
22344
22345 2005-03-29  Andy Wingo  <wingo@pobox.com>
22346
22347         * docs/libs/gstreamer-libs-overrides.txt: 
22348         * docs/gst/gstreamer-overrides.txt: Add these files to CVS. Now I
22349         really don't understand what's going on, but like whatever. I want
22350         green buildbot!
22351
22352         * docs/gst/Makefile.am:
22353         * docs/libs/Makefile.am: Dist the overrides files.
22354
22355         * check/Makefile.am (clean-local): Remove .libs directories.
22356
22357         * gst/elements/Makefile.am (EXTRA_DIST): Add all the attic
22358         elements to EXTRA_DIST, so po/ files are happy.
22359
22360         * po/POTFILES.in: Er, remove it here.
22361
22362         * po/POTFILES: Remove gstspider.c.
22363
22364         * configure.ac (AC_OUTPUT): Add missing testsuite makefiles.
22365
22366         * docs/libs/gstreamer-libs-docs.sgml: 
22367         * docs/libs/gstreamer-libs-sections.txt: Remove the section on
22368         bytestream.
22369
22370         * tests/complexity.c (main): Set the length of the preroll queue
22371         on the sinks to prevent a lockup.
22372
22373         * libs/gst/dataprotocol/Makefile.am: 
22374         * libs/gst/dataprotocol/dataprotocol-test.c: Remove test, it's
22375         the same as the one in check/gst-libs/gdp.c.
22376
22377         * po/, docs/gst/: Commit automatic changes to docs and po files.
22378
22379         * gst/elements/Makefile.am (libgstelements_la_LDFLAGS): Link to
22380         the versioned libgstbase.
22381
22382         * check/Makefile.am: Depend on an unversioned gst-register, seems
22383         to make autoconf happier.
22384
22385         * gst/base/Makefile.am: Make libgstbase a versioned lib.
22386
22387 2005-03-28  Wim Taymans  <wim@fluendo.com>
22388
22389         * configure.ac:
22390         * docs/design/part-gstelement.txt:
22391         * docs/design/part-negotiation.txt:
22392         * docs/design/part-preroll.txt:
22393         * docs/design/part-scheduling.txt:
22394         * docs/design/part-states.txt:
22395         * gst/Makefile.am:
22396         * gst/base/Makefile.am:
22397         * gst/base/README:
22398         * gst/base/gstbasesink.c: (gst_basesink_get_template),
22399         (gst_basesink_base_init), (gst_basesink_class_init),
22400         (gst_basesink_pad_getcaps), (gst_basesink_pad_setcaps),
22401         (gst_basesink_pad_buffer_alloc), (gst_basesink_init),
22402         (gst_basesink_set_pad_functions),
22403         (gst_basesink_set_all_pad_functions), (gst_basesink_set_clock),
22404         (gst_basesink_set_property), (gst_basesink_get_property),
22405         (gst_base_sink_get_template), (gst_base_sink_get_caps),
22406         (gst_base_sink_set_caps), (gst_base_sink_buffer_alloc),
22407         (gst_basesink_preroll_queue_push),
22408         (gst_basesink_preroll_queue_empty),
22409         (gst_basesink_preroll_queue_flush), (gst_basesink_finish_preroll),
22410         (gst_basesink_event), (gst_basesink_get_times),
22411         (gst_basesink_do_sync), (gst_basesink_handle_buffer),
22412         (gst_basesink_chain_unlocked), (gst_basesink_chain),
22413         (gst_basesink_loop), (gst_basesink_activate),
22414         (gst_basesink_change_state):
22415         * gst/base/gstbasesink.h:
22416         * gst/elements/Makefile.am:
22417         * gst/elements/gstfakesink.c: (gst_fakesink_base_init),
22418         (gst_fakesink_class_init), (gst_fakesink_init),
22419         (gst_fakesink_set_property), (gst_fakesink_get_property),
22420         (gst_fakesink_get_times), (gst_fakesink_event),
22421         (gst_fakesink_preroll), (gst_fakesink_render),
22422         (gst_fakesink_change_state):
22423         * gst/elements/gstfakesink.h:
22424         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22425         (gst_bin_get_state), (gst_bin_change_state), (gst_bin_send_event):
22426         * gst/gstelement.c: (gst_element_add_pad),
22427         (gst_element_get_state_func), (gst_element_abort_state),
22428         (gst_element_commit_state), (gst_element_lost_state),
22429         (gst_element_set_state), (gst_element_pads_activate):
22430         * gst/gstpad.c: (gst_pad_set_active), (gst_pad_event_default):
22431         * gst/gstpipeline.c: (gst_pipeline_send_event),
22432         (gst_pipeline_change_state):
22433         Added state change code.
22434         Added/updated docs.
22435         Added sink base class, make fakesink extend the base class.
22436         Small cleanups in GstPipeline.
22437
22438 2005-03-26  David Schleef  <ds@schleef.org>
22439
22440         * gst/Makefile.am: remove gstcpu.[ch].  The gst_cpu functionality
22441         is broken and should be implemented in a different library.
22442         * gst/gst.c: (init_post): don't call _gst_cpu_initialize()
22443         * gst/gst.h: remove gstcpu.h
22444         * gst/gstcpu.c: remove
22445         * gst/gstcpu.h: remove
22446         * gst/Makefile.am.future: Remove this file.  It's ancient.
22447
22448 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22449
22450         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_manager),
22451         (gst_bin_send_event):
22452           Add default event/set_manager handlers. The set_manager handler
22453           takes care that the manager is distributed over kids that were
22454           already in the bin before the manager was set. The event handler
22455           is a utility virtual function that sends the event over all sinks,
22456           so that gst_element_send_event (bin, event); has the expected
22457           behaviour.
22458         * gst/gstpad.c: (gst_pad_event_default):
22459           Re-install default event handling for discontinuities, so that
22460           seeking works without requiring hacks in applications or extra
22461           code in sinks.
22462         * gst/gstpipeline.c: (gst_pipeline_class_init),
22463         (gst_pipeline_send_event):
22464           Half hack, half utility: set a pipeline to PAUSED for seek events,
22465           since that is the only way we can guarantee a/v sync. Means that
22466           you can do gst_element_seek (pipeline, method, pos); on a pipeline
22467           and it "just works".
22468
22469 2005-03-25  Ronald S. Bultje  <rbultje@ronald.bitfreak.net>
22470
22471         * gst/gstpipeline.c: (gst_pipeline_use_clock):
22472           Lock/unlock mismatch.
22473
22474 2005-03-25  Thomas Vander Stichele  <thomas at apestaart dot org>
22475
22476         * docs/faq/gst-uninstalled:
22477           add gst-plugins-base
22478         * docs/gst/Makefile.am:
22479           don't error out until docs are fixed
22480         * docs/gst/gstreamer.types:
22481           remove thread
22482
22483 2005-03-22  Wim Taymans  <wim@fluendo.com>
22484
22485         * check/Makefile.am:
22486         * check/gst/gstmessage.c: (START_TEST), (gst_data_suite), (main):
22487         * gst/gststructure.c: (gst_structure_set_valist),
22488         (gst_structure_copy_conditional):
22489         Activated more tests.
22490         Added message test.
22491         Added G_TYPE_POINTER to GstStructure.
22492         
22493
22494 2005-03-22  Wim Taymans  <wim@fluendo.com>
22495
22496         * docs/design/part-TODO.txt:
22497         * docs/design/part-events.txt:
22498         * docs/design/part-gstbin.txt:
22499         * docs/design/part-gstbus.txt:
22500         * docs/design/part-gstpipeline.txt:
22501         * docs/design/part-messages.txt:
22502         * gst/gstbus.c:
22503         * gst/gstmessage.c:
22504         Docs updates
22505
22506 2005-03-21  Wim Taymans  <wim@fluendo.com>
22507
22508         * gst/gstbus.c: (gst_bus_post):
22509         Fix copy-and-paste error.
22510
22511 2005-03-21  Wim Taymans  <wim@fluendo.com>
22512
22513         * check/Makefile.am:
22514         * gst/Makefile.am:
22515         * gst/elements/Makefile.am:
22516         * gst/elements/gstelements.c:
22517         * gst/elements/gstfakesink.c: (gst_fakesink_init),
22518         (gst_fakesink_event), (gst_fakesink_chain):
22519         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init),
22520         (gst_fakesrc_init), (gst_fakesrc_get_event_mask),
22521         (gst_fakesrc_event_handler), (gst_fakesrc_set_pad_functions),
22522         (gst_fakesrc_set_all_pad_functions), (gst_fakesrc_request_new_pad),
22523         (gst_fakesrc_set_property), (gst_fakesrc_get_property),
22524         (gst_fakesrc_get_range_unlocked), (gst_fakesrc_get_range),
22525         (gst_fakesrc_loop), (gst_fakesrc_activate),
22526         (gst_fakesrc_change_state):
22527         * gst/elements/gstfakesrc.h:
22528         * gst/elements/gstfilesrc.c: (gst_filesrc_init),
22529         (gst_filesrc_get_read), (gst_filesrc_getrange), (gst_filesrc_get),
22530         (gst_filesrc_open_file), (gst_filesrc_loop),
22531         (gst_filesrc_activate), (gst_filesrc_change_state),
22532         (filesrc_find_peek), (filesrc_find_suggest),
22533         (gst_filesrc_type_find):
22534         * gst/elements/gstidentity.c: (gst_identity_finalize),
22535         (gst_identity_class_init), (gst_identity_init),
22536         (gst_identity_proxy_getcaps), (identity_queue_push),
22537         (identity_queue_pop), (identity_queue_flush), (gst_identity_event),
22538         (gst_identity_getrange), (gst_identity_chain),
22539         (gst_identity_sink_loop), (gst_identity_src_loop),
22540         (gst_identity_handle_buffer), (gst_identity_set_dataflow_funcs),
22541         (gst_identity_set_property), (gst_identity_get_property),
22542         (gst_identity_change_state):
22543         * gst/elements/gstidentity.h:
22544         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_init),
22545         (gst_tee_update_pad_functions), (gst_tee_request_new_pad),
22546         (gst_tee_set_property), (gst_tee_get_property), (gst_tee_do_push),
22547         (gst_tee_handle_buffer), (gst_tee_chain), (gst_tee_loop),
22548         (gst_tee_sink_activate):
22549         * gst/elements/gsttee.h:
22550         * gst/gst.c: (gst_register_core_elements), (init_post):
22551         * gst/gst.h:
22552         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_bus),
22553         (gst_bin_set_scheduler), (gst_bin_add_func), (gst_bin_add),
22554         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_get_state),
22555         (gst_bin_change_state):
22556         * gst/gstbin.h:
22557         * gst/gstbus.c: (gst_bus_get_type), (gst_bus_class_init),
22558         (gst_bus_init), (gst_bus_dispose), (gst_bus_set_property),
22559         (gst_bus_get_property), (gst_bus_new), (gst_bus_post),
22560         (gst_bus_have_pending), (gst_bus_pop), (gst_bus_peek),
22561         (gst_bus_set_sync_handler), (gst_bus_create_watch),
22562         (bus_watch_callback), (bus_watch_destroy),
22563         (gst_bus_add_watch_full), (gst_bus_add_watch), (poll_handler),
22564         (poll_timeout), (gst_bus_poll):
22565         * gst/gstbus.h:
22566         * gst/gstcaps.h:
22567         * gst/gstdata.h:
22568         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22569         (gst_element_post_message), (gst_element_message_full),
22570         (gst_element_get_state_func), (gst_element_get_state),
22571         (gst_element_abort_state), (gst_element_commit_state),
22572         (gst_element_lost_state), (gst_element_set_state),
22573         (gst_element_pads_activate), (gst_element_change_state),
22574         (gst_element_dispose), (gst_element_set_manager_func),
22575         (gst_element_set_bus_func), (gst_element_set_scheduler_func),
22576         (gst_element_set_manager), (gst_element_get_manager),
22577         (gst_element_set_bus), (gst_element_get_bus),
22578         (gst_element_set_scheduler), (gst_element_get_scheduler):
22579         * gst/gstelement.h:
22580         * gst/gstevent.c: (gst_event_new_segment_seek),
22581         (gst_event_new_flush):
22582         * gst/gstevent.h:
22583         * gst/gstmessage.c: (_gst_message_initialize), (_gst_message_copy),
22584         (_gst_message_free), (gst_message_get_type), (gst_message_new),
22585         (gst_message_new_eos), (gst_message_new_error),
22586         (gst_message_new_warning), (gst_message_new_tag),
22587         (gst_message_new_state_changed), (gst_message_new_application),
22588         (gst_message_get_structure), (gst_message_parse_tag),
22589         (gst_message_parse_state_changed), (gst_message_parse_error),
22590         (gst_message_parse_warning):
22591         * gst/gstmessage.h:
22592         * gst/gstpad.c: (gst_real_pad_class_init), (gst_real_pad_init),
22593         (gst_real_pad_set_property), (gst_pad_set_active),
22594         (gst_pad_is_active), (gst_pad_set_blocked_async),
22595         (gst_pad_set_blocked), (gst_pad_is_blocked),
22596         (gst_pad_set_activate_function), (gst_pad_set_loop_function),
22597         (gst_pad_set_getrange_function), (gst_pad_set_acceptcaps_function),
22598         (gst_pad_set_fixatecaps_function), (gst_pad_set_setcaps_function),
22599         (gst_pad_unlink), (gst_pad_link_prepare_filtered),
22600         (gst_pad_link_filtered), (gst_pad_relink_filtered),
22601         (gst_real_pad_get_caps_unlocked), (gst_pad_get_caps),
22602         (gst_pad_peer_get_caps), (gst_pad_fixate_caps),
22603         (gst_pad_accept_caps), (gst_pad_peer_accept_caps),
22604         (gst_pad_set_caps), (gst_pad_configure_sink),
22605         (gst_pad_configure_src), (gst_pad_get_negotiated_caps),
22606         (gst_pad_get_filter_caps), (gst_pad_alloc_buffer),
22607         (gst_real_pad_dispose), (gst_real_pad_finalize),
22608         (handle_pad_block), (gst_pad_push), (gst_pad_pull_range),
22609         (gst_pad_event_default_dispatch), (gst_pad_event_default),
22610         (gst_pad_push_event), (gst_pad_send_event), (gst_pad_get_formats):
22611         * gst/gstpad.h:
22612         * gst/gstpipeline.c: (gst_pipeline_init), (is_eos),
22613         (pipeline_bus_handler), (gst_pipeline_change_state),
22614         (gst_pipeline_get_scheduler), (gst_pipeline_get_bus):
22615         * gst/gstpipeline.h:
22616         * gst/gstprobe.h:
22617         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_init),
22618         (gst_queue_finalize), (gst_queue_getcaps), (gst_queue_link_sink),
22619         (gst_queue_link_src), (gst_queue_bufferalloc),
22620         (gst_queue_locked_flush), (gst_queue_handle_sink_event),
22621         (gst_queue_is_empty), (gst_queue_is_filled), (gst_queue_chain),
22622         (gst_queue_loop), (gst_queue_handle_src_event),
22623         (gst_queue_handle_src_query), (gst_queue_src_activate),
22624         (gst_queue_change_state):
22625         * gst/gstqueue.h:
22626         * gst/gstscheduler.c: (gst_scheduler_init),
22627         (gst_scheduler_dispose), (gst_scheduler_create_task),
22628         (gst_scheduler_factory_create):
22629         * gst/gstscheduler.h:
22630         * gst/gststructure.c: (gst_structure_get_type),
22631         (gst_structure_copy_conditional):
22632         * gst/gststructure.h:
22633         * gst/gsttaginterface.h:
22634         * gst/gsttask.c: (gst_task_get_type), (gst_task_class_init),
22635         (gst_task_init), (gst_task_dispose), (gst_task_create),
22636         (gst_task_get_state), (gst_task_start), (gst_task_stop),
22637         (gst_task_pause):
22638         * gst/gsttask.h:
22639         * gst/gstthread.c:
22640         * gst/gstthread.h:
22641         * gst/gsttypes.h:
22642         * gst/schedulers/Makefile.am:
22643         * gst/schedulers/cothreads_compat.h:
22644         * gst/schedulers/entryscheduler.c:
22645         * gst/schedulers/faircothreads.c:
22646         * gst/schedulers/faircothreads.h:
22647         * gst/schedulers/fairscheduler.c:
22648         * gst/schedulers/gstbasicscheduler.c:
22649         * gst/schedulers/gstoptimalscheduler.c:
22650         * gst/schedulers/gthread-cothreads.h:
22651         * gst/schedulers/threadscheduler.c:
22652         (gst_thread_scheduler_task_get_type),
22653         (gst_thread_scheduler_task_class_init),
22654         (gst_thread_scheduler_task_init),
22655         (gst_thread_scheduler_task_start),
22656         (gst_thread_scheduler_task_stop),
22657         (gst_thread_scheduler_task_pause), (gst_thread_scheduler_get_type),
22658         (gst_thread_scheduler_class_init), (gst_thread_scheduler_func),
22659         (gst_thread_scheduler_init), (gst_thread_scheduler_create_task),
22660         (gst_thread_scheduler_setup), (gst_thread_scheduler_reset),
22661         (plugin_init):
22662         * libs/gst/Makefile.am:
22663         * libs/gst/bytestream/bytestream.c: (gst_bytestream_get_next_buf):
22664         * libs/gst/bytestream/filepad.c: (gst_file_pad_init),
22665         (gst_file_pad_parent_set):
22666         * libs/gst/dataprotocol/dataprotocol.c: (gst_dp_packet_from_event),
22667         (gst_dp_event_from_packet):
22668         * tests/complexity.c: (main):
22669         * tests/mass_elements.c: (main):
22670         * testsuite/states/locked.c: (message_received), (main):
22671         * testsuite/states/parent.c: (main):
22672         * tools/gst-inspect.c: (print_element_flag_info),
22673         (print_implementation_info), (print_pad_info):
22674         * tools/gst-launch.c: (check_intr), (play_handler), (event_loop),
22675         (main):
22676         * tools/gst-md5sum.c: (event_loop), (main):
22677         * tools/gst-typefind.c: (main):
22678         * tools/gst-xmlinspect.c: (print_element_info):
22679         Next big merge.
22680         Added GstBus for mainloop integration.
22681         Added GstMessage for sending notifications on the bus.
22682         Added GstTask as an abstraction for pipeline entry points.
22683         Removed GstThread.
22684         Removed Schedulers.
22685         Simplified GstQueue for multithreaded core.
22686         Made _link threadsafe, removed old capsnego.
22687         Added STREAM_LOCK and PREROLL_LOCK in GstPad.
22688         Added pad blocking functions.
22689         Reworked scheduling functions in GstPad to prepare for
22690         scheduling updates soon.
22691         Moved events out of data stream.
22692         Simplified GstEvent types.
22693         Added return values to push/pull.
22694         Removed clocking from GstElement.
22695         Added prototypes for state change function for next merge.
22696         Removed iterate from bins and state change management.
22697         Fixed some elements, disabled others for now.
22698         Fixed -inspect and -launch.
22699         Added check for GstBus.
22700
22701 2005-03-10  Wim Taymans  <wim@fluendo.com>
22702
22703         * docs/design/part-MT-refcounting.txt:
22704         * docs/design/part-clocks.txt:
22705         * docs/design/part-gstelement.txt:
22706         * docs/design/part-gstobject.txt:
22707         * docs/design/part-standards.txt:
22708         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22709         (gst_bin_remove_func), (gst_bin_remove):
22710         * gst/gstbin.h:
22711         * gst/gstbuffer.c:
22712         * gst/gstcaps.h:
22713         * testsuite/clock/clock1.c: (main):
22714         * testsuite/clock/clock2.c: (gst_clock_debug), (element_wait),
22715         (main):
22716         * testsuite/dlopen/loadgst.c: (do_test):
22717         * testsuite/refcounting/bin.c: (add_remove_test1),
22718         (add_remove_test2), (main):
22719         * testsuite/refcounting/element.c: (main):
22720         * testsuite/refcounting/element_pad.c: (main):
22721         * testsuite/refcounting/pad.c: (main):
22722         * tools/gst-launch.c: (sigint_handler_sighandler):
22723         * tools/gst-typefind.c: (main):
22724         Doc updates.
22725         Added doc about clock.
22726         removed gst_bin_iterate_recurse_up(), marked methods
22727         for removal.
22728         Fix more testsuites.
22729
22730 2005-03-09  Wim Taymans  <wim@fluendo.com>
22731
22732         * gst/gstpad.c: (gst_pad_get_direction),
22733         (_gst_pad_default_fixate_foreach), (gst_pad_collectv),
22734         (gst_pad_collect_valist):
22735         * testsuite/bins/interface.c: (main):
22736         * testsuite/caps/audioscale.c: (test_caps):
22737         * testsuite/caps/caps.c: (test1), (test2), (test3):
22738         * testsuite/caps/deserialize.c: (main):
22739         * testsuite/caps/enumcaps.c: (main):
22740         * testsuite/caps/filtercaps.c: (main):
22741         * testsuite/caps/intersect2.c: (main):
22742         * testsuite/caps/random.c: (main):
22743         * testsuite/caps/renegotiate.c: (my_fixate), (main):
22744         * testsuite/caps/sets.c: (check_caps):
22745         * testsuite/caps/simplify.c: (check_caps), (main):
22746         * testsuite/caps/subtract.c: (check_caps):
22747         Fix _pad_get_direction wrt ghostpads.
22748         Fix caps testsuite.
22749
22750 2005-03-09  Wim Taymans  <wim@fluendo.com>
22751
22752         * check/Makefile.am:
22753         * check/gst/gstbin.c: (START_TEST), (gst_bin_suite), (main):
22754         * check/gst/gstsystemclock.c: (START_TEST), (gst_clock_debug),
22755         (ok_callback), (error_callback), (gst_systemclock_suite), (main):
22756         * gst/gstbin.c: (gst_bin_class_init), (gst_bin_set_index_func),
22757         (gst_bin_set_clock_func), (gst_bin_get_clock_func),
22758         (gst_bin_add_func), (gst_bin_add), (gst_bin_remove_func),
22759         (gst_bin_remove), (gst_bin_iterate_recurse_up),
22760         (bin_element_is_sink), (gst_bin_iterate_sinks),
22761         (gst_bin_iterate_all_by_interface):
22762         * gst/gstbin.h:
22763         * gst/gstelement.c: (gst_element_init), (gst_element_error_full),
22764         (gst_element_change_state), (gst_element_dispose),
22765         (gst_element_finalize), (gst_element_set_loop_function):
22766         * gst/gstelement.h:
22767         * gst/gstiterator.c: (find_custom_fold_func):
22768         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22769         (gst_pad_collectv), (gst_pad_collect_valist),
22770         (gst_pad_template_new):
22771         * gst/gstpipeline.c: (gst_pipeline_class_init),
22772         (gst_pipeline_dispose), (gst_pipeline_set_property),
22773         (gst_pipeline_get_property), (gst_pipeline_get_clock_func),
22774         (gst_pipeline_get_clock), (gst_pipeline_use_clock),
22775         (gst_pipeline_set_clock), (gst_pipeline_auto_clock):
22776         * gst/gstutils.h:
22777         * gst/schedulers/entryscheduler.c:
22778         * gst/schedulers/gstbasicscheduler.c:
22779         (gst_basic_scheduler_cothreaded_chain),
22780         (gst_basic_scheduler_chain_add_element):
22781         * testsuite/bins/interface.c: (main):
22782         Added GstBin test.
22783         Added GstSystemClock test.
22784         Implemented clock distribution code in GstBin.
22785         Implemented iterate sinks method for future use.
22786         Rearranged gstelement.h
22787         Fix GstIterator comparison bug.
22788         Moved some code to GstPipeline, mostly clocking related.
22789
22790 2005-03-09  Wim Taymans  <wim@fluendo.com>
22791
22792         * configure.ac:
22793         * gst/gst_private.h:
22794         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22795         (gst_bin_remove_func), (gst_bin_remove),
22796         (gst_bin_get_by_name_recurse_up):
22797         * gst/gstclock.c: (gst_clock_id_ref), (gst_clock_id_unref),
22798         (gst_clock_id_compare_func), (gst_clock_id_wait),
22799         (gst_clock_id_wait_async), (gst_clock_init),
22800         (gst_clock_adjust_unlocked), (gst_clock_get_time):
22801         * gst/gstelement.h:
22802         * gst/gstinfo.c: (_gst_debug_init):
22803         * gst/gstobject.h:
22804         * gst/gstpad.c: (_gst_pad_default_fixate_foreach),
22805         (gst_pad_collectv), (gst_pad_collect_valist), (gst_pad_query):
22806         * gst/gstpad.h:
22807         Bump version number, we're now 0.9.0
22808         Add future debugging category.
22809         Fix NULL _unref() in _get_by_name_recurse_up
22810         Rearrange gstpad.h.
22811         Update some docs.
22812
22813 2005-03-08  Wim Taymans  <wim@fluendo.com>
22814
22815         * gst/elements/gstaggregator.c: (gst_aggregator_class_init):
22816         * gst/elements/gstfakesink.c: (gst_fakesink_class_init):
22817         * gst/elements/gstfakesrc.c: (gst_fakesrc_class_init):
22818         * gst/elements/gstfdsink.c: (gst_fdsink_class_init):
22819         * gst/elements/gstfdsrc.c: (gst_fdsrc_class_init):
22820         * gst/elements/gstfilesink.c: (gst_filesink_class_init):
22821         * gst/elements/gstfilesrc.c: (gst_filesrc_class_init):
22822         * gst/elements/gstidentity.c: (gst_identity_class_init):
22823         * gst/elements/gstmd5sink.c: (gst_md5sink_class_init):
22824         * gst/elements/gstmultifilesrc.c: (gst_multifilesrc_class_init):
22825         * gst/elements/gstshaper.c: (gst_shaper_class_init):
22826         * gst/elements/gststatistics.c: (gst_statistics_class_init):
22827         * gst/elements/gsttee.c: (gst_tee_class_init), (gst_tee_getcaps),
22828         (gst_tee_link):
22829         * gst/gstelement.c: (gst_element_class_init),
22830         (gst_element_base_class_init), (gst_element_init),
22831         (gst_element_get_random_pad), (gst_element_wait_state_change),
22832         (gst_element_change_state), (gst_element_dispose),
22833         (gst_element_finalize), (gst_element_set_loop_function):
22834         * gst/gstelement.h:
22835         * gst/gstqueue.c: (gst_queue_class_init), (gst_queue_link_src):
22836         * gst/gstthread.c: (gst_thread_class_init),
22837         (gst_thread_release_children_locks), (gst_thread_change_state):
22838         * gst/schedulers/gstbasicscheduler.c:
22839         (gst_basic_scheduler_loopfunc_wrapper),
22840         (gst_basic_scheduler_chain_wrapper),
22841         (gst_basic_scheduler_src_wrapper),
22842         (gst_basic_scheduler_remove_element):
22843         * gst/schedulers/gstoptimalscheduler.c: (schedule_group):
22844         Remove threadsafe properties. Fix elements because GObject
22845         complains when installing a property before declaring a
22846         set/get_property handler.
22847         Rearrange gstelement.h file, use STATE macros for state locks.
22848         Free mutexes in the finalize method instead of dispose.
22849
22850 2005-03-08  Wim Taymans  <wim@fluendo.com>
22851
22852         * check/gst/gstobject.c: (START_TEST), (gst_object_suite):
22853         * gst/gstthread.c: (gst_thread_release_children_locks):
22854         Added parentage check.
22855         Fix build og GstThread again.
22856
22857 2005-03-08  Wim Taymans  <wim@fluendo.com>
22858
22859         * docs/design/part-MT-refcounting.txt:
22860         * docs/design/part-conventions.txt:
22861         * docs/design/part-gstobject.txt:
22862         * docs/design/part-relations.txt:
22863         * docs/design/part-standards.txt:
22864         * gst/gstbin.c: (gst_bin_add_func), (gst_bin_add),
22865         (gst_bin_remove_func), (gst_bin_remove), (gst_bin_iterate_recurse),
22866         (gst_bin_get_by_name), (gst_bin_get_by_interface),
22867         (gst_bin_iterate_all_by_interface):
22868         * gst/gstbuffer.h:
22869         * gst/gstclock.h:
22870         * gst/gstelement.c: (gst_element_class_init),
22871         (gst_element_change_state), (gst_element_set_loop_function):
22872         * gst/gstelement.h:
22873         * gst/gstiterator.c:
22874         * gst/gstobject.c: (gst_object_class_init), (gst_object_ref),
22875         (gst_object_unref), (gst_object_sink), (gst_object_dispose),
22876         (gst_object_dispatch_properties_changed), (gst_object_set_name),
22877         (gst_object_set_parent), (gst_object_unparent),
22878         (gst_object_check_uniqueness):
22879         * gst/gstobject.h:
22880         Docs updates, clean up some headers.
22881
22882 2005-03-07  Wim Taymans  <wim@fluendo.com>
22883
22884         * check/.cvsignore:
22885         * check/Makefile.am:
22886         * check/gst-libs/.cvsignore:
22887         * check/gst-libs/gdp.c: (START_TEST), (gst_object_suite), (main):
22888         * check/gst/.cvsignore:
22889         * check/gst/gstbus.c: (pound_bus_with_messages), (pull_messages),
22890         (START_TEST), (gstbus_suite), (main):
22891         * check/gst/gstcaps.c: (START_TEST), (gst_caps_suite), (main):
22892         * check/gst/gstdata.c: (START_TEST), (thread_ref), (thread_unref),
22893         (gst_data_suite), (main):
22894         * check/gst/gstiterator.c: (make_list_of_ints), (START_TEST),
22895         (add_fold_func), (gstiterator_suite), (main):
22896         * check/gst/gstobject.c: (gst_fake_object_get_type), (START_TEST),
22897         (thread_name_object), (thread_name_object_default),
22898         (gst_object_name_compare), (gst_object_suite), (main):
22899         * check/gst/gstpad.c: (START_TEST), (thread_link_unlink),
22900         (gst_pad_suite), (main):
22901         * check/gstcheck.c: (gst_check_log_message_func),
22902         (gst_check_log_critical_func), (gst_check_init):
22903         * check/gstcheck.h:
22904         * check/pipelines/simple_launch_lines.c: (setup_pipeline),
22905         (run_pipeline), (START_TEST), (simple_launch_lines_suite), (main):
22906         Added checks.
22907
22908 2005-03-07  Wim Taymans  <wim@fluendo.com>
22909
22910         * gst/gstiterator.c: (gst_iterator_init), (gst_iterator_new),
22911         (gst_list_iterator_next), (gst_list_iterator_resync),
22912         (gst_list_iterator_free), (gst_iterator_new_list),
22913         (gst_iterator_pop), (gst_iterator_next), (gst_iterator_resync),
22914         (gst_iterator_free), (gst_iterator_push), (filter_next),
22915         (filter_resync), (filter_uninit), (filter_free),
22916         (gst_iterator_filter), (gst_iterator_fold), (foreach_fold_func),
22917         (gst_iterator_foreach), (find_custom_fold_func),
22918         (gst_iterator_find_custom):
22919         * gst/gstiterator.h:
22920         Added missing files.
22921
22922 2005-03-07  Wim Taymans  <wim@fluendo.com>
22923
22924         * Makefile.am:
22925         * configure.ac:
22926         * docs/design/part-MT-refcounting.txt:
22927         * docs/design/part-conventions.txt:
22928         * docs/design/part-gstobject.txt:
22929         * docs/design/part-relations.txt:
22930         * examples/mixer/mixer.c: (main):
22931         * examples/thread/thread.c: (eos), (main):
22932         * gst/Makefile.am:
22933         * gst/autoplug/gstsearchfuncs.c: (gst_autoplug_caps_intersect):
22934         * gst/autoplug/gstspider.c: (gst_spider_identity_plug),
22935         (gst_spider_plug_from_srcpad):
22936         * gst/autoplug/gstspideridentity.c: (gst_spider_identity_getcaps),
22937         (gst_spider_identity_change_state),
22938         (gst_spider_identity_sink_loop_type_finding):
22939         * gst/elements/gstfakesrc.c: (gst_fakesrc_loop):
22940         * gst/elements/gstidentity.c: (gst_identity_init):
22941         * gst/elements/gsttee.c: (gst_tee_init), (gst_tee_getcaps),
22942         (gst_tee_link), (gst_tee_request_new_pad), (gst_tee_chain):
22943         * gst/elements/gsttypefindelement.c: (free_entry):
22944         * gst/gst.c:
22945         * gst/gst.h:
22946         * gst/gstbin.c: (gst_bin_init), (gst_bin_get_clock_func),
22947         (gst_bin_set_clock_func), (gst_bin_auto_clock),
22948         (gst_bin_set_index), (gst_bin_set_element_sched),
22949         (gst_bin_unset_element_sched), (gst_bin_add_func), (gst_bin_add),
22950         (gst_bin_remove_func), (gst_bin_remove), (iterate_child),
22951         (gst_bin_iterate_elements), (iterate_child_recurse),
22952         (gst_bin_iterate_recurse), (gst_bin_dispose), (compare_name),
22953         (gst_bin_get_by_name), (gst_bin_get_by_name_recurse_up),
22954         (compare_interface), (gst_bin_get_by_interface),
22955         (gst_bin_iterate_all_by_interface), (gst_bin_iterate_func):
22956         * gst/gstbin.h:
22957         * gst/gstbuffer.c: (gst_buffer_get_type), (_gst_buffer_sub_free),
22958         (gst_buffer_default_free), (gst_buffer_default_copy),
22959         (gst_buffer_new), (gst_buffer_get_caps), (gst_buffer_set_caps),
22960         (gst_buffer_create_sub):
22961         * gst/gstbuffer.h:
22962         * gst/gstcaps.c: (gst_caps_get_type), (gst_caps_new_empty),
22963         (_gst_caps_free), (gst_caps_make_writable), (gst_caps_ref),
22964         (gst_caps_unref), (gst_static_caps_get),
22965         (gst_caps_remove_and_get_structure), (gst_caps_append),
22966         (gst_caps_append_structure), (gst_caps_remove_structure),
22967         (gst_caps_copy_nth), (gst_caps_set_simple),
22968         (gst_caps_set_simple_valist), (gst_caps_is_fixed_foreach),
22969         (gst_structure_is_equal_foreach), (gst_caps_is_subset),
22970         (gst_caps_structure_intersect_field), (gst_caps_intersect),
22971         (gst_caps_structure_subtract_field), (gst_caps_subtract),
22972         (gst_caps_normalize_foreach), (gst_caps_compare_structures),
22973         (gst_caps_structure_figure_out_union),
22974         (gst_caps_switch_structures), (gst_caps_do_simplify),
22975         (gst_caps_replace), (gst_caps_from_string),
22976         (gst_caps_copy_conditional):
22977         * gst/gstcaps.h:
22978         * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_ref),
22979         (_gst_clock_id_free), (gst_clock_id_unref),
22980         (gst_clock_id_compare_func), (gst_clock_id_wait),
22981         (gst_clock_id_wait_async), (gst_clock_class_init),
22982         (gst_clock_init), (gst_clock_dispose), (gst_clock_adjust_unlocked),
22983         (gst_clock_get_time), (gst_clock_set_time_adjust),
22984         (gst_clock_set_property), (gst_clock_get_property):
22985         * gst/gstclock.h:
22986         * gst/gstcompat.h:
22987         * gst/gstcpu.c: (_gst_cpu_initialize_i386), (gst_cpu_get_flags):
22988         * gst/gstdata.c: (gst_data_is_writable), (gst_data_copy_on_write):
22989         * gst/gstdata.h:
22990         * gst/gstelement.c: (gst_element_class_init), (gst_element_init),
22991         (gst_element_requires_clock), (gst_element_provides_clock),
22992         (gst_element_set_clock), (gst_element_clock_wait),
22993         (gst_element_wait), (gst_element_set_time_delay),
22994         (gst_element_is_indexable), (gst_element_add_pad),
22995         (gst_element_add_ghost_pad), (gst_element_remove_pad),
22996         (pad_compare_name), (gst_element_get_static_pad),
22997         (gst_element_request_pad), (gst_element_get_request_pad),
22998         (gst_element_get_pad), (iterate_pad), (gst_element_iterate_pads),
22999         (gst_element_class_get_pad_template_list),
23000         (gst_element_class_get_pad_template), (gst_element_error_func),
23001         (gst_element_get_random_pad), (gst_element_get_event_masks),
23002         (gst_element_send_event), (gst_element_seek),
23003         (gst_element_get_query_types), (gst_element_query),
23004         (gst_element_get_formats), (gst_element_convert),
23005         (gst_element_is_locked_state), (gst_element_set_locked_state),
23006         (gst_element_sync_state_with_parent), (gst_element_change_state),
23007         (gst_element_finalize), (gst_element_yield),
23008         (gst_element_interrupt), (gst_element_set_scheduler),
23009         (gst_element_get_scheduler), (gst_element_set_loop_function):
23010         * gst/gstelement.h:
23011         * gst/gstevent.h:
23012         * gst/gstformat.c: (_gst_format_initialize), (gst_format_register),
23013         (gst_format_get_by_nick), (gst_format_get_details),
23014         (gst_format_iterate_definitions):
23015         * gst/gstformat.h:
23016         * gst/gstindex.c: (gst_index_gtype_resolver):
23017         * gst/gstinfo.c:
23018         * gst/gstinfo.h:
23019         * gst/gstmemchunk.c: (gst_mem_chunk_alloc), (gst_mem_chunk_alloc0),
23020         (gst_mem_chunk_free):
23021         * gst/gstobject.c: (gst_object_class_init), (gst_object_init),
23022         (gst_object_ref), (gst_object_unref), (gst_object_sink),
23023         (gst_object_replace), (gst_object_dispose), (gst_object_finalize),
23024         (gst_object_dispatch_properties_changed),
23025         (gst_object_set_name_default), (gst_object_set_name),
23026         (gst_object_get_name), (gst_object_set_name_prefix),
23027         (gst_object_get_name_prefix), (gst_object_set_parent),
23028         (gst_object_get_parent), (gst_object_unparent),
23029         (gst_object_check_uniqueness), (gst_object_save_thyself),
23030         (gst_object_restore_thyself), (gst_object_real_restore_thyself),
23031         (gst_object_set_property), (gst_object_get_property),
23032         (gst_object_get_path_string):
23033         * gst/gstobject.h:
23034         * gst/gstpad.c: (gst_pad_dispose), (gst_real_pad_class_init),
23035         (gst_real_pad_init), (gst_real_pad_get_property),
23036         (gst_pad_custom_new), (gst_pad_get_direction),
23037         (gst_pad_set_active), (gst_pad_is_active),
23038         (gst_pad_set_event_function), (gst_pad_is_linked),
23039         (gst_pad_link_free), (gst_pad_link_intersect),
23040         (gst_pad_link_fixate), (gst_pad_set_caps),
23041         (gst_pad_try_set_caps_nonfixed), (gst_pad_set_pad_template),
23042         (gst_pad_get_real_parent), (gst_pad_add_ghost_pad),
23043         (gst_pad_remove_ghost_pad), (_gst_pad_default_fixate_foreach),
23044         (gst_pad_link_unnegotiate), (gst_pad_proxy_fixate),
23045         (gst_pad_get_caps), (gst_pad_peer_get_caps),
23046         (gst_pad_get_pad_template_caps), (gst_pad_get_peer),
23047         (gst_pad_realize), (gst_pad_get_allowed_caps),
23048         (gst_real_pad_dispose), (gst_real_pad_finalize),
23049         (gst_pad_collectv), (gst_pad_collect_valist),
23050         (gst_pad_template_dispose), (gst_pad_template_new),
23051         (gst_pad_get_internal_links):
23052         * gst/gstpad.h:
23053         * gst/gstpipeline.c: (gst_pipeline_dispose),
23054         (gst_pipeline_change_state):
23055         * gst/gstpipeline.h:
23056         * gst/gstplugin.c:
23057         * gst/gstpluginfeature.c: (gst_plugin_feature_get_name),
23058         (gst_plugin_feature_set_rank), (gst_plugin_feature_get_rank):
23059         * gst/gstpluginfeature.h:
23060         * gst/gstprobe.c: (gst_probe_dispatcher_dispatch):
23061         * gst/gstquery.c: (_gst_query_type_initialize),
23062         (gst_query_type_register), (gst_query_type_get_by_nick),
23063         (gst_query_type_get_details), (gst_query_type_iterate_definitions):
23064         * gst/gstquery.h:
23065         * gst/gstqueue.c: (gst_queue_link_sink), (gst_queue_link_src):
23066         * gst/gstscheduler.c: (gst_scheduler_add_element),
23067         (gst_scheduler_factory_create):
23068         * gst/gststructure.c: (gst_structure_set_parent_refcount),
23069         (gst_structure_free), (gst_structure_set_name),
23070         (gst_structure_id_set_value), (gst_structure_set_value),
23071         (gst_structure_set_valist), (gst_structure_remove_field),
23072         (gst_structure_remove_fields),
23073         (gst_structure_remove_fields_valist),
23074         (gst_structure_remove_all_fields), (gst_structure_foreach),
23075         (gst_structure_map_in_place),
23076         (gst_caps_structure_fixate_field_nearest_int),
23077         (gst_caps_structure_fixate_field_nearest_double):
23078         * gst/gststructure.h:
23079         * gst/gstsystemclock.c: (gst_system_clock_class_init),
23080         (gst_system_clock_init), (gst_system_clock_dispose),
23081         (gst_system_clock_async_thread),
23082         (gst_system_clock_id_wait_unlocked), (gst_system_clock_id_wait),
23083         (gst_system_clock_id_wait_async), (gst_system_clock_id_unschedule):
23084         * gst/gstsystemclock.h:
23085         * gst/gsttag.c: (gst_tag_list_add_value_internal),
23086         (gst_tag_list_copy_foreach), (structure_foreach_wrapper):
23087         * gst/gsttaginterface.c:
23088         * gst/gstthread.c: (gst_thread_dispose),
23089         (gst_thread_release_children_locks), (gst_thread_change_state),
23090         (gst_thread_main_loop):
23091         * gst/gsttrashstack.h:
23092         * gst/gsttypefind.c: (gst_type_find_factory_dispose):
23093         * gst/gsttypes.h:
23094         * gst/gstutils.c: (gst_element_get_compatible_pad_template),
23095         (gst_element_request_pad), (gst_element_get_pad_from_template),
23096         (gst_element_request_compatible_pad),
23097         (gst_element_get_compatible_pad_filtered),
23098         (gst_element_get_compatible_pad), (gst_element_state_get_name),
23099         (gst_element_link_pads_filtered), (gst_element_link_filtered),
23100         (gst_element_link_many), (gst_element_link),
23101         (gst_element_link_pads), (gst_element_unlink_pads),
23102         (gst_element_unlink_many), (gst_element_unlink),
23103         (gst_pad_can_link_filtered), (gst_pad_can_link),
23104         (gst_pad_use_fixed_caps), (gst_pad_get_fixed_caps_func),
23105         (gst_object_default_error), (gst_bin_add_many),
23106         (gst_bin_remove_many), (gst_element_populate_std_props),
23107         (gst_element_class_install_std_props), (gst_buffer_merge),
23108         (gst_buffer_stamp), (intersect_caps_func), (gst_pad_proxy_getcaps),
23109         (link_fold_func), (gst_pad_proxy_setcaps):
23110         * gst/gstutils.h:
23111         * gst/gstvalue.c: (gst_value_deserialize_string):
23112         * gst/parse/grammar.y:
23113         * gst/schedulers/gstbasicscheduler.c:
23114         (gst_basic_scheduler_cothreaded_chain),
23115         (gst_basic_scheduler_chain_recursive_add),
23116         (gst_basic_scheduler_pad_link):
23117         * gst/schedulers/gstoptimalscheduler.c:
23118         (get_group_schedule_function),
23119         (gst_opt_scheduler_state_transition),
23120         (gst_opt_scheduler_add_element), (element_get_reachables_func):
23121         * libs/gst/bytestream/bytestream.c:
23122         * libs/gst/dataprotocol/dataprotocol.c:
23123         (gst_dp_header_from_buffer):
23124         * po/nb.po:
23125         * po/ru.po:
23126         * tests/threadstate/threadstate2.c: (eos):
23127         * tools/gst-compprep.c: (main):
23128         * tools/gst-inspect.c: (print_field), (print_element_flag_info),
23129         (print_pad_info), (print_children_info):
23130         * tools/gst-launch.c: (idle_func), (main):
23131         * tools/gst-md5sum.c: (idle_func), (main):
23132         * tools/gst-xmlinspect.c: (print_element_info):
23133         First THREADED backport attempt, focusing on adding locks and
23134         making sure the API is threadsafe. Needs more work. More docs
23135         follow this week.
23136
23137 2005-02-24  Andy Wingo  <wingo@pobox.com>
23138
23139         * tests/bench-complexity.scm:
23140         * tests/complexity.gnuplot: New files, good for running complexity
23141         benchmarks.
23142
23143         * tests/Makefile.am:
23144         * tests/complexity.c: New test, sets up N elements, at each level
23145         teeing into M streams per element. Eeeenteresting.
23146
23147         * tests/mass_elements.gnuplot: gnuplot file for the mass_elements
23148         benchmark. Run as gnuplot mass_elements.gnuplot > foo.ps, after
23149         running bench-mass_elements.scm.
23150
23151         * tests/bench-mass_elements.scm: New script, runs mass_elements
23152         for various numbers of identities, outputting the results to a
23153         file. Requires guile 1.6. Just for testing.
23154
23155 2005-02-23  Thomas Vander Stichele  <thomas at apestaart dot org>
23156
23157         * gst/schedulers/fairscheduler.c:
23158           compile with debug disabled
23159
23160 2005-02-22  Thomas Vander Stichele  <thomas at apestaart dot org>
23161
23162         * configure.ac:
23163           hunting season on 0.9 is now OPEN